:root {
  --ink: #171713;
  --muted: #60605a;
  --paper: #f7f7f2;
  --white: #ffffff;
  --coral: #ff5a3d;
  --coral-dark: #c93c23;
  --mint: #dfe6ff;
  --mint-dark: #315be8;
  --blue: #315be8;
  --line: #d8d8d0;
  --focus: #315be8;
  --radius: 0;
  --shell: min(1180px, calc(100vw - 40px));
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--paper); scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 17px; line-height: 1.6; }
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-underline-offset: .2em; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; }
.shell { width: var(--shell); margin-inline: auto; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 1000; padding: 10px 14px; background: var(--ink); color: white; transform: translateY(-160%); }
.skip-link:focus { transform: none; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.site-header { position: sticky; top: 0; z-index: 50; background: rgba(247, 247, 242, .96); backdrop-filter: blur(14px); }
.nav-shell { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--ink); text-decoration: none; font-weight: 900; letter-spacing: -.04em; }
.brand img { width: 42px; height: 42px; border-radius: 0; object-fit: contain; }
.desktop-nav { display: flex; align-items: center; gap: clamp(13px, 1.45vw, 28px); font-size: .92rem; font-weight: 750; }
.desktop-nav a { text-decoration: none; }
.desktop-nav a:hover { text-decoration: underline; }
.desktop-menu { position: relative; display: flex; align-items: center; gap: 5px; }
.desktop-menu-link { padding-block: 10px; }
.nav-dropdown-toggle {
  width: 22px;
  height: 30px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
}
.nav-dropdown-toggle:hover,
.nav-dropdown-toggle[aria-expanded="true"] { border: 0; background: transparent; color: var(--ink); }
.nav-dropdown-toggle:focus-visible { outline: 2px solid var(--ink); outline-offset: 3px; background: transparent; color: var(--ink); }
.nav-triangle {
  width: 0;
  height: 0;
  display: block;
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 6px solid currentColor;
}
.desktop-dropdown {
  position: absolute;
  top: calc(100% + 12px);
  left: -10px;
  z-index: 80;
  width: 360px;
  padding: 9px;
  border: 1.5px solid var(--ink);
  border-radius: 0;
  background: var(--white);
  box-shadow: none;
}
.desktop-dropdown[hidden] { display: none; }
.desktop-dropdown-item { display: grid; grid-template-columns: 1em minmax(0, 1fr); align-items: start; gap: 11px; padding: 11px 12px; border-radius: 0; }
.desktop-dropdown-item:hover,
.desktop-dropdown-item:focus-within { background: #eeeee8; }
.desktop-dropdown-item .tool-mark { width: 1em; height: 1em; display: inline-grid; margin-top: .22em; color: var(--ink); }
.desktop-dropdown-item > div { min-width: 0; display: grid; gap: 1px; }
.desktop-dropdown-item a { width: fit-content; color: var(--ink); font-size: .92rem; font-weight: 850; line-height: 1.35; }
.desktop-dropdown-item span:last-child { color: var(--muted); font-size: .75rem; font-weight: 550; line-height: 1.45; }
.desktop-dropdown-all { display: block; margin-top: 4px; padding: 10px 12px; border-radius: 0; background: var(--ink); color: var(--white); text-align: center; font-size: .82rem; font-weight: 850; }
.desktop-dropdown-all:hover,
.desktop-dropdown-all:focus-visible { background: var(--coral); color: var(--ink); text-decoration: none; }
.desktop-nav .nav-action { padding: 11px 18px; border-radius: 0; background: var(--ink); color: var(--white); }
.desktop-nav .nav-action:hover { background: var(--coral); color: var(--ink); text-decoration: none; }
.desktop-nav .nav-create { padding: 10px 13px; border: 1.5px solid var(--ink); border-radius: 0; background: var(--coral); color: var(--ink); }
.desktop-nav .nav-create:hover { background: var(--white); color: var(--ink); text-decoration: none; }
.menu-button { display: none; align-items: center; gap: 10px; min-height: 44px; padding: 8px 12px 8px 14px; border: 1.5px solid var(--ink); border-radius: 0; background: var(--ink); color: var(--white); font-weight: 850; cursor: pointer; }
.menu-button:hover, .menu-button:focus-visible { background: var(--ink); color: var(--white); }
.menu-icon { position: relative; width: 24px; height: 16px; display: inline-block; }
.menu-icon i { position: absolute; left: 0; width: 24px; height: 2px; background: currentColor; transition: transform .2s ease, top .2s ease; }
.menu-icon i:first-child { top: 4px; }
.menu-icon i:last-child { top: 11px; }
.menu-button[aria-expanded="true"] .menu-icon i:first-child { top: 7px; transform: rotate(45deg); }
.menu-button[aria-expanded="true"] .menu-icon i:last-child { top: 7px; transform: rotate(-45deg); }
.mobile-menu { position: fixed; z-index: 60; inset: 72px 0 0; width: 100%; background: var(--paper); color: var(--ink); overflow-y: auto; }
.mobile-nav { display: grid; align-content: start; padding-block: 26px 40px; }
.mobile-nav > a:not(.mobile-cta) { min-height: 66px; display: flex; align-items: center; justify-content: flex-start; gap: .65em; color: inherit; text-decoration: none; font-size: clamp(1.2rem, 5vw, 1.55rem); font-weight: 800; }
.mobile-nav .mobile-create-link { margin-block: 6px; padding-inline: 14px; border: 1.5px solid var(--ink); background: var(--coral); }
.mobile-nav .tool-mark { width: 1em; height: 1em; display: inline-grid; flex: 0 0 1em; }
.mobile-nav .tool-mark svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.7; }
.nav-icon { width: 1em; height: 1em; display: inline-grid; flex: 0 0 1em; }
.nav-icon svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.icon-fill { fill: currentColor; stroke: none; }
.mobile-nav .mobile-cta { margin-top: 24px; padding: 16px 20px; border-radius: 0; background: var(--ink); color: var(--white); text-align: center; text-decoration: none; font-weight: 900; }

.breadcrumb-bar {
  background: rgba(247, 247, 242, .96);
  border: 0;
  box-shadow: none;
  backdrop-filter: blur(14px);
}
.breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .45rem;
  margin: 0;
  padding: 11px 0;
  color: var(--muted);
  font-size: .84rem;
  line-height: 1.4;
}
.breadcrumb a { color: var(--ink); font-weight: 750; text-decoration: none; }
.breadcrumb a:hover { text-decoration: underline; }
.breadcrumb [aria-current="page"] { color: var(--muted); }
.breadcrumb-separator { color: #8b8b84; }
#main-content > .breadcrumb-bar + .page-hero,
#main-content > .breadcrumb-bar + .tool-hero { padding-top: clamp(28px, 4vw, 48px); }
#main-content > .breadcrumb-bar + .article-shell { padding-top: clamp(30px, 4vw, 48px); }

h1, h2, h3 { margin: 0; line-height: 1.04; letter-spacing: -.045em; text-wrap: wrap; }
h1 { font-size: 48px; overflow-wrap: normal; word-break: normal; hyphens: none; }
h2 { font-size: 28px; }
h3 { font-size: clamp(1.25rem, 2vw, 1.65rem); }
p { margin: 0; }
.home-hero { padding: 58px 0 24px; }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(260px, .45fr); align-items: center; gap: clamp(32px, 5vw, 72px); }
.hero-copy { width: 100%; min-width: 0; }
.hero-copy h1 { width: 100%; max-width: none; }
.hero-lede { max-width: none; margin-top: 26px; color: var(--muted); font-size: clamp(1.12rem, 1.8vw, 1.42rem); line-height: 1.52; }
.hero-actions { margin-top: 34px; display: flex; flex-wrap: wrap; align-items: center; gap: 22px; }
.button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; padding: 12px 20px; border: 1.5px solid transparent; border-radius: 0; text-decoration: none; font-weight: 850; cursor: pointer; transition: background-color .15s ease, color .15s ease, border-color .15s ease; }
.button-dark { background: var(--ink); color: var(--white); }
.button-dark:hover { background: var(--coral); color: var(--ink); }
.button-light { background: var(--paper); color: var(--ink); }
.button-light:hover { background: var(--mint); }
.button-outline { background: transparent; color: var(--ink); border-color: var(--ink); }
.button-outline:hover { background: var(--ink); color: var(--white); }
.text-link { font-weight: 800; }
.hero-visual { width: 100%; min-width: 0; min-height: 280px; display: grid; place-items: center end; justify-self: end; }
.hero-visual > img { width: min(100%, 380px); aspect-ratio: 1.42; object-fit: cover; object-position: right center; border: 1px solid var(--line); border-radius: 0; }

.home-starter { padding-block: 64px; background: var(--ink); color: var(--white); scroll-margin-top: 86px; }
.home-starter-grid { display: grid; grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr); align-items: start; gap: clamp(38px, 7vw, 92px); }
.home-starter-copy { position: sticky; top: 104px; }
.home-starter-copy p { margin-top: 20px; color: #d2d0c7; }
.home-starter-copy ul { margin: 24px 0 0; padding-left: 1.2em; color: #d2d0c7; }
.home-starter-copy li + li { margin-top: 8px; }
.home-starter-form { display: grid; gap: 18px; padding: clamp(24px, 4vw, 38px); background: var(--white); color: var(--ink); }
.home-starter-form label, .home-pass-checks legend { font-weight: 850; }
.home-starter-form input:not([type="checkbox"]), .home-starter-form select { width: 100%; min-height: 50px; margin-top: 7px; padding: 10px 12px; border: 1.5px solid var(--ink); border-radius: 0; background: var(--white); color: var(--ink); }
.home-option-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.home-pass-checks { display: flex; flex-wrap: wrap; gap: 10px 24px; margin: 0; padding: 0; border: 0; }
.home-pass-checks legend { width: 100%; margin-bottom: 2px; }
.home-pass-checks label { display: inline-flex; align-items: center; gap: 8px; font-weight: 650; }
.home-pass-checks input { width: 20px; height: 20px; margin: 0; accent-color: var(--blue); }
.home-starter-form > .button { justify-self: start; }
.home-starter-privacy { color: var(--muted); font-size: .84rem; }
.home-starter-result { padding: 24px; background: var(--mint); color: var(--ink); }
.home-starter-result > p { margin-top: 12px; }
.home-starter-result dl { display: grid; gap: 12px; margin: 22px 0 0; }
.home-starter-result dl > div { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 16px; }
.home-starter-result dt { font-weight: 900; }
.home-starter-result dd { margin: 0; }
.home-starter-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.home-copy-status { min-height: 1.5em; color: var(--muted); font-size: .86rem; }

.section { padding-block: 92px; }
.section-heading { margin-bottom: 40px; }
.split-heading { display: grid; grid-template-columns: 1fr; align-items: start; gap: 18px; }
.split-heading p { color: var(--muted); font-size: 1.06rem; }
.tool-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 18px; }
.tool-card { grid-column: span 2; min-height: 310px; display: flex; flex-direction: column; padding: 28px; border: 1.5px solid var(--ink); border-radius: 0; background: var(--white); }
.tool-card:nth-child(4), .tool-card:nth-child(5) { grid-column: span 3; }
.tool-title { display: flex; align-items: center; gap: .55em; font-size: clamp(1.25rem, 2vw, 1.65rem); }
.tool-title h2, .tool-title h3 { font-size: 1em; }
.tool-title .tool-mark { width: 1em; height: 1em; display: inline-grid; flex: 0 0 1em; color: var(--ink); }
.tool-mark svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.tool-card p { margin-top: 14px; color: var(--muted); }
.tool-card a { align-self: flex-start; margin-top: auto; padding-top: 24px; font-weight: 850; }
.tool-card:hover { border-color: currentColor; }
.tool-card.accent-coral { background: #fff0eb; }
.tool-card.accent-mint { background: #edf0ff; }
.tool-card.accent-blue { background: #e3e9ff; }
.tool-card.accent-ink { background: var(--ink); color: var(--white); }
.tool-card.accent-ink p { color: #c7c4bb; }
.home-tool-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.home-tool-grid .tool-card, .home-tool-grid .tool-card:nth-child(4), .home-tool-grid .tool-card:nth-child(5) { grid-column: auto; min-height: 270px; }

.advanced-workspace { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(340px, .7fr); align-items: start; gap: 20px; padding-bottom: 76px; }
.advanced-input, .advanced-result, .pairwise-setup, .pairwise-round, .pairwise-result, .picker-board, .picker-result { padding: clamp(24px, 4vw, 38px); border: 1.5px solid var(--ink); border-radius: 0; background: var(--white); }
.advanced-input > p, .advanced-heading p, .pairwise-setup > p, .picker-heading p { margin-top: 12px; color: var(--muted); }
.advanced-input > label, .advanced-input fieldset > label, .pairwise-setup > label, .picker-board > label { display: block; margin-top: 18px; font-weight: 800; }
.advanced-input input, .advanced-input select, .pairwise-setup textarea, .pairwise-setup select, .picker-board select, .picker-row input { width: 100%; min-height: 48px; margin-top: 6px; padding: 9px 11px; border: 1.5px solid var(--ink); border-radius: 0; background: var(--white); color: var(--ink); }
.advanced-input .button, .pairwise-setup .button { margin-top: 24px; }
.advanced-result { position: sticky; top: 92px; min-height: 330px; background: var(--ink); color: var(--white); }
.advanced-result > p { margin-top: 16px; color: #cfcdc4; }
.advanced-name-grid, .advanced-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 18px; }
.advanced-name-grid label, .advanced-field-grid label { font-weight: 800; }
.advanced-input fieldset { margin: 20px 0 0; padding: 20px; border: 1.5px solid var(--line); border-radius: 0; }
.advanced-input legend { padding-inline: 7px; font-weight: 900; }
.advanced-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.advanced-score-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 22px; }
.advanced-score-grid > div { padding: 16px; background: var(--white); color: var(--ink); }
.advanced-score-grid span { display: block; color: var(--muted); font-size: .8rem; }
.advanced-score-grid strong { display: block; margin-top: 5px; font-size: 1.65rem; line-height: 1.1; }
.advanced-table-wrap, .regret-table-wrap, .consensus-table-wrap { margin-top: 22px; overflow-x: auto; }
.advanced-table-wrap table, .regret-editor, .consensus-editor { width: 100%; min-width: 660px; border-collapse: collapse; }
.advanced-table-wrap th, .advanced-table-wrap td, .regret-editor th, .regret-editor td, .consensus-editor th, .consensus-editor td { padding: 11px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }
.advanced-result .advanced-table-wrap { padding: 8px 14px; background: var(--white); color: var(--ink); }
.advanced-result-list { display: grid; gap: 10px; margin: 22px 0 0; }
.advanced-result-list > div { padding: 13px 15px; background: var(--white); color: var(--ink); }
.advanced-result-list dt { font-size: .8rem; font-weight: 850; }
.advanced-result-list dd { margin: 3px 0 0; }
.advanced-method { padding-top: 24px; }
.advanced-method h2:not(:first-child) { margin-top: 48px; }
.advanced-method h3 { margin-top: 30px; }
.advanced-method p, .advanced-method ul, .advanced-method ol { margin-top: 16px; }

.tree-workspace { grid-template-columns: minmax(0, 1.45fr) minmax(340px, .55fr); }
.tree-input { background: #fff0eb; }
.tree-option-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.tree-branch { padding: 15px; background: var(--white); }
.tree-branch + .tree-branch { margin-top: 12px; }
.tree-branch h3 { font-size: 1.08rem; letter-spacing: -.02em; }
.tree-branch label { margin-top: 12px; }

.switch-workspace { grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr); }
.switch-input { background: #f1f1eb; }
.switch-core-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.switch-ledger { background: var(--white); }
.switch-result { background: #1f3fa8; }

.regret-input { background: #e8ecff; }
.regret-editor input { min-width: 150px; margin: 0; }
.regret-result { background: #33235f; }

.consensus-input { background: #e5f6ea; }
.consensus-editor input { min-width: 130px; margin: 0; }
.consensus-editor input[type="number"] { min-width: 110px; }
.consensus-result { background: #173d32; }

.pairwise-workspace { padding-bottom: 76px; }
.pairwise-setup { max-width: 820px; margin-inline: auto; background: #fff0eb; }
.pairwise-setup textarea { min-height: 220px; resize: vertical; }
.pairwise-round, .pairwise-result { max-width: 900px; margin-inline: auto; background: var(--ink); color: var(--white); text-align: center; }
.pairwise-progress { display: grid; gap: 8px; color: #d3d0c7; text-align: left; }
#pairwise-progress-bar { height: 8px; display: block; background: #44443f; }
#pairwise-progress-bar span { width: 0; height: 100%; display: block; background: var(--coral); }
.pairwise-round h2 { margin-top: 34px; }
.pairwise-choice-grid { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 18px; margin-top: 34px; }
.pairwise-choice-grid button { min-height: 170px; padding: 24px; border: 1.5px solid var(--white); border-radius: 0; background: var(--coral); color: var(--ink); font-size: clamp(1.25rem, 2.6vw, 2rem); font-weight: 900; cursor: pointer; }
.pairwise-choice-grid button:last-child { background: var(--blue); color: var(--white); }
.pairwise-choice-grid button:hover { border-color: var(--white); }
.pairwise-round > .button { margin-top: 20px; border-color: var(--white); color: var(--white); }
.pairwise-result { text-align: left; background: #e8ecff; color: var(--ink); }
.pairwise-ranking-list { display: grid; gap: 10px; margin: 28px 0 0; padding: 0; list-style-position: inside; }
.pairwise-ranking-list li { padding: 15px; background: var(--white); }
.pairwise-ranking-list span { display: block; margin-left: 1.4em; color: var(--muted); font-size: .88rem; }
.pairwise-result details { margin-top: 24px; }

.picker-workspace { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(340px, .75fr); gap: 20px; padding-bottom: 76px; }
.picker-board { background: #e8ecff; }
.picker-row { display: grid; grid-template-columns: minmax(0, 1fr) 130px 46px; align-items: end; gap: 10px; margin-top: 12px; }
.picker-row label { font-weight: 800; }
.picker-result { position: sticky; top: 92px; min-height: 330px; background: var(--ink); color: var(--white); }
.picker-result > p { margin-top: 14px; color: #cfcdc4; }
.picker-result h3 { margin-top: 26px; font-size: 1.15rem; }
.picker-odds { display: grid; gap: 7px; margin: 12px 0 0; padding: 0; list-style: none; }
.picker-odds li { display: flex; justify-content: space-between; gap: 20px; padding: 9px 11px; background: var(--white); color: var(--ink); }
#picker-history ol { columns: 2; padding-left: 1.4em; }

.feature-band { padding-block: 92px; background: var(--ink); color: var(--white); }
.feature-grid { display: grid; grid-template-columns: minmax(0, .86fr) minmax(420px, 1.14fr); align-items: center; gap: clamp(48px, 8vw, 110px); }
.feature-grid > div:first-child p { margin: 22px 0 30px; color: #c7c4bb; font-size: 1.08rem; }
.mini-matrix { padding: 28px; border-radius: 0; background: var(--white); color: var(--ink); }
.mini-matrix > div { display: grid; grid-template-columns: 1fr 68px 68px; align-items: center; min-height: 58px; gap: 12px; }
.mini-matrix .matrix-head { min-height: 42px; color: var(--muted); font-size: .78rem; font-weight: 750; }
.score { width: 44px; height: 44px; display: grid; place-items: center; border: 1.5px solid var(--ink); border-radius: 0; font-weight: 900; }
.score.coral { background: var(--coral); }
.score.mint { background: var(--mint); }
.score.blue { background: var(--blue); color: var(--white); }
.mini-matrix > p { margin-top: 18px; color: var(--muted); font-size: .78rem; }

.magazine-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 18px; }
.story-card { grid-column: span 4; min-height: 300px; display: flex; flex-direction: column; padding: 26px; border: 1.5px solid var(--line); border-radius: 0; background: var(--white); }
.story-card.story-lead { grid-column: span 8; background: var(--coral); border-color: var(--ink); }
.story-card > p { margin-top: 18px; color: var(--muted); }
.story-card.story-lead > p { color: #38241f; }
.story-links { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; margin-top: auto; padding-top: 26px; }
.story-card .story-links a { align-self: auto; margin-top: 0; padding-top: 0; font-weight: 850; }
.center-action { margin-top: 36px; text-align: center; }
.discovery-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.discovery-item { min-height: 150px; padding: 22px 24px; border: 1.5px solid var(--line); border-radius: 0; background: var(--white); }
.discovery-item h3 { font-size: clamp(1.05rem, 1.5vw, 1.28rem); line-height: 1.25; letter-spacing: -.025em; }
.discovery-item h3 a { text-decoration-thickness: 1px; }
.discovery-item p { margin-top: 10px; color: var(--muted); font-size: .92rem; line-height: 1.55; }
.poll-preview { background: #e8ecff; }
.poll-preview-grid { display: grid; grid-template-columns: .78fr 1.22fr; align-items: center; gap: clamp(40px, 8vw, 110px); }
.poll-preview-grid > div > p { margin: 18px 0 24px; color: var(--muted); }

.page-hero, .tool-hero { width: var(--shell); display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; padding-top: 76px; }
.page-hero > *, .tool-hero > * { width: 100%; min-width: 0; }
.compact-hero { padding-bottom: 38px; }
.compact-hero h1, .tool-hero h1 { width: 100%; max-width: none; }
.compact-hero > p, .tool-hero > p { max-width: none; margin-top: 24px; color: var(--muted); font-size: clamp(1.1rem, 2vw, 1.35rem); }
.tools-page-grid .tool-card { min-height: 360px; }
.tools-page-grid .tool-card { grid-column: span 3; }
.narrow-copy { max-width: none; }
.choice-guide { margin: 38px 0 0; display: grid; gap: 16px; }
.choice-guide > div { padding: 22px; border-radius: 0; background: var(--white); }
.choice-guide dt { font-weight: 900; }
.choice-guide dd { margin: 6px 0 0; color: var(--muted); }
.semantic-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.semantic-grid article { padding: 26px; border: 1.5px solid var(--line); border-radius: 0; background: var(--white); }
.semantic-grid p { margin-top: 14px; color: var(--muted); }
.semantic-grid p + p { margin-top: 10px; }
.decision-check-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.decision-check-grid article { min-height: 260px; display: flex; flex-direction: column; padding: 28px; border: 1.5px solid var(--line); border-radius: 0; background: var(--white); }
.decision-check-grid p { margin-top: 16px; color: var(--muted); }
.decision-check-grid a { align-self: flex-start; margin-top: auto; padding-top: 22px; font-weight: 850; }
.semantic-stack { display: grid; gap: 14px; margin-top: 24px; }
.semantic-stack section { padding: 22px; border-radius: 0; background: var(--white); }
.semantic-stack h3 { margin-top: 0; font-size: 1.35rem; }
.semantic-stack p { margin-top: 8px; }
.content-table-wrap { overflow-x: auto; }
.content-table { width: 100%; min-width: 720px; border-collapse: separate; border-spacing: 0 10px; }
.content-table th { padding: 0 18px 8px; color: var(--muted); text-align: left; font-size: .8rem; }
.content-table td { padding: 18px; background: var(--white); vertical-align: top; }
.content-table td:first-child { border-radius: 0; }
.content-table td:last-child { border-radius: 0; }
.content-table a { font-weight: 850; }
.result-meaning-table td:first-child { width: 19%; }
.result-meaning-table td:last-child { width: 19%; }
.home-worked-example { margin-top: 34px; padding: clamp(24px, 4vw, 38px); border-radius: 0; background: #ffe6dc; }
.home-worked-example h3 { font-size: clamp(1.45rem, 2.4vw, 2rem); }
.home-worked-example p { max-width: none; margin-top: 16px; }

.guide-cluster { padding-top: 62px; padding-bottom: 20px; }
.guide-cluster:last-child { padding-bottom: 92px; }
.guide-list { display: grid; gap: 14px; }
.guide-list article { display: grid; grid-template-columns: 1fr 120px 220px; align-items: center; gap: 24px; padding: 26px 28px; border: 1.5px solid var(--line); border-radius: 0; background: var(--white); }
.guide-list article p { margin-top: 10px; color: var(--muted); }
.guide-list .guide-meta { margin-top: 0; font-size: .85rem; }
.guide-list a { font-weight: 850; }

.article-shell { padding-block: 70px 110px; }
.article-header { width: 100%; max-width: none; display: grid; grid-template-columns: minmax(0, 1fr); align-content: start; }
.article-header > * { width: 100%; min-width: 0; }
.article-deck { max-width: none; margin-top: 24px; color: var(--muted); font-size: clamp(1.12rem, 2vw, 1.42rem); }
.article-context { max-width: none; margin-top: 16px; color: var(--muted); }
.article-byline { display: flex; flex-wrap: wrap; gap: 10px 24px; margin-top: 28px; font-size: .84rem; font-weight: 750; }
.article-layout { display: grid; grid-template-columns: 300px minmax(0, 720px); align-items: start; gap: clamp(46px, 8vw, 100px); margin-top: 70px; }
.article-summary { position: sticky; top: 104px; padding: 24px; border: 1.5px solid var(--ink); border-radius: 0; background: var(--mint); }
.article-summary h2 { margin-top: 22px; font-size: 1.1rem; letter-spacing: -.025em; }
.article-summary h2:first-child { margin-top: 0; }
.article-summary p { margin-top: 10px; }
.article-summary a { display: inline-block; margin-top: 18px; font-weight: 850; }
.prose { font-family: Georgia, "Times New Roman", serif; font-size: 1.12rem; line-height: 1.75; }
.prose h2, .prose h3 { font-family: Inter, ui-sans-serif, sans-serif; }
.prose h2 { margin-top: 52px; font-size: clamp(1.8rem, 3.5vw, 2.7rem); }
.prose h2:first-child { margin-top: 0; }
.prose h3 { margin-top: 36px; font-size: 1.5rem; }
.prose p, .prose ul, .prose ol, .prose table, .prose blockquote { margin: 18px 0 0; }
.prose a { color: #2545b9; font-weight: 700; }
.prose li + li { margin-top: 9px; }
.worked-example { margin-top: 52px; padding: 34px; border-radius: 0; background: #ffe6dc; }
.worked-example h2 { margin-top: 0; }
.guide-workbook { margin-top: 52px; padding: 34px; border-radius: 0; background: var(--white); }
.guide-workbook h2 { margin-top: 0; }
.guide-workbook ol { margin-top: 22px; padding-left: 24px; }
.guide-workbook li + li { margin-top: 18px; }
.guide-workbook .worksheet-label { display: block; font-family: Inter, ui-sans-serif, sans-serif; font-size: 1.02rem; letter-spacing: -.01em; line-height: 1.35; }
.guide-workbook li p { margin-top: 4px; }
.guide-mistakes { margin-top: 52px; padding: 30px 34px; border-radius: 0; background: #e8ecff; }
.guide-mistakes h2 { margin-top: 0; }
.guide-sources li { overflow-wrap: anywhere; }
.format-body { max-width: none; margin-top: 70px; }
.format-intro { max-width: none; margin: 0 0 38px; color: var(--muted); font-family: Inter, ui-sans-serif, sans-serif; font-size: 1.15rem; line-height: 1.65; }
.guide-rule { padding: 28px; border: 1.5px solid var(--ink); border-radius: 0; background: var(--mint); font-family: Inter, ui-sans-serif, sans-serif; line-height: 1.6; }
.guide-rule h2 { margin: 0; font-size: clamp(1.35rem, 2.4vw, 1.85rem); }
.guide-rule p { margin-top: 14px; }
.guide-rule a { display: inline-block; margin-top: 18px; color: var(--ink); font-weight: 850; }
.format-edge { margin-top: 52px; padding: 28px 32px; border: 1.5px solid var(--line); border-radius: 0; background: var(--paper); }
.format-edge h2 { margin-top: 0; }

.format-calculation-layout > .format-example { max-width: none; margin-top: 0; }
.calculation-core { display: grid; grid-template-columns: minmax(240px, .72fr) minmax(0, 1.45fr); align-items: start; gap: 54px; margin-top: 54px; }
.calculation-core .guide-rule { position: sticky; top: 104px; }
.calculation-sections .format-intro { margin-bottom: 0; }
.calculation-sections section:first-of-type h2 { margin-top: 38px; }
.format-calculation-layout .guide-workbook ol { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 42px; padding-left: 22px; }
.format-calculation-layout .guide-workbook li + li { margin-top: 0; }

.audit-opening { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(250px, .8fr); align-items: start; gap: 28px; }
.audit-opening .guide-workbook { margin-top: 0; background: #e8ecff; }
.audit-opening .guide-rule { position: sticky; top: 104px; }
.audit-sections { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 50px; margin-top: 56px; }
.audit-sections section h2 { font-size: clamp(1.55rem, 2.8vw, 2.1rem); }
.audit-sections section:nth-child(-n+2) h2 { margin-top: 0; }
.audit-sections .contextual-reading { grid-column: 1 / -1; }

.format-diagnostic-layout > .guide-mistakes { max-width: none; margin-top: 0; }
.diagnostic-sections { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 50px; margin-top: 54px; }
.diagnostic-sections section h2 { font-size: clamp(1.55rem, 2.8vw, 2.1rem); }
.diagnostic-sections section:nth-child(-n+2) h2 { margin-top: 0; }
.format-diagnostic-layout > .guide-rule { max-width: none; margin: 54px 0 0; background: #ffe6dc; }

.format-scenario-layout > .format-example { max-width: none; margin: 0 0 46px; }
.scenario-sections { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 44px; }
.scenario-sections section { padding: 28px; border-radius: 0; background: var(--white); }
.scenario-sections section h2 { margin-top: 0; font-size: clamp(1.55rem, 2.8vw, 2.1rem); }
.format-scenario-layout > .guide-rule { max-width: none; margin-top: 46px; }

.comparison-opening { display: grid; grid-template-columns: minmax(280px, .9fr) minmax(0, 1.1fr); align-items: center; gap: 54px; }
.comparison-opening .format-intro { margin: 0; }
.format-comparison-layout > .format-example { max-width: none; margin-left: 0; }
.comparison-sections { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 52px; }
.comparison-sections section { padding: 28px; border: 1.5px solid var(--line); border-radius: 0; background: var(--white); }
.comparison-sections section h2 { margin-top: 0; font-size: clamp(1.55rem, 2.8vw, 2.1rem); }
.comparison-sections .contextual-reading { grid-column: 1 / -1; }
.related-guides { margin-top: 100px; }
.topic-return { display: flex; flex-wrap: wrap; gap: 12px 28px; margin-top: 52px; font-weight: 850; }
.related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 32px; }
.related-grid article { display: flex; flex-direction: column; min-height: 250px; padding: 24px; border: 1.5px solid var(--line); border-radius: 0; background: var(--white); }
.related-grid p { margin-top: 14px; color: var(--muted); }
.related-grid a { display: inline-flex; align-items: center; gap: 10px; margin-top: auto; padding-top: 22px; font-weight: 850; }
.article-cover { max-width: none; margin: 54px 0 0; }
.article-cover img { width: 100%; aspect-ratio: 1200 / 630; object-fit: cover; border-radius: 0; }
.imported-prose { max-width: none; margin-top: 70px; }

.editorial-layout { display: grid; grid-template-columns: minmax(0, 720px) 300px; align-items: start; gap: 80px; }
.fact-panel { padding: 24px; border: 1.5px solid var(--ink); border-radius: 0; background: var(--mint); }
.fact-panel h2 { font-size: 1.6rem; }
.fact-panel ul { padding-left: 22px; }
.fact-panel li + li { margin-top: 9px; }
.fact-panel a { font-weight: 850; }
.contact-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.contact-heading { grid-column: 1 / -1; }
.contact-grid article { padding: 28px; border: 1.5px solid var(--line); border-radius: 0; background: var(--white); }
.contact-grid h3 { font-size: 1.8rem; }
.contact-grid p { margin-top: 14px; color: var(--muted); }
.contact-grid a { display: inline-block; margin-top: 22px; font-weight: 850; }

.topic-overview { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr); align-items: start; gap: 24px; }
.topic-intro { position: sticky; top: 104px; padding: 30px; border-radius: 0; background: var(--ink); color: var(--white); }
.topic-intro h2 { font-size: clamp(1.8rem, 3vw, 2.5rem); }
.topic-intro p { margin-top: 18px; color: #d0cdc5; }
.hub-sections { display: grid; gap: 18px; }
.hub-sections article { padding: 30px; border: 1.5px solid var(--line); border-radius: 0; background: var(--white); }
.hub-sections h2 { font-size: clamp(1.5rem, 2.4vw, 2.1rem); }
.hub-sections p { margin-top: 14px; color: var(--muted); }
.hub-checklist { padding-top: 36px; }
.hub-checklist ul { display: grid; gap: 12px; margin: 28px 0 0; padding: 0; list-style: none; }
.hub-checklist li { display: grid; grid-template-columns: minmax(120px, .35fr) 1fr; gap: 18px; padding: 20px 22px; border-radius: 0; background: var(--white); }
.hub-checklist span { color: var(--muted); }
.glossary-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.glossary-grid article { padding: 26px; border: 1.5px solid var(--line); border-radius: 0; background: var(--white); }
.glossary-grid h2 { font-size: 1.45rem; }
.glossary-grid p { margin-top: 12px; color: var(--muted); }
.glossary-grid p a { font-weight: 850; }
.glossary-jump { padding-bottom: 28px; }
.glossary-jump ul { display: flex; flex-wrap: wrap; gap: 10px; margin: 24px 0 0; padding: 0; list-style: none; }
.glossary-jump a { display: inline-flex; padding: 8px 12px; border-radius: 0; background: var(--white); font-size: .88rem; font-weight: 800; text-decoration: none; }
.glossary-jump a:hover { text-decoration: underline; }
.topic-link-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.topic-link-grid article { min-height: 250px; display: flex; flex-direction: column; padding: 26px; border: 1.5px solid var(--line); border-radius: 0; background: var(--white); }
.topic-link-grid p { margin-top: 14px; color: var(--muted); }
.topic-link-grid a { align-self: flex-start; margin-top: auto; padding-top: 22px; font-weight: 850; }
.tool-faqs { padding-top: 34px; }
.faq-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.faq-grid article { padding: 26px; border: 1.5px solid var(--line); border-radius: 0; background: var(--white); }
.faq-grid h3 { font-size: 1.2rem; line-height: 1.2; }
.faq-grid p { margin: 14px 0 18px; color: var(--muted); }
.faq-grid a { font-weight: 850; }

.tool-workspace, .matrix-tool, .generator-tool, .product-tool { margin-top: 52px; margin-bottom: 92px; }
.tool-workspace { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(340px, .8fr); align-items: start; gap: 24px; }
.tool-form-panel, .tool-result, .matrix-tool, .generator-tool, .product-tool { padding: clamp(24px, 4vw, 46px); border: 1.5px solid var(--ink); border-radius: 0; background: var(--white); }
.tool-result { position: sticky; top: 102px; min-height: 460px; background: var(--mint); }
.tool-result h2, .matrix-result h2, .product-result h2 { font-size: 2rem; }
.result-placeholder, .matrix-result > p, .product-result > p { margin-top: 16px; color: var(--muted); }
.honesty-note { margin-bottom: 28px; padding: 18px; border-radius: 0; background: #e5e9ff; }
.honesty-note p { margin-top: 5px; color: #3c4261; }
form label, .matrix-name-row label, .generator-controls label, fieldset label { display: grid; gap: 7px; color: var(--ink); font-size: .88rem; font-weight: 800; }
input, textarea, select { width: 100%; padding: 12px 13px; border: 1.5px solid #969288; border-radius: 0; background: #fff; color: var(--ink); font-weight: 500; }
textarea { resize: vertical; }
input:focus, textarea:focus, select:focus { border-color: var(--focus); outline: 2px solid color-mix(in srgb, var(--focus) 30%, transparent); }
.visible-option-bank { width: 100%; margin: 14px 0 22px; }
.visible-option-label { margin-bottom: 9px; color: var(--muted); font-size: .82rem; font-weight: 850; }
.visible-option-choices { display: flex; flex-wrap: wrap; gap: 8px; }
.visible-option-button { min-height: 38px; padding: 8px 11px; border: 1.5px solid var(--line); border-radius: 0; background: var(--white); color: var(--ink); font-size: .8rem; font-weight: 800; cursor: pointer; }
.visible-option-button:hover { border-color: var(--ink); }
.visible-option-button[aria-pressed="true"] { border-color: var(--ink); background: var(--coral); color: var(--ink); }
.tool-preset-control .visible-option-bank, .matrix-starting-point .visible-option-bank, .product-top-controls .visible-option-bank { grid-column: 1 / -1; margin-bottom: 0; }
.two-field-grid, .matrix-name-row, .product-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
form > label, form > .two-field-grid { margin-bottom: 18px; }
.tool-result .result-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 24px; }
.tool-result .result-columns > div, .analysis-block { padding: 18px; border-radius: 0; background: rgba(255,255,255,.72); }
.tool-result h3 { font-size: 1.18rem; }
.tool-result ul { margin: 10px 0 0; padding-left: 18px; }
.analysis-block { margin-top: 12px; }
.tool-explainer { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.tool-explainer > div { padding: 26px; border-radius: 0; background: var(--white); }
.tool-explainer h2 { font-size: 1.65rem; }
.tool-explainer p { margin-top: 12px; color: var(--muted); }

.matrix-name-row { margin-bottom: 28px; }
.matrix-constraints { margin: 0 0 28px; padding: 22px; border: 1.5px solid var(--line); border-radius: 0; }
.matrix-constraints legend { padding-inline: 8px; font-weight: 900; font-size: 1.15rem; }
.matrix-constraints > p { margin-bottom: 18px; color: var(--muted); }
.matrix-tool { min-width: 0; }
.matrix-table-wrap { width: 100%; max-width: 100%; min-width: 0; overflow-x: auto; overscroll-behavior-inline: contain; }
.matrix-editor { width: 100%; min-width: 680px; border-collapse: separate; border-spacing: 8px; }
.matrix-editor th { padding: 6px; color: var(--muted); text-align: left; font-size: .78rem; }
.matrix-editor th:not(:first-child) { text-align: center; }
.matrix-editor td:first-child { width: 44%; }
.matrix-editor td:not(:first-child) { width: 14%; }
.matrix-editor input { min-width: 80px; }
.icon-button { width: 42px; height: 42px; border: 1.5px solid var(--line); border-radius: 0; background: white; color: var(--muted); cursor: pointer; }
.icon-button:hover { border-color: var(--coral-dark); color: var(--coral-dark); }
.matrix-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.matrix-actions button:disabled { cursor: not-allowed; opacity: .52; }
.copy-status { min-height: 1.5em; margin-top: 10px; color: var(--muted); font-size: .86rem; }
.matrix-result, .product-result { margin-top: 30px; padding: 28px; border-radius: 0; background: var(--mint); }
.result-score-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 20px; }
.result-score-grid > div { padding: 20px; border-radius: 0; background: rgba(255,255,255,.72); }
.big-score { display: block; margin-top: 4px; font-size: 2.4rem; font-weight: 900; letter-spacing: -.05em; }
.sensitivity { margin-top: 18px; }

.generator-controls { display: flex; flex-wrap: wrap; align-items: end; justify-content: center; gap: 16px; }
.generator-controls label { min-width: 240px; }
.generator-controls .visible-option-bank { flex-basis: 100%; margin: 0; }
.generator-controls .visible-option-label { color: #cbc8c0; }
.generator-controls .visible-option-button { border-color: #6f6d66; background: #2c2c27; color: var(--white); }
.generator-controls .visible-option-button:hover { border-color: var(--white); }
.generator-controls .visible-option-button[aria-pressed="true"] { border-color: var(--white); background: var(--coral); color: var(--ink); }
.generator-stage { min-height: 320px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; padding-block: 38px; }
.generator-stage > span { font-family: Georgia, serif; font-size: 1.4rem; font-style: italic; }
.generated-option { min-height: 190px; padding: 26px; border: 2px solid var(--ink); border-radius: 0; color: var(--ink); font-size: clamp(1.5rem, 3vw, 2.5rem); font-weight: 900; line-height: 1.12; cursor: pointer; }
.option-left { background: var(--coral); }
.option-right { background: var(--mint); }
.generated-option:hover, .generated-option.selected { background: var(--ink); color: var(--white); }
.generator-reaction { text-align: center; color: var(--muted); }

.product-columns fieldset { display: grid; gap: 15px; margin: 0; padding: 24px; border: 1.5px solid var(--line); border-radius: 0; }
.currency-picker { max-width: 280px; margin-bottom: 24px; }
.product-columns legend { padding-inline: 8px; font-weight: 900; font-size: 1.25rem; }
.product-tool > .button { margin-top: 22px; }
.feature-pairs { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 20px; }
.feature-pairs > div { padding: 18px; border-radius: 0; background: rgba(255,255,255,.7); }

.poll-list { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.poll-card { padding: clamp(24px, 4vw, 38px); border: 1.5px solid var(--ink); border-radius: 0; background: var(--white); }
.poll-card h2, .poll-card h3 { font-size: clamp(1.4rem, 2.6vw, 2.15rem); }
.poll-options { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 24px; }
.poll-options button, .poll-options a, .poll-preview-options span { min-height: 64px; display: flex; align-items: center; justify-content: center; padding: 14px; border: 1.5px solid var(--ink); border-radius: 0; background: var(--paper); color: var(--ink); text-align: center; text-decoration: none; font-weight: 850; }
.poll-options button, .poll-options a { cursor: pointer; }
.poll-options button:hover, .poll-options a:hover { background: var(--coral); }
.poll-options > :last-child:hover { background: var(--mint); }
.poll-options button:disabled { cursor: default; opacity: .65; }
.poll-results { margin-top: 24px; }
.poll-results > p { display: flex; justify-content: space-between; gap: 20px; margin-top: 8px; color: var(--muted); }
.poll-results strong { color: var(--ink); }
.poll-bar { height: 18px; margin-top: 15px; border: 1.5px solid var(--ink); border-radius: 0; overflow: hidden; background: var(--mint); }
.poll-bar span { display: block; height: 100%; background: var(--coral); }
.poll-results .poll-count { justify-content: flex-end; font-size: .8rem; }
.sample-note { margin-top: 22px; color: var(--muted); font-size: .82rem; }
.preview-card { background: var(--white); }
.preview-card > p { margin-top: 18px; color: var(--muted); font-size: .82rem; }
.poll-preview-link { display: inline-block; margin-top: 18px; }

/* Each tool has a layout that follows its actual job. */
.tool-panel-heading, .matrix-tool-heading, .generator-heading, .product-tool-heading { margin-bottom: 28px; }
.tool-panel-heading h2, .matrix-tool-heading h2, .generator-heading h2, .product-tool-heading h2 { font-size: clamp(1.7rem, 3vw, 2.5rem); }
.tool-panel-heading p, .matrix-tool-heading p, .generator-heading p, .product-tool-heading p { max-width: none; margin-top: 9px; color: var(--muted); }

.comparison-brief-builder { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(340px, .65fr); align-items: start; gap: 22px; margin-top: 52px; margin-bottom: 92px; }
.comparison-input-board { padding: clamp(24px, 4vw, 42px); border: 1.5px solid var(--ink); border-radius: 0; background: var(--white); }
.comparison-input-board .honesty-note { border-radius: 0; }
.priority-input { padding: 18px; border-radius: 0; background: #fff0e9; }
.evidence-option-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.evidence-option { display: grid; align-content: start; gap: 16px; min-width: 0; margin: 0; padding: 22px; border: 1.5px solid var(--line); border-radius: 0; }
.evidence-option-a { background: #fff5f1; }
.evidence-option-b { background: #f0f3ff; }
.evidence-option legend { padding-inline: 8px; font-size: 1.1rem; font-weight: 900; }
.evidence-selects { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.tool-preset-control { display: grid; grid-template-columns: minmax(240px, .7fr) minmax(0, 1.3fr); align-items: end; gap: 22px; margin-bottom: 22px; padding: 18px; border: 1px solid var(--line); background: var(--paper); }
.tool-preset-control label { display: grid; gap: 7px; font-size: .88rem; font-weight: 800; }
.tool-preset-control p { margin: 0 0 4px; color: var(--muted); }
.comparison-submit { width: 100%; margin-top: 22px; }
.comparison-brief { position: sticky; top: 102px; min-height: 520px; padding: clamp(24px, 3vw, 34px); border-radius: 0; background: var(--ink); color: var(--white); }
.comparison-brief h2 { font-size: clamp(1.8rem, 3vw, 2.35rem); }
.comparison-brief h3 { font-size: 1.08rem; }
.comparison-brief .result-placeholder, .brief-priority { margin-top: 15px; color: #d0cdc5; }
.brief-empty-map { display: grid; gap: 10px; margin-top: 34px; }
.brief-empty-map span { padding: 15px 18px; border-radius: 0; background: #2c2c27; color: #d0cdc5; font-weight: 800; }
.brief-reading, .brief-next-check { margin-top: 22px; padding: 20px; border-radius: 0; background: var(--coral); color: var(--ink); }
.brief-reading p { margin-top: 8px; }
.brief-audit-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 18px; }
.brief-audit-grid > div { display: grid; gap: 6px; padding: 16px; border-radius: 0; background: #2c2c27; }
.brief-audit-grid span { color: #d0cdc5; font-size: .82rem; }
.brief-option-records { display: grid; gap: 10px; margin-top: 18px; }
.brief-option-records > div { padding: 18px; border-radius: 0; background: var(--white); color: var(--ink); }
.brief-option-records strong { display: block; margin-top: 12px; font-size: .82rem; }
.brief-option-records ul, .brief-next-check ul { margin: 7px 0 0; padding-left: 20px; }
.engine-method { max-width: none; }
.engine-method-lead { display: grid; grid-template-columns: 1fr; gap: 18px; align-items: start; margin-bottom: 38px; }
.engine-method-lead h2 { margin: 0; }
.engine-method-lead p { margin-top: 0; }
.engine-audit-table { margin-bottom: 58px; }
.comparison-boundaries > div:first-child { background: #fff0e9; }
.comparison-boundaries > div:nth-child(2) { background: #e8ecff; }

.matrix-tool { border-radius: 0; background: var(--white); }
.matrix-tool-heading { display: grid; grid-template-columns: 1fr; align-items: start; gap: 12px; }
.matrix-tool-heading p { margin: 0; }
.matrix-starting-point { display: grid; grid-template-columns: minmax(240px, .65fr) minmax(0, 1.35fr); align-items: end; gap: 22px; margin-bottom: 24px; padding: 18px; background: var(--paper); border: 1px solid var(--line); }
.matrix-starting-point p { margin: 0 0 4px; color: var(--muted); }
.matrix-constraints { background: #eef1ff; }
.matrix-editor tbody tr:nth-child(odd) input { background: #f7f7f2; }
.matrix-result { border-radius: 0; background: var(--ink); color: var(--white); }
.matrix-result > p { color: #d0cdc5; }
.matrix-result .result-score-grid > div { background: var(--white); color: var(--ink); }
.matrix-driver { margin-top: 20px; padding: 18px; border-radius: 0; background: var(--coral); color: var(--ink); }
.matrix-method { max-width: none; }

.generator-tool { border: 0; border-radius: 0; background: var(--ink); color: var(--white); }
.generator-heading { display: grid; grid-template-columns: 1fr; gap: 12px; align-items: start; }
.generator-heading p { margin: 0; color: #d0cdc5; }
.generator-controls label { color: var(--white); }
.generator-controls select { background: #2c2c27; color: var(--white); border-color: #6f6d66; }
.generator-custom-builder { margin-top: 34px; padding: clamp(22px, 3vw, 34px); border: 1.5px solid var(--white); background: var(--white); color: var(--ink); }
.generator-custom-heading p { margin-top: 8px; color: var(--muted); }
.generator-custom-fields { display: grid; grid-template-columns: .7fr 1fr 1fr; gap: 12px; margin-top: 22px; }
.generator-custom-fields label { display: grid; gap: 7px; font-size: .88rem; font-weight: 800; }
.generator-custom-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.generator-custom-status { min-height: 1.4em; margin-top: 12px; color: var(--muted); font-size: .88rem; }
.custom-pair-library { margin-top: 18px; }
.custom-pair-library > p { color: var(--muted); }
.custom-pair-list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 12px; }
.custom-pair-list article { display: grid; gap: 7px; padding: 15px; border: 1px solid var(--line); background: var(--paper); }
.custom-pair-list article > span { color: var(--muted); }
.custom-pair-list article > div { display: flex; flex-wrap: wrap; gap: 8px; }
.custom-pair-list button { padding: 7px 10px; border: 1px solid var(--ink); border-radius: 0; background: var(--white); color: var(--ink); font-weight: 800; cursor: pointer; }
.custom-pair-list button:hover { border-color: var(--coral-dark); color: var(--coral-dark); }
.generator-stage { min-height: 340px; }
.generator-stage > span { color: #d0cdc5; }
.generated-option { border-color: var(--white); border-radius: 0; }
.generator-third-choice { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.generator-third-choice button { padding: 9px 14px; border: 1px solid #77746d; border-radius: 0; background: transparent; color: #d0cdc5; cursor: pointer; font-weight: 750; }
.generator-third-choice button:hover, .generator-third-choice button.selected { border-color: var(--white); background: var(--white); color: var(--ink); }
.generator-reflection { max-width: none; margin: 32px 0 0; padding: 24px; border-radius: 0; background: var(--white); color: var(--ink); text-align: left; }
.generator-reflection h2 { font-size: 1.45rem; }
.generator-reaction { margin-top: 10px; color: var(--ink); text-align: left; }
.generator-follow-up { margin-top: 8px; color: var(--muted); }
.generator-method { max-width: none; }
.tool-faqs-this-or-that-generator .faq-grid { grid-template-columns: 1fr; max-width: none; }
.tool-faqs-this-or-that-generator .faq-grid article { display: grid; grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr); gap: 10px 38px; }
.tool-faqs-this-or-that-generator .faq-grid article p { margin-top: 0; }
.tool-faqs-this-or-that-generator .faq-grid article a { grid-column: 2; }

.product-tool { border: 0; border-radius: 0; background: #ffe6dc; }
.product-tool-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; }
.product-tool-heading .currency-picker { min-width: 180px; margin: 0; }
.product-top-controls { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(120px, .45fr); gap: 12px; min-width: min(100%, 480px); }
.product-top-controls label { display: grid; gap: 7px; font-size: .88rem; font-weight: 800; }
.ownership-formula { display: grid; grid-template-columns: minmax(180px, .35fr) 1fr; gap: 18px; margin-bottom: 24px; padding: 18px 20px; border-radius: 0; background: var(--ink); color: var(--white); }
.ownership-formula span { color: #d0cdc5; }
.product-columns fieldset { border: 0; border-radius: 0; background: var(--white); }
.product-columns .product-ledger-a { border-left: 7px solid var(--coral); }
.product-columns .product-ledger-b { border-left: 7px solid var(--blue); }
.product-cost-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.product-evidence-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(160px, .55fr); gap: 14px; margin-top: 14px; }
.product-result { border-radius: 0; background: var(--white); }
.ownership-result-ledgers { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 22px; }
.ownership-result-ledgers > div { padding: 22px; border-radius: 0; background: #eef1ff; }
.ownership-result-ledgers dl { margin: 15px 0 0; }
.ownership-result-ledgers dl > div { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; margin-top: 9px; }
.ownership-result-ledgers dt { color: var(--muted); font-size: .82rem; }
.ownership-result-ledgers dd { margin: 0; font-weight: 850; text-align: right; }
.ownership-result-ledgers .big-score { font-size: 1.55rem; }
.product-stress-test, .product-assumption-audit { margin-top: 18px; padding: 22px; border-radius: 0; background: var(--ink); color: var(--white); }
.product-stress-test p { margin-top: 8px; color: #d0cdc5; }
.product-stress-test > div { display: grid; gap: 7px; margin-top: 14px; }
.product-assumption-audit { background: #eef1ff; color: var(--ink); }
.product-assumption-audit ul { margin: 10px 0 0; padding-left: 20px; }
.product-method { display: grid; grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr); gap: 70px; align-items: start; }
.product-method-lead { position: sticky; top: 104px; padding: 28px; border-radius: 0; background: #ffe6dc; }
.product-method-lead h2 { margin-top: 0; }
.product-method-copy > h2:first-child { margin-top: 0; }

.poll-method-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 46px; }
.poll-method-strip > div { display: grid; gap: 4px; padding: 20px; border-radius: 0; background: var(--white); }
.poll-method-strip > div:nth-child(2) { background: #e8ecff; }
.poll-method-strip > div:nth-child(3) { background: #ffe6dc; }
.poll-method-strip span { color: var(--muted); font-size: .9rem; }
.poll-card:nth-child(3n+2) { background: #eef1ff; }
.poll-card:nth-child(3n+3) { background: #fff0e9; }
.poll-claim { margin-top: 20px; padding: 15px 17px; border-radius: 0; background: var(--ink); color: var(--white); font-weight: 750; }
.polls-method { max-width: none; }

/* Decision games use distinct mechanics with a shared editorial system. */
.game-hub-hero { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(250px, .55fr); align-items: center; gap: clamp(32px, 6vw, 76px); }
.game-hub-hero > div { min-width: 0; }
.game-hub-hero img { width: min(100%, 380px); aspect-ratio: 1200 / 630; object-fit: cover; border: 1px solid var(--line); }
.game-card-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.game-card { display: grid; grid-template-columns: minmax(180px, .7fr) minmax(0, 1.3fr); min-height: 340px; border: 1.5px solid var(--ink); background: var(--white); }
.game-card img { width: 100%; height: 100%; min-height: 340px; object-fit: cover; border-right: 1.5px solid var(--ink); }
.game-card-copy { display: flex; flex-direction: column; padding: 28px; }
.game-card-copy > p { margin-top: 14px; color: var(--muted); }
.game-card-copy dl { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 24px 0 0; }
.game-card-copy dl > div { padding-top: 11px; border-top: 1px solid var(--line); }
.game-card-copy dt { color: var(--muted); font-size: .78rem; font-weight: 750; text-transform: uppercase; letter-spacing: .04em; }
.game-card-copy dd { margin: 2px 0 0; font-weight: 850; }
.game-card-copy > a { align-self: flex-start; margin-top: auto; padding-top: 24px; font-weight: 850; }
.game-accent-coral { background: #fff0eb; }
.game-accent-blue { background: #e8ecff; }
.game-accent-mint { background: #eef1ff; }
.game-accent-ink { background: var(--ink); color: var(--white); }
.game-accent-ink p, .game-accent-ink dt { color: #c7c4bb; }
.game-depth-band { background: #e8ecff; }
.game-depth-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .8fr); gap: clamp(40px, 8vw, 100px); align-items: start; }
.game-depth-grid > div:first-child p { margin-top: 18px; }
.game-practice-list { display: grid; gap: 12px; }
.game-practice-list article { padding: 22px; border: 1.5px solid var(--ink); background: var(--white); }
.game-practice-list p { margin-top: 8px; color: var(--muted); }
.game-editorial { max-width: none; }
.home-game-grid, .compact-link-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.home-game-item, .compact-link-grid article { min-height: 270px; display: flex; flex-direction: column; padding: 24px; border: 1.5px solid var(--ink); }
.home-game-item p, .compact-link-grid p { margin-top: 12px; color: var(--muted); }
.home-game-item > a, .compact-link-grid article > a { align-self: flex-start; margin-top: auto; padding-top: 22px; font-weight: 850; }
.game-accent-ink.home-game-item p { color: #c7c4bb; }

.game-page-hero { padding-bottom: 54px; }
.game-shell { margin-bottom: 24px; padding: clamp(24px, 5vw, 56px); border: 1.5px solid var(--ink); background: var(--white); }
.game-status { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 32px; padding-bottom: 15px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: .88rem; font-weight: 800; }
.case-file, .question-lab, .forecast-board { max-width: 880px; margin-inline: auto; }
.case-scene, .question-goal, .forecast-question { margin-top: 18px; font-size: 1.22rem; line-height: 1.55; }
.case-file h3, .question-lab h3 { margin-top: 30px; }
.case-options, .question-options { display: grid; gap: 12px; margin-top: 20px; }
.case-options button, .question-options button { min-height: 58px; padding: 14px 18px; border: 1.5px solid var(--ink); border-radius: 0; background: var(--paper); color: var(--ink); text-align: left; cursor: pointer; font-weight: 800; }
.case-options button:hover, .question-options button:hover { background: #e8ecff; }
.case-options button:disabled, .question-options button:disabled { cursor: default; }
.case-options button.is-correct, .question-options button.is-correct { border-width: 3px; background: #dfe6ff; }
.case-options button.is-incorrect, .question-options button.is-incorrect { border-style: dashed; background: #fff0eb; }
.case-feedback, .question-feedback, .forecast-feedback { margin-top: 22px; padding: 22px; border-left: 7px solid var(--coral); background: #fff0eb; }
.case-feedback strong, .question-feedback strong, .forecast-feedback strong { display: block; }
.case-feedback p, .question-feedback p, .forecast-feedback p { margin-top: 9px; }
.case-feedback .corrective-question { margin-top: 14px; padding: 14px; background: var(--white); }
.case-file > .button, .question-lab > .button, .forecast-board > .button { margin-top: 22px; }
.bias-field-guide .semantic-grid article:nth-child(1) { background: #fff0eb; }
.bias-field-guide .semantic-grid article:nth-child(2) { background: #e8ecff; }
.bias-field-guide .semantic-grid article:nth-child(3) { background: var(--white); }
.game-final-score { margin-top: 18px; color: var(--coral-dark); font-size: 1.6rem; font-weight: 900; }

.tournament-game { background: var(--ink); color: var(--white); }
.tournament-setup { max-width: 720px; margin-inline: auto; }
.tournament-setup p { margin-top: 14px; color: #cbc8c0; }
.tournament-setup label { display: grid; gap: 8px; margin-top: 28px; font-weight: 800; }
.tournament-setup select { min-height: 52px; padding: 10px 14px; border: 1.5px solid var(--white); border-radius: 0; background: var(--white); color: var(--ink); }
.tournament-setup .button { margin-top: 18px; border-color: var(--white); }
.tournament-stage .game-status { color: #cbc8c0; border-color: #4d4d47; }
.tradeoff-pair { display: grid; grid-template-columns: 1fr 42px 1fr; align-items: stretch; gap: 12px; }
.tradeoff-pair > span { align-self: center; text-align: center; color: #cbc8c0; font-weight: 850; }
.tradeoff-pair button { min-height: 190px; padding: 24px; border: 2px solid var(--white); border-radius: 0; background: var(--coral); color: var(--ink); cursor: pointer; font-size: 1.45rem; font-weight: 900; }
.tradeoff-pair button:last-child { background: var(--blue); color: var(--white); }
.tradeoff-pair button:hover { background: var(--white); color: var(--ink); }
.tradeoff-prompt { max-width: 700px; margin: 22px auto 0; color: #cbc8c0; text-align: center; }
.tournament-result { max-width: 760px; margin-inline: auto; }
.tournament-result > p { margin-top: 16px; color: #cbc8c0; }
.tournament-ranking { display: grid; gap: 8px; margin: 26px 0 0; padding: 0; list-style: none; }
.tournament-ranking li { display: flex; justify-content: space-between; gap: 20px; padding: 14px 16px; background: var(--white); color: var(--ink); }
.cycle-reading { margin-top: 24px; padding: 20px; background: var(--coral); color: var(--ink); }
.cycle-reading p { margin-top: 9px; }
.tournament-result .button { margin-top: 24px; border-color: var(--white); }

.question-audit-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.question-audit-grid > div { padding: 24px; border: 1.5px solid var(--ink); background: var(--white); }
.question-audit-grid > div:nth-child(2) { background: #fff0eb; }
.question-audit-grid > div:nth-child(3) { background: #e8ecff; }
.question-audit-grid p { margin-top: 10px; color: var(--muted); }

.forecast-game { background: #e8ecff; }
.forecast-control { display: grid; grid-template-columns: 1fr auto; gap: 8px 20px; margin-top: 30px; font-weight: 850; }
.forecast-control input { grid-column: 1 / -1; width: 100%; accent-color: var(--coral-dark); }
.forecast-control output { font-size: 1.4rem; }
.calibration-scale { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; padding-top: 34px; padding-bottom: 34px; }
.calibration-scale > div { display: grid; gap: 4px; padding: 20px; border: 1.5px solid var(--ink); background: var(--white); }
.calibration-scale > div:nth-child(2) { background: #fff0eb; }
.calibration-scale > div:nth-child(3) { background: var(--ink); color: var(--white); }
.calibration-scale span { color: var(--muted); }
.calibration-scale > div:nth-child(3) span { color: #cbc8c0; }
.game-next-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.game-next-grid article { min-height: 230px; display: flex; flex-direction: column; padding: 28px; border: 1.5px solid var(--ink); background: #fff0eb; }
.game-next-grid article:nth-child(2) { background: #e8ecff; }
.game-next-grid p { margin-top: 12px; color: var(--muted); }
.game-next-grid a { align-self: flex-start; margin-top: auto; padding-top: 22px; font-weight: 850; }

/* Learning library pages vary their reading order by editorial task. */
.authority-map { padding-bottom: 34px; }
.authority-cluster { scroll-margin-top: 90px; }
.authority-cluster + .authority-cluster { padding-top: 34px; }
.authority-article-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.authority-card { min-height: 300px; display: flex; flex-direction: column; padding: 25px; border: 1.5px solid var(--ink); background: var(--white); }
.authority-card:nth-child(3n+2) { background: #fff0eb; }
.authority-card:nth-child(3n+3) { background: #e8ecff; }
.authority-card p { margin-top: 13px; color: var(--muted); }
.authority-card a { align-self: flex-start; margin-top: auto; padding-top: 22px; font-weight: 850; }
.authority-handoff { max-width: none; }
.authority-article { padding-bottom: 100px; }
.authority-reading-order { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 54px; }
.authority-block { min-height: 280px; padding: 30px; border: 1.5px solid var(--ink); background: var(--white); }
.authority-block p { margin-top: 18px; color: var(--muted); }
.authority-block ol { margin: 22px 0 0; padding-left: 22px; }
.authority-block li + li { margin-top: 10px; }
.authority-block.example-block { background: #fff0eb; }
.authority-block.boundary-block { background: #e8ecff; }
.authority-format-diagnostic .boundary-block, .authority-format-review .boundary-block { grid-column: 1 / -1; min-height: 0; }
.authority-format-scenario .example-block, .authority-format-forecast .example-block { grid-column: 1 / -1; min-height: 0; }
.authority-format-conversation .insight-block { background: var(--ink); color: var(--white); }
.authority-format-conversation .insight-block p { color: #cbc8c0; }
.authority-rule { margin-top: 18px; padding: 32px; background: var(--ink); color: var(--white); }
.authority-rule h3 { margin-top: 22px; }
.authority-rule p { margin-top: 12px; color: #cbc8c0; }
.authority-rule a { color: var(--white); }

/* Each calculator has its own inputs while sharing a stable result contract. */
.calculator-workspace { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr); align-items: start; gap: 18px; margin-bottom: 34px; }
.calculator-input, .calculator-result { padding: clamp(24px, 4vw, 40px); border: 1.5px solid var(--ink); background: var(--white); }
.calculator-input > p, .calculator-result > p { margin-top: 12px; color: var(--muted); }
.calculator-input > .button { margin-top: 22px; }
.calculator-option-grid, .calculator-field-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 24px; }
.calculator-option-grid fieldset { display: grid; gap: 14px; margin: 0; padding: 20px; border: 1.5px solid var(--line); }
.calculator-option-grid legend { padding-inline: 7px; font-weight: 900; }
.calculator-option-grid label, .calculator-field-grid label, .calculator-usage { display: grid; gap: 7px; font-size: .88rem; font-weight: 800; }
.calculator-option-grid input, .calculator-field-grid input, .calculator-usage input { width: 100%; min-height: 48px; padding: 9px 11px; border: 1.5px solid var(--ink); border-radius: 0; background: var(--paper); }
.calculator-preset { display: grid; gap: 7px; margin-top: 20px; font-size: .88rem; font-weight: 800; }
.calculator-preset select { width: 100%; min-height: 48px; }
.calculator-usage { margin-top: 18px; }
.calculator-result { position: sticky; top: 100px; min-height: 310px; background: var(--ink); color: var(--white); }
.calculator-result p { color: #cbc8c0; }
.calculator-result .result-score-grid { margin-top: 22px; }
.calculator-result .result-score-grid > div { background: var(--white); color: var(--ink); }
.calculator-method { max-width: none; }
.calculator-expected-value-calculator .calculator-input { background: #e8ecff; }
.calculator-opportunity-cost-calculator .calculator-input { background: #fff0eb; }
.calculator-value-of-information-calculator .calculator-input { border-left: 8px solid var(--blue); }
.calculator-break-even-calculator .calculator-input { background: var(--ink); color: var(--white); }
.calculator-break-even-calculator .calculator-input > p { color: #cbc8c0; }
.calculator-break-even-calculator .calculator-option-grid fieldset { background: var(--white); color: var(--ink); }
.calculator-decision-risk-range .calculator-input { background: #edf0ff; }

.empty-state, .error-page { max-width: 760px; padding: 90px 0 130px; }
.empty-state p, .error-page p { margin: 22px 0 30px; color: var(--muted); font-size: 1.12rem; }
.empty-state h3 { margin-top: 34px; }
.empty-state ul { margin: 18px 0 0; padding-left: 22px; }
.empty-state li + li { margin-top: 10px; }
.empty-secondary { display: inline-block; margin-left: 18px; font-weight: 850; }
.error-page h2 { margin-top: 54px; }
.error-options { margin-top: 28px; }
.error-options a { display: inline-block; margin-top: 18px; font-weight: 850; }
.error-home { margin-top: 34px; }
.pagination { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 16px; margin-top: 36px; }
.pagination a { font-weight: 850; }
.pagination span { color: var(--muted); font-size: .92rem; }

.site-footer { padding: 76px 0 30px; background: var(--ink); color: var(--white); }
.footer-grid { display: grid; grid-template-columns: 1.5fr repeat(3, 1fr); gap: 46px; }
.footer-grid > div > p { max-width: 330px; margin-top: 18px; color: #bdb9ae; }
.footer-grid nav { display: grid; align-content: start; gap: 10px; }
.footer-grid nav strong { margin-bottom: 6px; }
.footer-grid nav a { color: #bdb9ae; text-decoration: none; }
.footer-grid nav a:hover { color: var(--white); text-decoration: underline; }
.footer-bottom { margin-top: 58px; color: #918d84; font-size: .78rem; }

@media (max-width: 1180px) {
  .desktop-nav { display: none; }
  .menu-button { display: inline-flex; }
  .hero-grid { grid-template-columns: minmax(0, 1.45fr) minmax(220px, .55fr); gap: 32px; }
  .feature-grid, .poll-preview-grid, .editorial-layout, .topic-overview { grid-template-columns: 1fr; }
  .topic-intro { position: static; }
  .hero-visual { min-height: 220px; max-width: none; width: 100%; margin: 0; }
  .tool-card { grid-column: span 3; }
  .tool-card:nth-child(4), .tool-card:nth-child(5) { grid-column: span 3; }
  .story-card, .story-card.story-lead { grid-column: span 6; }
  .article-layout, .calculation-core, .audit-opening, .comparison-opening { grid-template-columns: 1fr; }
  .article-summary { position: static; max-width: 720px; }
  .calculation-core .guide-rule, .audit-opening .guide-rule { position: static; }
  .audit-sections, .diagnostic-sections, .scenario-sections, .comparison-sections { grid-template-columns: 1fr; }
  .audit-sections section:nth-child(2) h2, .diagnostic-sections section:nth-child(2) h2 { margin-top: 52px; }
  .related-grid, .contact-grid, .topic-link-grid, .semantic-grid, .faq-grid, .discovery-grid { grid-template-columns: 1fr 1fr; }
  .tool-workspace, .comparison-brief-builder, .product-method { grid-template-columns: 1fr; }
  .tool-result { position: static; min-height: 0; }
  .comparison-brief, .product-method-lead { position: static; }
  .tool-explainer { grid-template-columns: 1fr; }
  .guide-list article { grid-template-columns: 1fr 120px; }
  .guide-list article > a { grid-column: 1 / -1; }
  .footer-grid { grid-template-columns: 1.5fr 1fr 1fr; }
  .footer-grid nav:last-child { grid-column: 2; }
  .game-hub-hero { grid-template-columns: minmax(0, 1.35fr) minmax(220px, .65fr); }
  .game-card { grid-template-columns: 1fr; }
  .game-card img { height: 210px; min-height: 0; border-right: 0; border-bottom: 1.5px solid var(--ink); }
  .home-game-grid, .compact-link-grid, .question-audit-grid { grid-template-columns: 1fr 1fr; }
  .game-depth-grid { grid-template-columns: 1fr; }
  .authority-article-grid { grid-template-columns: 1fr 1fr; }
  .calculator-workspace { grid-template-columns: 1fr; }
  .calculator-result { position: static; min-height: 0; }
  .advanced-workspace, .tree-workspace, .switch-workspace, .picker-workspace { grid-template-columns: 1fr; }
  .advanced-result, .picker-result { position: static; min-height: 0; }
}

@media (max-width: 820px) {
  .hero-grid { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .hero-visual { width: min(100%, 460px); min-height: 0; justify-self: start; place-items: center start; }
  .home-starter-grid { grid-template-columns: 1fr; }
  .home-starter-copy { position: static; }
  .game-hub-hero { grid-template-columns: 1fr; }
  .game-hub-hero img { width: min(100%, 460px); }
}

@media (max-width: 680px) {
  :root { --shell: min(100% - 26px, 1180px); --radius: 0; }
  body { font-size: 16px; }
  .nav-shell { min-height: 68px; }
  .brand img { width: 38px; height: 38px; }
  .mobile-menu { inset: 68px 0 0; }
  .breadcrumb { flex-wrap: nowrap; overflow-x: auto; padding-block: 9px; white-space: nowrap; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .breadcrumb::-webkit-scrollbar { display: none; }
  .home-hero { padding: 34px 0 24px; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .hero-actions .button, .hero-actions .text-link { width: 100%; text-align: center; }
  .hero-visual { width: min(100%, 380px); min-height: 0; margin-top: 4px; }
  .hero-visual > img { border-radius: 0; }
  .home-starter { padding-block: 48px; scroll-margin-top: 76px; }
  .home-option-fields { grid-template-columns: 1fr; }
  .home-starter-result dl > div { grid-template-columns: 1fr; gap: 3px; }
  .home-starter-actions { align-items: stretch; flex-direction: column; }
  .home-starter-actions .button { width: 100%; }
  .section, .feature-band { padding-block: 64px; }
  .split-heading { grid-template-columns: 1fr; gap: 18px; }
  .tool-grid, .magazine-grid { grid-template-columns: 1fr; }
  .tool-card, .tool-card:nth-child(4), .tool-card:nth-child(5), .story-card, .story-card.story-lead { grid-column: 1; min-height: 290px; }
  .feature-grid { gap: 38px; }
  .mini-matrix { padding: 18px; }
  .mini-matrix > div { grid-template-columns: 1fr 50px 50px; }
  .score { width: 38px; height: 38px; }
  .page-hero, .tool-hero { padding-top: 52px; }
  .guide-list article { grid-template-columns: 1fr; padding: 22px; }
  .guide-list .guide-meta { margin-top: 0; }
  .article-shell { padding-top: 48px; }
  .article-layout, .format-body, .imported-prose { margin-top: 44px; }
  .worked-example { padding: 24px; }
  .guide-rule, .guide-workbook, .guide-mistakes, .format-edge, .scenario-sections section, .comparison-sections section { padding: 22px; }
  .format-calculation-layout .guide-workbook ol { grid-template-columns: 1fr; gap: 18px; }
  .format-scenario-layout > .format-example, .format-comparison-layout > .format-example, .format-diagnostic-layout > .guide-rule { margin-left: 0; }
  .related-grid, .contact-grid, .poll-list, .poll-method-strip, .two-field-grid, .matrix-name-row, .matrix-starting-point, .tool-preset-control, .product-top-controls, .product-columns, .product-cost-grid, .product-evidence-grid, .feature-pairs, .evidence-option-grid, .brief-audit-grid, .ownership-result-ledgers, .generator-custom-fields, .custom-pair-list, .glossary-grid, .topic-link-grid, .semantic-grid, .faq-grid, .decision-check-grid, .discovery-grid { grid-template-columns: 1fr; }
  .hub-checklist li { grid-template-columns: 1fr; gap: 6px; }
  .generator-stage { min-height: 0; grid-template-columns: 1fr; gap: 12px; padding-block: 26px; }
  .generator-stage > span { text-align: center; }
  .generated-option { min-height: 130px; }
  .tool-form-panel, .tool-result, .matrix-tool, .generator-tool, .product-tool, .comparison-input-board, .comparison-brief { padding: 20px; border-radius: 0; }
  .engine-method-lead, .matrix-tool-heading, .generator-heading, .ownership-formula { grid-template-columns: 1fr; gap: 14px; }
  .product-tool-heading { align-items: stretch; flex-direction: column; }
  .tool-faqs-this-or-that-generator .faq-grid article { grid-template-columns: 1fr; }
  .tool-faqs-this-or-that-generator .faq-grid article a { grid-column: 1; }
  .tool-result .result-columns, .result-score-grid { grid-template-columns: 1fr; }
  .poll-options { grid-template-columns: 1fr; }
  .empty-secondary { display: block; margin: 18px 0 0; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-grid > div { grid-column: 1 / -1; }
  .footer-grid nav:last-child { grid-column: auto; }
  .game-card-grid, .home-game-grid, .compact-link-grid, .question-audit-grid, .calibration-scale, .game-next-grid { grid-template-columns: 1fr; }
  .game-card { min-height: 0; }
  .game-card img { height: auto; }
  .game-card-copy, .game-shell { padding: 20px; }
  .game-status { align-items: flex-start; flex-direction: column; gap: 5px; }
  .tradeoff-pair { grid-template-columns: 1fr; }
  .tradeoff-pair > span { padding-block: 2px; }
  .tradeoff-pair button { min-height: 120px; }
  .authority-article-grid, .authority-reading-order, .calculator-option-grid, .calculator-field-grid { grid-template-columns: 1fr; }
  .advanced-name-grid, .advanced-field-grid, .tree-option-grid, .switch-core-grid, .advanced-score-grid { grid-template-columns: 1fr; }
  .advanced-input, .advanced-result, .pairwise-setup, .pairwise-round, .pairwise-result, .picker-board, .picker-result { padding: 20px; }
  .pairwise-choice-grid { grid-template-columns: 1fr; }
  .pairwise-choice-grid > span { text-align: center; }
  .pairwise-choice-grid button { min-height: 120px; }
  .picker-row { grid-template-columns: minmax(0, 1fr) 94px 44px; }
  .advanced-actions { align-items: stretch; flex-direction: column; }
  .advanced-actions .button { width: 100%; }
  .authority-block, .authority-card { min-height: 0; }
  .authority-format-diagnostic .boundary-block, .authority-format-review .boundary-block, .authority-format-scenario .example-block, .authority-format-forecast .example-block { grid-column: 1; }
}

/* Fixed editorial type scale across every component and viewport. */
body h1 { font-size: 48px !important; }
body h2 { font-size: 28px !important; }

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

