@font-face { font-family: Lato; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/Lato-Regular.ttf") format("truetype"); }
@font-face { font-family: Lato; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/Lato-Bold.ttf") format("truetype"); }
:root {
  --ink: #0f172a;
  --ink-2: #1e293b;
  --muted: #475569;
  --paper: #f8fafc;
  --paper-2: #f1f5f9;
  --white: #ffffff;
  --line: #e2e8f0;
  --mint: #5eead4;
  --mint-dark: #0d9488;
  --green: #0d9488;
  --teal: #0d9488;
  --teal-light: #14b8a6;
  --brand-dark: #0a1c1b;
  --coral: #f28b72;
  --coral-dark: #a94f3d;
  --amber: #f0c36d;
  --violet: #bda8ec;
  --blue: #8fc3ed;
  --red: #c75549;
  --shadow: 0 18px 60px rgba(15, 23, 42, .1);
  --shadow-soft: 0 8px 28px rgba(15, 23, 42, .07);
  --radius: 18px;
  --radius-lg: 18px;
  --sans: Lato, Aptos, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --serif: var(--sans);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; font-size: 17px; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.55; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--mint-dark);
  outline-offset: 3px;
  box-shadow: 0 0 0 2px var(--white);
}
html { overflow-x: hidden; }
img { max-width: 100%; }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { letter-spacing: -.025em; line-height: 1.08; }
h1 { font-size: clamp(2.6rem, 5vw, 5.2rem); font-weight: 700; }
h2 { font-size: clamp(1.8rem, 3.4vw, 3.2rem); font-weight: 700; }
h3 { line-height: 1.2; }
em { color: var(--mint-dark); font-family: var(--sans); font-style: normal; font-weight: 700; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; top: -100px; left: 20px; z-index: 1000; padding: 12px 16px; background: var(--ink); color: white; border-radius: 8px; }
.skip-link:focus { top: 20px; }
.section-shell { width: min(1240px, calc(100% - 48px)); margin-inline: auto; }
.section-space { padding-block: 120px; }
.eyebrow, .mini-label { display: inline-block; color: var(--mint-dark); font-size: .72rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 46px; padding: 11px 20px; border: 1px solid var(--teal, #0d9488); border-radius: 12px; background: var(--teal, #0d9488); color: white; font-weight: 750; cursor: pointer; transition: transform .2s, box-shadow .2s, background .2s, border-color .2s; }
.button:hover { transform: translateY(-2px); border-color: #14b8a6; background: #14b8a6; box-shadow: 0 8px 20px rgba(13,148,136,.2); }
.button-large { min-height: 58px; padding: 15px 26px; }
.button-small { min-height: 38px; padding: 8px 15px; font-size: .86rem; }
.button-secondary { background: transparent; color: var(--ink); border-color: #cbd5e1; }
.button-secondary:hover { border-color: var(--teal, #0d9488); background: rgba(13,148,136,.06); color: var(--ink); }
.button-light { background: var(--white); color: var(--ink); border-color: var(--white); }
.button-ghost { background: transparent; color: var(--ink); border: 0; }
.button-block { width: 100%; }
.is-disabled { pointer-events: none; opacity: .42; }
.text-link { padding: 10px 2px; border-bottom: 1px solid var(--ink); font-weight: 700; }

/* Public chrome */
.site-header { position: sticky; top: 0; z-index: 50; display: flex; align-items: center; justify-content: space-between; height: 68px; padding: 0 max(28px, calc((100vw - 1240px) / 2)); background: rgba(10,28,27,.94); color: white; border-bottom: 1px solid rgba(255,255,255,.1); backdrop-filter: blur(16px); }
.brand { display: inline-flex; align-items: center; gap: 10px; font-size: 1rem; letter-spacing: -.02em; }
.brand-logo { display: block; flex: 0 0 auto; width: 32px; height: 32px; object-fit: contain; }
.brand-copy { display: grid; gap: 1px; line-height: 1; }
.brand-copy strong { font-size: 1rem; font-weight: 800; letter-spacing: -.025em; }
.brand-copy small { color: var(--teal-light); font-size: .54rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.brand-mark { display: none; }
.site-nav { display: flex; align-items: center; gap: 27px; font-size: .82rem; font-weight: 650; }
.site-nav > a:not(.button):hover { color: var(--teal-light); }
.site-header .button { min-height: 40px; border-color: var(--teal); background: var(--teal); }
.nav-logout { margin: 0; }.nav-logout button { padding: 0; border: 0; background: transparent; color: inherit; cursor: pointer; font-weight: inherit; }.nav-logout button:hover { color: var(--mint-dark); }
.nav-toggle { display: none; border: 0; background: transparent; color: white; font-weight: 700; }
.site-footer { display: grid; grid-template-columns: 1.5fr repeat(3, 1fr); gap: 48px; align-items: start; padding: 64px max(28px, calc((100vw - 1240px) / 2)) 34px; background: #081514; color: #94a3b8; border-top: 1px solid rgba(255,255,255,.1); }
.site-footer .brand-copy strong { color: white; }
.site-footer p { max-width: 320px; margin: 18px 0 0; color: #94a3b8; font-size: .82rem; line-height: 1.65; }
.footer-group { display: grid; align-content: start; gap: 9px; font-size: .78rem; }
.footer-group > strong { margin-bottom: 7px; color: white; font-size: .8rem; }
.footer-group a:hover { color: white; }
.footer-copyright { grid-column: 1 / -1; max-width: none !important; margin-top: 16px !important; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.1); text-align: center; }

/* Privacy preference */
.privacy-banner[hidden] { display: none; }
.privacy-banner { position: fixed; right: 22px; bottom: 22px; left: 22px; z-index: 100; display: flex; align-items: center; justify-content: space-between; gap: 28px; width: min(1080px, calc(100% - 44px)); margin-inline: auto; padding: 22px; border: 1px solid #345047; border-radius: 18px; background: #10251c; color: #f6faf7; box-shadow: 0 24px 80px rgba(9,24,18,.3); }
.privacy-banner-copy { display: flex; gap: 15px; align-items: flex-start; max-width: 720px; }.privacy-icon { display: grid; flex: 0 0 35px; width: 35px; height: 35px; place-items: center; border-radius: 50%; background: var(--mint); color: var(--ink); }.privacy-banner h2 { margin: 0 0 6px; color: white; font-family: var(--sans); font-size: 1rem; }.privacy-banner p { margin: 0; color: #c0d0c7; font-size: .72rem; line-height: 1.55; }.privacy-banner .privacy-current { min-height: 1em; margin-top: 5px; color: #8fbba5; font-size: .62rem; }.privacy-banner-links { display: flex; flex-wrap: wrap; gap: 13px; margin-top: 9px; font-size: .64rem; }.privacy-banner-links a { color: #d8e9e0; text-decoration: underline; text-underline-offset: 3px; }.privacy-banner-actions { display: flex; flex: 0 0 auto; gap: 9px; }.privacy-banner-actions .button { min-height: 42px; }.privacy-banner-actions [data-privacy-essential] { background: var(--mint); color: var(--ink); }.privacy-banner-actions .button-secondary { border-color: #789487; background: transparent; color: white; }
.auth-legal { margin-top: 14px!important; font-size: .65rem!important; }.auth-legal a { color: var(--mint-dark); text-decoration: underline; text-underline-offset: 3px; }

/* Privacy operations */
.retention-status-band { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin-bottom: 1.25rem; padding: 1.35rem 1.5rem; border: 1px solid var(--line); border-radius: var(--radius-lg); background: linear-gradient(120deg, rgba(132, 225, 190, .14), rgba(255, 255, 255, .72)); }
.retention-status-band h2 { margin: .28rem 0 .2rem; font-size: clamp(1.45rem, 2vw, 2rem); }.retention-status-band p { margin: 0; color: var(--muted); }.status-warning { color: #773b15; border-color: rgba(180, 91, 34, .28); background: #fff2e8; }
.retention-metric-grid article { min-height: 9rem; }.retention-layout { margin-top: 1.25rem; }.retention-policy-list { display: grid; gap: .9rem; margin-top: 1rem; }.retention-policy-list > div { display: grid; grid-template-columns: 2rem 1fr; gap: .8rem; align-items: start; padding-top: .9rem; border-top: 1px solid var(--line); }.retention-policy-list > div:first-child { padding-top: 0; border-top: 0; }.retention-policy-list span { color: var(--mint-dark); font-size: .75rem; font-weight: 800; letter-spacing: .08em; }.retention-policy-list p { margin: 0; color: var(--muted); }.retention-policy-list strong { color: var(--ink); }.retention-guardrail-card > p { color: var(--muted); line-height: 1.7; }.retention-history-card { margin-top: 1.25rem; }.retention-run-table { margin-top: 1rem; }

/* Legal */
.legal-shell { max-width: 1180px; padding-block: 80px 120px; }.legal-hero { max-width: 900px; padding-bottom: 55px; border-bottom: 1px solid var(--line); }.legal-hero h1 { max-width: 860px; margin: 15px 0 18px; font-size: clamp(3rem, 6vw, 5.8rem); line-height: .98; }.legal-hero > p { max-width: 760px; color: var(--muted); font-size: 1.02rem; line-height: 1.65; }.legal-version { display: inline-block; margin-top: 18px; padding: 7px 10px; border-radius: 99px; background: var(--paper-2); color: var(--muted); font-size: .64rem; font-weight: 750; }.legal-language { display: flex; gap: 8px; margin-top: 22px; }.legal-language a, .legal-language strong { padding: 7px 11px; border: 1px solid var(--line); border-radius: 99px; font-size: .68rem; }.legal-language strong { border-color: var(--mint-dark); background: var(--mint); }
.legal-layout { display: grid; grid-template-columns: 220px minmax(0, 780px); gap: 75px; align-items: start; padding-top: 55px; }.legal-toc { position: sticky; top: 100px; display: grid; gap: 3px; padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: var(--white); }.legal-toc strong { margin-bottom: 9px; color: var(--muted); font-size: .62rem; letter-spacing: .07em; text-transform: uppercase; }.legal-toc a { padding: 7px 8px; border-radius: 7px; color: var(--muted); font-size: .72rem; }.legal-toc a:hover { background: var(--paper); color: var(--ink); }
.legal-content section { padding: 0 0 42px; scroll-margin-top: 100px; }.legal-content section + section { padding-top: 42px; border-top: 1px solid var(--line); }.legal-content h2 { margin: 0 0 18px; font-size: 1.65rem; }.legal-content h3 { margin: 25px 0 9px; font-size: 1rem; }.legal-content p, .legal-content li { color: #45534d; font-size: .86rem; line-height: 1.75; }.legal-content p { margin: 0 0 15px; }.legal-content ul { display: grid; gap: 7px; padding-left: 22px; }.legal-content a { color: var(--mint-dark); text-decoration: underline; text-underline-offset: 3px; }.legal-content code { padding: 2px 5px; border-radius: 5px; background: var(--paper-2); font-size: .72rem; }
.legal-facts { border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }.legal-facts div { display: grid; grid-template-columns: 160px 1fr; }.legal-facts div + div { border-top: 1px solid var(--line); }.legal-facts dt, .legal-facts dd { margin: 0; padding: 13px 15px; font-size: .78rem; }.legal-facts dt { background: var(--paper); color: var(--muted); font-weight: 750; }.legal-callout, .legal-note { padding: 18px 20px; border-left: 4px solid var(--mint-dark); border-radius: 0 10px 10px 0; background: #eaf5ef; }.legal-callout p, .legal-note { margin: 6px 0 0; }.legal-table-wrap { margin: 20px 0; overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; }.legal-table { width: 100%; min-width: 650px; border-collapse: collapse; }.legal-table th, .legal-table td { padding: 13px 15px; border-bottom: 1px solid var(--line); vertical-align: top; text-align: left; font-size: .72rem; line-height: 1.55; }.legal-table tr:last-child td { border-bottom: 0; }.legal-table th { background: var(--paper); color: var(--muted); font-size: .62rem; letter-spacing: .05em; text-transform: uppercase; }.legal-table td:first-child { width: 25%; color: var(--ink); font-weight: 750; }

/* Landing */
.hero { display: grid; grid-template-columns: 1.05fr .95fr; gap: 80px; align-items: center; min-height: 760px; padding-block: 92px 104px; background: var(--brand-dark); color: white; box-shadow: 0 0 0 100vmax var(--brand-dark); clip-path: inset(0 -100vmax); }
.hero .eyebrow { color: var(--teal-light); }
.hero h1 { max-width: 780px; margin: 22px 0 28px; }
.hero h1 em { color: var(--teal-light); }
.hero-lede { max-width: 670px; color: #cbd5e1; font-size: 1.16rem; line-height: 1.7; }
.hero-actions { display: flex; align-items: center; gap: 26px; margin-top: 36px; }
.hero .text-link { color: white; border-color: rgba(255,255,255,.55); }
.trust-row { display: flex; gap: 22px; margin-top: 44px; color: #94a3b8; font-size: .77rem; }
.trust-row span { padding-right: 22px; border-right: 1px solid rgba(255,255,255,.18); }
.trust-row span:last-child { border: 0; }
.trust-row b { display: block; color: white; font-size: .84rem; }
.hero-visual { position: relative; }
.hero-visual::before { content: ""; position: absolute; inset: -90px -50px; z-index: -1; background: radial-gradient(circle, rgba(20,184,166,.22), transparent 62%); }
.map-card { padding: 26px; background: rgba(255,255,255,.97); color: var(--ink); border: 1px solid rgba(255,255,255,.18); border-radius: 22px; box-shadow: 0 24px 80px rgba(0,0,0,.28); }
.map-card-head, .card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.map-card-head strong { display: block; margin-top: 3px; }
.live-pill, .confidence-chip { padding: 6px 10px; border-radius: 99px; background: #e9f7f0; color: var(--mint-dark); font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.snapshot-example-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.snapshot-example-head .live-pill { flex-shrink: 0; }
.snapshot-example h2 { margin: 18px 0 8px; font-size: clamp(1.4rem, 2.2vw, 1.9rem); line-height: 1.2; letter-spacing: -.035em; }
.snapshot-example-intro, .snapshot-example-note { color: var(--muted); font-size: .78rem; line-height: 1.55; }
.snapshot-example-intro { margin: 0 0 20px; }
.snapshot-example-fields { margin: 0; }
.snapshot-example-fields > div { display: grid; grid-template-columns: 1fr 1.2fr; align-items: center; gap: 16px; padding: 14px 12px; border-top: 1px solid var(--line); }
.snapshot-example-fields dt { font-size: .82rem; font-weight: 750; }
.snapshot-example-fields dd { margin: 0; color: var(--muted); font-size: .8rem; line-height: 1.45; }
.snapshot-example-fields .snapshot-example-focus { margin: 0 -1px; border: 1px solid #a9cfc8; border-left: 3px solid var(--teal); border-radius: 10px; background: #edf7f4; }
.snapshot-example-focus dt span { display: block; margin-top: 4px; color: #08665d; font-size: .65rem; font-weight: 750; }
.snapshot-example-fields .snapshot-example-focus dd { color: var(--ink); font-weight: 650; }
.snapshot-example-focus + div { border-top-color: transparent; }
.snapshot-example-next { margin-top: 20px; padding: 18px; border-radius: 12px; background: var(--brand-dark); color: white; }
.snapshot-example-next .mini-label { color: #8fdbcf; font-size: .62rem; }
.snapshot-example-next h3 { margin: 8px 0; font-size: 1.08rem; line-height: 1.35; }
.snapshot-example-next p { margin: 0; color: #d3e2df; font-size: .8rem; line-height: 1.6; }
.snapshot-example-note { margin: 14px 0 0; font-size: .7rem; }
@media (max-width: 480px) {
  .snapshot-example-head { align-items: flex-start; gap: 10px; }
  .snapshot-example-head .mini-label { max-width: 160px; }
  .snapshot-example-fields > div { grid-template-columns: 1fr; gap: 4px; padding: 12px; }
  .snapshot-example-focus dt { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; }
  .snapshot-example-focus dt span { margin: 0; }
  .snapshot-example-next { padding: 16px; }
}
.lens-legend { display: flex; gap: 18px; margin-top: 19px; color: var(--muted); font-size: .68rem; }
.lens-legend span { display: flex; align-items: center; gap: 6px; }.lens-legend i, .lens-profile span { width: 8px; height: 8px; border-radius: 50%; }.p-dot { background: var(--violet); }.b-dot { background: var(--coral); }.c-dot { background: var(--mint-dark); }
.proof-strip { display: grid; grid-template-columns: repeat(4, 1fr); background: #0f2927; color: white; padding-inline: max(28px, calc((100vw - 1240px) / 2)); }
.proof-strip div { display: flex; align-items: center; gap: 14px; min-height: 84px; padding: 16px 25px; border-right: 1px solid #3a4a43; }.proof-strip div:first-child { padding-left: 0; }.proof-strip div:last-child { border: 0; }
.proof-strip strong { color: var(--teal-light); font-family: var(--serif); font-size: 1.5rem; }.proof-strip span { font-size: .82rem; font-weight: 700; }
.section-heading { max-width: 790px; margin-bottom: 56px; }.section-heading h2 { margin: 13px 0 20px; }.section-heading p { max-width: 670px; color: var(--muted); font-size: 1.08rem; }.section-heading.light { color: white; }.section-heading.light p { color: #a9bbb2; }
.module-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 16px; }
.module-card { grid-column: span 2; min-height: 330px; padding: 26px; background: var(--white); border: 1px solid var(--line); border-top: 4px solid var(--coral); border-radius: var(--radius); box-shadow: var(--shadow-soft); transition: transform .25s, box-shadow .25s; }
.module-card:nth-child(4), .module-card:nth-child(5) { grid-column: span 3; }.module-card:hover { transform: translateY(-7px); box-shadow: var(--shadow); }
.module-violet { border-top-color: var(--violet); }.module-blue { border-top-color: var(--blue); }.module-mint { border-top-color: var(--mint); }.module-amber { border-top-color: var(--amber); }
.module-top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 32px; }.module-code { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; background: var(--ink); color: white; font-weight: 850; }.status-tag, .role-pill { display: inline-flex; width: fit-content; padding: 5px 9px; border-radius: 99px; background: var(--paper-2); color: var(--muted); font-size: .64rem; font-weight: 800; }
.module-card h3 { margin-bottom: 8px; font-size: 1.2rem; }.module-card p { color: var(--muted); font-size: .88rem; }.module-card .module-question { min-height: 46px; color: var(--ink); font-family: var(--serif); font-size: 1.15rem; }.module-card a, .quiet-link { display: inline-block; margin-top: 10px; color: var(--mint-dark); font-size: .8rem; font-weight: 800; }
.dark-section { padding-block: 120px; background: #11221b; color: white; }
.journey-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 1px solid #3b4a43; }
.journey-grid article { min-height: 310px; padding: 36px 28px; border-right: 1px solid #3b4a43; }.journey-grid article:last-child { border: 0; }.journey-number { color: var(--mint); font-family: var(--serif); font-size: 2rem; }.journey-grid h3 { margin: 60px 0 18px; font-size: 1.3rem; }.journey-grid p { color: #9eafa7; font-size: .9rem; }
.split-feature { display: grid; grid-template-columns: .85fr 1.15fr; gap: 100px; align-items: center; }.feature-copy h2 { margin: 14px 0 24px; }.feature-copy p { color: var(--muted); font-size: 1.08rem; }.feature-copy .button { margin-top: 18px; }
.finding-preview { position: relative; padding: 38px; background: var(--white); border: 1px solid var(--line); border-radius: 24px; box-shadow: var(--shadow); }.finding-preview::before { content: ""; position: absolute; inset: 14px -14px -14px 14px; z-index: -1; border: 1px solid var(--line); border-radius: 24px; }
.finding-kicker { display: flex; justify-content: space-between; color: var(--mint-dark); font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }.finding-kicker b { color: var(--muted); }.finding-preview h3 { margin: 25px 0 28px; font-family: var(--serif); font-size: 2rem; font-weight: 500; }
.finding-preview dl { margin: 0; }.finding-preview dl div { display: grid; grid-template-columns: 140px 1fr; gap: 20px; padding: 14px 0; border-top: 1px solid var(--line); }.finding-preview dt { font-size: .68rem; font-weight: 800; text-transform: uppercase; }.finding-preview dd { margin: 0; color: var(--muted); font-size: .85rem; }
.paths-section { padding-block: 40px; background: var(--paper-2); }.paths-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }.path-card { min-height: 450px; padding: 55px; border-radius: 26px; }.path-card h2 { margin: 18px 0; }.path-card p { max-width: 480px; }.path-card .button { margin-top: 45px; }.individual-path { background: var(--white); border: 1px solid var(--line); }.group-path { background: var(--mint-dark); color: white; }.group-path .eyebrow { color: var(--mint); }.group-path p { color: #d8ede5; }
.final-cta { max-width: 900px; text-align: center; }.final-cta h2 { margin: 16px auto; }.final-cta p { color: var(--muted); font-size: 1.15rem; }.final-cta .button { margin-top: 24px; }
.reveal { animation: rise .7s both ease-out; }.reveal-delay { animation-delay: .12s; } @keyframes rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }

/* Scan welcome and assessment */
.scan-page, .assessment-page { min-height: 100vh; background: #f3f1ea; }
.scan-header, .assessment-header { display: flex; align-items: center; justify-content: space-between; min-height: 72px; padding: 0 40px; border-bottom: 1px solid rgba(255,255,255,.1); background: rgba(10,28,27,.96); color: white; }.secure-note, .save-exit { color: #cbd5e1; font-size: .76rem; }.save-exit { border: 0; background: transparent; cursor: pointer; }
.welcome-shell { display: grid; grid-template-columns: 1.1fr .7fr; gap: 80px; align-items: center; width: min(1120px, calc(100% - 48px)); min-height: calc(100vh - 72px); margin: auto; padding-block: 60px; }.welcome-copy h1 { max-width: 750px; margin: 18px 0 24px; font-size: clamp(3.2rem, 6vw, 5.8rem); }.welcome-copy > p { max-width: 690px; color: var(--muted); font-size: 1.08rem; }
.scope-note { max-width: 690px; margin: 28px 0 32px; color: var(--ink); font-size: .86rem; }
.campaign-contract { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; max-width: 690px; margin: -20px 0 30px; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--line); }.campaign-contract > div { padding: 13px 15px; background: #fff; }.campaign-contract span, .campaign-contract b { display: block; }.campaign-contract span { color: var(--muted); font-size: .64rem; }.campaign-contract b { margin-top: 4px; font-size: .74rem; line-height: 1.35; }
.welcome-points { display: grid; grid-template-columns: repeat(3, 1fr); max-width: 710px; gap: 20px; }.welcome-points div { padding-top: 16px; border-top: 2px solid var(--ink); }.welcome-points span { font-family: var(--serif); font-size: 1.45rem; }.welcome-points p { margin: 7px 0 0; color: var(--muted); font-size: .76rem; }
.welcome-card { padding: 30px; background: var(--white); border: 1px solid var(--line); border-radius: 24px; box-shadow: var(--shadow); }.welcome-card h2 { margin: 24px 0 16px; font-size: 1.4rem; }.welcome-card-map { --orbit-radius: 92px; position: relative; height: 230px; border-radius: 18px; background: #13251e; overflow: hidden; }.welcome-card-map::before, .welcome-card-map::after { content: ""; position: absolute; left: 50%; top: 50%; width: 190px; height: 190px; transform: translate(-50%,-50%); border: 1px solid #41534a; border-radius: 50%; }.welcome-card-map::after { width: 122px; height: 122px; border-style: dashed; }.welcome-card-map > span { position: absolute; left: calc(50% + cos(calc(var(--i) * var(--angle) - 90deg)) * var(--orbit-radius)); top: calc(50% + sin(calc(var(--i) * var(--angle) - 90deg)) * var(--orbit-radius)); width: 76px; transform: translate(-50%,-50%); z-index: 2; color: #b9c7c0; font-size: .59rem; line-height: 1.2; text-align: center; text-wrap: balance; }.welcome-card-map > div { position: absolute; left: 50%; top: 50%; z-index: 3; display: grid; place-content: center; width: 86px; height: 86px; transform: translate(-50%,-50%); text-align: center; border-radius: 50%; background: var(--mint); color: var(--ink); }.welcome-card-map small { display: block; font-size: .55rem; text-transform: uppercase; }.welcome-card-map strong { font-size: 1.35rem; }
.check-list { display: grid; gap: 10px; padding: 0; list-style: none; }.check-list li { position: relative; padding-left: 24px; color: var(--muted); font-size: .84rem; }.check-list li::before { content: "✓"; position: absolute; left: 0; color: var(--mint-dark); font-weight: 900; }
.consent-row { display: flex; gap: 10px; align-items: flex-start; margin: 22px 0; font-size: .76rem; }.consent-row input { margin-top: 3px; accent-color: var(--mint-dark); }.fine-print { margin: 14px 0 0; color: var(--muted); font-size: .66rem; }
.assessment-header { position: sticky; top: 0; z-index: 20; }.assessment-progress { display: grid; grid-template-columns: 140px 220px 60px; align-items: center; gap: 14px; font-size: .68rem; }.assessment-progress > span { text-align: right; font-weight: 700; }.assessment-progress > div { height: 5px; background: var(--line); border-radius: 99px; overflow: hidden; }.assessment-progress i { display: block; width: 11%; height: 100%; background: var(--mint-dark); transition: width .3s; }
.assessment-shell { width: min(1240px, calc(100% - 48px)); margin: auto; padding: 50px 0 110px; }.assessment-step { display: none; grid-template-columns: 1fr 300px; gap: 60px; min-height: 650px; }.assessment-step.context-step { grid-template-columns: 260px minmax(0,1fr); gap: 36px; max-width: 1120px; margin-inline: auto; }.assessment-step.is-active { display: grid; animation: rise .35s both; }.step-main { max-width: 800px; }.wide-step { max-width: none; }.step-main > h1 { margin: 13px 0 12px; font-size: clamp(2.5rem, 5vw, 4.6rem); }.question-help { color: var(--muted); }
.option-stack { display: grid; gap: 9px; margin: 30px 0; padding: 0; border: 0; }.choice-card input { position: absolute; opacity: 0; }.choice-card span { display: block; padding: 16px 18px; background: var(--white); border: 1px solid var(--line); border-radius: 12px; cursor: pointer; }.choice-card input:checked + span { border-color: var(--mint-dark); box-shadow: inset 4px 0 var(--mint-dark); }.choice-card b { font-size: .86rem; }
.baseline-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }.baseline-grid label, .optional-note { color: var(--muted); font-size: .72rem; font-weight: 700; }.baseline-grid select, .optional-note textarea, .settings-form input, .auth-form input { display: block; width: 100%; margin-top: 7px; padding: 13px 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--white); color: var(--ink); }.context-grid { grid-template-columns: 1fr; gap: 0; margin-top: 26px; border-top: 1px solid var(--line); }.context-grid label { display: grid; grid-template-columns: minmax(240px,.9fr) minmax(280px,1.1fr); gap: 24px; align-items: center; padding: 15px 0; border-bottom: 1px solid var(--line); }.context-grid label > span { line-height: 1.4; }.context-grid select { margin-top: 0; font-weight: 700; }.context-grid select:invalid { color: var(--muted); font-weight: 400; }.context-grid select option { color: var(--ink); font-weight: 400; }.optional-note textarea { min-height: 130px; resize: vertical; }
.context-field-help { display: block; margin-top: 5px; color: var(--muted); font-size: .72rem; font-weight: 400; line-height: 1.45; }
.coverage-panel, .lens-guide { align-self: start; padding: 24px; background: var(--white); border: 1px solid var(--line); border-radius: 18px; }.coverage-panel h2 { margin: 10px 0; font-size: 1.22rem; }.coverage-panel > p, .lens-guide p { color: var(--muted); font-size: .75rem; }
.context-step .coverage-panel { align-self: stretch; padding: 0 30px 0 0; border: 0; border-right: 1px solid #cbd5e1; border-radius: 0; background: transparent; }
.assessment-step[data-triplet] { grid-template-columns: 260px minmax(0,1fr); gap: 36px; max-width: 1120px; margin-inline: auto; }
.assessment-step[data-triplet] .lens-guide { align-self: stretch; padding: 0 30px 0 0; border: 0; border-right: 1px solid #cbd5e1; border-radius: 0; background: transparent; }
.assessment-step[data-triplet] .lens-guide-content { position: sticky; top: 100px; max-height: calc(100vh - 196px); overflow-y: auto; scrollbar-width: thin; }
.assessment-step[data-triplet] .lens-guide-content > .lens-guide-row { border-color: #cbd5e1; }
.assessment-step[data-triplet] .lens-guide-content > a { display: inline-block; margin-top: 4px; color: var(--muted); font-size: .75rem; text-decoration: underline; text-underline-offset: 3px; }
.lens-guide-field { display: grid; gap: 4px; padding-bottom: 18px; margin-bottom: 18px; border-bottom: 1px solid #cbd5e1; }
.lens-guide-field > strong { font-size: 1.05rem; line-height: 1.3; }
.lens-guide-note { padding-top: 18px; margin-top: 18px; border-top: 1px solid #cbd5e1; }
.lens-guide-note .mini-label { margin-bottom: 8px; }
.lens-guide-note p { margin: 0; }
.coverage-wheel { position: relative; width: 210px; height: 210px; margin: 30px auto; border: 1px solid var(--line); border-radius: 50%; }.coverage-wheel::after { content: ""; position: absolute; inset: 32px; border: 1px dashed var(--line); border-radius: 50%; }.coverage-wheel i { position: absolute; left: calc(50% + cos(calc(var(--i) * 60deg - 90deg)) * 46%); top: calc(50% + sin(calc(var(--i) * 60deg - 90deg)) * 46%); z-index: 2; width: 20px; height: 20px; transform: translate(-50%,-50%); border: 4px solid var(--white); border-radius: 50%; background: var(--line); box-shadow: 0 0 0 1px var(--line); }.coverage-wheel i.complete { background: var(--mint-dark); }.coverage-wheel b { position: absolute; inset: 62px; z-index: 3; display: grid; place-content: center; border-radius: 50%; background: var(--paper); font-size: 1.4rem; }.coverage-wheel b span { display: inline; }
.triplet-heading { display: flex; justify-content: space-between; align-items: end; }.triplet-heading h1 { margin: 10px 0 0; font-size: 3rem; }.triplet-tag { padding: 7px 11px; border-radius: 99px; background: var(--paper-2); font-size: .7rem; font-weight: 800; }
.assessment-step[data-triplet] .question-help { margin: 8px 0 0; font-size: .75rem; }
.triplet-questions { display: grid; gap: 0; margin-top: 32px; border-top: 1px solid #cbd5e1; }.lens-question { margin: 0; padding: 24px 0 28px; border: 0; border-bottom: 1px solid #cbd5e1; border-radius: 0; background: transparent; }.lens-question legend { float: left; display: flex; align-items: flex-start; gap: 8px; width: 100%; margin-bottom: 14px; padding: 0; font-size: .85rem; line-height: 1.45; }.lens-question legend + * { clear: both; }.lens-question .question-index { flex: 0 0 auto; font-weight: 600; }.lens-question .question-text { flex: 1; min-width: 0; font-weight: 600; }.lens-question .lens-badge { display: grid; flex: 0 0 25px; width: 25px; height: 25px; margin-left: auto; place-items: center; border-radius: 8px; background: var(--violet); font-size: .72rem; font-weight: 900; line-height: 1; }.lens-b .lens-badge { background: var(--coral); }.lens-c .lens-badge { background: var(--mint); }
.scale-row { display: grid; gap: 8px; }.scale-primary { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 7px; }.scale-fallbacks { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; align-items: center; }.scale-option { position: relative; min-width: 0; }.scale-option-missing { flex: 0 0 auto; }.scale-row input { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); width: 17px; height: 17px; margin: 0; accent-color: var(--mint-dark); }.scale-row label > span { display: flex; align-items: center; gap: 7px; min-height: 50px; padding: 9px 12px 9px 40px; border: 1px solid #dde4e2; border-radius: 9px; background: rgba(255,255,255,.42); cursor: pointer; transition: .15s; }.scale-row .scale-option-missing > span { min-height: 38px; padding: 6px 12px 6px 34px; border-color: #d1d5db; background: #e9e9e5; color: #6b7280; }.scale-row .scale-option-missing input { left: 10px; width: 15px; height: 15px; }.scale-row input:focus-visible + span { outline: 2px solid var(--mint-dark); outline-offset: 2px; }.scale-row input:checked + span { border-color: #68aa9d; background: #d9ede8; color: var(--ink); font-weight: 700; }.scale-row .scale-option-missing input:checked + span { border-color: #aeb4b1; background: #dedfdb; color: #4b5563; }.scale-row small { font-size: .6rem; line-height: 1.15; }
.lens-guide-row { display: flex; gap: 10px; padding: 17px 0; border-top: 1px solid var(--line); }.lens-guide-content > .mini-label + .lens-guide-row { margin-top: 12px; }.lens-guide b { display: grid; place-items: center; min-width: 30px; height: 30px; border-radius: 8px; }.p-bg { background: var(--violet); }.b-bg { background: var(--coral); }.c-bg { background: var(--mint); }.lens-guide p { margin: 0; }.lens-guide p strong { display: block; color: var(--ink); }
.deepener-step { grid-template-columns: 260px minmax(0,1fr); gap: 36px; max-width: 1120px; margin-inline: auto; }.deepener-step .step-main { min-width: 0; }.deepener-step .step-main > h1 { max-width: 760px; font-size: clamp(2.35rem, 3.4vw, 3.15rem); }.deepener-step .question-help { font-size: .82rem; line-height: 1.55; }.deepener-step .coverage-panel { align-self: stretch; padding: 0 30px 0 0; border: 0; border-right: 1px solid #cbd5e1; border-radius: 0; background: transparent; }.deepener-step .followup-guide-content { position: sticky; top: 100px; }.deepener-list { display: grid; gap: 0; margin-top: 28px; border-top: 1px solid #cbd5e1; }.deepener { display: none; margin: 0; padding: 24px 0 28px; border: 0; border-bottom: 1px solid #cbd5e1; border-radius: 0; background: transparent; }.deepener.is-triggered { display: block; }.deepener legend { float: left; width: 100%; margin-bottom: 12px; padding: 0; font-size: 1rem; font-weight: 800; }.deepener legend > span, .deepener legend > small { display: block; }.deepener legend > small { margin-top: 4px; color: var(--muted); font-size: .7rem; font-weight: 500; }.deepener legend + * { clear: both; }.option-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 14px; }.option-grid input { position: absolute; opacity: 0; }.option-grid span { position: relative; display: block; padding: 10px 36px 10px 12px; border: 1px solid var(--line); border-radius: 9px; background: rgba(255,255,255,.42); font-size: .72rem; cursor: pointer; }.option-grid input:checked + span { border-color: #68aa9d; background: #d9ede8; color: var(--ink); font-weight: 700; }.option-grid input[type=checkbox]:checked + span::after { position: absolute; right: 12px; color: var(--mint-dark); font-weight: 900; content: "✓"; }.option-grid input:disabled + span { opacity: .5; cursor: not-allowed; }.no-deepeners { display: none; padding: 50px; text-align: center; background: var(--white); border: 1px solid var(--line); border-radius: 16px; }.no-deepeners > span { display: grid; place-items: center; width: 48px; height: 48px; margin: auto; border-radius: 50%; background: var(--mint); }.no-deepeners h2 { margin: 18px 0 8px; font-size: 1.3rem; }.no-deepeners p { color: var(--muted); font-size: .8rem; }
.review-step { grid-template-columns: 260px minmax(0,1fr); gap: 36px; max-width: 1120px; margin-inline: auto; }.review-step .coverage-panel { align-self: stretch; padding: 0 30px 0 0; border: 0; border-right: 1px solid #cbd5e1; border-radius: 0; background: transparent; }.review-step .review-guide-content { position: sticky; top: 100px; }.review-guide-note { margin-top: 20px; padding-top: 18px; border-top: 1px solid #cbd5e1; }.review-guide-note strong, .review-guide-note span { display: block; }.review-guide-note strong { font-size: .82rem; }.review-guide-note span { margin-top: 4px; color: var(--muted); font-size: .75rem; }
.finish-preview { display: grid; grid-template-columns: 150px 1fr; gap: 28px; margin: 30px 0; padding: 24px; border-radius: 16px; background: var(--white); border: 1px solid var(--line); }.mini-map-complete { display: grid; place-content: center; text-align: center; border-radius: 50%; aspect-ratio: 1; background: var(--mint); }.mini-map-complete span { font-size: 1.8rem; font-weight: 800; }.mini-map-complete small { font-size: .58rem; }.finish-preview h2 { font-size: 1.2rem; }.privacy-seal { margin-top: 25px; padding: 20px; border: 1px dashed var(--mint-dark); border-radius: 50%; text-align: center; color: var(--mint-dark); font-size: .72rem; transform: rotate(-3deg); }
.assessment-actions { position: fixed; bottom: 0; left: 0; right: 0; z-index: 30; display: flex; align-items: center; justify-content: center; gap: 30px; min-height: 78px; padding: 12px 30px; border-top: 1px solid var(--line); background: rgba(255,254,250,.94); backdrop-filter: blur(16px); }.assessment-actions .button { min-width: 130px; }.assessment-actions button[disabled] { opacity: .35; }.autosave-state { flex: 0 0 280px; color: var(--muted); font-size: .68rem; text-align: center; }.form-errors { padding: 12px 16px; margin-bottom: 20px; border-radius: 10px; background: #fae1db; color: #8b3129; }.form-errors p { margin: 0; }

/* Reports */
.report-page { background: var(--white); }.report-hero, .group-report-top { padding-top: 75px; padding-bottom: 65px; }.report-hero { display: flex; align-items: end; justify-content: space-between; gap: 40px; }.report-hero h1, .group-title-row h1 { margin: 15px 0 20px; font-size: clamp(3rem, 5vw, 5.4rem); }.report-hero p, .group-title-row p { color: var(--muted); }.report-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 10px; min-width: fit-content; }.report-actions > small { flex-basis: 100%; max-width: 330px; color: var(--muted); font-size: .58rem; line-height: 1.4; text-align: right; }
.result-summary-grid { display: grid; grid-template-columns: 1.3fr .7fr; gap: 20px; padding-bottom: 100px; }.result-map-card, .highlight-card { padding: 30px; border: 1px solid var(--line); border-radius: 20px; background: var(--paper); }.card-heading h2 { margin: 4px 0 0; font-size: 1.4rem; }
.construct-map { display: grid; gap: 12px; margin: 34px 0; }.construct-row { display: grid; grid-template-columns: 90px minmax(330px, 1fr) 130px; gap: 12px; align-items: center; }.construct-row > span { font-size: .76rem; font-weight: 700; }.construct-row > small { color: var(--muted); font-size: .6rem; }.triplet-vector { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }.vector-answer { display: grid; grid-template-columns: 23px 1fr; align-items: center; min-height: 42px; padding: 6px; border: 1px solid var(--line); border-left: 4px solid var(--violet); border-radius: 9px; background: var(--white); }.vector-answer b { display: grid; place-items: center; width: 21px; height: 21px; border-radius: 6px; background: var(--violet); font-size: .62rem; }.vector-answer small { padding-left: 5px; font-size: .58rem; }.vector-b { border-left-color: var(--coral); }.vector-b b { background: var(--coral); }.vector-c { border-left-color: var(--mint-dark); }.vector-c b { background: var(--mint); }.vector-note { margin: 0; padding-top: 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: .67rem; }.report-version { color: var(--muted); font-size: .62rem; }.critical { background: var(--coral)!important; }.watch { background: var(--amber)!important; }.strong { background: var(--mint)!important; }.empty { background: var(--line)!important; }
.result-highlights { display: grid; gap: 20px; }.highlight-card { position: relative; min-height: 240px; background: #fae8e2; }.strength-highlight { background: #e7f5ee; }.highlight-card h2 { margin: 14px 0; font-size: 1.7rem; }.highlight-card p { color: var(--muted); font-size: .82rem; }.signal-pill { position: absolute; right: 22px; bottom: 22px; left: 22px; padding: 7px 9px; border-radius: 9px; background: rgba(255,255,255,.7); font-size: .61rem; font-weight: 750; }
.finding-section { padding-bottom: 110px; }.full-finding, .group-finding { border: 1px solid var(--line); border-radius: 22px; overflow: hidden; }.finding-title { display: flex; gap: 20px; padding: 30px; background: var(--ink); color: white; }.finding-title > span { color: var(--mint); font-family: var(--serif); font-size: 2.4rem; }.finding-title small { color: var(--mint); font-size: .65rem; text-transform: uppercase; letter-spacing: .08em; }.finding-title h3 { margin: 4px 0 0; font-family: var(--serif); font-size: 2rem; font-weight: 500; }
.finding-grid { display: grid; grid-template-columns: 1fr 1fr; }.finding-grid > div { min-height: 175px; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }.finding-grid > div:nth-child(even) { border-right: 0; }.finding-grid > div > span { color: var(--mint-dark); font-size: .68rem; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }.finding-grid p { margin: 11px 0 0; color: var(--muted); font-size: .88rem; }.finding-grid .verify-cell { grid-column: 1 / -1; min-height: 120px; border: 0; background: #edf5f1; }
.group-upgrade { padding-block: 80px; background: var(--mint-dark); color: white; }.group-upgrade > div { display: flex; justify-content: space-between; align-items: center; gap: 60px; }.group-upgrade h2 { margin: 12px 0; }.group-upgrade p { max-width: 730px; margin: 0; color: #d6ebe3; }.group-upgrade .eyebrow { color: var(--mint); }
.individual-value-receipt { display: grid; grid-template-columns: .8fr 1.2fr; gap: 35px; align-items: center; margin-top: 28px; padding: 28px 30px; border: 1px solid #a7cfc0; border-radius: 17px; background: #eff9f5; }.individual-value-receipt h2 { margin: 6px 0 0; font-size: 1.55rem; }.individual-value-receipt ol { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 0; padding: 0; overflow: hidden; border: 1px solid #b9d8cc; border-radius: 10px; background: #b9d8cc; list-style: none; }.individual-value-receipt li { padding: 14px; background: #fff; }.individual-value-receipt b, .individual-value-receipt span { display: block; }.individual-value-receipt b { color: #17634d; font-size: .72rem; }.individual-value-receipt span { margin-top: 5px; color: var(--muted); font-size: .68rem; line-height: 1.45; }
.selection-trace { display: grid; grid-template-columns: 170px 1fr; gap: 8px 20px; padding: 20px 24px; border-top: 1px solid var(--line); background: #f7f7f4; }.selection-trace span { grid-row: span 2; color: var(--mint-dark); font-size: .66rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }.selection-trace p, .selection-trace b { margin: 0; font-size: .76rem; line-height: 1.55; }.selection-trace p { color: var(--muted); }.individual-investigation { padding-block: 70px; }.individual-investigation .section-heading p { max-width: 760px; color: var(--muted); }.hypothesis-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }.hypothesis-grid article { display: flex; min-height: 275px; flex-direction: column; padding: 24px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }.hypothesis-grid article > span { color: var(--mint-dark); font-size: .63rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }.hypothesis-grid h3 { margin: 10px 0 8px; font-size: 1.05rem; }.hypothesis-grid p { margin: 0; color: var(--muted); font-size: .76rem; line-height: 1.55; }.hypothesis-grid article > div { margin-top: auto; padding-top: 20px; }.hypothesis-grid article > div b, .hypothesis-grid article > div small { display: block; }.hypothesis-grid article > div b { font-size: .67rem; }.hypothesis-grid article > div small { margin-top: 5px; color: var(--muted); font-size: .68rem; line-height: 1.45; }
.individual-plan-section { padding-block: 72px; background: #102a23; color: #fff; }.individual-plan { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }.individual-plan article { padding: 22px; border: 1px solid #36544a; border-radius: 13px; background: #17372e; }.individual-plan article > span { color: var(--mint); font-size: .65rem; font-weight: 850; }.individual-plan h3 { margin: 10px 0 7px; font-size: 1rem; }.individual-plan p { margin: 0; color: #bdd0c9; font-size: .74rem; line-height: 1.55; }.conversation-script { display: grid; grid-template-columns: 180px 1fr; gap: 8px 24px; margin-top: 18px; padding: 23px; border-radius: 13px; background: var(--mint); color: #123e32; }.conversation-script > span { grid-row: span 2; font-size: .68rem; font-weight: 850; text-transform: uppercase; }.conversation-script blockquote { margin: 0; font-family: var(--serif); font-size: 1.2rem; line-height: 1.35; }.conversation-script p { margin: 0; font-size: .68rem; }
.breadcrumb { display: flex; gap: 9px; margin-bottom: 35px; color: var(--muted); font-size: .72rem; }.breadcrumb a:hover { color: var(--mint-dark); }.group-title-row { display: flex; justify-content: space-between; align-items: end; gap: 40px; }.evidence-banner { display: flex; align-items: center; justify-content: space-between; gap: 30px; margin-top: 40px; padding: 18px 22px; border: 1px solid #abd7c4; border-radius: 14px; background: #edf8f3; }.evidence-banner > div:first-child { display: grid; grid-template-columns: 10px auto; column-gap: 10px; }.evidence-banner p { grid-column: 2; margin: 0; color: var(--muted); font-size: .72rem; }.state-dot { width: 9px; height: 9px; margin-top: 7px; border-radius: 50%; background: var(--mint-dark); }.privacy-caution { background: #fff7df; border-color: #e2c879; }.privacy-caution .state-dot { background: #bc842b; }.privacy-locked { background: #fae9e4; border-color: #dea69b; }.privacy-locked .state-dot { background: var(--red); }.evidence-stats { display: flex; gap: 25px; }.evidence-stats span { padding-left: 22px; border-left: 1px solid var(--line); color: var(--muted); font-size: .62rem; }.evidence-stats b { display: block; color: var(--ink); font-size: .88rem; }
.report-subnav { position: sticky; top: 78px; z-index: 15; border-block: 1px solid var(--line); background: rgba(255,254,250,.94); backdrop-filter: blur(15px); }.report-subnav > div { display: flex; gap: 30px; height: 55px; align-items: center; }.report-subnav a { position: relative; color: var(--muted); font-size: .7rem; font-weight: 750; }.report-subnav a:hover, .report-subnav a.is-active { color: var(--ink); }.report-subnav a.is-active::after { position: absolute; right: 0; bottom: -19px; left: 0; height: 3px; border-radius: 3px 3px 0 0; background: var(--mint-dark); content: ""; }
.report-section { padding-block: 100px; }.report-section-label { display: flex; gap: 18px; align-items: center; margin-bottom: 45px; }.report-section-label > span { color: var(--mint-dark); font-family: var(--serif); font-size: 2rem; }.report-section-label small { color: var(--muted); font-size: .65rem; text-transform: uppercase; letter-spacing: .1em; }.report-section-label h2 { margin: 3px 0 0; font-size: 2.2rem; }.constraint-chain { display: grid; grid-template-columns: 1fr 30px 1fr 30px 1fr; align-items: stretch; }.constraint-chain article { padding: 25px; border: 1px solid var(--line); border-radius: 16px; background: var(--paper); }.constraint-chain > i { display: grid; place-items: center; color: var(--mint-dark); font-style: normal; }.constraint-chain article span { color: var(--mint-dark); font-size: .63rem; font-weight: 800; text-transform: uppercase; }.constraint-chain h3 { margin: 12px 0; }.constraint-chain p { margin: 0; color: var(--muted); font-size: .8rem; }.executive-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; margin-top: 15px; }.executive-cards article { padding: 25px; border: 1px solid var(--line); border-radius: 16px; }.executive-cards h3 { margin: 12px 0; }.executive-cards p { color: var(--muted); font-size: .75rem; }
.map-report-section { overflow-x: clip; background: #12231c; color: white; }.report-section-label.light small { color: #8fa198; }.group-map-layout { display: grid; grid-template-columns: 1.4fr .6fr; gap: 18px; }.heatmap-card { padding: 25px; border: 1px solid #3b4a43; border-radius: 18px; background: #172b22; }.heatmap-header, .heatmap-row { display: grid; grid-template-columns: 1.3fr repeat(3, .7fr) .7fr; gap: 8px; align-items: center; }.heatmap-header { padding: 0 10px 10px; color: #889a91; font-size: .62rem; }.heatmap-row { padding: 10px; border-top: 1px solid #304239; }.heatmap-row strong { font-size: .76rem; }.heat { display: grid; place-items: center; min-height: 44px; border-radius: 9px; color: var(--ink); font-weight: 850; }.spread { width: fit-content; padding: 5px 8px; border-radius: 99px; background: #253b31; color: #a8bab1; font-size: .6rem; }.spread-high { color: #ffc1b3; }.heatmap-legend { display: flex; gap: 16px; margin-top: 18px; color: #8fa198; font-size: .6rem; }.heatmap-legend span { display: flex; align-items: center; gap: 6px; }.heatmap-legend i { width: 8px; height: 8px; border-radius: 3px; }
.snapshot-line { margin: 12px 0 0; color: var(--muted); font-size: .58rem; }.report-print-manifest { display: none; }.distribution-layout { grid-template-columns: minmax(0, 1fr) 280px; }.heatmap-card { overflow-x: auto; }.distribution-map { min-width: 980px; }.distribution-shared-boundary { margin: 0 8px 12px; padding: 10px 12px; border-left: 3px solid #72c9aa; background: rgba(255,255,255,.06); color: #c4d5ce; font-size: .62rem; line-height: 1.5; }.distribution-shared-boundary b { color: #e2ece7; }.distribution-map-head, .distribution-construct { display: grid; grid-template-columns: 112px repeat(3, minmax(250px, 1fr)); gap: 8px; }.distribution-map-head { padding: 0 8px 10px; color: #9badA4; font-size: .58rem; font-weight: 750; }.distribution-construct { padding: 10px 8px; border-top: 1px solid #304239; }.distribution-construct > h3 { margin: 8px 0; font-size: .72rem; }.distribution-cell { min-width: 0; padding: 10px; border: 1px solid #3b4a43; border-radius: 10px; background: #1d3329; }.distribution-cell header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }.lens-name { display: flex; align-items: center; gap: 5px; color: #bed0c7; font-size: .62rem; }.lens-name b { display: grid; place-items: center; width: 19px; height: 19px; border-radius: 5px; background: var(--mint); color: var(--ink); }.evidence-badge { color: #9badA4; font-size: .56rem; }.distribution-strip { display: flex; gap: 2px; height: 14px; margin: 10px 0 8px; overflow: hidden; border-radius: 5px; background: #31473d; }.distribution-band { flex: var(--count) 0 0; min-width: 0; }.band-0 { background: repeating-linear-gradient(135deg,#e77463,#e77463 3px,#ba5143 3px,#ba5143 6px); }.band-1 { background: #e99b71; }.band-2 { background: #e8c76e; }.band-3 { background: #9fd1b8; }.band-4 { background: repeating-linear-gradient(45deg,#5fa888,#5fa888 3px,#438b6d 3px,#438b6d 6px); }.distribution-summary { display: flex; justify-content: space-between; gap: 8px; font-size: .62rem; }.distribution-summary span { color: #a9bbb2; }.distribution-meta { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 7px; color: #9badA4; font-size: .56rem; }.distribution-cell > p { margin: 6px 0 0; color: #a9bbb2; font-size: .56rem; }.distribution-narrative { margin-top: 10px; padding: 10px; border-left: 3px solid #72c9aa; background: rgba(255,255,255,.06); }.distribution-narrative b { color: #bfe3d4; font-size: .58rem; letter-spacing: .04em; text-transform: uppercase; }.distribution-narrative p { margin: 5px 0; color: #e2ece7; font-size: .64rem; line-height: 1.48; }.distribution-narrative small { display: block; color: #a9bbb2; font-size: .58rem; line-height: 1.42; }.distribution-cell details { margin-top: 8px; border-top: 1px solid #3b4a43; color: #9badA4; font-size: .56rem; }.distribution-cell summary { padding-top: 7px; cursor: pointer; }.distribution-cell details p { color: inherit; }.distribution-legend { display: flex; flex-wrap: wrap; gap: 12px; padding: 14px 8px 0; color: #9badA4; font-size: .58rem; }.distribution-legend span { display: flex; align-items: center; gap: 5px; }.distribution-legend i { width: 12px; height: 12px; border-radius: 3px; }.suppression-message { padding: 10px; border-radius: 7px; background: rgba(255,255,255,.06); }.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.map-interpretation { padding: 30px; border-radius: 18px; background: var(--mint); color: var(--ink); }.map-interpretation .mini-label { color: var(--ink); opacity: .6; }.map-interpretation h3 { margin: 17px 0; font-family: var(--serif); font-size: 1.75rem; font-weight: 500; }.map-interpretation p { font-size: .8rem; }.callout-metric { display: flex; gap: 12px; align-items: center; padding: 14px 0; border-top: 1px solid rgba(20,35,29,.2); }.callout-metric b { font-family: var(--serif); font-size: 1.8rem; }.callout-metric span { font-size: .65rem; }
.group-findings { display: grid; gap: 25px; }.group-finding .finding-signal { margin: 0; padding: 18px 28px; background: #f3f2ec; color: var(--muted); font-size: .74rem; }.finding-grid.compact > div { min-height: 145px; }.coverage-section { padding-block: 100px; background: var(--paper); }.coverage-report-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }.coverage-report-grid > article { padding: 28px; background: var(--white); border: 1px solid var(--line); border-radius: 18px; }.coverage-report-grid h3 { margin-bottom: 25px; }.coverage-bars { display: grid; gap: 13px; }.coverage-bars > div { display: grid; grid-template-columns: 150px 1fr 40px; gap: 10px; align-items: center; font-size: .72rem; }.coverage-bars span small { color: var(--muted); }.coverage-bars i { height: 8px; border-radius: 99px; background: var(--paper-2); overflow: hidden; }.coverage-bars i b { display: block; height: 100%; background: var(--mint-dark); }.coverage-bars em { color: var(--muted); font-family: var(--sans); font-size: .65rem; }.coverage-bars .suppressed { grid-template-columns: 1fr auto; padding: 12px; border-radius: 9px; background: var(--paper-2); }.coverage-bars .suppressed strong { color: var(--muted); font-size: .58rem; }.tension-list { display: grid; gap: 10px; }.tension-list div { display: grid; grid-template-columns: 1fr auto auto; gap: 10px; padding: 16px; border-radius: 12px; background: #faece7; }.tension-list b { grid-column: 1/-1; }.tension-list span { font-size: .7rem; }.tension-list small { grid-column: 1/-1; color: var(--muted); font-size: .62rem; }.tension-list .suppressed { background: var(--paper-2); }
.action-table { border: 1px solid var(--line); border-radius: 16px; overflow: hidden; }.action-table > div { display: grid; grid-template-columns: 1.35fr .8fr .85fr 1fr; }.action-table span, .action-table strong { padding: 17px; border-right: 1px solid var(--line); font-size: .73rem; }.action-table span:last-child { border: 0; }.action-table > div:not(.action-head) { border-top: 1px solid var(--line); }.action-head { background: var(--paper); color: var(--muted); font-size: .65rem; }.workshop-cta { display: flex; align-items: center; justify-content: space-between; gap: 50px; margin-top: 25px; padding: 35px; border-radius: 18px; background: var(--mint); }.workshop-cta h3 { margin: 8px 0; font-family: var(--serif); font-size: 1.6rem; }.workshop-cta p { max-width: 700px; margin: 0; font-size: .8rem; }

/* Admin */
.admin-page { background: #f8fafc; }.admin-shell { display: grid; grid-template-columns: 250px 1fr; min-height: 100vh; }.admin-sidebar { position: sticky; top: 0; display: flex; flex-direction: column; height: 100vh; padding: 22px 15px; background: var(--brand-dark); color: #dbe5df; }.admin-brand { padding: 4px 10px 24px; color: white; }
.workspace-switcher { display: flex; align-items: center; gap: 9px; width: 100%; padding: 10px; border: 1px solid #304139; border-radius: 11px; background: #1a2b24; color: white; text-align: left; }.workspace-switcher > span:nth-child(2) { flex: 1; }.workspace-switcher small, .workspace-switcher b { display: block; }.workspace-switcher small { color: #82948b; font-size: .55rem; }.workspace-switcher b { font-size: .73rem; }
.avatar { display: grid; place-items: center; flex: 0 0 auto; width: 34px; height: 34px; border-radius: 10px; background: #ddeee6; color: var(--ink); font-size: .65rem; font-style: normal; font-weight: 850; }.avatar-dark { background: var(--mint-dark); color: white; }.avatar-mint { background: var(--mint); }.avatar-xl { width: 64px; height: 64px; border-radius: 17px; font-size: 1rem; }
.admin-nav { display: flex; flex-direction: column; gap: 3px; margin-top: 20px; }.admin-nav > span { margin: 16px 11px 5px; color: #64766d; font-size: .56rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.admin-nav a { display: flex; align-items: center; gap: 11px; min-height: 38px; padding: 8px 11px; border-radius: 8px; color: #9badA4; font-size: .72rem; font-weight: 650; }.admin-nav a i { width: 17px; color: #74877d; font-style: normal; text-align: center; }.admin-nav a:hover, .admin-nav a.active { background: #24372f; color: white; }.admin-nav a.active i { color: var(--mint); }
.sidebar-help { margin-top: auto; padding: 13px; border: 1px solid #304139; border-radius: 10px; background: #192a23; }.sidebar-help span { color: var(--mint); font-size: .61rem; font-weight: 800; }.sidebar-help p { margin: 5px 0; color: #7f9188; font-size: .62rem; }.sidebar-help a { font-size: .62rem; font-weight: 750; }.user-chip { display: flex; align-items: center; gap: 9px; padding: 16px 7px 0; }.user-chip > span:nth-child(2) { flex: 1; }.user-chip b, .user-chip small { display: block; }.user-chip b { font-size: .68rem; }.user-chip small { color: #71847a; font-size: .56rem; }
.admin-main { min-width: 0; }.admin-topbar { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; justify-content: space-between; min-height: 64px; padding: 0 28px; border-bottom: 1px solid var(--line); background: rgba(255,255,252,.9); backdrop-filter: blur(14px); }.global-search { display: flex; align-items: center; width: min(440px, 45vw); gap: 8px; }.global-search input { flex: 1; border: 0; outline: 0; background: transparent; font-size: .75rem; }.global-search kbd { padding: 3px 7px; border: 1px solid var(--line); border-radius: 5px; color: var(--muted); font-size: .55rem; }.topbar-actions { display: flex; align-items: center; gap: 10px; }.topbar-actions > button { border: 0; background: transparent; }.demo-badge { padding: 5px 8px; border-radius: 99px; background: #fff0c9; color: #8a621d; font-size: .6rem; font-weight: 800; }.mobile-admin-toggle { display: none; }
.admin-content { width: min(1330px, calc(100% - 56px)); margin: auto; padding: 38px 0 70px; }.admin-page-head { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 28px; }.admin-page-head > div:last-child { display: flex; gap: 9px; }.admin-page-head h1 { margin: 5px 0 8px; font-size: 2.4rem; }.admin-page-head p { margin: 0; color: var(--muted); font-size: .82rem; }
.metric-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; margin-bottom: 16px; }.metric-grid article { position: relative; min-height: 130px; padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: var(--white); }.metric-grid article > span { display: block; color: var(--muted); font-size: .66rem; font-weight: 700; }.metric-grid article > b { display: block; margin: 13px 0 5px; font-family: var(--serif); font-size: 2.1rem; line-height: 1; }.metric-grid article > small { color: var(--muted); font-size: .6rem; }.metric-grid .metric-attention { background: #faeee8; border-color: #edcfc4; }.metric-grid .metric-text { font-family: var(--sans); font-size: 1.5rem; }
.admin-two-col { display: grid; grid-template-columns: 1.25fr .75fr; gap: 16px; margin-bottom: 16px; }.admin-card { padding: 22px; border: 1px solid var(--line); border-radius: 14px; background: var(--white); box-shadow: 0 3px 16px rgba(20,35,29,.025); }.admin-card .card-heading { margin-bottom: 20px; }.admin-card .card-heading h2 { font-size: 1.18rem; }.admin-card .card-heading a { color: var(--mint-dark); font-size: .66rem; font-weight: 800; }
.campaign-list a, .decision-list a { display: flex; align-items: center; gap: 12px; padding: 13px 0; border-top: 1px solid var(--line); }.campaign-list a:first-child, .decision-list a:first-child { border-top: 0; }.campaign-icon { display: grid; place-items: center; width: 35px; height: 35px; border-radius: 10px; background: var(--paper-2); font-size: .6rem; font-weight: 850; }.campaign-list a > span:nth-child(2) { flex: 1; }.campaign-list b, .campaign-list small, .decision-list b, .decision-list small { display: block; }.campaign-list b, .decision-list b { font-size: .72rem; }.campaign-list small, .decision-list small { color: var(--muted); font-size: .58rem; }.mini-progress { display: flex; align-items: center; gap: 7px; min-width: 130px; }.mini-progress i { width: 85px; height: 5px; border-radius: 99px; background: var(--paper-2); overflow: hidden; }.mini-progress i b, .table-progress b { display: block; height: 100%; background: var(--mint-dark); }.campaign-list em { color: var(--muted); font-style: normal; }
.count-pill { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; background: var(--coral); font-size: .65rem; font-weight: 850; }.decision-list a { align-items: flex-start; }.decision-list a > div { flex: 1; }.decision-list p { margin: 4px 0; color: var(--muted); font-size: .65rem; }.state-icon { display: grid; place-items: center; flex: 0 0 auto; width: 28px; height: 28px; border-radius: 9px; font-size: .7rem; font-weight: 850; }.state-icon.amber { background: #ffefc6; color: #9c6c20; }.state-icon.mint { background: #dff5eb; color: #317c62; }.state-icon.coral { background: #fae2dc; color: #a84b3f; }
.org-tile-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 9px; }.org-tile { display: flex; align-items: center; gap: 10px; padding: 13px; border: 1px solid var(--line); border-radius: 11px; }.org-tile > span:nth-child(2) { flex: 1; }.org-tile b, .org-tile small { display: block; }.org-tile b { font-size: .68rem; }.org-tile small { color: var(--muted); font-size: .55rem; }.health-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--amber); }.health-dot.healthy { background: var(--mint-dark); }
.filter-bar { display: flex; gap: 8px; align-items: center; margin-bottom: 14px; }.filter-bar button, .search-field { min-height: 38px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--white); color: var(--muted); font-size: .66rem; }.search-field { display: flex; align-items: center; gap: 8px; min-width: 290px; }.search-field input { border: 0; outline: 0; background: transparent; }.filter-bar > span { margin-left: auto; color: var(--muted); font-size: .65rem; }.table-card { padding: 0; overflow: hidden; }.data-table .table-head, .data-table .table-row { display: grid; align-items: center; gap: 12px; padding: 13px 18px; }.org-table .table-head, .org-table .table-row { grid-template-columns: 2fr .8fr .6fr 1fr .7fr 20px; }.data-table .table-head { background: #f4f4ee; color: var(--muted); font-size: .58rem; font-weight: 800; text-transform: uppercase; }.data-table .table-row { min-height: 70px; border-top: 1px solid var(--line); font-size: .66rem; }.entity-cell { display: flex; align-items: center; gap: 10px; }.entity-cell > span { min-width: 0; }.entity-cell b, .entity-cell small { display: block; }.entity-cell small { color: var(--muted); font-size: .56rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }.table-progress { display: block; width: 90px; height: 5px; border-radius: 99px; background: var(--paper-2); overflow: hidden; }.table-row > span > small { color: var(--muted); }.admin-empty-prompt { display: flex; align-items: center; justify-content: space-between; margin-top: 16px; padding: 24px; border: 1px dashed #b9c0b8; border-radius: 14px; }.admin-empty-prompt > div { display: grid; grid-template-columns: 38px 1fr; column-gap: 12px; }.admin-empty-prompt > div > span { grid-row: span 2; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; background: var(--mint); }.admin-empty-prompt h3 { margin: 0; font-size: .85rem; }.admin-empty-prompt p { margin: 3px 0 0; color: var(--muted); font-size: .65rem; }
.admin-breadcrumb { margin-bottom: 18px; }.entity-title { display: flex!important; align-items: center; gap: 14px!important; }.tab-bar { display: flex; gap: 25px; margin-bottom: 18px; border-bottom: 1px solid var(--line); }.tab-bar a { padding: 12px 2px; color: var(--muted); font-size: .68rem; font-weight: 750; }.tab-bar a.active { color: var(--ink); border-bottom: 2px solid var(--ink); }.org-metrics { margin-bottom: 16px; }.org-layout { grid-template-columns: 1.3fr .7fr; }.icon-button { border: 0; background: transparent; color: var(--muted); }.scope-detail { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }.scope-detail div { padding-bottom: 14px; border-bottom: 1px solid var(--line); }.scope-detail span, .scope-detail b { display: block; }.scope-detail span { color: var(--muted); font-size: .6rem; }.scope-detail b { margin-top: 3px; font-size: .73rem; }.scope-warning { display: flex; gap: 10px; margin-top: 18px; padding: 12px; border-radius: 9px; background: #edf5f1; }.scope-warning > span { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--mint-dark); color: white; font-size: .6rem; }.scope-warning p { margin: 0; color: var(--muted); font-size: .62rem; }.people-stack { display: grid; gap: 10px; }.people-stack > div { display: flex; align-items: center; gap: 9px; }.people-stack > div > span:nth-child(2) { flex: 1; }.people-stack b, .people-stack small { display: block; }.people-stack b { font-size: .67rem; }.people-stack small { color: var(--muted); font-size: .55rem; }
.campaign-board { display: grid; grid-template-columns: repeat(3, 1fr); gap: 11px; }.campaign-board > a, .new-campaign-card { min-height: 210px; padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); text-align: left; }.campaign-board-top { display: flex; justify-content: space-between; }.campaign-board-top small { color: var(--muted); font-size: .55rem; }.campaign-board h3 { margin: 25px 0 3px; font-size: .9rem; }.campaign-board p { color: var(--muted); font-size: .63rem; }.board-progress { margin-top: 22px; }.board-progress span, .board-progress small { display: block; font-size: .58rem; }.board-progress i { display: block; height: 6px; margin: 7px 0; border-radius: 99px; background: var(--paper-2); overflow: hidden; }.board-progress i b { display: block; height: 100%; background: var(--mint-dark); }.board-progress small { color: var(--muted); }.new-campaign-card { display: grid; place-content: center; justify-items: center; border-style: dashed; color: var(--muted); }.new-campaign-card span { font-size: 1.6rem; }.new-campaign-card b { color: var(--ink); font-size: .75rem; }.new-campaign-card small { font-size: .58rem; }
.campaign-status-bar { display: grid; grid-template-columns: 1fr 40px 1fr 40px 1fr 40px 1fr; align-items: center; margin-bottom: 16px; padding: 14px 20px; border: 1px solid var(--line); border-radius: 13px; background: var(--white); }.campaign-status-bar > div { display: flex; align-items: center; gap: 8px; opacity: .45; }.campaign-status-bar > div.active { opacity: 1; }.campaign-status-bar i { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--paper-2); font-style: normal; font-size: .62rem; }.campaign-status-bar .active i { background: var(--mint); }.campaign-status-bar b, .campaign-status-bar small { display: block; }.campaign-status-bar b { font-size: .65rem; }.campaign-status-bar small { color: var(--muted); font-size: .53rem; }.campaign-status-bar > em { height: 1px; background: var(--line); }
.campaign-control-grid { display: grid; grid-template-columns: .75fr 1.3fr .95fr; gap: 16px; margin-bottom: 16px; }.completion-donut { display: grid; place-content: center; width: 150px; height: 150px; margin: 12px auto 20px; border-radius: 50%; background: conic-gradient(var(--mint-dark) calc(var(--pct) * 1%), var(--paper-2) 0); }.completion-donut::before { content: ""; position: absolute; }.completion-donut > div { display: grid; place-content: center; width: 112px; height: 112px; border-radius: 50%; background: var(--white); text-align: center; }.completion-donut b { font-family: var(--serif); font-size: 2rem; line-height: 1; }.completion-donut span { color: var(--muted); font-size: .62rem; }.completion-stats { display: grid; grid-template-columns: repeat(3, 1fr); margin-bottom: 18px; border-block: 1px solid var(--line); }.completion-stats div { padding: 11px 5px; border-right: 1px solid var(--line); text-align: center; }.completion-stats div:last-child { border: 0; }.completion-stats b, .completion-stats span { display: block; }.completion-stats b { font-size: .85rem; }.completion-stats span { color: var(--muted); font-size: .52rem; }
.coverage-matrix { display: grid; gap: 5px; }.coverage-matrix > div { display: grid; grid-template-columns: 1.4fr repeat(4, .6fr); gap: 5px; align-items: center; }.matrix-head { color: var(--muted); font-size: .5rem; text-align: center; }.coverage-matrix > div > b { font-size: .6rem; }.matrix-cell { display: grid; place-items: center; height: 26px; border-radius: 6px; background: var(--paper-2); color: var(--muted); font-size: .58rem; }.level-1 { background: #f9e8c0; }.level-2 { background: #ccebdd; }.level-3 { background: var(--mint); }.coverage-alert { display: flex; gap: 9px; margin-top: 13px; padding: 10px; border-radius: 9px; background: #fff1d1; }.coverage-alert > span { color: #94661d; font-weight: 900; }.coverage-alert p { margin: 0; color: #6e5c3e; font-size: .58rem; }
.readiness-list { display: grid; gap: 7px; padding: 0; list-style: none; }.readiness-list li { display: flex; gap: 9px; padding: 9px; border-radius: 8px; background: var(--paper); }.readiness-list li > i { display: grid; place-items: center; width: 21px; height: 21px; border: 1px solid var(--line); border-radius: 50%; font-style: normal; font-size: .55rem; }.readiness-list .done > i { background: var(--mint); }.readiness-list .warning > i { background: var(--amber); }.readiness-list b, .readiness-list small { display: block; }.readiness-list b { font-size: .62rem; }.readiness-list small { color: var(--muted); font-size: .51rem; }.readiness-card .button { margin-top: 12px; font-size: .67rem; }
.admin-distribution-map { overflow-x: auto; }.admin-distribution-map .distribution-map-head { color: var(--muted); }.admin-distribution-map .distribution-shared-boundary { background: #eef7f2; color: var(--ink-2); }.admin-distribution-map .distribution-shared-boundary b { color: var(--ink); }.admin-distribution-map .distribution-construct { border-color: var(--line); }.admin-distribution-map .distribution-cell { border-color: var(--line); background: var(--paper); }.admin-distribution-map .lens-name, .admin-distribution-map .distribution-summary span, .admin-distribution-map .distribution-cell > p, .admin-distribution-map .distribution-meta, .admin-distribution-map .evidence-badge, .admin-distribution-map .distribution-legend, .admin-distribution-map .distribution-cell details { color: var(--muted); }.admin-distribution-map .distribution-cell details { border-color: var(--line); }.admin-distribution-map .distribution-narrative { background: #eef7f2; }.admin-distribution-map .distribution-narrative b { color: var(--green); }.admin-distribution-map .distribution-narrative p { color: var(--ink-2); }.admin-distribution-map .distribution-narrative small { color: var(--muted); }.admin-note { margin: 15px 0 0; color: var(--muted); font-size: .59rem; }
.role-summary { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 16px; }.role-summary article { display: flex; align-items: center; gap: 12px; padding: 17px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); }.role-summary b, .role-summary small { display: block; }.role-summary b { font-size: .75rem; }.role-summary small { color: var(--muted); font-size: .58rem; }.people-table .table-head, .people-table .table-row { grid-template-columns: 1.4fr .7fr .8fr .6fr 30px; }.permission-list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.permission-list div { padding: 13px; border-radius: 9px; background: var(--paper); }.permission-list b { font-size: .68rem; }.permission-list p { margin: 4px 0 0; color: var(--muted); font-size: .58rem; }
.instrument-notice { display: flex; gap: 11px; margin-bottom: 16px; padding: 15px; border: 1px solid #acd7c4; border-radius: 11px; background: #edf8f3; }.instrument-notice > span { display: grid; place-items: center; min-width: 23px; height: 23px; border-radius: 50%; background: var(--mint-dark); color: white; }.instrument-notice b { font-size: .7rem; }.instrument-notice p { margin: 2px 0 0; color: var(--muted); font-size: .6rem; }.instrument-admin-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 13px; margin-bottom: 16px; }.instrument-admin-card { grid-column: span 2; padding: 20px; border: 1px solid var(--line); border-top: 3px solid var(--coral); border-radius: 14px; background: var(--white); }.instrument-admin-card:nth-child(4), .instrument-admin-card:nth-child(5) { grid-column: span 3; }.instrument-card-head { display: flex; justify-content: space-between; }.instrument-admin-card h2 { margin: 24px 0 8px; font-size: 1rem; }.instrument-admin-card > p { min-height: 42px; color: var(--muted); font-family: var(--serif); font-size: .86rem; }.instrument-meta { display: flex; flex-wrap: wrap; gap: 6px; }.instrument-meta span { padding: 5px 7px; border-radius: 6px; background: var(--paper); color: var(--muted); font-size: .52rem; }.instrument-meta b { color: var(--ink); }.instrument-coverage { margin: 20px 0; }.instrument-coverage > span, .instrument-coverage > small { display: block; color: var(--muted); font-size: .53rem; }.instrument-coverage i { display: block; height: 5px; margin: 6px 0; border-radius: 99px; background: var(--paper-2); overflow: hidden; }.instrument-coverage i b { display: block; height: 100%; background: var(--mint-dark); }.instrument-actions { display: flex; justify-content: space-between; }.contract-grid { display: grid; grid-template-columns: repeat(5, 1fr); }.contract-grid div { padding: 15px; border-right: 1px solid var(--line); }.contract-grid div:last-child { border: 0; }.contract-grid span { color: var(--mint-dark); font-family: var(--serif); }.contract-grid b { display: block; margin: 12px 0 6px; font-size: .68rem; }.contract-grid p { margin: 0; color: var(--muted); font-size: .56rem; }
.instrument-catalogue { margin-bottom: 16px; padding: 0; overflow: hidden; }.catalogue-head { display: flex; justify-content: space-between; gap: 30px; align-items: flex-start; padding: 28px 30px; border-bottom: 1px solid var(--line); }.catalogue-head h2 { margin: 6px 0 8px; font-family: var(--serif); font-size: 1.65rem; }.catalogue-head p { max-width: 820px; margin: 0; color: var(--muted); font-size: .68rem; line-height: 1.55; }.catalogue-counts { display: grid; grid-template-columns: repeat(5, 1fr); background: #122820; color: #fff; }.catalogue-counts > div { min-height: 110px; padding: 20px; border-right: 1px solid #375047; }.catalogue-counts > div:last-child { border: 0; }.catalogue-counts b, .catalogue-counts span, .catalogue-counts small { display: block; }.catalogue-counts b { color: var(--mint); font-family: var(--serif); font-size: 1.7rem; }.catalogue-counts span { margin-top: 5px; font-size: .62rem; font-weight: 750; }.catalogue-counts small { margin-top: 6px; color: #adc2ba; font-size: .5rem; line-height: 1.35; }.catalogue-boundary { display: flex; gap: 20px; align-items: flex-start; margin: 24px 30px 0; padding: 15px 17px; border-left: 4px solid var(--amber); background: #fff8e7; }.catalogue-boundary span { flex: 0 0 110px; color: #735613; font-size: .57rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }.catalogue-boundary p { margin: 0; color: var(--muted); font-size: .65rem; line-height: 1.5; }.catalogue-context { display: grid; grid-template-columns: .7fr 1.3fr; gap: 35px; align-items: start; margin: 30px; }.catalogue-context h3 { margin: 7px 0 8px; font-family: var(--serif); font-size: 1.25rem; }.catalogue-context > div p { margin: 0; color: var(--muted); font-size: .65rem; line-height: 1.5; }.catalogue-context ol { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin: 0; padding: 0; list-style: none; }.catalogue-context li { display: grid; grid-template-columns: 48px 1fr; gap: 9px; align-items: center; min-height: 48px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 9px; font-size: .63rem; }.catalogue-context li.optional { grid-column: 1/-1; grid-template-columns: 48px 1fr auto; background: var(--paper); }.catalogue-context code { color: var(--mint-dark); font-weight: 850; }.catalogue-context li small { color: var(--muted); font-size: .52rem; }.catalogue-triplets { display: grid; gap: 13px; padding: 0 30px 30px; }.catalogue-triplet { overflow: hidden; border: 1px solid var(--line); border-radius: 13px; }.catalogue-triplet > header { display: grid; grid-template-columns: 42px 1fr auto; gap: 13px; align-items: center; padding: 17px 20px; background: var(--paper); }.catalogue-triplet > header > span { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: var(--coral); font-family: var(--serif); font-size: .85rem; }.catalogue-triplet > header small { color: var(--mint-dark); font-size: .52rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }.catalogue-triplet > header h3 { margin: 3px 0 0; font-size: .92rem; }.catalogue-triplet > header > b { padding: 5px 8px; border-radius: 999px; background: #e5f6ef; color: #17634d; font-size: .52rem; }.catalogue-lenses { display: grid; grid-template-columns: repeat(3, 1fr); }.catalogue-lenses > div { min-height: 164px; padding: 18px 20px; border-right: 1px solid var(--line); }.catalogue-lenses > div:last-child { border: 0; }.catalogue-lenses > div > span { display: flex; gap: 7px; align-items: center; color: var(--muted); font-size: .57rem; font-weight: 800; }.catalogue-lenses > div > span b { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 6px; color: #183a30; }.catalogue-lenses .lens-p > span b { background: #ffd7ca; }.catalogue-lenses .lens-b > span b { background: #d8cef7; }.catalogue-lenses .lens-c > span b { background: #bfeee0; }.catalogue-lenses p { margin: 13px 0; font-family: var(--serif); font-size: .75rem; line-height: 1.45; }.catalogue-lenses small { color: var(--muted); font-size: .51rem; }.catalogue-deepener { display: grid; grid-template-columns: 150px 1fr auto; gap: 14px; align-items: center; padding: 13px 20px; border-top: 1px solid #ead59e; background: #fff9e9; }.catalogue-deepener span { color: #725511; font-size: .52rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }.catalogue-deepener p { margin: 0; font-size: .64rem; font-weight: 700; }.catalogue-deepener small { max-width: 250px; color: var(--muted); font-size: .5rem; text-align: right; }.catalogue-scale { display: grid; grid-template-columns: .65fr 1.35fr; gap: 30px; align-items: center; padding: 25px 30px; border-top: 1px solid var(--line); background: #f3f5ef; }.catalogue-scale h3 { margin: 6px 0; font-family: var(--serif); font-size: 1.15rem; }.catalogue-scale p { margin: 0; color: var(--muted); font-size: .62rem; }.catalogue-scale > div:last-child { display: grid; grid-template-columns: repeat(7, 1fr); gap: 6px; }.catalogue-scale > div:last-child span { padding: 10px 7px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--muted); font-size: .48rem; text-align: center; }.catalogue-scale > div:last-child b { display: block; margin-bottom: 4px; color: var(--ink); font-size: .68rem; }
.settings-layout { display: grid; grid-template-columns: 190px 1fr; gap: 18px; }.settings-nav { display: flex; flex-direction: column; align-self: start; position: sticky; top: 90px; }.settings-nav a { padding: 10px 12px; border-left: 2px solid var(--line); color: var(--muted); font-size: .65rem; }.settings-nav a.active { border-color: var(--mint-dark); color: var(--ink); font-weight: 800; }.settings-panels { display: grid; gap: 16px; }.settings-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }.settings-form label { color: var(--muted); font-size: .6rem; }.settings-form input { padding: 9px 11px; }.toggle-row { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 15px 0; border-top: 1px solid var(--line); }.toggle-row b, .toggle-row small { display: block; }.toggle-row b { font-size: .68rem; }.toggle-row small { color: var(--muted); font-size: .56rem; }.toggle-row input { width: 35px; accent-color: var(--mint-dark); }.report-job-policy { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }.report-job-policy div { padding: 13px; border-radius: 9px; background: var(--paper); }.report-job-policy b { font-size: .67rem; }.report-job-policy p { margin: 5px 0 0; color: var(--muted); font-size: .56rem; }.audit-list { display: grid; gap: 10px; }.audit-list > div { display: flex; gap: 10px; align-items: center; }.audit-list p { margin: 0; }.audit-list b, .audit-list small { display: block; }.audit-list b { font-size: .65rem; }.audit-list small { color: var(--muted); font-size: .54rem; }

/* Group decision report v0.3 */
.section-intro { max-width: 850px; margin: -25px 0 36px; color: var(--muted); font-family: var(--serif); font-size: 1.05rem; }
.executive-brief { display: grid; grid-template-columns: 1.45fr .75fr; gap: 18px; }.executive-brief-lead { padding: 38px; border-radius: 20px; background: #13251e; color: white; }.executive-brief-lead h3 { max-width: 900px; margin: 16px 0; font-family: var(--serif); font-size: clamp(1.8rem, 3vw, 3rem); line-height: 1.08; }.executive-brief-lead p { max-width: 900px; margin: 0; color: #bfd0c8; font-size: .88rem; }.decision-now-card { padding: 30px; border: 1px solid #e2aa9e; border-radius: 20px; background: #fae5df; }.decision-now-card h3 { margin: 15px 0 26px; font-family: var(--serif); font-size: 1.55rem; }.decision-now-card p { margin: 0; padding-top: 18px; border-top: 1px solid #e2bdb3; color: var(--muted); font-size: .72rem; }.decision-now-card strong { display: block; margin-bottom: 5px; color: var(--ink); font-size: .6rem; text-transform: uppercase; letter-spacing: .08em; }
.executive-readout-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 12px; }.executive-readout-grid article { padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: var(--white); }.executive-readout-grid span { color: var(--mint-dark); font-size: .62rem; font-weight: 850; text-transform: uppercase; letter-spacing: .07em; }.executive-readout-grid p { margin: 10px 0 0; color: var(--muted); font-size: .72rem; }.executive-readout-grid .claim-ladder { background: var(--paper); }.claim-ladder b { color: var(--ink); }
.insight-section { padding-block: 100px; background: var(--paper); }.aha-insights { display: grid; gap: 24px; }.aha-card { overflow: hidden; border: 1px solid var(--line); border-radius: 20px; background: var(--white); box-shadow: 0 12px 35px rgb(18 35 28 / 5%); }.aha-card-head { display: grid; grid-template-columns: 54px 1fr minmax(200px, .55fr); gap: 20px; align-items: start; padding: 28px; }.finding-rank { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 50%; background: var(--coral); font-family: var(--serif); font-size: 1.2rem; }.aha-card-head span { color: var(--mint-dark); font-size: .62rem; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }.aha-card-head h3 { max-width: 720px; margin: 7px 0 0; font-size: 1.65rem; }.aha-card-head > small { padding: 10px 12px; border-radius: 9px; background: var(--paper); color: var(--muted); font-size: .61rem; line-height: 1.5; }
.metric-contrast { display: grid; grid-template-columns: 1fr 32px 1fr auto; gap: 14px; align-items: center; padding: 22px 28px; background: #14261f; color: white; }.metric-contrast > div { display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; }.metric-contrast span { color: #aebfb7; font-size: .62rem; }.metric-contrast strong { grid-row: span 2; align-self: center; font-family: var(--serif); font-size: 1.55rem; }.metric-contrast small { color: #81958b; font-size: .58rem; }.metric-contrast > i { color: #81958b; font-size: .62rem; font-style: normal; text-align: center; }.metric-contrast > b { padding: 8px 11px; border-radius: 99px; background: var(--mint); color: var(--ink); font-size: .62rem; white-space: nowrap; }
.aha-statement { display: grid; grid-template-columns: 70px 1fr; gap: 18px; align-items: center; padding: 24px 28px; border-bottom: 1px solid var(--line); background: #fff7f3; }.aha-statement span { color: var(--coral-dark); font-family: var(--serif); font-size: 1.35rem; font-style: italic; }.aha-statement p { margin: 0; font-family: var(--serif); font-size: 1.2rem; line-height: 1.35; }.insight-detail-grid { display: grid; grid-template-columns: repeat(3, 1fr); }.insight-detail-grid > div { min-height: 180px; padding: 24px 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }.insight-detail-grid > div:nth-child(3n) { border-right: 0; }.insight-detail-grid span { color: var(--mint-dark); font-size: .6rem; font-weight: 850; text-transform: uppercase; letter-spacing: .07em; }.insight-detail-grid p { margin: 12px 0 0; color: var(--muted); font-size: .72rem; }.insight-detail-grid .decision-cell { background: #eef7f3; }.insight-detail-grid .decision-cell p { color: var(--ink); font-weight: 700; }.aha-card footer { display: grid; grid-template-columns: 1.5fr .5fr; gap: 20px; padding: 18px 28px; background: var(--paper); color: var(--muted); font-size: .62rem; }.aha-card footer b { color: var(--ink); }
.system-aha { margin-bottom: 26px; overflow: hidden; border: 1px solid #305e51; border-radius: 20px; background: #13251e; color: white; }.system-aha-lead { display: grid; grid-template-columns: .35fr 1fr 1.2fr; gap: 28px; align-items: start; padding: 34px; }.system-aha-lead > span { color: var(--mint); font-size: .62rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }.system-aha-lead h3 { margin: 0; font-family: var(--serif); font-size: 1.7rem; line-height: 1.16; }.system-aha-lead p { margin: 0; color: #bfd0c8; font-size: .77rem; line-height: 1.6; }.system-aha-evidence { display: grid; grid-template-columns: repeat(3, 1fr); border-block: 1px solid #345047; background: #0f1f19; }.system-aha-evidence > div { padding: 22px 26px; border-right: 1px solid #345047; }.system-aha-evidence > div:last-child { border-right: 0; }.system-aha-evidence small, .system-aha-evidence strong, .system-aha-evidence p { display: block; }.system-aha-evidence small { color: #8fa69c; font-size: .56rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }.system-aha-evidence strong { margin: 7px 0 4px; color: var(--mint); font-family: var(--serif); font-size: 1.2rem; line-height: 1.25; }.system-aha-evidence p { margin: 0; color: #9fb2aa; font-size: .61rem; }.system-aha-consequence { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: #345047; }.system-aha-consequence > div { padding: 25px 27px; background: #182c24; }.system-aha-consequence span { color: var(--coral); font-size: .57rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }.system-aha-consequence p { margin: 9px 0 0; color: #c7d4cf; font-size: .69rem; line-height: 1.5; }.system-aha footer { padding: 14px 27px; color: #90a49b; font-size: .58rem; }.system-aha footer b { color: white; }.evidence-chain { display: grid; grid-template-columns: 1fr 26px 1fr 26px 1fr 26px 1fr; align-items: stretch; }.evidence-chain > i { display: grid; place-items: center; color: var(--mint-dark); font-style: normal; }.chain-node { position: relative; padding: 24px; border: 1px solid var(--line); border-radius: 16px; background: var(--white); }.chain-node > span { color: var(--mint-dark); font-size: .6rem; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }.chain-node > small { position: absolute; top: 18px; right: 18px; padding: 5px 7px; border-radius: 99px; background: #dfeee7; color: var(--mint-dark); font-size: .52rem; text-transform: uppercase; }.chain-hypothesis > small { background: #fae5df; color: #9a4b39; }.chain-node h3 { margin: 22px 0 12px; font-size: 1rem; }.chain-node > b { display: block; min-height: 42px; color: var(--ink); font-size: .68rem; }.chain-node p { margin: 14px 0 0; color: var(--muted); font-size: .68rem; }.chain-caution { display: flex; gap: 20px; margin-top: 16px; padding: 18px 22px; border-left: 3px solid var(--amber); background: #fff8e7; }.chain-caution strong { min-width: 170px; font-size: .68rem; }.chain-caution p { margin: 0; color: var(--muted); font-size: .68rem; }
.system-aha-neutral { border-color: #8a7232; background: #292414; }.system-aha-neutral .system-aha-evidence { border-color: #64592f; background: #211d10; }.system-aha-neutral .system-aha-evidence > div { border-color: #64592f; }.system-aha-neutral .system-aha-evidence strong { color: #f0d277; }.system-aha-neutral .system-aha-consequence { background: #64592f; }.system-aha-neutral .system-aha-consequence > div { background: #302a17; }
.card-intro { margin: -15px 0 22px; color: var(--muted); font-size: .68rem; }.decision-agenda { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }.decision-agenda > article { overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: var(--white); }.decision-agenda header { min-height: 130px; padding: 24px; background: #13251e; color: white; }.decision-agenda header span { color: var(--mint); font-size: .6rem; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }.decision-agenda header h3 { margin: 14px 0 0; font-family: var(--serif); font-size: 1.45rem; }.decision-agenda article > div { min-height: 124px; padding: 19px 24px; border-bottom: 1px solid var(--line); }.decision-agenda article > div:last-child { border-bottom: 0; }.decision-agenda article > div > span { color: var(--mint-dark); font-size: .57rem; font-weight: 850; text-transform: uppercase; letter-spacing: .07em; }.decision-agenda article p { margin: 8px 0 0; color: var(--muted); font-size: .69rem; }.decision-agenda .verify-first { min-height: 100px; background: #fff8e7; }.decision-room { display: grid; grid-template-columns: .85fr 1.15fr; gap: 30px; align-items: center; margin-top: 28px; padding: 34px; border: 1px solid var(--line); border-radius: 18px; background: var(--paper); }.decision-room h3 { margin: 10px 0; font-family: var(--serif); font-size: 1.55rem; }.decision-room p { margin: 0; color: var(--muted); font-size: .74rem; }.decision-room ol { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }.decision-room li { display: flex; gap: 12px; align-items: center; padding: 13px 15px; border-radius: 10px; background: var(--white); font-size: .7rem; font-weight: 700; }.decision-room li span { color: var(--coral-dark); font-family: var(--serif); }
.decision-readback { display: grid; grid-template-columns: .8fr 1.2fr; gap: 28px; align-items: center; margin-top: 18px; padding: 28px 30px; border: 1px solid #b9d8cc; border-radius: 18px; background: #eff9f5; }.decision-readback h3 { margin: 7px 0; font-family: var(--serif); font-size: 1.45rem; }.decision-readback p { margin: 0; color: var(--muted); font-size: .69rem; line-height: 1.5; }.decision-readback-actions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }.decision-readback-actions button { min-height: 90px; padding: 14px; border: 1px solid #b9d8cc; border-radius: 11px; background: #fff; color: var(--ink); cursor: pointer; text-align: left; }.decision-readback-actions button:hover { border-color: #26735d; box-shadow: 0 7px 20px rgba(20, 72, 57, .09); transform: translateY(-1px); }.decision-readback-actions button:focus-visible { outline: 2px solid #26735d; outline-offset: 2px; }.decision-readback-actions b, .decision-readback-actions span { display: block; }.decision-readback-actions b { color: #17634d; font-family: var(--serif); font-size: 1.05rem; }.decision-readback-actions span { margin-top: 5px; color: var(--muted); font-size: .61rem; line-height: 1.35; }
.respondent-return { display: grid; grid-template-columns: .75fr 1.25fr; gap: 30px; margin-top: 18px; padding: 27px 30px; border-radius: 17px; background: #fff5ef; }.respondent-return h3 { margin: 7px 0; font-size: 1.3rem; }.respondent-return > div > p { margin: 0; color: var(--muted); font-size: .76rem; line-height: 1.55; }.respondent-return ol { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }.respondent-return li { display: grid; grid-template-columns: 30px 1fr; gap: 10px; padding: 11px 13px; border: 1px solid #ead6c9; border-radius: 9px; background: #fff; }.respondent-return li > span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--coral); font-size: .6rem; font-weight: 850; }.respondent-return b { font-size: .72rem; }.respondent-return li p { margin: 3px 0 0; color: var(--muted); font-size: .68rem; line-height: 1.4; }

/* Auth and legal */
.auth-shell { display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(460px, .82fr); min-height: 100vh; }
.auth-story { position: relative; display: flex; flex-direction: column; justify-content: space-between; min-height: 100vh; padding: 46px max(54px, 7vw); overflow: hidden; background: var(--brand-dark); color: white; }
.auth-story::after { content: ""; position: absolute; right: -15%; bottom: -35%; width: 640px; aspect-ratio: 1; border: 1px solid rgba(156, 227, 197, .16); border-radius: 50%; box-shadow: 0 0 0 92px rgba(156, 227, 197, .025), 0 0 0 184px rgba(156, 227, 197, .018); }
.auth-story-copy { position: relative; z-index: 2; width: min(670px, 100%); }
.auth-story .eyebrow { color: var(--mint); }
.auth-story h1 { max-width: 660px; margin: 20px 0 22px; font-size: clamp(2.75rem, 4.5vw, 4.7rem); }
.auth-story-copy > p { max-width: 610px; margin-bottom: 0; color: #c3d0ca; font-size: 1.05rem; line-height: 1.65; }
.auth-proof { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 44px; overflow: hidden; border: 1px solid rgba(255,255,255,.14); border-radius: 14px; background: rgba(255,255,255,.14); }
.auth-proof span { min-height: 108px; padding: 18px; background: rgba(255,255,255,.045); color: #cbd7d1; font-size: .76rem; line-height: 1.35; }
.auth-proof b { display: block; margin-bottom: 8px; color: var(--mint); font-size: 1.5rem; line-height: 1; }
.auth-story-note { position: relative; z-index: 2; margin: 0; color: #93a79e; font-size: .78rem; }
.auth-form-wrap { display: flex; flex-direction: column; justify-content: center; padding: 50px max(54px, 7vw); background: var(--white); }
.auth-form { width: min(430px, 100%); margin: auto; }
.auth-form h2 { margin: 14px 0 12px; font-size: 2.35rem; }
.auth-form > p { max-width: 390px; color: var(--muted); font-size: .95rem; line-height: 1.6; }
.auth-form label { display: block; margin: 32px 0 16px; color: var(--ink-2); font-size: .82rem; font-weight: 700; }
.auth-form input { min-height: 52px; font-size: 1rem; }
.auth-form .fine-print { font-size: .72rem; line-height: 1.5; }
.or { display: flex; align-items: center; gap: 12px; margin: 18px 0; color: var(--muted); font-size: .72rem; }.or::before, .or::after { content: ""; flex: 1; height: 1px; background: var(--line); }.sso-button { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 50px; margin-top: 10px; border: 1px solid var(--line); border-radius: 99px; background: white; color: var(--ink); font-size: .9rem; font-weight: 750; transition: border-color .2s, box-shadow .2s; }.sso-button:hover { border-color: var(--ink); box-shadow: 0 6px 18px rgba(20,35,29,.08); }.mobile-auth-brand { display: none; }.auth-footer { display: flex; justify-content: center; gap: 20px; color: var(--muted); font-size: .7rem; }
.legal-shell { max-width: 850px; padding-block: 110px; }.legal-shell h1 { margin: 18px 0 30px; font-size: 4rem; }.legal-lede { color: var(--muted); font-size: 1.2rem; }.legal-shell h2 { margin-top: 50px; font-size: 1.5rem; }.legal-shell p { color: var(--muted); }

.beta-status-card p a { color: var(--mint-dark); font-weight: 800; }
.telemetry-metric-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 20px; }
.telemetry-metric-grid article { padding: 20px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.telemetry-metric-grid span, .telemetry-metric-grid strong, .telemetry-metric-grid p { display: block; }
.telemetry-metric-grid span { color: var(--muted); font-size: .58rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.telemetry-metric-grid strong { margin-top: 7px; font-family: var(--serif); font-size: 1.8rem; }
.telemetry-metric-grid p { margin: 3px 0 0; color: var(--muted); font-size: .62rem; }
.telemetry-layout { display: grid; grid-template-columns: 1.25fr .75fr; gap: 16px; }
.privacy-chip { padding: 5px 8px; border-radius: 99px; background: #e5f6ef; color: #17634d; font-size: .52rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.telemetry-table { border: 1px solid var(--line); border-radius: 11px; overflow: hidden; }
.telemetry-table > div { display: grid; grid-template-columns: 1.2fr .7fr .7fr .75fr; }
.telemetry-table > div > * { padding: 11px 13px; border-right: 1px solid var(--line); }
.telemetry-table > div > *:last-child { border-right: 0; }
.telemetry-table > div + div { border-top: 1px solid var(--line); }
.telemetry-table strong, .telemetry-table span { font-size: .65rem; }
.telemetry-table span { color: var(--muted); }
.telemetry-table-head { background: var(--paper); color: var(--muted); font-size: .56rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.report-reach-list { display: grid; gap: 7px; }
.report-reach-list > div { display: grid; grid-template-columns: 30px 1fr auto auto; gap: 8px; align-items: center; padding: 12px 13px; border-radius: 9px; background: var(--paper); }
.report-reach-list span { color: var(--coral-dark); font-family: var(--serif); }
.report-reach-list strong { font-size: .68rem; }
.report-reach-list b { font-family: var(--serif); }
.report-reach-list small { color: var(--muted); font-size: .55rem; }
.telemetry-interpretation { margin-top: 14px; padding: 15px; border-left: 3px solid var(--amber); background: #fff8e7; }
.telemetry-interpretation span { color: #745915; font-size: .56rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.telemetry-interpretation p { margin: 6px 0 0; color: var(--muted); font-size: .64rem; }
.telemetry-empty { padding-block: 60px; text-align: center; }
.telemetry-empty > span { display: inline-grid; width: 44px; height: 44px; place-items: center; border-radius: 50%; background: var(--paper); }
.telemetry-empty h2 { margin: 14px 0 6px; }
.telemetry-empty p { max-width: 650px; margin: 0 auto 20px; color: var(--muted); font-size: .72rem; }
.telemetry-empty > div { display: flex; justify-content: center; gap: 10px; }
.telemetry-privacy-contract { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 20px 0 70px; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--line); }
.telemetry-privacy-contract > div { padding: 17px 20px; background: #fff; }
.telemetry-privacy-contract span { color: var(--mint-dark); font-size: .57rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.telemetry-privacy-contract div:last-child span { color: var(--coral-dark); }
.telemetry-privacy-contract p { margin: 7px 0 0; color: var(--muted); font-size: .64rem; }

@media (max-width: 1100px) {
  .hero { grid-template-columns: 1fr; min-height: auto; }.hero-visual { max-width: 650px; }.module-card { grid-column: span 3; }.module-card:nth-child(5) { grid-column: span 6; }.journey-grid { grid-template-columns: 1fr 1fr; }.journey-grid article:nth-child(2) { border-right: 0; }.split-feature { gap: 45px; }.assessment-step { grid-template-columns: 1fr; }.coverage-panel, .lens-guide { display: none; }.campaign-control-grid { grid-template-columns: 1fr 1fr; }.readiness-card { grid-column: 1/-1; }.instrument-admin-card { grid-column: span 3; }.instrument-admin-card:nth-child(5) { grid-column: span 6; }.catalogue-counts { grid-template-columns: repeat(3, 1fr); }.catalogue-counts > div:nth-child(3) { border-right: 0; }.catalogue-counts > div:nth-child(-n+3) { border-bottom: 1px solid #375047; }.catalogue-context, .catalogue-scale { grid-template-columns: 1fr; }.catalogue-deepener { grid-template-columns: 130px 1fr; }.catalogue-deepener small { grid-column: 2; max-width: none; text-align: left; }
  .assessment-step.context-step { grid-template-columns: 1fr; gap: 24px; max-width: 720px; }.context-step .coverage-panel { display: block; max-width: none; margin: 0; padding: 0 0 24px; border-right: 0; border-bottom: 1px solid #cbd5e1; }
  .assessment-step[data-triplet] { grid-template-columns: 1fr; gap: 24px; max-width: 720px; }.assessment-step[data-triplet] .lens-guide { display: block; max-width: none; margin: 0; padding: 0 0 24px; border-right: 0; border-bottom: 1px solid #cbd5e1; }.assessment-step[data-triplet] .lens-guide-content { position: static; max-height: none; overflow: visible; }.assessment-step[data-triplet] .lens-guide-field { display: none; }
  .assessment-step.deepener-step { width: 100%; grid-template-columns: minmax(0, 1fr); gap: 24px; max-width: 720px; overflow-x: clip; }.deepener-step .step-main { width: 100%; }.deepener-step .coverage-panel { display: block; max-width: none; margin: 0; padding: 0 0 24px; border-right: 0; border-bottom: 1px solid #cbd5e1; }.deepener-step .followup-guide-content { position: static; }
  .assessment-step.review-step { grid-template-columns: 1fr; gap: 24px; max-width: 720px; }.review-step .coverage-panel { display: block; max-width: none; margin: 0; padding: 0 0 24px; border-right: 0; border-bottom: 1px solid #cbd5e1; }.review-step .review-guide-content { position: static; }
  .executive-brief, .decision-agenda, .decision-room, .decision-readback { grid-template-columns: 1fr; }.system-aha-lead { grid-template-columns: 1fr 1.2fr; }.system-aha-lead > span { grid-column: 1/-1; }.evidence-chain { grid-template-columns: 1fr; }.evidence-chain > i { min-height: 28px; transform: rotate(90deg); }.decision-agenda header, .decision-agenda article > div { min-height: 0; }
}

@media (max-width: 800px) {
  .section-shell { width: min(100% - 28px, 1240px); }.section-space { padding-block: 75px; }.site-header { height: 66px; padding-inline: 18px; }.site-nav { display: none; position: absolute; top: 66px; left: 0; right: 0; padding: 24px; background: var(--brand-dark); border-bottom: 1px solid rgba(255,255,255,.1); flex-direction: column; }.site-nav.is-open { display: flex; }.nav-toggle { display: block; }.hero { gap: 45px; padding-block: 60px; }.hero-actions, .trust-row { align-items: stretch; flex-direction: column; }.trust-row span { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); padding-bottom: 10px; }.map-card { padding: 18px; }.proof-strip { grid-template-columns: 1fr 1fr; }.proof-strip div:nth-child(2) { border-right: 0; }.module-grid { display: grid; grid-template-columns: 1fr; }.module-card, .module-card:nth-child(4), .module-card:nth-child(5) { grid-column: auto; min-height: 0; }.journey-grid, .split-feature, .paths-grid, .result-summary-grid, .coverage-report-grid { grid-template-columns: 1fr; }.journey-grid article { min-height: 240px; border-right: 0; border-bottom: 1px solid #3b4a43; }.journey-grid h3 { margin-top: 35px; }.path-card { min-height: 380px; padding: 35px; }.site-footer { grid-template-columns: 1fr 1fr; gap: 34px; }
  .scan-header, .assessment-header { padding-inline: 18px; }.secure-note, .save-exit { display: none; }.welcome-shell { grid-template-columns: 1fr; gap: 40px; padding-block: 40px; }.welcome-points { grid-template-columns: 1fr; }.welcome-card { order: -1; }.assessment-progress { grid-template-columns: 90px 110px 45px; }.assessment-progress > span { display: none; }.assessment-shell { width: calc(100% - 24px); padding-top: 25px; }.assessment-step.is-active { display: block; }.triplet-heading h1 { font-size: 2.2rem; }.scale-primary { grid-template-columns: 1fr; }.option-grid, .baseline-grid { grid-template-columns: 1fr; }.context-grid label { grid-template-columns: 1fr; gap: 8px; }.assessment-actions { justify-content: space-between; padding-inline: 12px; }.autosave-state { display: none; }
  .assessment-step[data-triplet] .lens-guide { margin-bottom: 24px; }
  .privacy-banner { right: 12px; bottom: 12px; left: 12px; align-items: stretch; flex-direction: column; width: calc(100% - 24px); padding: 18px; }.privacy-banner-actions { display: grid; grid-template-columns: 1fr; }.privacy-banner-actions .button { width: 100%; }
  .legal-shell { padding-block: 50px 90px; }.legal-layout { grid-template-columns: 1fr; gap: 30px; }.legal-toc { position: static; grid-template-columns: 1fr 1fr; }.legal-toc strong { grid-column: 1/-1; }.legal-facts div { grid-template-columns: 1fr; }.legal-facts dd { padding-top: 0; }.legal-table { min-width: 600px; }
  .report-hero, .group-title-row, .group-upgrade > div, .workshop-cta { align-items: flex-start; flex-direction: column; }.report-actions { justify-content: flex-start; }.report-actions > small { text-align: left; }.finding-grid, .constraint-chain, .executive-cards, .group-map-layout { grid-template-columns: 1fr; }.finding-grid > div { border-right: 0; }.constraint-chain > i { min-height: 30px; transform: rotate(90deg); }.evidence-banner { align-items: flex-start; flex-direction: column; }.evidence-stats { flex-wrap: wrap; }.report-subnav { display: none; }.action-table { overflow-x: auto; }.action-table > div { min-width: 780px; }.coverage-bars > div { grid-template-columns: 110px 1fr 35px; }
  .executive-readout-grid, .insight-detail-grid, .system-aha-lead, .system-aha-evidence, .system-aha-consequence { grid-template-columns: 1fr; }.aha-card-head { grid-template-columns: 48px 1fr; }.aha-card-head > small { grid-column: 1/-1; }.metric-contrast { grid-template-columns: 1fr; }.metric-contrast > i { transform: rotate(90deg); }.metric-contrast > b { justify-self: start; }.insight-detail-grid > div { min-height: 0; border-right: 0; }.aha-card footer { grid-template-columns: 1fr; }.system-aha-evidence > div { border-right: 0; border-bottom: 1px solid #345047; }.system-aha-evidence > div:last-child { border-bottom: 0; }.chain-caution { align-items: flex-start; flex-direction: column; }.decision-room { padding: 24px; }
  .decision-readback { padding: 24px; }.decision-readback-actions { grid-template-columns: 1fr; }.decision-readback-actions button { min-height: 0; }
  .admin-shell { grid-template-columns: 1fr; }.admin-sidebar { position: fixed; left: -270px; z-index: 50; width: 250px; transition: left .2s; }.admin-sidebar.is-open { left: 0; }.admin-topbar { padding-inline: 14px; }.mobile-admin-toggle { display: block; }.global-search { display: none; }.admin-content { width: calc(100% - 24px); }.admin-page-head { align-items: flex-start; flex-direction: column; }.admin-page-head > div:last-child { width: 100%; flex-wrap: wrap; }.metric-grid, .admin-two-col, .org-tile-grid, .role-summary, .settings-form, .report-job-policy { grid-template-columns: 1fr 1fr; }.org-table, .people-table { overflow-x: auto; }.org-table .table-head, .org-table .table-row, .people-table .table-head, .people-table .table-row { min-width: 900px; }.campaign-board, .campaign-control-grid, .instrument-admin-grid { grid-template-columns: 1fr; }.campaign-status-bar { overflow-x: auto; }.campaign-status-bar > * { min-width: 100px; }.instrument-admin-card, .instrument-admin-card:nth-child(4), .instrument-admin-card:nth-child(5) { grid-column: auto; }.contract-grid { grid-template-columns: 1fr 1fr; }.settings-layout { grid-template-columns: 1fr; }.settings-nav { position: static; flex-direction: row; overflow-x: auto; }.auth-shell { grid-template-columns: 1fr; }.auth-story { display: none; }.auth-form-wrap { min-height: 100vh; padding: 30px 24px; }.mobile-auth-brand { display: inline-flex; margin-bottom: 60px; }.legal-shell h1 { font-size: 2.8rem; }.catalogue-head { align-items: flex-start; flex-direction: column; }.catalogue-counts { grid-template-columns: 1fr 1fr; }.catalogue-counts > div, .catalogue-counts > div:nth-child(3) { border-right: 1px solid #375047; border-bottom: 1px solid #375047; }.catalogue-counts > div:nth-child(even) { border-right: 0; }.catalogue-counts > div:last-child { grid-column: 1/-1; border: 0; }.catalogue-context ol, .catalogue-lenses, .catalogue-scale > div:last-child { grid-template-columns: 1fr; }.catalogue-context li.optional { grid-column: auto; grid-template-columns: 48px 1fr; }.catalogue-context li.optional small { grid-column: 2; }.catalogue-triplet > header { grid-template-columns: 42px 1fr; }.catalogue-triplet > header > b { grid-column: 2; justify-self: start; }.catalogue-lenses > div { min-height: 0; border-right: 0; border-bottom: 1px solid var(--line); }.catalogue-lenses > div:last-child { border-bottom: 0; }.catalogue-deepener { grid-template-columns: 1fr; }.catalogue-deepener small { grid-column: auto; }.catalogue-boundary { flex-direction: column; }.catalogue-boundary span { flex-basis: auto; }
}

@media (max-width: 800px) {
  .heatmap-card { min-width: 0; max-width: 100%; padding: 18px; overflow-x: hidden; }
  .distribution-map { min-width: 0; }
  .distribution-map-head { display: none; }
  .distribution-construct { grid-template-columns: minmax(0, 1fr); gap: 10px; padding: 18px 0; }
  .distribution-construct > h3 { margin: 0 0 2px; font-size: .9rem; }
  .distribution-cell { width: 100%; }
}

@media (max-width: 520px) {
  h1 { font-size: 2.8rem; }.hero h1 { font-size: 3.2rem; }.proof-strip, .site-footer { grid-template-columns: 1fr; }.proof-strip div { border-right: 0; border-bottom: 1px solid #3a4a43; padding-left: 0; }.finding-preview { padding: 24px; }.finding-preview dl div { grid-template-columns: 1fr; gap: 5px; }.metric-grid, .role-summary, .contract-grid, .settings-form, .report-job-policy { grid-template-columns: 1fr; }.filter-bar { flex-wrap: wrap; }.search-field { min-width: 100%; }.campaign-status-bar { display: none; }.admin-two-col { grid-template-columns: 1fr; }.completion-card, .coverage-card, .readiness-card { grid-column: auto; }.scope-detail, .permission-list { grid-template-columns: 1fr; }.construct-row { grid-template-columns: 1fr; }.construct-row > small { display: block; }.triplet-vector { grid-template-columns: 1fr; }.report-hero h1, .group-title-row h1 { font-size: 3rem; }.heatmap-header, .heatmap-row { grid-template-columns: 1.1fr repeat(3,.65fr); }.heatmap-header span:last-child, .heatmap-row small { display: none; }.finding-title h3 { font-size: 1.4rem; }.welcome-card-map { --orbit-radius: 72px; }.welcome-card-map::before { width: 156px; height: 156px; }.welcome-card-map::after { width: 104px; height: 104px; }.welcome-card-map > span { width: 64px; font-size: .54rem; }.welcome-card-map > div { width: 72px; height: 72px; }
}

@page { size: A4; margin: 13mm 12mm 16mm; }
@media print {
  .site-header, .site-footer, .report-actions, .report-subnav, .group-upgrade, .workshop-cta, .decision-readback, .admin-sidebar, .admin-topbar { display: none!important; }
  html { font-size: 13px; scroll-behavior: auto; }
  body { background: white; color: black; print-color-adjust: exact; -webkit-print-color-adjust: exact; }.section-shell { width: 100%; }.report-section, .report-hero, .group-report-top { padding: 20px 0; }.map-report-section { background: white; color: black; }.heatmap-card { background: white; color: black; border-color: #bbb; }.map-interpretation { border: 1px solid #888; }.group-finding, .full-finding { break-inside: avoid; }.finding-title { background: #eee; color: black; }
  .group-report-top { padding-top: 0; }.group-title-row h1 { margin-top: 8px; font-size: 3rem; }.evidence-banner { padding: 18px; }.report-provenance { margin-top: 10px; }.snapshot-line { display: none; }
  .report-print-manifest { display: block; margin-top: 16px; padding: 18px; border: 1px solid #777; border-radius: 10px; break-inside: avoid; }.report-print-manifest > span { display: block; font-size: .62rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }.report-print-manifest > strong { display: block; margin-top: 5px; font-family: var(--serif); font-size: 1.4rem; }.report-print-manifest > p { margin: 4px 0 12px; color: #444; font-size: .7rem; }.report-print-manifest dl { display: grid; grid-template-columns: 1fr 1fr; gap: 7px 18px; margin: 0 0 12px; }.report-print-manifest dl div { display: grid; grid-template-columns: 72px 1fr; gap: 7px; }.report-print-manifest dt { color: #555; font-size: .58rem; font-weight: 800; text-transform: uppercase; }.report-print-manifest dd { overflow-wrap: anywhere; margin: 0; font-size: .62rem; }.report-print-manifest > small { color: #555; font-size: .55rem; }
  .executive-brief-lead, .metric-contrast, .decision-agenda header { background: white; color: black; border: 1px solid #bbb; }.executive-brief-lead p, .metric-contrast span, .metric-contrast small { color: #444; }.aha-card, .system-aha, .chain-node, .decision-agenda > article { break-inside: avoid; box-shadow: none; }.insight-section, .coverage-section { background: white; }.insight-section { padding-block: 24px; }.aha-card { margin-bottom: 14px; }.system-aha { border-color: #777; background: white; color: black; }.system-aha-lead p, .system-aha-consequence p, .system-aha footer { color: #333; }.system-aha-lead > span, .system-aha-evidence strong { color: #175544; }.system-aha-evidence, .system-aha-consequence { border-color: #bbb; background: #ddd; }.system-aha-evidence > div, .system-aha-consequence > div { border-color: #bbb; background: white; }.system-aha-evidence p, .system-aha-evidence small { color: #444; }
  a[href] { color: inherit; text-decoration: none; }.feedback-launcher, .feedback-dialog, .feedback-toast { display: none !important; }
}

/* Report evidence provenance */
.report-provenance { display: grid; grid-template-columns: 120px 1fr auto; gap: 18px; align-items: center; margin-top: 18px; padding: 14px 18px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.72); }
.report-provenance > span { color: var(--muted); font-size: .68rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.report-provenance strong { display: block; color: var(--ink); font-size: .88rem; }
.report-provenance p { margin: 3px 0 0; color: var(--muted); font-size: .75rem; line-height: 1.45; }
.report-provenance > small { max-width: 170px; color: var(--muted); font-size: .66rem; font-weight: 700; line-height: 1.35; text-align: right; }
.report-provenance.provenance-demo_fixture { border-color: #d7ccb0; background: #fffaf0; }
.report-provenance.provenance-live_draft { border-color: #acd5c6; background: #effaf6; }
.report-provenance.provenance-live_draft > small { color: #17634d; }
.campaign-contribution-note { display: grid; grid-template-columns: auto 1fr auto; gap: 18px; align-items: center; margin-top: 22px; padding: 14px 18px; border: 1px solid #acd5c6; border-radius: 14px; background: #effaf6; }
.campaign-contribution-note > span { color: #17634d; font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.campaign-contribution-note p { margin: 0; color: var(--muted); font-size: .8rem; }
.campaign-contribution-note a { color: #17634d; font-size: .75rem; font-weight: 800; }
.evidence-workflow-card { margin-top: 22px; }
.evidence-workflow-steps { display: grid; grid-template-columns: repeat(4, 1fr auto) 1fr; align-items: center; gap: 10px; margin: 24px 0; padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: #fafaf7; }
.evidence-workflow-steps > div { display: flex; gap: 10px; align-items: center; }
.evidence-workflow-steps i { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: #e8e9e4; color: var(--muted); font-style: normal; font-size: .72rem; font-weight: 800; }
.evidence-workflow-steps .done i { background: var(--mint); color: #174b3d; }
.evidence-workflow-steps .attention i { background: #ffe1d7; color: #973b27; }
.evidence-workflow-steps b, .evidence-workflow-steps small { display: block; }
.evidence-workflow-steps b { font-size: .78rem; }
.evidence-workflow-steps small { margin-top: 2px; color: var(--muted); font-size: .62rem; }
.evidence-workflow-steps em { width: 26px; height: 1px; background: var(--line); }
.workflow-action-panel { display: flex; justify-content: space-between; align-items: center; gap: 30px; padding: 22px; border-radius: 14px; background: #112a23; color: #fff; }
.workflow-action-panel h3 { margin: 5px 0; font-size: 1.15rem; }
.workflow-action-panel p { max-width: 720px; margin: 0; color: #bfcac5; font-size: .78rem; line-height: 1.55; }
.snapshot-manifest { display: grid; grid-template-columns: 1.1fr .8fr .8fr 1.3fr; gap: 1px; margin-bottom: 18px; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--line); }
.snapshot-manifest div { min-width: 0; padding: 13px 15px; background: #fff; }
.snapshot-manifest span, .snapshot-manifest b { display: block; }
.snapshot-manifest span { color: var(--muted); font-size: .59rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.snapshot-manifest b { margin-top: 5px; overflow: hidden; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .67rem; text-overflow: ellipsis; white-space: nowrap; }
.analyst-review-form { display: grid; grid-template-columns: .9fr 1.2fr; gap: 22px; padding: 22px; border: 1px solid #acd5c6; border-radius: 14px; background: #f1faf7; }
.analyst-review-form h3 { margin: 4px 0; font-size: 1.15rem; }
.analyst-review-form p { margin: 0; color: var(--muted); font-size: .76rem; line-height: 1.55; }
.review-checklist { display: grid; gap: 8px; }
.review-checklist label { display: flex; gap: 9px; align-items: flex-start; color: var(--ink); font-size: .74rem; line-height: 1.4; }
.review-checklist input { margin-top: 3px; accent-color: #23775f; }
.review-note { grid-column: 1/-1; color: var(--ink); font-size: .7rem; font-weight: 800; }
.review-note > span { float: right; color: var(--muted); font-weight: 500; }
.review-note textarea { width: 100%; min-height: 88px; margin-top: 7px; padding: 12px; border: 1px solid var(--line); border-radius: 9px; resize: vertical; font: inherit; font-weight: 400; }
.review-actions { display: flex; grid-column: 1/-1; justify-content: flex-end; gap: 9px; }
.review-decision { display: flex; gap: 15px; align-items: flex-start; padding: 20px; border-radius: 14px; }
.review-decision > span { display: grid; flex: 0 0 36px; height: 36px; place-items: center; border-radius: 50%; font-weight: 900; }
.review-decision small { font-size: .64rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.review-decision h3 { margin: 4px 0; }
.review-decision p { margin: 0 0 8px; font-size: .8rem; }
.review-decision b { font-size: .72rem; }
.review-decision.approved { background: #e9f8f2; color: #175544; }
.review-decision.approved > span { background: #bfead9; }
.review-decision.changes { background: #fff1ec; color: #7c3526; }
.review-decision.changes > span { background: #ffd7ca; }
.client-approval-form { margin-top: 14px; border-color: #dfd3a4; background: #fffaf0; }
.approval-field { display: block; color: var(--ink); font-size: .7rem; font-weight: 800; }
.approval-field > span { float: right; color: var(--muted); font-weight: 500; }
.approval-field input { width: 100%; margin-top: 7px; padding: 12px; border: 1px solid var(--line); border-radius: 9px; background: #fff; font: inherit; font-weight: 400; }
.approval-confirmation { grid-column: 1/-1; }
.release-action-panel { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; align-items: center; margin-top: 14px; padding: 20px; border: 1px solid #dfd3a4; border-radius: 14px; background: #fffaf0; }
.release-action-panel h3 { margin: 4px 0; }
.release-action-panel p { margin: 0; color: var(--muted); font-size: .78rem; }
.release-action-panel form { display: grid; gap: 12px; justify-items: start; }
.release-action-panel label { color: var(--ink); font-size: .74rem; line-height: 1.45; }
.release-action-panel input { margin-right: 6px; accent-color: #23775f; }
.release-decision { display: flex; gap: 15px; align-items: flex-start; margin-top: 14px; padding: 20px; border-radius: 14px; background: #112a23; color: #fff; }
.release-decision > span { display: grid; flex: 0 0 36px; height: 36px; place-items: center; border-radius: 50%; background: var(--mint); color: #174b3d; font-weight: 900; }
.release-decision small { color: #a7c9bc; font-size: .64rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.release-decision h3 { margin: 4px 0; }
.release-decision p { margin: 0 0 8px; color: #d5dfdb; font-size: .8rem; }
.release-decision b { font-size: .72rem; }
.withdrawal-panel { margin-top: 12px; padding: 12px 16px; border: 1px solid var(--line); border-radius: 12px; }
.withdrawal-panel summary { cursor: pointer; color: var(--muted); font-size: .72rem; font-weight: 800; }
.withdrawal-panel form { display: grid; gap: 10px; margin-top: 12px; }
.withdrawal-panel label { font-size: .7rem; font-weight: 800; }
.withdrawal-panel textarea { width: 100%; min-height: 72px; margin-top: 7px; padding: 11px; border: 1px solid var(--line); border-radius: 9px; resize: vertical; font: inherit; font-weight: 400; }
.withdrawal-panel .button { justify-self: start; }
.supersede-action { margin-top: 14px; }
.report-review-state { display: flex; gap: 12px; align-items: flex-start; margin-top: 10px; padding: 12px 16px; border-radius: 12px; background: #f3f3ef; }
.report-review-state > span { display: grid; flex: 0 0 28px; height: 28px; place-items: center; border-radius: 50%; background: #dedfd9; font-weight: 900; }
.report-review-state strong { font-size: .78rem; }
.report-review-state p { margin: 2px 0 0; color: var(--muted); font-size: .7rem; }
.report-review-state.review-analyst_approved { background: #e9f8f2; }
.report-review-state.review-analyst_approved > span { background: #bfead9; color: #175544; }
.report-review-state.review-changes_requested { background: #fff1ec; }
.report-review-state.review-changes_requested > span { background: #ffd7ca; color: #7c3526; }
.report-review-state.release-client_approved { border: 1px solid #dfd3a4; background: #fffaf0; }
.report-review-state.release-released { background: #112a23; color: #fff; }
.report-review-state.release-released p { color: #c9d8d2; }
.report-review-state.release-released > span { background: var(--mint); color: #174b3d; }
.report-review-state.release-withdrawn { border: 1px solid #e7aa98; background: #fff1ec; color: #7c3526; }
.report-review-state.release-withdrawn > span { background: #ffd7ca; color: #7c3526; }
.feedback-launcher { position: fixed; right: 22px; bottom: 20px; z-index: 40; display: inline-flex; gap: 8px; align-items: center; padding: 11px 15px; border: 1px solid #305e51; border-radius: 999px; box-shadow: 0 12px 32px rgba(15, 38, 31, .2); background: #112a23; color: #fff; cursor: pointer; font: inherit; font-size: .72rem; font-weight: 800; }
button[data-beta-deferred], button:disabled[data-beta-deferred] { opacity: .52; cursor: not-allowed; filter: saturate(.55); }
.feedback-launcher span { color: var(--mint); }
.feedback-dialog { width: min(650px, calc(100vw - 28px)); padding: 0; border: 0; border-radius: 18px; box-shadow: 0 28px 80px rgba(12, 30, 25, .28); color: var(--ink); }
.feedback-dialog::backdrop { background: rgba(8, 24, 19, .6); backdrop-filter: blur(3px); }
.feedback-dialog form { padding: 26px; }
.feedback-dialog-head { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; }
.feedback-dialog-head h2 { margin: 6px 0 0; font-size: 1.55rem; }
.feedback-dialog-head button { display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: #fff; color: var(--muted); cursor: pointer; font-size: 1.2rem; }
.feedback-intro { margin: 12px 0 20px; color: var(--muted); font-size: .78rem; line-height: 1.55; }
.feedback-kinds { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 0 0 18px; padding: 0; border: 0; }
.feedback-kinds legend { margin-bottom: 7px; color: var(--muted); font-size: .64rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.feedback-kinds label { position: relative; }
.feedback-kinds input { position: absolute; opacity: 0; pointer-events: none; }
.feedback-kinds span { display: block; min-height: 72px; padding: 11px; border: 1px solid var(--line); border-radius: 10px; cursor: pointer; }
.feedback-kinds b, .feedback-kinds small { display: block; }
.feedback-kinds b { font-size: .72rem; }
.feedback-kinds small { margin-top: 4px; color: var(--muted); font-size: .61rem; line-height: 1.3; }
.feedback-kinds input:checked + span { border-color: #26735d; box-shadow: 0 0 0 2px #cdeadd; background: #f0faf6; }
.feedback-kinds input:focus-visible + span { outline: 2px solid #26735d; outline-offset: 2px; }
.feedback-field { display: block; margin-top: 14px; color: var(--ink); font-size: .7rem; font-weight: 800; }
.feedback-field > span { float: right; color: var(--muted); font-weight: 500; }
.feedback-field select, .feedback-field textarea { width: 100%; margin-top: 7px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 9px; background: #fff; font: inherit; font-weight: 400; }
.feedback-field textarea { min-height: 112px; resize: vertical; }
.feedback-dialog-actions { display: flex; justify-content: space-between; gap: 16px; align-items: center; margin-top: 18px; }
.feedback-dialog-actions small { overflow: hidden; color: var(--muted); font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .61rem; text-overflow: ellipsis; white-space: nowrap; }
.feedback-toast { position: fixed; right: 22px; bottom: 72px; z-index: 39; display: flex; gap: 10px; align-items: flex-start; width: min(370px, calc(100vw - 28px)); padding: 13px 15px; border: 1px solid #acd5c6; border-radius: 12px; box-shadow: 0 12px 32px rgba(15, 38, 31, .14); background: #effaf6; color: #175544; }
.feedback-toast span { font-weight: 900; }
.feedback-toast p { margin: 0; font-size: .72rem; line-height: 1.45; }
.feedback-summary-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 20px; }
.feedback-summary-grid article { padding: 17px; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.feedback-summary-grid span, .feedback-summary-grid b, .feedback-summary-grid small { display: block; }
.feedback-summary-grid span { color: var(--muted); font-size: .62rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.feedback-summary-grid b { margin: 5px 0 2px; font-family: Georgia, serif; font-size: 1.8rem; }
.feedback-summary-grid small { color: var(--muted); font-size: .63rem; }
.admin-inline-success { display: flex; gap: 11px; align-items: flex-start; margin-bottom: 18px; padding: 13px 15px; border: 1px solid #acd5c6; border-radius: 12px; background: #effaf6; color: #175544; }
.admin-inline-success p { margin: 0; font-size: .75rem; }
.feedback-inbox { display: grid; gap: 12px; }
.feedback-item { padding: 17px; border: 1px solid var(--line); border-left: 4px solid #d0d2cb; border-radius: 12px; }
.feedback-item.feedback-status-new { border-left-color: #dfae3f; }
.feedback-item.feedback-status-planned { border-left-color: #28755f; }
.feedback-item.feedback-status-resolved { opacity: .76; }
.feedback-item-meta { display: flex; gap: 8px; align-items: center; }
.feedback-item-meta time { margin-left: auto; color: var(--muted); font-size: .61rem; }
.feedback-kind, .feedback-status { padding: 4px 7px; border-radius: 999px; background: #eeefe9; color: var(--muted); font-size: .57rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.feedback-kind.kind-aha { background: #e6f6ef; color: #17634d; }
.feedback-kind.kind-friction, .feedback-kind.kind-bug { background: #fff0eb; color: #8d3b29; }
.feedback-kind.kind-idea { background: #fff6dc; color: #745915; }
.feedback-item-body { display: flex; justify-content: space-between; gap: 20px; margin: 12px 0; }
.feedback-item-body h3 { max-width: 900px; margin: 0; font-size: .9rem; line-height: 1.45; }
.feedback-item-body p { display: flex; flex-wrap: wrap; gap: 8px 14px; margin: 8px 0 0; color: var(--muted); font-size: .65rem; }
.feedback-item-body p span { padding-left: 14px; border-left: 1px solid var(--line); }
.feedback-item-body > small { color: var(--muted); font-size: .62rem; white-space: nowrap; }
.feedback-triage-form { display: grid; grid-template-columns: 150px 1fr auto; gap: 9px; align-items: end; padding-top: 12px; border-top: 1px solid var(--line); }
.feedback-triage-form label { color: var(--muted); font-size: .6rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.feedback-triage-form select, .feedback-triage-form input { width: 100%; margin-top: 5px; padding: 9px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink); font: inherit; font-size: .7rem; text-transform: none; }
.feedback-empty { padding: 50px 20px; text-align: center; }
.feedback-empty > span { display: inline-grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: #e6f6ef; color: #17634d; }
.feedback-empty h3 { margin: 12px 0 4px; }
.feedback-empty p { margin: 0; color: var(--muted); font-size: .75rem; }

/* Private-beta reviewer guide */
.beta-guide-head h1 { max-width: 820px; font-size: clamp(2.6rem, 4vw, 4.4rem); line-height: 1.02; }.beta-guide-head p { max-width: 760px; }.beta-status-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 28px; }.beta-status-card { padding: 19px 20px; border: 1px solid var(--line); border-top: 4px solid #c7c9c2; border-radius: 13px; background: #fff; }.beta-status-card.status-ready { border-top-color: #3c8b70; }.beta-status-card.status-watch { border-top-color: var(--amber); }.beta-status-card span, .beta-status-card strong, .beta-status-card p { display: block; }.beta-status-card span { color: var(--muted); font-size: .59rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }.beta-status-card strong { margin-top: 7px; font-family: var(--serif); font-size: 1.35rem; }.beta-status-card p { margin: 3px 0 0; color: var(--muted); font-size: .63rem; }.beta-mission-intro { display: grid; grid-template-columns: 1fr .65fr; gap: 40px; align-items: end; margin: 46px 0 18px; }.beta-mission-intro h2 { max-width: 720px; margin: 8px 0 0; font-size: 2rem; }.beta-mission-intro > p { margin: 0; padding: 15px 17px; border-left: 3px solid var(--coral); background: #fff7f3; color: var(--muted); font-size: .72rem; }.beta-missions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }.beta-mission { display: flex; flex-direction: column; padding: 25px; border: 1px solid var(--line); border-radius: 17px; background: #fff; }.beta-mission-primary { border-color: #2c6d59; box-shadow: 0 14px 40px rgba(20, 52, 42, .1); }.beta-mission header { display: grid; grid-template-columns: 42px 1fr; gap: 12px; align-items: start; }.beta-mission header > span { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 50%; background: var(--coral); font-family: var(--serif); }.beta-mission-primary header > span { background: var(--mint); }.beta-mission header small { color: var(--mint-dark); font-size: .56rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }.beta-mission h2 { margin: 5px 0 0; font-size: 1.25rem; line-height: 1.22; }.beta-mission > p { min-height: 78px; margin: 20px 0 12px; color: var(--muted); font-size: .7rem; }.beta-mission ul, .beta-mission ol { display: grid; gap: 8px; min-height: 148px; margin: 0; padding-left: 19px; color: var(--muted); font-size: .67rem; }.beta-mission ol { color: var(--ink); font-weight: 650; }.beta-mission-test { margin: 20px 0; padding: 14px 15px; border-radius: 10px; background: var(--paper); }.beta-mission-test span { color: var(--mint-dark); font-size: .56rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }.beta-mission-test p { margin: 6px 0 0; color: var(--muted); font-size: .65rem; }.beta-mission > .button { align-self: flex-start; margin-top: auto; }.beta-boundaries { margin-top: 24px; }.beta-boundary-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--line); }.beta-boundary-grid article { padding: 22px; background: #fff; }.boundary-state { display: inline-block; padding: 5px 8px; border-radius: 99px; font-size: .54rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }.boundary-state.real { background: #e5f6ef; color: #17634d; }.boundary-state.demo { background: #fff4d6; color: #705516; }.boundary-state.deferred { background: #f0efea; color: #5f625d; }.beta-boundary-grid h3 { margin: 13px 0 8px; font-size: .92rem; }.beta-boundary-grid p { margin: 0; color: var(--muted); font-size: .67rem; }.beta-feedback-callout { display: flex; justify-content: space-between; gap: 40px; align-items: center; margin: 24px 0 70px; padding: 28px 30px; border-radius: 17px; background: #112a23; color: #fff; }.beta-feedback-callout > div { display: flex; gap: 17px; align-items: center; }.beta-feedback-callout > div > span { display: grid; flex: 0 0 44px; height: 44px; place-items: center; border-radius: 50%; background: var(--mint); color: #174b3d; font-size: 1.1rem; }.beta-feedback-callout small { color: var(--mint); font-size: .56rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }.beta-feedback-callout h2 { margin: 4px 0; font-size: 1.25rem; }.beta-feedback-callout p { margin: 0; color: #b8cac2; font-size: .67rem; }

@media (max-width: 1100px) {
  .beta-missions { grid-template-columns: 1fr 1fr; }
  .beta-mission-primary { grid-column: 1/-1; }
  .telemetry-metric-grid { grid-template-columns: 1fr 1fr; }
  .telemetry-layout { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  .report-provenance { grid-template-columns: 1fr; gap: 6px; }
  .report-provenance > small { max-width: none; text-align: left; }
  .campaign-contribution-note { grid-template-columns: 1fr; gap: 8px; }
  .evidence-workflow-steps { grid-template-columns: 1fr; }
  .evidence-workflow-steps em { display: none; }
  .workflow-action-panel { align-items: flex-start; flex-direction: column; }
  .snapshot-manifest, .analyst-review-form, .release-action-panel { grid-template-columns: 1fr; }
  .review-note, .review-actions { grid-column: auto; }
  .feedback-kinds, .feedback-summary-grid { grid-template-columns: repeat(2, 1fr); }
  .feedback-triage-form { grid-template-columns: 1fr; }
  .feedback-item-body { display: block; }
  .feedback-item-body > small { display: block; margin-top: 8px; }
  .beta-status-grid, .beta-mission-intro, .beta-missions, .beta-boundary-grid { grid-template-columns: 1fr; }
  .beta-mission-primary { grid-column: auto; }
  .beta-mission > p, .beta-mission ul, .beta-mission ol { min-height: 0; }
  .beta-feedback-callout { align-items: flex-start; flex-direction: column; }
  .telemetry-metric-grid, .telemetry-privacy-contract { grid-template-columns: 1fr; }
  .telemetry-table { overflow-x: auto; }
  .telemetry-table > div { min-width: 620px; }
  .telemetry-empty > div { align-items: stretch; flex-direction: column; }
}

@media print {
  .report-provenance { break-inside: avoid; background: #fff; }
  .feedback-launcher, .feedback-dialog, .feedback-toast { display: none !important; }
}

/* Readability refresh: one modern type system and a humane minimum scale. */
.question-help { max-width: 720px; font-size: .95rem; line-height: 1.65; }
.welcome-copy h1 { max-width: 720px; font-size: clamp(2.8rem, 4vw, 4.3rem); line-height: 1.08; }
.step-main > h1 { font-size: clamp(2.4rem, 3.8vw, 3.7rem); line-height: 1.08; }
.triplet-heading h1 { font-size: 2.65rem; }
.lens-question legend b { font-size: .82rem; }
.lens-question p { font-size: 1rem; line-height: 1.55; }
.scale-row small { font-size: .72rem; line-height: 1.3; }
.baseline-grid label, .optional-note { font-size: .82rem; }
.choice-card b { font-size: .92rem; }
.coverage-panel > p, .lens-guide p { font-size: .82rem; line-height: 1.55; }

body.admin-page .admin-sidebar { width: 270px; padding-inline: 18px; }
body.admin-page .admin-shell { grid-template-columns: 270px 1fr; }
body.admin-page .admin-nav a { min-height: 44px; font-size: .82rem; }
body.admin-page .admin-nav > span { font-size: .65rem; }
body.admin-page .workspace-switcher b, body.admin-page .user-chip b { font-size: .8rem; }
body.admin-page .workspace-switcher small, body.admin-page .user-chip small,
body.admin-page .sidebar-help p, body.admin-page .sidebar-help a,
body.admin-page small { font-size: .74rem; line-height: 1.45; }
body.admin-page p { font-size: .84rem; line-height: 1.55; }
body.admin-page label { font-size: .78rem; }
body.admin-page .global-search input { font-size: .82rem; }
body.admin-page .global-search kbd, body.admin-page .demo-badge { font-size: .68rem; }
body.admin-page .admin-content { width: min(1280px, calc(100% - 64px)); padding-top: 46px; }
body.admin-page .admin-page-head > div:only-child { display: block; }
body.admin-page .admin-page-head h1 { font-size: 2.25rem; }
body.admin-page .admin-page-head p { max-width: 760px; font-size: .95rem; }
body.admin-page .admin-card { padding: 26px; border-radius: 16px; box-shadow: none; }
body.admin-page .admin-card .card-heading h2 { font-size: 1.25rem; }
body.admin-page .admin-card .card-heading a { font-size: .78rem; }
body.admin-page .metric-grid article { min-height: 145px; padding: 24px; }
body.admin-page .metric-grid article > span { font-size: .76rem; }
body.admin-page .metric-grid article > small { font-size: .74rem; }
body.admin-page .campaign-list b, body.admin-page .decision-list b,
body.admin-page .org-tile b, body.admin-page .people-stack b { font-size: .82rem; }
body.admin-page .decision-list p { font-size: .78rem; }
body.admin-page .filter-bar button, body.admin-page .search-field,
body.admin-page .filter-bar > span { font-size: .76rem; }
body.admin-page .data-table .table-head { font-size: .7rem; }
body.admin-page .data-table .table-row { font-size: .78rem; }
body.admin-page .entity-cell small { font-size: .72rem; }
body.admin-page .scope-detail span, body.admin-page .scope-detail b { font-size: .76rem; }
body.admin-page .campaign-board p, body.admin-page .board-progress span,
body.admin-page .campaign-status-bar b, body.admin-page .completion-donut span,
body.admin-page .coverage-alert p, body.admin-page .readiness-list b,
body.admin-page .instrument-notice p, body.admin-page .instrument-meta span,
body.admin-page .contract-grid p { font-size: .72rem; }
body.admin-page .matrix-head, body.admin-page .coverage-matrix > div > b,
body.admin-page .matrix-cell { font-size: .68rem; }
body.admin-page .beta-status-card span, body.admin-page .beta-mission header small,
body.admin-page .beta-mission-test span, body.admin-page .boundary-state,
body.admin-page .beta-feedback-callout small { font-size: .68rem; }
body.admin-page .beta-mission > p, body.admin-page .beta-mission ul,
body.admin-page .beta-mission ol, body.admin-page .beta-mission-test p,
body.admin-page .beta-boundary-grid p, body.admin-page .beta-feedback-callout p { font-size: .8rem; line-height: 1.55; }

.control-form { max-width: 940px; }
.control-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.control-form-grid > .wide { grid-column: 1 / -1; }
.control-form label, .link-list label { display: block; color: var(--ink); font-weight: 750; }
.control-form label > span, .link-list label > span { display: block; margin-bottom: 7px; }
.control-form input, .control-form select, .control-form textarea, .link-list input {
  width: 100%; min-height: 46px; padding: 11px 13px; border: 1px solid #c9cec8;
  border-radius: 9px; background: #fff; color: var(--ink); font: inherit; font-weight: 450;
}
.control-form textarea { min-height: 112px; resize: vertical; line-height: 1.5; }
.control-form label > small { display: block; margin-top: 6px; color: var(--muted); font-size: .7rem; font-weight: 450; }
.control-form-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 26px; padding-top: 20px; border-top: 1px solid var(--line); }
.privacy-fieldset { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin: 0; padding: 18px; border: 1px solid var(--line); border-radius: 11px; }
.privacy-fieldset legend { padding: 0 7px; color: var(--muted); font-size: .72rem; font-weight: 800; }
.participant-layout { grid-template-columns: 1.15fr .85fr; }
.participant-layout .control-form { display: flex; flex-direction: column; gap: 14px; }
.one-time-links { margin-bottom: 16px; border-color: #86baa8; background: #f2faf7; }
.one-time-links > p { color: var(--muted); font-size: .78rem; }
.link-list { display: grid; gap: 10px; margin-top: 18px; }
.link-list label { display: grid; grid-template-columns: 170px 1fr; gap: 12px; align-items: center; font-size: .76rem; }
.link-list label > span { margin: 0; }
.link-list input { min-height: 40px; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .7rem; }
.participant-table-card { margin-top: 16px; }
.participant-table .table-head, .participant-table .table-row { grid-template-columns: 1.1fr .55fr .9fr .55fr 1.4fr; }
.participant-table .table-row > span > b, .participant-table .table-row > span > small { display: block; }
.participant-actions { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.participant-actions .button { min-height: 32px; padding: 6px 9px; font-size: .65rem; }
.text-danger { border: 0; background: transparent; color: #923f34; cursor: pointer; font: inherit; font-size: .68rem; font-weight: 800; }
.access-boundary { margin-top: 16px; }
.access-boundary > p { max-width: 900px; color: var(--muted); font-size: .8rem; line-height: 1.55; }
.people-summary b { font-size: .92rem; }
.people-summary small { margin-top: 3px; font-size: .76rem; line-height: 1.45; }
.assignment-planner { grid-template-columns: 1.25fr .75fr; }
.assignment-planner .control-form { display: flex; flex-direction: column; gap: 16px; max-width: none; }
.assignment-planner .control-form textarea { min-height: 190px; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .8rem; }
.form-intro { margin: -6px 0 0; color: var(--muted); font-size: .82rem; line-height: 1.55; }
.assignment-rules { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.assignment-rules span { display: flex; align-items: center; gap: 8px; padding: 10px; border-radius: 9px; background: var(--paper); color: var(--muted); font-size: .76rem; line-height: 1.4; }
.assignment-rules i { display: grid; flex: 0 0 24px; height: 24px; place-items: center; border-radius: 50%; background: var(--mint); color: var(--ink); font-size: .65rem; font-style: normal; font-weight: 850; }
.assignment-explainer ol { display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; counter-reset: route-step; }
.assignment-explainer li { position: relative; padding-left: 42px; counter-increment: route-step; }
.assignment-explainer li::before { position: absolute; left: 0; top: 0; display: grid; width: 28px; height: 28px; place-items: center; border-radius: 8px; background: #e6f2ec; color: var(--mint-dark); content: counter(route-step); font-size: .7rem; font-weight: 850; }
.assignment-explainer b, .assignment-explainer span { display: block; }
.assignment-explainer b { font-size: .88rem; }
.assignment-explainer span { margin-top: 4px; color: var(--muted); font-size: .8rem; line-height: 1.55; }
.campaign-assignment-directory { margin-bottom: 16px; }
.assignment-campaign-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.assignment-campaign-grid > article { display: flex; flex-direction: column; min-height: 310px; padding: 19px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.assignment-campaign-grid header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.assignment-campaign-grid header span { color: var(--mint-dark); font-size: .76rem; font-weight: 850; }
.assignment-campaign-grid header em { padding: 4px 7px; border-radius: 99px; background: #e8f5ef; color: #317c62; font-size: .7rem; font-style: normal; font-weight: 800; }
.assignment-campaign-grid h3 { margin: 12px 0 5px; font-size: 1rem; }
.assignment-campaign-grid > article > p { margin: 0; color: var(--muted); font-size: .8rem; line-height: 1.5; }
.campaign-code { margin: 15px 0; padding: 10px 12px; border-radius: 8px; background: #f3f4f0; }
.campaign-code small, .campaign-code code { display: block; }
.campaign-code small { margin-bottom: 4px; color: var(--muted); font-size: .61rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.campaign-code code { overflow-wrap: anywhere; color: var(--ink); font-size: .82rem; }
.assignment-campaign-grid dl { display: grid; gap: 10px; margin: 0 0 16px; }
.assignment-campaign-grid dl div { display: grid; grid-template-columns: 76px 1fr; gap: 8px; }
.assignment-campaign-grid dt { color: var(--ink); font-size: .76rem; font-weight: 800; }
.assignment-campaign-grid dd { margin: 0; color: var(--muted); font-size: .78rem; line-height: 1.5; }
.assignment-campaign-grid > article > a { margin-top: auto; color: var(--mint-dark); font-size: .78rem; font-weight: 800; }
.assignment-result { margin-bottom: 16px; }
.assignment-link-list { display: grid; gap: 9px; margin-top: 18px; }
.assignment-link-list label { display: grid; grid-template-columns: minmax(210px, .55fr) 1fr; gap: 12px; align-items: center; }
.assignment-link-list label > span b, .assignment-link-list label > span small { display: block; }
.assignment-link-list label > span b { font-size: .78rem; }
.assignment-link-list label > span small { margin-top: 3px; color: var(--muted); font-size: .69rem; }
.assignment-link-list input { width: 100%; min-height: 42px; padding: 10px 12px; border: 1px solid #b9c9c1; border-radius: 8px; background: #fff; color: var(--ink); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .69rem; }
.people-campaign-table { margin-top: 16px; }
.cohort-rules { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 18px; }.cohort-rules article { display: flex; gap: 13px; padding: 18px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }.cohort-rules article > span { display: grid; flex: 0 0 32px; height: 32px; place-items: center; border-radius: 50%; background: var(--mint); color: #174b3d; font-size: .65rem; font-weight: 850; }.cohort-rules b { font-size: .8rem; }.cohort-rules p { margin: 5px 0 0; color: var(--muted); font-size: .7rem; line-height: 1.45; }
.cohort-series-list { display: grid; gap: 16px; }.cohort-series > header { display: flex; justify-content: space-between; gap: 20px; align-items: start; }.cohort-series h2 { margin: 5px 0 0; font-size: 1.2rem; }.cohort-timeline { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1px; margin-top: 20px; overflow: hidden; border: 1px solid var(--line); border-radius: 11px; background: var(--line); }.cohort-timeline a { display: flex; flex-direction: column; min-height: 145px; padding: 17px; background: #fff; color: var(--ink); }.cohort-timeline span { color: var(--mint-dark); font-size: .62rem; font-weight: 850; text-transform: uppercase; }.cohort-timeline b { margin-top: 8px; font-size: .82rem; }.cohort-timeline small { margin-top: 5px; color: var(--muted); font-size: .67rem; }.cohort-timeline em { margin-top: auto; padding-top: 14px; color: var(--muted); font-size: .65rem; font-style: normal; }.comparison-readiness { margin-top: 14px; padding: 14px 16px; border-radius: 9px; background: #eff9f5; }.comparison-readiness b { font-size: .76rem; }.comparison-readiness p { margin: 4px 0 0; color: var(--muted); font-size: .7rem; line-height: 1.45; }

body.report-page .group-title-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
body.report-page .group-title-row > div:first-child { min-width: 0; }
body.report-page .group-title-row .report-actions { width: min(390px, 34vw); min-width: 0; }
body.report-page .report-hero h1, body.report-page .group-title-row h1 {
  max-width: 760px;
  font-size: clamp(2.6rem, 3vw, 3.6rem);
  line-height: 1.08;
}
body.report-page .report-hero p, body.report-page .group-title-row p { max-width: 820px; font-size: 1rem; line-height: 1.65; }
body.report-page .report-actions > small, body.report-page .report-version,
body.report-page .snapshot-line, body.report-page .report-section-label small,
body.report-page .aha-card-head > small, body.report-page .system-aha footer,
body.report-page .aha-card footer { font-size: .72rem; line-height: 1.5; }
body.report-page .report-subnav a { font-size: .78rem; }
body.report-page .construct-row > span, body.report-page .heatmap-row strong { font-size: .82rem; }
body.report-page .construct-row > small, body.report-page .vector-answer small,
body.report-page .heatmap-header, body.report-page .heatmap-legend,
body.report-page .spread { font-size: .7rem; }
body.report-page .finding-grid p, body.report-page .constraint-chain p,
body.report-page .executive-cards p, body.report-page .highlight-card p,
body.report-page .map-interpretation p, body.report-page .group-finding .finding-signal,
body.report-page .workshop-cta p, body.report-page .executive-brief-lead p,
body.report-page .system-aha-lead p { font-size: .9rem; line-height: 1.65; }
body.report-page .insight-detail-grid p, body.report-page .system-aha-consequence p,
body.report-page .system-aha-evidence p, body.report-page .chain-node p,
body.report-page .chain-node > b, body.report-page .chain-caution p,
body.report-page .decision-agenda article p, body.report-page .decision-room p,
body.report-page .decision-room li { font-size: .8rem; line-height: 1.55; }
body.report-page .aha-card-head span, body.report-page .insight-detail-grid span,
body.report-page .system-aha-lead > span, body.report-page .system-aha-evidence small,
body.report-page .system-aha-consequence span, body.report-page .chain-node > span,
body.report-page .decision-agenda header span, body.report-page .decision-agenda article > div > span { font-size: .68rem; }
body.report-page .aha-card, body.report-page .system-aha { box-shadow: none; }

@media (max-width: 900px) {
  html { font-size: 16px; }
  .retention-status-band { align-items: flex-start; flex-direction: column; }
  body.admin-page .admin-shell { grid-template-columns: 1fr; }
  body.admin-page .admin-sidebar { width: 270px; }
  body.admin-page .admin-content { width: calc(100% - 28px); }
  body.report-page .group-title-row { grid-template-columns: 1fr; }
  body.report-page .group-title-row .report-actions { width: 100%; }
  .control-form-grid, .privacy-fieldset, .participant-layout, .assignment-planner { grid-template-columns: 1fr; }
  .assignment-rules { grid-template-columns: 1fr; }
  .assignment-link-list label { grid-template-columns: 1fr; }
  .assignment-campaign-grid { grid-template-columns: 1fr; }
  .cohort-rules { grid-template-columns: 1fr; }
  .control-form-grid > .wide { grid-column: auto; }
  .link-list label { grid-template-columns: 1fr; }
  .individual-value-receipt, .selection-trace, .conversation-script { grid-template-columns: 1fr; }
  .individual-value-receipt ol, .hypothesis-grid, .individual-plan { grid-template-columns: 1fr; }
  .selection-trace span, .conversation-script > span { grid-row: auto; }
  .respondent-return { grid-template-columns: 1fr; }
}

/* Named workspace accounts */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.success-banner { margin-bottom: 18px; padding: 14px 16px; border: 1px solid #9bc9b8; border-radius: 11px; background: #edf8f3; color: #174b3d; }
.success-banner p { margin: 0; font-size: .84rem; }
.access-link-card { margin-bottom: 16px; border-color: #86baa8; background: #f2faf7; }
.generated-link-row { display: grid; grid-template-columns: 1fr auto; gap: 10px; margin-top: 15px; }
.generated-link-row input { min-width: 0; padding: 11px 13px; border: 1px solid #b9c9c1; border-radius: 9px; background: #fff; color: var(--ink); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .75rem; }
.operator-invite-form { display: grid; grid-template-columns: 1fr 1.25fr .85fr auto; gap: 12px; align-items: end; margin: 22px 0; padding: 18px; border-radius: 12px; background: var(--paper); }
.operator-invite-form label { color: var(--ink); font-weight: 750; }
.operator-invite-form input, .operator-invite-form select, .operator-access-form select { display: block; width: 100%; min-height: 43px; margin-top: 7px; padding: 9px 11px; border: 1px solid #c9cec8; border-radius: 8px; background: #fff; color: var(--ink); font: inherit; }
.operator-list { display: grid; border-top: 1px solid var(--line); }
.operator-row { display: grid; grid-template-columns: minmax(230px, 1fr) auto minmax(280px, auto) auto; gap: 14px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--line); }
.operator-identity { display: flex; gap: 11px; align-items: center; min-width: 0; }
.operator-identity b, .operator-identity a, .operator-identity small { display: block; }
.operator-identity b { font-size: .84rem; }
.operator-identity a { margin-top: 2px; overflow: hidden; color: var(--mint-dark); font-size: .76rem; text-overflow: ellipsis; }
.operator-identity small { margin-top: 3px; color: var(--muted); }
.operator-access-form { display: grid; grid-template-columns: 1fr 1fr auto; gap: 8px; align-items: center; }
.operator-access-form select { min-height: 38px; margin: 0; font-size: .75rem; }
.text-button { padding: 6px; border: 0; background: transparent; color: var(--mint-dark); cursor: pointer; font: inherit; font-size: .74rem; font-weight: 800; }
.role-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.role-grid > div { padding: 16px; border-radius: 10px; background: var(--paper); }
.role-grid b { font-size: .82rem; }
.role-grid p { margin: 6px 0 0; color: var(--muted); }
.import-error-list ul { margin: 8px 0 0; padding-left: 20px; }
.assignment-methods { display: grid; grid-template-columns: 1.15fr .85fr; gap: 16px; margin-bottom: 16px; }
.assignment-methods .control-form { max-width: none; }
.campaign-choice-list { display: grid; gap: 8px; margin: 0; padding: 16px; border: 1px solid var(--line); border-radius: 11px; }
.campaign-choice-list legend { padding: 0 7px; color: var(--ink); font-size: .78rem; font-weight: 800; }
.campaign-choice-list label { display: grid; grid-template-columns: auto 1fr; gap: 11px; align-items: start; padding: 12px; border: 1px solid var(--line); border-radius: 9px; background: #fff; cursor: pointer; }
.campaign-choice-list input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--mint-dark); }
.campaign-choice-list b, .campaign-choice-list small, .campaign-choice-list em { display: block; }
.campaign-choice-list b { font-size: .82rem; }
.campaign-choice-list small { margin-top: 3px; color: var(--muted); }
.campaign-choice-list em { margin-top: 7px; color: var(--mint-dark); font-size: .7rem; font-style: normal; line-height: 1.45; }
.file-drop { padding: 18px; border: 1px dashed #9fb7ad; border-radius: 11px; background: var(--paper); }
.file-drop input { padding: 9px 0; border: 0; background: transparent; }
.assignment-routing-note { margin-bottom: 16px; }
.assignment-routing-note ol { grid-template-columns: repeat(4, 1fr); }
.assignment-preview { margin-bottom: 16px; border-color: #d5b36b; }
.assignment-preview.preview-valid { border-color: #86baa8; }
.preview-table { margin: 18px 0; overflow-x: auto; border: 1px solid var(--line); border-radius: 10px; }
.preview-row { display: grid; grid-template-columns: 50px 1.1fr .8fr 1fr 1fr; gap: 12px; min-width: 850px; padding: 12px 14px; border-bottom: 1px solid var(--line); align-items: start; font-size: .76rem; }
.preview-row:last-child { border-bottom: 0; }
.preview-row b, .preview-row small, .preview-row code { display: block; }
.preview-row small { color: var(--muted); }
.preview-row code { margin-bottom: 4px; overflow-wrap: anywhere; }
.preview-head { background: var(--paper); color: var(--muted); font-size: .68rem; font-weight: 850; text-transform: uppercase; }
.text-error { color: #923f34; }
.text-success { color: #17634d; }
.bulk-access-card { margin-bottom: 16px; }
.bulk-toolbar { display: flex; justify-content: flex-end; gap: 9px; margin: 16px 0 10px; }
.bulk-toolbar select { min-height: 38px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; background: #fff; color: var(--ink); font: inherit; font-size: .76rem; }
.bulk-participant-list { overflow-x: auto; border: 1px solid var(--line); border-radius: 10px; }
.bulk-participant-row { display: grid; grid-template-columns: 54px 1fr 1fr .5fr .8fr; gap: 12px; min-width: 780px; padding: 12px 14px; border-bottom: 1px solid var(--line); align-items: center; color: var(--ink); font-size: .76rem; }
.bulk-participant-row:last-child { border-bottom: 0; }
.bulk-participant-row b, .bulk-participant-row small { display: block; }
.bulk-participant-row small { color: var(--muted); }
.bulk-participant-row input { width: 18px; height: 18px; accent-color: var(--mint-dark); }
.bulk-head { background: var(--paper); color: var(--muted); font-size: .68rem; font-weight: 850; text-transform: uppercase; }

.progress-summary { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.progress-summary article { align-items: flex-start; min-width: 0; }
.progress-summary-mark { width: 12px; height: 12px; flex: 0 0 12px; margin-top: 5px; border: 2px solid #80958c; border-radius: 50%; background: #fff; }
.progress-summary-mark.started { border-color: #ca784e; background: #ffe1d3; }
.progress-summary-mark.completed { border-color: var(--mint-dark); background: var(--mint); }
.progress-summary-mark.attention { border-color: #a6473c; background: #f4b2a9; }
.participant-directory-card { margin-bottom: 16px; scroll-margin-top: 82px; }
.roster-history-note { margin: 0 0 16px; border: 1px solid #c8d8d0; }
.roster-history-note p { font-size: .76rem; line-height: 1.55; }
.roster-history-note b { color: var(--ink); }
.roster-history-inline { margin: 12px 0 16px; padding: 11px 12px; border-left: 3px solid #d3a54c; background: #fff9e9; color: var(--muted); font-size: .7rem; line-height: 1.5; }
.participant-directory-card .card-heading > div { max-width: 850px; }
.participant-directory-card .card-heading p, .card-intro { margin: 6px 0 0; color: var(--muted); font-size: .78rem; line-height: 1.55; }
.participant-directory-toolbar { display: grid; grid-template-columns: minmax(240px, 1fr) minmax(180px, .55fr) minmax(160px, .45fr) auto; gap: 12px; align-items: end; margin: 20px 0 14px; padding: 14px; border-radius: 12px; background: var(--paper); }
.participant-directory-toolbar label > span { display: block; margin-bottom: 6px; color: var(--muted); font-size: .68rem; font-weight: 800; }
.participant-directory-toolbar input, .participant-directory-toolbar select { width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid #b9c9c1; border-radius: 9px; background: #fff; color: var(--ink); font: inherit; font-size: .78rem; }
.participant-directory-toolbar p { min-width: 104px; margin: 0 0 12px; color: var(--muted); font-size: .7rem; text-align: right; }
.participant-directory-list { display: grid; gap: 12px; }
.participant-directory-person { overflow: hidden; border: 1px solid var(--line); border-radius: 13px; background: #fff; }
.participant-directory-person[hidden], .participant-topic-row[hidden] { display: none; }
.participant-directory-person > summary { display: grid; grid-template-columns: auto minmax(200px, 1fr) auto 18px; gap: 13px; align-items: center; padding: 16px 18px; background: #f8faf8; cursor: pointer; list-style: none; }
.participant-directory-person > summary::-webkit-details-marker { display: none; }
.participant-directory-person > summary::after { content: "+"; color: var(--green); font-size: 1.2rem; font-weight: 700; }
.participant-directory-person[open] > summary::after { content: "-"; }
.participant-directory-person h3, .participant-directory-person p { margin: 0; }
.participant-directory-person h3 { font-size: .92rem; }
.participant-directory-person summary p { margin-top: 2px; color: var(--ink-2); font-size: .76rem; }
.participant-directory-person summary small { display: block; margin-top: 3px; color: var(--muted); font-size: .68rem; }
.person-overall { display: grid; justify-items: end; min-width: 190px; text-align: right; }
.participant-state { display: inline-flex; padding: 5px 8px; border-radius: 99px; background: #e8eeeb; color: #41534b; font-size: .65rem; font-weight: 850; }
.participant-state.state-started { background: #fff0e9; color: #8b492d; }
.participant-state.state-completed { background: #e0f3e9; color: #17634d; }
.participant-state.state-attention { background: #fbe6e2; color: #8d3d34; }
.participant-topic-list { display: grid; }
.participant-topic-row { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(140px, .65fr) minmax(210px, 1.15fr) auto; gap: 18px; align-items: center; padding: 14px 18px; border-top: 1px solid var(--line); }
.participant-topic-row b, .participant-topic-row small { display: block; }
.participant-topic-row b { font-size: .76rem; }
.participant-topic-row small { margin-top: 3px; color: var(--muted); font-size: .65rem; line-height: 1.4; }
.participant-topic-progress > span { display: flex; justify-content: space-between; gap: 8px; align-items: baseline; }
.participant-topic-progress > i { display: block; overflow: hidden; height: 7px; margin-top: 7px; border-radius: 99px; background: #e2e9e5; }
.participant-topic-progress > i > b { display: block; height: 100%; border-radius: inherit; background: #80958c; }
.participant-topic-progress > i > .fill-started { background: #e3885f; }
.participant-topic-progress > i > .fill-completed { background: var(--mint-dark); }
.participant-topic-progress > i > .fill-expired, .participant-topic-progress > i > .fill-revoked { width: 100% !important; background: repeating-linear-gradient(135deg, #b85c50 0 4px, #f3c7c0 4px 8px); }
.participant-topic-action { display: flex; min-width: 104px; flex-direction: column; gap: 5px; text-align: right; }
.participant-topic-action a { color: var(--mint-dark); font-size: .68rem; font-weight: 850; }
.participant-directory-empty, .compact-empty { padding: 20px; border: 1px dashed #b9c9c1; border-radius: 10px; background: var(--paper); }
.participant-directory-empty p, .compact-empty p { margin: 5px 0 0; color: var(--muted); font-size: .72rem; }
.inline-link { display: inline-block; margin-top: 14px; color: var(--mint-dark); font-size: .72rem; font-weight: 850; }

@media (max-width: 1100px) {
  .operator-invite-form { grid-template-columns: 1fr 1fr; }
  .operator-row { grid-template-columns: 1fr auto; }
  .operator-access-form { grid-column: 1 / -1; }
  .role-grid { grid-template-columns: 1fr 1fr; }
  .assignment-methods { grid-template-columns: 1fr; }
  .assignment-routing-note ol { grid-template-columns: 1fr 1fr; }
  .progress-summary { grid-template-columns: repeat(3, 1fr); }
  .participant-directory-toolbar { grid-template-columns: 1fr 1fr; }
  .participant-directory-toolbar p { margin: 0; text-align: left; }
  .participant-topic-row { grid-template-columns: 1fr 1fr; }
  .participant-topic-action { align-items: flex-start; text-align: left; }
}

@media (max-width: 700px) {
  .operator-invite-form, .operator-access-form, .role-grid, .generated-link-row { grid-template-columns: 1fr; }
  .operator-row { grid-template-columns: 1fr; align-items: start; }
  .assignment-routing-note ol { grid-template-columns: 1fr; }
  .progress-summary, .participant-directory-toolbar, .participant-topic-row { grid-template-columns: 1fr; }
  .participant-directory-person > summary { grid-template-columns: auto 1fr 18px; align-items: start; }
  .person-overall { grid-column: 1 / -1; justify-items: start; min-width: 0; padding-top: 8px; text-align: left; }
  body.admin-page .admin-page-head h1 { font-size: 2rem; }
}

/* Human-calibrated reporting and governed exports */
.report-calibration-panel { margin: 20px 0; padding: 22px; border: 1px solid #9fc7b9; border-radius: 15px; background: #f3faf7; }
.report-calibration-panel .card-heading p { max-width: 760px; margin: 5px 0 0; color: var(--muted); font-size: .78rem; line-height: 1.55; }
.calibration-form { display: grid; gap: 14px; margin-top: 18px; }
.calibration-form > label, .calibration-grid label { color: var(--ink); font-size: .76rem; font-weight: 800; }
.calibration-form label > span, .calibration-grid label > span { float: right; color: var(--muted); font-size: .68rem; font-weight: 500; }
.calibration-form textarea, .calibration-form select { display: block; width: 100%; margin-top: 7px; padding: 12px; border: 1px solid #b9c9c1; border-radius: 9px; background: #fff; color: var(--ink); font: inherit; font-weight: 450; line-height: 1.5; }
.calibration-form textarea { min-height: 88px; resize: vertical; }
.calibration-form > label:nth-of-type(2) textarea { min-height: 132px; }
.calibration-grid { display: grid; grid-template-columns: .42fr 1fr; gap: 14px; }
.calibration-approval { display: flex; justify-content: space-between; gap: 18px; align-items: center; margin-top: 14px; padding: 15px; border: 1px solid #d5b36b; border-radius: 11px; background: #fffaf0; }
.calibration-approval label { color: var(--ink); font-size: .74rem; line-height: 1.5; }
.calibration-approval input { margin-right: 7px; accent-color: var(--mint-dark); }
.calibration-approved { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; margin-top: 14px; padding: 17px; border-radius: 12px; background: #153a31; color: #fff; }
.calibration-approved > span { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; background: var(--mint); color: #174b3d; font-weight: 900; }
.calibration-approved small, .calibration-approved h3, .calibration-approved p, .calibration-approved b { display: block; }
.calibration-approved small { color: #a9cabc; font-size: .65rem; font-weight: 800; text-transform: uppercase; }
.calibration-approved h3 { margin: 3px 0; font-size: 1rem; }
.calibration-approved p { margin: 0 0 5px; color: #d7e2dd; font-size: .75rem; }
.calibration-approved b { font-size: .68rem; }
button:disabled { opacity: .5; cursor: not-allowed; }
.quality-summary-grid { display: grid; grid-template-columns: .55fr 1fr 1fr; gap: 1px; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: var(--line); }
.quality-summary-grid article { padding: 22px; background: #fff; }
.quality-summary-grid .quality-rating { background: #123a31; color: #fff; }
.quality-summary-grid strong { display: block; margin: 8px 0 3px; font-family: var(--serif); font-size: 2rem; }
.quality-summary-grid p { margin: 7px 0 0; color: var(--muted); font-size: .82rem; line-height: 1.55; }
.quality-summary-grid .quality-rating p { color: #b9d2c9; }
.quality-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 14px; }
.quality-detail-grid article { padding: 20px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); }
.quality-detail-grid h3 { margin: 0 0 10px; font-size: .95rem; }
.quality-detail-grid ul { display: grid; gap: 8px; margin: 0; padding-left: 20px; color: var(--muted); font-size: .8rem; line-height: 1.5; }
.quality-boundary { display: flex; gap: 16px; margin: 14px 0 0; padding: 15px 17px; border-left: 4px solid var(--coral); background: #fff7f3; color: var(--muted); font-size: .8rem; line-height: 1.55; }
.quality-boundary strong { flex: 0 0 auto; color: var(--ink); }
.contradiction-brief { margin-bottom: 18px; padding: 22px; border: 1px solid #dec888; border-radius: 14px; background: #fffaf0; }
.contradiction-brief > h3 { max-width: 960px; margin: 6px 0 18px; font-size: 1.05rem; line-height: 1.45; }
.contradiction-brief > div { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.contradiction-brief article { padding: 16px; border: 1px solid #e3d7b5; border-radius: 10px; background: #fff; }
.contradiction-brief article b, .contradiction-brief article small, .contradiction-brief article strong { display: block; }
.contradiction-brief article p { margin: 7px 0; color: var(--ink); font-size: .78rem; line-height: 1.5; }
.contradiction-brief article small { color: var(--muted); font-size: .71rem; line-height: 1.5; }
.contradiction-brief article strong { margin-top: 10px; color: var(--mint-dark); font-size: .72rem; line-height: 1.5; }

@media (max-width: 800px) {
  .calibration-grid, .quality-summary-grid, .quality-detail-grid, .contradiction-brief > div { grid-template-columns: 1fr; }
  .calibration-approval { align-items: flex-start; flex-direction: column; }
  .calibration-approved { grid-template-columns: auto 1fr; }
  .calibration-approved .button { grid-column: 1 / -1; }
}

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

/* Individual report: visual profile and answer-level provenance */
.derivation-note { grid-column: 1 / -1; margin: 0; padding: 13px 15px; border-left: 3px solid var(--mint-dark); background: #eef7f2; color: var(--muted); font-size: .74rem; line-height: 1.55; }
.derivation-note b { color: var(--ink); }
.source-citations { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; margin-top: 10px; }
.source-citations > span { margin-right: 3px; color: var(--muted); font-size: .59rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.source-citations a { padding: 3px 6px; border: 1px solid #b7c9c0; border-radius: 5px; background: rgba(255,255,255,.82); color: #1d644f; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .57rem; font-weight: 800; text-decoration: none; }
.source-citations a:hover { border-color: var(--mint-dark); background: #fff; }
.report-hero .source-citations { margin-top: 9px; }
.report-version { display: block; margin-top: 14px; }
.individual-visual-overview { padding-bottom: 92px; }
.visual-heading { max-width: 820px; margin-bottom: 28px; }
.visual-heading h2 { margin: 8px 0 12px; }
.visual-heading p { color: var(--muted); }
.visual-signal-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; overflow: hidden; margin-bottom: 16px; border: 1px solid var(--line); border-radius: 16px; background: var(--line); }
.visual-signal-strip article { min-width: 0; padding: 18px 20px; background: #fff; }
.visual-signal-strip article:first-child { background: #fff1ec; }
.visual-signal-strip article > span, .visual-signal-strip article > strong, .visual-signal-strip article > small { display: block; }
.visual-signal-strip article > span { color: var(--muted); font-size: .62rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.visual-signal-strip article > strong { margin-top: 6px; font-size: 1rem; }
.visual-signal-strip article > small { margin-top: 5px; color: var(--muted); font-size: .66rem; }
.visual-signal-strip .source-citations > span { display: inline; }
.individual-chart-grid { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 16px; align-items: stretch; }
.pbc-profile-card, .lens-distribution-card { overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: var(--shadow-soft); }
.pbc-profile-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; padding: 24px 26px 20px; border-bottom: 1px solid var(--line); }
.pbc-profile-card h3, .lens-distribution-card h3 { margin: 5px 0 0; font-size: 1.18rem; }
.pbc-chart-legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px 12px; color: var(--muted); font-size: .61rem; }
.pbc-chart-legend span { white-space: nowrap; }
.pbc-chart-legend i { display: inline-block; width: 8px; height: 8px; margin-right: 5px; border-radius: 50%; background: var(--violet); }
.pbc-chart-legend .legend-b i { background: var(--coral); }
.pbc-chart-legend .legend-c i { background: var(--mint-dark); }
.pbc-axis { display: grid; grid-template-columns: 134px minmax(350px, 1fr) 108px; gap: 14px; align-items: end; padding: 10px 24px 8px; color: var(--muted); font-size: .57rem; }
.pbc-axis > div { display: flex; justify-content: space-between; padding-left: 25px; padding-right: 98px; }
.pbc-axis b { font-weight: 750; }
.pbc-axis small { text-align: right; }
.pbc-profile-plot { border-top: 1px solid #edf0ee; }
.pbc-profile-row { display: grid; grid-template-columns: 134px minmax(350px, 1fr) 108px; gap: 14px; align-items: center; min-width: 720px; padding: 15px 24px; border-bottom: 1px solid #e7ece9; }
.pbc-profile-row.is-primary { background: linear-gradient(90deg, rgba(242,139,114,.16), rgba(255,255,255,.45)); box-shadow: inset 4px 0 0 var(--coral); }
.pbc-profile-row.is-foundation:not(.is-primary) { background: linear-gradient(90deg, rgba(156,227,197,.2), rgba(255,255,255,.45)); box-shadow: inset 4px 0 0 var(--mint-dark); }
.pbc-row-label > span, .pbc-row-label > strong, .pbc-row-label > small { display: block; }
.pbc-row-label > span { color: var(--muted); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .55rem; font-weight: 800; }
.pbc-row-label > strong { margin: 2px 0; font-size: .79rem; }
.pbc-row-label > small { color: var(--muted); font-size: .64rem; line-height: 1.4; }
.pbc-lanes { display: grid; gap: 7px; }
.pbc-lane { --lane-color: #725bb6; display: grid; grid-template-columns: 18px minmax(170px, 1fr) 92px; gap: 7px; align-items: center; color: var(--lane-color); }
.pbc-lane.lane-b { --lane-color: #bd5744; }
.pbc-lane.lane-c { --lane-color: #246c55; }
.pbc-lane > span { display: grid; width: 17px; height: 17px; place-items: center; border-radius: 5px; background: var(--lane-color); color: #fff; font-size: .52rem; font-weight: 900; }
.pbc-track { position: relative; height: 16px; border-right: 1px solid #c9d3ce; border-left: 1px solid #c9d3ce; background-color: #edf1ef; background-image: linear-gradient(to right, #cbd5d0 1px, transparent 1px); background-size: 25% 100%; }
.pbc-track > i { position: absolute; top: 5px; left: 0; width: var(--position); height: 6px; border-radius: 99px; background: currentColor; opacity: .38; }
.pbc-track > b { position: absolute; top: 1px; left: var(--position); width: 14px; height: 14px; border: 3px solid #fff; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 1px currentColor; transform: translateX(-50%); }
.pbc-track > em { position: absolute; inset: 0; display: grid; place-items: center; color: var(--muted); font-size: .51rem; font-style: normal; font-weight: 800; letter-spacing: .04em; }
.pbc-lane > a { overflow: hidden; color: var(--ink); font-size: .64rem; font-weight: 700; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.pbc-lane > a:hover { color: var(--mint-dark); text-decoration: underline; }
.pbc-row-readout { text-align: right; }
.pbc-row-readout > b { display: block; color: var(--ink); font-size: .61rem; }
.pbc-row-readout .source-citations { justify-content: flex-end; margin-top: 5px; gap: 3px; }
.pbc-row-readout .source-citations > span { display: none; }
.pbc-row-readout .source-citations a { padding: 2px 3px; border: 0; background: transparent; font-size: .48rem; }
.pbc-profile-card > footer { display: flex; justify-content: space-between; padding: 12px 24px; background: #f6f8f7; color: var(--muted); font-size: .58rem; }
.pbc-profile-card > footer b { color: var(--ink); }
.lens-distribution-card { display: flex; flex-direction: column; }
.lens-distribution-card > header { padding: 24px 24px 18px; border-bottom: 1px solid var(--line); }
.lens-distribution-card > header p { margin: 8px 0 0; color: var(--muted); font-size: .67rem; }
.lens-distributions { display: grid; flex: 1; }
.lens-distributions > article { --lens-color: var(--violet); padding: 17px 22px; border-bottom: 1px solid var(--line); }
.lens-distributions > .distribution-b { --lens-color: var(--coral); }
.lens-distributions > .distribution-c { --lens-color: var(--mint-dark); }
.lens-distributions article > div:first-child { position: relative; padding-left: 28px; }
.lens-distributions article > div:first-child > span { position: absolute; top: 1px; left: 0; display: grid; width: 20px; height: 20px; place-items: center; border-radius: 6px; background: var(--lens-color); color: #fff; font-size: .56rem; font-weight: 900; }
.lens-distributions article > div:first-child > b, .lens-distributions article > div:first-child > small { display: block; }
.lens-distributions article > div:first-child > b { font-size: .72rem; }
.lens-distributions article > div:first-child > small { color: var(--muted); font-size: .56rem; }
.distribution-bars { display: grid; grid-template-columns: repeat(5, 1fr); gap: 7px; height: 92px; margin: 10px 0 2px; padding-top: 14px; border-bottom: 1px solid #cdd7d2; }
.distribution-bars > span { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; }
.distribution-bars b { margin-bottom: 2px; color: var(--ink); font-size: .55rem; }
.distribution-bars i { width: min(26px, 75%); min-height: 3px; height: var(--height); border-radius: 4px 4px 0 0; background: var(--lens-color); opacity: .82; }
.distribution-bars small { position: absolute; top: 100%; margin-top: 2px; color: var(--muted); font-size: .52rem; }
.lens-distributions article > footer { display: flex; justify-content: space-between; margin-top: 12px; color: var(--muted); font-size: .51rem; }
.chart-boundary { margin: 16px; padding: 14px; border-radius: 10px; background: #edf5f1; }
.chart-boundary b { font-size: .69rem; }
.chart-boundary p { margin: 4px 0 0; color: var(--muted); font-size: .61rem; line-height: 1.45; }
.individual-highlight-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding-bottom: 100px; }
.individual-highlight-intro { grid-column: 1 / -1; margin-bottom: 12px; }
.individual-highlight-grid .highlight-card { min-height: 285px; padding: 28px 28px 82px; border: 1px solid var(--line); border-radius: 18px; }
.individual-highlight-grid .source-citations { margin-top: 15px; }
.finding-title .source-citations > span { color: #afc5bc; }
.finding-title .source-citations a { border-color: #587168; background: rgba(255,255,255,.08); color: var(--mint); }
.method-source { display: inline-block; margin-top: 12px; padding: 5px 8px; border-radius: 7px; background: #edf3f0; color: var(--muted); font-size: .58rem; font-weight: 750; }
.selection-trace .source-citations { margin-top: 14px; }
.hypothesis-grid .method-source { margin: 0 0 14px; }
.plan-boundary { max-width: 850px; margin: 20px 0; padding: 13px 15px; border: 1px solid #517268; border-radius: 10px; color: #c1d4cc; font-size: .71rem; }
.evidence-method-section { padding-block: 100px; }
.evidence-method-section > .section-heading { max-width: 830px; }
.derivation-chain { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; overflow: hidden; margin: 28px 0 18px; border: 1px solid var(--line); border-radius: 14px; background: var(--line); }
.derivation-chain article { padding: 20px; background: #fff; }
.derivation-chain span, .derivation-chain b { display: block; }
.derivation-chain span { color: var(--mint-dark); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .58rem; font-weight: 850; }
.derivation-chain b { margin-top: 5px; font-size: .82rem; }
.derivation-chain p { margin: 7px 0 0; color: var(--muted); font-size: .68rem; line-height: 1.5; }
.evidence-register { overflow: hidden; border: 1px solid var(--line); border-radius: 15px; background: #fff; }
.evidence-register > summary { padding: 18px 20px; cursor: pointer; font-size: .77rem; font-weight: 850; }
.evidence-register[open] > summary { border-bottom: 1px solid var(--line); }
.evidence-register-list { display: grid; grid-template-columns: 1fr 1fr; }
.evidence-register-list article { scroll-margin-top: 100px; padding: 18px 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.evidence-register-list article:nth-child(even) { border-right: 0; }
.evidence-register-list article:target { background: #fff8dc; box-shadow: inset 4px 0 0 var(--amber); }
.evidence-register-list header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.evidence-register-list code { color: var(--mint-dark); font-size: .64rem; font-weight: 850; }
.evidence-register-list header span { color: var(--muted); font-size: .56rem; text-align: right; }
.evidence-register-list p { margin: 10px 0; color: var(--ink); font-size: .72rem; line-height: 1.5; }
.evidence-register-list article > div { padding: 9px 11px; border-radius: 8px; background: var(--paper); }
.evidence-register-list article > div span, .evidence-register-list article > div strong { display: block; }
.evidence-register-list article > div span { color: var(--muted); font-size: .54rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.evidence-register-list article > div strong { margin-top: 2px; font-size: .7rem; }
.methodology-boundary { display: grid; grid-template-columns: 300px 1fr; gap: 26px; align-items: center; margin-top: 18px; padding: 22px; border-radius: 14px; background: var(--ink); color: #fff; }
.methodology-boundary b { display: block; margin-top: 6px; font-size: .75rem; }
.methodology-boundary p { margin: 0; color: #c2d2cb; font-size: .72rem; line-height: 1.6; }

/* Public Diagnostic Snapshot: cross-field routing and roadmapping close-up */
.snapshot-analysis { padding-bottom: 100px; scroll-margin-top: 88px; }
.snapshot-analysis > .section-heading { max-width: 880px; margin-bottom: 26px; }
.snapshot-analysis > .section-heading p { color: var(--muted); font-size: .83rem; line-height: 1.65; }
.snapshot-priority-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.snapshot-priority-grid > article { display: flex; min-width: 0; flex-direction: column; padding: 20px; border: 1px solid var(--line); border-radius: 15px; background: #fff; }
.snapshot-priority-grid > article.is-recommended { border-color: #d77760; background: #fff4ef; box-shadow: inset 0 4px 0 var(--coral); }
.snapshot-priority-grid > article > div:first-child { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.snapshot-priority-grid > article > div:first-child span { color: var(--mint-dark); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .78rem; font-weight: 900; }
.snapshot-priority-grid > article > div:first-child small { color: var(--muted); font-size: .68rem; font-weight: 800; text-transform: uppercase; }
.snapshot-priority-grid h3 { margin: 14px 0 8px; font-size: 1rem; }
.snapshot-priority-grid p { flex: 1; margin: 0 0 16px; color: var(--muted); font-size: .76rem; line-height: 1.55; }
.snapshot-answer-vector { display: grid; gap: 5px; }
.snapshot-answer-vector a, .roadmapping-comparison section > div a { --vector-colour: var(--violet); display: grid; grid-template-columns: 22px minmax(0, 1fr); align-items: center; gap: 7px; overflow: hidden; border: 1px solid #dfe4e1; border-radius: 7px; background: #fff; color: var(--ink); text-decoration: none; }
.snapshot-answer-vector a.vector-b, .roadmapping-comparison section > div a.vector-b { --vector-colour: var(--coral); }
.snapshot-answer-vector a.vector-c, .roadmapping-comparison section > div a.vector-c { --vector-colour: var(--mint-dark); }
.snapshot-answer-vector a b, .roadmapping-comparison section > div a b { display: grid; align-self: stretch; place-items: center; background: var(--vector-colour); color: #fff; font-size: .66rem; }
.snapshot-answer-vector a span, .roadmapping-comparison section > div a span { overflow: hidden; padding: 7px 7px 7px 0; font-size: .7rem; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.snapshot-priority-grid .source-citations { margin-top: 13px; }
.snapshot-triangulation { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 18px; }
.snapshot-triangulation.is-single { grid-template-columns: 1fr; }
.snapshot-triangulation > article { padding: 22px 24px; border: 1px solid var(--line); border-radius: 15px; background: #f7f8f5; }
.snapshot-triangulation > article > span { color: var(--mint-dark); font-size: .69rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.snapshot-triangulation h3 { margin: 8px 0; font-size: 1.05rem; }
.snapshot-triangulation p { margin: 0; color: var(--muted); font-size: .8rem; line-height: 1.6; }
.roadmapping-reading { margin-top: 24px; overflow: hidden; border: 1px solid #28483e; border-radius: 20px; background: #153d32; color: #fff; }
.roadmapping-reading > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding: 28px 30px; border-bottom: 1px solid #3c5c53; }
.roadmapping-reading > header .eyebrow { color: var(--mint); }
.roadmapping-reading > header h2 { max-width: 820px; margin: 7px 0 0; color: #fff; font-size: 1.65rem; }
.roadmap-sample-chip { flex: 0 0 auto; padding: 8px 11px; border-radius: 99px; background: #285d4d; color: #d8f0e6; font-size: .69rem; font-weight: 850; }
.roadmapping-comparison { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: #3c5c53; }
.roadmapping-comparison section { padding: 24px 30px; background: #f8fbf9; color: var(--ink); }
.roadmapping-comparison section > span { color: var(--mint-dark); font-size: .68rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.roadmapping-comparison h3 { margin: 5px 0 14px; font-size: 1.05rem; }
.roadmapping-comparison section > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.roadmapping-narrative { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: #3c5c53; }
.roadmapping-narrative > div { padding: 24px 30px; background: #153d32; }
.roadmapping-narrative span { color: var(--mint); font-size: .7rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.roadmapping-narrative p { margin: 8px 0 0; color: #d7e6e0; font-size: .82rem; line-height: 1.6; }
.roadmapping-reading > .source-citations { margin: 0; padding: 18px 30px 22px; }
.roadmapping-reading > .source-citations > span { color: #b6ccc4; }
.roadmapping-reading > .source-citations a { border-color: #52766a; background: #214b3f; color: #d5efe5; }
.full-assessment-route { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 36px; align-items: center; margin-top: 24px; padding: 30px; border: 1px solid var(--line); border-radius: 18px; background: #eef5f1; }
.full-assessment-route h2 { margin: 8px 0 10px; font-size: 1.55rem; }
.full-assessment-route p { max-width: 850px; margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.65; }
.route-actions { display: grid; gap: 10px; justify-items: center; min-width: 220px; }
.route-actions .text-link { font-size: .72rem; }

@media (max-width: 1100px) {
  .individual-chart-grid { grid-template-columns: 1fr; }
  .lens-distributions { grid-template-columns: repeat(3, 1fr); }
  .lens-distributions > article { border-right: 1px solid var(--line); border-bottom: 0; }
  .lens-distributions > article:last-child { border-right: 0; }
  .snapshot-priority-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 800px) {
  .visual-signal-strip, .individual-highlight-grid, .derivation-chain, .evidence-register-list, .methodology-boundary { grid-template-columns: 1fr; }
  .lens-distributions { grid-template-columns: 1fr; }
  .lens-distributions > article { border-right: 0; border-bottom: 1px solid var(--line); }
  .evidence-register-list article, .evidence-register-list article:nth-child(even) { border-right: 0; }
  .methodology-boundary { gap: 12px; }
  .snapshot-triangulation, .roadmapping-comparison, .roadmapping-narrative, .full-assessment-route { grid-template-columns: 1fr; }
  .route-actions { justify-items: start; }
}

@media (max-width: 600px) {
  .individual-visual-overview { scroll-margin-top: 80px; }
  .pbc-profile-card > header { display: block; min-width: 0; padding: 20px; }
  .pbc-profile-card h3 { font-size: 1.04rem; }
  .pbc-chart-legend { justify-content: flex-start; margin-top: 12px; }
  .pbc-axis { grid-template-columns: 1fr; min-width: 0; padding: 9px 20px 7px; }
  .pbc-axis > span, .pbc-axis > small { display: none; }
  .pbc-axis > div { padding-right: 81px; padding-left: 25px; }
  .pbc-profile-row { grid-template-columns: 1fr; gap: 12px; min-width: 0; padding: 17px 20px; }
  .pbc-row-label > strong { font-size: .88rem; }
  .pbc-row-label > small { max-width: none; font-size: .67rem; }
  .pbc-lane { grid-template-columns: 18px minmax(0, 1fr) 74px; }
  .pbc-lane > a { font-size: .66rem; }
  .pbc-row-readout { display: flex; align-items: center; justify-content: space-between; text-align: left; }
  .pbc-row-readout > b { font-size: .64rem; }
  .pbc-row-readout .source-citations { display: none; }
  .pbc-profile-card > footer { flex-wrap: wrap; gap: 6px 14px; min-width: 0; padding: 12px 20px; }
  .snapshot-priority-grid { grid-template-columns: 1fr; }
  .roadmapping-reading > header { display: block; padding: 22px; }
  .roadmap-sample-chip { display: inline-block; margin-top: 12px; }
  .roadmapping-comparison section, .roadmapping-narrative > div { padding: 20px 22px; }
  .roadmapping-comparison section > div { grid-template-columns: 1fr; }
  .full-assessment-route { gap: 22px; padding: 22px; }
}

@media print {
  .visual-signal-strip, .pbc-profile-row, .derivation-chain, .evidence-register-list { break-inside: avoid; }
  .pbc-profile-card, .lens-distribution-card { box-shadow: none; }
  .evidence-register { break-before: page; }
}

/* InnovationFlow Companion: an intentionally distinct, governed AI interpretation layer. */
.companion-section { padding-block: 100px; border-block: 1px solid #263c51; background: #112131; color: #f7fbff; }
.companion-label > span { color: #84c7ff; }
.companion-label small { color: #91a7bc; }
.companion-intro { color: #c2d1de; }
.companion-boundary { display: grid; grid-template-columns: 44px minmax(0,1fr) auto; gap: 16px; align-items: center; margin-bottom: 20px; padding: 18px 20px; border: 1px solid #38536c; border-radius: 14px; background: #172b3e; }
.companion-spark { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 12px; background: #84c7ff; color: #112131; font-size: 1.2rem; }
.companion-boundary strong { display: block; font-size: .85rem; }
.companion-boundary p { margin: 3px 0 0; color: #b7c8d7; font-size: .7rem; line-height: 1.5; }
.companion-boundary > b { padding: 7px 10px; border-radius: 99px; background: #203c53; color: #a9d8ff; font-size: .57rem; letter-spacing: .06em; text-transform: uppercase; }
.companion-report { overflow: hidden; border: 1px solid #38536c; border-radius: 20px; background: #f9fcff; color: var(--ink); }
.companion-report > header { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 30px; align-items: start; padding: 30px; border-bottom: 1px solid #cfdae4; }
.companion-report > header h3 { max-width: 900px; margin: 10px 0 0; font-family: var(--serif); font-size: 1.5rem; font-weight: 500; line-height: 1.35; }
.companion-report .mini-label { color: #31658e; }
.companion-state { display: grid; gap: 3px; justify-items: end; }
.companion-state strong { color: #244c6c; font-size: .75rem; }
.companion-state span { padding: 5px 8px; border-radius: 99px; background: #dceffc; color: #244c6c; font-size: .55rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.companion-draft .companion-state span { background: #fff0c7; color: #765817; }
.companion-observations { display: grid; grid-template-columns: repeat(3,1fr); }
.companion-observations > article { display: flex; min-width: 0; flex-direction: column; padding: 27px; border-right: 1px solid #cfdae4; }
.companion-observations > article:last-child { border-right: 0; }
.companion-index { color: #4a87b5; font-family: var(--serif); font-size: 1.3rem; }
.companion-observations h3 { margin: 10px 0; font-size: 1.02rem; }
.companion-observations > article > p { min-height: 110px; margin: 0; color: var(--ink-2); font-size: .75rem; line-height: 1.6; }
.companion-observations dl { display: grid; gap: 12px; margin: 22px 0; }
.companion-observations dl > div { padding-top: 11px; border-top: 1px solid #dce4eb; }
.companion-observations dt, .companion-experiment dt { color: #31658e; font-size: .55rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.companion-observations dd, .companion-experiment dd { margin: 5px 0 0; color: var(--muted); font-size: .67rem; line-height: 1.5; }
.companion-observations footer { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; padding-top: 10px; border-top: 1px solid #dce4eb; }
.companion-observations footer b { width: 100%; color: var(--muted); font-size: .54rem; text-transform: uppercase; }
.companion-observations footer a { padding: 4px 7px; border-radius: 6px; background: #e1f1fc; color: #245b85; font-size: .58rem; font-weight: 800; }
.companion-action-grid { display: grid; grid-template-columns: .8fr 1.2fr; border-top: 1px solid #cfdae4; background: #eff6fb; }
.companion-action-grid > article { padding: 27px 30px; }
.companion-action-grid > article + article { border-left: 1px solid #cfdae4; }
.companion-action-grid ol { display: grid; gap: 10px; margin: 15px 0 0; padding-left: 19px; color: var(--ink-2); font-size: .73rem; }
.companion-experiment h3 { margin: 10px 0 6px; font-size: 1.05rem; }
.companion-experiment > p { color: var(--ink-2); font-size: .73rem; }
.companion-experiment dl { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 0; }
.companion-confidence { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: #cfdae4; }
.companion-confidence > div { padding: 22px 30px; background: #f9fcff; }
.companion-confidence span { color: #31658e; font-size: .57rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.companion-confidence p, .companion-confidence ul { margin: 8px 0 0; color: var(--muted); font-size: .67rem; line-height: 1.5; }
.companion-provenance { display: flex; flex-wrap: wrap; gap: 8px 18px; padding: 14px 30px; background: #172b3e; color: #a9bdcd; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .53rem; }
.companion-approval, .companion-regenerate { display: flex; justify-content: space-between; gap: 24px; align-items: center; margin-top: 16px; padding: 18px 20px; border: 1px solid #38536c; border-radius: 13px; background: #172b3e; }
.companion-approval label { display: flex; gap: 11px; color: #c9d7e2; font-size: .69rem; line-height: 1.45; }
.companion-approval label b { display: block; color: white; }
.companion-approval input { margin-top: 3px; accent-color: #84c7ff; }
.companion-approval .button, .companion-regenerate .button { flex: 0 0 auto; border-color: #84c7ff; background: #84c7ff; color: #112131; }
.companion-regenerate p { margin: 0; color: #b7c8d7; font-size: .68rem; }
.companion-empty { padding: 34px; border: 1px dashed #58738c; border-radius: 18px; background: #172b3e; }
.companion-empty > span { color: #84c7ff; font-size: .6rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.companion-empty h3 { margin: 10px 0 5px; font-family: var(--serif); font-size: 1.45rem; font-weight: 500; }
.companion-empty p { max-width: 820px; color: #b7c8d7; font-size: .74rem; }
.companion-empty form { display: flex; justify-content: space-between; gap: 25px; align-items: center; margin-top: 24px; padding-top: 20px; border-top: 1px solid #38536c; }
.companion-empty form label { display: flex; gap: 10px; color: #c9d7e2; font-size: .69rem; }
.companion-empty form input { margin-top: 3px; accent-color: #84c7ff; }
.companion-empty form .button { flex: 0 0 auto; border-color: #84c7ff; background: #84c7ff; color: #112131; }

@media (max-width: 900px) {
  .companion-observations { grid-template-columns: 1fr; }
  .companion-observations > article { border-right: 0; border-bottom: 1px solid #cfdae4; }
  .companion-observations > article:last-child { border-bottom: 0; }
  .companion-observations > article > p { min-height: 0; }
}

@media (max-width: 700px) {
  .companion-boundary, .companion-report > header, .companion-action-grid, .companion-confidence { grid-template-columns: 1fr; }
  .companion-boundary > b { justify-self: start; }
  .companion-state { justify-items: start; }
  .companion-action-grid > article + article { border-top: 1px solid #cfdae4; border-left: 0; }
  .companion-experiment dl { grid-template-columns: 1fr; }
  .companion-approval, .companion-regenerate, .companion-empty form { align-items: stretch; flex-direction: column; }
}

@media print {
  .companion-section { border-color: #777; background: #fff; color: #000; }
  .companion-boundary, .companion-report, .companion-empty { break-inside: avoid; border-color: #999; background: #fff; color: #000; }
  .companion-boundary p, .companion-empty p, .companion-intro { color: #333; }
  .companion-approval, .companion-regenerate { display: none; }
}

/* Companion notes embedded beside deterministic report sections. */
.companion-inline { margin-top: 24px; padding: 22px; border: 1px solid #a8d3f1; border-left: 5px solid #4b9ed6; border-radius: 14px; background: #f1f8fd; color: var(--ink); }
.companion-inline > header { display: flex; gap: 14px; align-items: center; }
.companion-inline > header .companion-spark { width: 38px; height: 38px; flex: 0 0 38px; border-radius: 10px; }
.companion-inline > header small { display: block; color: #27658f; font-size: .68rem; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.companion-inline > header h3 { margin: 4px 0 0; font-size: 1rem; }
.companion-inline > p { margin: 15px 0 0; color: #28475c; font-size: .82rem; line-height: 1.65; }
.companion-inline > footer { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 16px; padding-top: 13px; border-top: 1px solid #c8dfef; color: #496779; font-size: .7rem; line-height: 1.5; }
.companion-inline > footer span { margin-right: auto; }
.companion-inline > footer a { padding: 4px 7px; border-radius: 6px; background: #d9edf9; color: #205c84; font-size: .64rem; font-weight: 850; }
.companion-inline-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 16px; }
.companion-inline-grid > div { padding: 14px; border: 1px solid #c8dfef; border-radius: 10px; background: rgba(255,255,255,.68); }
.companion-inline-grid b { color: #27658f; font-size: .66rem; letter-spacing: .04em; text-transform: uppercase; }
.companion-inline-grid p { margin: 6px 0 0; color: #3c596b; font-size: .74rem; line-height: 1.55; }
.companion-inline-card { margin-top: 18px; padding: 18px; }
.companion-inline-dark { border-color: #5081a5; border-left-color: #84c7ff; background: #172f43; color: #f7fbff; }
.companion-inline-dark > p, .companion-inline-dark > footer { color: #c8d9e5; }
.companion-inline-dark > footer { border-color: #38536c; }
.companion-demo-disclosure { margin: 0; padding: 14px 30px; border-bottom: 1px solid #b9d6e9; background: #e2f3ff; color: #315b76; font-size: .72rem; line-height: 1.5; }

/* Full-catalogue synthetic report. */
.comprehensive-hero { padding: 64px 0 52px; border-bottom: 1px solid var(--line); background: linear-gradient(145deg,#f7f4ea 0%,#edf7f2 100%); }
.comprehensive-hero h1 { max-width: 980px; margin: 20px 0; font-family: var(--serif); font-size: clamp(2.5rem,5vw,4.5rem); font-weight: 650; line-height: 1.02; letter-spacing: -.04em; }
.comprehensive-hero h1 em { color: var(--green); font-weight: 500; }
.comprehensive-hero-intro { max-width: 900px; color: var(--ink-2); font-size: 1rem; line-height: 1.65; }
.report-release-banner { display: grid; grid-template-columns: minmax(180px,.55fr) 1.45fr; gap: 22px; align-items: center; max-width: 980px; margin-top: 24px; padding: 16px 18px; border: 1px solid #d7b895; border-left: 5px solid #b87522; border-radius: 12px; background: #fff8ec; }
.report-release-banner.is-released { border-color: #9bc8b5; border-left-color: var(--green); background: #eff8f3; }
.report-release-banner small, .report-release-banner strong { display: block; }
.report-release-banner small { color: var(--muted); font-size: .72rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.report-release-banner strong { margin-top: 3px; font-size: .98rem; }
.report-release-banner p { margin: 0; color: var(--ink-2); font-size: .86rem; line-height: 1.55; }
.comprehensive-export-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.comprehensive-stats { display: grid; grid-template-columns: repeat(5,1fr); margin-top: 34px; border: 1px solid #b9cdc3; border-radius: 18px; background: rgba(255,255,255,.78); }
.comprehensive-stats article { padding: 22px; border-right: 1px solid #c8d8d0; }
.comprehensive-stats article:last-child { border-right: 0; }
.comprehensive-stats strong, .comprehensive-stats span { display: block; }
.comprehensive-stats strong { color: var(--green); font-family: var(--serif); font-size: 2.2rem; font-weight: 500; }
.comprehensive-stats span { margin-top: 5px; color: var(--ink-2); font-size: .72rem; }
.comprehensive-boundary { display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; overflow: hidden; margin-top: 18px; border: 1px solid #b9cdc3; border-radius: 16px; background: #b9cdc3; }
.comprehensive-boundary > div { padding: 20px; background: #fff; }
.comprehensive-boundary > div:last-child { background: #eef7fd; }
.comprehensive-boundary b { font-size: .82rem; }
.comprehensive-boundary p { margin: 8px 0 0; color: var(--muted); font-size: .74rem; line-height: 1.55; }
.comprehensive-subnav .section-shell { overflow-x: auto; }
.comprehensive-subnav a { white-space: nowrap; }
#executive-brief, #action-agenda, #portfolio-map, #system-findings, #triangulation, #construct-diagnostics, #supporting-evidence, .comprehensive-topic, #source-campaigns { scroll-margin-top: 150px; }
.client-executive-brief { padding-top: 86px; }
.executive-summary { max-width: 980px; margin: -8px 0 28px; color: var(--ink-2); font-size: 1.08rem; line-height: 1.7; }
.executive-lens-visual { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin-bottom: 54px; }
.executive-lens-visual article { padding: 20px; border: 1px solid var(--line); border-top: 5px solid #8b6fd1; border-radius: 14px; background: #fff; box-shadow: var(--shadow-soft); }
.executive-lens-visual article.lens-behaviour { border-top-color: #e66f54; }
.executive-lens-visual article.lens-capability { border-top-color: var(--green); }
.executive-lens-visual header { display: flex; justify-content: space-between; gap: 16px; align-items: baseline; }
.executive-lens-visual header span { font-size: .82rem; font-weight: 800; }
.executive-lens-visual header strong { font-size: 1.45rem; }
.executive-lens-visual i { display: block; overflow: hidden; height: 13px; margin: 13px 0; border-radius: 99px; background: #e6ece8; }
.executive-lens-visual i b { display: block; height: 100%; border-radius: inherit; background: #8b6fd1; }
.executive-lens-visual .lens-behaviour i b { background: #e66f54; }
.executive-lens-visual .lens-capability i b { background: var(--green); }
.executive-lens-visual p { margin: 0; color: var(--ink-2); font-size: .84rem; line-height: 1.55; }
.evidence-stability-panel { margin: 22px 0 44px; overflow: hidden; border: 1px solid #d6c49a; border-radius: 16px; background: #fffaf0; }
.evidence-stability-panel > header { display: flex; justify-content: space-between; gap: 20px; align-items: center; padding: 16px 20px; border-bottom: 1px solid #e8dcc1; }
.evidence-stability-panel > header strong { padding: 6px 10px; border-radius: 99px; background: #f1e3bd; color: #624e1c; font-size: .72rem; }
.evidence-stability-panel > p { margin: 0; padding: 18px 20px; color: var(--ink-2); font-size: .86rem; line-height: 1.6; }
.evidence-stability-panel > div { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: #e8dcc1; }
.evidence-stability-panel > div span { padding: 16px 20px; background: #fffcf5; color: var(--ink-2); font-size: .72rem; line-height: 1.45; }
.evidence-stability-panel > div b { display: block; margin-bottom: 5px; color: #624e1c; font-size: 1rem; }
.evidence-stability-panel > footer { padding: 13px 20px; border-top: 1px solid #e8dcc1; color: #776845; font-size: .7rem; line-height: 1.5; }
.assessment-investment-panel { margin: -24px 0 44px; overflow: hidden; border: 1px solid #b7d6c8; border-radius: 16px; background: #f2faf6; }
.assessment-investment-panel > header { display: flex; justify-content: space-between; gap: 24px; align-items: start; padding: 20px; }
.assessment-investment-panel h3 { margin: 7px 0 0; font-size: 1.1rem; }
.assessment-investment-panel > header > strong { min-width: 165px; color: var(--green); font-size: 1.45rem; text-align: right; }
.assessment-investment-panel > header > strong small { display: block; color: var(--muted); font-size: .62rem; font-weight: 750; text-transform: uppercase; }
.assessment-investment-panel > p { margin: 0; padding: 0 20px 18px; color: var(--ink-2); font-size: .82rem; line-height: 1.6; }
.assessment-investment-panel > div { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: #cde3d8; }
.assessment-investment-panel > div span { padding: 15px 20px; background: #fff; color: var(--ink-2); font-size: .72rem; }
.assessment-investment-panel > div b { display: block; margin-bottom: 4px; color: var(--green); font-size: 1.05rem; }
.assessment-investment-panel > footer { padding: 14px 20px; color: #315b49; font-size: .73rem; line-height: 1.5; }
.executive-priority-heading { display: grid; grid-template-columns: 1.1fr .9fr; gap: 40px; align-items: end; margin-bottom: 22px; }
.executive-priority-heading h3 { max-width: 670px; margin: 8px 0 0; font-size: clamp(1.55rem,2.8vw,2.3rem); }
.executive-priority-heading > p { margin: 0; color: var(--muted); font-size: .86rem; line-height: 1.6; }
.executive-priority-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.executive-priority-grid > article { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: #fff; box-shadow: var(--shadow-soft); }
.executive-priority-grid > article > header { display: flex; justify-content: space-between; gap: 14px; align-items: center; padding: 17px 20px; background: var(--ink); color: #fff; }
.executive-priority-grid > article > header span { color: var(--mint); font-size: 1.25rem; font-weight: 800; }
.executive-priority-grid > article > header small { color: #d3e0da; font-size: .7rem; font-weight: 750; }
.executive-priority-grid h3 { margin: 0; padding: 20px 20px 10px; font-size: 1.05rem; line-height: 1.35; }
.executive-priority-grid .priority-basis { margin: 0; padding: 0 20px 18px; color: #315b49; font-size: .8rem; font-weight: 650; line-height: 1.55; }
.executive-priority-grid > article > div { padding: 16px 20px; border-top: 1px solid var(--line); }
.executive-priority-grid > article > div small { color: var(--green); font-size: .7rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.executive-priority-grid > article > div p { margin: 6px 0 0; color: var(--ink-2); font-size: .84rem; line-height: 1.58; }
.executive-priority-grid .priority-decision { flex: 1; background: #eef7f2; }
.executive-priority-grid .priority-stability { background: #fffaf0; }
.executive-priority-grid .priority-stability small { color: #75601e; }
.executive-priority-grid .priority-stability p { font-size: .74rem; }
.executive-priority-grid .priority-business-relevance { background: #f2f7fb; }
.executive-priority-grid .priority-business-relevance small { color: #27658f; }
.executive-priority-grid footer { display: flex; flex-wrap: wrap; gap: 6px; padding: 13px 20px; border-top: 1px solid var(--line); color: var(--muted); font-size: .68rem; }
.executive-priority-grid footer a { padding: 3px 6px; border-radius: 5px; background: #edf3ef; color: var(--green); font-family: ui-monospace,SFMono-Regular,Consolas,monospace; font-weight: 800; }
.executive-action-agenda { margin-top: 72px; padding: 38px; border-radius: 22px; background: #10251c; color: #fff; }
.executive-action-agenda > header { max-width: 900px; margin-bottom: 26px; }
.executive-action-agenda > header .eyebrow { color: var(--mint); }
.executive-action-agenda > header h2 { margin: 10px 0; font-size: clamp(1.8rem,3vw,2.8rem); }
.executive-action-agenda > header p { max-width: 760px; color: #bdd0c6; font-size: .9rem; line-height: 1.65; }
.executive-action-agenda > article { display: grid; grid-template-columns: .7fr 1.3fr; gap: 18px 28px; padding: 26px 0; border-top: 1px solid #395048; }
.action-owner { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: flex-start; }
.action-owner > span { display: grid; flex: 0 0 36px; width: 36px; height: 36px; place-items: center; border-radius: 50%; background: var(--mint); color: var(--ink); font-weight: 850; }
.action-owner small, .action-owner strong { display: block; }
.action-owner small, .action-phases small, .executive-action-agenda > article > footer small { color: #8fb4a4; font-size: .66rem; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.action-owner strong { margin-top: 4px; font-size: .82rem; line-height: 1.4; }
.action-owner em { display: block; margin-top: 3px; color: #b8ccc3; font-size: .7rem; font-style: normal; line-height: 1.4; }
.action-decision-meta { text-align: right; }
.action-decision-meta small, .action-decision-meta b { display: block; }
.action-decision-meta b { margin-top: 5px; color: #e3eee9; font-size: .72rem; }
.executive-action-agenda > article > h3 { margin: 3px 0 0; font-size: 1.18rem; }
.action-phases { grid-column: 1/-1; display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; overflow: hidden; border: 1px solid #395048; border-radius: 12px; background: #395048; }
.action-phases section { padding: 17px; background: #17352a; }
.action-phases p, .executive-action-agenda > article > footer p { margin: 6px 0 0; color: #e0e9e4; font-size: .84rem; line-height: 1.58; }
.executive-action-agenda > article > footer { grid-column: 1/-1; padding: 15px 17px; border-left: 4px solid var(--mint); background: #1b3b30; }
.action-measures { grid-column: 1/-1; display: grid; grid-template-columns: 1fr 1fr; gap: 1px; border: 1px solid #52675f; border-radius: 12px; background: #52675f; overflow: hidden; }
.action-measures section { padding: 16px; background: #213e33; }
.action-measures small { color: #9dc5b4; font-size: .66rem; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.action-measures p { margin: 6px 0 0; color: #e0e9e4; font-size: .8rem; line-height: 1.55; }
.action-accountability { grid-column: 1/-1; display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; overflow: hidden; border: 1px solid #52675f; border-radius: 12px; background: #52675f; }
.action-accountability section { padding: 14px 16px; background: #17352a; }
.action-accountability small, .action-result small { color: #9dc5b4; font-size: .66rem; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.action-accountability p, .action-result p { margin: 6px 0 0; color: #e0e9e4; font-size: .78rem; line-height: 1.5; }
.action-result { grid-column: 1/-1; padding: 15px 17px; border: 1px solid #52675f; border-radius: 12px; }
.action-commitment-editor { grid-column: 1/-1; overflow: hidden; border: 1px solid #486157; border-radius: 12px; background: #152f25; }
.action-commitment-editor summary { padding: 14px 17px; color: var(--mint); cursor: pointer; font-size: .75rem; font-weight: 800; }
.action-commitment-editor form { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; padding: 18px; border-top: 1px solid #486157; }
.action-commitment-editor label { display: grid; gap: 6px; color: #c7d8d1; font-size: .68rem; font-weight: 750; }
.action-commitment-editor input, .action-commitment-editor select, .action-commitment-editor textarea { width: 100%; border: 1px solid #5a7268; border-radius: 8px; background: #fff; color: var(--ink); font: inherit; font-size: .8rem; padding: 10px; }
.action-commitment-editor textarea { min-height: 78px; resize: vertical; }
.action-commitment-editor .action-editor-wide, .action-commitment-editor .button { grid-column: 1/-1; }
.action-commitment-editor .button { justify-self: start; }
.operational-evidence-block { grid-column: 1/-1; overflow: hidden; border: 1px solid #91b4d0; border-radius: 14px; background: #eef7fc; color: var(--ink); }
.operational-evidence-block > header { display: flex; justify-content: space-between; gap: 18px; align-items: center; padding: 17px 19px; border-bottom: 1px solid #c8dfef; }
.operational-evidence-block > header small { color: #27658f; font-size: .63rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.operational-evidence-block h4 { margin: 4px 0 0; font-size: .92rem; }
.operational-evidence-block > header > strong { padding: 6px 10px; border-radius: 99px; background: #d9eaf5; color: #235878; font-size: .68rem; }
.operational-evidence-block > p { margin: 0; padding: 15px 19px; color: #3c596b; font-size: .76rem; line-height: 1.55; }
.operational-case-list { display: grid; gap: 10px; padding: 0 19px 16px; }
.operational-case-list > article { padding: 15px; border: 1px solid #c8dfef; border-radius: 10px; background: #fff; }
.operational-case-list article > header { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.operational-case-list h5 { margin: 0; font-size: .82rem; }
.evidence-state { padding: 4px 7px; border-radius: 99px; background: #edf1f3; color: #4a5d68; font-size: .61rem; font-weight: 800; }
.evidence-supports { background: #dff3e7; color: #176541; }.evidence-challenges { background: #fde9e3; color: #8f3f2b; }.evidence-mixed { background: #fff0c7; color: #76580d; }
.operational-case-list dl { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 20px; margin: 14px 0 0; }
.operational-case-list dl div { min-width: 0; }.operational-case-list dt { color: #27658f; font-size: .61rem; font-weight: 850; text-transform: uppercase; }.operational-case-list dd { margin: 4px 0 0; color: var(--ink-2); font-size: .73rem; line-height: 1.5; }
.operational-case-list footer { margin-top: 12px; color: var(--muted); font-size: .62rem; }
.operational-evidence-editor { border-top: 1px solid #c8dfef; background: #f7fbfe; }.operational-evidence-editor summary { padding: 14px 19px; color: #27658f; cursor: pointer; font-size: .72rem; font-weight: 800; }
.operational-evidence-editor form { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 13px; padding: 18px; border-top: 1px solid #c8dfef; }.operational-evidence-editor label { display: grid; gap: 6px; color: #3c596b; font-size: .66rem; font-weight: 750; }.operational-evidence-editor input, .operational-evidence-editor select, .operational-evidence-editor textarea { width: 100%; border: 1px solid #aac8dc; border-radius: 8px; background: #fff; color: var(--ink); font: inherit; font-size: .78rem; padding: 10px; }.operational-evidence-editor textarea { min-height: 74px; resize: vertical; }.operational-evidence-editor .action-editor-wide, .operational-evidence-editor .button { grid-column: 1/-1; }.operational-evidence-editor .button { justify-self: start; }
.portfolio-map { overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.portfolio-map-head, .portfolio-map > article { display: grid; grid-template-columns: 1.55fr repeat(3,1fr); gap: 18px; align-items: center; padding: 16px 20px; }
.portfolio-map-head { background: var(--paper); color: var(--muted); font-size: .62rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.portfolio-map > article { border-top: 1px solid var(--line); }
.portfolio-map > article > div:first-child strong, .portfolio-map > article > div:first-child small { display: block; }
.portfolio-map > article > div:first-child strong { font-size: .86rem; }
.portfolio-map > article > div:first-child small { margin-top: 4px; color: var(--muted); font-size: .67rem; line-height: 1.4; }
.portfolio-lens { display: grid; grid-template-columns: 1fr auto; gap: 5px 9px; align-items: center; }
.portfolio-lens i, .topic-lens-strip i { overflow: hidden; height: 10px; border-radius: 99px; background: #e6ece8; }
.portfolio-lens i b, .topic-lens-strip i b { display: block; height: 100%; border-radius: inherit; background: var(--green); }
.portfolio-lens strong { font-size: .76rem; }
.portfolio-lens small { grid-column: 1/-1; color: var(--muted); font-size: .72rem; }
.portfolio-lens p { grid-column: 1/-1; margin: 3px 0 0; color: var(--ink-2); font-size: .82rem; line-height: 1.55; }
.lens-perception i b { background: #8b6fd1; }
.lens-behaviour i b { background: #ef8b71; }
.lens-capability i b { background: #72c9aa; }
.system-story { margin-top: 56px; scroll-margin-top: 150px; }
.system-story > header { max-width: 900px; }
.system-story > header h2 { margin: 10px 0; font-family: var(--serif); font-size: clamp(1.8rem,4vw,3rem); font-weight: 500; letter-spacing: -.025em; }
.system-story > header p { color: var(--ink-2); font-size: .86rem; line-height: 1.65; }
.system-story-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 24px; }
.system-story-grid > article { overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.system-story-grid > article > header { display: grid; grid-template-columns: auto 1fr; gap: 12px; align-items: start; padding: 22px; border-bottom: 1px solid var(--line); }
.system-story-grid > article > header span { color: var(--green); font-family: var(--serif); font-size: 1.45rem; }
.system-story-grid > article > header h3 { margin: 2px 0 0; font-size: 1.03rem; line-height: 1.4; }
.system-story-grid > article > div { padding: 18px 22px; border-top: 1px solid var(--line); }
.system-story-grid > article > header + div { border-top: 0; }
.system-story-grid small, .construct-narrative small, .topic-narrative small, .catalogue-question aside small { color: var(--green); font-size: .66rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.system-story-grid p { margin: 7px 0 0; color: var(--ink-2); font-size: .86rem; line-height: 1.65; }
.system-story-grid .story-reading { background: #fbfcf9; }
.system-story-grid .story-value { background: #eef7f2; }
.system-story-grid .story-boundary { background: #fff7f1; }
.system-story-grid > article > footer { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; padding: 14px 22px; border-top: 1px solid var(--line); color: var(--muted); font-size: .64rem; }
.system-story-grid > article > footer a { padding: 4px 7px; border-radius: 6px; background: #e8f3ec; color: var(--green); font-family: ui-monospace,SFMono-Regular,Consolas,monospace; font-size: .62rem; font-weight: 800; }
.comprehensive-findings { padding: 90px 0; background: #f2f4ef; }
.system-finding-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.system-finding-card { overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.system-finding-card > header { display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: start; padding: 24px; border-bottom: 1px solid var(--line); }
.system-finding-card > header span { color: var(--green); font-family: var(--serif); font-size: 1.4rem; }
.system-finding-card > header h3 { margin: 2px 0 0; font-size: 1.12rem; line-height: 1.35; }
.system-observed, .system-finding-checks { padding: 20px 24px; }
.system-observed { background: #fbfcf9; }
.system-observed small, .system-finding-checks small, .supplemental-layer-grid article > div > small { color: var(--green); font-size: .64rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.system-observed p, .system-finding-checks p { margin: 7px 0 0; color: var(--ink-2); font-size: .86rem; line-height: 1.62; }
.working-hypothesis { margin: 0 18px; padding: 18px; border-left: 3px solid #9fb4aa; background: #f4f7f4; }
.working-hypothesis small { color: #466457; font-size: .62rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.working-hypothesis h4 { margin: 6px 0 0; font-size: .82rem; }
.working-hypothesis p { margin: 7px 0 0; color: var(--ink-2); font-size: .78rem; line-height: 1.58; }
.system-finding-checks { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.system-finding-card > footer, .supplemental-layer-grid article > footer { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; padding: 15px 24px; border-top: 1px solid var(--line); color: var(--muted); font-size: .64rem; }
.system-finding-card > footer b, .supplemental-layer-grid article > footer b { margin-right: 5px; }
.system-finding-card > footer a, .supplemental-layer-grid > article > footer a { padding: 4px 7px; border-radius: 6px; background: #e8f3ec; color: var(--green); font-family: ui-monospace,SFMono-Regular,Consolas,monospace; font-size: .62rem; font-weight: 800; }
.triangulation-section { padding-block: 100px; }
.cohort-contrast-map { overflow: hidden; margin-bottom: 12px; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.cohort-contrast-head, .cohort-contrast-map > article { display: grid; grid-template-columns: 1.35fr repeat(4,1fr); gap: 16px; align-items: center; padding: 14px 20px; }
.cohort-contrast-head { background: #173d31; color: #c9ded5; font-size: .62rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.cohort-contrast-map > article { border-top: 1px solid var(--line); }
.cohort-contrast-map > article > header { display: grid; grid-template-columns: 1fr auto; gap: 3px 10px; }
.cohort-contrast-map > article > header small { grid-column: 1/-1; color: var(--green); font-size: .57rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.cohort-contrast-map > article > header strong { font-size: .76rem; }
.cohort-contrast-map > article > header span { color: var(--muted); font-size: .62rem; }
.cohort-signal { display: grid; grid-template-columns: 1fr auto; gap: 8px; align-items: center; }
.cohort-signal i { overflow: hidden; height: 12px; border-radius: 99px; background: #e3eae6; }
.cohort-signal i b { display: block; width: calc(var(--value) * 1%); height: 100%; border-radius: inherit; background: linear-gradient(90deg,#ed8c73,#55a685); }
.cohort-signal strong { font-size: .68rem; }
.cohort-row-narrative { grid-column: 1/-1; display: grid; grid-template-columns: 1.4fr 1fr auto; gap: 14px; align-items: start; padding-top: 12px; border-top: 1px solid var(--line); }
.cohort-row-narrative p, .cohort-row-narrative small { margin: 0; color: var(--ink-2); font-size: .68rem; line-height: 1.5; }
.cohort-row-narrative small { color: var(--muted); }
.cohort-row-narrative span { display: flex; flex-wrap: wrap; gap: 5px; }
.cohort-row-narrative a { color: var(--green); font-family: ui-monospace,SFMono-Regular,Consolas,monospace; font-size: .6rem; font-weight: 800; }
.cohort-contrast-map > footer { display: flex; justify-content: space-between; gap: 20px; padding: 13px 20px; border-top: 1px solid var(--line); background: #f4f7f4; color: var(--muted); font-size: .63rem; }
.cohort-contrast-map > footer b { color: var(--green); }
.cohort-map-note { margin: 12px 0 28px; color: var(--muted); font-size: .7rem; line-height: 1.55; }
.triangulation-register { display: grid; gap: 18px; }
.triangulation-register > article { display: grid; grid-template-columns: 1.15fr 1fr; overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.triangulation-register > article > header { display: grid; grid-template-columns: auto 1fr; gap: 13px; align-items: start; padding: 22px 24px; border-bottom: 1px solid var(--line); }
.triangulation-register > article > header > span { color: var(--green); font-family: ui-monospace,SFMono-Regular,Consolas,monospace; font-size: .72rem; font-weight: 850; }
.triangulation-register > article > header h3 { margin: 0; font-size: 1rem; line-height: 1.4; }
.triangulation-chain { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 18px 24px; border-bottom: 1px solid var(--line); background: #f4f7f4; }
.triangulation-chain span { padding: 7px 9px; border: 1px solid #c7d7cf; border-radius: 8px; background: #fff; color: var(--ink-2); font-size: .68rem; font-weight: 750; }
.triangulation-chain i { color: var(--green); font-style: normal; }
.triangulation-cohort { grid-column: 2; grid-row: 1 / span 2; padding: 22px 24px; border-left: 1px solid var(--line); background: #173d31; color: #fff; }
.triangulation-cohort small, .triangulation-checks small { color: #81c6aa; font-size: .63rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.triangulation-cohort p { margin: 9px 0 0; color: #d5e2dd; font-size: .76rem; line-height: 1.65; }
.triangulation-register .working-hypothesis { margin: 18px 12px 18px 18px; }
.triangulation-checks { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin: 18px 18px 18px 6px; border: 1px solid var(--line); border-radius: 12px; background: var(--line); }
.triangulation-checks > div { padding: 16px; background: #fbfcf9; }
.triangulation-checks p { margin: 7px 0 0; color: var(--ink-2); font-size: .72rem; line-height: 1.55; }
.triangulation-register > article > footer { grid-column: 1/-1; display: flex; flex-wrap: wrap; gap: 7px; align-items: center; padding: 14px 24px; border-top: 1px solid var(--line); color: var(--muted); font-size: .64rem; }
.triangulation-register > article > footer b { margin-right: 5px; }
.triangulation-register > article > footer a { padding: 4px 7px; border-radius: 6px; background: #e8f3ec; color: var(--green); font-family: ui-monospace,SFMono-Regular,Consolas,monospace; font-size: .62rem; font-weight: 800; }
.supplemental-section { padding-bottom: 100px; scroll-margin-top: 150px; }
.supplemental-layer-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.supplemental-layer-grid > article { overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.supplemental-layer-grid article > header { display: flex; justify-content: space-between; gap: 20px; padding: 24px; background: #133b2f; color: #fff; }
.supplemental-layer-grid article > header span { color: #96c8b5; font-size: .64rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.supplemental-layer-grid article > header h3 { margin: 7px 0 0; font-size: 1.05rem; }
.supplemental-layer-grid article > header > strong { color: #bce6d5; font-family: var(--serif); font-size: 1.8rem; font-weight: 500; text-align: right; }
.supplemental-layer-grid article > header > strong small { display: block; font-family: var(--sans); font-size: .56rem; letter-spacing: .04em; text-transform: uppercase; }
.supplemental-layer-grid article > p, .supplemental-layer-grid article > div { margin: 0; padding: 18px 24px; color: var(--ink-2); font-size: .76rem; line-height: 1.6; }
.supplemental-layer-grid .supplemental-purpose { background: #f4f7f4; }
.supplemental-layer-grid article > div p { margin: 6px 0 0; }
.supplemental-layer-grid .working-hypothesis { margin: 0 18px; padding: 18px; }
.construct-diagnostic-section { padding: 96px 0; scroll-margin-top: 150px; background: #f2f4ef; }
.construct-diagnostic-legend { display: flex; flex-wrap: wrap; gap: 18px; margin: 0 0 14px; color: var(--ink-2); font-size: .75rem; }
.construct-diagnostic-legend span { display: flex; gap: 7px; align-items: center; }
.construct-diagnostic-legend i { width: 10px; height: 10px; border-radius: 50%; background: #8b6fd1; }
.construct-diagnostic-legend i.behaviour { background: #e97f64; }
.construct-diagnostic-legend i.capability { background: #69bd9d; }
.construct-diagnostic-table { overflow: hidden; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.construct-diagnostic-head, .construct-diagnostic-table > article { display: grid; grid-template-columns: 1.1fr 1fr .85fr 1.15fr; gap: 20px; align-items: center; padding: 17px 20px; }
.construct-diagnostic-head { background: #173d31; color: #d6e5df; font-size: .67rem; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.construct-diagnostic-table > article { border-top: 1px solid var(--line); }
.construct-diagnostic-table article > header small, .construct-diagnostic-table article > header strong { display: block; }
.construct-diagnostic-table article > header small { color: var(--muted); font-size: .66rem; }
.construct-diagnostic-table article > header strong { margin-top: 4px; font-size: .84rem; line-height: 1.35; }
.construct-diagnostic-table article > header footer { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 9px; }
.construct-diagnostic-table article > header a { color: var(--green); font-family: ui-monospace,SFMono-Regular,Consolas,monospace; font-size: .62rem; font-weight: 750; }
.construct-diagnostic-table article > header a.support-ref { color: #526e92; }
.construct-lenses { display: grid; gap: 7px; }
.construct-lenses span { display: grid; grid-template-columns: 1fr 36px; gap: 9px; align-items: center; }
.construct-lenses i { overflow: hidden; height: 9px; border-radius: 99px; background: #e6ece8; }
.construct-lenses i b { display: block; height: 100%; border-radius: inherit; background: #8b6fd1; }
.construct-lenses i b.behaviour { background: #e97f64; }
.construct-lenses i b.capability { background: #69bd9d; }
.construct-lenses strong { font-size: .7rem; }
.construct-pattern { display: inline-block; padding: 6px 9px; border-radius: 99px; background: #edf3ef; color: #325e4d; font-size: .68rem; font-weight: 750; line-height: 1.35; }
.construct-pattern.pattern-risk { background: #fff0eb; color: #894733; }
.construct-pattern.pattern-attention { background: #fff6dc; color: #725817; }
.construct-pattern.pattern-opportunity { background: #eaf5ff; color: #315b76; }
.construct-diagnostic-table article > p { margin: 0; color: var(--ink-2); font-size: .73rem; line-height: 1.55; }
.construct-discussion b { display: block; margin-bottom: 6px; color: var(--green); font-size: .62rem; letter-spacing: .04em; text-transform: uppercase; }
.shared-reading-boundary { margin: -8px 0 24px; padding: 14px 18px; border-left: 3px solid #69bd9d; background: #eef7f2; color: var(--ink-2); font-size: .76rem; line-height: 1.6; }
.shared-reading-boundary b { color: var(--ink); }
.construct-narrative { grid-column: 1/-1; display: grid; grid-template-columns: 1.45fr 1fr; gap: 1px; margin: 0 -20px -17px; border-top: 1px solid var(--line); background: var(--line); }
.construct-narrative > div { padding: 15px 20px; background: #f7faf7; }
.construct-narrative > div:last-child { background: #eef7f2; }
.construct-narrative p { margin: 6px 0 0; color: var(--ink-2); font-size: .84rem; line-height: 1.58; }
.coverage-ledger { overflow: hidden; margin-bottom: 28px; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.coverage-ledger > header, .coverage-ledger > article { display: grid; grid-template-columns: 1.15fr .35fr .55fr 1.25fr 1.25fr; gap: 16px; align-items: center; padding: 15px 20px; }
.coverage-ledger > header { background: #173d31; color: #d6e5df; font-size: .67rem; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
.coverage-ledger > article { border-top: 1px solid var(--line); }
.coverage-ledger > article strong { font-size: .79rem; }
.coverage-ledger > article b { color: var(--green); font-size: .82rem; }
.coverage-ledger > article p { margin: 0; color: var(--ink-2); font-size: .71rem; line-height: 1.5; }
.coverage-ledger > footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 14px; padding: 16px 20px; border-top: 1px solid var(--line); background: #e9f3ed; color: #315b49; font-size: .72rem; }
.catalogue-register-heading { max-width: 900px; margin: 80px 0 26px; }
.catalogue-register-heading h2 { margin: 10px 0; font-family: var(--serif); font-size: clamp(1.8rem,4vw,3rem); font-weight: 500; letter-spacing: -.025em; }
.catalogue-register-heading p { color: var(--ink-2); font-size: .86rem; line-height: 1.65; }
.catalogue-register { display: grid; gap: 12px; }
.catalogue-register > details { overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: #fff; scroll-margin-top: 90px; }
.catalogue-register > details > summary { display: flex; justify-content: space-between; gap: 24px; align-items: center; padding: 19px 22px; cursor: pointer; }
.catalogue-register > details[open] > summary { border-bottom: 1px solid var(--line); background: #f4f7f4; }
.catalogue-register > details > summary > div { display: flex; gap: 14px; align-items: flex-start; }
.catalogue-register > details > summary small { color: var(--green); font-family: ui-monospace,SFMono-Regular,Consolas,monospace; font-size: .68rem; font-weight: 800; }
.catalogue-register > details > summary strong, .catalogue-register > details > summary em { display: block; }
.catalogue-register > details > summary strong { font-size: .88rem; }
.catalogue-register > details > summary em { margin-top: 4px; color: var(--muted); font-size: .7rem; font-style: normal; line-height: 1.4; }
.catalogue-register > details > summary > b { white-space: nowrap; color: var(--green); font-size: .74rem; }
.catalogue-item-list { display: grid; }
.catalogue-item-row { display: grid; grid-template-columns: .78fr 1.35fr 1fr .9fr; scroll-margin-top: 150px; border-top: 1px solid var(--line); }
.catalogue-item-row:first-child { border-top: 0; }
.catalogue-item-row > header, .catalogue-question, .catalogue-bars, .catalogue-contrast { padding: 18px; }
.catalogue-item-row > header { background: #fbfcf9; }
.catalogue-item-row > header code, .catalogue-item-row > header span, .catalogue-item-row > header small { display: block; }
.catalogue-item-row > header code { color: var(--green); font-size: .75rem; font-weight: 800; }
.catalogue-item-row > header span { margin-top: 6px; color: var(--ink-2); font-size: .71rem; font-weight: 700; line-height: 1.35; }
.catalogue-item-row > header small { margin-top: 8px; color: var(--muted); font-size: .65rem; }
.catalogue-question { border-left: 1px solid var(--line); }
.catalogue-question h3 { margin: 0; font-size: .9rem; font-weight: 700; line-height: 1.48; }
.catalogue-question p, .catalogue-contrast p { margin: 9px 0 0; color: var(--ink-2); font-size: .82rem; line-height: 1.55; }
.catalogue-question aside { margin-top: 13px; padding: 12px; border-left: 3px solid #69bd9d; background: #f1f7f3; }
.catalogue-question aside p { margin-top: 5px; }
.catalogue-bars { display: grid; gap: 8px; border-left: 1px solid var(--line); }
.catalogue-bars span { display: grid; grid-template-columns: minmax(0,1fr) 32px; gap: 5px 8px; align-items: center; }
.catalogue-bars small { overflow: hidden; grid-column: 1/-1; color: var(--muted); font-size: .63rem; text-overflow: ellipsis; white-space: nowrap; }
.catalogue-bars i { overflow: hidden; height: 8px; border-radius: 99px; background: #e6ece8; }
.catalogue-bars i b { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#ef8b71,#55a685); }
.catalogue-bars strong { font-size: .68rem; }
.catalogue-contrast { border-left: 1px solid var(--line); background: #fbfcf9; }
.catalogue-contrast small { color: #526e92; font-size: .62rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.catalogue-item-row > footer { grid-column: 1/-1; display: grid; grid-template-columns: .8fr 2.2fr; gap: 18px; align-items: center; padding: 12px 18px; border-top: 1px solid var(--line); background: #eef7fd; }
.catalogue-item-row > footer span { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; font-size: .65rem; }
.catalogue-item-row > footer a { padding: 4px 7px; border-radius: 6px; background: #fff; color: #315b76; font-family: ui-monospace,SFMono-Regular,Consolas,monospace; font-size: .63rem; font-weight: 800; }
.catalogue-item-row > footer p { margin: 0; color: #3d5b6d; font-size: .78rem; line-height: 1.5; }
.catalogue-item-row > footer p > b { display: block; margin-bottom: 4px; color: #315b76; font-size: .65rem; letter-spacing: .04em; text-transform: uppercase; }
.topic-reports { border-top: 1px solid var(--line); }
.comprehensive-topic { padding: 92px 0; border-bottom: 1px solid var(--line); scroll-margin-top: 80px; }
.comprehensive-topic:nth-child(even) { background: #f5f5f0; }
.topic-heading { display: grid; grid-template-columns: auto 1fr; gap: 20px; max-width: 980px; }
.topic-heading > span { color: var(--green); font-family: var(--serif); font-size: 2rem; }
.topic-heading small { color: var(--green); font-size: .68rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.topic-heading h2 { margin: 8px 0; font-family: var(--serif); font-size: clamp(2rem,4vw,3.5rem); font-weight: 500; letter-spacing: -.025em; }
.topic-heading p { color: var(--muted); font-size: .88rem; line-height: 1.6; }
.topic-lens-strip { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin: 26px 0; }
.topic-lens-strip > div { display: grid; grid-template-columns: 1fr auto; gap: 7px 12px; padding: 17px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.topic-lens-strip span { font-size: .7rem; font-weight: 800; }
.topic-lens-strip strong { font-size: .74rem; }
.topic-lens-strip i { grid-column: 1/-1; }
.topic-lens-strip p { grid-column: 1/-1; margin: 2px 0 0; color: var(--muted); font-size: .72rem; line-height: 1.5; }
.topic-narrative { overflow: hidden; margin: 24px 0; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.topic-narrative > header { padding: 20px 22px; border-bottom: 1px solid var(--line); background: #173d31; color: #fff; }
.topic-narrative > header small { color: #9ed0bc; }
.topic-narrative > header h3 { margin: 7px 0 0; font-size: 1.08rem; }
.topic-narrative > div { display: grid; grid-template-columns: repeat(3,1fr); }
.topic-narrative > div p { margin: 0; padding: 19px 22px; border-right: 1px solid var(--line); color: var(--ink-2); font-size: .86rem; line-height: 1.65; }
.topic-narrative > div p:last-child { border-right: 0; }
.topic-narrative > aside { padding: 18px 22px; border-top: 1px solid var(--line); background: #eef7f2; }
.topic-narrative > aside p { margin: 6px 0 0; color: var(--ink); font-size: .78rem; font-weight: 650; line-height: 1.6; }
.topic-narrative > footer { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; padding: 13px 22px; border-top: 1px solid var(--line); color: var(--muted); font-size: .64rem; }
.topic-narrative > footer a { color: var(--green); font-family: ui-monospace,SFMono-Regular,Consolas,monospace; font-size: .62rem; font-weight: 800; }
.topic-finding-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.topic-finding-grid > article { padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.topic-finding-grid > article > span { color: var(--green); font-size: .62rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.topic-finding-grid h3 { margin: 8px 0; font-size: .96rem; }
.topic-finding-grid > article > p { min-height: 76px; color: var(--ink-2); font-size: .74rem; line-height: 1.55; }
.topic-finding-grid > article > div { display: grid; grid-template-columns: auto 1fr; gap: 3px 9px; margin-top: 15px; padding-top: 14px; border-top: 1px solid var(--line); }
.topic-finding-grid > article > div i { grid-column: 1/-1; color: var(--muted); font-size: .58rem; font-style: normal; text-transform: uppercase; }
.topic-finding-grid > article > div small { color: var(--muted); font-size: .64rem; }
.topic-finding-grid footer { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 15px; }
.topic-finding-grid footer a { color: var(--green); font-size: .62rem; font-weight: 850; }
.topic-finding-grid .topic-finding-narrative { display: grid; grid-template-columns: 1fr; gap: 9px; }
.topic-finding-grid .topic-finding-narrative p { margin: 0; color: var(--ink-2); font-size: .68rem; line-height: 1.5; }
.topic-finding-grid .topic-finding-narrative b { display: block; margin-bottom: 2px; color: var(--green); font-size: .6rem; letter-spacing: .04em; text-transform: uppercase; }
.comprehensive-readiness-list { display: grid; gap: 12px; }
.comprehensive-readiness-list > article { overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.comprehensive-readiness-list > article > header { display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: start; padding: 18px 20px; }
.comprehensive-readiness-list > article > header > span { color: var(--green); font-family: var(--serif); font-size: 1.35rem; }
.comprehensive-readiness-list h3 { margin: 4px 0 0; font-size: 1rem; }
.comprehensive-readiness-list header small { color: var(--green); font-size: .62rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.comprehensive-readiness-list > article.waiting header small { color: #8b5b35; }
.comprehensive-readiness-list > article > p { margin: 0; padding: 0 20px 18px; color: var(--ink-2); font-size: .78rem; line-height: 1.55; }
.comprehensive-readiness-list > article > footer { display: flex; flex-wrap: wrap; gap: 14px; padding: 12px 20px; border-top: 1px solid var(--line); background: #f5f7f4; color: var(--muted); font-size: .68rem; }
.comprehensive-readiness-list > article > footer a { color: var(--green); font-weight: 800; }
.topic-evidence { margin-top: 24px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.topic-evidence > summary { display: flex; justify-content: space-between; gap: 18px; padding: 20px 24px; cursor: pointer; font-size: .82rem; font-weight: 850; }
.topic-evidence > summary small { color: var(--muted); font-weight: 500; }
.topic-evidence[open] > summary { border-bottom: 1px solid var(--line); }
.topic-evidence > .distribution-map { padding: 24px; }
.comprehensive-method-boundary { margin-block: 80px; padding: 36px; border-radius: 18px; background: var(--ink); color: #fff; }
.comprehensive-method-boundary h2 { max-width: 900px; margin: 12px 0; font-family: var(--serif); font-size: 2rem; font-weight: 500; }
.comprehensive-method-boundary p { max-width: 900px; color: #c6d2cc; font-size: .82rem; line-height: 1.65; }
.comprehensive-method-boundary .button { margin-top: 12px; }
.comprehensive-export-button { margin-top: 22px; }
.source-campaign-section { padding-top: 80px; }
.source-campaign-register { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.source-campaign-register article { padding: 22px; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.source-campaign-register header { display: flex; justify-content: space-between; gap: 18px; align-items: start; }
.source-campaign-register header small, .source-campaign-register dt { color: var(--green); font-size: .62rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.source-campaign-register h3 { margin: 6px 0 16px; font-size: 1rem; }
.source-campaign-register header > strong { font-size: 1rem; }
.source-campaign-register dl { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 0 0 16px; }
.source-campaign-register dt, .source-campaign-register dd { margin: 0; }
.source-campaign-register dd { overflow-wrap: anywhere; color: var(--ink-2); font-size: .72rem; }
.source-campaign-register dd a { color: var(--green); font-weight: 800; }
.source-campaign-register article > p { color: var(--ink-2); font-size: .78rem; line-height: 1.6; }
.source-campaign-register footer { padding-top: 12px; border-top: 1px solid var(--line); color: var(--muted); font-size: .7rem; line-height: 1.5; }

@media (max-width: 900px) {
  .comprehensive-stats, .comprehensive-boundary, .system-story-grid, .system-finding-grid, .supplemental-layer-grid, .topic-finding-grid, .source-campaign-register, .executive-priority-grid { grid-template-columns: 1fr 1fr; }
  .executive-priority-grid > article:first-child { grid-column: 1/-1; }
  .construct-diagnostic-head { display: none; }
  .construct-diagnostic-table > article { grid-template-columns: 1fr 1fr; }
  .coverage-ledger > header { display: none; }
  .coverage-ledger > article { grid-template-columns: 1fr 1fr; }
  .catalogue-item-row { grid-template-columns: 1fr 1fr; }
  .topic-narrative > div { grid-template-columns: 1fr; }
  .topic-narrative > div p { border-top: 1px solid var(--line); border-right: 0; }
  .topic-narrative > div p:first-child { border-top: 0; }
  .catalogue-contrast { border-top: 1px solid var(--line); }
  .triangulation-register > article { grid-template-columns: 1fr; }
  .cohort-contrast-head { display: none; }
  .cohort-contrast-map > article { grid-template-columns: 1fr 1fr; }
  .cohort-contrast-map > article > header { grid-column: 1/-1; }
  .triangulation-cohort { grid-column: auto; grid-row: auto; border-top: 1px solid var(--line); border-left: 0; }
  .triangulation-register .working-hypothesis, .triangulation-checks { margin: 18px; }
  .portfolio-map-head { display: none; }
  .portfolio-map > article { grid-template-columns: 1fr; gap: 12px; }
}

@media (max-width: 650px) {
  .companion-inline-grid, .comprehensive-stats, .comprehensive-boundary, .system-story-grid, .system-finding-grid, .supplemental-layer-grid, .topic-lens-strip, .topic-finding-grid, .system-finding-checks, .triangulation-checks, .source-campaign-register, .executive-lens-visual, .executive-priority-grid, .executive-priority-heading, .report-release-banner, .action-phases, .action-measures, .action-accountability, .action-commitment-editor form, .operational-evidence-editor form, .operational-case-list dl, .evidence-stability-panel > div, .assessment-investment-panel > div { grid-template-columns: 1fr; }
  .assessment-investment-panel > header, .operational-evidence-block > header { align-items: flex-start; flex-direction: column; }
  .assessment-investment-panel > header > strong { text-align: left; }
  .executive-priority-grid > article:first-child { grid-column: auto; }
  .executive-action-agenda { padding: 26px 20px; }
  .executive-action-agenda > article { grid-template-columns: 1fr; }
  .cohort-contrast-map > article { grid-template-columns: 1fr; }
  .cohort-row-narrative { grid-template-columns: 1fr; }
  .cohort-contrast-map > footer { align-items: flex-start; flex-direction: column; }
  .comprehensive-stats article { border-right: 0; border-bottom: 1px solid #c8d8d0; }
  .comprehensive-stats article:last-child { border-bottom: 0; }
  .topic-evidence > summary { align-items: flex-start; flex-direction: column; }
  .construct-diagnostic-table > article, .construct-narrative, .coverage-ledger > article, .catalogue-item-row, .catalogue-item-row > footer { grid-template-columns: 1fr; }
  .catalogue-question, .catalogue-bars, .catalogue-contrast { border-top: 1px solid var(--line); border-left: 0; }
  .catalogue-register > details > summary { align-items: flex-start; flex-direction: column; }
  .catalogue-item-row > header span, .catalogue-question p, .catalogue-contrast p { font-size: .76rem; }
  .catalogue-item-row > header small, .catalogue-bars small, .catalogue-item-row > footer p { font-size: .72rem; }
  .catalogue-question h3 { font-size: .86rem; }
  .construct-diagnostic-table article > p { font-size: .78rem; }
  .comprehensive-hero { padding-top: 40px; }
}

@media print {
  .companion-inline, .system-finding-card, .supplemental-layer-grid > article, .topic-finding-grid > article { break-inside: avoid; }
  .comprehensive-subnav { display: none; }
}

/* Coherent project, client and participant journeys */
.individual-report-nav { position: sticky; z-index: 10; top: 10px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; width: fit-content; margin-top: 16px; padding: 8px; border: 1px solid var(--line); border-radius: 99px; background: rgba(255,255,255,.96); box-shadow: 0 8px 24px rgba(18,55,43,.08); backdrop-filter: blur(10px); }
.individual-report-nav span, .individual-report-nav a { padding: 7px 11px; border-radius: 99px; font-size: .7rem; font-weight: 800; }
.individual-report-nav span { background: #173d31; color: #fff; }
.individual-report-nav a { color: var(--green); }
.individual-report-nav a:hover { background: #edf5f0; }
.campaign-index, .report-index-list { display: grid; }
.campaign-index-row { display: grid; grid-template-columns: minmax(280px,1.5fr) .45fr .55fr auto; gap: 24px; align-items: center; padding: 20px 4px; border-top: 1px solid var(--line); }
.campaign-index-row:first-child { border-top: 0; }
.campaign-index-row h2, .campaign-index-row p { margin: 6px 0 0; }
.campaign-index-row h2 { font-size: 1rem; }
.campaign-index-row h2 a { color: var(--ink); }
.campaign-index-row p, .campaign-index-row small, .campaign-index-row > div > span { display: block; color: var(--muted); font-size: .72rem; line-height: 1.45; }
.campaign-index-row > div > b { display: block; margin: 6px 0 2px; font-size: 1rem; }
.report-index-group { margin-bottom: 18px; }
.report-index-list article { display: grid; grid-template-columns: minmax(260px,1.3fr) minmax(240px,1fr) auto; gap: 24px; align-items: center; padding: 18px 0; border-top: 1px solid var(--line); }
.report-index-list p { margin: 4px 0 0; color: var(--muted); font-size: .72rem; }
.report-index-list small { display: block; margin-top: 7px; color: var(--muted); font-size: .7rem; line-height: 1.45; }
.active-programme-card { margin-bottom: 18px; border-color: #9fc7b9; background: #f3faf7; }
.active-programme-card > p { max-width: 900px; margin: 12px 0 0; color: var(--ink-2); font-size: .8rem; line-height: 1.6; }
.programme-topics { padding: 20px; border: 1px solid var(--line); border-radius: 12px; }
.programme-topics > p { margin: 4px 0 16px; color: var(--muted); font-size: .76rem; line-height: 1.5; }
.programme-topic-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.programme-topic-grid label { display: grid; grid-template-columns: auto 1fr; gap: 11px; padding: 14px; border: 1px solid #c8d8d0; border-radius: 10px; background: #fff; cursor: pointer; }
.programme-topic-grid input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--mint-dark); }
.programme-topic-grid b, .programme-topic-grid small { display: block; }
.programme-topic-grid b { font-size: .78rem; }
.programme-topic-grid small { margin-top: 5px; color: var(--muted); font-size: .68rem; line-height: 1.45; }

.client-portal-page { background: #f4f6f2; }
.client-header { position: sticky; z-index: 20; top: 0; display: flex; justify-content: space-between; gap: 24px; align-items: center; min-height: 74px; padding: 0 max(24px,calc((100vw - 1180px)/2)); border-bottom: 1px solid rgba(255,255,255,.1); background: rgba(10,28,27,.96); color: white; backdrop-filter: blur(12px); }
.client-header nav { display: flex; gap: 18px; align-items: center; }
.client-header nav > a { color: white; font-size: .78rem; font-weight: 800; }
.client-header .button-secondary { color: #fff; border-color: #b8cbc5; background: transparent; }
.client-header .button-secondary:hover { color: #fff; background: #28433b; }
.client-portal-page .feedback-launcher, .client-portal-page .contact-launcher { position: static; margin: 0 0 24px max(14px,calc((100vw - 1180px)/2)); }
.client-portal { width: min(1180px,calc(100% - 40px)); margin: 0 auto; padding: 60px 0 100px; }
.client-welcome { display: grid; grid-template-columns: 1fr auto; gap: 12px 40px; align-items: end; margin-bottom: 34px; }
.client-welcome .eyebrow, .client-welcome h1, .client-welcome > p { grid-column: 1; }
.client-welcome h1 { margin: 2px 0; font-family: var(--serif); font-size: clamp(2.2rem,5vw,4rem); font-weight: 500; letter-spacing: -.035em; }
.client-welcome > p { max-width: 720px; margin: 0; color: var(--ink-2); font-size: .92rem; line-height: 1.65; }
.client-summary { grid-column: 2; grid-row: 1 / span 3; display: flex; overflow: hidden; border: 1px solid var(--line); border-radius: 16px; background: #fff; }
.client-summary div { min-width: 130px; padding: 20px; border-left: 1px solid var(--line); }
.client-summary div:first-child { border-left: 0; }
.client-summary b, .client-summary span { display: block; }
.client-summary b { font-family: var(--serif); font-size: 2rem; font-weight: 500; }
.client-summary span { margin-top: 4px; color: var(--muted); font-size: .68rem; }
.client-project-card { overflow: hidden; margin-top: 20px; border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: 0 12px 35px rgba(18,55,43,.06); }
.client-project-card > header { display: flex; justify-content: space-between; gap: 28px; align-items: center; padding: 28px 30px; border-bottom: 1px solid var(--line); background: #f9fbf8; }
.client-project-card > header h2, .client-project-card > header p { margin: 5px 0 0; }
.client-project-card > header h2 { font-size: 1.35rem; }
.client-project-card > header p { color: var(--muted); font-size: .76rem; }
.client-progress { display: grid; grid-template-columns: repeat(3,1fr); border-bottom: 1px solid var(--line); }
.client-progress div { padding: 18px 30px; border-left: 1px solid var(--line); }
.client-progress div:first-child { border-left: 0; }
.client-progress b, .client-progress span { display: block; }
.client-progress b { font-size: 1.15rem; }
.client-progress span { margin-top: 3px; color: var(--muted); font-size: .68rem; }
.client-campaign-list article { display: grid; grid-template-columns: 1fr auto; gap: 20px; padding: 22px 30px; border-top: 1px solid var(--line); }
.client-campaign-list article:first-child { border-top: 0; }
.client-campaign-list h3, .client-campaign-list p { margin: 5px 0 0; }
.client-campaign-list h3 { font-size: .96rem; }
.client-campaign-list p, .client-campaign-actions > span { color: var(--muted); font-size: .72rem; }
.client-approval-panel { grid-column: 1/-1; display: grid; grid-template-columns: 1fr 1fr; gap: 14px 24px; margin-top: 8px; padding: 20px; border: 1px solid #d5b36b; border-radius: 12px; background: #fffaf0; }
.client-approval-panel p { line-height: 1.5; }
.client-approval-panel label { font-size: .72rem; font-weight: 800; }
.client-approval-panel textarea { display: block; width: 100%; min-height: 72px; margin-top: 6px; padding: 10px; border: 1px solid #c9b57f; border-radius: 8px; font: inherit; font-weight: 400; }
.client-approval-panel .consent-row { grid-column: 1/-1; display: flex; gap: 8px; align-items: flex-start; }
.client-approval-panel button { justify-self: start; }

.participant-home-page { min-height: 100vh; background: #f4f6f2; }
.participant-home-header { border-bottom: 1px solid rgba(255,255,255,.1); background: var(--brand-dark); }
.participant-home { width: min(980px,calc(100% - 40px)); margin: 0 auto; padding: 58px 0 90px; }
.participant-home-intro { max-width: 760px; margin-bottom: 28px; }
.participant-home-intro h1 { margin: 8px 0 10px; font-family: var(--serif); font-size: clamp(2.1rem,5vw,3.7rem); font-weight: 500; letter-spacing: -.035em; }
.participant-home-intro p { margin: 0; color: var(--ink-2); font-size: .92rem; line-height: 1.65; }
.participant-assignment-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.participant-assignment-card { display: flex; min-height: 290px; flex-direction: column; padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: #fff; box-shadow: 0 10px 28px rgba(18,55,43,.05); }
.participant-card-head { display: flex; justify-content: space-between; gap: 14px; align-items: flex-start; color: var(--green); font-size: .68rem; font-weight: 850; letter-spacing: .03em; text-transform: uppercase; }
.participant-assignment-card h2 { margin: 18px 0 6px; font-size: 1.12rem; line-height: 1.35; }
.participant-assignment-card > p { margin: 0; color: var(--muted); font-size: .74rem; line-height: 1.5; }
.participant-assignment-card .participant-card-message { margin: 18px 0; color: var(--ink-2); font-size: .8rem; }
.participant-assignment-card .button { margin-top: auto; }
.participant-assignment-card .button + .button { margin-top: 8px; }
.participant-assignment-card > small, .participant-report-wait { display: block; margin-top: 12px; color: var(--muted); font-size: .66rem; }
.participant-help { display: flex; justify-content: space-between; gap: 24px; align-items: center; margin-top: 24px; padding: 20px 24px; border-radius: 14px; background: #173d31; color: #fff; }
.participant-help p { margin: 4px 0 0; color: #c9ded5; font-size: .74rem; }
.participant-help a { color: #c8f0df; font-size: .74rem; font-weight: 800; }

@media (max-width: 850px) {
  .campaign-index-row, .report-index-list article { grid-template-columns: 1fr 1fr; }
  .campaign-index-row > :first-child, .report-index-list article > :first-child { grid-column: 1/-1; }
  .programme-topic-grid, .participant-assignment-grid { grid-template-columns: 1fr; }
  .client-welcome { grid-template-columns: 1fr; }
  .client-welcome .eyebrow, .client-welcome h1, .client-welcome > p, .client-summary { grid-column: 1; grid-row: auto; }
  .client-summary { width: 100%; }
}

@media (max-width: 620px) {
  .client-header { padding-inline: 18px; }
  .client-header nav > a { display: none; }
  .client-portal, .participant-home { width: min(100% - 28px,1180px); padding-top: 34px; }
  .client-project-card > header, .client-campaign-list article, .participant-help { align-items: flex-start; flex-direction: column; }
  .client-project-card > header, .client-campaign-list article { display: flex; }
  .client-progress { grid-template-columns: 1fr; }
  .client-progress div { border-top: 1px solid var(--line); border-left: 0; }
  .client-progress div:first-child { border-top: 0; }
  .client-approval-panel { display: flex; flex-direction: column; }
  .campaign-index-row, .report-index-list article { grid-template-columns: 1fr; }
  .campaign-index-row > :first-child, .report-index-list article > :first-child { grid-column: auto; }
}

/* Snapshot conversion and facilitator assessment-request pipeline */
.assessment-handoff { overflow: hidden; margin-top: 28px; border: 1px solid #9fc7b9; border-radius: 22px; background: #f7fbf8; box-shadow: 0 18px 45px rgba(18,55,43,.07); }
.assessment-handoff-head { display: grid; grid-template-columns: minmax(0,1fr) 280px; gap: 36px; align-items: center; padding: 34px; border-bottom: 1px solid var(--line); }
.assessment-handoff-head h2 { margin: 8px 0 12px; font-size: clamp(1.55rem,3vw,2.35rem); line-height: 1.15; }
.assessment-handoff-head p { max-width: 840px; margin: 0; color: var(--ink-2); font-size: .92rem; line-height: 1.7; }
.route-effort-card { padding: 22px; border-radius: 16px; background: #173d31; color: #fff; }
.route-effort-card span, .route-effort-card strong, .route-effort-card small { display: block; }
.route-effort-card span { color: #a8d4c1; font-size: .68rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.route-effort-card strong { margin: 10px 0 6px; font-family: var(--serif); font-size: 1.75rem; font-weight: 500; }
.route-effort-card small { color: #d9e8e1; font-size: .75rem; line-height: 1.5; }
.full-route-options { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); border-bottom: 1px solid var(--line); }
.full-route-options article { min-height: 220px; padding: 22px; border-right: 1px solid var(--line); background: #fff; }
.full-route-options article:last-child { border-right: 0; }
.full-route-options article.is-recommended { box-shadow: inset 0 5px 0 var(--mint-dark); background: #eff8f3; }
.full-route-options article > div { min-height: 34px; }
.full-route-options article > div span { color: var(--green); font-size: .68rem; font-weight: 850; text-transform: uppercase; }
.full-route-options article > div b { display: block; margin-top: 4px; color: #9a4d3d; font-size: .65rem; }
.full-route-options h3 { margin: 14px 0 8px; font-size: .98rem; line-height: 1.35; }
.full-route-options p { color: var(--ink-2); font-size: .78rem; line-height: 1.55; }
.full-route-options article > small { display: block; margin-top: 14px; color: var(--muted); font-size: .68rem; line-height: 1.45; }
.route-value-explainer { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line); }
.route-value-explainer article { padding: 24px 34px; background: #f6f8f5; }
.route-value-explainer span { color: var(--green); font-size: .7rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.route-value-explainer p { margin: 8px 0 0; color: var(--ink-2); font-size: .84rem; line-height: 1.65; }
.assessment-request-panel { background: #fff; }
.assessment-request-panel > summary { display: flex; justify-content: space-between; gap: 24px; align-items: center; padding: 26px 34px; cursor: pointer; list-style: none; }
.assessment-request-panel > summary::-webkit-details-marker { display: none; }
.assessment-request-panel > summary span b, .assessment-request-panel > summary span small { display: block; }
.assessment-request-panel > summary span b { font-size: 1.08rem; }
.assessment-request-panel > summary span small { margin-top: 5px; color: var(--muted); font-size: .78rem; }
.assessment-request-panel > summary i { padding: 10px 15px; border-radius: 99px; background: var(--ink); color: #fff; font-size: .72rem; font-style: normal; font-weight: 800; }
.assessment-request-panel[open] > summary { border-bottom: 1px solid var(--line); }
.assessment-request-form { padding: 34px; }
.request-form-intro { max-width: 760px; }
.request-form-intro > span { color: var(--green); font-size: .7rem; font-weight: 850; text-transform: uppercase; }
.request-form-intro h3 { margin: 7px 0; font-size: 1.4rem; }
.request-form-intro p { margin: 0; color: var(--muted); font-size: .84rem; }
.request-route-picker { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 24px 0; }
.request-route-picker label { display: grid; grid-template-columns: auto 1fr; gap: 12px; padding: 15px; border: 1px solid var(--line); border-radius: 12px; cursor: pointer; }
.request-route-picker label.is-recommended { border-color: #82b8a3; background: #edf7f2; }
.request-route-picker input, .request-choice input, .request-consent input { width: 19px; height: 19px; accent-color: var(--mint-dark); }
.request-route-picker b, .request-route-picker small { display: block; }
.request-route-picker b { font-size: .82rem; }
.request-route-picker small { margin-top: 3px; color: var(--muted); font-size: .7rem; }
.assessment-request-form fieldset { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0 0 24px; padding: 0; border: 0; }
.assessment-request-form legend { grid-column: 1/-1; margin-bottom: 9px; font-size: .78rem; font-weight: 850; }
.request-choice { display: grid; grid-template-columns: auto 1fr; gap: 12px; padding: 17px; border: 1px solid var(--line); border-radius: 12px; }
.request-choice b, .request-choice small { display: block; }
.request-choice b { font-size: .84rem; }
.request-choice small { margin-top: 5px; color: var(--muted); font-size: .72rem; line-height: 1.45; }
.request-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.request-fields label > span { display: block; margin-bottom: 7px; font-size: .78rem; font-weight: 800; }
.request-fields .wide { grid-column: 1/-1; }
.request-fields input, .request-fields select, .request-fields textarea { width: 100%; padding: 12px 13px; border: 1px solid #b7c8c0; border-radius: 9px; background: #fff; color: var(--ink); font: inherit; font-size: .86rem; }
.request-fields textarea { min-height: 100px; resize: vertical; line-height: 1.55; }
.request-consent { display: grid; grid-template-columns: auto 1fr; gap: 11px; align-items: start; margin-top: 20px; padding: 16px; border-radius: 10px; background: #f1f4f1; color: var(--ink-2); font-size: .76rem; line-height: 1.55; }
.request-consent a { color: var(--green); font-weight: 800; }
.request-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.request-submit { display: flex; justify-content: space-between; gap: 24px; align-items: center; margin-top: 20px; }
.request-submit small { max-width: 500px; color: var(--muted); font-size: .7rem; line-height: 1.5; }
.assessment-request-receipt { margin: 0; padding: 30px 34px; border-top: 1px solid #9fc7b9; background: #e9f5ef; }
.assessment-request-receipt > span { color: var(--green); font-size: .7rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.assessment-request-receipt h3 { margin: 7px 0; font-size: 1.25rem; }
.assessment-request-receipt > p { color: var(--ink-2); font-size: .84rem; line-height: 1.6; }
.assessment-request-receipt > div { display: grid; grid-template-columns: auto 1fr; gap: 7px 14px; margin: 18px 0; padding: 16px; border: 1px solid #bdd8cc; border-radius: 10px; background: #fff; font-size: .76rem; }
.assessment-request-receipt > div b { color: var(--green); }
.assessment-request-receipt > small { color: var(--muted); font-size: .72rem; }

.metric-grid-five { grid-template-columns: repeat(5,1fr); }
.request-summary-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin-bottom: 18px; }
.request-summary-grid article { padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.request-summary-grid span, .request-summary-grid b, .request-summary-grid small { display: block; }
.request-summary-grid span { color: var(--muted); font-size: .72rem; font-weight: 800; }
.request-summary-grid b { margin: 9px 0 3px; font-family: var(--serif); font-size: 2rem; font-weight: 500; }
.request-summary-grid small { color: var(--muted); font-size: .7rem; }
.request-pipeline-card { padding: 0; }
.request-pipeline-card > .card-heading { padding: 24px; }
.request-pipeline-list { border-top: 1px solid var(--line); }
.request-pipeline-item { border-bottom: 1px solid var(--line); }
.request-pipeline-item:last-child { border-bottom: 0; }
.request-pipeline-item > header { padding: 22px 24px; background: #fafbf9; }
.request-pipeline-item > header > div { display: flex; justify-content: space-between; gap: 16px; }
.request-stage { color: var(--green); font-size: .7rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.request-pipeline-item time { color: var(--muted); font-size: .68rem; }
.request-pipeline-item h3 { margin: 10px 0 4px; font-size: 1.15rem; }
.request-pipeline-item header p { margin: 0; color: var(--muted); font-size: .76rem; }
.request-pipeline-item header a { color: var(--green); font-weight: 750; }
.request-pipeline-body { display: grid; grid-template-columns: 1.15fr 1fr 1fr; }
.request-pipeline-body section { padding: 20px 24px; border-top: 1px solid var(--line); border-right: 1px solid var(--line); }
.request-pipeline-body section:last-child { border-right: 0; }
.request-pipeline-body section > span { color: var(--green); font-size: .66rem; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }
.request-pipeline-body h4 { margin: 7px 0; font-size: .88rem; }
.request-pipeline-body p { margin: 7px 0 0; color: var(--ink-2); font-size: .76rem; line-height: 1.55; }
.request-pipeline-body small { display: block; margin-top: 9px; color: var(--muted); font-size: .68rem; line-height: 1.45; }
.request-pipeline-actions, .request-converted-links { display: flex; justify-content: space-between; gap: 14px; align-items: end; padding: 17px 24px; border-top: 1px solid var(--line); background: #f5f8f5; }
.request-pipeline-actions form { display: flex; flex: 1; gap: 10px; align-items: end; }
.request-pipeline-actions label span { display: block; margin-bottom: 5px; color: var(--muted); font-size: .67rem; font-weight: 750; }
.request-pipeline-actions label.grow { flex: 1; }
.request-pipeline-actions input, .request-pipeline-actions select { width: 100%; min-height: 36px; padding: 8px 10px; border: 1px solid #bdcbc4; border-radius: 8px; background: #fff; font: inherit; font-size: .74rem; }
.request-converted-links { align-items: center; flex-wrap: wrap; }
.request-converted-links div b, .request-converted-links div span { display: block; }
.request-converted-links div span { margin-top: 3px; color: var(--muted); font-size: .7rem; }
.request-converted-links > a:not(.button) { color: var(--green); font-size: .7rem; font-weight: 800; }
.conversion-source-card { display: grid; grid-template-columns: .8fr 1fr 1.4fr; margin-bottom: 18px; border: 1px solid var(--line); border-radius: 15px; background: #173d31; color: #fff; }
.conversion-source-card > div { padding: 22px; border-right: 1px solid #3a5c51; }
.conversion-source-card > div:last-child { border-right: 0; }
.conversion-source-card span, .conversion-source-card b, .conversion-source-card a, .conversion-source-card small { display: block; }
.conversion-source-card span { margin-bottom: 7px; color: #9ed0bc; font-size: .67rem; font-weight: 850; text-transform: uppercase; }
.conversion-source-card b { font-size: .86rem; }
.conversion-source-card a, .conversion-source-card small, .conversion-source-card p { margin-top: 5px; color: #d1e4dc; font-size: .73rem; line-height: 1.5; }
.conversion-form { max-width: none; }
.conversion-form > section { display: grid; grid-template-columns: auto 1fr; gap: 14px; margin: 26px 0 18px; padding-top: 22px; border-top: 1px solid var(--line); }
.conversion-form > section:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.conversion-form > section h2, .conversion-form > section p { margin: 0; }
.conversion-form > section h2 { font-size: 1.05rem; }
.conversion-form > section p { margin-top: 5px; color: var(--muted); font-size: .75rem; }
.form-section-number { color: var(--green); font-family: var(--serif); font-size: 1.25rem; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.form-grid .wide { grid-column: 1/-1; }
.conversion-topic-picker { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 24px; padding: 18px; border: 1px solid var(--line); border-radius: 13px; }
.conversion-topic-picker legend { padding: 0 8px; font-size: .76rem; font-weight: 850; }
.conversion-topic-picker label { display: grid; grid-template-columns: auto 1fr auto; gap: 11px; align-items: start; padding: 14px; border: 1px solid var(--line); border-radius: 10px; cursor: pointer; }
.conversion-topic-picker label.is-requested { border-color: #88b8a6; background: #edf7f2; }
.conversion-topic-picker input { width: 18px; height: 18px; accent-color: var(--mint-dark); }
.conversion-topic-picker b, .conversion-topic-picker small { display: block; }
.conversion-topic-picker b { font-size: .78rem; }
.conversion-topic-picker small { margin-top: 4px; color: var(--muted); font-size: .68rem; line-height: 1.4; }
.conversion-topic-picker i { color: var(--green); font-size: .64rem; font-style: normal; font-weight: 850; text-transform: uppercase; }
.conversion-invite { display: grid !important; grid-template-columns: auto 1fr; gap: 11px; align-items: start; margin-top: 18px; padding: 16px; border-radius: 10px; background: #edf7f2; }
.conversion-invite b, .conversion-invite small { display: block; }
.conversion-invite small { margin-top: 4px; color: var(--muted); font-size: .7rem; }
.conversion-success-hero { display: flex; gap: 20px; align-items: center; margin-bottom: 20px; padding: 28px; border-radius: 18px; background: #173d31; color: #fff; }
.conversion-success-hero > span { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 50%; background: #9ee0c3; color: #173d31; font-size: 1.3rem; font-weight: 900; }
.conversion-success-hero small { color: #9ed0bc; font-weight: 850; text-transform: uppercase; }
.conversion-success-hero h1 { margin: 5px 0; font-size: 2rem; }
.conversion-success-hero p { margin: 0; color: #d4e6de; font-size: .8rem; }
.conversion-receipt-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.conversion-receipt-grid article { padding: 22px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.conversion-receipt-grid span { color: var(--green); font-size: .67rem; font-weight: 850; text-transform: uppercase; }
.conversion-receipt-grid h2 { margin: 8px 0; font-size: 1.05rem; }
.conversion-receipt-grid p { min-height: 40px; color: var(--muted); font-size: .74rem; line-height: 1.5; }
.conversion-receipt-grid a { color: var(--green); font-size: .73rem; font-weight: 850; }
.conversion-links { margin-top: 16px; }
.conversion-links > p { color: var(--muted); font-size: .75rem; line-height: 1.55; }
.conversion-links > div:not(.card-heading) { display: grid; grid-template-columns: 220px 1fr auto; gap: 12px; align-items: center; margin-top: 10px; }
.conversion-links > div span b, .conversion-links > div span small { display: block; }
.conversion-links > div span small { color: var(--muted); font-size: .68rem; }
.conversion-links input { width: 100%; padding: 10px; border: 1px solid var(--line); border-radius: 8px; font: inherit; font-size: .72rem; }
.conversion-next-actions { display: flex; gap: 10px; margin-top: 18px; }
.admin-inline-warning { display: flex; gap: 12px; align-items: center; margin-bottom: 16px; padding: 14px 18px; border: 1px solid #e4bd76; border-radius: 11px; background: #fff7e8; }
.admin-inline-warning span { font-weight: 900; }
.admin-inline-warning p { margin: 0; font-size: .78rem; }

@media (max-width: 1150px) {
  .full-route-options { grid-template-columns: repeat(2,1fr); }
  .full-route-options article { border-bottom: 1px solid var(--line); }
  .metric-grid-five { grid-template-columns: repeat(3,1fr); }
}

@media (max-width: 850px) {
  .assessment-handoff-head, .route-value-explainer, .request-pipeline-body, .conversion-source-card, .conversion-receipt-grid { grid-template-columns: 1fr; }
  .conversion-source-card > div, .request-pipeline-body section { border-right: 0; border-bottom: 1px solid var(--line); }
  .request-pipeline-actions { align-items: stretch; flex-direction: column; }
  .request-pipeline-actions form { align-items: stretch; flex-direction: column; }
  .conversion-links > div:not(.card-heading) { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .assessment-handoff-head, .assessment-request-form, .assessment-request-receipt { padding: 24px 20px; }
  .full-route-options, .request-route-picker, .assessment-request-form fieldset, .request-fields, .request-summary-grid, .metric-grid-five, .form-grid, .conversion-topic-picker { grid-template-columns: 1fr; }
  .request-fields .wide, .form-grid .wide { grid-column: auto; }
  .assessment-request-panel > summary, .request-submit { align-items: flex-start; flex-direction: column; }
  .full-route-options article { min-height: 0; border-right: 0; }
  .conversion-success-hero { align-items: flex-start; }
  .conversion-success-hero h1 { font-size: 1.5rem; }
}

@media print {
  .assessment-request-panel, .assessment-request-receipt, .group-upgrade { display: none; }
}

/* Innovation Decision-System Pulse */
.pulse-page { background: #f8fafc; color: #0f172a; }
.pulse-shell { width: min(1120px, calc(100% - 48px)); margin-inline: auto; }
.pulse-site-header { position: sticky; top: 0; z-index: 50; display: flex; min-height: 68px; align-items: center; justify-content: space-between; padding-inline: max(24px, calc((100vw - 1120px) / 2)); border-bottom: 1px solid rgba(255,255,255,.1); background: rgba(10,28,27,.94); color: white; backdrop-filter: blur(16px); }
.pulse-site-header .brand-copy strong, .pulse-footer .brand-copy strong { color: white; }
.pulse-site-header nav { display: flex; align-items: center; gap: 28px; color: #cbd5e1; font-size: .82rem; font-weight: 750; }
.pulse-site-header nav a:last-child { padding: 11px 15px; border: 1px solid #08766d; border-radius: 10px; background: #08766d; color: white; }
.pulse-site-header nav a:hover { color: var(--teal-light); }
.pulse-site-header nav a:last-child:hover { border-color: #075f58; background: #075f58; color: white; }
.pulse-kicker { display: inline-block; color: #27745a; font-size: .7rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.pulse-hero { position: relative; overflow: hidden; padding: 96px 0 82px; border-bottom: 1px solid #d8e0db; background: radial-gradient(circle at 86% 25%, rgba(20,184,166,.19), transparent 28%), linear-gradient(135deg, #ffffff 0%, #f0fdfa 100%); }
.pulse-hero::after { position: absolute; right: -90px; bottom: -145px; width: 390px; height: 390px; border: 1px solid rgba(49,124,98,.18); border-radius: 50%; content: ""; }
.pulse-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(290px, .72fr); gap: 72px; align-items: end; }
.pulse-hero h1 { max-width: 820px; margin: 20px 0 24px; font-size: clamp(2.65rem, 5.6vw, 5.5rem); line-height: .98; }
.pulse-lede { max-width: 735px; margin-bottom: 30px; color: #3d5148; font-size: clamp(1.05rem, 1.7vw, 1.3rem); line-height: 1.6; }
.pulse-trust-line { display: flex; flex-wrap: wrap; gap: 0; color: #4d6258; font-size: .78rem; font-weight: 750; }
.pulse-trust-line span { padding: 2px 18px; border-right: 1px solid #bdcbc4; }
.pulse-trust-line span:first-child { padding-left: 0; }
.pulse-trust-line span:last-child { border: 0; }
.pulse-perspective-card { padding: 30px; border: 1px solid #c9d7d0; border-radius: 22px; background: rgba(255,255,255,.75); box-shadow: 0 18px 45px rgba(27,63,49,.08); }
.pulse-perspective-card > span, .pulse-reading-grid article > span { color: #27745a; font-size: .66rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.pulse-perspective-card h2 { margin: 13px 0 13px; font-size: 1.4rem; line-height: 1.2; }
.pulse-perspective-card p { margin: 0; color: #50635a; font-size: .84rem; line-height: 1.65; }
.pulse-error { margin-top: 30px; padding: 16px 20px; border: 1px solid #d88a7b; border-radius: 12px; background: #fff1ed; }
.pulse-error p { margin: 5px 0 0; }
.pulse-section-copy { max-width: 760px; }
.pulse-section-copy h2 { margin: 12px 0 16px; font-size: clamp(1.8rem, 3vw, 3rem); }
.pulse-section-copy p { color: #50635a; font-size: 1rem; line-height: 1.65; }
.pulse-assessment { padding-block: 82px 110px; }
.pulse-progress { margin-top: 48px; padding: 22px 26px; border: 1px solid #d1dbd5; border-bottom: 0; border-radius: 18px 18px 0 0; background: #eef2ed; }
.pulse-progress > div:first-child { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 14px; color: #526159; font-size: .74rem; }
.pulse-progress strong { color: #27745a; letter-spacing: .06em; text-transform: uppercase; }
.pulse-progress-track { height: 7px; overflow: hidden; border-radius: 999px; background: #d5dfda; }
.pulse-progress-track i { display: block; width: 10%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #317c62, #77c9a8); transition: width .25s ease; }
.pulse-assessment form { overflow: hidden; border: 1px solid #d1dbd5; border-radius: 0 0 20px 20px; background: #fff; box-shadow: 0 24px 70px rgba(26,52,42,.08); }
.pulse-question { min-width: 0; margin: 0; padding: 48px 52px 42px; border: 0; }
.pulse-question legend { display: flex; width: 100%; flex-direction: column; padding: 0; color: #12251e; font-size: clamp(1.45rem, 2.8vw, 2.4rem); font-weight: 720; letter-spacing: -.025em; line-height: 1.25; }
.pulse-question legend span { margin-bottom: 10px; color: #27745a; font-size: .69rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.pulse-question legend small { margin-bottom: 17px; color: #697870; font-size: .65rem; font-weight: 700; letter-spacing: .035em; }
.pulse-options { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin-top: 34px; }
.pulse-options label { cursor: pointer; }
.pulse-options input { position: absolute; opacity: 0; pointer-events: none; }
.pulse-options label > span { display: flex; min-height: 98px; flex-direction: column; justify-content: space-between; padding: 15px; border: 1px solid #ccd7d1; border-radius: 12px; background: #fbfcfa; transition: border-color .15s, background .15s, transform .15s, box-shadow .15s; }
.pulse-options label:hover > span { transform: translateY(-2px); border-color: #87ad9d; box-shadow: 0 8px 20px rgba(30,72,55,.08); }
.pulse-options input:checked + span { border-color: #276b53; background: #e8f5ee; box-shadow: inset 0 0 0 1px #276b53; }
.pulse-options input:focus-visible + span { outline: 3px solid #317c62; outline-offset: 3px; }
.pulse-options b { display: grid; width: 29px; height: 29px; place-items: center; border-radius: 8px; background: #e4ebe7; color: #334b40; font-size: .76rem; }
.pulse-options input:checked + span b { background: #317c62; color: #fff; }
.pulse-options em { color: #263c33; font-size: .76rem; font-style: normal; font-weight: 720; line-height: 1.35; }
.pulse-options .pulse-option-missing { grid-column: span 2; }
.pulse-options .pulse-option-missing > span { min-height: 74px; flex-direction: row; align-items: center; justify-content: flex-start; gap: 13px; background: #f4f5f2; }
.pulse-question-source { margin: 27px 0 0; color: #748179; font-size: .68rem; }
.pulse-form-actions { display: flex; justify-content: space-between; gap: 12px; padding: 22px 52px; border-top: 1px solid #d9e0dc; background: #f6f8f5; }
.pulse-form-actions .button { min-width: 160px; }
.pulse-form-actions button:disabled { cursor: not-allowed; opacity: .42; transform: none; box-shadow: none; }
.pulse-form-privacy { margin: 0; padding: 0 52px 26px; background: #f6f8f5; color: #697870; font-size: .68rem; }
.pulse-result { padding-block: 72px 110px; }
.pulse-result-heading { display: grid; grid-template-columns: 1fr 230px; gap: 68px; align-items: center; padding: 42px 48px; border-radius: 24px; background: var(--brand-dark); color: white; box-shadow: 0 24px 64px rgba(10,28,27,.2); }
.pulse-result-heading .pulse-kicker { color: #9ce3c5; }
.pulse-result-heading h2 { margin: 9px 0 14px; color: white; font-size: clamp(2.7rem, 5vw, 5rem); }
.pulse-result-heading p { max-width: 630px; margin: 0; color: #c7ded4; font-size: 1rem; }
.pulse-score-ring { position: relative; display: grid; width: 190px; height: 190px; place-content: center; justify-items: center; border-radius: 50%; background: radial-gradient(circle at center, var(--brand-dark) 0 57%, transparent 58%), conic-gradient(var(--teal-light) calc(var(--pulse-score) * 1%), rgba(255,255,255,.14) 0); }
.pulse-score-ring strong { font-size: 3.5rem; line-height: .92; }
.pulse-score-ring > span { color: #c7ded4; font-size: .72rem; }
.pulse-score-ring small { margin-top: 6px; color: #9ce3c5; font-size: .64rem; font-weight: 750; }
.pulse-boundary { display: grid; grid-template-columns: 170px 1fr; gap: 25px; margin: 22px 0 72px; padding: 18px 22px; border: 1px solid #d5dfda; border-radius: 13px; background: #f9faf7; }
.pulse-boundary b { color: #27745a; font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; }
.pulse-boundary p { margin: 0; color: #56665e; font-size: .78rem; }
.pulse-dimension-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 35px; }
.pulse-dimension-grid article { padding: 25px; border: 1px solid #d5ded9; border-radius: 16px; background: #fff; }
.pulse-dimension-grid header { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.pulse-dimension-grid header div { display: flex; align-items: center; gap: 11px; }
.pulse-dimension-grid header span { color: #4b5b53; font-size: .8rem; font-weight: 850; }
.pulse-dimension-grid h3 { margin: 0; font-size: 1.05rem; }
.pulse-dimension-grid header > strong { font-size: 1.55rem; }
.pulse-bar { height: 12px; margin: 20px 0; overflow: hidden; border-radius: 999px; background: #e2e9e5; }
.pulse-bar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #317c62, #8cd8b9); }
.pulse-dimension-grid p { min-height: 52px; margin-bottom: 15px; color: #526159; font-size: .79rem; }
.pulse-dimension-grid small { color: #748179; font-size: .64rem; }
.pulse-reading { padding-top: 88px; }
.pulse-reading-grid { display: grid; grid-template-columns: 1.35fr 1fr 1fr; gap: 14px; margin-top: 34px; }
.pulse-reading-grid article { min-height: 235px; padding: 27px; border: 1px solid #d5ded9; border-radius: 17px; background: #fff; }
.pulse-reading-grid .pulse-narrative { background: #ebf5ef; }
.pulse-reading-grid h3 { margin: 28px 0 13px; font-size: 1.45rem; }
.pulse-reading-grid p { margin: 28px 0 0; color: #40544b; font-size: .83rem; line-height: 1.65; }
.pulse-reading-grid h3 + p { margin-top: 0; }
.pulse-starting-move { display: grid; grid-template-columns: .7fr 1.3fr; gap: 70px; align-items: start; margin-top: 16px; padding: 40px; border-radius: 18px; background: #efc981; }
.pulse-starting-move h2 { margin: 10px 0 0; font-size: clamp(1.7rem, 3vw, 2.7rem); }
.pulse-starting-move p { margin: 0; color: #3e3524; font-size: 1rem; line-height: 1.7; }
.pulse-starting-move .pulse-kicker { color: #173f31; }
.pulse-next { display: grid; grid-template-columns: 1fr auto; gap: 55px; align-items: center; margin-top: 72px; padding: 42px; border: 1px solid #c9d7d0; border-radius: 20px; background: #fff; }
.pulse-next h2 { max-width: 690px; margin: 10px 0 14px; font-size: clamp(1.7rem, 3vw, 2.8rem); }
.pulse-next p { max-width: 730px; margin: 0; color: #526159; font-size: .86rem; line-height: 1.65; }
.pulse-cta-stack { display: grid; gap: 10px; min-width: 300px; }
.pulse-result-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; padding: 24px 6px; }
.pulse-result-actions button, .pulse-result-actions a { padding: 4px 0; border: 0; border-bottom: 1px solid #9aaba2; background: transparent; color: #33483e; font-size: .73rem; font-weight: 750; cursor: pointer; }
.pulse-result-actions span { color: #27745a; font-size: .7rem; }
.pulse-source-register { margin-top: 10px; border: 1px solid #d5ded9; border-radius: 15px; background: #fff; }
.pulse-source-register summary { padding: 20px 24px; font-size: .78rem; font-weight: 800; cursor: pointer; }
.pulse-source-register > div { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid #d5ded9; }
.pulse-source-register article { padding: 22px 24px; border-right: 1px solid #e0e6e2; border-bottom: 1px solid #e0e6e2; }
.pulse-source-register article:nth-child(2n) { border-right: 0; }
.pulse-source-register header { display: flex; justify-content: space-between; gap: 12px; color: #27745a; font-size: .64rem; }
.pulse-source-register p { margin: 12px 0; color: #42564d; font-size: .75rem; }
.pulse-source-register strong { color: #12251e; font-size: .74rem; }
.pulse-method { padding-block: 92px; background: #142f26; color: white; }
.pulse-method .pulse-kicker { color: #9ce3c5; }
.pulse-method .pulse-section-copy p { color: #b6cbc1; }
.pulse-method-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 45px; border-top: 1px solid #476156; }
.pulse-method-grid article { min-height: 260px; padding: 30px 32px 30px 0; border-right: 1px solid #476156; }
.pulse-method-grid article + article { padding-left: 32px; }
.pulse-method-grid article:last-child { border-right: 0; }
.pulse-method-grid span { color: #9ce3c5; font-size: 1.4rem; font-weight: 800; }
.pulse-method-grid h3 { margin: 55px 0 14px; font-size: 1.1rem; }
.pulse-method-grid p { color: #afc3b9; font-size: .8rem; line-height: 1.65; }
.pulse-footer { display: grid; grid-template-columns: 1fr auto; gap: 30px 60px; align-items: end; padding: 58px max(24px, calc((100vw - 1120px) / 2)); background: #081514; color: #d7e1db; }
.pulse-footer > div:first-child p { margin: 12px 0 0; color: #8fa098; font-size: .78rem; }
.pulse-footer-links { display: flex; flex-wrap: wrap; gap: 22px; color: #bac8c1; font-size: .72rem; }
.pulse-legal-note { grid-column: 1 / -1; margin: 4px 0 0; padding-top: 22px; border-top: 1px solid #2d4037; color: #82938a; font-size: .68rem; }

@media (max-width: 900px) {
  .pulse-hero-grid, .pulse-result-heading, .pulse-next { grid-template-columns: 1fr; }
  .pulse-perspective-card { max-width: 650px; }
  .pulse-result-heading { gap: 35px; }
  .pulse-score-ring { width: 165px; height: 165px; }
  .pulse-reading-grid { grid-template-columns: 1fr 1fr; }
  .pulse-reading-grid .pulse-narrative { grid-column: 1 / -1; min-height: 0; }
  .pulse-options { grid-template-columns: repeat(3, 1fr); }
  .pulse-options .pulse-option-missing { grid-column: auto; }
  .pulse-next { align-items: start; }
}

@media (max-width: 650px) {
  .pulse-shell { width: min(100% - 30px, 1120px); }
  .pulse-site-header { min-height: 66px; padding-inline: 15px; }
  .pulse-site-header nav a:first-child { display: none; }
  .pulse-site-header nav { gap: 10px; }
  .pulse-hero { padding: 68px 0 60px; }
  .pulse-hero-grid { gap: 38px; }
  .pulse-hero h1 { font-size: clamp(2.45rem, 13vw, 4rem); }
  .pulse-trust-line span { padding-inline: 10px; font-size: .7rem; }
  .pulse-assessment, .pulse-result { padding-block: 58px 78px; }
  .pulse-progress { margin-top: 34px; padding: 18px; }
  .pulse-question { padding: 31px 20px; }
  .pulse-options { grid-template-columns: 1fr 1fr; }
  .pulse-options label > span { min-height: 88px; }
  .pulse-options .pulse-option-missing { grid-column: 1 / -1; }
  .pulse-form-actions { padding: 18px 20px; }
  .pulse-form-actions .button { min-width: 0; flex: 1; padding-inline: 14px; }
  .pulse-form-privacy { padding: 0 20px 22px; }
  .pulse-result-heading { padding: 30px 25px; }
  .pulse-boundary, .pulse-starting-move { grid-template-columns: 1fr; gap: 12px; }
  .pulse-dimension-grid, .pulse-reading-grid, .pulse-source-register > div, .pulse-method-grid { grid-template-columns: 1fr; }
  .pulse-reading-grid .pulse-narrative { grid-column: auto; }
  .pulse-dimension-grid p { min-height: 0; }
  .pulse-starting-move, .pulse-next { padding: 28px 24px; }
  .pulse-cta-stack { min-width: 0; }
  .pulse-method-grid article, .pulse-method-grid article + article { min-height: 0; padding: 28px 0; border-right: 0; border-bottom: 1px solid #476156; }
  .pulse-method-grid article:last-child { border-bottom: 0; }
  .pulse-method-grid h3 { margin-top: 24px; }
  .pulse-source-register article, .pulse-source-register article:nth-child(2n) { border-right: 0; }
  .pulse-footer { grid-template-columns: 1fr; align-items: start; }
  .pulse-legal-note { grid-column: auto; }
}

@media print {
  .pulse-site-header, .pulse-footer, .pulse-method, .pulse-result-actions, .pulse-cta-stack { display: none !important; }
  .pulse-page, .pulse-result { background: white; }
  .pulse-hero { padding: 25px 0; background: white; }
  .pulse-hero-grid { grid-template-columns: 1fr; }
  .pulse-perspective-card { padding: 16px; box-shadow: none; }
  .pulse-result { padding-block: 24px; }
  .pulse-result-heading { break-inside: avoid; box-shadow: none; }
  .pulse-dimension-grid, .pulse-reading-grid { break-inside: avoid; }
  .pulse-next { break-inside: avoid; }
}

/* Assessment remediation: readable evidence labels and generous correction controls. */
[data-answer-review] > p { display: grid; grid-template-columns: minmax(260px,.8fr) minmax(0,1.2fr); gap: 20px; align-items: start; margin: 0; padding: 14px 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: transparent; line-height: 1.55; }
[data-answer-review] > p > span { color: var(--ink); font-size: .82rem; }
[data-answer-review] button { min-height: 44px; padding: 0; margin: 0; color: #08766d; font-size: .82rem; line-height: 1.45; text-align: left; }
.review-section-control { display: grid; align-content: start; justify-items: start; gap: 2px; }.review-section-control > strong { color: var(--ink); font-size: .86rem; line-height: 1.4; }.review-section-control > button { min-height: 36px; font-size: .75rem; }
.review-lens-values { display: grid; gap: 0; }.review-lens-value { display: grid; grid-template-columns: minmax(0,1fr) 24px; gap: 12px; align-items: start; padding: 10px 0; border-top: 1px solid var(--line); }.review-lens-value:first-child { padding-top: 0; border-top: 0; }.review-lens-value > b { display: grid; grid-column: 2; grid-row: 1; place-items: center; width: 24px; height: 24px; margin-top: 2px; border-radius: 7px; color: var(--ink); font-size: .68rem; }.review-lens-value > b.p-bg { background: #d8cfea; }.review-lens-value > b.b-bg { background: #e6b6aa; }.review-lens-value > b.c-bg { background: #addbd2; }.review-question-copy { display: grid; grid-column: 1; grid-row: 1; gap: 3px; }.review-question-copy > small { color: var(--muted); font-size: .68rem; line-height: 1.2; }.review-question-text { color: var(--ink); font-size: .78rem; line-height: 1.4; }.review-question-copy > strong { color: var(--mint-dark); font-size: .76rem; line-height: 1.3; }
.mini-map-complete small { max-width: 125px; margin: 4px auto; padding-inline: 8px; font-size: .75rem; line-height: 1.35; }
.pulse-boundary p { font-size: .9rem; }
.pulse-dimension-grid small, .pulse-source-register header { color: #4b5b53; font-size: .8rem; }
.pulse-score-ring small { font-size: .8rem; }
.pulse-source-register summary, .pulse-boundary b { font-size: .85rem; }
[data-catalogue-item] { border-top: 1px solid var(--line); }
[data-catalogue-item] summary { min-height: 44px; padding: 14px 8px; cursor: pointer; line-height: 1.6; }
[data-catalogue-item] dl { margin: 0 8px 24px; max-width: 80ch; }
[data-catalogue-item] dt { margin-top: 12px; font-weight: 700; }
[data-catalogue-item] dd { margin: 4px 0 0; line-height: 1.6; }
[data-catalogue-search] { width: 100%; min-height: 44px; margin-top: 8px; }
@media (max-width: 800px) {
  .admin-sidebar { visibility: hidden; }
  .admin-sidebar.is-open { visibility: visible; }
}
@media (max-width: 600px) {
  [data-answer-review] button { display: block; }
  [data-answer-review] > p { grid-template-columns: 1fr; gap: 4px; }
  .review-lens-values { grid-template-columns: 1fr; }
  .assessment-actions { flex-wrap: wrap; }
  .assessment-actions .autosave-state { flex-basis: 100%; order: 3; text-align: center; }
}

.catalogue-introduction p, [data-catalogue-item] dl { font-size: 1rem; }

/* The former white-on-teal primary label fell below 4.5:1 for normal text. */
.button:not(.button-secondary):not(.button-ghost):not(.button-light) { background: #08766d; border-color: #08766d; color: #fff; }
.button:not(.button-secondary):not(.button-ghost):not(.button-light):hover { background: #075f58; border-color: #075f58; }
.pulse-result-actions button, .pulse-result-actions a { min-height: 44px; padding: 10px; font-size: .85rem; }
.pulse-dimension-grid p { font-size: .9rem; }
.mobile-admin-toggle { min-width: 44px; min-height: 44px; padding: 8px; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; color: var(--ink); }
.report-source-details { margin-block: 16px; }
.report-source-details summary { min-height: 44px; padding: 12px 4px; cursor: pointer; font-weight: 650; }
.consulting-collection { max-width: 960px; padding-block: 36px 72px; }
.consulting-collection h1 { font-size: clamp(1.7rem, 4vw, 2.6rem); }
.consulting-collection dt { margin-top: 20px; font-weight: 700; }
.consulting-collection dd { margin: 8px 0 0; line-height: 1.65; }
.consulting-question { margin-block: 24px; min-width: 0; }
.consulting-question legend { max-width: 100%; font-size: 1.1rem; font-weight: 700; }
.consulting-question textarea { width: 100%; font: inherit; }
.consulting-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.consulting-options label { display: flex; gap: 12px; align-items: center; padding: 12px; min-height: 48px; border: 1px solid #cbd5e1; border-radius: 8px; cursor: pointer; }
.consulting-options input { flex: 0 0 auto; width: 20px; height: 20px; }
.consulting-options label:has(input:checked) { border-color: #08766d; background: #effaf7; }
.consulting-options label:focus-within { outline: 3px solid #08766d; outline-offset: 2px; }
.consulting-question details { margin-top: 16px; }
.consulting-question summary { padding-block: 12px; cursor: pointer; }
.consulting-actions { display: flex; flex-wrap: wrap; gap: 12px; }
@media (max-width: 650px) { .consulting-options { grid-template-columns: 1fr; } }
.consulting-collection .scope-warning p { font-size: .875rem; line-height: 1.5; }

/* Assessment clarity: one progress count and one answer group per question. */
.assessment-progress { grid-template-columns: minmax(140px, 240px) auto; }
.assessment-progress > span { display: none; }
.assessment-progress > b { white-space: nowrap; }
.rating-summary { margin: 20px 0 0; padding: 0 0 22px; border-bottom: 1px solid #cbd5e1; background: transparent; line-height: 1.6; }
.review-options { margin-top: 22px; }.review-options > .mini-label { margin-bottom: 8px; }.review-option { margin: 0; padding: 0; border: 0; border-top: 1px solid #cbd5e1; border-radius: 0; background: transparent; }.review-option:last-child { border-bottom: 1px solid #cbd5e1; }.review-option > summary { display: list-item; min-height: 50px; align-content: center; cursor: pointer; font-weight: 700; }.note-review .optional-note { display: block; padding: 4px 0 24px; }.optional-note-guidance { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 20px; color: var(--muted); font-weight: 400; line-height: 1.5; }.optional-note-guidance small { color: var(--muted); font-size: inherit; font-weight: 400; }
.report-full-cta { display: flex; align-items: center; gap: 32px; padding: 28px; margin-bottom: 30px; border: 1px solid var(--mint-dark); border-radius: 16px; background: #e5f6ef; }
.report-full-cta h2 { margin: 8px 0; font-size: 1.6rem; }
.report-full-cta p { margin: 12px 0; }
.report-full-cta small { display: block; color: var(--muted); line-height: 1.5; }
.report-full-cta .button { flex-shrink: 0; max-width: 320px; text-align: center; white-space: normal; }
.site-nav .report-nav-current { display: grid; min-width: 118px; padding: 6px 14px; border: 1px solid rgba(94,234,212,.42); border-radius: 10px; background: #12352f; color: white; line-height: 1.1; }
.site-nav .report-nav-current span { color: #8dd8ca; font-size: .5rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.site-nav .report-nav-current strong { margin-top: 3px; font-size: .78rem; }
.site-nav > a.report-nav-current:hover { border-color: var(--mint); color: white; }
.individual-result-page { background: #f4f6f2; }
.individual-result-page main { padding-top: 30px; }
.individual-report-hero { position: relative; align-items: center; margin-top: 0; padding: 44px 48px; overflow: hidden; border: 1px solid #accfc2; border-radius: 22px; background: linear-gradient(135deg, #fff 0%, #eef9f5 100%); box-shadow: 0 16px 45px rgba(18,55,43,.08); }
.individual-report-hero::before { position: absolute; top: 0; right: 0; left: 0; height: 6px; background: var(--mint-dark); content: ""; }
.individual-report-hero-copy { max-width: 850px; }
.individual-report-hero h1 { margin: 12px 0 18px; font-size: clamp(3.1rem, 5vw, 4.8rem); }
.individual-report-hero p { max-width: 800px; margin-bottom: 8px; line-height: 1.6; }
.report-focus-summary { display: grid; gap: 4px; max-width: 720px; margin: 0 0 20px; padding: 16px 18px; border-left: 4px solid var(--mint-dark); border-radius: 0 12px 12px 0; background: rgba(255,255,255,.82); }
.report-focus-summary span { color: var(--muted); font-size: .62rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.report-focus-summary strong { color: var(--ink); font-size: 1.25rem; line-height: 1.35; }
.report-focus-summary p { margin: 3px 0 0; color: var(--muted); font-size: .78rem; line-height: 1.55; }
.individual-report-hero .report-boundary { margin-top: 2px; color: #52665f; font-size: .76rem; }
.individual-result-page .individual-report-nav { top: 82px; margin-top: 22px; }
#assessment-request, #assessment-request-status { scroll-margin-top: 100px; }
.pulse-options { grid-template-columns: 1fr; gap: 8px; }
.pulse-options label, .pulse-options .pulse-option-missing { position: relative; grid-column: auto; }
.pulse-options input { opacity: 1; pointer-events: auto; left: 14px; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; margin: 0; accent-color: #317c62; }
.pulse-options label > span, .pulse-options .pulse-option-missing > span { min-height: 48px; flex-direction: row; align-items: center; justify-content: flex-start; gap: 12px; padding: 12px 16px 12px 44px; background: #fbfcfa; }
.pulse-score-ring strong { overflow-wrap: anywhere; }
.pulse-score-ring:has(strong:first-child:last-of-type) { text-align: center; }
.pulse-score-ring strong { font-size: clamp(1.3rem, 3vw, 2.8rem); }
.pulse-question legend { float: left; width: 100%; }
.pulse-question legend + * { clear: both; }
@media (max-width: 700px) {
  .assessment-header { gap: 12px; flex-wrap: wrap; }
  .assessment-header .save-exit { display: block; min-height: 44px; }
  .assessment-progress { width: 100%; grid-template-columns: 1fr auto; }
  .report-full-cta { flex-direction: column; align-items: stretch; padding: 20px; }
  .report-full-cta .button { max-width: none; }
  .individual-result-page main { padding-top: 14px; }
  .individual-report-hero { padding: 30px 24px; }
  .individual-report-hero h1 { font-size: 3rem; }
  .individual-result-page .individual-report-nav { top: 76px; }
  .triplet-heading { align-items: flex-start; gap: 12px; }
  .triplet-tag { display: none; }
}

/* Status stays at the top; answer navigation stays close to the form at the bottom. */
.assessment-header { display: grid; grid-template-columns: auto minmax(240px, 1fr) auto; gap: 28px; min-height: 76px; padding: 10px 28px; background: var(--brand-dark); }
.assessment-header > .assessment-progress { justify-self: center; width: min(100%, 400px); grid-template-columns: minmax(140px, 260px) auto; }
.assessment-header .save-exit { min-height: 44px; padding: 8px 10px; border-radius: 8px; color: #e2e8f0; font-weight: 700; white-space: nowrap; }
.assessment-header .save-exit:hover { background: rgba(255,255,255,.08); color: #fff; }
.assessment-header .save-exit:focus-visible { outline: 3px solid var(--mint); outline-offset: 2px; }
.assessment-shell { padding-bottom: 110px; }
.assessment-actions { min-height: 72px; gap: 22px; }
.assessment-actions .button { min-height: 44px; }

@media (max-width: 1050px) {
  .assessment-header { gap: 18px; padding-inline: 18px; }
  .assessment-header > .assessment-progress { grid-template-columns: minmax(100px, 1fr) auto; }
}

@media (max-width: 720px) {
  .assessment-header { grid-template-columns: 1fr auto; gap: 6px 12px; padding: 7px 12px 9px; }
  .assessment-header .brand { display: inline-flex; }
  .assessment-header .brand-logo { width: 24px; height: 24px; }
  .assessment-header .brand-copy small { display: block; font-size: .48rem; letter-spacing: .1em; }
  .assessment-header > .assessment-progress { grid-column: 1 / -1; grid-row: 2; width: 100%; grid-template-columns: minmax(90px, 1fr) auto; gap: 8px; }
  .assessment-header .save-exit { min-height: 28px; padding: 2px 4px; }
  .assessment-shell { padding-bottom: 100px; }
}

/* Contact stays available without leaving an in-progress assessment. */
.contact-launcher { position: fixed; right: 20px; bottom: 82px; z-index: 45; display: inline-flex; align-items: center; min-height: 44px; padding: 10px 18px; border: 1px solid #a8d2c9; border-radius: 999px; background: #fff; color: #075e55; font-size: .82rem; font-weight: 750; box-shadow: 0 5px 22px #10251c26; }
.contact-dialog { width: min(520px, calc(100% - 28px)); max-height: calc(100dvh - 32px); padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: var(--paper); color: var(--ink); overflow-y: auto; }
.contact-dialog::backdrop { background: #071c19b3; }
.contact-dialog-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.contact-dialog-head h2 { margin: 0; font-size: 1.5rem; }
.contact-dialog-head button { min-width: 44px; min-height: 44px; border: 0; border-radius: 50%; background: #e6eeeb; color: var(--ink); font-size: 1.5rem; cursor: pointer; }
.contact-form { display: grid; gap: 14px; }
.contact-form > p { margin: 0; font-size: .85rem; }
.contact-form label { display: grid; gap: 6px; font-size: .85rem; font-weight: 650; }
.contact-form input, .contact-form textarea { width: 100%; padding: 11px; border: 1px solid #9eafa9; border-radius: 7px; background: white; color: var(--ink); font: inherit; font-size: 16px; }
.contact-form textarea { resize: vertical; }
.contact-form .contact-privacy, .contact-form .contact-alternative { color: var(--muted); font-size: .75rem; }
.contact-form a { text-decoration: underline; }
.contact-form .contact-status:empty { display: none; }
.contact-form .contact-status { padding: 10px; border-radius: 7px; background: #e8f3ef; }
.contact-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.contact-page { max-width: 620px; padding-block: 50px 120px; }
.contact-page h1 { font-size: 2.2rem; }
@media (max-width: 600px) { .contact-launcher { right: 12px; bottom: calc(96px + env(safe-area-inset-bottom)); } .contact-dialog { padding: 18px; } }
@media print { .contact-launcher, .contact-dialog { display: none !important; } }

.hero-pulse-link { margin: 20px 0 0; color: #cbd5e1; font-size: .84rem; line-height: 1.6; }
.hero-pulse-link a { color: #8fdbcf; text-decoration: underline; text-underline-offset: 3px; }

.hero-positioning { margin: -8px 0 18px; color: #f1faf7; font-size: clamp(1.05rem, 1.5vw, 1.25rem); font-weight: 650; line-height: 1.5; }

/* Public methodology: readable explanations, examples and provenance. */
.learn-page { max-width: 1120px; padding-block: 64px 120px; }
.learn-hero { max-width: 780px; margin-bottom: 42px; }
.learn-hero h1 { margin: 18px 0 24px; font-size: clamp(2.5rem, 5vw, 4.8rem); }
.learn-hero > p { font-size: 1.15rem; line-height: 1.7; }
.learn-feature { display: grid; grid-template-columns: 1.4fr 1fr; gap: 40px; align-items: center; padding: 38px; border: 1px solid var(--line); border-radius: 20px; background: #eaf4ef; }
.learn-feature h2 { margin-block: 18px; font-size: clamp(1.8rem, 3vw, 2.7rem); }
.learn-feature h2 a { color: inherit; text-decoration: none; }
.learn-feature h2 a:hover { text-decoration: underline; text-underline-offset: 5px; }
.learn-feature-copy > p { line-height: 1.7; margin-bottom: 26px; }
.learn-lenses { display: grid; gap: 14px; }
.learn-lenses > div { display: flex; align-items: center; gap: 18px; padding: 18px; border-radius: 12px; background: white; }
.learn-lenses > div > span { display: grid; place-items: center; flex: 0 0 42px; height: 42px; border-radius: 50%; background: #e0f4ee; color: #075e55; font-size: 1.25rem; font-weight: 800; }
.learn-lenses p { margin: 0; line-height: 1.6; }
.learn-lenses strong { display: block; }
.learn-reading { margin-top: 64px; }
.learn-reading > h2 { max-width: 700px; margin-block: 18px 28px; font-size: clamp(1.8rem, 3vw, 2.7rem); }
.learn-reading-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.learn-reading-grid article { padding-top: 24px; border-top: 2px solid var(--teal); }
.learn-reading-grid h3 { margin-block: 16px; font-size: 1.3rem; line-height: 1.4; }
.learn-reading-grid p { line-height: 1.7; }
.learn-reading-grid a, .learn-back { text-decoration: underline; text-underline-offset: 4px; }
.learn-next { margin-top: 64px; padding-top: 32px; border-top: 1px solid var(--line); }
.learn-next p { line-height: 1.7; }
.learn-next .methodology-actions { margin-top: 24px; }
.learn-back { display: inline-block; margin-bottom: 30px; }
.methodology-page.knowledge-article { max-width: 980px; }
.knowledge-article .methodology-history section { padding: 12px 0; border: 0; border-radius: 0; }
.knowledge-article .methodology-history section + section { border-top: 1px solid var(--line); padding-top: 24px; }
@media (max-width: 760px) {
  .learn-page { padding-top: 40px; }
  .learn-feature, .learn-reading-grid { grid-template-columns: 1fr; }
  .learn-feature { padding: 24px; gap: 28px; }
}
.methodology-page { max-width: 1120px; padding-block: 64px 120px; }
.methodology-hero { max-width: 850px; }
.methodology-hero h1 { margin: 18px 0 24px; font-size: clamp(2.4rem, 4.5vw, 4.4rem); }
.methodology-lede { font-size: 1.18rem; line-height: 1.7; }
.methodology-nav { display: flex; flex-wrap: wrap; gap: 12px 24px; padding: 24px 0; border-block: 1px solid var(--line); margin-top: 30px; }
.methodology-nav a, .evidence-lenses-link { text-decoration: underline; text-underline-offset: 4px; }
.evidence-lenses-link { display: inline-block; }
.methodology-section { padding-top: 56px; scroll-margin-top: 90px; }
.methodology-section > h2 { max-width: 850px; font-size: clamp(1.8rem, 3vw, 2.7rem); }
.methodology-section p { line-height: 1.7; }
.methodology-lenses { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 28px 0; }
.methodology-lenses section { padding: 24px; border: 1px solid var(--line); border-radius: 16px; background: white; }
.methodology-letter { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 18px; border-radius: 12px; background: #e0f4ee; color: #075e55; font-size: 1.3rem; font-weight: 800; }
.methodology-lenses h3 { font-size: 1.35rem; }
.methodology-question { font-weight: 700; }
.methodology-lenses small { display: block; color: var(--muted); font-size: .82rem; line-height: 1.6; }
.methodology-example { margin: 26px 0; }
.methodology-example > div { display: grid; grid-template-columns: 180px 1fr; gap: 18px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.methodology-example dt { font-weight: 750; }
.methodology-example dd { margin: 0; line-height: 1.6; }
.methodology-insight { padding: 24px; border-left: 4px solid var(--teal); border-radius: 0 12px 12px 0; background: #eaf4ef; }
.methodology-insight p:last-child { margin-bottom: 0; }
.methodology-note { margin-top: 18px; color: var(--muted); font-size: .85rem; }
.methodology-steps { padding-left: 24px; }
.methodology-steps li { padding: 12px 0 12px 12px; }
.methodology-steps h3 { margin-bottom: 8px; }
.methodology-history { display: grid; gap: 16px; margin: 26px 0; }
.methodology-history section { padding: 22px 26px; border: 1px solid var(--line); border-radius: 12px; }
.methodology-history p { margin-bottom: 0; }
.methodology-limits { padding-left: 24px; max-width: 900px; }
.methodology-limits li { padding: 9px 0; line-height: 1.7; }
.methodology-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-top: 42px; }
@media (max-width: 760px) { .methodology-lenses { grid-template-columns: 1fr; } .methodology-page { padding-top: 40px; } .methodology-example > div { grid-template-columns: 1fr; gap: 6px; } }

/* Keep the organisational lens explanations together without extra headings. */
.organisation-lens-card { margin: 28px 0; padding: 8px 28px; border: 1px solid var(--line); border-radius: 16px; background: #eaf4ef; }
.organisation-lens-card > div { padding: 22px 0; }
.organisation-lens-card > div + div { border-top: 1px solid var(--line); }
.organisation-lens-card dt { display: flex; align-items: baseline; gap: 12px; font-size: 1rem; font-weight: 750; line-height: 1.5; }
.organisation-lens-card .organisation-lens-icon { display: grid; place-items: center; color: #075e55; flex: 0 0 32px; height: 32px; border-radius: 8px; background: #d7ece4; align-self: center; }
.organisation-lens-icon svg { width: 22px; height: 22px; }
.learn-reading-grid { row-gap: 42px; }
.learn-start-here { margin-top: 48px; padding: 24px 28px; background: #eaf4ef; border-radius: 14px; }
.learn-start-here h2, .learn-guide-related h2 { font-size: 1.2rem; }
.learn-start-here p { margin-bottom: 0; line-height: 1.7; }
.learn-guide { max-width: 880px; padding-block: 56px 110px; }
.learn-guide-hero h1 { font-size: clamp(2.3rem, 4.6vw, 3.6rem); margin: 20px 0; }
.learn-guide-hero > p { font-size: 1.2rem; line-height: 1.7; color: var(--muted); }
.learn-guide-body { margin-top: 32px; }
.learn-guide-body p, .learn-guide-body li, .learn-guide-body dd { line-height: 1.75; }
.learn-guide-body h2 { font-size: clamp(1.35rem, 2.4vw, 1.7rem); margin-top: 36px; }
.learn-guide a:not(.button), .learn-start-here a, .learn-guide-related a { text-decoration: underline; text-underline-offset: 4px; }
.learn-worked-example { margin: 28px 0; padding: 24px 28px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.learn-worked-example > p:last-child, .learn-exercise > p:last-child { margin-bottom: 0; }
.learn-lens-note { margin: 30px 0; padding: 24px 28px; background: #eaf4ef; border-radius: 14px; }
.learn-lens-note dl, .learn-definition-list { margin: 18px 0; }
.learn-lens-note dl > div, .learn-definition-list > div { display: grid; grid-template-columns: 145px minmax(0, 1fr); gap: 18px; padding: 12px 0; }
.learn-lens-note dt, .learn-definition-list dt { font-weight: 750; line-height: 1.6; }
.learn-lens-note dd, .learn-definition-list dd { margin: 0; }
.learn-lens-note > a { font-size: .9rem; }
.learn-exercise { margin-top: 36px; padding: 24px 28px; border-left: 4px solid var(--teal); background: #f0f4f4; }
.learn-exercise h2 { margin-top: 0; }
.learn-exercise li, .learn-process li { padding: 7px 0; }
.learn-exercise ul, .learn-exercise ol, .learn-process { padding-left: 22px; }
.learn-guide-related { border-top: 1px solid var(--line); margin-top: 40px; padding-top: 24px; }
.learn-guide-related li { padding-block: 7px; }
@media (max-width: 760px) {
  .learn-guide { padding-top: 36px; }
  .learn-worked-example, .learn-lens-note, .learn-exercise, .learn-start-here { padding: 20px; }
  .learn-lens-note dl > div, .learn-definition-list > div { grid-template-columns: 1fr; gap: 5px; }
}
.organisation-lens-card dd { margin: 10px 0 0 44px; line-height: 1.7; }
@media (max-width: 760px) { .organisation-lens-card { padding-inline: 20px; } .organisation-lens-card dd { margin-left: 0; } }

.learn-reading > h2 { scroll-margin-top: 100px; }

/* Prominent route from diagnostic learning to InnovationFlow methods. */
.learn-intro-grid { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 48px; align-items: start; margin-bottom: 42px; }
.learn-intro-grid .learn-hero { margin-bottom: 0; }
.learn-intro-grid .learn-hero h1 { font-size: clamp(2.5rem, 4.3vw, 4.1rem); }
.learn-tools-card { padding: 28px; border: 1px solid #285d54; border-radius: 18px; background: #102f2b; color: white; box-shadow: 0 14px 32px #102f2b18; }
.learn-tools-icon { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 22px; border-radius: 12px; background: #224e45; color: #86e7c5; }
.learn-tools-icon svg { width: 28px; height: 28px; }
.learn-tools-card .eyebrow { color: #86e7c5; }
.learn-tools-card h2 { color: white; font-size: 1.55rem; line-height: 1.3; margin: 14px 0; }
.learn-tools-card p { color: #d5e5df; line-height: 1.65; margin-bottom: 24px; }
.learn-tools-card .button { display: flex; justify-content: space-between; gap: 12px; background: #a5eed3; color: #102f2b; border-color: #a5eed3; white-space: normal; text-align: left; }
.learn-tools-card .button:hover { background: #c4f5e2; }
@media (max-width: 900px) {
  .learn-intro-grid { grid-template-columns: 1fr; gap: 28px; }
  .learn-tools-card { padding: 24px; }
  .learn-tools-icon { float: right; margin: 0 0 12px 18px; }
}

/* Snapshot result: a short readback and route to deeper evidence. */
.snapshot-report-frame { margin-bottom: 64px; scroll-margin-top: 84px; }
.snapshot-report-tabs { position: sticky; z-index: 12; top: 74px; display: flex; align-items: flex-end; gap: 5px; padding: 0; overflow-x: auto; overflow-y: hidden; background: transparent; scrollbar-width: thin; }
.snapshot-report-tabs button { flex: 0 0 auto; min-height: 43px; padding: 11px 19px 10px; border: 1px solid #bdcec8; border-bottom: 0; border-radius: 10px 10px 0 0; background: #d7e3df; color: #31594f; font: inherit; font-size: .72rem; font-weight: 800; cursor: pointer; }
.snapshot-report-tabs button:hover { background: #edf5f2; color: var(--ink); }
.snapshot-report-tabs button:focus-visible { position: relative; z-index: 1; outline: 3px solid var(--mint-dark); outline-offset: -3px; }
.snapshot-report-tabs button.is-active { border-color: #a9c9bf; background: #fff; color: var(--ink); }
.snapshot-report-sheet { min-height: min(680px, calc(100vh - 150px)); border: 1px solid #a9c9bf; border-top: 0; border-radius: 0 0 20px 20px; background: #fff; box-shadow: 14px 0 26px -18px rgba(18,55,43,.3), 0 16px 28px -18px rgba(18,55,43,.3); scroll-margin-top: 132px; }
.snapshot-report-sheet[hidden] { display: none; }
.snapshot-report-frame .individual-report-hero { width: 100%; margin: 0; padding: 50px 44px; border: 0; border-radius: 0 0 19px 19px; background: linear-gradient(135deg, #fff 0%, #eef9f5 100%); box-shadow: none; }
.snapshot-report-frame .individual-report-hero::before { display: none; }
.snapshot-report-frame .snapshot-brief-report { margin: 0; }
.snapshot-report-frame .snapshot-check-section { width: 100%; margin-inline: 0; padding-inline: 44px; }
.snapshot-report-frame .snapshot-answer-section, .snapshot-report-frame .snapshot-evidence-section { width: auto; margin-inline: 44px; }
.snapshot-report-frame .snapshot-depth-section { border-radius: 0 0 19px 19px; }
.snapshot-brief-report { margin-top: 0; }
.snapshot-answer-section, .snapshot-check-section, .snapshot-evidence-section { padding-block: 64px; }
.snapshot-brief-heading { max-width: 780px; }
.snapshot-brief-heading h2 { margin: 9px 0 12px; font-size: clamp(2rem, 3.5vw, 3rem); }
.snapshot-brief-heading p { color: var(--muted); line-height: 1.65; }
.snapshot-answer-list { overflow: hidden; margin-top: 28px; border: 1px solid #cbd8d2; border-radius: 16px; background: #fff; }
.snapshot-answer-row { display: grid; grid-template-columns: minmax(190px, .7fr) minmax(0, 1.7fr); gap: 24px; align-items: center; padding: 17px 20px; border-top: 1px solid var(--line); }
.snapshot-answer-row:first-child { border-top: 0; }
.snapshot-answer-row.is-main-signal { background: #f3faf7; }
.snapshot-answer-label { min-width: 0; }
.snapshot-answer-row h3 { margin: 0; font-size: .92rem; }
.snapshot-answer-values { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.snapshot-answer-values > div { min-width: 0; padding: 10px 12px; border-radius: 9px; background: #f5f7f5; }
.snapshot-answer-values span, .snapshot-answer-values strong { display: block; }
.snapshot-answer-values span { color: var(--muted); font-size: .6rem; }
.snapshot-answer-values span b { display: inline-grid; width: 20px; height: 20px; margin-right: 6px; place-items: center; border-radius: 6px; background: #dcd2f2; color: #463b66; }
.snapshot-answer-values .answer-b span b { background: #f2d2c9; color: #6f382c; }
.snapshot-answer-values .answer-c span b { background: #cce9e2; color: #205c50; }
.snapshot-answer-values strong { margin-top: 5px; overflow-wrap: anywhere; font-size: .76rem; }
.snapshot-answer-detail { margin-top: 8px; padding: 8px 10px; border-radius: 9px; background: #edf6f2; }
.snapshot-answer-detail span { color: var(--mint-dark); font-size: .6rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.snapshot-answer-detail p { margin: 5px 0 0; color: var(--ink-2); font-size: .76rem; }
.snapshot-answer-section { border-top: 1px solid var(--line); }
.snapshot-check-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; margin-top: 26px; }
.snapshot-check-grid article { padding: 24px; border: 1px solid #cbd8d2; border-radius: 14px; background: #fff; }
.snapshot-check-grid span { color: var(--mint-dark); font-size: .66rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.snapshot-check-grid p { margin: 10px 0 0; color: var(--ink-2); line-height: 1.65; }
.snapshot-supporting-signals { margin-top: 34px; padding-top: 28px; border-top: 1px solid var(--line); }
.snapshot-supporting-signals > div { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 14px; }
.snapshot-supporting-signals article { padding: 20px 22px; border-radius: 12px; background: #f3f7f5; }
.snapshot-supporting-signals article > span { color: var(--mint-dark); font-size: .64rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.snapshot-supporting-signals h3 { margin: 8px 0; font-size: 1rem; line-height: 1.35; }
.snapshot-supporting-signals p { margin: 0; color: var(--muted); font-size: .76rem; line-height: 1.55; }
.snapshot-focus-list { display: grid; gap: 7px; margin: 12px 0 0; padding: 0; color: var(--ink-2); list-style: none; }
.snapshot-focus-list li { position: relative; padding-left: 15px; line-height: 1.45; }
.snapshot-focus-list li::before { position: absolute; top: .64em; left: 0; width: 6px; height: 6px; border-radius: 50%; background: var(--mint-dark); content: ""; }
.snapshot-depth-section { padding-block: 70px; background: #102f2b; color: #fff; }
.snapshot-depth-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 60px; align-items: center; }
.snapshot-depth-inner > div { max-width: 850px; }
.snapshot-depth-inner .eyebrow { color: #86e7c5; }
.snapshot-depth-inner h2 { margin: 12px 0 16px; color: #fff; font-size: clamp(2rem, 3.5vw, 3.2rem); }
.snapshot-depth-inner p { max-width: 780px; color: #d5e5df; line-height: 1.65; }
.snapshot-depth-inner ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 24px 0; padding: 0; list-style: none; }
.snapshot-depth-inner li { padding: 12px 14px; border: 1px solid #315a51; border-radius: 10px; color: #e5f2ed; font-size: .76rem; line-height: 1.45; }
.snapshot-route-recommendation { display: grid; gap: 4px; padding-left: 15px; border-left: 3px solid #86e7c5; }
.snapshot-route-recommendation span { color: #9ec5b9; font-size: .6rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.snapshot-route-recommendation strong { font-size: 1rem; }
.snapshot-request-panel, .snapshot-request-receipt { margin-top: 40px; color: var(--ink); background: #fff; }
.snapshot-evidence-section { display: grid; gap: 12px; }
.snapshot-evidence-section > details { margin: 0; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.snapshot-evidence-section > details > summary { padding: 17px 20px; cursor: pointer; font-size: .78rem; font-weight: 800; }
.snapshot-method-disclosure > div { padding: 0 20px 20px; border-top: 1px solid var(--line); }
.snapshot-method-disclosure p { margin: 18px 0 10px; color: var(--muted); font-size: .76rem; line-height: 1.6; }
.snapshot-method-disclosure small { color: var(--muted); font-size: .62rem; }

/* Snapshot Result Lab: synthetic profiles rendered together for editorial review. */
.snapshot-lab-header { padding-block: 54px 32px; }
.snapshot-lab-header h1 { margin: 10px 0 12px; font-size: clamp(2.5rem, 5vw, 4.5rem); }
.snapshot-lab-header > p { max-width: 760px; color: var(--muted); line-height: 1.65; }
.snapshot-lab-controls { display: flex; flex-wrap: wrap; gap: 12px; align-items: end; margin-top: 28px; padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.snapshot-lab-controls label { display: grid; gap: 6px; min-width: 190px; }
.snapshot-lab-controls label span { color: var(--muted); font-size: .64rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.snapshot-lab-controls select { min-height: 42px; padding: 8px 34px 8px 11px; border: 1px solid #bfcfc9; border-radius: 8px; background: #fff; color: var(--ink); font: inherit; font-size: .78rem; }
.snapshot-lab-controls .button { min-height: 42px; }
.snapshot-lab-controls p { margin: 0 0 11px auto; color: var(--muted); font-size: .72rem; }
.snapshot-lab-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; padding-bottom: 80px; }
.snapshot-lab-card { display: grid; gap: 18px; padding: 24px; border: 1px solid #c5d5cf; border-radius: 16px; background: #fff; box-shadow: 8px 10px 24px -22px rgba(18,55,43,.55); }
.snapshot-lab-card[hidden] { display: none; }
.snapshot-lab-card > header { display: flex; gap: 14px; align-items: start; justify-content: space-between; }
.snapshot-lab-card > header > div { display: flex; gap: 12px; align-items: start; }
.snapshot-lab-card > header > div > span { color: var(--mint-dark); font-size: 1.35rem; font-weight: 800; }
.snapshot-lab-card header small { color: var(--muted); font-size: .58rem; letter-spacing: .06em; text-transform: uppercase; }
.snapshot-lab-card header h2 { margin: 3px 0 0; font-size: 1.15rem; }
.snapshot-lab-card header > b { padding: 5px 8px; border-radius: 999px; font-size: .58rem; white-space: nowrap; }
.snapshot-lab-card header > b.is-valid { background: #e2f3ec; color: #17604f; }
.snapshot-lab-card header > b.is-invalid { background: #fee9e2; color: #8a3928; }
.snapshot-lab-purpose { margin: -6px 0 0; color: var(--muted); font-size: .76rem; line-height: 1.55; }
.snapshot-lab-triplets { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
.snapshot-lab-triplets div { min-width: 0; padding: 9px; border-radius: 8px; background: #f3f6f4; }
.snapshot-lab-triplets span, .snapshot-lab-triplets b { display: block; overflow-wrap: anywhere; }
.snapshot-lab-triplets span { color: var(--muted); font-size: .56rem; }
.snapshot-lab-triplets b { margin-top: 5px; font-size: .66rem; }
.snapshot-lab-output { padding: 18px; border-left: 3px solid var(--mint-dark); background: #f4faf7; }
.snapshot-lab-output span, .snapshot-lab-supports > span { color: var(--mint-dark); font-size: .6rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.snapshot-lab-output h3 { margin: 8px 0; font-size: 1.05rem; line-height: 1.35; }
.snapshot-lab-output p { margin: 0; color: var(--muted); font-size: .74rem; line-height: 1.55; }
.snapshot-lab-card dl { display: grid; gap: 10px; margin: 0; }
.snapshot-lab-card dl div { display: grid; grid-template-columns: 120px 1fr; gap: 12px; padding-top: 10px; border-top: 1px solid var(--line); }
.snapshot-lab-card dt { color: var(--mint-dark); font-size: .62rem; font-weight: 800; text-transform: uppercase; }
.snapshot-lab-card dd { margin: 0; color: var(--ink-2); font-size: .72rem; line-height: 1.55; }
.snapshot-lab-supports { padding: 14px; border-radius: 10px; background: #f5f6f4; }
.snapshot-lab-supports p { margin: 8px 0 0; font-size: .7rem; line-height: 1.5; }
@media (max-width: 800px) {
  .snapshot-report-frame { width: min(100% - 20px, 1240px); }
  .snapshot-report-tabs { top: 66px; gap: 3px; padding: 0; }
  .snapshot-report-tabs button { min-height: 40px; padding: 9px 12px; font-size: .64rem; }
  .snapshot-report-sheet { min-height: calc(100vh - 126px); border-radius: 0 0 14px 14px; }
  .snapshot-report-frame .individual-report-hero { padding: 34px 24px; }
  .snapshot-report-frame .snapshot-check-section { margin-inline: 0; padding-inline: 22px; }
  .snapshot-report-frame .snapshot-answer-section, .snapshot-report-frame .snapshot-evidence-section { margin-inline: 22px; }
  .snapshot-answer-section, .snapshot-check-section, .snapshot-evidence-section { padding-block: 46px; }
  .snapshot-answer-row, .snapshot-depth-inner { grid-template-columns: 1fr; }
  .snapshot-answer-detail { grid-column: 1; }
  .snapshot-answer-values, .snapshot-depth-inner ul { grid-template-columns: 1fr; }
  .snapshot-check-grid { grid-template-columns: 1fr; }
  .snapshot-supporting-signals > div { grid-template-columns: 1fr; }
  .snapshot-depth-section { padding-block: 52px; }
  .snapshot-depth-inner { gap: 30px; }
  .snapshot-depth-inner .button { width: 100%; }
  .snapshot-lab-grid { grid-template-columns: 1fr; }
  .snapshot-lab-controls { align-items: stretch; }
  .snapshot-lab-controls label { width: 100%; }
  .snapshot-lab-controls p { margin-left: 0; }
  .snapshot-lab-triplets { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@page snapshot-landscape {
  size: A4 landscape;
  margin: 9mm 11mm 10mm;
}

@media print {
  .individual-result-page main { padding-top: 0; }
  .individual-report-hero { margin: 0; padding: 20px 0; border: 0; border-bottom: 1px solid #999; border-radius: 0; background: #fff; box-shadow: none; }
  .individual-report-hero::before, .individual-report-nav, .snapshot-report-tabs { display: none !important; }
  .snapshot-report-sheet[hidden] { display: block !important; }

  /* Snapshot print contract: the four online tabs become four landscape sheets. */
  .skip-link, .privacy-banner, .contact-launcher, .contact-dialog,
  .snapshot-report-frame .report-actions,
  .snapshot-report-frame .snapshot-evidence-section,
  .snapshot-report-frame .assessment-request-panel,
  .snapshot-report-frame .assessment-request-receipt,
  .snapshot-report-frame .snapshot-depth-inner > .button { display: none !important; }
  .snapshot-report-frame {
    page: snapshot-landscape;
    width: 100%;
    margin: 0;
    font-size: 13px;
    line-height: 1.55;
  }
  .snapshot-report-page,
  body:has(.snapshot-report-frame) {
    page: snapshot-landscape;
    font-size: 0;
    line-height: 0;
  }
  .snapshot-report-frame .snapshot-brief-report { margin: 0; }
  .snapshot-report-frame .snapshot-report-sheet,
  .snapshot-report-frame .snapshot-report-sheet[hidden] {
    display: flex !important;
    flex-direction: column;
    box-sizing: border-box;
    width: 100%;
    min-height: 188mm;
    margin: 0;
    padding: 7mm 9mm 5mm;
    overflow: visible;
    border: .3mm solid #a9c9bf;
    border-radius: 0;
    background: #fff;
    color: #10182d;
    box-shadow: none;
    break-after: page;
    page-break-after: always;
  }
  .snapshot-report-frame .snapshot-report-sheet:last-child {
    break-after: auto;
    page-break-after: auto;
  }
  .snapshot-report-frame .snapshot-report-sheet::before {
    display: block;
    margin-bottom: 6mm;
    padding-bottom: 2.5mm;
    border-bottom: .2mm solid #cbd8d2;
    color: #087f73;
    content: "INNOVATIONFLOW DIAGNOSTIC  |  SNAPSHOT REPORT";
    font-size: 7pt;
    font-weight: 850;
    letter-spacing: .13em;
  }
  .snapshot-report-frame .snapshot-report-sheet::after {
    display: block;
    margin-top: auto;
    padding-top: 3mm;
    border-top: .2mm solid #d7e0dc;
    color: #53665f;
    content: attr(data-print-sheet-title) "  |  " attr(data-print-sheet-number);
    font-size: 7pt;
    font-weight: 750;
    letter-spacing: .05em;
    text-transform: uppercase;
  }
  .snapshot-report-frame .individual-report-hero {
    display: block;
    width: 100%;
    margin: 0;
    padding: 7mm 0 0;
    overflow: visible;
    border: 0;
    background: transparent;
  }
  .snapshot-report-frame .individual-report-hero-copy { max-width: 205mm; }
  .snapshot-report-frame .individual-report-hero h1 {
    margin: 2.5mm 0 4mm;
    font-size: 31pt;
  }
  .snapshot-report-frame .individual-report-hero p {
    max-width: 190mm;
    margin: 2mm 0 0;
    font-size: 9.5pt;
    line-height: 1.5;
  }
  .snapshot-report-frame .report-focus-summary {
    max-width: 190mm;
    margin-bottom: 6mm;
    padding: 4mm 5mm;
    border-left-width: 1mm;
    background: #f3f8f6;
  }
  .snapshot-report-frame .report-focus-summary strong { font-size: 14pt; }
  .snapshot-report-frame .report-focus-summary p { font-size: 9pt; }
  .snapshot-report-frame .snapshot-check-section {
    width: 100%;
    padding: 7mm 9mm 5mm;
  }
  .snapshot-report-frame .snapshot-brief-heading { max-width: 220mm; }
  .snapshot-report-frame .snapshot-brief-heading h2 {
    margin: 2mm 0 2.5mm;
    font-size: 24pt;
  }
  .snapshot-report-frame .snapshot-brief-heading p {
    margin: 0;
    font-size: 9.5pt;
    line-height: 1.5;
  }
  .snapshot-report-frame .snapshot-check-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 3mm;
    margin-top: 5mm;
  }
  .snapshot-report-frame .snapshot-check-grid article {
    padding: 4mm;
    break-inside: avoid;
  }
  .snapshot-report-frame .snapshot-check-grid p {
    margin-top: 2mm;
    font-size: 8.5pt;
    line-height: 1.45;
  }
  .snapshot-report-frame .snapshot-supporting-signals {
    margin-top: 5mm;
    padding-top: 4mm;
  }
  .snapshot-report-frame .snapshot-supporting-signals > div {
    gap: 3mm;
    margin-top: 3mm;
  }
  .snapshot-report-frame .snapshot-supporting-signals article { padding: 3.5mm 4mm; }
  .snapshot-report-frame .snapshot-supporting-signals h3 {
    margin: 1.5mm 0;
    font-size: 10pt;
  }
  .snapshot-report-frame .snapshot-supporting-signals p {
    font-size: 8pt;
    line-height: 1.4;
  }
  .snapshot-report-frame .snapshot-answer-section {
    width: 100%;
    margin: 0;
    padding: 1mm 0 0;
    border: 0;
  }
  .snapshot-report-frame .snapshot-answer-section .snapshot-brief-heading h2 {
    font-size: 22pt;
  }
  .snapshot-report-frame .snapshot-answer-list {
    margin-top: 4mm;
    border-radius: 2.5mm;
  }
  .snapshot-report-frame .snapshot-answer-row {
    grid-template-columns: 42mm minmax(0, 1fr);
    gap: 4mm;
    padding: 2.5mm 3mm;
    break-inside: avoid;
  }
  .snapshot-report-frame .snapshot-answer-row h3 { font-size: 9pt; }
  .snapshot-report-frame .snapshot-answer-label { align-self: center; }
  .snapshot-report-frame .snapshot-answer-values {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2mm;
  }
  .snapshot-report-frame .snapshot-answer-values > div {
    padding: 2mm 2.5mm;
    border-radius: 1.5mm;
  }
  .snapshot-report-frame .snapshot-answer-values span { font-size: 6.5pt; }
  .snapshot-report-frame .snapshot-answer-values span b {
    width: 5mm;
    height: 5mm;
    margin-right: 1.5mm;
  }
  .snapshot-report-frame .snapshot-answer-values strong {
    margin-top: 1mm;
    font-size: 8pt;
  }
  .snapshot-report-frame .snapshot-answer-detail {
    margin-top: 1.5mm;
    padding: 1.5mm 2mm;
  }
  .snapshot-report-frame .snapshot-answer-detail span { font-size: 5.5pt; }
  .snapshot-report-frame .snapshot-answer-detail p {
    margin-top: 1mm;
    font-size: 7.5pt;
  }
  .snapshot-report-frame .snapshot-depth-section {
    padding: 7mm 9mm 5mm;
    background: #fff;
    color: #10182d;
  }
  .snapshot-report-frame .snapshot-depth-inner {
    display: block;
    width: 100%;
    margin: 4mm 0 0;
  }
  .snapshot-report-frame .snapshot-depth-inner > div { max-width: 230mm; }
  .snapshot-report-frame .snapshot-depth-inner .eyebrow { color: #087f73; }
  .snapshot-report-frame .snapshot-depth-inner h2 {
    margin: 3mm 0;
    color: #10182d;
    font-size: 26pt;
  }
  .snapshot-report-frame .snapshot-depth-inner p {
    color: #3f554e;
    font-size: 10pt;
    line-height: 1.55;
  }
  .snapshot-report-frame .snapshot-depth-inner ul {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 3mm;
    margin: 6mm 0;
  }
  .snapshot-report-frame .snapshot-depth-inner li {
    padding: 4mm;
    border-color: #bfd2cb;
    color: #263d36;
    font-size: 8.5pt;
  }
  .snapshot-report-frame .snapshot-route-recommendation {
    margin-top: 6mm;
    padding: 4mm 5mm;
    border: .3mm solid #bdd3cb;
    border-left: 1mm solid #087f73;
    background: #f3f8f6;
  }
  .snapshot-report-frame .snapshot-route-recommendation span { color: #526960; }
  .snapshot-report-frame .snapshot-route-recommendation strong {
    color: #10182d;
    font-size: 11pt;
  }
}

/* Decision-first summaries and the operator narrative review. */
.snapshot-summary-insight { display: grid; gap: 18px; margin: 24px 0; }
.snapshot-summary-insight > div { padding-left: 18px; border-left: 3px solid #a5cfc4; }
.snapshot-summary-insight span { color: #087f73; font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.snapshot-summary-insight p { margin: 7px 0 0; }
.comprehensive-reading-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 24px 0; }
.comprehensive-reading-actions p { flex-basis: 100%; color: #465f56; font-size: .9rem; }
.comprehensive-method-details { margin-top: 20px; border: 1px solid #bcd3ca; border-radius: 12px; background: rgba(255,255,255,.7); }
.comprehensive-method-details > summary { padding: 16px 20px; cursor: pointer; font-weight: 700; color: #173e33; }
.comprehensive-method-details .comprehensive-boundary { margin: 0; border-top: 1px solid #bcd3ca; }
.narrative-generation-panel, .narrative-review-story { padding: 28px; margin-bottom: 24px; }
.narrative-generation-panel h2, .narrative-review-story h2 { margin: 12px 0; }
.narrative-generation-panel p, .narrative-review-story p { line-height: 1.65; }
.narrative-generation-panel details { margin-top: 20px; }
.narrative-generation-panel code { overflow-wrap: anywhere; }
.narrative-generation-panel form > small { display: block; margin-top: 12px; color: #465f56; }
.narrative-confirm { display: flex; gap: 12px; align-items: flex-start; margin: 20px 0; line-height: 1.5; }
.narrative-confirm input { margin-top: 5px; flex: 0 0 auto; }
.narrative-review-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 20px; margin: 24px 0; }
.narrative-review-grid article { padding: 24px; background: #f3f8f6; border: 1px solid #c9dcd3; border-radius: 14px; }
.narrative-review-grid h3 { margin: 0 0 14px; }
.narrative-review-grid h4 { margin: 20px 0 6px; font-size: .82rem; color: #087366; }
.programme-effort-preview { position: sticky; top: 16px; z-index: 2; padding: 20px 24px; margin-bottom: 24px; border: 1px solid #afd1c3; border-left: 4px solid #087f73; border-radius: 12px; background: #f0f8f4; }
.programme-effort-preview strong { display: block; margin: 8px 0; color: #123e31; }
.programme-effort-preview p { margin: 0; line-height: 1.6; }
@media (max-width: 640px) {
  .programme-effort-preview { position: static; padding: 18px; }
  .narrative-generation-panel, .narrative-review-story { padding: 20px; }
  .comprehensive-reading-actions .button { width: 100%; text-align: center; }
}
@media print {
  .comprehensive-reading-actions, .programme-effort-preview { display: none; }
  .snapshot-summary-insight { gap: 2mm; margin: 4mm 0; }
  .snapshot-summary-insight span { font-size: 7pt; }
  .snapshot-summary-insight > div { padding-left: 3mm; }
}

.narrative-editor { margin: 24px 0; border-top: 1px solid #dce4df; padding-top: 18px; }
.narrative-editor summary { cursor: pointer; font-weight: 700; }
.narrative-editor label { display: grid; gap: 6px; margin: 12px 0; font-weight: 600; }
.narrative-editor textarea, .narrative-editor input:not([type="hidden"]) {
  width: 100%; max-width: 100%; box-sizing: border-box; padding: 10px 12px;
  border: 1px solid #c8d5ce; border-radius: 8px; font: inherit; font-weight: 400;
}
.narrative-editor fieldset { min-width: 0; margin: 18px 0; border: 1px solid #dce4df; border-radius: 12px; padding: 12px 16px; }
.narrative-editor legend { font-weight: 700; padding: 0 6px; }

/* One reading hierarchy shared by the executive narrative and complete evidence. */
.report-reading-path { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:24px; color:#426057; font-size:.8rem; }
.report-reading-path b { color:#087f73; margin-right:6px; font-variant-numeric:tabular-nums; }
.report-insight-stories { display:grid; gap:24px; margin:32px 0; }
.report-insight-story { border:1px solid #cbdad3; border-radius:18px; padding:32px; background:white; }
.report-insight-story, #key-insights { scroll-margin-top:160px; }
.report-insight-story h3 { font-size:clamp(1.35rem,3vw,2rem); line-height:1.2; margin:10px 0 24px; letter-spacing:-.025em; }
.report-insight-story h4 { margin:22px 0 8px; font-size:1rem; }
.report-insight-story p { max-width:76ch; line-height:1.7; }
.insight-meaning { background:#eef7f3; border-left:4px solid #087f73; padding:20px 24px; border-radius:0 12px 12px 0; }
.insight-meaning p { margin:8px 0 0; }
.insight-visual { margin:28px 0; padding:24px; border-radius:14px; background:#f5f8f7; }
.insight-visual figcaption { display:grid; gap:6px; font-size:.86rem; }
.insight-visual figcaption span { color:#475569; }
.insight-visual > p { margin:18px 0 0; font-size:.78rem; color:#475569; }
.insight-perspective-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)); gap:32px; }
.insight-triplet-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
@media(max-width:640px) { .insight-visual { padding:18px; } .insight-triplet-grid { grid-template-columns:1fr; gap:0; } }
.insight-check { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.report-insight-story > details { margin-top:24px; border-top:1px solid #dce7e1; padding-top:18px; }
.report-insight-story summary, .perspective-details summary { cursor:pointer; font-weight:700; }
.insight-evidence-list { display:grid; gap:20px; margin-top:20px; }
.insight-evidence-list article { padding:18px 20px; background:#f6f8f7; border-radius:10px; }
.insight-evidence-list ul { display:flex; flex-wrap:wrap; gap:10px 24px; padding-left:18px; font-size:.8rem; }
.perspective-details { margin:16px 0; padding:20px; border:1px solid #cbdad3; border-radius:14px; background:white; }
.perspective-profiles { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr)); gap:20px; margin-top:20px; }
.perspective-profiles article { padding:20px; background:#f6f8f7; border-radius:12px; }
.perspective-profiles h4 { margin:4px 0 20px; font-size:1.1rem; }
.perspective-lens { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:7px; margin:16px 0; }
.perspective-lens span, .perspective-lens small { grid-column:1/-1; font-size:.76rem; }
.perspective-lens i { display:block; height:10px; background:#dce3ea; border-radius:8px; overflow:hidden; align-self:center; }
.perspective-lens i b { display:block; height:100%; background:#8770cf; }
.perspective-lens.lens-behaviour i b { background:#eb7c61; }
.perspective-lens.lens-capability i b { background:#17352c; }
.perspective-lens strong { font-variant-numeric:tabular-nums; font-size:.9rem; }
.perspective-profiles details { font-size:.75rem; line-height:1.6; overflow-wrap:anywhere; }
.association-table-wrap { overflow-x:auto; margin-top:18px; }
.association-table { width:100%; border-collapse:collapse; font-size:.8rem; text-align:left; }
.association-table td, .association-table th { padding:12px; border-bottom:1px solid #dce7e1; }
.association-unestimated { font-size:.75rem; line-height:1.7; overflow-wrap:anywhere; }
@media(max-width:640px) { .report-insight-story { padding:20px; } .insight-check { grid-template-columns:1fr; gap:0; } .insight-meaning { padding:16px; } .perspective-details { padding:16px; } }
@media(max-width:640px) {
  .comprehensive-report-page .contact-launcher,
  .comprehensive-report-page .feedback-launcher {
    position:static; margin:0 0 24px 14px;
  }
}
.mobile-report-navigation { display:none; }
.report-preparation-page .admin-card { margin-bottom:24px; }
.report-preparation-page .admin-card h2 { margin:0 0 16px; font-size:1.45rem; line-height:1.3; }
.report-cutoff-confirmation { display:flex; align-items:flex-start; gap:12px; margin:24px 0 18px; padding:18px; background:#f3f8f6; border:1px solid #c9dcd3; border-radius:12px; cursor:pointer; }
.report-cutoff-confirmation input { flex:0 0 auto; width:20px; height:20px; margin:2px 0 0; accent-color:#087f73; }
.report-cutoff-confirmation span { line-height:1.6; }
.report-cutoff-confirmation:focus-within { outline:2px solid #087f73; outline-offset:3px; }
@media(max-width:640px) {
  .mobile-report-navigation { display:block; margin:24px auto; padding:18px; border:1px solid #cbdad3; border-radius:12px; background:white; }
  .mobile-report-navigation summary { cursor:pointer; font-weight:700; }
  .mobile-report-navigation nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; padding-top:18px; }
  .mobile-report-navigation a { padding:10px 0; font-size:.85rem; }
}
