:root {
  --paper: #f4f1e9;
  --surface: #fffefa;
  --ink: #171712;
  --muted: #62645d;
  --line: #d8d4c8;
  --blue: #1f3a5f;
  --blue-2: #315e92;
  --blue-soft: #e7edf3;
  --green: #3d6c5b;
  --green-soft: #e6eee9;
  --amber: #9b671d;
  --amber-soft: #f5ead7;
  --red: #914942;
  --red-soft: #f4e5e2;
  --display: "Space Grotesk", Arial, sans-serif;
  --body: Inter, Arial, sans-serif;
  --mono: "IBM Plex Mono", monospace;
}

* { box-sizing: border-box; }

html, body { margin: 0; min-height: 100%; }

body {
  background: #dfddd6;
  color: var(--ink);
  font-family: var(--body);
  -webkit-font-smoothing: antialiased;
}

.page {
  width: 1440px;
  height: 900px;
  margin: 0;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(31,58,95,.035) 1px, transparent 1px),
    linear-gradient(rgba(31,58,95,.03) 1px, transparent 1px),
    var(--paper);
  background-size: 52px 52px;
  padding: 46px 54px 40px;
}

.topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--line);
}

.brand { display: flex; align-items: center; gap: 12px; }
.brand-mark {
  display: block;
  width: 34px;
  height: 34px;
  border-radius: 7px;
  background: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><rect width='32' height='32' rx='6' fill='%231f3a5f'/><text x='16' y='16' font-family='system-ui,sans-serif' font-size='14' font-weight='700' fill='white' text-anchor='middle' dominant-baseline='central'>EI</text></svg>") center/cover no-repeat;
  border: 1px solid rgba(255,255,255,.2);
  color: transparent;
  overflow: hidden;
  font-size: 13px;
  font-weight: 700;
}
.brand-name { font-family: var(--display); font-size: 17px; font-weight: 700; }
.brand-sub { color: var(--muted); font-size: 12px; margin-top: 1px; }
.meta { color: var(--muted); font-family: var(--mono); font-size: 11px; letter-spacing: .07em; text-transform: uppercase; }

.heading-row {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 34px;
  margin: 28px 0 24px;
}
.eyebrow { margin: 0 0 8px; color: var(--blue); font-family: var(--mono); font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
h1 { margin: 0; font-family: var(--display); font-size: 42px; line-height: 1.03; letter-spacing: -.035em; }
.subhead { max-width: 680px; margin: 9px 0 0; color: var(--muted); font-size: 15px; line-height: 1.55; }
.illustrative { padding: 7px 10px; border: 1px solid var(--line); border-radius: 5px; background: rgba(255,255,255,.55); color: var(--muted); font-family: var(--mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }

.card { border: 1px solid var(--line); border-radius: 10px; background: rgba(255,254,250,.92); box-shadow: 0 10px 30px rgba(23,23,18,.045); }
.card-pad { padding: 24px; }
.label { color: var(--blue); font-family: var(--mono); font-size: 10px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.card h2 { margin: 8px 0 10px; font-family: var(--display); font-size: 24px; line-height: 1.13; letter-spacing: -.02em; }
.card p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
.footer-note { display: flex; justify-content: space-between; margin-top: 18px; color: #77786f; font-family: var(--mono); font-size: 9.5px; letter-spacing: .04em; }

.executive-grid { display: grid; grid-template-columns: 310px minmax(0,1fr); gap: 18px; }
.grade-card { display: flex; flex-direction: column; min-height: 304px; padding: 25px; background: var(--blue); color: white; }
.grade-card .label { color: #b9c8d8; }
.grade { margin: 14px 0 8px; font-family: var(--display); font-size: 102px; font-weight: 700; line-height: .9; letter-spacing: -.08em; }
.grade-card h2 { margin: 7px 0; color: white; font-size: 24px; }
.grade-card p { color: rgba(255,255,255,.78); font-size: 13.5px; }
.confidence { display: flex; justify-content: space-between; margin-top: auto; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.18); color: rgba(255,255,255,.72); font-family: var(--mono); font-size: 10px; text-transform: uppercase; }
.central-read { min-height: 304px; padding: 27px 30px; }
.central-read h2 { max-width: 900px; font-size: 29px; }
.central-read p { max-width: 900px; font-size: 15px; line-height: 1.62; }
.read-tags { display: flex; gap: 8px; margin-top: 21px; }
.tag { padding: 7px 10px; border-radius: 5px; background: var(--blue-soft); color: var(--blue); font-family: var(--mono); font-size: 10px; font-weight: 600; text-transform: uppercase; }

.three-up { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 18px; }
.finding { min-height: 230px; padding: 18px 21px; }
.finding .num { display: grid; place-items: center; width: 28px; height: 28px; margin-bottom: 13px; border-radius: 50%; background: var(--blue-soft); color: var(--blue); font-family: var(--mono); font-size: 10px; font-weight: 600; }
.finding h2 { font-size: 20px; }
.finding p { font-size: 13px; line-height: 1.48; }
.evidence-strip { display: flex; justify-content: space-between; gap: 10px; margin-top: 13px; padding-top: 11px; border-top: 1px solid var(--line); color: var(--muted); font-family: var(--mono); font-size: 9px; letter-spacing: .03em; text-transform: uppercase; }
.evidence-strip b { color: var(--blue); font-weight: 600; }

.score-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 18px; }
.scorecard { overflow: hidden; }
.score-head { display: grid; grid-template-columns: 1fr 70px 88px 75px; gap: 12px; padding: 15px 22px; border-bottom: 1px solid var(--line); color: var(--muted); font-family: var(--mono); font-size: 9px; letter-spacing: .07em; text-transform: uppercase; }
.score-row { display: grid; grid-template-columns: 1fr 70px 88px 75px; gap: 12px; align-items: center; min-height: 91px; padding: 14px 22px; border-bottom: 1px solid var(--line); }
.score-row:last-child { border-bottom: 0; }
.dimension h2 { margin: 0 0 4px; font-size: 18px; }
.dimension p { font-size: 12.5px; }
.letter { font-family: var(--display); font-size: 32px; font-weight: 700; color: var(--blue); }
.letter small { display: block; margin-top: 1px; color: var(--muted); font-family: var(--mono); font-size: 8px; font-weight: 600; letter-spacing: .04em; }
.signal { display: inline-flex; justify-content: center; padding: 6px 8px; border-radius: 4px; font-family: var(--mono); font-size: 9.5px; font-weight: 600; text-transform: uppercase; }
.signal.building { background: var(--green-soft); color: var(--green); }
.signal.mixed { background: var(--amber-soft); color: var(--amber); }
.signal.risk { background: var(--red-soft); color: var(--red); }
.anchors { color: var(--muted); font-family: var(--mono); font-size: 9.5px; line-height: 1.35; text-transform: uppercase; }
.score-aside { display: flex; flex-direction: column; gap: 18px; }
.overall-mini { padding: 24px; background: var(--blue); color: white; }
.overall-mini .label { color: #b9c8d8; }
.overall-line { display: flex; align-items: end; gap: 16px; margin-top: 8px; }
.overall-line strong { font-family: var(--display); font-size: 70px; line-height: .9; }
.overall-line span { padding-bottom: 8px; color: rgba(255,255,255,.8); font-size: 14px; }
.method { padding: 22px; }
.method h2 { font-size: 20px; }
.method-list { display: grid; gap: 12px; margin-top: 17px; }
.method-item { display: grid; grid-template-columns: 22px 1fr; gap: 10px; color: var(--muted); font-size: 12.5px; line-height: 1.45; }
.method-item b { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 4px; background: var(--blue-soft); color: var(--blue); font-family: var(--mono); font-size: 9px; }

.matrix-layout { display: grid; grid-template-columns: minmax(0,1fr) 360px; gap: 18px; }
.matrix { position: relative; height: 570px; padding: 28px 32px 42px 55px; }
.plot { position: relative; height: 455px; margin-top: 17px; border-left: 1px solid #9b9b93; border-bottom: 1px solid #9b9b93; background: linear-gradient(90deg, rgba(31,58,95,.045) 1px, transparent 1px), linear-gradient(rgba(31,58,95,.045) 1px, transparent 1px); background-size: 25% 25%; }
.axis-y { position: absolute; top: 265px; left: 3px; transform: rotate(-90deg); color: var(--muted); font-family: var(--mono); font-size: 9px; letter-spacing: .07em; text-transform: uppercase; }
.axis-x { position: absolute; left: 48%; bottom: 13px; color: var(--muted); font-family: var(--mono); font-size: 9px; letter-spacing: .07em; text-transform: uppercase; }
.zone { position: absolute; font-family: var(--mono); font-size: 9px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
.zone.impact { top: 14px; right: 15px; color: var(--green); }
.zone.optics { right: 15px; bottom: 14px; color: var(--red); }
.dot { position: absolute; display: grid; place-items: center; width: 18px; height: 18px; border: 3px solid var(--surface); border-radius: 50%; background: #8295aa; box-shadow: 0 1px 4px rgba(23,23,18,.25); }
.dot.primary { width: 25px; height: 25px; background: var(--blue); }
.dot.primary::after { content: "YOU"; position: absolute; bottom: 27px; color: var(--blue); font-family: var(--mono); font-size: 9px; font-weight: 700; }
.dot.a { left: 68%; top: 25%; }.dot.b { left: 76%; top: 50%; }.dot.c { left: 50%; top: 61%; }.dot.d { left: 36%; top: 34%; }.dot.primary { left: 60%; top: 37%; }
.plot-curve { position: absolute; left: 21%; top: 18%; width: 62%; height: 42%; border-top: 2px solid #6b88a7; border-radius: 50%; transform: rotate(-6deg); opacity: .8; }
.side-stack { display: grid; gap: 18px; }
.side-card { padding: 22px; }
.side-card h2 { font-size: 20px; }
.side-card.accent { border-color: var(--blue); background: var(--blue); }
.side-card.accent .label { color: #b9c8d8; }
.side-card.accent h2 { color: white; }
.side-card.accent p { color: rgba(255,255,255,.78); }
.mini-list { display: grid; gap: 12px; margin-top: 17px; }
.mini-list div { padding-top: 12px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12.5px; line-height: 1.45; }
.mini-list b { display: block; margin-bottom: 3px; color: var(--ink); font-size: 13px; }

.proof-summary { display: grid; grid-template-columns: 210px 1fr 270px; gap: 0; margin-bottom: 16px; overflow: hidden; }
.proof-stat { padding: 18px 20px; border-right: 1px solid var(--line); }
.proof-stat:last-child { border-right: 0; }
.proof-stat strong { display: block; margin-top: 5px; font-family: var(--display); font-size: 23px; line-height: 1.1; }
.proof-stat p { margin-top: 5px; font-size: 12px; }
.proof-table { overflow: hidden; }
.proof-head, .proof-row { display: grid; grid-template-columns: 230px 1fr 1fr 118px; gap: 0; }
.proof-head { border-bottom: 1px solid var(--line); color: var(--muted); font-family: var(--mono); font-size: 9px; letter-spacing: .07em; text-transform: uppercase; }
.proof-head span { padding: 13px 17px; border-right: 1px solid var(--line); }
.proof-row { min-height: 105px; border-bottom: 1px solid var(--line); }
.proof-row:last-child { border-bottom: 0; }
.proof-cell { padding: 15px 17px; border-right: 1px solid var(--line); color: var(--muted); font-size: 12px; line-height: 1.45; }
.proof-cell:last-child, .proof-head span:last-child { border-right: 0; }
.proof-cell b { display: block; margin-bottom: 4px; color: var(--ink); font-family: var(--display); font-size: 15px; }
.verdict { align-self: center; justify-self: center; padding: 7px 9px; border-radius: 4px; font-family: var(--mono); font-size: 9px; font-weight: 600; text-align: center; text-transform: uppercase; }
.verdict.supported { background: var(--green-soft); color: var(--green); }
.verdict.partial { background: var(--amber-soft); color: var(--amber); }
.verdict.ahead { background: var(--red-soft); color: var(--red); }

.category-summary { display: grid; grid-template-columns: 245px 1fr; gap: 18px; margin-bottom: 18px; }
.category-grade { padding: 21px 24px; background: var(--blue); color: white; }
.category-grade .label { color: #b9c8d8; }
.category-grade strong { display: block; margin: 7px 0 3px; font-family: var(--display); font-size: 44px; line-height: 1; }
.category-grade p { color: rgba(255,255,255,.76); font-size: 12.5px; }
.category-read { padding: 20px 24px; }
.category-read h2 { margin: 6px 0; font-size: 23px; }
.category-map { overflow: hidden; }
.category-map-head, .category-line { display: grid; grid-template-columns: 220px 1fr 1fr 110px; gap: 0; }
.category-map-head { border-bottom: 1px solid var(--line); color: var(--muted); font-family: var(--mono); font-size: 9px; letter-spacing: .07em; text-transform: uppercase; }
.category-map-head span { padding: 13px 16px; border-right: 1px solid var(--line); }
.category-line { min-height: 102px; border-bottom: 1px solid var(--line); }
.category-line:last-child { border-bottom: 0; }
.category-cell { padding: 15px 16px; border-right: 1px solid var(--line); color: var(--muted); font-size: 12px; line-height: 1.45; }
.category-cell:last-child, .category-map-head span:last-child { border-right: 0; }
.category-cell b { display: block; margin-bottom: 4px; color: var(--ink); font-family: var(--display); font-size: 15px; }
.movement { display: flex; align-items: center; gap: 8px; }
.movement::before { content: "→"; color: var(--blue); font-size: 20px; }

.rank-summary { display: grid; grid-template-columns: 250px 1fr 1fr; gap: 18px; margin-bottom: 18px; }
.rank-box { padding: 20px 23px; background: var(--blue); color: white; }
.rank-box .label { color: #b9c8d8; }
.rank-box strong { display: block; margin-top: 5px; font-family: var(--display); font-size: 47px; line-height: 1; }
.rank-box p { margin-top: 5px; color: rgba(255,255,255,.76); font-size: 12px; }
.rank-note { padding: 19px 21px; }
.rank-note h2 { margin: 6px 0; font-size: 19px; }
.benchmark { overflow: hidden; }
.benchmark-head, .benchmark-row { display: grid; grid-template-columns: 235px repeat(5, 1fr) 82px; }
.benchmark-head { border-bottom: 1px solid var(--line); color: var(--muted); font-family: var(--mono); font-size: 8.5px; line-height: 1.25; text-transform: uppercase; }
.benchmark-head span { display: flex; align-items: end; min-height: 55px; padding: 11px; border-right: 1px solid var(--line); }
.benchmark-row { min-height: 69px; border-bottom: 1px solid var(--line); }
.benchmark-row:last-child { border-bottom: 0; }
.benchmark-row > div { display: flex; align-items: center; padding: 10px 12px; border-right: 1px solid var(--line); }
.benchmark-row > div:last-child { border-right: 0; }
.vendor { gap: 10px; font-family: var(--display); font-size: 14px; font-weight: 600; }
.vendor .rank { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; background: var(--blue-soft); color: var(--blue); font-family: var(--mono); font-size: 9px; }
.vendor.you { color: var(--blue); }
.grade-cell { justify-content: center; font-family: var(--display); font-size: 21px; font-weight: 700; }
.grade-cell.high { background: var(--green-soft); color: var(--green); }
.grade-cell.mid { background: var(--amber-soft); color: var(--amber); }
.grade-cell.low { background: var(--red-soft); color: var(--red); }
.overall-cell { justify-content: center; background: var(--blue-soft); color: var(--blue); font-family: var(--display); font-size: 23px; font-weight: 700; }

.page.compact .heading-row { margin: 20px 0 17px; }
.page.compact h1 { font-size: 38px; }
.page.compact .subhead { margin-top: 6px; font-size: 14px; line-height: 1.45; }
.page.compact .proof-summary { margin-bottom: 12px; }
.page.compact .proof-stat { padding: 13px 18px; }
.page.compact .proof-stat strong { font-size: 20px; }
.page.compact .proof-row { min-height: 86px; }
.page.compact .proof-cell { padding: 11px 15px; font-size: 11.5px; line-height: 1.38; }
.page.compact .proof-cell b { margin-bottom: 3px; font-size: 14px; }
.page.compact .category-summary { margin-bottom: 12px; }
.page.compact .category-grade, .page.compact .category-read { padding-top: 15px; padding-bottom: 15px; }
.page.compact .category-grade strong { font-size: 39px; }
.page.compact .category-read h2 { font-size: 20px; }
.page.compact .category-line { min-height: 85px; }
.page.compact .category-cell { padding: 11px 14px; font-size: 11.5px; line-height: 1.38; }
.page.compact .category-cell b { font-size: 14px; }

/* Round three: movement-based report views */
.northstar-band { display: grid; grid-template-columns: 180px 1fr 260px; gap: 0; margin-bottom: 15px; overflow: hidden; }
.northstar-band > div { padding: 14px 18px; border-right: 1px solid var(--line); }
.northstar-band > div:last-child { border-right: 0; }
.northstar-band strong { display: block; margin-top: 4px; font-family: var(--display); font-size: 18px; line-height: 1.2; }
.northstar-band p { margin-top: 4px; font-size: 11.5px; line-height: 1.4; }

.proof-journeys { display: grid; gap: 8px; }
.proof-journey { display: grid; grid-template-columns: 220px 1fr; min-height: 99px; overflow: hidden; }
.journey-name { padding: 13px 18px; border-right: 1px solid var(--line); }
.journey-name h2 { margin: 5px 0 4px; font-size: 17px; }
.journey-name p { font-size: 11.5px; line-height: 1.35; }
.journey-track { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; padding: 16px 22px 12px; }
.journey-track::before { content: ""; position: absolute; left: 12.5%; right: 12.5%; top: 37px; height: 2px; background: #c8c6bd; }
.journey-track::after { content: ""; position: absolute; left: 12.5%; top: 37px; width: var(--progress); height: 2px; background: var(--blue); }
.journey-step { position: relative; z-index: 2; padding: 0 10px; text-align: center; }
.journey-dot { display: grid; place-items: center; width: 16px; height: 16px; margin: 13px auto 9px; border: 3px solid var(--surface); border-radius: 50%; background: #c8c6bd; box-shadow: 0 0 0 1px #c8c6bd; }
.journey-step.reached .journey-dot { background: var(--blue); box-shadow: 0 0 0 1px var(--blue); }
.journey-step.current .journey-dot { width: 22px; height: 22px; margin-top: 10px; margin-bottom: 6px; background: var(--blue); box-shadow: 0 0 0 4px var(--blue-soft); }
.journey-step span { display: block; color: var(--muted); font-family: var(--mono); font-size: 8.5px; letter-spacing: .05em; text-transform: uppercase; }
.journey-step b { display: block; margin-top: 3px; color: var(--ink); font-size: 11px; line-height: 1.25; }
.journey-verdict { position: absolute; right: 15px; top: 9px; padding: 4px 7px; border-radius: 4px; background: var(--blue-soft); color: var(--blue); font-family: var(--mono); font-size: 8.5px; font-weight: 600; text-transform: uppercase; }

.movement-summary { display: grid; grid-template-columns: 230px 1fr; gap: 16px; margin-bottom: 15px; }
.movement-score { padding: 18px 22px; background: var(--blue); color: white; }
.movement-score .label { color: #b9c8d8; }
.movement-score strong { display: block; margin-top: 5px; font-family: var(--display); font-size: 39px; line-height: 1; }
.movement-score p { margin-top: 5px; color: rgba(255,255,255,.76); font-size: 11.5px; }
.movement-read { padding: 17px 21px; }
.movement-read h2 { margin: 5px 0; font-size: 20px; }
.movement-read p { font-size: 12px; }
.movement-axis { display: grid; grid-template-columns: 210px 1fr; margin-bottom: 8px; }
.movement-axis-labels { display: grid; grid-template-columns: repeat(3, 1fr); padding: 0 30px; color: var(--muted); font-family: var(--mono); font-size: 9px; letter-spacing: .06em; text-transform: uppercase; }
.movement-axis-labels span:nth-child(2) { text-align: center; }
.movement-axis-labels span:last-child { text-align: right; }
.movement-lanes { display: grid; gap: 11px; }
.movement-lane { display: grid; grid-template-columns: 210px 1fr; min-height: 107px; overflow: hidden; }
.lane-label { padding: 15px 18px; border-right: 1px solid var(--line); }
.lane-label h2 { margin: 5px 0 3px; font-size: 17px; }
.lane-label p { font-size: 11.5px; line-height: 1.35; }
.lane-track { position: relative; margin: 0 30px; }
.lane-line { position: absolute; left: 0; right: 0; top: 43px; height: 2px; background: linear-gradient(90deg,#c9c6bc 0%,#7f99b6 55%,var(--blue) 100%); }
.lane-line::after { content: ""; position: absolute; right: -1px; top: -4px; width: 0; height: 0; border-top: 5px solid transparent; border-bottom: 5px solid transparent; border-left: 8px solid var(--blue); }
.past-label, .future-label { position: absolute; top: 57px; color: var(--muted); font-size: 10.5px; line-height: 1.25; }
.past-label { left: 0; max-width: 210px; }
.future-label { right: 0; max-width: 230px; text-align: right; }
.company-marker, .category-marker { position: absolute; top: 34px; transform: translateX(-50%); border-radius: 50%; }
.category-marker { left: var(--category); width: 19px; height: 19px; border: 4px solid var(--surface); background: var(--green); box-shadow: 0 0 0 1px var(--green); }
.company-marker { left: var(--company); width: 25px; height: 25px; top: 31px; border: 4px solid var(--surface); background: var(--blue); box-shadow: 0 0 0 3px var(--blue-soft); }
.category-marker::before, .company-marker::before { position: absolute; bottom: 25px; left: 50%; transform: translateX(-50%); font-family: var(--mono); font-size: 8px; font-weight: 600; white-space: nowrap; text-transform: uppercase; }
.category-marker::before { content: "Category"; color: var(--green); }
.company-marker::before { content: "You"; color: var(--blue); }
.lane-posture { position: absolute; right: 0; top: 8px; padding: 4px 7px; border-radius: 4px; background: var(--blue-soft); color: var(--blue); font-family: var(--mono); font-size: 8px; font-weight: 600; text-transform: uppercase; }

/* Repeat-audit movement view */
.trend-summary { display: grid; grid-template-columns: 230px 1fr 270px; gap: 16px; margin-bottom: 15px; }
.trend-summary > article { padding: 17px 21px; }
.trend-posture { background: var(--blue); color: white; }
.trend-posture .label { color: #b9c8d8; }
.trend-posture strong { display: block; margin-top: 5px; font-family: var(--display); font-size: 31px; line-height: 1; }
.trend-posture p { margin-top: 7px; color: rgba(255,255,255,.76); font-size: 11px; line-height: 1.4; }
.trend-read h2 { margin: 5px 0; font-size: 19px; }
.trend-read p, .trend-rule p { font-size: 11.5px; line-height: 1.45; }
.trend-rule h2 { margin: 5px 0; font-size: 17px; }
.trend-legend { display: flex; align-items: center; justify-content: flex-end; gap: 18px; margin: 0 2px 9px; color: var(--muted); font-family: var(--mono); font-size: 8.5px; text-transform: uppercase; }
.trend-legend span { display: inline-flex; align-items: center; gap: 6px; }
.trend-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 50%; }
.trend-legend .prior-company { border: 2px solid var(--blue); background: var(--surface); }
.trend-legend .current-company { background: var(--blue); }
.trend-legend .prior-category { border: 2px solid var(--green); background: var(--surface); }
.trend-legend .current-category { background: var(--green); }
.trend-table { overflow: hidden; }
.trend-head, .trend-row { display: grid; grid-template-columns: 210px 1fr 160px; }
.trend-head { min-height: 44px; background: #f0eee8; color: var(--muted); font-family: var(--mono); font-size: 8.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.trend-head > span { display: flex; align-items: center; padding: 0 17px; }
.trend-head > span:nth-child(2) { justify-content: space-between; padding-left: 35px; padding-right: 35px; }
.trend-row { min-height: 123px; border-top: 1px solid var(--line); }
.trend-name { padding: 17px 18px; border-right: 1px solid var(--line); }
.trend-name h2 { margin: 5px 0 3px; font-size: 16px; }
.trend-name p { font-size: 10.5px; line-height: 1.35; }
.trend-track { position: relative; margin: 0 35px; }
.trend-track::before { content: ""; position: absolute; left: 0; right: 0; top: 60px; height: 2px; background: #cfcdc5; }
.trend-range { position: absolute; top: 59px; height: 4px; border-radius: 2px; }
.trend-range.company { left: var(--company-prior); width: calc(var(--company-current) - var(--company-prior)); background: var(--blue); }
.trend-range.category { left: var(--category-prior); width: calc(var(--category-current) - var(--category-prior)); background: var(--green); transform: translateY(12px); }
.trend-dot { position: absolute; z-index: 2; width: 14px; height: 14px; border-radius: 50%; transform: translateX(-50%); }
.trend-dot.company-prior { left: var(--company-prior); top: 54px; border: 3px solid var(--blue); background: var(--surface); }
.trend-dot.company-current { left: var(--company-current); top: 54px; background: var(--blue); box-shadow: 0 0 0 3px var(--blue-soft); }
.trend-dot.category-prior { left: var(--category-prior); top: 66px; border: 3px solid var(--green); background: var(--surface); }
.trend-dot.category-current { left: var(--category-current); top: 66px; background: var(--green); }
.trend-period { position: absolute; top: 17px; color: var(--muted); font-size: 10px; }
.trend-period:first-of-type { left: 0; }
.trend-period:last-of-type { right: 0; text-align: right; }
.trend-verdict { display: flex; justify-content: center; flex-direction: column; padding: 15px 17px; border-left: 1px solid var(--line); }
.trend-verdict b { font-size: 12px; line-height: 1.35; }
.trend-verdict span { margin-top: 4px; color: var(--muted); font-size: 10.5px; line-height: 1.35; }
.page.momentum-trend-page { height: 1080px; }

.clean-rank-summary { display: grid; grid-template-columns: 235px 1fr 1fr; gap: 16px; margin-bottom: 16px; }
.clean-rank-summary .rank-box, .clean-rank-summary .rank-note { min-height: 122px; }
.clean-benchmark { overflow: hidden; background: var(--surface); }
.clean-benchmark .benchmark-head, .clean-benchmark .benchmark-row { grid-template-columns: 230px repeat(5, 1fr) 82px; }
.clean-benchmark .benchmark-head { background: #f0eee8; }
.clean-benchmark .benchmark-head span { border-right: 0; padding-left: 14px; padding-right: 14px; }
.clean-benchmark .benchmark-head span:not(:first-child) { justify-content: center; text-align: center; }
.clean-benchmark .benchmark-row { position: relative; border-bottom: 1px solid #e4e1d8; }
.clean-benchmark .benchmark-row > div { border-right: 0; border-left: 1px solid #eeece5; background: transparent; color: var(--ink); }
.clean-benchmark .benchmark-row > div:first-child { border-left: 0; }
.clean-benchmark .benchmark-row.focus { background: var(--blue-soft); box-shadow: inset 5px 0 0 var(--blue); }
.clean-benchmark .benchmark-row.focus > div { background: transparent; }
.clean-benchmark .grade-cell { flex-direction: column; gap: 2px; }
.clean-benchmark .grade-cell small { color: var(--muted); font-family: var(--mono); font-size: 7.5px; font-weight: 600; text-transform: uppercase; }
.clean-benchmark .overall-cell { background: transparent; }
.clean-benchmark .leader-grade { color: var(--green); }
.benchmark-key { display: grid; grid-template-columns: 110px repeat(3,1fr); gap: 18px; margin-top: 12px; padding: 12px 4px 0; border-top: 1px solid var(--line); color: var(--muted); font-size: 10.5px; line-height: 1.4; }
.benchmark-key .key-title { color: var(--blue); font-family: var(--mono); font-size: 9px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
.benchmark-key b { color: var(--ink); font-family: var(--mono); font-size: 9px; letter-spacing: .04em; text-transform: uppercase; }
.page.competitive-page { height: 980px; }

.simple-proof { overflow: hidden; }
.simple-proof-axis { display: grid; grid-template-columns: 250px 1fr 250px; min-height: 82px; border-bottom: 1px solid var(--line); background: #f0eee8; }
.simple-proof-axis > span { display: flex; align-items: flex-start; justify-content: flex-end; flex-direction: column; gap: 4px; padding: 12px 18px; color: var(--muted); }
.simple-proof-axis > span b { color: var(--ink); font-family: var(--mono); font-size: 9px; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; }
.simple-proof-axis > span small { font-family: var(--body); font-size: 9px; line-height: 1.25; }
.simple-proof-axis > span:last-child { border-left: 1px solid var(--line); }
.proof-axis-stages { display: grid; grid-template-columns: repeat(3,1fr); align-items: end; padding: 10px 18px 11px; color: var(--muted); text-align: center; }
.proof-axis-stages span { display: flex; flex-direction: column; gap: 4px; padding: 0 7px; }
.proof-axis-stages b { color: var(--ink); font-family: var(--mono); font-size: 9px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
.proof-axis-stages small { color: var(--muted); font-family: var(--body); font-size: 9px; line-height: 1.25; }
.simple-proof-row { display: grid; grid-template-columns: 250px 1fr 250px; min-height: 126px; border-bottom: 1px solid var(--line); }
.simple-proof-row:last-child { border-bottom: 0; }
.simple-claim { padding: 10px 19px; border-right: 1px solid var(--line); }
.simple-claim h2 { margin: 3px 0 3px; font-size: 15.5px; }
.simple-claim p { font-size: 10.5px; line-height: 1.32; }
.stop-label { display: inline-flex; margin-top: 5px; padding: 3px 6px; border-radius: 4px; background: var(--blue-soft); color: var(--blue); font-family: var(--mono); font-size: 8px; font-weight: 600; text-transform: uppercase; }
.simple-progress { position: relative; display: block; padding: 13px 18px 10px; }
.simple-progress-line { position: relative; height: 28px; margin-top: 5px; }
.simple-progress-line::before { content: ""; position: absolute; left: 16.67%; right: 16.67%; top: 13px; height: 2px; background: #cac8bf; }
.simple-progress-line::after { content: ""; position: absolute; left: 16.67%; top: 13px; width: var(--progress); height: 2px; background: var(--blue); }
.simple-ticks { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(3,1fr); }
.simple-tick { display: flex; justify-content: center; }
.simple-tick::before { content: ""; width: 12px; height: 12px; margin-top: 8px; border: 3px solid var(--surface); border-radius: 50%; background: #cfcdc5; box-shadow: 0 0 0 1px #bbb9b1; }
.simple-tick.reached::before { background: var(--blue); box-shadow: 0 0 0 1px var(--blue); }
.simple-tick.stop::before { width: 20px; height: 20px; margin-top: 4px; background: var(--blue); box-shadow: 0 0 0 4px var(--blue-soft); }
.simple-progress-line { width: 100%; }
.path-findings { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 9px; }
.path-finding { padding: 0 9px; color: var(--muted); font-size: 9.5px; line-height: 1.3; text-align: center; }
.path-finding.found { color: var(--ink2); }
.path-finding.not-found { color: var(--red); }
.simple-visible { display: flex; align-items: center; padding: 16px 18px; border-left: 1px solid var(--line); color: var(--muted); font-size: 11.5px; line-height: 1.45; }
.page.ai-page { height: 1040px; }

/* Round eight: category-to-action report views */
.category-pulse { display: grid; grid-template-columns: 300px 1fr; gap: 16px; margin-bottom: 16px; }
.pulse-lead { padding: 23px 25px; background: var(--blue); color: white; }
.pulse-lead .label { color: #b9c8d8; }
.pulse-lead h2 { color: white; font-size: 27px; }
.pulse-lead p { color: rgba(255,255,255,.78); font-size: 13px; }
.pulse-meta { display: flex; justify-content: space-between; margin-top: 20px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,.18); color: rgba(255,255,255,.72); font-family: var(--mono); font-size: 9px; text-transform: uppercase; }
.pulse-signals { display: grid; grid-template-columns: repeat(2,1fr); gap: 12px; }
.pulse-signal { padding: 16px 19px; }
.pulse-signal h2 { margin: 5px 0 5px; font-size: 18px; }
.pulse-signal p { font-size: 11.5px; line-height: 1.4; }
.shift-table { overflow: hidden; }
.shift-head, .shift-row { display: grid; grid-template-columns: 210px 290px 400px 1fr; }
.shift-head { background: #f0eee8; color: var(--muted); font-family: var(--mono); font-size: 9px; letter-spacing: .06em; text-transform: uppercase; }
.shift-head span { padding: 12px 16px; border-left: 1px solid var(--line); }
.shift-head span:first-child { border-left: 0; }
.shift-row { min-height: 83px; border-top: 1px solid var(--line); }
.shift-row > div { padding: 13px 16px; border-left: 1px solid var(--line); color: var(--muted); font-size: 11.5px; line-height: 1.4; }
.shift-row > div:first-child { border-left: 0; }
.shift-row b { display: block; margin-bottom: 3px; color: var(--ink); font-family: var(--display); font-size: 14px; }
.shift-arrow { color: var(--blue); font-family: var(--display); font-size: 17px; font-weight: 700; }
.shift-arrow span { display: block; color: var(--muted); font-family: var(--body); font-size: 11px; font-weight: 400; }
.audit-test { border-left: 3px solid var(--blue); }

.takeaway-layout { display: grid; grid-template-columns: 285px 1fr; gap: 16px; }
.takeaway-grade { padding: 23px 25px; background: var(--blue); color: white; }
.takeaway-grade .label { color: #b9c8d8; }
.takeaway-grade .grade { margin-top: 18px; }
.takeaway-grade h2 { color: white; font-size: 23px; }
.takeaway-grade p { color: rgba(255,255,255,.78); font-size: 12.5px; }
.grade-basis { display: grid; gap: 9px; margin-top: 20px; padding-top: 15px; border-top: 1px solid rgba(255,255,255,.18); }
.grade-basis div { display: flex; justify-content: space-between; gap: 12px; color: rgba(255,255,255,.74); font-size: 11px; }
.grade-basis b { color: white; font-family: var(--mono); font-size: 9px; text-transform: uppercase; }
.takeaway-stack { display: grid; gap: 8px; }
.takeaway-head, .takeaway-row { display: grid; grid-template-columns: 48px 210px 430px 1fr; }
.takeaway-head { padding: 0 1px; color: var(--muted); font-family: var(--mono); font-size: 8.5px; letter-spacing: .06em; text-transform: uppercase; }
.takeaway-head span { padding: 10px 15px; border-left: 1px solid var(--line); }
.takeaway-head span:first-child { border-left: 0; }
.takeaway-row { min-height: 118px; overflow: hidden; }
.takeaway-number { display: grid; place-items: center; background: var(--blue-soft); color: var(--blue); font-family: var(--mono); font-size: 11px; font-weight: 600; }
.takeaway-title, .takeaway-evidence, .takeaway-meaning { padding: 15px 17px; }
.takeaway-title { border-right: 1px solid var(--line); }
.takeaway-title span, .takeaway-meaning span { color: var(--blue); font-family: var(--mono); font-size: 8.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.takeaway-title h2 { margin: 5px 0 0; font-size: 17px; }
.takeaway-evidence { color: var(--muted); font-size: 11.5px; line-height: 1.43; }
.takeaway-meaning { border-left: 1px solid var(--line); color: var(--muted); font-size: 11px; line-height: 1.4; }
.takeaway-meaning b { display: block; margin-top: 5px; color: var(--ink); font-size: 12px; }

.cluster-northstar { display: grid; grid-template-columns: 250px 1fr; gap: 16px; margin-bottom: 15px; }
.cluster-opening { padding: 19px 22px; background: var(--blue); color: white; }
.cluster-opening .label { color: #b9c8d8; }
.cluster-opening h2 { margin: 6px 0; color: white; font-size: 20px; }
.cluster-opening p { color: rgba(255,255,255,.78); font-size: 11.5px; }
.cluster-read { padding: 18px 21px; }
.cluster-read h2 { margin: 5px 0; font-size: 19px; }
.cluster-read p { font-size: 12px; }
.cluster-table { overflow: hidden; }
.cluster-head, .cluster-row { display: grid; grid-template-columns: 205px 220px 500px 1fr; }
.cluster-head { background: #f0eee8; color: var(--muted); font-family: var(--mono); font-size: 9px; text-transform: uppercase; }
.cluster-head span { padding: 12px 15px; border-left: 1px solid var(--line); }
.cluster-head span:first-child { border-left: 0; }
.cluster-row { min-height: 87px; border-top: 1px solid var(--line); }
.cluster-row > div { padding: 13px 15px; border-left: 1px solid var(--line); color: var(--muted); font-size: 11.5px; line-height: 1.4; }
.cluster-row > div:first-child { border-left: 0; }
.cluster-row b { display: block; margin-bottom: 3px; color: var(--ink); font-family: var(--display); font-size: 14px; }
.cluster-row.focus { background: var(--blue-soft); box-shadow: inset 5px 0 0 var(--blue); }
.cluster-row.focus b { color: var(--blue); }
.territory-tag { display: inline-flex; padding: 4px 7px; border-radius: 4px; background: #f0eee8; color: var(--blue); font-family: var(--mono); font-size: 8.5px; font-weight: 600; text-transform: uppercase; }

.buyer-summary { display: grid; grid-template-columns: 245px 1fr 1fr; gap: 15px; margin-bottom: 15px; }
.buyer-score { padding: 19px 22px; background: var(--blue); color: white; }
.buyer-score .label { color: #b9c8d8; }
.buyer-score strong { display: block; margin: 5px 0; font-family: var(--display); font-size: 42px; }
.buyer-score p { color: rgba(255,255,255,.78); font-size: 11.5px; }
.buyer-summary-card { padding: 18px 20px; }
.buyer-summary-card h2 { margin: 5px 0; font-size: 19px; }
.buyer-summary-card p { font-size: 11.5px; }
.buyer-table { overflow: hidden; }
.buyer-head, .buyer-row { display: grid; grid-template-columns: 190px 370px 570px 1fr; }
.buyer-head { background: #f0eee8; color: var(--muted); font-family: var(--mono); font-size: 9px; text-transform: uppercase; }
.buyer-head span { padding: 12px 15px; border-left: 1px solid var(--line); }
.buyer-head span:first-child { border-left: 0; }
.buyer-row { min-height: 91px; border-top: 1px solid var(--line); }
.buyer-row > div { padding: 13px 15px; border-left: 1px solid var(--line); color: var(--muted); font-size: 11.5px; line-height: 1.4; }
.buyer-row > div:first-child { border-left: 0; }
.buyer-row b { display: block; margin-bottom: 3px; color: var(--ink); font-family: var(--display); font-size: 14px; }
.buyer-fit { display: flex; align-items: center; justify-content: center; }
.fit-chip { padding: 6px 8px; border-radius: 4px; font-family: var(--mono); font-size: 8.5px; font-weight: 600; text-transform: uppercase; }
.fit-chip.strong { background: var(--green-soft); color: var(--green); }
.fit-chip.partial { background: var(--amber-soft); color: var(--amber); }
.fit-chip.gap { background: var(--red-soft); color: var(--red); }

.action-summary { display: grid; grid-template-columns: 280px 1fr; gap: 16px; margin-bottom: 15px; }
.action-lead { padding: 19px 22px; background: var(--blue); color: white; }
.action-lead .label { color: #b9c8d8; }
.action-lead h2 { margin: 6px 0; color: white; font-size: 21px; }
.action-lead p { color: rgba(255,255,255,.78); font-size: 11.5px; }
.action-principle { padding: 18px 21px; }
.action-principle h2 { margin: 5px 0; font-size: 20px; }
.action-principle p { font-size: 12px; }
.action-stack { display: grid; gap: 8px; }
.action-head, .action-row { display: grid; grid-template-columns: 58px 220px 430px 380px 1fr; }
.action-head { padding: 0 1px; color: var(--muted); font-family: var(--mono); font-size: 8.5px; letter-spacing: .06em; text-transform: uppercase; }
.action-head span { padding: 10px 15px; border-left: 1px solid var(--line); }
.action-head span:first-child { border-left: 0; }
.action-row { min-height: 120px; overflow: hidden; }
.action-priority { display: grid; place-items: center; background: var(--blue-soft); color: var(--blue); font-family: var(--display); font-size: 24px; font-weight: 700; }
.action-name, .action-why, .action-output, .action-measure { padding: 15px 16px; }
.action-name { border-right: 1px solid var(--line); }
.action-name span, .action-output span, .action-measure span { color: var(--blue); font-family: var(--mono); font-size: 8.5px; font-weight: 600; text-transform: uppercase; }
.action-name h2 { margin: 5px 0 0; font-size: 17px; }
.action-why { border-left: 1px solid var(--line); color: var(--muted); font-size: 11.5px; line-height: 1.42; }
.action-output { border-left: 1px solid var(--line); color: var(--muted); font-size: 11px; line-height: 1.4; }
.action-output b, .action-measure b { display: block; margin-top: 5px; color: var(--ink); font-size: 12px; }
.action-measure { border-left: 1px solid var(--line); color: var(--muted); font-size: 10.5px; line-height: 1.35; }
.page.category-context-page { height: 980px; }
.page.takeaways-page { height: 930px; }
.page.story-map-page { height: 1090px; }
.page.buying-group-page { height: 1010px; }
.page.actions-page { height: 1100px; }
.page.story-map-page h1, .page.buying-group-page h1 { font-size: 36px; }

.action-detail-summary { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin-bottom: 15px; }
.action-detail-card { padding: 17px 20px; }
.action-detail-card h2 { margin: 5px 0; font-size: 19px; }
.action-detail-card p { font-size: 11.5px; line-height: 1.42; }
.action-detail-card.primary { background: var(--blue); color: white; }
.action-detail-card.primary .label { color: #b9c8d8; }
.action-detail-card.primary h2 { color: white; }
.action-detail-card.primary p { color: rgba(255,255,255,.78); }
.action-detail-table { overflow: hidden; }
.action-detail-head, .action-detail-row { display: grid; grid-template-columns: 105px 225px 280px 1fr 175px; }
.action-detail-head { background: #f0eee8; color: var(--muted); font-family: var(--mono); font-size: 8.5px; letter-spacing: .05em; text-transform: uppercase; }
.action-detail-head span { padding: 11px 13px; border-left: 1px solid var(--line); }
.action-detail-head span:first-child { border-left: 0; }
.action-detail-row { min-height: 101px; border-top: 1px solid var(--line); }
.action-detail-row > div { padding: 12px 13px; border-left: 1px solid var(--line); color: var(--muted); font-size: 10.8px; line-height: 1.4; }
.action-detail-row > div:first-child { border-left: 0; }
.action-detail-row b { display: block; margin-bottom: 3px; color: var(--ink); font-family: var(--display); font-size: 13px; }
.action-detail-row.quick { box-shadow: inset 5px 0 0 var(--green); }
.action-detail-row.build { box-shadow: inset 5px 0 0 var(--blue-2); }
.action-detail-row.strategic { box-shadow: inset 5px 0 0 var(--amber); }
.action-type { display: inline-flex; padding: 5px 7px; border-radius: 4px; font-family: var(--mono); font-size: 8px; font-weight: 600; text-transform: uppercase; }
.action-type.quick { background: var(--green-soft); color: var(--green); }
.action-type.build { background: var(--blue-soft); color: var(--blue); }
.action-type.strategic { background: var(--amber-soft); color: var(--amber); }
.effort-line { display: grid; gap: 5px; }
.effort-line span { display: flex; justify-content: space-between; gap: 8px; }
.effort-line small { color: var(--blue); font-family: var(--mono); font-size: 8px; font-weight: 600; text-transform: uppercase; }
.page.action-detail-page { height: 1160px; }

/* Recommendation overview and one-recommendation detail pages */
.recommendation-overview { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.recommendation-group { min-height: 475px; padding: 22px; }
.recommendation-group h2 { margin: 7px 0 8px; font-size: 23px; }
.recommendation-group > p { font-size: 12px; }
.recommendation-links { display: grid; gap: 13px; margin-top: 20px; }
.recommendation-link { display: block; padding: 16px 0 0; border-top: 1px solid var(--line); color: inherit; text-decoration: none; }
.recommendation-link span { color: var(--blue); font-family: var(--mono); font-size: 8.5px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
.recommendation-link h3 { margin: 5px 0 5px; font-family: var(--display); font-size: 17px; line-height: 1.18; }
.recommendation-link p { color: var(--muted); font-size: 11px; line-height: 1.42; }
.recommendation-group.quick-group { border-top: 5px solid var(--green); }
.recommendation-group.build-group { border-top: 5px solid var(--blue-2); }
.recommendation-group.strategic-group { border-top: 5px solid var(--amber); }
.recommendation-note { display: grid; grid-template-columns: 250px 1fr; gap: 16px; margin-top: 16px; }
.recommendation-note > div { padding: 17px 20px; }
.recommendation-note h2 { margin: 5px 0; font-size: 18px; }
.recommendation-note p { font-size: 11.5px; }
.page.recommendation-overview-page { height: 920px; }

.recommendation-hero { display: grid; grid-template-columns: 315px 1fr; gap: 16px; margin-bottom: 16px; }
.recommendation-identity { padding: 24px; background: var(--blue); color: white; }
.recommendation-identity .label { display: block; margin-top: 2px; color: #b9c8d8; }
.recommendation-identity h2 { margin: 10px 0 8px; color: white; font-size: 28px; }
.recommendation-identity p { color: rgba(255,255,255,.78); font-size: 12.5px; }
.recommendation-type { display: inline-flex; margin-bottom: 14px; padding: 6px 8px; border-radius: 4px; background: rgba(255,255,255,.13); color: white; font-family: var(--mono); font-size: 8.5px; font-weight: 600; text-transform: uppercase; }
.recommendation-thesis { padding: 23px 26px; }
.recommendation-thesis h2 { margin: 6px 0 10px; font-size: 24px; }
.recommendation-thesis p { font-size: 14px; line-height: 1.58; }
.recommendation-content { display: grid; grid-template-columns: 1.25fr .75fr; gap: 16px; }
.recommendation-main { padding: 24px 27px; }
.recommendation-section + .recommendation-section { margin-top: 21px; padding-top: 19px; border-top: 1px solid var(--line); }
.recommendation-section h2 { margin: 6px 0 8px; font-size: 21px; }
.recommendation-section p { color: var(--muted); font-size: 12.5px; line-height: 1.55; }
.recommendation-section p + p { margin-top: 10px; }
.consider-list { display: grid; gap: 13px; margin-top: 14px; }
.consider-item { display: grid; grid-template-columns: 27px 1fr; gap: 11px; }
.consider-item > b:first-child { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; background: var(--blue-soft); color: var(--blue); font-family: var(--mono); font-size: 9px; }
.consider-item div { color: var(--muted); font-size: 12px; line-height: 1.48; }
.consider-item div b { display: block; margin-bottom: 3px; color: var(--ink); font-size: 13px; }
.recommendation-aside { display: grid; gap: 14px; align-content: start; }
.recommendation-aside article { padding: 20px 21px; }
.recommendation-aside h2 { margin: 6px 0 8px; font-size: 18px; }
.recommendation-aside p { font-size: 11.5px; line-height: 1.48; }
.signal-list { display: grid; gap: 9px; margin-top: 12px; }
.signal-list div { padding-top: 9px; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; line-height: 1.4; }
.signal-list b { display: block; margin-bottom: 2px; color: var(--ink); font-size: 11.5px; }
.page.recommendation-detail-page { height: 1020px; }

/* Industry and persona overlay */
.industry-overview { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.industry-overview-card { min-height: 455px; padding: 22px; }
.industry-overview-card h2 { margin: 7px 0 8px; font-size: 25px; }
.industry-overview-card > p { font-size: 12px; }
.industry-change-list { display: grid; gap: 12px; margin-top: 18px; }
.industry-change-list div { padding-top: 12px; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; line-height: 1.42; }
.industry-change-list b { display: block; margin-bottom: 3px; color: var(--ink); font-size: 12.5px; }
.industry-personas { margin-top: 17px; color: var(--blue); font-family: var(--mono); font-size: 8.5px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; }
.industry-overview-card.retail { border-top: 5px solid var(--green); }
.industry-overview-card.travel { border-top: 5px solid var(--blue-2); }
.industry-overview-card.finance { border-top: 5px solid var(--amber); }
.industry-scope-note { display: grid; grid-template-columns: 260px 1fr; gap: 16px; margin-top: 16px; }
.industry-scope-note > div { padding: 17px 20px; }
.industry-scope-note h2 { margin: 5px 0; font-size: 18px; }
.industry-scope-note p { font-size: 11.5px; }
.page.industry-overview-page { height: 910px; }

.industry-hero { display: grid; grid-template-columns: 315px 1fr; gap: 16px; margin-bottom: 16px; }
.industry-identity { padding: 24px; background: var(--blue); color: white; }
.industry-identity .label { color: #b9c8d8; }
.industry-identity h2 { margin: 8px 0; color: white; font-size: 31px; }
.industry-identity p { color: rgba(255,255,255,.78); font-size: 12.5px; }
.industry-thesis { padding: 23px 26px; }
.industry-thesis h2 { margin: 6px 0 9px; font-size: 25px; }
.industry-thesis p { font-size: 13.5px; line-height: 1.56; }
.industry-content { display: grid; grid-template-columns: .9fr 1.1fr; gap: 16px; }
.industry-forces, .industry-persona-card { padding: 23px 25px; }
.industry-forces h2, .industry-persona-card h2 { margin: 6px 0 8px; font-size: 21px; }
.industry-force-list { display: grid; gap: 14px; margin-top: 15px; }
.industry-force { display: grid; grid-template-columns: 28px 1fr; gap: 11px; }
.industry-force > b { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--blue-soft); color: var(--blue); font-family: var(--mono); font-size: 9px; }
.industry-force div { color: var(--muted); font-size: 11.5px; line-height: 1.45; }
.industry-force div b { display: block; margin-bottom: 3px; color: var(--ink); font-size: 12.5px; }
.persona-shifts { display: grid; gap: 0; margin-top: 13px; }
.persona-shift { display: grid; grid-template-columns: 165px 1fr; gap: 15px; padding: 12px 0; border-top: 1px solid var(--line); }
.persona-shift:first-child { border-top: 0; }
.persona-shift b { color: var(--ink); font-size: 12px; }
.persona-shift span { color: var(--muted); font-size: 11px; line-height: 1.42; }
.industry-audit-strip { display: grid; grid-template-columns: 210px repeat(3,1fr); gap: 0; margin-top: 16px; overflow: hidden; }
.industry-audit-strip > div { padding: 16px 18px; border-left: 1px solid var(--line); }
.industry-audit-strip > div:first-child { border-left: 0; background: var(--blue); color: white; }
.industry-audit-strip .label { color: var(--blue); }
.industry-audit-strip > div:first-child .label { color: #b9c8d8; }
.industry-audit-strip b { display: block; margin-top: 5px; color: var(--ink); font-size: 12.5px; }
.industry-audit-strip > div:first-child b { color: white; font-size: 15px; }
.industry-audit-strip p { margin-top: 4px; color: var(--muted); font-size: 10.5px; line-height: 1.38; }
.industry-audit-strip > div:first-child p { color: rgba(255,255,255,.75); }
.page.industry-detail-page { height: 1110px; }

/* Individual competitor reads */
.competitor-hero { display: grid; grid-template-columns: 315px 1fr; gap: 16px; margin-bottom: 16px; }
.competitor-identity { padding: 24px; background: var(--blue); color: white; }
.competitor-identity .label { color: #b9c8d8; }
.competitor-identity h2 { margin: 8px 0 4px; color: white; font-size: 30px; }
.competitor-territory { display: inline-flex; margin: 10px 0 13px; padding: 6px 8px; border-radius: 4px; background: rgba(255,255,255,.13); color: white; font-family: var(--mono); font-size: 8.5px; font-weight: 600; text-transform: uppercase; }
.competitor-identity p { color: rgba(255,255,255,.78); font-size: 12px; line-height: 1.48; }
.competitor-read { padding: 23px 26px; }
.competitor-read h2 { margin: 6px 0 9px; font-size: 25px; }
.competitor-read p { font-size: 13.5px; line-height: 1.56; }
.competitor-content { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.competitor-panel { padding: 22px 24px; }
.competitor-panel h2 { margin: 6px 0 8px; font-size: 20px; }
.category-fit-list, .competitor-signal-list { display: grid; gap: 12px; margin-top: 14px; }
.category-fit-item { display: grid; grid-template-columns: 145px 1fr; gap: 14px; padding-top: 12px; border-top: 1px solid var(--line); }
.category-fit-item:first-child { padding-top: 0; border-top: 0; }
.category-fit-item b { color: var(--ink); font-size: 11.5px; }
.category-fit-item span { color: var(--muted); font-size: 11px; line-height: 1.43; }
.competitor-signal-item { padding-top: 12px; border-top: 1px solid var(--line); }
.competitor-signal-item:first-child { padding-top: 0; border-top: 0; }
.competitor-signal-item b { display: block; margin-bottom: 3px; color: var(--ink); font-size: 12px; }
.competitor-signal-item p { color: var(--muted); font-size: 11px; line-height: 1.43; }
.competitor-verdict { display: grid; grid-template-columns: 195px repeat(3,1fr); gap: 0; margin-top: 16px; overflow: hidden; }
.competitor-verdict > div { padding: 16px 18px; border-left: 1px solid var(--line); }
.competitor-verdict > div:first-child { border-left: 0; background: var(--blue); color: white; }
.competitor-verdict .label { color: var(--blue); }
.competitor-verdict > div:first-child .label { color: #b9c8d8; }
.competitor-verdict b { display: block; margin-top: 5px; color: var(--ink); font-size: 12.5px; line-height: 1.38; }
.competitor-verdict > div:first-child b { color: white; font-size: 16px; }
.competitor-verdict p { margin-top: 4px; color: var(--muted); font-size: 10.5px; line-height: 1.38; }
.competitor-verdict > div:first-child p { color: rgba(255,255,255,.74); }
.page.competitor-read-page { height: 1230px; }

/* Production sample additions */
.cover-page { position: relative; display: flex; flex-direction: column; height: 900px; padding: 54px 62px 46px; }
.cover-kicker { margin-top: 98px; color: var(--blue); font-family: var(--mono); font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.cover-page h1 { max-width: 940px; margin-top: 16px; font-size: 74px; line-height: .95; }
.cover-deck { max-width: 820px; margin-top: 24px; color: var(--muted); font-size: 22px; line-height: 1.45; }
.cover-meta { display: grid; grid-template-columns: repeat(4,1fr); margin-top: auto; overflow: hidden; }
.cover-meta > div { padding: 18px 20px; border-left: 1px solid var(--line); }
.cover-meta > div:first-child { border-left: 0; }
.cover-meta b { display: block; margin-top: 5px; font-size: 14px; }
.cover-meta .cover-comparison { grid-column: 1 / -1; border-top: 1px solid var(--line); border-left: 0; }
.cover-disclaimer { margin-top: 18px; padding-top: 17px; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; line-height: 1.5; }

.machine-summary { display: grid; grid-template-columns: 250px 1fr 280px; gap: 16px; margin-bottom: 15px; }
.machine-summary > article { padding: 18px 21px; }
.machine-score { background: var(--blue); color: white; }
.machine-score .label { color: #b9c8d8; }
.machine-score strong { display: block; margin-top: 7px; font-family: var(--display); font-size: 30px; line-height: 1.05; }
.machine-score p { margin-top: 7px; color: rgba(255,255,255,.76); font-size: 11px; line-height: 1.42; }
.machine-summary h2 { margin: 5px 0; font-size: 19px; }
.machine-summary p { font-size: 11.5px; line-height: 1.45; }
.machine-table { overflow: hidden; }
.machine-head, .machine-row { display: grid; grid-template-columns: 245px 1fr 1fr 255px; }
.machine-head { min-height: 44px; background: #f0eee8; color: var(--muted); font-family: var(--mono); font-size: 8.5px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; }
.machine-head span, .machine-row > div { padding: 13px 16px; border-left: 1px solid var(--line); }
.machine-head span:first-child, .machine-row > div:first-child { border-left: 0; }
.machine-row { min-height: 130px; border-top: 1px solid var(--line); }
.machine-row b { display: block; margin-bottom: 5px; font-size: 12px; line-height: 1.35; }
.machine-row p { color: var(--muted); font-size: 10.5px; line-height: 1.42; }
.machine-prompt { background: #faf8f2; }
.machine-prompt span { display: block; color: var(--blue); font-family: var(--mono); font-size: 8.5px; font-weight: 600; text-transform: uppercase; }
.machine-prompt b { margin-top: 8px; font-size: 13px; }
.machine-implication { background: var(--blue-soft); }
.page.ai-discovery-page { height: 990px; }

.pricing-summary { display: grid; grid-template-columns: 250px 1fr 280px; gap: 16px; margin-bottom: 16px; }
.pricing-summary > article { padding: 19px 22px; }
.pricing-summary h2 { margin: 5px 0; font-size: 19px; }
.pricing-summary p { font-size: 11.5px; line-height: 1.45; }
.pricing-posture { background: var(--blue); color: white; }
.pricing-posture .label { color: #b9c8d8; }
.pricing-posture strong { display: block; margin-top: 6px; font-family: var(--display); font-size: 30px; }
.pricing-posture p { color: rgba(255,255,255,.76); }
.pricing-archetypes { display: grid; grid-template-columns: repeat(4,1fr); gap: 13px; margin-bottom: 16px; }
.pricing-archetype { min-height: 185px; padding: 18px 19px; }
.pricing-archetype h2 { margin: 7px 0 6px; font-size: 17px; }
.pricing-archetype p { font-size: 10.5px; line-height: 1.42; }
.pricing-archetype b { display: block; margin-top: 12px; color: var(--blue); font-size: 11px; }
.pricing-questions { display: grid; grid-template-columns: 280px 1fr; overflow: hidden; }
.pricing-questions > div { padding: 19px 22px; }
.pricing-questions > div:first-child { background: #f0eee8; border-right: 1px solid var(--line); }
.pricing-questions h2 { margin: 6px 0; font-size: 19px; }
.pricing-question-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 0 20px; }
.pricing-question { padding: 11px 0; border-top: 1px solid var(--line); font-size: 11px; line-height: 1.4; }
.pricing-question:nth-child(-n+2) { border-top: 0; }
.page.pricing-page { height: 970px; }

.appendix-intro { display: grid; grid-template-columns: 270px 1fr; gap: 16px; margin-bottom: 16px; }
.appendix-intro > article { padding: 18px 21px; }
.appendix-intro h2 { margin: 6px 0; font-size: 19px; }
.appendix-intro p { font-size: 11.5px; line-height: 1.45; }
.scoring-rule { background: var(--blue); color: white; }
.scoring-rule .label { color: #b9c8d8; }
.scoring-rule p { color: rgba(255,255,255,.76); }
.mapping-table { overflow: hidden; }
.mapping-head, .mapping-row { display: grid; grid-template-columns: 230px 1fr 1fr; }
.mapping-head { min-height: 42px; background: #f0eee8; color: var(--muted); font-family: var(--mono); font-size: 8px; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; }
.mapping-head span, .mapping-row > div { padding: 12px 16px; border-left: 1px solid var(--line); }
.mapping-head span:first-child, .mapping-row > div:first-child { border-left: 0; }
.mapping-row { min-height: 75px; border-top: 1px solid var(--line); }
.mapping-row b { display: block; margin-bottom: 4px; font-size: 11.5px; }
.mapping-row p { color: var(--muted); font-size: 9.8px; line-height: 1.38; }
.appendix-foot { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin-top: 16px; }
.appendix-foot article { padding: 15px 17px; }
.appendix-foot b { display: block; margin-top: 5px; font-size: 12px; }
.page.appendix-page { height: 1060px; }

/* Content-sized canvases for standalone core views. */
.page.executive-page { height: 920px; }
.page.category-position-page { height: 980px; }
