:root {
    --paper: #F5F7FA;
    --white: #FFFFFF;
    --blue: #0A4BA6;
    --blue-deep: #082F6B;
    --blue-soft: #E6EEF9;
    --red: #C8202F;
    --red-light: #FF8A92;
    --text: #14213A;
    --muted: #4A5870;
    --rule: #D6DCE6;
    --font: "Schibsted Grotesk", "Helvetica Neue", Arial, sans-serif;
    --wrap: 1120px;
  }
  * { box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body {
    margin: 0;
    font-family: var(--font);
    font-size: 18px;
    line-height: 1.6;
    color: var(--text);
    background: var(--paper);
    -webkit-font-smoothing: antialiased;
  }
  img, svg { max-width: 100%; display: block; }
  a { color: inherit; }
  .wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 24px; }
  :focus-visible { outline: 3px solid var(--red); outline-offset: 3px; }

  h1, h2, h3, h4 { font-weight: 700; line-height: 1.12; letter-spacing: -0.02em; margin: 0; }
  h1 { font-size: clamp(2.5rem, 5.4vw, 4rem); font-weight: 800; letter-spacing: -0.03em; }
  h2 { font-size: clamp(1.75rem, 3.4vw, 2.5rem); }
  h3 { font-size: 1.25rem; letter-spacing: -0.01em; }
  h4 { font-size: 1.05rem; letter-spacing: -0.01em; }
  p { margin: 0; }
  .lede { font-size: 1.2rem; color: var(--muted); max-width: 36em; }
  .section { padding: 64px 0; }
  .section:not(.alt):not(.hero):not(.hero-f) + .section:not(.alt) { padding-top: 24px; }
  .section.alt { background: var(--white); border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
  .section-head { max-width: 42rem; margin-bottom: 32px; }
  .section-head p { margin-top: 12px; color: var(--muted); }
  .eyebrow { display: block; font-size: 0.85rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--red); margin-bottom: 12px; }
  .src { font-size: 0.92rem; color: var(--muted); }
  .src a { color: var(--blue); font-weight: 600; }
  .portrait { width: 152px; height: 152px; border-radius: 50%; margin-bottom: 20px; box-shadow: 0 0 0 3px var(--white), 0 0 0 5px var(--blue); }

  /* Header */
  header.site {
    position: sticky; top: 0; z-index: 10;
    background: rgba(245, 247, 250, 0.95);
    backdrop-filter: blur(8px);
    border-bottom: 1px solid var(--rule);
  }
  .bar { display: flex; align-items: center; justify-content: space-between; height: 72px; gap: 24px; }
  .brand { flex: none; white-space: nowrap; display: flex; align-items: center; gap: 12px; text-decoration: none; font-weight: 700; font-size: 1.1rem; letter-spacing: -0.01em; }
  .brand svg { width: 32px; height: 32px; }
  nav.primary { display: flex; align-items: center; gap: 22px; margin-left: auto; }
  nav.primary a { text-decoration: none; font-size: 0.95rem; font-weight: 500; color: var(--muted); white-space: nowrap; padding: 6px 0; border-bottom: 2px solid transparent; }
  nav.primary a:hover { color: var(--text); }
  nav.primary a[aria-current="page"] { color: var(--blue); font-weight: 600; border-bottom-color: var(--red); }
  .btn {
    display: inline-block; text-decoration: none; cursor: pointer;
    font-family: var(--font); font-size: 1rem; font-weight: 600;
    padding: 13px 22px; border-radius: 6px; border: 2px solid var(--blue);
    background: var(--blue); color: var(--white);
    transition: background 0.15s, color 0.15s;
  }
  .btn:hover { background: var(--blue-deep); border-color: var(--blue-deep); }
  .btn.ghost { background: transparent; color: var(--blue); }
  .btn.ghost:hover { background: var(--blue); color: var(--white); }
  .bar > .btn { color: var(--white); padding: 10px 18px; font-size: 0.95rem; white-space: nowrap; }

  .h2 { font-size: clamp(1.75rem, 3.4vw, 2.5rem); font-weight: 700; letter-spacing: -0.02em; }

  /* Home: page cards */
  .cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .card { display: flex; flex-direction: column; gap: 10px; padding: 26px 26px 24px; background: var(--paper); border: 1px solid var(--rule); border-top: 3px solid var(--blue); border-radius: 8px; text-decoration: none; transition: border-color 0.15s, transform 0.15s; }
  .card:hover { border-top-color: var(--red); transform: translateY(-2px); }
  .card h3 { font-size: 1.2rem; }
  .card p { color: var(--muted); font-size: 1rem; line-height: 1.5; }
  .card .go { margin-top: auto; padding-top: 6px; font-weight: 700; color: var(--blue); }
  .card:focus-visible { outline: 3px solid var(--red); outline-offset: 3px; }

  /* Closing band on inner pages */
  .next { padding: 44px 0; }
  .next .wrap { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 32px; }
  .next p { font-size: 1.1rem; max-width: 34rem; }
  .next .actions { display: flex; flex-wrap: wrap; gap: 14px; }

  /* Hero */
  .hero { padding: 56px 0 56px; }
  .hero-grid { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 56px; align-items: center; }
  .hero h1 { margin-bottom: 24px; }
  .hero .actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 28px; }
  .hero .byline { margin-top: 28px; font-size: 0.98rem; color: var(--muted); }
  .hero-visual { background: var(--blue-deep); border-radius: 10px; padding: 12px; }
  .hero-visual svg { width: 100%; height: auto; }
  .flag { opacity: 0; animation: flagIn 0.5s ease-out 0.6s forwards; }
  @keyframes flagIn { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }

  /* Stat strip */
  .strip { background: var(--blue); color: var(--white); padding: 32px 0; }
  .stats { display: grid; grid-template-columns: repeat(4, 1fr); }
  .stats > div { padding: 0 28px; border-left: 1px solid rgba(255, 255, 255, 0.28); }
  .stats > div:first-child { padding-left: 0; border-left: 0; }
  .stats .n { font-size: clamp(1.9rem, 3.4vw, 2.7rem); font-weight: 800; letter-spacing: -0.03em; line-height: 1.05; }
  .stats .l { margin-top: 6px; color: rgba(255, 255, 255, 0.86); font-size: 0.98rem; }

  /* Diagrams */
  .diagram { background: var(--white); border: 1px solid var(--rule); border-radius: 10px; padding: 20px; overflow-x: auto; }
  .diagram svg { min-width: 760px; width: 100%; height: auto; }
  .gx-box { fill: #FFFFFF; stroke: var(--blue); stroke-width: 2; }
  .gx-hub { fill: var(--blue); stroke: var(--blue); stroke-width: 2; }
  .gx-t { font-size: 15px; font-weight: 600; fill: var(--text); }
  .gx-t.w { fill: #FFFFFF; }
  .gx-stage { font-size: 13px; font-weight: 700; letter-spacing: 0.08em; fill: var(--muted); }
  .gx-ok { stroke: var(--blue); stroke-width: 2.5; fill: none; }
  .gx-bad { stroke: var(--red); stroke-width: 2.5; stroke-dasharray: 7 6; fill: none; }
  .gx-mark { fill: var(--red); }
  .gx-num { font-size: 14px; font-weight: 800; fill: #FFFFFF; }
  .gx-note { font-size: 13px; fill: var(--muted); }

  .gaps { list-style: none; margin: 28px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 48px; counter-reset: gap; }
  .gaps li { position: relative; padding: 18px 0 18px 48px; border-top: 1px solid var(--rule); counter-increment: gap; }
  .gaps li::before {
    content: counter(gap); position: absolute; left: 0; top: 18px; width: 30px; height: 30px;
    border-radius: 50%; background: var(--red); color: var(--white); font-weight: 800; font-size: 0.95rem;
    display: grid; place-items: center;
  }
  .gaps strong { display: block; }
  .gaps span { color: var(--muted); font-size: 1rem; }

  /* Method */
  .method { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 36px 0; counter-reset: step; }
  .method li { position: relative; padding: 26px 24px 0 0; border-top: 3px solid var(--blue); counter-increment: step; }
  .method li::before {
    content: ""; position: absolute; top: -9px; left: 0; width: 15px; height: 15px;
    border-radius: 50%; background: var(--paper); border: 3px solid var(--blue);
  }
  .method .k { display: block; font-size: 0.85rem; font-weight: 700; color: var(--red); letter-spacing: 0.06em; text-transform: uppercase; margin-bottom: 6px; }
  .method h3 { margin-bottom: 8px; }
  .method p { color: var(--muted); font-size: 1rem; }

  /* Deliverables, three-up */
  .cols3 { display: grid; grid-template-columns: repeat(3, 1fr); }
  .cols3 > div { padding: 0 32px; border-left: 1px solid var(--rule); }
  .cols3 > div:first-child { padding-left: 0; border-left: 0; }
  .cols3 h3 { margin-bottom: 12px; }
  .sample-link { margin-top: 16px; font-weight: 600; }
  .sample-link a { color: var(--blue); }
  .ongoing { margin-top: 44px; padding-top: 32px; border-top: 1px solid var(--rule); display: grid; grid-template-columns: 1.4fr 1fr; gap: 32px; align-items: start; }
  .ongoing h3 { margin-bottom: 12px; }
  .sample-note { font-size: 0.92rem; color: var(--muted); }
  @media (max-width: 860px) { .ongoing { grid-template-columns: 1fr; gap: 16px; } }
  .cols3 p { color: var(--muted); }
  .cols3 ul { margin: 14px 0 0; padding-left: 20px; color: var(--text); }
  .cols3 li { margin-bottom: 6px; font-size: 1rem; }
  .proofline { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--rule); font-size: 1rem; color: var(--text); }
  .proofline b { color: var(--blue); }

  /* Journey cards */
  .journey { display: grid; grid-template-columns: 1fr; gap: 16px; margin-top: 28px; }
  .stage { display: grid; grid-template-columns: 190px 1fr; gap: 12px 32px; align-items: start; background: var(--white); border: 1px solid var(--rule); border-radius: 10px; padding: 24px 28px; }
  .stage h3 { display: flex; align-items: center; gap: 12px; margin-bottom: 0; }
  .stage h3 span { flex: none; width: 30px; height: 30px; border-radius: 50%; background: var(--blue); color: var(--white); display: grid; place-items: center; font-size: 0.95rem; font-weight: 800; }
  .stage dl { margin: 0; display: grid; grid-template-columns: repeat(5, 1fr); grid-template-rows: auto 1fr; grid-auto-flow: column; column-gap: 22px; row-gap: 4px; }
  .stage dt { font-size: 0.78rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted); margin-top: 0; }
  .stage dd { margin: 0; font-size: 0.95rem; line-height: 1.5; }
  .stage.four dl { grid-template-columns: repeat(4, 1fr); }
  .stage dt.help { color: var(--blue); }
  .stage dt.brk { color: var(--red); }

  /* Playbooks */
  .plays { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
  .play { background: var(--paper); border: 1px solid var(--rule); border-top: 4px solid var(--blue); border-radius: 10px; padding: 26px; }
  .play h3 { margin-bottom: 4px; }
  .play .tag { color: var(--muted); font-size: 1rem; margin-bottom: 10px; }
  .play dl { margin: 0; }
  .play dt { font-size: 0.8rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted); margin-top: 12px; }
  .play dd { margin: 2px 0 0; font-size: 1rem; }
  .play .num { margin-top: 16px; padding: 12px 14px; background: var(--blue-soft); border-radius: 6px; font-size: 1rem; }
  .play .num b { color: var(--blue-deep); }

  /* Examples */
  .examples { display: grid; gap: 20px; }
  .ex { display: grid; grid-template-columns: 0.55fr 1.45fr; gap: 40px; padding: 32px 0; border-top: 1px solid var(--rule); }
  .ex:first-child { border-top: 0; padding-top: 0; }
  .ex h3 { font-size: 1.4rem; }
  .ex .kind { display: block; font-size: 0.85rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--red); margin-bottom: 8px; }
  .ex p { margin-bottom: 12px; color: var(--text); font-size: 1.02rem; }
  .ex p b { color: var(--blue); }
  .ex .nums { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
  .ex .nums span { border: 1px solid var(--blue); color: var(--blue-deep); border-radius: 999px; padding: 4px 14px; font-size: 0.95rem; font-weight: 600; }

  /* Trust */
  .timeline { list-style: none; margin: 0 0 56px; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
  .timeline li { padding: 20px 20px 0 0; border-top: 3px solid var(--red); }
  .timeline .wk { display: block; font-size: 0.85rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--red); margin-bottom: 4px; }
  .timeline p { color: var(--muted); font-size: 1rem; }
  .trust-grid { display: grid; grid-template-columns: 0.8fr 1.2fr; gap: 56px; }
  .receive { margin: 14px 0 0; padding-left: 20px; }
  .receive li { margin-bottom: 8px; }
  .qa { border-top: 1px solid var(--rule); }
  .qa div { padding: 18px 0; border-bottom: 1px solid var(--rule); }
  .qa dt { font-weight: 700; }
  .qa dd { margin: 4px 0 0; color: var(--muted); font-size: 1rem; }

  /* About */
  .about-grid { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 64px; align-items: start; }
  .about-grid p + p { margin-top: 18px; }
  .creds { border-top: 3px solid var(--blue); }
  .creds div { padding: 16px 0; border-bottom: 1px solid var(--rule); }
  .creds strong { display: block; }
  .creds span { color: var(--muted); font-size: 1rem; }
  .creds a { color: var(--blue); font-weight: 600; }

  /* Contact */
  .contact-grid { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 64px; align-items: start; }
  .contact-grid .direct { margin-top: 28px; color: var(--muted); }
  .contact-grid .direct a { color: var(--blue); font-weight: 600; }
  form { display: grid; gap: 18px; }
  label { display: grid; gap: 6px; font-weight: 600; font-size: 0.98rem; }
  input, textarea {
    font-family: var(--font); font-size: 1rem; color: var(--text);
    padding: 13px 14px; border: 1px solid #9AA8BD; border-radius: 6px; background: var(--white); width: 100%;
  }
  textarea { min-height: 120px; resize: vertical; }
  input:focus, textarea:focus { outline: 3px solid var(--red); outline-offset: 1px; border-color: var(--blue); }
  .row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
  .note { font-size: 0.92rem; color: var(--muted); }
  #status { font-weight: 600; min-height: 1.5em; }
  #status.ok { color: var(--blue); }
  #status.err { color: var(--red); }
  .hp { position: absolute; left: -9999px; }

  footer.site { padding: 40px 0; border-top: 1px solid var(--rule); font-size: 0.95rem; color: var(--muted); background: var(--paper); }
  footer.site .wrap { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; }
  footer.site a { color: var(--blue); font-weight: 600; text-decoration: none; }
  footer.site a:hover { text-decoration: underline; }

  @media (max-width: 1100px) {
    .bar { flex-wrap: wrap; height: auto; padding-top: 12px; padding-bottom: 0; row-gap: 4px; }
    .bar { column-gap: 12px; }
    .bar > .btn { order: 2; padding: 8px 10px; font-size: 0.8rem; }
    .brand { font-size: 0.95rem; gap: 8px; }
    .brand svg { width: 26px; height: 26px; }
    nav.primary { order: 3; width: 100%; margin-left: 0; gap: 22px; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 2px; }
    nav.primary a { padding: 10px 0; }
  }
  @media (max-width: 960px) {
    .hero-grid, .about-grid, .contact-grid, .trust-grid, .ex { grid-template-columns: 1fr; gap: 32px; }
    .cols3 { grid-template-columns: 1fr; gap: 32px; }
    .cols3 > div { padding: 24px 0 0; border-left: 0; border-top: 1px solid var(--rule); }
    .cols3 > div:first-child { border-top: 0; padding-top: 0; }
    .method { grid-template-columns: 1fr 1fr; }
    .plays { grid-template-columns: 1fr 1fr; }
    .stage { grid-template-columns: 1fr; padding: 22px; }
    .stage dl { display: block; }
    .stage dt { margin-top: 12px; }
    .stage dd { margin-top: 2px; font-size: 1rem; }
    .gaps { grid-template-columns: 1fr; }
    .cards { grid-template-columns: 1fr 1fr; }
    .timeline { grid-template-columns: 1fr 1fr; row-gap: 28px; }
    .stats { grid-template-columns: 1fr 1fr; row-gap: 28px; }
    .stats > div:nth-child(3) { padding-left: 0; border-left: 0; }
  }
  @media (max-width: 640px) {
    body { font-size: 17px; }
    .section { padding: 44px 0; }
    .hero { padding: 36px 0 40px; }
    .method, .journey, .plays, .timeline, .cards { grid-template-columns: 1fr; }
    .row { grid-template-columns: 1fr; }
    .stats { grid-template-columns: 1fr; }
    .stats > div { padding-left: 0; border-left: 0; }
  }

  /* Section sub-nav */
  .subnav { background: var(--white); border-top: 1px solid var(--rule); }
  .subnav nav { display: flex; align-items: center; gap: 4px 28px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .subnav .sub-label { flex: none; font-size: 0.78rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }
  .subnav a { flex: none; text-decoration: none; font-size: 0.95rem; font-weight: 500; color: var(--text); padding: 12px 0; border-bottom: 3px solid transparent; white-space: nowrap; }
  .subnav a:hover { color: var(--blue); }
  .subnav a[aria-current="page"] { color: var(--blue); font-weight: 600; border-bottom-color: var(--blue); }

  /* Home: enterprise line and grouped cards */
  .enterprise-line { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--rule); font-size: 1rem; color: var(--muted); display: flex; flex-wrap: wrap; gap: 6px 20px; }
  .enterprise-line a { color: var(--blue); font-weight: 700; }
  .group-h { margin: 40px 0 16px; font-size: 0.85rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }
  .group-h:first-of-type { margin-top: 0; }
  .cards-2 { grid-template-columns: repeat(2, 1fr); }

  /* Footer site map */
  footer.site .foot-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 32px 40px; }
  footer.site .foot-brand { display: flex; flex-direction: column; gap: 6px; }
  footer.site .foot-brand strong { color: var(--text); font-size: 1.05rem; }
  footer.site nav { display: flex; flex-direction: column; gap: 8px; }
  footer.site .foot-h { font-size: 0.78rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); margin-bottom: 4px; }
  @media (max-width: 960px) { footer.site .foot-grid { grid-template-columns: 1fr 1fr; } .cards-2 { grid-template-columns: 1fr 1fr; } }
  @media (max-width: 640px) { footer.site .foot-grid { grid-template-columns: 1fr; } .cards-2 { grid-template-columns: 1fr; } }
  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .flag { animation: none; opacity: 1; }
  }

  /* Sales team playbook */
  .st { background: var(--white); border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); }
  .st-head { max-width: 46rem; margin-bottom: 8px; }
  .st-head p { margin-top: 16px; color: var(--muted); }
  .st .st-fine { font-size: 0.95rem; color: var(--muted); margin-top: 14px; }
  .st-block { margin-top: 72px; }
  .st-h { font-size: clamp(1.4rem, 2.4vw, 1.75rem); margin-bottom: 10px; }
  .st-intro { color: var(--muted); max-width: 44rem; margin-bottom: 28px; }
  .st-note { margin-top: 24px; max-width: 52rem; padding: 18px 20px; background: var(--paper); border-left: 4px solid var(--red); font-size: 1rem; }

  .st-tablewrap { border-top: 3px solid var(--blue); }
  .st-table { width: 100%; border-collapse: collapse; font-size: 1rem; line-height: 1.5; }
  .st-table caption { text-align: left; caption-side: bottom; padding-top: 12px; font-size: 0.92rem; color: var(--muted); }
  .st-table th, .st-table td { text-align: left; vertical-align: top; padding: 15px 22px 15px 0; border-bottom: 1px solid var(--rule); }
  .st-table thead th { font-weight: 700; padding-top: 14px; }
  .st-table tbody th { font-weight: 700; width: 18%; }
  .st-table td:last-child { color: var(--muted); }
  .st-tools tbody th { width: 15%; }

  .st-changes { margin-top: 8px; }

  .st-tabs { display: flex; flex-wrap: wrap; gap: 6px; border-bottom: 1px solid var(--rule); margin-bottom: 28px; }
  .st-tab { font: inherit; font-weight: 600; font-size: 1.05rem; background: none; border: 0; border-bottom: 3px solid transparent; margin-bottom: -1px; padding: 12px 20px 12px 0; margin-right: 14px; color: var(--muted); cursor: pointer; }
  .st-tab:hover { color: var(--text); }
  .st-tab[aria-selected="true"] { color: var(--blue); border-bottom-color: var(--red); }
  .st-panel[hidden] { display: none; }
  .st-lead { color: var(--muted); max-width: 44rem; margin-bottom: 24px; }
  .st-dayhead, .st-row { display: grid; grid-template-columns: 96px 1fr 1.05fr 1.05fr; gap: 0 28px; }
  .st-dayhead { font-weight: 700; font-size: 0.98rem; padding-bottom: 10px; border-bottom: 3px solid var(--blue); }
  .st-day { list-style: none; margin: 0; padding: 0; }
  .st-row { padding: 17px 0; border-bottom: 1px solid var(--rule); font-size: 1rem; line-height: 1.5; }
  .st-time { position: relative; padding-left: 20px; font-weight: 700; color: var(--blue); white-space: nowrap; }
  .st-time::before { content: ""; position: absolute; left: 0; top: 0.5em; width: 10px; height: 10px; border-radius: 50%; background: var(--red); }
  .st-work { font-weight: 700; }
  .st-ai { color: var(--muted); }
  .st-foot { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-top: 28px; }
  .st-foot h4 { margin: 0 0 6px; font-size: 1.05rem; }
  .st-foot p { color: var(--muted); font-size: 1rem; }

  .st-more { margin-top: 72px; border: 1px solid var(--rule); border-radius: 10px; background: var(--paper); }
  .st-more > summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; cursor: pointer; list-style: none; padding: 24px 28px; }
  .st-more > summary::-webkit-details-marker { display: none; }
  .st-sum { display: grid; gap: 4px; }
  .st-sum strong { font-size: 1.35rem; letter-spacing: -0.01em; }
  .st-sum small { font-size: 1rem; color: var(--muted); }
  .st-more > summary::after { content: "Open"; flex: none; font-weight: 600; font-size: 0.95rem; color: var(--white); background: var(--blue); border-radius: 6px; padding: 9px 18px; }
  .st-more[open] > summary::after { content: "Close"; }
  .st-more > summary:hover::after { background: var(--blue-deep); }
  .st-more-body { padding: 4px 28px 44px; }
  .st-sub { margin-top: 56px; }
  .st-sub:first-child { margin-top: 24px; }

  .st-steps { list-style: none; margin: 0; padding: 0; counter-reset: hire; max-width: 52rem; }
  .st-steps li { position: relative; padding: 14px 0 14px 52px; border-top: 1px solid var(--rule); counter-increment: hire; }
  .st-steps li:last-child { border-bottom: 1px solid var(--rule); }
  .st-steps li::before { content: counter(hire); position: absolute; left: 0; top: 14px; width: 32px; height: 32px; border-radius: 50%; background: var(--blue); color: var(--white); font-weight: 700; display: grid; place-items: center; }
  .st-steps strong { display: block; }

  .st-list { list-style: none; margin: 0; padding: 0; max-width: 52rem; }
  .st-list li { position: relative; padding: 14px 0 14px 28px; border-top: 1px solid var(--rule); }
  .st-list li:last-child { border-bottom: 1px solid var(--rule); }
  .st-list li::before { content: ""; position: absolute; left: 0; top: 24px; width: 10px; height: 10px; background: var(--red); border-radius: 50%; }

  .st-plan { border-top: 3px solid var(--blue); max-width: 56rem; }
  .st-plan-row { display: grid; grid-template-columns: 140px 1fr; gap: 28px; padding: 16px 0; border-bottom: 1px solid var(--rule); }
  .st-plan-when { font-weight: 700; color: var(--blue); }

  .st-sources { list-style: none; margin: 0; padding: 0; max-width: 56rem; }
  .st-sources li { padding: 14px 0; border-top: 1px solid var(--rule); }
  .st-sources li:last-child { border-bottom: 1px solid var(--rule); }
  .st-sources a { font-weight: 700; color: var(--blue); }
  .st-sources span { display: block; color: var(--muted); font-size: 0.98rem; margin-top: 2px; }

  .st-cta { margin-top: 56px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 32px; padding-top: 32px; border-top: 1px solid var(--rule); }
  .st-cta p { max-width: 38rem; font-size: 1.1rem; }

  @media (max-width: 960px) {
    .st-block { margin-top: 56px; }
    .st-dayhead { display: none; }
    .st-row { grid-template-columns: 1fr; gap: 6px; padding: 20px 0; }
    .st-time { margin-bottom: 2px; }
    .st-ai::before, .st-you::before { content: attr(data-label); display: block; font-weight: 700; font-size: 0.9rem; color: var(--blue); }
    .st-foot { grid-template-columns: 1fr; gap: 24px; }
    .st-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
    .st-table, .st-table tbody, .st-table tr, .st-table th, .st-table td { display: block; width: auto; }
    .st-table tbody th { width: auto; padding: 18px 0 4px; border-bottom: 0; font-size: 1.1rem; }
    .st-table td { padding: 4px 0; border-bottom: 0; }
    .st-table tr { padding-bottom: 14px; border-bottom: 1px solid var(--rule); }
    .st-table td::before { content: attr(data-label); display: block; font-weight: 700; font-size: 0.9rem; color: var(--blue); margin-top: 8px; }
    .st-table caption { display: block; }
  }
  @media (max-width: 560px) {
    .st-more > summary { padding: 20px; }
    .st-more-body { padding: 0 20px 36px; }
    .st-plan-row { grid-template-columns: 1fr; gap: 4px; }
    .st-tab { padding-right: 10px; margin-right: 6px; font-size: 1rem; }
    .st-cta { flex-direction: column; align-items: flex-start; }
  }

  /* fit live page rhythm: plain band between Engagement and About */
  .st { background: var(--paper); border: 0; }
  .st .st-note, .st .st-more { background: var(--white); }

  /* Cash curve calculator (/cash-curve) */
  .cc { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 40px; align-items: start; margin-top: 32px; }
  .cc-panel + .cc-panel { margin-top: 28px; }
  .cc-panel h2, .cc-chartblock h2, .cc-below h2 { font-size: 1.15rem; padding-bottom: 8px; border-bottom: 1px solid var(--rule); margin-bottom: 14px; }
  .cc-chartblock h2 { border-bottom: 0; margin-bottom: 4px; padding-bottom: 0; }
  .cc-sub { font-size: 0.92rem; color: var(--muted); margin: -4px 0 14px; }
  .cc-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 12px; }
  .cc-fields .wide { grid-column: 1 / -1; }
  .cc-fields label { font-size: 0.9rem; }
  .cc-fields select, .cc-fields input { font: inherit; font-weight: 400; color: var(--text); background: #fff; border: 1px solid #8EA2B5; border-radius: 6px; padding: 11px 12px; width: 100%; min-width: 0; min-height: 44px; }
  .cc-fields select:focus { outline: 3px solid var(--red); outline-offset: 1px; border-color: var(--blue); }
  .cc-hint { font-weight: 400; color: var(--muted); font-size: 0.82rem; line-height: 1.35; }
  .cc-segnote { font-size: 0.88rem; color: var(--muted); min-height: 1.3em; margin-top: 12px; }
  .cc-err { font-size: 0.92rem; color: var(--red); min-height: 1.3em; margin-top: 8px; font-weight: 600; }
  .cc-verdict { padding: 14px 16px; background: #fff; border: 1px solid var(--rule); border-left: 5px solid var(--rule); border-radius: 6px; }
  .cc-verdict.dip { border-left-color: var(--red); }
  .cc-verdict.ok { border-left-color: var(--blue); }
  .cc-verdict p { font-weight: 600; font-size: 1.15rem; line-height: 1.3; }
  .cc-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 18px; border-top: 3px solid var(--blue); }
  .cc-strip > div { padding: 14px 14px 8px 0; }
  .cc-strip > div + div { padding-left: 16px; border-left: 1px solid var(--rule); }
  .cc-strip .l { font-size: 0.84rem; color: var(--muted); font-weight: 600; }
  .cc-strip .v { font-weight: 800; font-size: clamp(1.3rem, 2.8vw, 1.85rem); letter-spacing: -0.02em; margin-top: 4px; line-height: 1.1; font-variant-numeric: tabular-nums; }
  .cc-strip .v.wait { font-size: 1rem; font-weight: 600; color: var(--muted); letter-spacing: 0; }
  .cc-strip .n { font-size: 0.8rem; color: var(--muted); margin-top: 4px; line-height: 1.3; }
  .cc-chartblock { margin-top: 26px; }
  .cc-legend { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 0.86rem; color: var(--muted); margin-bottom: 8px; }
  .cc-legend span { display: inline-flex; align-items: center; gap: 6px; }
  .cc-legend i { width: 18px; height: 0; border-top: 4px solid; display: inline-block; }
  .cc-chartwrap { position: relative; min-height: 260px; background: #fff; border: 1px solid var(--rule); border-radius: 8px; padding: 6px 4px 2px; }
  .cc-chartwrap svg { display: block; width: 100%; height: auto; }
  .cc-empty { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; padding: 24px; color: var(--muted); }
  .cc-empty[hidden] { display: none; }
  .cc-empty strong { display: block; color: var(--text); font-size: 1.1rem; margin-bottom: 6px; }
  .cc-below { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 40px; align-items: start; }
  .cc-limits, .cc-sources { list-style: none; margin: 0; padding: 0; }
  .cc-limits li { padding: 10px 0 10px 22px; border-bottom: 1px solid var(--rule); position: relative; font-size: 0.95rem; }
  .cc-limits li::before { content: ""; position: absolute; left: 0; top: 18px; width: 9px; height: 9px; background: var(--red); border-radius: 50%; }
  .cc-sources li { padding: 12px 0; border-bottom: 1px solid var(--rule); font-size: 0.93rem; }
  .cc-sources a { color: var(--blue); font-weight: 600; }
  .cc-sources .what { display: block; color: var(--muted); margin-top: 3px; }
  .grade { display: inline-block; font-size: 0.72rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; padding: 2px 8px; border-radius: 999px; margin-right: 8px; border: 1px solid; vertical-align: 1px; }
  .grade.p { color: var(--blue); background: var(--blue-soft); border-color: var(--blue); }
  .grade.s { color: var(--muted); border-color: #8EA2B5; }
  .grade.w { color: var(--red); background: #FDEBEC; border-color: var(--red); }
  @media (max-width: 900px) { .cc, .cc-below { grid-template-columns: minmax(0, 1fr); gap: 32px; } }
  @media (max-width: 560px) {
    .cc-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cc-strip > div:nth-child(3) { padding-left: 0; border-left: 0; }
    .cc-strip > div:nth-child(n+3) { border-top: 1px solid var(--rule); }
    .cc-fields { grid-template-columns: 1fr; }
  }

  /* Founder playbook download (/founders) */
  .hook-band { background: var(--blue-soft); border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); padding: 56px 0; }
  .hook { display: grid; grid-template-columns: minmax(0, 300px) minmax(0, 1fr); gap: 56px; align-items: center; }
  .hook-img img { width: 100%; height: auto; border: 1px solid var(--rule); border-radius: 6px; box-shadow: 0 12px 32px rgba(8, 47, 107, 0.18); background: #fff; }
  .hook h2 { margin-bottom: 14px; }
  .hook .actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 24px; }
  .hook-note { margin-top: 20px; color: var(--muted); font-size: 1rem; max-width: 34rem; }
  @media (max-width: 760px) { .hook { grid-template-columns: minmax(0, 1fr); gap: 32px; } .hook-img { max-width: 280px; } .hook-band { padding: 48px 0; } }

  /* Brand kit scope: Archivo and Public Sans, Navy, Dodger Blue, Signal Red, Mist, Slate */
  .brand-kit {
    --blue: #005A9C; --blue-deep: #0B2545; --blue-soft: #E4EFF8;
    --red: #C4262A; --red-bright: #EF3E42; --navy: #0B2545;
    --text: #2B3F5C; --muted: #4B5D6E; --rule: #D2DCE6; --paper: #EEF4FA;
    --font: "Public Sans", "Helvetica Neue", Arial, sans-serif;
    --font-head: "Archivo", "Helvetica Neue", Arial, sans-serif;
    font-family: var(--font); color: var(--text); background: var(--paper);
  }
  .brand-kit h1, .brand-kit h2, .brand-kit h3 { font-family: var(--font-head); color: var(--navy); font-weight: 800; letter-spacing: -0.02em; }
  .brand-kit h2 { font-weight: 700; }
  .brand-kit .eyebrow { font-family: var(--font-head); color: var(--blue); }
  .brand-kit .eyebrow::before { content: ""; display: block; width: 44px; height: 4px; background: var(--red); margin-bottom: 14px; }
  .brand-kit .section.alt { background: #fff; }
  .brand-kit .btn { font-family: var(--font-head); }
  .brand-kit .cc-fields select, .brand-kit .cc-fields input { font-family: var(--font); color: var(--navy); border-color: #8EA2B5; }
  .brand-kit .cc-panel h2, .brand-kit .cc-below h2 { border-bottom: 2px solid var(--navy); }
  .brand-kit .cc-verdict p { font-family: var(--font-head); color: var(--navy); font-weight: 700; }
  .brand-kit .cc-strip { border-top-color: var(--navy); }
  .brand-kit .cc-strip .v { font-family: var(--font-head); color: var(--navy); }
  .brand-kit .cc-strip .v.wait { font-family: var(--font); color: var(--muted); }
  .brand-kit #k1:not(.wait) { color: var(--red-bright); }
  .brand-kit .cc-chartwrap, .brand-kit .cc-verdict { background: #fff; }
  .brand-kit .cc-limits li::before { background: var(--red); border-radius: 0; width: 8px; height: 8px; }
  .brand-kit .grade { font-family: var(--font-head); }
  .cc-example { font-size: 0.92rem; color: var(--blue); background: var(--blue-soft); border-left: 3px solid var(--blue); padding: 8px 12px; margin: -4px 0 14px; border-radius: 0 4px 4px 0; }

  /* Founders page: signs, cash curve, simple playbook */
  .cv-grid2 { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: 48px; align-items: center; }
  .cv-fig { margin: 0; background: var(--paper); border: 1px solid var(--rule); border-radius: 10px; padding: 16px 16px 12px; }
  .cv-fig figcaption { margin-top: 8px; font-size: 0.92rem; color: var(--muted); }
  .cv { display: block; width: 100%; height: auto; }
  .cv-grid { stroke: var(--rule); stroke-width: 1; }
  .cv-grid.zero { stroke: var(--text); stroke-width: 1.5; }
  .cv-ax { font-size: 12px; fill: var(--muted); font-family: var(--font); }
  .cv-fill-dn { fill: rgba(200, 32, 47, 0.14); }
  .cv-fill-up { fill: rgba(10, 75, 166, 0.14); }
  .cv-line-dn { fill: none; stroke: var(--red); stroke-width: 3; stroke-linejoin: round; }
  .cv-line-up { fill: none; stroke: var(--blue); stroke-width: 3; stroke-linejoin: round; }
  .cv-dot-dn { fill: var(--red); stroke: #fff; stroke-width: 2; }
  .cv-dot-up { fill: var(--blue); stroke: #fff; stroke-width: 2; }
  .cv-lab { font-size: 13px; font-weight: 700; font-family: var(--font); }
  .cv-lab.dn { fill: var(--red); }
  .cv-lab.up { fill: var(--blue); }
  .cv-stats { margin: 0 0 20px; display: grid; gap: 0; }
  .cv-stats > div { padding: 14px 0; border-top: 1px solid var(--rule); }
  .cv-stats > div:last-child { border-bottom: 1px solid var(--rule); }
  .cv-stats dt { font-size: 0.85rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted); }
  .cv-stats dd { margin: 2px 0 0; font-size: 2rem; font-weight: 800; line-height: 1.1; color: var(--blue-deep); }
  .cv-stats dd.red { color: var(--red); }
  .cv-note { color: var(--muted); margin-bottom: 20px; }
  @media (max-width: 860px) {
    .cv-grid2 { grid-template-columns: 1fr; gap: 28px; }
    }

  /* Founders page: visual layer */
  .ic { width: 24px; height: 24px; flex: none; color: var(--blue); }
  .ic.big { width: 34px; height: 34px; }
  .ic.ring { width: 44px; height: 44px; padding: 10px; border-radius: 50%; background: var(--blue-soft); color: var(--blue); box-sizing: border-box; }
  .hero-f { padding-bottom: 48px; }
  .hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 56px; align-items: center; }
  .hero-grid .actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 28px; }
  .stair { margin: 0; background: var(--white); border: 1px solid var(--rule); border-radius: 12px; padding: 18px 16px 12px; box-shadow: 0 10px 28px rgba(8, 47, 107, 0.08); }
  .stair svg { display: block; width: 100%; height: auto; }
  .stair figcaption { margin-top: 6px; font-size: 0.92rem; color: var(--muted); }
  .st-num { font-size: 22px; font-weight: 800; fill: #fff; font-family: var(--font); }
  .st-t { font-size: 12.5px; font-weight: 700; fill: var(--text); font-family: var(--font); }
  .signs { margin-top: 64px; }
  .signs h2 { font-size: 1.6rem; margin-bottom: 20px; }
  .sign-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
  .sign { display: flex; flex-direction: column; gap: 14px; padding: 20px 18px 22px; background: var(--white); border: 1px solid var(--rule); border-top: 3px solid var(--red); border-radius: 10px; font-weight: 600; line-height: 1.35; }
  .cv-stats.tiles { grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 18px; }
  .cv-stats.tiles > div, .cv-stats.tiles > div:last-child { padding: 14px 16px; background: var(--paper); border: 1px solid var(--rule); border-radius: 10px; }
  .cv-stats.tiles dd { font-size: 1.7rem; }
  .phase { margin-top: 44px; }
  .phase:first-of-type { margin-top: 8px; }
  .phase-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 18px; padding: 14px 0 14px 18px; margin-bottom: 18px; border-left: 5px solid var(--blue); }
  .phase.p2 .phase-head { border-left-color: var(--red); }
  .phase.p4 .phase-head { border-left-color: var(--blue-deep); }
  .phase-k { font-size: 0.82rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--red); }
  .phase-head h3 { margin: 0; font-size: 1.5rem; }
  .phase-head p { flex-basis: 100%; margin: 0; color: var(--muted); }
  .step-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .step { background: var(--white); border: 1px solid var(--rule); border-radius: 12px; padding: 22px 24px; }
  .step-top { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
  .step-n { font-size: 0.82rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--muted); }
  .step h4 { font-size: 1.15rem; line-height: 1.25; margin: 0 0 8px; }
  .step p { color: var(--muted); font-size: 1rem; }
  .step .ready { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--rule); color: var(--text); }
  .step .ready b { color: var(--blue); }
  .teaser { background: var(--blue-deep); color: var(--white); padding: 56px 0; }
  .teaser .eyebrow { color: var(--red-light); }
  .teaser h2 { color: var(--white); }
  .teaser-head { max-width: 40rem; margin-bottom: 36px; }
  .teaser-head p { margin-top: 14px; color: #CFDBF0; font-size: 1.1rem; }
  .wk-line { list-style: none; margin: 0 0 36px; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; position: relative; }
  .wk-line li { position: relative; padding: 0 20px 0 0; display: flex; flex-direction: column; gap: 8px; }
  .wk-line li::before { content: ""; position: absolute; top: 27px; left: 56px; right: 8px; border-top: 2px dashed rgba(255, 255, 255, 0.35); }
  .wk-line li:last-child::before { display: none; }
  .wk-ic { width: 54px; height: 54px; border-radius: 50%; background: var(--white); display: grid; place-items: center; margin-bottom: 6px; }
  .wk-ic .ic { color: var(--blue-deep); }
  .wk-n { font-size: 0.82rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--red-light); }
  .wk-t { font-size: 1.15rem; font-weight: 700; line-height: 1.3; }
  .btn.light { background: var(--white); color: var(--blue-deep); border-color: var(--white); }
  .btn.light:hover { background: var(--blue-soft); border-color: var(--blue-soft); }
  .work-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .work-card { padding: 28px; background: var(--paper); border: 1px solid var(--rule); border-top: 3px solid var(--blue); border-radius: 10px; }
  .work-card h3 { margin: 16px 0 10px; }
  .work-card p { color: var(--muted); }
  @media (max-width: 1000px) {
    .hero-grid { grid-template-columns: 1fr; gap: 36px; }
    .sign-grid { grid-template-columns: repeat(2, 1fr); }
    .step-grid, .work-cards { grid-template-columns: 1fr; }
    .wk-line { grid-template-columns: 1fr 1fr; row-gap: 28px; }
    .wk-line li::before { display: none; }
  }
  @media (max-width: 560px) {
    .sign-grid, .wk-line { grid-template-columns: 1fr; }
    .cv-stats.tiles { grid-template-columns: 1fr 1fr; }
  }
  .hero-grid .lede { margin-top: 18px; }
  .phase.p3 .step-grid, .phase.p4 .step-grid { grid-template-columns: repeat(3, 1fr); }
  @media (max-width: 1000px) { .phase.p3 .step-grid, .phase.p4 .step-grid { grid-template-columns: 1fr; } }

  /* First 30 Days page */
  .ic.sm { width: 18px; height: 18px; }
  .persona { background: var(--white); border: 1px solid var(--rule); border-top: 4px solid var(--red); border-radius: 12px; padding: 24px 26px; box-shadow: 0 10px 28px rgba(8, 47, 107, 0.08); }
  .persona-k { display: block; font-size: 0.85rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--red); }
  .persona-n { margin: 2px 0 14px; color: var(--muted); font-size: 0.95rem; }
  .persona ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
  .persona li { display: flex; align-items: center; gap: 14px; padding: 13px 0; border-top: 1px solid var(--rule); font-weight: 600; line-height: 1.35; }
  .chart { margin: 0; background: var(--white); border: 1px solid var(--rule); border-radius: 12px; padding: 18px 18px 14px; }
  .chart svg { display: block; width: 100%; height: auto; }
  .chart figcaption { margin-top: 10px; font-size: 0.92rem; color: var(--muted); }
  .chart.wide { margin-bottom: 28px; }
  .tl-w { font-size: 14px; font-weight: 800; fill: #fff; text-anchor: middle; font-family: var(--font); }
  .tl-d { font-size: 13px; fill: #fff; text-anchor: middle; font-family: var(--font); }
  .tl-t { font-size: 15px; font-weight: 700; fill: var(--text); font-family: var(--font); }
  .tl-k { font-size: 12.5px; font-weight: 700; fill: var(--muted); font-family: var(--font); }
  .bc-l { font-size: 14.5px; font-weight: 600; fill: var(--text); font-family: var(--font); }
  .bc-v { font-size: 15px; font-weight: 800; fill: var(--text); font-family: var(--font); }
  .bc-ax { font-size: 12.5px; fill: var(--muted); font-family: var(--font); }
  .wk-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
  .wcard { display: flex; flex-direction: column; background: var(--paper); border: 1px solid var(--rule); border-radius: 12px; padding: 22px 22px 20px; }
  .wcard-top { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
  .wcard-k { display: block; font-size: 0.82rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--red); }
  .wcard-d { display: block; font-size: 0.9rem; color: var(--muted); }
  .wcard h3 { font-size: 1.2rem; margin-bottom: 10px; }
  .wcard ul { margin: 0 0 14px; padding-left: 18px; color: var(--muted); font-size: 0.97rem; }
  .wcard li { margin-bottom: 6px; }
  .wcard-out { margin-top: auto; padding-top: 12px; border-top: 1px solid var(--rule); font-size: 0.97rem; }
  .wcard-out b { color: var(--blue); }
  .wcard-tool { display: flex; gap: 8px; align-items: flex-start; margin-top: 10px; font-size: 0.92rem; color: var(--muted); }
  .wcard-tool .ic { color: var(--red); margin-top: 2px; }
  .stage-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-bottom: 32px; }
  .stagecard { background: var(--white); border: 1px solid var(--rule); border-top: 6px solid var(--c); border-radius: 12px; padding: 22px 24px; }
  .sc-k { display: block; font-size: 1.25rem; font-weight: 800; color: var(--text); }
  .sc-s { display: block; margin: 2px 0 12px; font-size: 0.92rem; color: var(--muted); }
  .stagecard ul { margin: 0; padding-left: 18px; }
  .stagecard li { margin-bottom: 8px; line-height: 1.4; }
  .split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 44px; align-items: center; }
  .split h3 { margin-bottom: 10px; }
  .split p { color: var(--muted); margin-bottom: 12px; }
  .split .src { font-size: 0.92rem; }
  .lock-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; margin-bottom: 32px; }
  .lock { background: var(--paper); border: 1px solid var(--rule); border-radius: 12px; padding: 20px 18px; }
  .lock h3 { margin: 14px 0 8px; font-size: 1.1rem; }
  .lock p { color: var(--muted); font-size: 0.95rem; line-height: 1.45; }
  .rules { margin: 0; padding: 0; list-style: none; counter-reset: rule; }
  .rules li { position: relative; padding: 14px 0 14px 46px; border-top: 1px solid var(--rule); counter-increment: rule; line-height: 1.4; }
  .rules li:last-child { border-bottom: 1px solid var(--rule); }
  .rules li::before { content: counter(rule); position: absolute; left: 0; top: 12px; width: 30px; height: 30px; border-radius: 50%; background: var(--red); color: #fff; font-weight: 800; display: grid; place-items: center; }
  .scroll { overflow-x: auto; margin-bottom: 24px; }
  .chart.roadmap { min-width: 860px; }
  .rm-m { font-size: 12px; font-weight: 700; fill: var(--muted); font-family: var(--font); }
  .rm-g { stroke: var(--rule); stroke-width: 1; }
  .rm-l { font-size: 14px; font-weight: 700; fill: var(--text); font-family: var(--font); }
  .rm-b { box-sizing: border-box; height: 46px; padding: 6px 10px; border-radius: 8px; color: #fff; font-family: var(--font); font-size: 12.5px; font-weight: 600; line-height: 1.25; display: flex; align-items: center; }
  .notes3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
  .notes3 > div { padding: 16px 18px; background: var(--blue-soft); border-left: 4px solid var(--blue); border-radius: 6px; color: var(--text); line-height: 1.45; }
  @media (max-width: 1100px) {
    .wk-grid { grid-template-columns: repeat(2, 1fr); }
    .lock-grid { grid-template-columns: repeat(3, 1fr); }
  }
  @media (max-width: 860px) {
    .stage-row, .split, .notes3 { grid-template-columns: 1fr; }
    .split { gap: 28px; }
    .lock-grid { grid-template-columns: 1fr 1fr; }
  }
  @media (max-width: 560px) {
    .wk-grid, .lock-grid { grid-template-columns: 1fr; }
  }
  .lg { display: inline-block; width: 12px; height: 12px; border-radius: 3px; margin: 0 6px 0 14px; vertical-align: -1px; }
  .lg:first-child { margin-left: 0; }
  .lg.l1 { background: #0A4BA6; } .lg.l2 { background: #082F6B; } .lg.l3 { background: #C8202F; }

/* Outbound Sequencing page */
  /* Outbound tab */
  .ob-head { max-width: 46rem; margin-bottom: 8px; }
  .ob-head p { margin-top: 16px; color: var(--muted); }
  .ob-fine { font-size: 0.95rem; color: var(--muted); margin-top: 14px; }
  .ob-block { margin-top: 72px; }
  .ob-h { font-size: clamp(1.4rem, 2.4vw, 1.75rem); margin-bottom: 10px; }
  .ob-intro { color: var(--muted); max-width: 44rem; margin-bottom: 28px; }
  .ob-note { margin-top: 24px; max-width: 52rem; padding: 18px 20px; background: var(--paper); border-left: 4px solid var(--red); font-size: 1rem; }
  .ob-note strong { color: var(--blue); }
  .ob sup a { color: var(--blue); font-weight: 700; text-decoration: none; padding: 0 1px; }
  .ob sup a:hover { text-decoration: underline; }

  .ob-company { display: grid; grid-template-columns: 0.9fr 1.1fr; border: 1px solid var(--rule); border-radius: 10px; overflow: hidden; background: var(--white); }
  .ob-company > div { padding: 32px; }
  .ob-company > div + div { border-left: 1px solid var(--rule); background: var(--paper); }
  .ob-badge { display: inline-block; font-weight: 700; font-size: 0.85rem; color: var(--white); background: var(--red); border-radius: 6px; padding: 4px 12px; margin-bottom: 14px; }
  .ob-company h3 { margin-bottom: 10px; }
  .ob-company p { color: var(--muted); }
  .ob-company p + p { margin-top: 12px; }
  .ob-facts { margin: 0; display: grid; gap: 0; }
  .ob-facts div { padding: 12px 0; border-bottom: 1px solid var(--rule); }
  .ob-facts div:first-child { padding-top: 0; }
  .ob-facts dt { font-weight: 700; font-size: 0.95rem; color: var(--blue); }
  .ob-facts dd { margin: 2px 0 0; font-size: 1rem; }

  .ob-ev { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 3px solid var(--blue); }
  .ob-ev > div { padding: 20px 22px 0 0; }
  .ob-ev > div + div { padding-left: 22px; border-left: 1px solid var(--rule); }
  .ob-ev h4 { margin: 0 0 8px; font-size: 1.05rem; line-height: 1.3; }
  .ob-ev p { font-size: 1rem; color: var(--muted); }
  .ob-ev .how { margin-top: 12px; font-size: 0.95rem; }
  .ob-ev .how strong { color: var(--blue); }

  .ob-tabs { display: flex; flex-wrap: wrap; gap: 4px; border-bottom: 1px solid var(--rule); margin-bottom: 28px; }
  .ob-tab { font: inherit; font-weight: 600; font-size: 1rem; background: none; border: 0; border-bottom: 3px solid transparent; margin-bottom: -1px; padding: 11px 14px 11px 0; margin-right: 8px; color: var(--muted); cursor: pointer; white-space: nowrap; }
  .ob-tab:hover { color: var(--text); }
  .ob-tab[aria-selected="true"] { color: var(--blue); border-bottom-color: var(--red); }
  .ob-lead { color: var(--muted); max-width: 44rem; margin-bottom: 24px; }
  .ob-cols { display: grid; grid-template-columns: 1.15fr 0.85fr; gap: 48px; }
  .ob-cols h4, .ob-meta h4, .ob-four h4 { margin: 0 0 6px; font-size: 1.02rem; color: var(--blue); }
  .ob-cols p { font-size: 1rem; color: var(--muted); }
  .ob-cols p + h4 { margin-top: 20px; }
  .ob-steps { list-style: none; margin: 0 0 8px; padding: 0; counter-reset: obs; }
  .ob-steps li { position: relative; padding: 11px 0 11px 40px; border-top: 1px solid var(--rule); counter-increment: obs; font-size: 1rem; }
  .ob-steps li:last-child { border-bottom: 1px solid var(--rule); }
  .ob-steps li::before { content: counter(obs); position: absolute; left: 0; top: 11px; width: 26px; height: 26px; border-radius: 50%; background: var(--blue); color: var(--white); font-weight: 700; font-size: 0.9rem; display: grid; place-items: center; }
  .ob-meta { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-top: 28px; padding-top: 22px; border-top: 3px solid var(--blue); }
  .ob-meta p { font-size: 1rem; color: var(--muted); }
  .ob-example { margin-top: 20px; padding: 16px 18px; background: var(--paper); border-left: 4px solid var(--red); font-size: 1rem; }
  .ob-example strong { color: var(--blue); }

  .ob-loop { border: 1px solid var(--rule); border-radius: 10px; background: var(--white); padding: 16px; overflow-x: auto; margin-bottom: 28px; }
  .ob-loop-in { min-width: 720px; }
  .ob-loop svg { width: 100%; height: auto; display: block; }
  .ob-loop text { font-family: var(--font); }
  .lp-q { font-size: 13px; font-weight: 700; letter-spacing: 0.06em; fill: var(--muted); }
  .lp-t { font-size: 20px; font-weight: 700; }
  .lp-d { font-size: 15px; }
  .lp-on rect { fill: var(--blue); stroke: var(--blue); stroke-width: 2; }
  .lp-on text { fill: var(--white); }
  .lp-off rect { fill: var(--paper); stroke: var(--blue); stroke-width: 2; }
  .lp-off text { fill: var(--text); }
  .lp-line { stroke: var(--blue); stroke-width: 2.5; fill: none; }
  .lp-ret { stroke: var(--red); stroke-width: 2.5; fill: none; stroke-dasharray: 7 6; }
  .lp-mb { fill: var(--blue); }
  .lp-mr { fill: var(--red); }
  .lp-lab { font-size: 15px; font-weight: 600; fill: var(--red); }
  .lp-ex1 { font-size: 14px; font-weight: 700; fill: var(--blue); }
  .lp-ex2 { font-size: 14px; fill: var(--muted); }

  .ob-four { display: grid; grid-template-columns: repeat(4, 1fr); margin-bottom: 36px; border-top: 3px solid var(--blue); }
  .ob-four > div { padding: 18px 20px 0 0; }
  .ob-four > div + div { padding-left: 20px; border-left: 1px solid var(--rule); }
  .ob-four p { font-size: 1rem; color: var(--muted); }

  .ob-msgs { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 36px; }
  .ob-msg { border: 1px solid var(--rule); border-left: 4px solid var(--red); background: var(--paper); border-radius: 6px; padding: 18px 20px; }
  .ob-msg h4 { margin: 0 0 10px; font-size: 0.95rem; color: var(--blue); }
  .ob-msg p { font-size: 1rem; white-space: pre-line; }
  .ob-msg .subj { font-weight: 700; margin-bottom: 8px; }

  .ob-sources { list-style: none; margin: 0; padding: 0; max-width: 56rem; }
  .ob-sources li { padding: 14px 0; border-top: 1px solid var(--rule); }
  .ob-sources li:last-child { border-bottom: 1px solid var(--rule); }
  .ob-sources a { font-weight: 700; color: var(--blue); }
  .ob-sources span { display: block; color: var(--muted); font-size: 0.98rem; margin-top: 2px; }

  .ob-cta { margin-top: 56px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px 32px; padding-top: 32px; border-top: 1px solid var(--rule); }
  .ob-cta p { max-width: 38rem; font-size: 1.1rem; }

  @media (max-width: 960px) {
    .ob-block { margin-top: 56px; }
    .ob-company, .ob-cols, .ob-meta, .ob-msgs { grid-template-columns: 1fr; }
    .ob-company > div + div { border-left: 0; border-top: 1px solid var(--rule); }
    .ob-cols { gap: 28px; }
    .ob-ev, .ob-four { grid-template-columns: 1fr 1fr; }
    .ob-ev > div, .ob-four > div { padding: 18px 16px 12px 0; }
    .ob-ev > div + div, .ob-four > div + div { padding-left: 0; border-left: 0; }
    .ob-ev > div:nth-child(even), .ob-four > div:nth-child(even) { padding-left: 16px; border-left: 1px solid var(--rule); }
    .ob-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
    .ob-table, .ob-table tbody, .ob-table tr, .ob-table th, .ob-table td { display: block; width: auto; }
    .ob-table tbody th { width: auto; padding: 18px 0 4px; border-bottom: 0; font-size: 1.1rem; }
    .ob-table td { padding: 4px 0; border-bottom: 0; }
    .ob-table tr { padding-bottom: 14px; border-bottom: 1px solid var(--rule); }
    .ob-table td::before { content: attr(data-label); display: block; font-weight: 700; font-size: 0.9rem; color: var(--blue); margin-top: 8px; }
    .ob-table caption { display: block; }
  }
  @media (max-width: 560px) {
    .ob-ev, .ob-four { grid-template-columns: 1fr; }
    .ob-ev > div:nth-child(even), .ob-four > div:nth-child(even) { padding-left: 0; border-left: 0; }
    .ob-company > div { padding: 24px 20px; }
    .ob-tab { font-size: 0.95rem; padding-right: 8px; margin-right: 4px; }
    .ob-cta { flex-direction: column; align-items: flex-start; }
  }

  .ob-dl { margin: 18px 0 0; }
  .ob-cal { margin: 24px 0 0; }
  .ob-cal img { width: 100%; height: auto; border: 1px solid var(--rule); border-radius: 8px; display: block; background: #fff; }
  .ob-cal figcaption { font-size: 0.95rem; color: var(--muted); margin-top: 10px; }

  /* Visual pass: experience and engagement */
  .ee-hero { display: grid; grid-template-columns: minmax(0, 1fr) 480px; gap: 48px; align-items: center; }
  .ee-hero .section-head { margin-bottom: 0; }
  .ee-fig { margin: 0; background: #fff; border: 1px solid var(--rule); border-radius: 10px; padding: 18px 22px 12px; }
  .ee-fig svg { width: 100%; height: auto; display: block; }
  .ee-fig figcaption { font-size: 0.88rem; color: var(--muted); margin-top: 8px; }
  .ee-wide { margin: 0 0 28px; }
  .ee-l { font-size: 13px; font-weight: 700; fill: var(--text); font-family: inherit; } .ee-v { font-size: 13px; font-weight: 700; fill: var(--text); font-family: inherit; }
  .ee-k { font-size: 11.5px; fill: var(--muted); text-anchor: middle; font-family: inherit; } .ee-t { font-size: 11px; fill: var(--muted); font-family: inherit; }
  .ee-b { fill: var(--blue); } .ee-r { fill: var(--red); } .ee-soft { fill: var(--blue-soft); } .ee-q { stroke: var(--text); stroke-width: 1.5; stroke-dasharray: 4 3; }
  .ee-nt { font-size: 11px; font-weight: 700; fill: #fff; text-anchor: middle; font-family: inherit; }
  .ee-a { stroke: var(--muted); stroke-width: 1.5; } .ee-ah { fill: var(--muted); } .ee-loop { fill: none; stroke: var(--red); stroke-width: 1.5; stroke-dasharray: 5 4; }
  .ee-stat { margin: 0 0 12px; padding-bottom: 12px; border-bottom: 1px solid var(--rule); display: flex; flex-direction: column; gap: 2px; }
  .ee-stat b { font-size: 2rem; line-height: 1; color: var(--blue); letter-spacing: -0.02em; } .ee-stat span { font-size: 0.88rem; color: var(--muted); }
  .ee-ex { width: 100%; max-width: 440px; height: auto; display: block; margin-top: 18px; }
  .ee-k[text-anchor="start"], .ee-nt[text-anchor="start"] { text-anchor: start; } .ee-k[text-anchor="end"] { text-anchor: end; }
  .ee-hero { margin-bottom: 32px; }
  .receive li { display: flex; align-items: center; gap: 12px; } .receive .ic { width: 22px; height: 22px; }
  @media (max-width: 960px) { .ee-hero { grid-template-columns: 1fr; gap: 24px; } .ee-wide svg { min-width: 620px; } .ee-wide { overflow-x: auto; } }
  /* Visual pass: buying journey and gap analysis */
  .jg-pair { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 20px; margin-top: 28px; }
  .jg-fig { margin: 0; background: #fff; border: 1px solid var(--rule); border-radius: 10px; padding: 18px 22px 14px; }
  .jg-fig svg { width: 100%; height: auto; display: block; }
  .jg-t { font-size: 1.05rem; margin: 0 0 10px; }
  .jg-cap { font-size: 0.88rem; color: var(--muted); margin: 10px 0 0; }
  .mx-h { font-size: 12px; font-weight: 700; fill: var(--blue); text-anchor: middle; font-family: inherit; }
  .mx-l { font-size: 12.5px; fill: var(--text); font-family: inherit; } .mx-g { stroke: var(--rule); stroke-width: 1; } .mx-d { fill: var(--blue); } .pp-o { fill: #fff; stroke: var(--blue); stroke-width: 2; }
  .jg-flow { margin: 0 0 28px; background: #fff; border: 1px solid var(--rule); border-radius: 10px; padding: 18px 22px 8px; }
  .jg-flow svg { width: 100%; height: auto; display: block; }
  .pf-b { fill: var(--blue); } .pf-r { fill: var(--red); } .pf-n { font-size: 14px; font-weight: 700; fill: #fff; text-anchor: middle; font-family: inherit; } .pf-t { font-size: 11.5px; fill: var(--muted); font-family: inherit; }
  .ga-bar { margin: 24px 0 0; } .ga-bar svg { width: 100%; max-width: 592px; height: auto; display: block; }
  .ga-bar p { display: flex; gap: 8px 28px; flex-wrap: wrap; font-size: 0.95rem; color: var(--muted); margin: 10px 0 0; }
  .ga-bar span { display: inline-flex; align-items: center; gap: 8px; } .ga-bar b { color: var(--text); }
  .hb-ok { fill: var(--blue); } .hb-bad { fill: var(--red); } .hb-oki, .hb-badi { width: 12px; height: 12px; border-radius: 3px; display: inline-block; } .hb-oki { background: var(--blue); } .hb-badi { background: var(--red); }
  .ga-method { margin: 0 0 24px; background: #fff; border: 1px solid var(--rule); border-radius: 10px; padding: 18px 22px 8px; }
  .ga-method svg { width: 100%; height: auto; display: block; }
  .mt-b { fill: var(--blue); } .mt-r { fill: var(--red); } .mt-n { font-size: 13px; font-weight: 700; fill: #fff; text-anchor: middle; font-family: inherit; } .mt-t { font-size: 11px; fill: var(--text); text-anchor: middle; font-family: inherit; } .mt-ln { stroke: var(--rule); stroke-width: 2; } .mt-ro { fill: var(--red); opacity: 0.85; }
  .cols3 > div > .ic.ring { margin-bottom: 14px; display: block; }
  @media (max-width: 960px) { .jg-pair { grid-template-columns: 1fr; } .jg-flow, .ga-method, .jg-fig { overflow-x: auto; } .jg-flow svg, .ga-method svg { min-width: 640px; } }
  .plays .play:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .jg-pair { grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); }
  /* Visual pass: sales team */
  .st-hero { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 56px; align-items: center; }
  .st-hero .st-head { max-width: none; }
  .st-ratio { margin: 0; background: #fff; border: 1px solid var(--rule); border-radius: 10px; padding: 20px 22px 16px; }
  .st-ratio svg { width: 100%; height: auto; display: block; }
  .st-ratio figcaption { margin-top: 8px; font-size: 0.92rem; color: var(--muted); }
  .rt-l { font-size: 12.5px; font-weight: 700; fill: var(--text); font-family: inherit; } .rt-k { font-size: 11px; fill: var(--muted); font-family: inherit; }
  .rt-one { fill: var(--red); } .rt-s { fill: var(--blue); }
  .st-stagechart { margin: 8px 0 24px; background: #fff; border: 1px solid var(--rule); border-radius: 10px; padding: 18px 22px 12px; }
  .st-stagechart svg { width: 100%; height: auto; display: block; }
  .sc-l { font-size: 12.5px; fill: var(--text); font-family: inherit; } .sc-v { font-size: 12px; font-weight: 700; fill: var(--text); font-family: inherit; }
  .sc-b { fill: var(--blue); } .sc-a { fill: var(--red); }
  .st-legend { display: flex; flex-wrap: wrap; gap: 6px 22px; font-size: 0.88rem; color: var(--muted); margin: 10px 0 0; }
  .st-legend span { display: inline-flex; align-items: center; gap: 7px; } .st-legend i { width: 14px; height: 10px; border-radius: 2px; display: inline-block; }
  .lg-b { background: var(--blue); } .lg-a { background: var(--red); }
  .st-changes .ic { margin-bottom: 14px; }
  .st-dayline { background: #fff; border: 1px solid var(--rule); border-radius: 8px; padding: 8px 16px 2px; margin: 0 0 22px; }
  .st-dayline svg { width: 100%; height: auto; display: block; }
  .ds-ax { stroke: var(--rule); stroke-width: 2; } .ds-d { fill: var(--blue); } .ds-t { font-size: 11px; fill: var(--muted); text-anchor: middle; font-family: inherit; }
  .st-ramp { margin: 8px 0 18px; background: #fff; border: 1px solid var(--rule); border-radius: 10px; padding: 18px 22px; display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 28px; align-items: center; }
  .st-ramp svg { width: 100%; height: auto; display: block; }
  .rp-ax { stroke: var(--rule); stroke-width: 2; } .rp-m, .rp-m2 { fill: var(--blue); } .rp-m2 { opacity: 0.7; }
  .rp-r { fill: var(--blue); } .rp-r2 { fill: var(--blue-soft); } .rp-c { fill: var(--blue-soft); }
  .rp-l { font-size: 11px; font-weight: 700; fill: var(--text); font-family: inherit; } .rp-t { font-size: 11.5px; fill: var(--muted); font-family: inherit; }
  .st-attain > div { margin-bottom: 14px; } .st-attain b { font-size: 1.8rem; color: var(--blue); display: block; line-height: 1.1; }
  .st-attain span { font-size: 0.9rem; color: var(--muted); display: block; margin-bottom: 6px; }
  .st-attain i { display: block; height: 8px; border-radius: 4px; background: var(--blue); }
  .st-attain > div:nth-child(2) b { color: var(--red); } .st-attain > div:nth-child(2) i { background: var(--red); }
  .st-attain p { font-size: 0.85rem; color: var(--muted); margin: 0; }
  .st-gantt { margin: 8px 0 20px; background: #fff; border: 1px solid var(--rule); border-radius: 10px; padding: 14px 18px; }
  .st-gantt svg { width: 100%; height: auto; display: block; }
  .gt-l { font-size: 12px; fill: var(--text); font-family: inherit; } .gt-w { font-size: 10px; fill: var(--muted); text-anchor: middle; font-family: inherit; }
  .gt-b { fill: var(--blue); } .gt-r { fill: var(--red); }
  @media (max-width: 960px) { .st-hero { grid-template-columns: 1fr; gap: 28px; } .st-ratio { max-width: 360px; } .st-ramp { grid-template-columns: 1fr; } }
  /* Visual pass */
  .ob-hero { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 56px; align-items: center; }
  .ob-hero .ob-head { max-width: none; margin-bottom: 0; }
  .ob-waffle { margin: 0; background: #fff; border: 1px solid var(--rule); border-radius: 10px; padding: 22px; }
  .ob-waffle svg { width: 100%; height: auto; display: block; }
  .ob-waffle .wf-on { fill: var(--red); }
  .ob-waffle .wf-off { fill: var(--blue-soft); }
  .ob-waffle figcaption { margin-top: 14px; font-size: 0.92rem; color: var(--muted); line-height: 1.5; }
  .ob-waffle figcaption strong { color: var(--text); }
  .wf-key { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 5px; }
  .wf-key.wf-on { background: var(--red); }
  .wf-key.wf-off { background: var(--blue-soft); border: 1px solid var(--rule); }
  .ob-stat { margin: 0 0 12px; padding-bottom: 12px; border-bottom: 1px solid var(--rule); display: flex; flex-direction: column; gap: 2px; }
  .ob-stat b { font-size: 2.1rem; line-height: 1; color: var(--blue); letter-spacing: -0.02em; }
  .ob-stat span { font-size: 0.88rem; color: var(--muted); }
  .ob-strip { width: 100%; max-width: 520px; height: auto; display: block; margin: 4px 0 18px; }
  .ob-strip .st-cur { fill: var(--red); } .ob-strip .st-done { fill: var(--blue); } .ob-strip .st-todo { fill: var(--rule); }
  .ob-strip .st-t { font-size: 11px; font-weight: 700; text-anchor: middle; dominant-baseline: central; font-family: inherit; }
  .ob-strip .st-t-cur, .ob-strip .st-t-done { fill: #fff; } .ob-strip .st-t-todo { fill: var(--muted); }
  .ob-pt { display: flex; align-items: center; gap: 8px; }
  .ob-pt i { display: block; height: 10px; border-radius: 2px; background: var(--blue); min-width: 4px; }
  .ob-pt b { font-weight: 700; }
  .ob-tiers { display: grid; gap: 8px; margin: 4px 0 22px; max-width: 720px; }
  .ob-tiers > div { display: flex; align-items: center; gap: 14px; padding: 10px 14px; border-radius: 6px; color: #fff; }
  .ob-tiers b { min-width: 52px; }
  .ob-tiers span { font-size: 0.92rem; }
  .ob-tiers .t1 { background: var(--red); width: 42%; min-width: 300px; }
  .ob-tiers .t2 { background: var(--blue); width: 72%; }
  .ob-tiers .t3 { background: var(--blue-soft); color: var(--text); width: 100%; }
  .ob-tlfig { margin: 22px 0 8px; background: #fff; border: 1px solid var(--rule); border-radius: 10px; padding: 20px 22px 14px; }
  .ob-tlfig figcaption { font-size: 0.92rem; color: var(--muted); margin-top: 8px; }
  .ob-tl-big, .ob-tl { width: 100%; height: auto; display: block; }
  .ob-tlwrap { background: #fff; border: 1px solid var(--rule); border-radius: 8px; padding: 12px 18px 6px; margin: 4px 0 20px; }
  .otl-axis { stroke: var(--rule); stroke-width: 2; }
  .otl-d { font-size: 10px; fill: var(--muted); text-anchor: middle; font-family: inherit; }
  .otl-l { font-size: 12px; fill: var(--text); font-weight: 700; font-family: inherit; }
  .sq-email { fill: var(--blue); } .sq-li { fill: var(--blue-deep); } .sq-ph { fill: var(--red); } .sq-wr { fill: var(--red-light); }
  .ob-legend { display: flex; flex-wrap: wrap; gap: 6px 18px; font-size: 0.88rem; color: var(--muted); margin: 6px 0 4px; }
  .ob-legend span { display: inline-flex; align-items: center; gap: 6px; }
  @media (max-width: 960px) { .ob-hero { grid-template-columns: 1fr; gap: 28px; } .ob-waffle { max-width: 340px; } }
  @media (max-width: 560px) { .ob-tiers .t1, .ob-tiers .t2 { width: 100%; min-width: 0; } .ob-tiers > div { flex-direction: column; align-items: flex-start; gap: 2px; } }
  .ob-legend svg { width: 14px; height: 14px; flex: none; }
  .ob-introrow { display: flex; align-items: center; justify-content: space-between; gap: 20px 40px; flex-wrap: wrap; }
  .ob-introrow .ob-intro { flex: 1 1 380px; margin-bottom: 0; }
  .ob-introrow .ob-dl { flex: none; margin: 0; }
  .ob-logo { margin: 0 0 14px; line-height: 0; }
  .ob-logo img { width: 210px; height: auto; border-radius: 8px; display: block; }

  .ob-headrow { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 20px; margin-bottom: 10px; }
  .ob-headrow .ob-h { margin-bottom: 0; }
  .ob-headrow .ob-badge { margin-bottom: 0; }

  .cc-money-h { font-size: 1.15rem; margin: 26px 0 0; }
  .cc-strip2 { margin-top: 8px; border-top-width: 1px; border-top-color: var(--rule); }
  .brand-kit .cc-strip2 { border-top-color: var(--rule); }

  .cc-tip { font-size: 0.86rem; color: var(--muted); margin: 0 0 6px; }
  .cc-read { margin: 4px 10px 8px; font-size: 0.92rem; line-height: 1.45; color: var(--text); }
  .cc-read b { font-variant-numeric: tabular-nums; }
  .cc-chartwrap svg:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }

  .cv-line-alt { fill: none; stroke: var(--muted); stroke-width: 2; stroke-dasharray: 6 4; }
  .cv-lead { stroke: var(--red); stroke-width: 1.5; }
  .cv-lab.alt { fill: var(--muted); font-size: 12px; }
  .cv-scen { margin-top: 40px; }
  .cv-scen h3 { font-size: clamp(1.2rem, 2.2vw, 1.5rem); margin-bottom: 12px; }
  .cv-scenwrap table { width: 100%; border-collapse: collapse; background: var(--white); border: 1px solid var(--rule); border-radius: 10px; overflow: hidden; }
  .cv-scenwrap th, .cv-scenwrap td { text-align: left; padding: 12px 14px; border-bottom: 1px solid var(--rule); font-variant-numeric: tabular-nums; }
  .cv-scenwrap thead th { font-size: 0.82rem; letter-spacing: 0.05em; text-transform: uppercase; color: var(--muted); background: var(--paper); }
  .cv-scenwrap tbody th { font-weight: 700; color: var(--blue-deep); }
  .cv-scenwrap tr.cv-hi td, .cv-scenwrap tr.cv-hi th { background: var(--blue-soft); }
  .cv-scen .cv-note { margin: 14px 0 0; font-size: 0.95rem; }
  @media (max-width: 720px) {
    .cv-scenwrap thead { position: absolute; left: -9999px; }
    .cv-scenwrap table, .cv-scenwrap tbody, .cv-scenwrap tr, .cv-scenwrap th, .cv-scenwrap td { display: block; }
    .cv-scenwrap tr { border-bottom: 1px solid var(--rule); padding: 8px 0; }
    .cv-scenwrap td { border: 0; padding: 4px 14px; display: flex; justify-content: space-between; gap: 12px; }
    .cv-scenwrap td::before { content: attr(data-label); color: var(--muted); font-weight: 600; }
    .cv-scenwrap tbody th { border: 0; padding: 6px 14px 2px; }
  }

  /* Home, founder-forward */
  .hero .eyebrow { display: inline-block; margin-bottom: 14px; }
  .hm-signlist { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
  .hm-signlist li { display: flex; flex-direction: column; gap: 12px; padding: 20px; background: var(--white); border: 1px solid var(--rule); border-top: 3px solid var(--red); border-radius: 8px; font-weight: 600; line-height: 1.35; }
  .hm-signlist .ic { width: 34px; height: 34px; color: var(--blue); }
  .hm-more { margin-top: 18px; font-weight: 700; }
  .hm-more a { color: var(--blue); }
  .hm-path { list-style: none; margin: 28px 0 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; counter-reset: none; }
  .hm-path li { display: flex; }
  .hm-path a { position: relative; display: flex; flex-direction: column; gap: 10px; width: 100%; padding: 22px 20px 20px; background: var(--paper); border: 1px solid var(--rule); border-top: 3px solid var(--blue); border-radius: 8px; text-decoration: none; color: inherit; }
  .hm-path a:hover { border-top-color: var(--red); transform: translateY(-2px); }
  .hm-path a:focus-visible { outline: 3px solid var(--red); outline-offset: 3px; }
  .hm-path .ic { width: 34px; height: 34px; color: var(--blue); }
  .hm-path h3 { font-size: 1.12rem; }
  .hm-path p { color: var(--muted); font-size: 0.96rem; line-height: 1.45; }
  .hm-path .go { margin-top: auto; padding-top: 4px; font-weight: 700; color: var(--blue); }
  .hm-n { position: absolute; top: 14px; right: 16px; font-weight: 800; font-size: 1.5rem; color: var(--rule); line-height: 1; }
  .hm-ent-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 48px; align-items: center; }
  .hm-ent-grid p { margin-top: 12px; color: var(--muted); }
  .hm-ent-links { display: grid; gap: 10px; }
  .hm-ent-links a { display: flex; flex-direction: column; gap: 2px; padding: 14px 18px; background: var(--white); border: 1px solid var(--rule); border-left: 3px solid var(--blue); border-radius: 8px; text-decoration: none; color: inherit; }
  .hm-ent-links a:hover { border-left-color: var(--red); }
  .hm-ent-links strong { color: var(--blue); }
  .hm-ent-links span { color: var(--muted); font-size: 0.96rem; }
  @media (max-width: 1100px) { .hm-path { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
  @media (max-width: 900px) { .hm-signlist { grid-template-columns: repeat(2, minmax(0, 1fr)); } .hm-ent-grid { grid-template-columns: 1fr; gap: 24px; } }
  @media (max-width: 620px) { .hm-signlist, .hm-path { grid-template-columns: 1fr; } }

  .hm-sn { margin-top: 18px; font-size: 0.88rem; color: rgba(255, 255, 255, 0.82); }
  .hm-sn a { color: #fff; text-decoration: underline; }

  /* Home guides funnel */
  .hm-gcards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 28px; }
  .hm-g { display: flex; flex-direction: column; background: var(--paper); border: 1px solid var(--rule); border-top: 3px solid var(--blue); border-radius: 8px; overflow: hidden; }
  .hm-gimg { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: #fff; border-bottom: 1px solid var(--rule); }
  .hm-gimg img { width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; }
  .hm-gbody { display: flex; flex-direction: column; gap: 10px; padding: 20px 22px 22px; flex: 1; align-items: flex-start; }
  .hm-gtag { font-size: 0.78rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--red); }
  .hm-gbody h3 { font-size: 1.2rem; }
  .hm-gbody > p { color: var(--muted); font-size: 0.98rem; line-height: 1.5; }
  .hm-gbody .btn { margin-top: auto; }
  .hm-gnext { font-size: 0.92rem; color: var(--muted); line-height: 1.45; }
  .hm-gnext a { color: var(--blue); font-weight: 700; }
  .hm-call { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 32px; margin-top: 28px; padding: 24px 28px; background: var(--blue-deep); color: #fff; border-radius: 10px; }
  .hm-call h3 { color: #fff; font-size: 1.35rem; margin-bottom: 4px; }
  .hm-call p { color: rgba(255, 255, 255, 0.86); max-width: 38rem; }
  .hm-call .btn { background: #fff; color: var(--blue-deep); }
  @media (max-width: 1000px) { .hm-gcards { grid-template-columns: 1fr; } .hm-gimg { aspect-ratio: 16 / 9; } }

  .hm-gbody > p:not(.hm-gnext) { flex: 1; }
  .hm-gbody .btn { margin-top: 0; }
  .hm-gimg img.fit { object-fit: contain; }

  .sign-grid { grid-template-columns: repeat(4, 1fr); }
  @media (max-width: 900px) { .sign-grid { grid-template-columns: repeat(2, 1fr); } }
  @media (max-width: 620px) { .sign-grid { grid-template-columns: 1fr; } }

  /* Gap Analysis: handoff tabs and finder */
  .hx { margin-top: 28px; background: var(--white); border: 1px solid var(--rule); border-radius: 10px; padding: 24px; }
  .hx-h, .gf-h { font-size: clamp(1.25rem, 2.2vw, 1.5rem); margin-bottom: 14px; }
  .hx-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
  .hx-tab { display: flex; align-items: center; gap: 10px; padding: 12px 14px; text-align: left; font: inherit; font-weight: 700; color: var(--blue-deep); background: var(--paper); border: 1px solid var(--rule); border-top: 3px solid var(--rule); border-radius: 8px; cursor: pointer; }
  .hx-tab:hover { border-top-color: var(--blue); }
  .hx-tab[aria-selected="true"] { background: var(--white); border-color: var(--blue); border-top-color: var(--red); box-shadow: 0 2px 0 var(--white); }
  .hx-tab:focus-visible, .gf input:focus-visible { outline: 3px solid var(--red); outline-offset: 2px; }
  .hx-num { flex: none; width: 26px; height: 26px; border-radius: 50%; background: var(--red); color: #fff; font-size: 0.85rem; display: inline-flex; align-items: center; justify-content: center; }
  .hx-panel { margin-top: 18px; padding: 20px 22px; background: var(--paper); border-left: 4px solid var(--red); border-radius: 0 8px 8px 0; }
  .hx-panel[hidden] { display: none; }
  .hx-panel h3 { font-size: 1.2rem; margin-bottom: 12px; }
  .hx-panel dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin: 0; }
  .hx-panel dt { font-size: 0.8rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--red); margin-bottom: 4px; }
  .hx-panel div:last-child dt { color: var(--blue); }
  .hx-panel dd { margin: 0; color: var(--text); line-height: 1.5; }
  .gf { margin-top: 28px; background: var(--blue-soft); border: 1px solid var(--rule); border-radius: 10px; padding: 24px; }
  .gf-sub { color: var(--muted); max-width: 46rem; margin-bottom: 18px; }
  .gf-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr) minmax(0, 1.3fr); gap: 24px; align-items: start; }
  .gf fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
  .gf legend, .gf-l { font-weight: 700; color: var(--blue-deep); margin-bottom: 10px; padding: 0; }
  .gf-l2 { margin-top: 14px; font-size: 0.95rem; }
  .gf-chk { display: flex; align-items: center; gap: 10px; padding: 11px 14px; margin-bottom: 8px; background: var(--white); border: 1px solid var(--rule); border-radius: 8px; font-weight: 600; cursor: pointer; }
  .gf-chk input { width: 18px; height: 18px; accent-color: var(--blue); }
  .gf-in label { display: block; font-size: 0.92rem; font-weight: 600; margin-bottom: 10px; }
  .gf-in input { display: block; width: 100%; margin-top: 4px; padding: 9px 12px; font: inherit; border: 1px solid var(--rule); border-radius: 6px; background: #fff; }
  .gf-out { background: var(--white); border: 1px solid var(--rule); border-radius: 8px; padding: 18px 20px; }
  .gf-big { font-size: clamp(2rem, 4vw, 2.8rem); font-weight: 800; color: var(--blue-deep); line-height: 1.1; }
  .gf-note { color: var(--muted); margin: 6px 0 14px; }
  .gf-rank { list-style: none; margin: 0 0 16px; padding: 0; display: grid; gap: 8px; }
  .gf-rank li { display: grid; grid-template-columns: minmax(0, 9.5rem) minmax(0, 1fr) 3.4rem; gap: 10px; align-items: center; font-size: 0.92rem; }
  .gf-rb { display: block; height: 12px; background: var(--paper); border-radius: 6px; overflow: hidden; }
  .gf-rb i { display: block; height: 100%; background: var(--red); border-radius: 6px; }
  .gf-rv { font-weight: 700; text-align: right; font-variant-numeric: tabular-nums; }
  .gf-fine { margin-top: 12px; color: var(--muted); font-size: 0.85rem; line-height: 1.4; }
  @media (max-width: 1000px) { .gf-grid { grid-template-columns: 1fr; } .hx-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); } .hx-panel dl { grid-template-columns: 1fr; gap: 14px; } }
  @media (max-width: 520px) { .hx, .gf { padding: 18px 16px; } .hx-tabs { grid-template-columns: 1fr; } .gf-rank li { grid-template-columns: minmax(0, 7rem) minmax(0, 1fr) 3.2rem; } }

  /* HubSpot Playbook (/hubspot-playbook) */
  .fl-t { font-size: 15px; font-weight: 800; fill: #fff; text-anchor: middle; font-family: var(--font-head, var(--font)); }
  .fl-c { font-size: 13.5px; fill: var(--muted); font-family: var(--font); }
  .st-t { font-size: 14px; font-weight: 800; fill: #fff; text-anchor: middle; font-family: var(--font-head, var(--font)); }
  .ev-t { font-size: 15px; font-weight: 700; fill: var(--text); font-family: var(--font); }
  .pb-sub { margin: 36px 0 14px; font-size: 1.2rem; }
  .pb-tablewrap { overflow-x: auto; margin-bottom: 28px; }
  .pb-table { width: 100%; min-width: 560px; border-collapse: collapse; background: var(--white); border: 1px solid var(--rule); font-size: 0.97rem; }
  .pb-table caption { text-align: left; font-family: var(--font-head, var(--font)); font-weight: 700; color: var(--navy, var(--blue-deep)); padding: 0 0 10px; font-size: 1.05rem; }
  .pb-table th, .pb-table td { padding: 12px 16px; text-align: left; border-bottom: 1px solid var(--rule); vertical-align: top; }
  .pb-table thead th { background: var(--navy, var(--blue-deep)); color: #fff; font-family: var(--font-head, var(--font)); }
  .pb-table tbody th { font-weight: 600; color: var(--text); width: 34%; }
  .pb-day { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 24px; padding: 32px 0; border-top: 1px solid var(--rule); }
  .pb-day:first-of-type { border-top: 0; padding-top: 8px; }
  .pb-num { width: 56px; height: 56px; border-radius: 50%; background: var(--blue); color: #fff; font-family: var(--font-head, var(--font)); font-weight: 800; font-size: 1.5rem; display: flex; align-items: center; justify-content: center; }
  #day5 .pb-num { background: var(--red); }
  .pb-k { display: block; font-size: 0.82rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--red); }
  .pb-body h3 { font-size: 1.6rem; margin: 2px 0 8px; }
  .pb-goal { font-size: 1.1rem; color: var(--text); margin: 0 0 16px; max-width: 46rem; }
  .pb-body ol { margin: 0 0 16px; padding-left: 22px; max-width: 46rem; }
  .pb-body li { margin-bottom: 9px; line-height: 1.5; }
  .pb-note { color: var(--muted); max-width: 46rem; margin: 0 0 14px; }
  .pb-done, .pb-watch { max-width: 46rem; margin: 0 0 10px; padding: 12px 16px; border-radius: 0 8px 8px 0; line-height: 1.5; }
  .pb-done { background: var(--blue-soft); border-left: 4px solid var(--blue); }
  .pb-watch { background: #FDEBEC; border-left: 4px solid var(--red); }
  .pb-fig { margin: 0 0 22px; }
  .pb-tiles { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
  .pb-tile { background: var(--white); border: 1px solid var(--rule); border-top: 4px solid var(--blue); border-radius: 10px; padding: 18px 16px; }
  .pb-tile h3 { font-size: 1.05rem; margin: 10px 0 6px; }
  .pb-tile .q { font-weight: 600; margin: 0 0 6px; color: var(--text); }
  .pb-tile .w { margin: 0; color: var(--muted); font-size: 0.92rem; }
  .pb-fail { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
  .pb-fail li { background: var(--paper); border: 1px solid var(--rule); border-left: 4px solid var(--red); padding: 14px 16px; line-height: 1.45; color: var(--muted); }
  .pb-fail li b { display: block; color: var(--text); margin-bottom: 3px; }
  .pb-ws { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 28px; align-items: start; }
  .pb-ws fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
  .pb-ws legend { padding: 0 0 10px; margin-bottom: 4px; width: 100%; font-family: var(--font-head, var(--font)); font-weight: 800; color: var(--navy, var(--blue-deep)); border-bottom: 2px solid var(--navy, var(--blue-deep)); }
  .pb-ws label { display: block; font-size: 0.93rem; font-weight: 600; margin-top: 12px; }
  .pb-ws input[type="number"] { display: block; width: 100%; margin-top: 4px; padding: 10px 12px; font: inherit; color: var(--navy, var(--blue-deep)); border: 1px solid #8EA2B5; border-radius: 6px; background: #fff; }
  .pb-out { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 3px solid var(--navy, var(--blue-deep)); background: var(--white); }
  .pb-out > div { padding: 14px 16px; border-right: 1px solid var(--rule); }
  .pb-out > div:last-child { border-right: 0; }
  .pb-out .k { display: block; font-size: 0.8rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted); }
  .pb-out .v { display: block; margin-top: 4px; font-family: var(--font-head, var(--font)); font-weight: 800; font-size: 1.5rem; color: var(--navy, var(--blue-deep)); }
  .pb-rule { grid-column: 1 / -1; margin: 0; color: var(--muted); max-width: 52rem; }
  .pb-check { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 24px; }
  .pb-check label { display: flex; align-items: flex-start; gap: 12px; padding: 12px 14px; background: var(--paper); border: 1px solid var(--rule); border-radius: 8px; cursor: pointer; font-weight: 600; line-height: 1.4; }
  .pb-check input { flex: none; width: 20px; height: 20px; margin-top: 1px; accent-color: var(--blue); }
  .pb-check input:checked + span { color: var(--muted); text-decoration: line-through; }
  .pb-check input:focus-visible { outline: 3px solid var(--red); outline-offset: 2px; }
  .pb-res { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 40px; }
  .pb-res h3 { font-size: 1.1rem; padding-bottom: 8px; border-bottom: 2px solid var(--navy, var(--blue-deep)); margin-bottom: 4px; }
  .pb-res ul { list-style: none; margin: 0; padding: 0; }
  .pb-res li { padding: 12px 0; border-bottom: 1px solid var(--rule); }
  .pb-res li a { color: var(--blue); font-weight: 700; }
  .pb-res li span { display: block; color: var(--muted); font-size: 0.93rem; margin-top: 3px; }
  .pb-law { color: var(--muted); font-size: 0.93rem; margin: 10px 0 0; }
  @media (max-width: 1000px) { .pb-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pb-fail { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pb-ws { grid-template-columns: 1fr; } .pb-out { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pb-out > div:nth-child(2) { border-right: 0; } .pb-out > div:nth-child(n+3) { border-top: 1px solid var(--rule); } }
  @media (max-width: 680px) { .pb-day { grid-template-columns: minmax(0, 1fr); gap: 12px; } .pb-num { width: 44px; height: 44px; font-size: 1.2rem; } .pb-tiles, .pb-fail, .pb-check, .pb-res { grid-template-columns: 1fr; } .pb-out { grid-template-columns: 1fr; } .pb-out > div { border-right: 0; border-top: 1px solid var(--rule); } .pb-out > div:first-child { border-top: 0; } }
  .chart.pb-w { min-width: 720px; }

  /* Guide bank */
  .gb-tools { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 16px; margin-top: 32px; }
  .gb-field { display: flex; flex-direction: column; gap: 6px; font-size: 0.85rem; font-weight: 700; color: var(--muted); }
  .gb-field input, .gb-field select { font: inherit; font-weight: 500; color: var(--text); padding: 12px 14px; background: var(--white); border: 1px solid var(--rule); border-radius: 6px; min-height: 48px; }
  .gb-field input:focus-visible, .gb-field select:focus-visible { outline: 3px solid var(--red); outline-offset: 2px; }
  .gb-count { margin-top: 24px; color: var(--muted); font-weight: 600; }
  .gb-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin-top: 16px; }
  .gb-card { display: flex; flex-direction: column; gap: 10px; padding: 24px; background: var(--white); border: 1px solid var(--rule); border-top: 3px solid var(--blue); border-radius: 8px; }
  .gb-card h3 { font-size: 1.2rem; }
  .gb-card p { color: var(--muted); line-height: 1.5; }
  .gb-tags { display: flex; flex-wrap: wrap; gap: 6px; }
  .gb-tag { font-size: 0.75rem; font-weight: 700; padding: 3px 9px; border-radius: 99px; background: var(--blue-soft); color: var(--blue-deep); }
  .gb-tag.gb-email { background: #FBE6E8; color: var(--red); }
  .gb-foot { margin-top: auto; padding-top: 10px; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
  .gb-pages, .gb-soon { color: var(--muted); font-size: 0.9rem; font-weight: 600; }
  .gb-none { grid-column: 1 / -1; color: var(--muted); }
  @media (max-width: 900px) { .gb-tools { grid-template-columns: 1fr 1fr; } .gb-search { grid-column: 1 / -1; } .gb-list { grid-template-columns: 1fr; } }
  .btn.red { background: var(--red); border-color: var(--red); color: var(--white); }
  .btn.red:hover { background: #A21A26; border-color: #A21A26; }
  .btn.red:focus-visible { outline-color: var(--blue); }
  @media (max-width: 640px) { .brand { flex: 1 0 100%; } .bar > .btn { padding: 9px 14px; font-size: 0.85rem; } }
  .phase + .phase { margin-top: 36px; }
  .doors { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .door { display: flex; flex-direction: column; gap: 12px; padding: 28px; background: var(--white); border: 1px solid var(--rule); border-top: 3px solid var(--blue); border-radius: 8px; }
  .door:nth-child(2) { border-top-color: var(--blue-deep); }
  .door-guides { border-top-color: var(--red); background: var(--blue-soft); }
  .door h3 { font-size: 1.35rem; }
  .door p { color: var(--muted); }
  .door-list { list-style: none; margin: 8px 0 0; padding: 0; }
  .door-list li { border-top: 1px solid var(--rule); }
  .door-list a { display: block; padding: 11px 0; font-weight: 700; color: var(--blue); text-decoration: none; }
  .door-list a:hover { color: var(--red); }
  .door-actions { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; margin-top: auto; padding-top: 12px; }
  .door-actions a:not(.btn) { color: var(--blue); font-weight: 700; }
  @media (max-width: 900px) { .doors { grid-template-columns: 1fr; } }
  .next .actions .btn.ghost { border-color: transparent; text-decoration: underline; padding-left: 8px; padding-right: 8px; }
  .who { display: flex; align-items: center; gap: 32px; }
  .who .portrait { margin-bottom: 0; flex: none; }
  .who p { margin-top: 8px; max-width: 34em; }
  @media (max-width: 640px) { .who { flex-direction: column; align-items: flex-start; gap: 16px; } }
  .ob-dl { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }
  .ob-dl .btn.ghost { border-color: transparent; text-decoration: underline; padding-left: 8px; padding-right: 8px; }
  .next .actions { align-items: center; }
  .two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: start; }
  .two-col .ob-block { margin-top: 0; }
  .hero-f + .section:not(.alt) { padding-top: 16px; }
  .door-actions { margin-top: 8px; }
  @media (max-width: 800px) { .two-col { grid-template-columns: 1fr; gap: 32px; } }
  .st-h, .ob-h { margin-bottom: 20px; }
  .st-note { max-width: none; }
  .next p { flex: 1 1 260px; }
  @media (min-width: 901px) { .next .actions { flex: none; } }
  .ob-cta p { flex: 1 1 260px; }
  .btn.book { display: inline-flex; align-items: center; gap: 10px; padding: 15px 26px; font-size: 1.05rem; box-shadow: 0 2px 0 var(--blue-deep); }
  .btn.book .ic { width: 20px; height: 20px; color: currentColor; }
  .btn.book:hover { transform: translateY(-1px); }
  .next .btn.book { padding: 13px 22px; font-size: 1rem; }

  /* Mobile pass */
  @media (max-width: 640px) {
    .bar { padding-top: 10px; row-gap: 0; flex-wrap: wrap; }
    .brand { flex: 1 1 auto; }
    .bar > .btn:not(.red) { display: none; }
    .bar > .btn.red { order: 2; padding: 8px 14px; font-size: 0.85rem; }
    .brand { min-height: 44px; }
    nav.primary { gap: 20px; }
    nav.primary a { padding: 12px 0; }
    .subnav a { padding: 15px 0; }
    footer.site a { display: inline-block; padding: 11px 0; }
    footer.site .foot-grid { gap: 20px; }
    h1 { font-size: clamp(2rem, 8.4vw, 2.5rem); }
    .hero h1 { margin-bottom: 20px; }
    .gb-tools { grid-template-columns: 1fr 1fr; }
    .gb-tools > :last-child { grid-column: 1 / -1; }
    .gb-tools select { max-width: 100%; }
    .stats { grid-template-columns: 1fr 1fr; gap: 20px 16px; }
    :is(figure, div):has(> svg[viewBox^="0 0 960"], > svg[viewBox^="0 0 940"], > svg[viewBox^="0 0 880"], > svg[viewBox^="0 0 1000"]) { overflow-x: auto; -webkit-overflow-scrolling: touch; }
    svg[viewBox^="0 0 960"], svg[viewBox^="0 0 940"], svg[viewBox^="0 0 880"], svg[viewBox^="0 0 1000"] { min-width: 760px; }
    .diagram { display: none; }
    .pb-tablewrap { overflow: visible; }
    .pb-table { min-width: 0; border: 0; background: transparent; }
    .pb-table thead { display: none; }
    .pb-table, .pb-table tbody, .pb-table tr, .pb-table th, .pb-table td, .pb-table caption { display: block; width: 100% !important; }
    .pb-table tr { background: var(--white); border: 1px solid var(--rule); border-radius: 8px; margin-bottom: 10px; padding: 12px 16px; }
    .pb-table th, .pb-table td { border: 0; padding: 2px 0; }
    .pb-table tbody th { color: var(--blue-deep); font-weight: 700; }
    .pb-table td:nth-of-type(1)::before { content: "It answers: "; font-weight: 600; color: var(--muted); }
    .pb-table td:nth-of-type(2)::before { content: "Find it: "; font-weight: 600; color: var(--muted); }
  }
