﻿:root {
      --bg: #ffffff;
      --fg: #000000;
      --muted: #8c8c8c;
      --border: #dbdbdb;
      --ink-soft: color-mix(in oklch, #000000 7%, transparent);
      --radius: 28px;
      --font-display: Montserrat, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      --font-secondary: "Roboto Slab", Georgia, serif;
      --font-body: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      --font-mono: "Roboto Mono", ui-monospace, Menlo, monospace;
      --fs-hero: clamp(48px, 5.6vw, 92px);
      --fs-h2: clamp(32px, 3.8vw, 58px);
      --fs-lead: clamp(18px, 1.45vw, 24px);
      --fs-body: 16px;
      --fs-meta: 12px;
      --container: 1240px;
      --gutter: clamp(20px, 4vw, 56px);
      --section: clamp(72px, 10vw, 152px);
      --line: 1px;
    }

    *, *::before, *::after { box-sizing: border-box; }
    html { -webkit-text-size-adjust: 100%; }
    body {
      margin: 0;
      background: var(--bg);
      color: var(--fg);
      font-family: var(--font-body);
      font-size: var(--fs-body);
      line-height: 1.55;
      text-rendering: optimizeLegibility;
      -webkit-font-smoothing: antialiased;
    }
    img { display: block; max-width: 100%; }
    a { color: inherit; text-decoration: none; }
    button { font: inherit; }
    h1, h2, p { margin: 0; }
    h1, h2 { font-family: var(--font-display); text-wrap: balance; letter-spacing: 0; }
    p { text-wrap: pretty; }

    .container {
      width: min(100%, var(--container));
      margin-inline: auto;
      padding-inline: var(--gutter);
    }
    .section { padding-block: var(--section); }
    .section-tight { padding-block: clamp(56px, 8vw, 112px); }
    .section-black {
      background: var(--fg);
      color: var(--bg);
    }
    .section-black .eyebrow,
    .section-black .meta,
    .section-black .muted,
    .section-black .lead { color: var(--muted); }

    #who-this-book-is-for {
      padding-bottom: 0;
    }
    #who-this-book-is-for .split {
      align-items: end;
    }
    #who-this-book-is-for .copy-stack {
      align-self: flex-start;
    }
    #who-this-book-is-for .image-panel {
      min-height: clamp(480px, 44vw, 640px);
      border-radius: var(--radius) var(--radius) 0 0;
    }
    #who-this-book-is-for .image-panel img {
      object-position: center bottom;
    }

    .why-book-section {
      position: relative;
      overflow: clip;
    }
    .why-book-section .statement-block,
    .chapter-opener .statement-block {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: minmax(170px, .38fr) minmax(0, 1fr);
      gap: clamp(32px, 8vw, 124px);
      max-width: none;
      text-align: left;
    }
    .why-book-section .statement-copy,
    .chapter-opener .chapter-copy {
      min-width: 0;
    }
    .why-book-section .statement-copy .lead {
      max-width: 30ch;
      color: var(--bg);
      font-family: var(--font-display);
      font-size: clamp(26px, 3vw, 44px);
      font-weight: 900;
      font-style: italic;
      line-height: 1.04;
      letter-spacing: -.025em;
    }
    .why-book-section .statement-copy .muted-copy {
      max-width: 58ch;
      margin-top: clamp(28px, 4vw, 48px);
      padding-left: clamp(18px, 2.6vw, 32px);
      border-left: 3px solid color-mix(in oklch, var(--bg) 42%, transparent);
      color: color-mix(in oklch, var(--bg) 72%, transparent);
    }
    .chapter-opener {
      position: relative;
      overflow: clip;
      background: color-mix(in oklch, var(--fg) 4%, var(--bg));
    }
    .chapter-opener .statement-block::before {
      content: "CONSISTENCY\A SACRIFICE\A DISCIPLINE";
      position: absolute;
      right: -.04em;
      bottom: -.12em;
      z-index: -1;
      color: color-mix(in oklch, var(--fg) 4%, transparent);
      font-family: var(--font-display);
      font-size: clamp(56px, 9vw, 132px);
      font-weight: 900;
      letter-spacing: -.08em;
      line-height: .78;
      text-align: right;
      white-space: pre;
      pointer-events: none;
    }
    .chapter-opener .chapter-intro {
      max-width: 56ch;
      color: var(--fg);
      font-weight: 700;
    }
    .chapter-opener .chapter-rhythm {
      max-width: 22ch;
      margin-top: clamp(30px, 4vw, 54px);
      color: var(--fg);
      font-family: var(--font-display);
      font-size: clamp(28px, 3.6vw, 52px);
      font-weight: 900;
      font-style: italic;
      line-height: .94;
      letter-spacing: -.035em;
    }
    .chapter-opener .chapter-rhythm span { display: block; }
    .chapter-opener .chapter-copy .muted-copy {
      max-width: 58ch;
      margin-top: clamp(30px, 4vw, 50px);
    }
    .eyebrow {
      font-family: var(--font-mono);
      font-size: var(--fs-meta);
      letter-spacing: .08em;
      text-transform: uppercase;
      color: var(--muted);
      margin-bottom: 18px;
    }
    .lead {
      color: var(--muted);
      font-size: var(--fs-lead);
      line-height: 1.45;
      max-width: 64ch;
    }
    .muted { color: var(--muted); }

    .btn {
      position: relative;
      isolation: isolate;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 46px;
      padding: 12px 22px;
      overflow: hidden;
      border: var(--line) solid var(--fg);
      border-radius: 999px;
      background: var(--fg);
      color: var(--bg);
      font-weight: 700;
      font-size: 13px;
      letter-spacing: .02em;
      text-transform: uppercase;
      cursor: pointer;
      transition: color .18s ease, border-color .18s ease;
    }
    .btn::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -1;
      background: var(--bg);
      transform: translateX(-102%);
      transition: transform .22s ease;
    }
    .btn:hover::before,
    .btn:focus-visible::before { transform: translateX(0); }
    .btn:hover,
    .btn:focus-visible {
      color: var(--fg);
      outline: 0;
    }
    .btn-light {
      border-color: var(--bg);
      background: var(--bg);
      color: var(--fg);
    }
    .btn-light::before { background: var(--fg); }
    .btn-light:hover,
    .btn-light:focus-visible { color: var(--bg); }
    .btn-secondary {
      background: transparent;
      color: var(--fg);
    }
    .btn-secondary::before { background: var(--fg); }
    .btn-secondary:hover,
    .btn-secondary:focus-visible { color: var(--bg); }

    .topnav {
      position: sticky;
      top: 0;
      z-index: 30;
      border-bottom: var(--line) solid var(--border);
      background: color-mix(in oklch, var(--bg) 92%, transparent);
      backdrop-filter: blur(14px);
    }
    section[id] { scroll-margin-top: 92px; }
    .topnav-inner {
      display: grid;
      grid-template-columns: 1fr auto 1fr;
      align-items: center;
      gap: 24px;
      min-height: 76px;
    }
    .wordmark {
      font-family: var(--font-display);
      font-weight: 900;
      text-transform: uppercase;
      letter-spacing: .02em;
      line-height: .94;
    }
    .topnav nav {
      display: flex;
      gap: 24px;
      justify-content: center;
    }
    .topnav nav a {
      color: var(--muted);
      font-size: 13px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .04em;
    }
    .topnav nav a:hover { color: var(--fg); }
    .topnav .nav-cta { justify-self: end; }

    .footer {
      border-top: var(--line) solid var(--border);
      padding-block: 44px;
      color: var(--muted);
    }
    .footer-grid {
      display: grid;
      grid-template-columns: 1.3fr repeat(3, 1fr);
      gap: 32px;
    }
    .footer h3 {
      margin-bottom: 12px;
      color: var(--fg);
      font-size: 13px;
      text-transform: uppercase;
    }
    .footer p { font-size: 14px; }

    .book-hero {
      position: relative;
      overflow: hidden;
      background: var(--fg);
      color: var(--bg);
    }
    .book-hero-inner {
      position: relative;
      z-index: 1;
      padding-block: clamp(96px, 14vw, 160px);
    }
    .book-hero h1 {
      font-size: clamp(24px, 6vw, 92px);
      line-height: .92;
      font-weight: 900;
      text-transform: uppercase;
      font-style: italic;
      margin: 0 0 clamp(32px, 5vw, 56px);
    }
    .book-hero .hero-subtitle {
      font-family: var(--font-display);
      font-size: clamp(18px, 1.6vw, 26px);
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .02em;
      color: var(--muted);
    }
    .book-hero .hero-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 8px;
    }
    .book-hero .copy-stack .lead { color: var(--bg); }
    .book-hero .btn-secondary {
      border-color: var(--bg);
      color: var(--bg);
    }
    .book-hero .btn-secondary::before { background: var(--bg); }
    .book-hero .btn-secondary:hover,
    .book-hero .btn-secondary:focus-visible { color: var(--fg); }

    .statement-block {
      max-width: 760px;
      margin-inline: auto;
      text-align: center;
    }
    .statement-block .lead {
      margin-inline: auto;
      color: var(--fg);
      font-weight: 700;
    }
    .statement-block .muted-copy {
      margin-top: 18px;
      color: var(--muted);
      font-size: var(--fs-body);
    }

    .section-head { margin-bottom: 48px; max-width: 640px; }
    .section-head.center { margin-inline: auto; text-align: center; }
    .section-head h2 {
      font-size: var(--fs-h2);
      line-height: .95;
      font-weight: 900;
      text-transform: uppercase;
    }

    .faq-grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 1px;
      background: var(--border);
      border: var(--line) solid var(--border);
    }
    .faq-item {
      background: var(--bg);
      border: 0;
      padding: 0;
      text-align: left;
    }
    .faq-question {
      position: relative;
      isolation: isolate;
      overflow: hidden;
      width: 100%;
      display: flex;
      justify-content: space-between;
      gap: 24px;
      align-items: center;
      min-height: 70px;
      padding: 20px 24px;
      border: 0;
      background: var(--bg);
      color: var(--fg);
      cursor: pointer;
      font-weight: 700;
      text-align: left;
      transition: color .2s ease;
    }
    .faq-question::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -1;
      background: var(--fg);
      transform: scaleX(0);
      transform-origin: left center;
      transition: transform .42s cubic-bezier(.2, .8, .2, 1);
    }
    .faq-question:hover::before,
    .faq-question:focus-visible::before,
    .faq-item[data-open="true"] .faq-question::before { transform: scaleX(1); }
    .faq-question:hover,
    .faq-question:focus-visible,
    .faq-item[data-open="true"] .faq-question { color: var(--bg); }
    .faq-question:focus-visible {
      outline: 3px solid currentColor;
      outline-offset: -3px;
    }
    .faq-question span:first-child { max-width: 70ch; }
    .faq-answer {
      display: grid;
      grid-template-rows: 0fr;
      transition: grid-template-rows .35s cubic-bezier(.2, .8, .2, 1);
      color: var(--muted);
      max-width: 86ch;
    }
    .faq-answer-inner { overflow: hidden; min-height: 0; }
    .faq-answer-copy { padding: 24px 24px 24px; }
    .faq-item[data-open="true"] .faq-answer { grid-template-rows: 1fr; }
    .faq-icon {
      flex: 0 0 auto;
      font-family: var(--font-mono);
      color: var(--muted);
      transition: color .2s ease;
    }
    .faq-question:hover .faq-icon,
    .faq-question:focus-visible .faq-icon,
    .faq-item[data-open="true"] .faq-question .faq-icon { color: var(--bg); }

    .industry-grid {
      display: grid;
      gap: 1px;
      background: var(--border);
      border: var(--line) solid var(--border);
      grid-template-columns: repeat(4, minmax(0, 1fr));
      counter-reset: learn-item;
    }
    .industry {
      position: relative;
      isolation: isolate;
      overflow: hidden;
      padding: clamp(22px, 3vw, 36px);
      background: var(--bg);
      display: grid;
      align-content: end;
      transition: color .2s ease;
      cursor: default;
    }
    .industry::before {
      content: "";
      position: absolute;
      inset: -1px;
      z-index: 0;
      background: var(--fg);
      transform: scaleX(0);
      transform-origin: left center;
      transition: transform .42s cubic-bezier(.2, .8, .2, 1);
      pointer-events: none;
    }
    .industry > span {
      position: relative;
      z-index: 1;
      transition: color .2s ease;
    }
    .industry {
      min-height: 104px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: .02em;
      counter-increment: learn-item;
    }
    .industry::after {
      content: counter(learn-item, decimal-leading-zero);
      position: absolute;
      top: clamp(22px, 3vw, 36px);
      right: clamp(22px, 3vw, 36px);
      z-index: 1;
      color: var(--muted);
      font-family: var(--font-mono);
      font-size: var(--fs-meta);
      letter-spacing: .08em;
      transition: color .2s ease;
    }
    .industry:hover,
    .industry:focus-visible { color: var(--bg); }
    .industry:hover::after,
    .industry:focus-visible::after { color: var(--bg); }
    .industry:hover::before,
    .industry:focus-visible::before {
      transform: scaleX(1);
    }
    .industry:focus-visible {
      outline: 3px solid var(--fg);
      outline-offset: 4px;
    }

    .cta {
      text-align: center;
      padding-block: clamp(84px, 13vw, 172px);
    }
    .cta h2 {
      max-width: 18ch;
      margin-inline: auto;
      font-size: var(--fs-h2);
      line-height: .95;
      font-weight: 900;
      text-transform: uppercase;
    }
    .cta .lead { margin: 20px auto 0; }
    .cta .muted { margin: 18px auto 0; max-width: 64ch; }
    .cta-actions {
      display: flex;
      justify-content: center;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 34px;
    }
    .cta .btn-secondary {
      border-color: var(--bg);
      color: var(--bg);
    }
    .cta .btn-secondary::before { background: var(--bg); }
    .cta .btn-secondary:hover,
    .cta .btn-secondary:focus-visible { color: var(--fg); }

    .quote-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 24px;
    }
    .quote-card {
      border: var(--line) solid var(--border);
      border-radius: var(--radius);
      padding: clamp(24px, 3vw, 32px);
      display: grid;
      gap: 18px;
      align-content: start;
    }
    .quote-card p { font-size: 17px; line-height: 1.5; font-style: italic; }
    .quote-card cite { font-style: normal; font-size: 13px; color: var(--muted); font-weight: 700; text-transform: uppercase; letter-spacing: .03em; }

    .split {
      display: grid;
      grid-template-columns: minmax(300px, .9fr) minmax(0, 1.1fr);
      gap: clamp(40px, 7vw, 92px);
      align-items: center;
    }
    .image-panel {
      position: relative;
      border-radius: var(--radius);
      overflow: hidden;
      background: var(--ink-soft);
      min-height: 480px;
    }
    .image-panel img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
    .image-panel.contain { background: var(--fg); }
    .image-panel.contain img { object-fit: contain; padding: 28px; }
    .copy-stack { display: grid; gap: 18px; }
    .copy-stack .lead { color: var(--fg); font-weight: 700; }
    .copy-stack .muted-copy { color: var(--muted); font-size: var(--fs-body); }
    .copy-stack ul { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
    .copy-stack li { padding-left: 20px; position: relative; }
    .copy-stack li::before { content: "â€”"; position: absolute; left: 0; color: var(--muted); }
    .section-black .copy-stack .lead { color: var(--bg); }
    .split.reverse .image-panel { order: 2; }
    .split.reverse .copy-stack { order: 1; }

    .reveal { opacity: 0; transform: translateY(26px); transition: opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1); }
    .reveal.is-visible { opacity: 1; transform: translateY(0); }
    @media (prefers-reduced-motion: reduce) {
      .reveal { opacity: 1; transform: none; transition: none; }
    }

    @media (max-width: 1080px) {
      .footer-grid { grid-template-columns: 1fr; }
      .industry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .split { grid-template-columns: 1fr; }
      .image-panel { min-height: 360px; }
      #who-this-book-is-for .image-panel {
        min-height: clamp(320px, 82vw, 480px);
      }
      #who-this-book-is-for .image-panel img {
        object-fit: contain;
        object-position: center bottom;
      }
      .quote-grid { grid-template-columns: 1fr; }
      .why-book-section .statement-block,
      .chapter-opener .statement-block {
        grid-template-columns: 1fr;
        gap: 36px;
      }
      .why-book-section .statement-copy .lead { max-width: 34ch; }
      .chapter-opener .chapter-rhythm { max-width: 24ch; }
    }

    @media (max-width: 700px) {
      .topnav-inner {
        grid-template-columns: 1fr auto;
        min-height: 68px;
      }
      .topnav nav { display: none; }
      .topnav .nav-cta { display: none; }
      .industry-grid { grid-template-columns: 1fr; }
      .why-book-section .statement-copy .lead { font-size: clamp(28px, 8vw, 40px); }
      .chapter-opener .chapter-rhythm {
        max-width: 22ch;
        font-size: clamp(30px, 8vw, 44px);
      }
      .chapter-opener .statement-block::before {
        right: -.14em;
        bottom: -.04em;
        font-size: clamp(52px, 14vw, 92px);
      }
    }
