
  :root {
    color-scheme: light;
    --ivory: #f1ede1;
    --ivory-deep: #e7e0d0;
    --paper: #fbf8ef;
    --paper-bright: #fffdf7;
    --ink: #171714;
    --ink-soft: #4b4941;
    --hairline: #a9a291;
    --hairline-soft: rgba(56, 53, 45, 0.18);
    --oxblood: #761d22;
    --forest: #253f34;
    --gold: #907443;
    --shadow: 0 24px 70px rgba(31, 29, 23, 0.14);
    --serif: Baskerville, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
    --sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
    --mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  }

  * { box-sizing: border-box; }
  html { scroll-behavior: smooth; }

  html > body {
    margin: 0;
    padding: 0;
    color: var(--ink);
    background: var(--ivory) !important;
    font-family: var(--sans);
    line-height: 1.6;
  }

  body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    opacity: 0.34;
    background-image:
      radial-gradient(circle at 17% 18%, rgba(255,255,255,.75) 0 1px, transparent 1.3px),
      radial-gradient(circle at 72% 63%, rgba(48,43,31,.16) 0 .7px, transparent 1px);
    background-size: 11px 13px, 17px 19px;
  }

  button, input { font: inherit; }
  button { color: inherit; }
  a { color: inherit; }
  img { max-width: 100%; display: block; }

  .case-site {
    min-width: 0;
    overflow: clip;
    background:
      linear-gradient(90deg, transparent calc(50% - 620px), rgba(23,23,20,.08) calc(50% - 620px), rgba(23,23,20,.08) calc(50% - 619px), transparent calc(50% - 619px)),
      linear-gradient(90deg, transparent calc(50% + 619px), rgba(23,23,20,.08) calc(50% + 619px), rgba(23,23,20,.08) calc(50% + 620px), transparent calc(50% + 620px));
  }

  .site-progress {
    position: fixed;
    inset: 0 0 auto;
    z-index: 50;
    height: 3px;
    background: transparent;
  }

  .site-progress span {
    display: block;
    width: 0;
    height: 100%;
    background: var(--oxblood);
    transition: width .12s linear;
  }

  .topbar {
    position: sticky;
    top: 0;
    z-index: 40;
    border-bottom: 1px solid rgba(23,23,20,.24);
    background: rgba(241,237,225,.94);
    backdrop-filter: blur(12px);
  }

  .topbar-inner {
    width: min(100% - 40px, 1180px);
    min-height: 66px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
  }

  .monogram {
    display: inline-flex;
    align-items: center;
    gap: 13px;
    text-decoration: none;
  }

  .monogram-mark {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 1px solid var(--ink);
    font: 600 13px/1 var(--serif);
    letter-spacing: .08em;
  }

  .monogram-copy strong,
  .monogram-copy span { display: block; }
  .monogram-copy strong { font: 600 12px/1.2 var(--serif); letter-spacing: .1em; text-transform: uppercase; }
  .monogram-copy span { margin-top: 2px; color: var(--ink-soft); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }

  .nav-toggle {
    display: none;
    border: 1px solid var(--ink);
    background: transparent;
    padding: 8px 11px;
    cursor: pointer;
    letter-spacing: .09em;
    text-transform: uppercase;
    font-size: 10px;
  }

  .site-nav { display: flex; align-items: center; gap: 24px; }
  .site-nav a {
    position: relative;
    padding: 22px 0 18px;
    color: var(--ink-soft);
    text-decoration: none;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .13em;
    text-transform: uppercase;
  }

  .site-nav a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 100%;
    bottom: 15px;
    height: 1px;
    background: var(--ink);
    transition: right .2s ease;
  }

  .site-nav a:hover::after,
  .site-nav a:focus-visible::after { right: 0; }

  .hero {
    min-height: 760px;
    padding: 86px 20px 104px;
    display: grid;
    place-items: center;
    background:
      radial-gradient(circle at 50% 46%, rgba(255,255,255,.38), transparent 42%),
      linear-gradient(180deg, #d8d0bf 0, var(--ivory) 72%);
  }

  .business-card {
    position: relative;
    width: min(100%, 930px);
    min-height: 510px;
    padding: clamp(40px, 7vw, 78px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background:
      linear-gradient(115deg, rgba(255,255,255,.7), transparent 24%, rgba(195,184,158,.12) 56%, transparent 76%),
      var(--paper);
    border: 1px solid #c7bfad;
    box-shadow: var(--shadow), inset 0 0 0 9px rgba(255,255,255,.25);
  }

  .business-card::before,
  .business-card::after {
    content: "";
    position: absolute;
    pointer-events: none;
  }

  .business-card::before { inset: 20px; border: 1px solid rgba(23,23,20,.46); }
  .business-card::after {
    inset: 0;
    opacity: .18;
    background-image: repeating-linear-gradient(92deg, transparent 0 5px, rgba(55,50,40,.05) 6px, transparent 7px);
  }

  .card-top,
  .card-center,
  .card-bottom { position: relative; z-index: 1; }
  .card-top { display: flex; justify-content: space-between; gap: 20px; }

  .eyebrow,
  .folio,
  .section-kicker {
    margin: 0;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .2em;
    text-transform: uppercase;
  }

  .folio { color: var(--ink-soft); }
  .card-center { padding: 38px 0 30px; text-align: center; }
  .hero-name {
    margin: 0 0 16px;
    font: 500 clamp(2.2rem, 6vw, 4.7rem)/.96 var(--serif);
    letter-spacing: .015em;
    text-transform: uppercase;
  }

  .hero-title {
    margin: 0 auto;
    max-width: 720px;
    font: 400 clamp(1rem, 2vw, 1.32rem)/1.5 var(--serif);
    letter-spacing: .045em;
  }

  .card-rule { width: min(290px, 62%); height: 1px; margin: 30px auto; background: var(--ink); }
  .hero-case { margin: 0; font-size: clamp(.8rem, 1.5vw, .98rem); letter-spacing: .15em; text-transform: uppercase; }

  .card-bottom {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    padding-top: 22px;
    border-top: 1px solid rgba(23,23,20,.46);
  }

  .card-bottom span { display: block; }
  .meta-label { color: var(--ink-soft); font-size: 9px; letter-spacing: .15em; text-transform: uppercase; }
  .meta-value { margin-top: 5px; font: 500 14px/1.3 var(--serif); }

  .scroll-cue {
    margin: 28px 0 0;
    color: var(--ink-soft);
    text-align: center;
    font-size: 9px;
    letter-spacing: .18em;
    text-transform: uppercase;
  }

  .section {
    width: min(100% - 40px, 1120px);
    margin: 0 auto;
    padding: 108px 0;
    border-top: 1px solid var(--hairline-soft);
  }

  .section:first-of-type { border-top: 0; }
  .section-head {
    display: grid;
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 38px;
    margin-bottom: 54px;
  }

  .section-number { font: 400 2.65rem/1 var(--serif); color: var(--gold); }
  .section-kicker { margin-bottom: 14px; color: var(--oxblood); }
  .section-title { margin: 0; max-width: 820px; font: 500 clamp(2rem, 4vw, 3.8rem)/1.05 var(--serif); letter-spacing: -.025em; }
  .section-deck { max-width: 760px; margin: 20px 0 0; color: var(--ink-soft); font: 400 clamp(1.08rem, 2vw, 1.34rem)/1.55 var(--serif); }

  .split {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(290px, .85fr);
    gap: clamp(38px, 7vw, 88px);
    align-items: start;
  }
  .summary-layout { grid-template-columns: minmax(0, 1.18fr) minmax(235px, .72fr) 170px; gap: clamp(24px, 4vw, 48px); }
  .summary-portrait { width: 170px; padding: 10px; justify-self: end; transform: rotate(1deg); }
  .summary-portrait .portrait-window { aspect-ratio: 4 / 5; }

  .prose { max-width: 720px; }
  .prose p { margin: 0 0 1.15em; }
  .prose p:first-child::first-letter {
    float: left;
    margin: .08em .12em 0 0;
    font: 500 4.2rem/.75 var(--serif);
    color: var(--oxblood);
  }

  .fact-card,
  .chart-frame,
  .tool-shell,
  .portrait-card {
    background: rgba(251,248,239,.72);
    border: 1px solid var(--hairline);
    box-shadow: 0 14px 36px rgba(31,29,23,.07);
  }

  .fact-card { padding: 30px; }
  .fact-card h3 { margin: 0 0 22px; font: 500 1.3rem/1.2 var(--serif); }
  .fact-list { margin: 0; padding: 0; list-style: none; }
  .fact-list li {
    display: grid;
    grid-template-columns: 84px 1fr;
    gap: 16px;
    padding: 12px 0;
    border-top: 1px solid var(--hairline-soft);
  }
  .fact-list li:first-child { border-top: 0; }
  .fact-list strong { font: 500 .93rem/1.4 var(--serif); }
  .fact-list span { color: var(--ink-soft); font-size: .88rem; }

  .metrics {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 58px;
    border: 1px solid var(--ink);
  }

  .metric { min-height: 180px; padding: 28px; border-left: 1px solid var(--ink); background: rgba(255,255,255,.17); }
  .metric:first-child { border-left: 0; }
  .metric-value { display: block; font: 500 clamp(2rem, 4vw, 3.6rem)/1 var(--serif); }
  .metric-label { display: block; margin-top: 18px; color: var(--ink-soft); font-size: 10px; letter-spacing: .13em; text-transform: uppercase; }
  .metric-note { display: block; margin-top: 8px; color: var(--ink-soft); font-size: .78rem; }

  .analysis-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
    gap: 30px;
    align-items: stretch;
  }

  .chart-frame { padding: clamp(24px, 4vw, 40px); }
  .chart-header { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; margin-bottom: 26px; }
  .chart-header h3 { margin: 0; font: 500 1.35rem/1.2 var(--serif); }
  .chart-header span { color: var(--ink-soft); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }

  .bar-chart { display: grid; gap: 11px; }
  .bar-row {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(150px, 2fr) minmax(120px, 3fr) 28px;
    gap: 13px;
    align-items: center;
    padding: 5px 0;
    border: 0;
    background: transparent;
    text-align: left;
    cursor: pointer;
  }

  .bar-row:focus-visible { outline: 2px solid var(--oxblood); outline-offset: 4px; }
  .bar-label { font-size: .79rem; }
  .bar-track { height: 10px; background: rgba(23,23,20,.1); overflow: hidden; }
  .bar-fill { display: block; width: var(--bar-width); height: 100%; background: var(--ink); transition: background .18s ease, width .35s ease; }
  .bar-row:hover .bar-fill,
  .bar-row[aria-pressed="true"] .bar-fill { background: var(--oxblood); }
  .bar-count { text-align: right; font: 500 .9rem/1 var(--serif); }

  .analysis-note { padding: clamp(26px, 4vw, 38px); background: var(--ink); color: var(--paper); }
  .analysis-note .section-kicker { color: #d8c39b; }
  .analysis-value { display: block; margin: 18px 0 8px; font: 500 4.4rem/1 var(--serif); }
  .analysis-name { margin: 0; font: 500 1.3rem/1.25 var(--serif); }
  .analysis-copy { margin: 18px 0 0; color: #d8d2c4; font-size: .9rem; }
  .data-note { margin: 16px 0 0; color: var(--ink-soft); font-size: .76rem; }

  .root-cause-panel {
    margin-top: 48px;
    padding: clamp(30px, 6vw, 58px);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 52px;
    background: var(--ink);
    color: var(--paper);
  }

  .root-cause-panel h3 { margin: 0; font: 500 clamp(1.8rem, 3vw, 2.7rem)/1.1 var(--serif); }
  .root-cause-panel p { margin: 0; color: #d8d2c4; }
  .root-cause-panel strong { color: var(--paper-bright); }

  .decision-flow {
    margin: 56px 0 0;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    border: 1px solid var(--ink);
  }

  .flow-step { position: relative; min-height: 166px; padding: 25px; border-left: 1px solid var(--ink); }
  .flow-step:first-child { border-left: 0; }
  .flow-step:not(:last-child)::after {
    content: "→";
    position: absolute;
    right: -11px;
    top: 24px;
    z-index: 2;
    width: 22px;
    background: var(--ivory);
    text-align: center;
    font-family: var(--serif);
  }
  .flow-step span { display: block; color: var(--oxblood); font: 500 .85rem/1 var(--serif); }
  .flow-step strong { display: block; margin-top: 17px; font: 500 1rem/1.35 var(--serif); }
  .flow-step small { display: block; margin-top: 10px; color: var(--ink-soft); font-size: .74rem; }

  .tool-shell { margin-top: 56px; }
  .tool-topbar {
    padding: 18px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border-bottom: 1px solid var(--hairline);
  }

  .tool-topbar strong { font: 500 1.02rem/1.2 var(--serif); }
  .tool-topbar span { color: var(--ink-soft); font-size: .73rem; letter-spacing: .12em; text-transform: uppercase; }
  .tool-reset,
  .tool-answer,
  .copy-template {
    border: 1px solid var(--ink);
    background: transparent;
    cursor: pointer;
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
  }
  .tool-reset { padding: 8px 12px; }
  .tool-reset:hover,
  .tool-reset:focus-visible,
  .copy-template:hover,
  .copy-template:focus-visible { background: var(--ink); color: var(--paper); }

  .privacy-strip { padding: 12px 24px; border-bottom: 1px solid var(--hairline); color: var(--ink-soft); font-size: .75rem; }
  .privacy-strip strong { color: var(--forest); }
  .tool-body { padding: clamp(24px, 5vw, 50px); }

  .tool-question { position: relative; padding: 0 0 31px 58px; margin-bottom: 30px; border-bottom: 1px solid var(--hairline-soft); }
  .tool-question:last-child { margin-bottom: 0; }
  .tool-number {
    position: absolute;
    left: 0;
    top: -3px;
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border: 1px solid var(--ink);
    font: 500 .8rem/1 var(--serif);
  }
  .tool-question h3 { margin: 0 0 15px; font: 500 1.12rem/1.35 var(--serif); }
  .tool-answers { display: flex; flex-wrap: wrap; gap: 9px; }
  .tool-answer { min-width: 86px; padding: 10px 15px; }
  .tool-answer:hover,
  .tool-answer:focus-visible { background: var(--ivory-deep); }
  .tool-answer.selected { background: var(--ink); color: var(--paper); }

  .tool-outcome { display: none; margin-top: 15px; padding: 15px 17px; border-left: 3px solid var(--forest); background: rgba(37,63,52,.08); font-size: .9rem; }
  .tool-outcome.show { display: block; animation: rise .2s ease-out; }
  .tool-outcome.recommended { border-left-color: var(--oxblood); background: rgba(118,29,34,.08); }
  .tool-outcome .recommend-tag { display: block; margin-bottom: 5px; color: var(--oxblood); font-size: .67rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
  .tool-branch { display: none; margin-top: 20px; }
  .tool-branch.show { display: block; animation: rise .2s ease-out; }
  .branch-inner { padding: 24px; border: 1px solid var(--hairline); background: rgba(255,255,255,.24); }
  .process-list { margin: 0; padding-left: 20px; }
  .process-list li { margin: 6px 0; }

  .template-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 22px; }
  .template-field label { display: block; margin-bottom: 6px; font-size: .69rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
  .template-field input { width: 100%; padding: 11px 12px; border: 1px solid var(--hairline); background: var(--paper-bright); color: var(--ink); border-radius: 0; }
  .template-field input:focus { outline: 2px solid var(--oxblood); outline-offset: 1px; }
  .template-head { margin-top: 22px; display: flex; justify-content: space-between; align-items: center; gap: 16px; }
  .template-head span { color: var(--ink-soft); font-size: .69rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
  .copy-template { padding: 9px 13px; }
  .template-preview { margin: 12px 0 0; padding: 18px; overflow-x: auto; border: 1px solid var(--hairline); background: var(--paper-bright); white-space: pre-wrap; font: .78rem/1.65 var(--mono); }

  .results-layout { display: grid; grid-template-columns: 1fr; gap: 30px; }
  .result-chart { padding: clamp(26px, 5vw, 46px); border: 1px solid var(--ink); background: rgba(255,255,255,.16); }
  .result-chart h3 { margin: 0 0 6px; font: 500 1.35rem/1.2 var(--serif); }
  .result-chart > p { margin: 0; color: var(--ink-soft); font-size: .79rem; }
  .result-bars { height: 330px; margin-top: 36px; display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(10px, 3vw, 28px); align-items: end; border-bottom: 1px solid var(--ink); }
  .result-column { height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: stretch; }
  .result-value { margin-bottom: 8px; text-align: center; font: 500 1rem/1 var(--serif); }
  .result-bar { min-height: 10px; height: var(--result-height); background: var(--ink); }
  .result-column:last-child .result-bar { background: var(--oxblood); }
  .result-month { margin-top: 12px; text-align: center; font-size: .69rem; letter-spacing: .09em; text-transform: uppercase; }

  .timeline { position: relative; display: grid; gap: 0; }
  .timeline::before { content: ""; position: absolute; left: 113px; top: 13px; bottom: 13px; width: 1px; background: var(--hairline); }
  .timeline-item { position: relative; display: grid; grid-template-columns: 90px 1fr; gap: 48px; padding: 0 0 42px; }
  .timeline-item:last-child { padding-bottom: 0; }
  .timeline-date { color: var(--oxblood); font: 500 .85rem/1.3 var(--serif); text-align: right; }
  .timeline-copy::before { content: ""; position: absolute; left: 108px; top: 5px; width: 9px; height: 9px; border: 1px solid var(--ink); background: var(--ivory); transform: rotate(45deg); }
  .timeline-copy h3 { margin: 0 0 8px; font: 500 1.22rem/1.25 var(--serif); }
  .timeline-copy p { margin: 0; max-width: 740px; color: var(--ink-soft); font-size: .9rem; }

  .constraint-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 52px; border: 1px solid var(--ink); }
  .constraint { padding: 30px; border-left: 1px solid var(--ink); }
  .constraint:first-child { border-left: 0; }
  .constraint strong { display: block; font: 500 2.6rem/1 var(--serif); }
  .constraint span { display: block; margin-top: 12px; color: var(--ink-soft); font-size: .79rem; }

  .reflection-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
  .reflection-card { padding: clamp(30px, 5vw, 48px); border: 1px solid var(--hairline); background: rgba(255,255,255,.16); }
  .reflection-card h3 { margin: 0 0 18px; font: 500 1.6rem/1.15 var(--serif); }
  .reflection-card p { margin: 0; color: var(--ink-soft); }

  .portrait-layout { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr); gap: clamp(40px, 8vw, 90px); align-items: center; }
  .portrait-card { position: relative; padding: 14px; transform: rotate(-1deg); }
  .portrait-window { aspect-ratio: 4 / 5; overflow: hidden; background: #aaa; }
  .portrait-window img { width: 100%; height: 100%; object-fit: cover; object-position: 76% 74%; filter: grayscale(1) sepia(.16) contrast(1.08); }
  .portrait-caption { display: flex; justify-content: space-between; gap: 16px; padding: 13px 3px 0; color: var(--ink-soft); font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; }
  .about-copy h2 { margin: 0; font: 500 clamp(2.2rem, 5vw, 4.6rem)/.98 var(--serif); }
  .about-role { margin: 20px 0 26px; color: var(--oxblood); font-size: .78rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
  .about-copy p { max-width: 680px; color: var(--ink-soft); }
  .profile-actions { margin-top: 28px; }
  .resume-download {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    min-width: min(100%, 280px);
    padding: 13px 16px;
    border: 1px solid var(--ink);
    background: transparent;
    color: var(--ink);
    text-decoration: none;
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
  }
  .resume-download span { color: var(--ink-soft); font: 500 .74rem/1 var(--serif); }
  .resume-download:hover,
  .resume-download:focus-visible { background: var(--ink); color: var(--paper); text-decoration: none; }
  .resume-download:hover span,
  .resume-download:focus-visible span { color: var(--paper); }
  .skills { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 30px; }
  .skill { padding: 7px 10px; border: 1px solid var(--hairline); background: rgba(255,255,255,.2); font-size: .69rem; letter-spacing: .06em; text-transform: uppercase; }

  .closing {
    padding: 84px 20px;
    background: var(--ink);
    color: var(--paper);
    text-align: center;
  }
  .closing p { margin: 0; color: #d8d2c4; font-size: 10px; letter-spacing: .17em; text-transform: uppercase; }
  .closing strong { display: block; max-width: 900px; margin: 20px auto 0; font: 400 clamp(2rem, 5vw, 4.4rem)/1.05 var(--serif); }
  .closing .footer-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-top: 28px; }
  .closing .button { display: inline-flex; align-items: center; min-height: 42px; padding: 10px 15px; border: 1px solid #d8d2c4; color: #f1ede1; background: transparent; font: 700 .72rem/1 var(--sans); letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
  .closing .button:hover, .closing .button:focus-visible { color: var(--ink); background: #f1ede1; }
  .footer-meta { width: min(100% - 40px, 1120px); margin: 52px auto 0; padding-top: 22px; display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(251,248,239,.35); color: #aaa395; font-size: .68rem; }

  .reveal { opacity: 0; transform: translateY(22px); transition: opacity .65s ease, transform .65s ease; }
  .reveal.is-visible { opacity: 1; transform: none; }
  @keyframes rise { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }

  @media (max-width: 880px) {
    .site-nav {
      position: absolute;
      top: 66px;
      left: 0;
      right: 0;
      display: none;
      padding: 14px 20px 22px;
      flex-direction: column;
      align-items: flex-start;
      gap: 0;
      border-bottom: 1px solid var(--ink);
      background: var(--ivory);
    }
    .site-nav.open { display: flex; }
    .site-nav a { width: 100%; padding: 12px 0; }
    .site-nav a::after { bottom: 8px; }
    .nav-toggle { display: block; }
    .section-head { grid-template-columns: 76px 1fr; gap: 20px; }
    .split, .analysis-grid, .results-layout, .portrait-layout { grid-template-columns: 1fr; }
    .summary-portrait { width: 124px; justify-self: start; margin-top: 8px; }
    .metrics { grid-template-columns: repeat(2, 1fr); }
    .metric:nth-child(3) { border-left: 0; border-top: 1px solid var(--ink); }
    .metric:nth-child(4) { border-top: 1px solid var(--ink); }
    .decision-flow { grid-template-columns: 1fr; }
    .flow-step { min-height: 0; border-left: 0; border-top: 1px solid var(--ink); }
    .flow-step:first-child { border-top: 0; }
    .flow-step:not(:last-child)::after { content: "↓"; top: auto; right: 20px; bottom: -11px; }
    .reflection-grid { grid-template-columns: 1fr; }
    .portrait-card { max-width: 520px; }
  }

  @media (max-width: 620px) {
    .topbar-inner, .section { width: min(100% - 28px, 1120px); }
    .monogram-copy span { display: none; }
    .hero { min-height: auto; padding: 56px 14px 70px; }
    .business-card { min-height: 480px; padding: 50px 34px; }
    .business-card::before { inset: 12px; }
    .card-top { flex-direction: column; gap: 4px; }
    .card-bottom { grid-template-columns: 1fr; gap: 12px; }
    .section { padding: 78px 0; }
    .section-head { grid-template-columns: 1fr; }
    .section-number { font-size: 1.3rem; }
    .metrics { grid-template-columns: 1fr; }
    .metric { min-height: 0; border-left: 0; border-top: 1px solid var(--ink); }
    .metric:first-child { border-top: 0; }
    .bar-row { grid-template-columns: minmax(115px, 1.6fr) minmax(80px, 2fr) 24px; gap: 9px; }
    .bar-label { font-size: .7rem; }
    .root-cause-panel { grid-template-columns: 1fr; gap: 24px; }
    .tool-topbar { align-items: flex-start; flex-direction: column; }
    .tool-question { padding-left: 0; padding-top: 50px; }
    .template-fields { grid-template-columns: 1fr; }
    .result-bars { height: 270px; gap: 10px; }
    .timeline::before { left: 8px; }
    .timeline-item { grid-template-columns: 1fr; gap: 8px; padding-left: 34px; }
    .timeline-date { text-align: left; }
    .timeline-copy::before { left: 3px; }
    .constraint-grid { grid-template-columns: 1fr; }
    .constraint { border-left: 0; border-top: 1px solid var(--ink); }
    .constraint:first-child { border-top: 0; }
    .footer-meta { flex-direction: column; }
  }

  @media print {
    .topbar, .site-progress, .scroll-cue, .tool-reset, .copy-template { display: none !important; }
    .hero { min-height: auto; padding: 30px 0; background: transparent; }
    .section { padding: 42px 0; break-inside: avoid; }
    .business-card, .fact-card, .chart-frame, .tool-shell, .portrait-card { box-shadow: none; }
    .reveal { opacity: 1 !important; transform: none !important; }
  }

  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
    .reveal { opacity: 1; transform: none; }
  }
