  :root {
    --bg: #f7f5ef;
    --panel: #ffffff;
    --ink: #101512;
    --muted: #5f665f;
    --line: #dcd8cc;
    --olive: #64783f;
    --olive-dark: #3f5228;
    --blue: #245a7a;
    --coral: #b9503b;
    --amber: #b4812f;
    --soft: #ece8dc;
    --dark: #111713;
    --cream: #fffaf0;
  }

  * { box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body {
    margin: 0;
    background: var(--bg);
    color: var(--ink);
    font-family: "DM Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 16px;
    line-height: 1.5;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
  }
  a { color: inherit; }

  .shell {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
  }

  .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 18px;
    border-radius: 8px;
    border: 1px solid transparent;
    text-decoration: none;
    font-weight: 700;
    font-size: 14px;
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
  }

  .btn-primary {
    color: var(--cream);
    background: var(--ink);
  }

  .btn-primary:hover { background: var(--olive-dark); }

  .btn-secondary {
    color: var(--ink);
    background: transparent;
    border-color: var(--line);
  }

  .btn-secondary:hover {
    border-color: var(--ink);
    background: rgba(255, 255, 255, 0.55);
  }

  main { overflow: hidden; }

  section {
    padding: 76px 0;
    border-bottom: 1px solid rgba(16, 21, 18, 0.08);
  }

  .section-head {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(280px, 0.55fr);
    gap: 40px;
    align-items: end;
    margin-bottom: 28px;
  }

  .kicker,
  .eyebrow,
  .card-label {
    color: var(--olive-dark);
    font: 700 12px/1.3 "DM Mono", monospace;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .kicker,
  .eyebrow {
    margin: 0 0 12px;
  }

  h1,
  h2,
  h3,
  p {
    margin-top: 0;
  }

  h1 {
    max-width: 700px;
    margin-bottom: 18px;
    font-size: clamp(38px, 5vw, 64px);
    line-height: 1;
    letter-spacing: 0;
  }

  h2 {
    margin-bottom: 0;
    font-size: clamp(30px, 3.4vw, 48px);
    line-height: 1.03;
    letter-spacing: 0;
  }

  h3 {
    margin-bottom: 10px;
    font-size: 20px;
    line-height: 1.18;
    letter-spacing: 0;
  }

  .lead {
    max-width: 780px;
    margin-bottom: 24px;
    color: var(--muted);
    font-size: clamp(18px, 2vw, 22px);
    line-height: 1.45;
  }

  .section-copy {
    margin: 0;
    color: var(--muted);
    font-size: 17px;
  }

  .hero {
    padding: 84px 0 72px;
  }

  .hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(340px, 0.7fr);
    gap: 48px;
    align-items: center;
  }

  .hero-actions,
  .cta-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
  }

  .trust-line {
    margin-top: 18px;
    color: var(--muted);
    font-size: 14px;
  }

  .report-card {
    border: 1px solid var(--line);
    border-radius: 8px;
    background: linear-gradient(180deg, #ffffff 0%, #f9f7f0 100%);
    box-shadow: 0 24px 70px rgba(16, 21, 18, 0.14);
    padding: 24px;
  }

  .report-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--line);
  }

  .status-pill {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border-radius: 999px;
    background: #f3e5d2;
    color: #784517;
    font: 700 11px/1 "DM Mono", monospace;
    text-transform: uppercase;
  }

  .report-body {
    display: grid;
    gap: 12px;
    margin-top: 18px;
  }

  .report-row {
    display: grid;
    gap: 4px;
    padding: 13px 0;
    border-bottom: 1px solid rgba(16, 21, 18, 0.08);
  }

  .report-row:last-child { border-bottom: 0; }

  .report-row span {
    color: var(--muted);
    font: 700 11px/1.2 "DM Mono", monospace;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  .report-row strong {
    font-size: 17px;
  }

  .risk-high { color: var(--coral); }
  .risk-good { color: var(--olive-dark); }

  .logo-band {
    padding: 48px 0;
    background: #f1eee5;
  }

  .logo-band-head {
    display: grid;
    grid-template-columns: minmax(0, 0.75fr) minmax(280px, 0.55fr);
    gap: 32px;
    align-items: end;
    margin-bottom: 24px;
  }

  .logo-band h2 {
    max-width: 680px;
    font-size: clamp(24px, 2.6vw, 34px);
  }

  .logo-grid {
    display: grid;
    grid-template-columns: repeat(11, minmax(0, 1fr));
    gap: 10px;
  }

  .logo-tile {
    display: grid;
    grid-template-rows: 34px auto;
    gap: 9px;
    align-items: center;
    justify-items: center;
    min-height: 86px;
    padding: 14px 10px;
    border: 1px solid rgba(16, 21, 18, 0.1);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.64);
  }

  .logo-tile img {
    display: block;
    width: 34px;
    height: 34px;
    object-fit: contain;
    opacity: 0.82;
  }

  .logo-tile span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.15;
    text-align: center;
  }

  .handoff-band {
    padding: 54px 0;
    background: var(--olive);
    color: var(--cream);
    border-bottom: 0;
  }

  .handoff-band-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 0.44fr);
    gap: 34px;
    align-items: center;
  }

  .handoff-band .kicker {
    color: #d7efc6;
  }

  .handoff-band h2 {
    max-width: 820px;
    color: var(--cream);
  }

  .handoff-band p {
    margin: 16px 0 0;
    max-width: 760px;
    color: rgba(255, 250, 240, 0.78);
    font-size: 18px;
  }

  .handoff-band .cta-actions {
    justify-content: flex-end;
  }

  .handoff-band .btn-primary {
    background: var(--cream);
    color: var(--ink);
  }

  .handoff-band .btn-primary:hover {
    background: #fff;
  }

  .handoff-band .btn-secondary {
    color: var(--cream);
    border-color: rgba(255, 250, 240, 0.34);
  }

  .handoff-band .btn-secondary:hover {
    background: rgba(255, 250, 240, 0.08);
    border-color: var(--cream);
  }

  .green-section {
    background: var(--olive-dark);
    color: var(--cream);
  }

  .green-section .kicker,
  .green-section .card-label {
    color: #d7efc6;
  }

  .green-section .section-copy,
  .green-section .card p {
    color: rgba(255, 250, 240, 0.74);
  }

  .green-section .card {
    border-color: rgba(255, 250, 240, 0.16);
    background: rgba(255, 250, 240, 0.07);
  }

  .green-section .card:hover {
    border-color: rgba(255, 250, 240, 0.38);
    background: rgba(255, 250, 240, 0.1);
  }

  .green-section .card .link {
    color: var(--cream);
  }

  .green-section .section-head {
    display: block;
    max-width: 920px;
    margin: 0 auto 32px;
    text-align: center;
  }

  .green-section h2 {
    margin-right: auto;
    margin-left: auto;
    color: var(--cream);
  }

  .green-section .section-copy {
    max-width: 720px;
    margin: 18px auto 0;
    font-size: 18px;
  }

  .grid-5,
  .grid-4,
  .grid-3,
  .grid-2 {
    display: grid;
    gap: 14px;
  }

  .grid-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .card {
    display: block;
    min-height: 100%;
    padding: 22px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.72);
    color: inherit;
    text-decoration: none;
  }

  .card:hover {
    border-color: rgba(63, 82, 40, 0.4);
    background: var(--panel);
  }

  .card p {
    margin: 0;
    color: var(--muted);
  }

  .card .link {
    display: inline-flex;
    margin-top: 18px;
    color: var(--olive-dark);
    font-weight: 700;
    font-size: 14px;
  }

  .fit-card {
    background: var(--panel);
  }

  .deliverable-card {
    background: #fbfaf5;
  }

  .tools {
    background: var(--olive-dark);
    color: var(--cream);
  }

  .tool-card {
    background: rgba(255, 250, 240, 0.07);
  }

  .data-card strong {
    display: block;
    margin-bottom: 8px;
  }

  .pricing {
    background: var(--dark);
    color: var(--cream);
  }

  .pricing .kicker,
  .pricing .card-label {
    color: #c9e6b7;
  }

  .pricing .section-copy,
  .pricing .card p {
    color: #bcc4b8;
  }

  .pricing .card {
    border-color: rgba(255, 250, 240, 0.14);
    background: rgba(255, 250, 240, 0.06);
  }

  .price {
    display: block;
    margin: 18px 0 8px;
    color: var(--cream);
    font-size: 34px;
    line-height: 1;
  }

  .pricing .btn-secondary {
    color: var(--cream);
    border-color: rgba(255, 250, 240, 0.24);
  }

  .pricing .btn-secondary:hover {
    background: rgba(255, 250, 240, 0.08);
    border-color: var(--cream);
  }

  .final-cta {
    padding: 86px 0;
    background: var(--olive-dark);
    color: var(--cream);
    text-align: center;
  }

  .final-cta h2 {
    max-width: 880px;
    margin: 0 auto 18px;
  }

  .final-cta p {
    max-width: 700px;
    margin: 0 auto 26px;
    color: rgba(255, 250, 240, 0.78);
    font-size: 18px;
  }

  .final-cta .cta-actions {
    justify-content: center;
  }

  .final-cta .btn-primary {
    background: var(--cream);
    color: var(--ink);
  }

  .final-cta .btn-secondary {
    color: var(--cream);
    border-color: rgba(255, 250, 240, 0.36);
  }

  footer {
    padding: 28px 0;
    background: var(--dark);
    color: #b9c1b6;
    font-size: 13px;
  }

  .footer-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
  }

  footer a {
    color: #dce8d4;
    text-decoration: none;
  }

  @media (min-width: 981px) {
    details.nav-dropdown:hover .dropdown-panel {
      display: block;
    }

    details.nav-dropdown:not([open]):hover .dropdown-panel {
      display: block;
    }
  }

  @media (max-width: 1100px) {
    .grid-5 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .logo-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  }

  @media (max-width: 980px) {
    .utility-inner,
    .main-nav {
      align-items: flex-start;
      height: auto;
    }

    .main-nav {
      padding: 14px 0;
      flex-wrap: wrap;
    }

    .nav-menu {
      width: 100%;
      justify-content: flex-start;
      flex-wrap: wrap;
      gap: 14px;
    }

    details.nav-dropdown {
      position: static;
    }

    .dropdown-panel,
    .dropdown-panel.wide {
      position: static;
      min-width: min(100vw - 40px, 420px);
      margin-top: 10px;
      box-shadow: none;
    }

    .hero-grid,
    .handoff-band-inner,
    .logo-band-head,
    .section-head,
    .grid-2 {
      grid-template-columns: 1fr;
    }

    .grid-5,
    .grid-4,
    .grid-3 {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .logo-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  }

  @media (max-width: 720px) {
    .shell { width: min(100% - 28px, 1180px); }
    .utility-inner {
      padding: 8px 0;
      flex-direction: column;
      gap: 8px;
    }

    
    .nav-menu { gap: 10px; font-size: 13px; }
    .nav-menu > a[href="/about/"] { display: none; }
    .btn { width: 100%; white-space: normal; text-align: center; line-height: 1.15; }
    .nav-menu .btn { width: auto; }

    .hero { padding: 56px 0 52px; }
    section { padding: 56px 0; }
	    h1 { font-size: clamp(34px, 10vw, 44px); }
    h2 { font-size: clamp(28px, 8vw, 38px); }
    .lead { font-size: 18px; }
    .hero-actions,
    .handoff-band .cta-actions,
    .cta-actions {
      display: grid;
      grid-template-columns: 1fr;
      width: 100%;
    }
    .grid-5,
    .grid-4,
    .grid-3 {
      grid-template-columns: 1fr;
    }
    .logo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .report-card,
    .card {
      padding: 18px;
    }
  }

.hero-actions-spaced { margin-top: 20px; }
