  :root {
    /* gia Visual Identity System */
    --white: #ffffff;
    --wash: #f8fafb;
    --surface-tint: #f0f7f8;
    --haint: #9ccdd8;
    --haint-wash: #eaf5f6;
    --haint-light: #d8edf2;
    --haint-line: #5fa9b8;
    --teal: #2a7d79;
    --teal-deep: #1a524f;
    --teal-dark: #123c3a;
    --brick: #ec3013;
    --brick-deep: #ae1800;
    --brick-wash: #fdf2f0;
    
    --ink: #201e1d;
    --ink-80: #3a3836;
    --ink-60: #5b5957;
    --ink-40: #8c8986;
    --ink-20: #cac6c2;
    --ink-10: #e7e4e2;
    --ink-05: #f4f2f0;

    /* Typography */
    --disp: "Newsreader", Georgia, "Times New Roman", serif;
    --sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;

    /* Geometry */
    --maxw: 1140px;
    --maxw-narrow: 840px;
    --radius-sm: 6px;
    --radius-md: 12px;
    --radius-lg: 20px;
    --radius-xl: 28px;
    --radius-full: 9999px;

    --shadow-sm: 0 2px 8px rgba(32, 30, 29, 0.04), 0 1px 2px rgba(32, 30, 29, 0.02);
    --shadow-md: 0 8px 24px rgba(32, 30, 29, 0.06), 0 2px 6px rgba(32, 30, 29, 0.04);
    --shadow-lg: 0 16px 40px rgba(32, 30, 29, 0.08), 0 4px 12px rgba(32, 30, 29, 0.04);
  }

  /* Reset & Baseline */
  *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
  html {
    -webkit-text-size-adjust: 100%;
    scroll-behavior: smooth;
    background-color: var(--white);
    color: var(--ink);
  }
  body {
    font-family: var(--sans);
    font-size: 17px;
    line-height: 1.65;
    font-weight: 400;
    color: var(--ink);
    background-color: var(--white);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    letter-spacing: -0.006em;
    overflow-x: hidden;
  }

  .container {
    max-width: var(--maxw);
    margin: 0 auto;
    padding: 0 clamp(20px, 4vw, 40px);
  }
  .container-narrow {
    max-width: var(--maxw-narrow);
    margin: 0 auto;
    padding: 0 clamp(20px, 4vw, 40px);
  }

  h1, h2, h3, h4 {
    font-family: var(--disp);
    color: var(--ink);
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: -0.02em;
    text-wrap: balance;
  }
  p { margin-bottom: 1.25em; }
  p:last-child { margin-bottom: 0; }
  a {
    color: var(--teal);
    text-decoration: none;
    transition: color 0.15s ease;
  }
  a:hover { color: var(--teal-deep); }

  .eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--mono);
    font-size: 11.5px;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--teal-deep);
    margin-bottom: 14px;
  }
  .eyebrow::before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 1.5px;
    background-color: var(--haint-line);
  }
  .kicker {
    font-family: var(--mono);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--teal-deep);
    margin-bottom: 12px;
  }

  .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-family: var(--sans);
    font-size: 14.5px;
    font-weight: 600;
    padding: 10px 22px;
    border-radius: var(--radius-full);
    border: 1.5px solid transparent;
    cursor: pointer;
    transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    white-space: nowrap;
    text-decoration: none;
  }
  .btn-primary {
    background-color: var(--teal-deep);
    color: var(--white);
    border-color: var(--teal-deep);
    box-shadow: 0 2px 6px rgba(26, 82, 79, 0.2);
  }
  .btn-primary:hover {
    background-color: var(--teal-dark);
    border-color: var(--teal-dark);
    color: var(--white);
    transform: translateY(-1px);
  }
  .btn-cta {
    background-color: var(--brick-deep);
    color: var(--white);
    border-color: var(--brick-deep);
    box-shadow: 0 2px 8px rgba(174, 24, 0, 0.25);
  }
  .btn-cta:hover {
    background-color: #8c1300;
    border-color: #8c1300;
    color: var(--white);
    transform: translateY(-1px);
  }

  .pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--mono);
    font-size: 11px;
    font-weight: 500;
    padding: 4px 10px;
    border-radius: var(--radius-full);
    background-color: var(--haint-wash);
    color: var(--teal-deep);
    border: 1px solid rgba(95, 169, 184, 0.3);
    letter-spacing: 0.04em;
  }
  .pill-soon {
    background-color: var(--ink-05);
    color: var(--ink-60);
    border-color: var(--ink-10);
  }

  /* Top Accent Strip */
  .top-accent-bar {
    height: 3.5px;
    width: 100%;
    background: linear-gradient(90deg, var(--teal-deep) 0%, var(--haint-line) 50%, var(--brick) 100%);
  }

  /* Masthead */
  header.masthead {
    position: sticky;
    top: 0;
    z-index: 100;
    background-color: rgba(255, 255, 255, 0.94);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--ink-10);
  }
  .masthead-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 0;
    gap: 20px;
  }
  .wordmark {
    display: flex;
    flex-direction: column;
    text-decoration: none;
  }
  .wordmark-name {
    font-family: var(--disp);
    font-size: 22px;
    font-weight: 600;
    color: var(--ink);
    letter-spacing: -0.015em;
    line-height: 1.1;
  }
  .wordmark:hover .wordmark-name { color: var(--teal-deep); }
  .wordmark-sub {
    font-family: var(--mono);
    font-size: 10.5px;
    font-weight: 500;
    color: var(--ink-60);
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-top: 2px;
  }
  nav.nav-links {
    display: flex;
    align-items: center;
    gap: clamp(14px, 2.5vw, 28px);
  }
  nav.nav-links a.nav-item {
    font-family: var(--sans);
    font-size: 14.5px;
    font-weight: 500;
    color: var(--ink-60);
    text-decoration: none;
    position: relative;
    padding: 4px 0;
  }
  nav.nav-links a.nav-item:hover,
  nav.nav-links a.nav-item[aria-current="page"] {
    color: var(--teal-deep);
  }
  nav.nav-links a.nav-item[aria-current="page"]::after {
    content: "";
    position: absolute;
    bottom: -19px;
    left: 0;
    right: 0;
    height: 2px;
    background-color: var(--teal-deep);
  }

  /* Section Spacing */
  section.sec { scroll-margin-top: 88px;
    padding: clamp(56px, 8vw, 92px) 0;
    border-bottom: 1px solid var(--ink-10);
  }
  section.sec-wash { background-color: var(--wash); }
  section.sec-last { border-bottom: none; }

  /* Insights Hero */
  .insights-hero {
    padding: clamp(48px, 7vw, 84px) 0 clamp(36px, 5vw, 56px);
    border-bottom: 1px solid var(--ink-10);
    background: radial-gradient(circle at top right, var(--haint-wash) 0%, var(--white) 65%);
  }
  .insights-hero h1 {
    font-size: clamp(36px, 4.8vw, 56px);
    margin-bottom: 20px;
    max-width: 22ch;
  }
  .insights-hero p.hero-desc {
    font-size: clamp(18px, 1.4vw, 21px);
    color: var(--ink-60);
    line-height: 1.6;
    max-width: 60ch;
  }

  /* Section Headers */
  .sec-header-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 12px;
  }
  .sec-header-row h2 {
    font-size: clamp(28px, 3.4vw, 36px);
  }
  p.sec-lede {
    font-size: 16.5px;
    color: var(--ink-60);
    max-width: 64ch;
    margin-bottom: 32px;
  }

  /* White Papers Cards */
  .papers-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
  }
  .paper-card {
    background-color: var(--white);
    border: 1px solid var(--ink-10);
    border-radius: var(--radius-lg);
    padding: clamp(28px, 4vw, 36px);
    box-shadow: var(--shadow-sm);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    overflow: hidden;
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
  }
  .paper-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--teal-deep), var(--haint-line));
  }
  .paper-card:hover {
    transform: translateY(-3px);
    border-color: var(--haint-line);
    box-shadow: var(--shadow-md);
  }
  .paper-badge-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
  }
  .paper-card h3 {
    font-size: 24px;
    margin-bottom: 14px;
    color: var(--ink);
  }
  .paper-card p {
    font-size: 15.5px;
    color: var(--ink-60);
    line-height: 1.6;
    margin-bottom: 24px;
  }

  /* Frameworks (Signature IP) */
  .frameworks-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }
  .framework-card {
    background-color: var(--white);
    border: 1px solid var(--ink-10);
    border-radius: var(--radius-lg);
    padding: 28px 24px;
    box-shadow: var(--shadow-sm);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
  }
  .framework-card:hover {
    transform: translateY(-3px);
    border-color: var(--haint-line);
    box-shadow: var(--shadow-md);
  }
  .framework-tier {
    font-family: var(--mono);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--teal-deep);
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    gap: 6px;
  }
  .framework-card h3 {
    font-size: 21px;
    margin-bottom: 12px;
  }
  .framework-card p {
    font-size: 15px;
    color: var(--ink-60);
    line-height: 1.55;
    margin-bottom: 20px;
  }

  /* Essays Ledger */
  .essays-ledger {
    border: 1px solid var(--ink-10);
    border-radius: var(--radius-lg);
    background-color: var(--white);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
  }
  .essay-row {
    display: grid;
    grid-template-columns: 190px 1fr 140px;
    gap: 20px;
    align-items: center;
    padding: 18px 24px;
    border-bottom: 1px solid var(--ink-10);
    transition: background-color 0.15s ease;
  }
  .essay-row:last-child { border-bottom: none; }
  .essay-row:hover { background-color: var(--wash); }
  .essay-pillar {
    font-family: var(--mono);
    font-size: 11.5px;
    font-weight: 500;
    color: var(--teal-deep);
    letter-spacing: 0.04em;
  }
  .essay-title {
    font-family: var(--disp);
    font-size: 18.5px;
    font-weight: 600;
    color: var(--ink);
    line-height: 1.3;
  }
  .essay-status {
    text-align: right;
  }

  /* Newsletter Capture Box */
  .newsletter-box {
    background: linear-gradient(135deg, var(--teal-deep) 0%, var(--teal-dark) 100%);
    border-radius: var(--radius-xl);
    padding: clamp(36px, 6vw, 64px);
    text-align: center;
    color: var(--white);
    box-shadow: var(--shadow-lg);
    position: relative;
    overflow: hidden;
  }
  .newsletter-box h2 {
    color: var(--white);
    font-size: clamp(26px, 3.4vw, 36px);
    max-width: 24ch;
    margin: 0 auto 16px;
  }
  .newsletter-box p.nl-desc {
    color: #d1e4e3;
    font-size: 17px;
    max-width: 54ch;
    margin: 0 auto 28px;
    line-height: 1.6;
  }
  .newsletter-form {
    display: flex;
    justify-content: center;
    gap: 12px;
    max-width: 480px;
    margin: 0 auto 16px;
    flex-wrap: wrap;
  }
  .newsletter-input {
    flex: 1;
    min-width: 240px;
    padding: 13px 18px;
    border-radius: var(--radius-full);
    border: 1.5px solid transparent;
    font-family: var(--sans);
    font-size: 15.5px;
    background-color: var(--white);
    color: var(--ink);
    outline: none;
  }
  .newsletter-input:focus {
    border-color: var(--haint);
    box-shadow: 0 0 0 3px rgba(156, 205, 216, 0.4);
  }
  .nl-hint {
    font-family: var(--mono);
    font-size: 11px;
    color: var(--haint);
    letter-spacing: 0.04em;
  }

  /* Footer */
  footer.site-footer {
    padding: 48px 0 56px;
    background-color: var(--white);
    border-top: 1px solid var(--ink-10);
  }
  .footer-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 16px;
    font-family: var(--mono);
    font-size: 12px;
    color: var(--ink-60);
  }
  .footer-links { display: flex; gap: 20px; flex-wrap: wrap; }
  .footer-links a { color: var(--ink-60); }
  .footer-links a:hover { color: var(--teal-deep); }

  @media (max-width: 920px) {
    .papers-grid { grid-template-columns: 1fr; }
    .frameworks-grid { grid-template-columns: 1fr; }
    .essay-row {
      grid-template-columns: 1fr;
      gap: 6px;
      padding: 16px;
    }
    .essay-status { text-align: left; margin-top: 4px; }
  }

  @media (max-width: 640px) {
    .masthead-inner {
      flex-direction: column;
      align-items: flex-start;
      gap: 14px;
    }
    nav.nav-links {
      width: 100%;
      flex-wrap: wrap;
      justify-content: flex-start;
      row-gap: 10px;
      column-gap: 18px;
      overflow: visible;
    }
    .nav-cta-wrap {
      width: 100%;
      margin: 2px 0 0;
    }
    .newsletter-form {
      flex-direction: column;
    }
    .newsletter-form .btn { width: 100%; }
    .footer-inner { flex-direction: column; align-items: flex-start; gap: 14px; }
    .footer-links { flex-wrap: wrap; row-gap: 10px; column-gap: 18px; }
    .nav-cta-wrap .btn { width: 100%; display: inline-flex; justify-content: center; box-sizing: border-box; }
  }
