/* Hallmark · genre: editorial · macrostructure: Long Document · theme: Newsprint Midnight · enrichment: real photography · nav: N6 · footer: Ft4
 * Hallmark · pre-emit critique: P5 H5 E4 S5 R5 V5
 * audience: authors, experts and project owners · use: tripwire sales page · tone: adult, direct, exact
 * contrast: pass (40–41) · slop: pass (42–45) · honest: pass (46) · chrome: pass (47) · tokens: pass (48) · mobile: pass (34, 49, 50–57)
 */
@import url("./tokens.css?v=20261026-1909");
@font-face { font-family: "Manrope"; src: url("./assets/fonts/Manrope-Variable.ttf") format("truetype"); font-weight: 200 800; font-display: swap; }
@font-face { font-family: "Caveat"; src: url("./assets/fonts/Caveat-Variable.ttf") format("truetype"); font-weight: 400 700; font-display: swap; }
@font-face { font-family: "IBM Plex Mono"; src: url("./assets/fonts/IBMPlexMono-Regular.ttf") format("truetype"); font-weight: 400; font-display: swap; }
@font-face { font-family: "IBM Plex Mono"; src: url("./assets/fonts/IBMPlexMono-Medium.ttf") format("truetype"); font-weight: 500; font-display: swap; }
@font-face { font-family: "IBM Plex Mono"; src: url("./assets/fonts/IBMPlexMono-SemiBold.ttf") format("truetype"); font-weight: 600 800; font-display: swap; }

*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; overflow-x: clip; scroll-behavior: smooth; }
body {
  background: var(--color-paper);
  color: var(--color-ink);
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: 1.7;
  text-rendering: optimizeLegibility;
}
img { display: block; max-width: 100%; }
a { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a:active { color: var(--color-accent); }
a:focus-visible, summary:focus-visible {
  outline: var(--rule-heavy) solid var(--color-focus);
  outline-offset: var(--space-2xs);
}
.skip-link { position: fixed; inset-block-start: var(--space-sm); inset-inline-start: var(--space-sm); z-index: var(--z-skip); transform: translateY(-180%); background: var(--color-accent); color: var(--color-accent-ink); padding: var(--space-xs) var(--space-sm); font-family: var(--font-ui); }
.skip-link:focus { transform: none; }

.masthead { max-width: var(--page-max); margin-inline: auto; padding: var(--space-md) var(--page-gutter) 0; text-align: center; }
.mast-meta { display: flex; justify-content: space-between; gap: var(--space-sm); color: var(--color-muted); font: 700 var(--text-xs)/1.2 var(--font-ui); letter-spacing: .12em; text-transform: uppercase; }
.mast-name { margin: var(--space-md) 0 var(--space-sm); font: 800 clamp(2.3rem, 6vw, 5rem)/.86 var(--font-display); letter-spacing: -.055em; text-transform: uppercase; }
.mast-nav { display: flex; justify-content: center; gap: var(--space-lg); flex-wrap: wrap; padding-block: var(--space-sm); border-block: var(--rule-hair) solid var(--color-rule); font: 700 var(--text-sm)/1 var(--font-ui); }
.mast-nav a { text-decoration: none; white-space: nowrap; }
.mast-nav a:hover { color: var(--color-accent); }

.hero { max-width: var(--page-max); margin-inline: auto; padding: var(--space-lg) var(--page-gutter) var(--space-xl); }
.hero-grid { display: grid; gap: var(--space-lg); min-width: 0; }
.hero-copy { align-self: end; min-width: 0; }
.edition { margin: 0 0 var(--space-md); color: var(--color-accent); font: 700 var(--text-xs)/1.2 var(--font-ui); letter-spacing: .13em; text-transform: uppercase; }
h1, h2, h3 { margin: 0; font-family: var(--font-display); font-style: normal; overflow-wrap: normal; word-break: normal; hyphens: none; min-width: 0; }
h1 { max-width: 20ch; font-size: clamp(2.35rem, 4.2vw, 3.8rem); line-height: 1.03; letter-spacing: -.045em; text-transform: uppercase; }
.hero-lede { max-width: 40ch; margin: var(--space-lg) 0 0; color: var(--color-ink-soft); font-size: var(--text-md); line-height: 1.45; }
.hero-figure { position: relative; align-self: end; min-width: 0; margin: 0; background: var(--color-paper-raised); }
.hero-figure img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: center 44%; filter: saturate(.72) contrast(1.06); }
.hero-figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, var(--color-overlay), var(--color-overlay-clear) 55%); pointer-events: none; }
.hero-caption { position: absolute; z-index: 1; inset-inline: var(--space-md); inset-block-end: var(--space-md); margin: 0; color: var(--color-ink); font: 700 var(--text-xs)/1.3 var(--font-ui); letter-spacing: .08em; text-transform: uppercase; }

.proof-strip { max-width: var(--page-max); margin: var(--space-md) auto 0; padding-inline: var(--page-gutter); }
.proof-title {
  max-width: 11ch;
  margin: 0 auto clamp(2rem, 5vw, 4rem);
  color: var(--color-ink);
  font: 800 clamp(3rem, 8vw, 7.5rem)/.82 var(--font-display);
  letter-spacing: -.07em;
  text-align: center;
  text-transform: uppercase;
  text-wrap: balance;
}
.proof-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-sm); max-width: 62rem; margin-inline: auto; }
.proof-item {
  --metric-delay: 0ms;
  position: relative;
  min-height: 8.6rem;
  padding: 2.35rem var(--space-lg) 1.1rem;
  overflow: hidden;
  border: 0;
  background: transparent;
  text-align: center;
  opacity: 0;
  transform: translateY(1.25rem);
  transition: opacity 650ms var(--ease-out) var(--metric-delay), transform 650ms var(--ease-out) var(--metric-delay), border-color 300ms var(--ease-out);
}
.proof-item::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: auto 0 0;
  block-size: 0;
  background: linear-gradient(0deg, color-mix(in oklch, var(--color-accent) 18%, transparent), transparent 92%);
  transition: block-size 1450ms var(--ease-out) calc(var(--metric-delay) + 100ms);
}
.proof-item.is-visible { opacity: 1; transform: none; }
.proof-item.is-visible::before { block-size: 100%; }
.proof-item strong { position: relative; z-index: 2; display: flex; justify-content: center; flex-wrap: nowrap; align-items: baseline; color: var(--color-accent); font: 700 clamp(3.3rem, 7vw, 5.7rem)/.72 var(--font-hand); font-variant-numeric: tabular-nums; letter-spacing: -.055em; white-space: nowrap; filter: drop-shadow(0 0 1.5rem color-mix(in oklch, var(--color-accent) 22%, transparent)); transform: rotate(-1deg); }
.proof-number, .proof-suffix { display: inline; margin: 0; color: inherit; font: inherit; }
.proof-suffix { white-space: nowrap; }
.proof-description { position: relative; z-index: 2; display: block; margin-block-start: .7rem; color: var(--color-ink-soft); font: 600 var(--text-sm)/1.25 var(--font-ui); }
.proof-item small { position: absolute; z-index: 2; inset-inline-start: var(--space-sm); inset-block-start: var(--space-sm); color: var(--color-muted); font: 700 .62rem/1.2 var(--font-ui); letter-spacing: .12em; text-transform: uppercase; }
.growth-line { position: absolute; z-index: 3; inset-inline: 0; inset-block-end: 0; block-size: var(--rule-heavy); background: var(--color-accent); box-shadow: 0 0 1.4rem color-mix(in oklch, var(--color-accent) 45%, transparent); transform: scaleX(0); transform-origin: left; transition: transform 1450ms var(--ease-out) calc(var(--metric-delay) + 100ms); }
.growth-line::after { content: none; }
.proof-item.is-visible .growth-line { transform: scaleX(1); }

.proof-gallery-head { max-width: 48rem; margin: var(--space-2xl) auto var(--space-lg); text-align: center; }
.proof-gallery-head .edition { margin-block-end: var(--space-xs); }
.proof-gallery-head > p:last-child { margin: 0; color: var(--color-ink-soft); }
.proof-gallery { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-sm); max-width: 70rem; margin-inline: auto; }
.proof-confession {
  max-width: 68rem;
  margin: clamp(3.5rem, 8vw, 7rem) auto 0;
  padding-block-start: clamp(2rem, 4vw, 3.5rem);
  border-block-start: var(--rule-hair) solid var(--color-rule);
  text-align: center;
}
.proof-confession p {
  margin: 0 0 var(--space-md);
  color: var(--color-ink-soft);
  font: 700 clamp(1rem, 1.8vw, 1.35rem)/1.25 var(--font-mono);
  letter-spacing: .08em;
  text-transform: uppercase;
}
.proof-confession strong {
  display: block;
  color: var(--color-ink);
  font: 700 clamp(2.2rem, 6vw, 5.6rem)/.96 var(--font-display);
  letter-spacing: -.055em;
  text-transform: uppercase;
  text-wrap: balance;
}
.proof-confession strong::first-line { color: var(--color-accent); }
.proof-placeholder {
  margin: var(--space-sm) 0;
  padding: .9rem 1rem;
  border: 1px dashed var(--color-accent);
  color: var(--color-accent);
  background: color-mix(in srgb, var(--color-accent) 6%, transparent);
  font: 700 .78rem/1.45 var(--font-mono);
  letter-spacing: .06em;
  text-align: center;
}
.proof-shot { min-width: 0; overflow: hidden; border: var(--rule-hair) solid var(--color-rule); background: var(--color-paper-raised); text-decoration: none; transition: border-color var(--dur-short) var(--ease-out), transform var(--dur-short) var(--ease-out); }
.proof-shot-media { display: grid; place-items: center; aspect-ratio: 4 / 3; overflow: hidden; background: #f7f7f5; }
.proof-shot img { width: 100%; height: 100%; object-fit: contain; }
.proof-shot-meta { display: grid; gap: var(--space-2xs); padding: var(--space-md); text-align: center; }
.proof-shot-meta b { color: var(--color-accent); font: 800 var(--text-xs)/1.2 var(--font-ui); letter-spacing: .12em; text-transform: uppercase; }
.proof-shot-meta small { color: var(--color-ink-soft); font: 600 var(--text-xs)/1.35 var(--font-ui); }
.evidence-proofs { margin-block-start: var(--space-xl); }

.story-mentions {
  min-width: 0;
  margin-block-start: var(--space-2xl);
  padding-block: var(--space-xl);
  overflow: clip;
  border-block: var(--rule-hair) solid var(--color-rule-strong);
}
.story-mentions-copy {
  max-width: var(--measure);
  margin-inline: auto;
  padding-inline: var(--space-md);
  text-align: center;
}
.story-mentions-copy h3 {
  font-size: clamp(2rem, 5vw, var(--text-3xl));
  line-height: 1;
  letter-spacing: -.04em;
  text-transform: uppercase;
}
.story-mentions-copy p {
  margin: var(--space-md) auto 0;
  color: var(--color-ink-soft);
  font-size: var(--text-md);
}
.story-mentions-window {
  position: relative;
  width: calc(100% + (var(--page-gutter) * 2));
  margin: var(--space-xl) calc(var(--page-gutter) * -1) 0;
  overflow: clip;
  mask-image: linear-gradient(to right, transparent, var(--color-ink) 7%, var(--color-ink) 93%, transparent);
}
.story-mentions-window:focus-visible {
  outline: var(--rule-heavy) solid var(--color-focus);
  outline-offset: var(--space-2xs);
}
.story-mentions-window:hover .story-mentions-rail,
.story-mentions-window:focus-visible .story-mentions-rail {
  animation-play-state: paused;
}
.story-mentions-rail {
  display: flex;
  width: max-content;
  transform: translate3d(0, 0, 0);
  animation: story-mentions-flow calc(var(--dur-long) * 80) linear infinite;
  will-change: transform;
}
.story-mentions-group {
  display: flex;
  flex: none;
  gap: var(--space-sm);
  padding-inline-end: var(--space-sm);
}
.story-mentions figure {
  flex: none;
  width: clamp(18rem, 37vw, 32rem);
  margin: 0;
  overflow: hidden;
  border: var(--rule-hair) solid var(--color-rule);
  background: var(--color-paper-raised);
}
.story-mentions img {
  width: 100%;
  height: auto;
}
@keyframes story-mentions-flow {
  to { transform: translate3d(-50%, 0, 0); }
}

.reading { max-width: var(--measure); margin-inline: auto; padding: var(--space-3xl) var(--page-gutter); }
.reading > p { margin: 0 0 var(--space-lg); font-size: clamp(1.08rem, 1.8vw, 1.3rem); }
.reading .opening { color: var(--color-ink); font-size: clamp(1.5rem, 3vw, 2.2rem); line-height: 1.3; }
.reading strong { color: var(--color-ink); }
.reading mark { background: none; color: var(--color-accent); }
.inline-head { color: var(--color-accent); font-family: var(--font-ui); font-size: .8em; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.pullquote { margin: var(--space-2xl) 0; padding: var(--space-lg) 0 var(--space-lg) var(--space-lg); border-inline-start: var(--rule-heavy) solid var(--color-accent); color: var(--color-ink); font-size: var(--text-xl); line-height: 1.35; }
.reading-compact { max-width: var(--measure); padding-block: var(--space-xl) 0; }

.editorial-section { max-width: var(--page-max); margin-inline: auto; padding: var(--space-3xl) var(--page-gutter); border-block-start: var(--rule-hair) solid var(--color-rule); }
.section-lede { max-width: var(--measure); }
.section-lede h2, .author-section h2 { font-size: var(--text-3xl); line-height: 1.02; letter-spacing: -.035em; text-transform: uppercase; }
.section-lede > p:not(.edition), .author-section p { color: var(--color-ink-soft); font-size: var(--text-md); }
.evidence-row { display: grid; gap: var(--space-lg); margin-block-start: var(--space-2xl); padding-block: var(--space-xl); border-block: var(--rule-hair) solid var(--color-rule-strong); }
.evidence-row strong { color: var(--color-accent); font: 800 var(--text-3xl)/1 var(--font-display); font-variant-numeric: tabular-nums; }
.evidence-row p { max-width: var(--measure); margin: 0; font-size: var(--text-md); }
.competence-list { max-width: var(--measure); margin-block-start: var(--space-xl); }
.diagnosis-list, .argument-list, .syllabus-list { display: grid; gap: 0; margin-block-start: var(--space-2xl); border-block: var(--rule-hair) solid var(--color-rule-strong); }
.diagnosis-list article, .argument-list article, .syllabus-list article { padding-block: var(--space-xl); border-block-end: var(--rule-hair) solid var(--color-rule); }
.diagnosis-list { margin-block-start: var(--space-xl); }
.diagnosis-list article { padding-block: clamp(2rem, 4vw, 3.25rem); }
.diagnosis-list article:last-child, .argument-list article:last-child, .syllabus-list article:last-child { border: 0; }
.diagnosis-list b, .syllabus-list b { color: var(--color-accent); font: 800 var(--text-xs)/1.2 var(--font-ui); letter-spacing: .1em; text-transform: uppercase; }
.diagnosis-list h3, .argument-list h3, .syllabus-list h3 { margin-block-start: var(--space-xs); font-size: var(--text-xl); line-height: 1.1; }
.diagnosis-list p, .argument-list p, .syllabus-list p { max-width: var(--measure); margin: var(--space-sm) 0 0; color: var(--color-ink-soft); }
.fact-note, .short-note, .honest-note { max-width: var(--measure); margin-block-start: var(--space-xl); padding: var(--space-lg); background: var(--color-paper-raised); color: var(--color-ink-soft); font-family: var(--font-ui); }
.fact-note b, .short-note b, .honest-note b { color: var(--color-accent); }
.fact-note p, .short-note p { margin-block-end: 0; }
.fact-note a { text-decoration-color: var(--color-accent); text-underline-offset: var(--space-2xs); white-space: nowrap; }
.fit-grid { display: grid; gap: var(--space-2xl); margin-block-start: var(--space-2xl); }
.fit-grid h3 { font-size: var(--text-2xl); }
.fit-grid article:last-child { color: var(--color-ink-soft); }
.fit-grid.fit-grid-single { grid-template-columns: minmax(0, 1fr); max-width: var(--measure); margin-inline: auto; }
.fit-grid-single article:last-child { color: var(--color-ink); }
.parameter-list { columns: 1; }
.outcome-list { display: grid; gap: 0; margin: var(--space-2xl) 0 0; padding: 0; list-style: none; counter-reset: outcome; border-block: var(--rule-hair) solid var(--color-rule-strong); }
.outcome-list li { counter-increment: outcome; position: relative; padding: var(--space-md) 0 var(--space-md) var(--space-2xl); border-block-end: var(--rule-hair) solid var(--color-rule); font-size: var(--text-md); }
.outcome-list li:last-child { border: 0; }
.outcome-list li::before { content: counter(outcome, decimal-leading-zero); position: absolute; inset-inline-start: 0; color: var(--color-accent); font: 800 var(--text-sm)/1.7 var(--font-ui); font-variant-numeric: tabular-nums; }

.program { border-block-start: var(--rule-hair) solid var(--color-rule); }
.program-intro { max-width: var(--measure); margin-inline: auto; padding: var(--space-3xl) var(--page-gutter) var(--space-2xl); }
.program-intro h2 { font-size: var(--text-3xl); line-height: 1; letter-spacing: -.035em; text-transform: uppercase; }
.program-intro p { margin: var(--space-lg) 0 0; color: var(--color-ink-soft); font-size: var(--text-md); }
.reveal-list { max-width: var(--page-max); margin-inline: auto; padding-inline: var(--page-gutter); counter-reset: reveal; }
.reveal { counter-increment: reveal; display: grid; gap: var(--space-lg); padding-block: var(--space-3xl); border-block-start: var(--rule-hair) solid var(--color-rule); }
.reveal-index { color: var(--color-accent); font: 800 var(--text-3xl)/1 var(--font-display); font-variant-numeric: tabular-nums; }
.reveal-index::before { content: counter(reveal, decimal-leading-zero); }
.reveal-body { max-width: var(--measure); min-width: 0; }
.reveal-label { margin: 0 0 var(--space-sm); color: var(--color-muted); font: 800 var(--text-xs)/1.2 var(--font-ui); letter-spacing: .12em; text-transform: uppercase; }
.reveal h3 { font-size: clamp(2rem, 4vw, 3.8rem); line-height: .98; letter-spacing: -.035em; }
.reveal-body > p { margin: var(--space-lg) 0 0; font-size: var(--text-md); }
.reveal-body > p + p { color: var(--color-ink-soft); }
.inside { display: grid; gap: 0; margin: var(--space-xl) 0 0; padding: 0; list-style: none; border-block: var(--rule-hair) solid var(--color-rule); }
.inside li { position: relative; padding: var(--space-sm) 0 var(--space-sm) var(--space-lg); border-block-end: var(--rule-hair) solid var(--color-rule); }
.inside li:last-child { border: 0; }
.inside li::before { content: "—"; position: absolute; inset-inline-start: 0; color: var(--color-accent); }
.psychology-shift { max-width: var(--measure); margin: var(--space-xl) auto 0; padding: var(--space-xl); border-block: var(--rule-hair) solid var(--color-rule-strong); background: var(--color-paper-raised); text-align: center; }
.psychology-shift h4 { margin: 0; color: var(--color-ink); font: 800 var(--text-xl)/1.2 var(--font-display); letter-spacing: -.02em; overflow-wrap: normal; word-break: normal; }
.psychology-shift p { margin: var(--space-md) auto 0; color: var(--color-ink-soft); }
.psychology-shift strong { color: var(--color-accent); }
.next-step { margin-block-start: var(--space-xl); padding: var(--space-md); background: var(--color-paper-raised); color: var(--color-ink); font-family: var(--font-ui); font-size: var(--text-sm); }
.next-step b { color: var(--color-accent); }

.tools { max-width: var(--page-max); margin-inline: auto; padding: var(--space-3xl) var(--page-gutter); border-block-start: var(--rule-hair) solid var(--color-rule); }
.tools-head { max-width: var(--measure); }
.tools h2, .pricing-section h2, .faq-section h2 { font-size: var(--text-3xl); line-height: 1; letter-spacing: -.035em; text-transform: uppercase; }
.tools-head p { color: var(--color-ink-soft); font-size: var(--text-md); }
.tool-list { display: grid; margin-block-start: var(--space-2xl); border-block: var(--rule-hair) solid var(--color-rule-strong); }
.tool { display: grid; gap: var(--space-sm); padding-block: var(--space-lg); border-block-end: var(--rule-hair) solid var(--color-rule); }
.tool:last-child { border: 0; }
.tool b { color: var(--color-accent); font: 800 var(--text-sm)/1 var(--font-ui); }
.tool h3 { font-size: var(--text-lg); }
.tool p { margin: 0; color: var(--color-ink-soft); }

.analyzer { margin-block: var(--space-2xl); background: var(--color-paper-raised); }
.analyzer-inner { max-width: var(--page-max); margin-inline: auto; padding: var(--space-3xl) var(--page-gutter); }
.analyzer-grid { display: grid; gap: var(--space-xl); }
.analyzer h2 { max-width: 13ch; font-size: var(--text-3xl); line-height: 1; letter-spacing: -.035em; text-transform: uppercase; }
.analyzer p { max-width: var(--measure); }
.analyzer .inside { margin-block-end: 0; }
.author-grid { display: grid; gap: var(--space-xl); min-width: 0; }
.author-grid img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: center 44%; filter: saturate(.72) contrast(1.06); }
.author-grid > div { min-width: 0; }
.bridge-section { background: var(--color-paper-raised); }

.pricing-section, .faq-section { max-width: var(--page-max); margin-inline: auto; padding: var(--space-3xl) var(--page-gutter); }
.pricing { display: grid; gap: var(--space-xl); margin-block-start: var(--space-2xl); }
.price { padding-block: var(--space-xl); border-block: var(--rule-hair) solid var(--color-rule-strong); }
.price-name { color: var(--color-muted); font: 800 var(--text-xs)/1.2 var(--font-ui); letter-spacing: .12em; text-transform: uppercase; }
.price-value { display: block; margin-block: var(--space-md); color: var(--color-ink); font: 800 var(--text-3xl)/1 var(--font-display); font-variant-numeric: tabular-nums; }
.price ul { padding-inline-start: var(--space-lg); color: var(--color-ink-soft); }
.cta { display: inline-flex; align-items: center; justify-content: space-between; gap: var(--space-lg); min-height: var(--control-height); margin-block-start: var(--space-lg); padding: var(--space-sm) var(--space-md); border: var(--rule-hair) solid var(--color-accent); color: var(--color-ink); font: 800 var(--text-sm)/1 var(--font-ui); text-decoration: none; white-space: nowrap; transition: color var(--dur-short) var(--ease-out), background-color var(--dur-short) var(--ease-out), transform var(--dur-micro) var(--ease-out); }
.cta:hover { background: var(--color-accent); color: var(--color-accent-ink); }
.cta:active { transform: translateY(1px); }
.cta[aria-disabled="true"] { cursor: not-allowed; opacity: .55; pointer-events: none; }
.tariff-guide { display: grid; gap: var(--space-2xl); margin-block-start: var(--space-2xl); padding-block-start: var(--space-2xl); border-block-start: var(--rule-hair) solid var(--color-rule); }
.tariff-guide h3 { font-size: var(--text-xl); }

.faq { margin-block-start: var(--space-2xl); border-block-start: var(--rule-hair) solid var(--color-rule-strong); }
.faq details { border-block-end: var(--rule-hair) solid var(--color-rule); }
.faq summary { cursor: pointer; padding-block: var(--space-lg); font-family: var(--font-ui); font-size: var(--text-md); font-weight: 700; }
.faq summary:active { color: var(--color-accent); }
.faq details p { max-width: var(--measure); margin: 0 0 var(--space-lg); color: var(--color-ink-soft); }

.closing { background: var(--color-ink); color: var(--color-paper); }
.closing-inner { max-width: var(--measure); margin-inline: auto; padding: var(--space-3xl) var(--page-gutter); }
.closing h2 { font-size: var(--text-3xl); line-height: 1; letter-spacing: -.035em; text-transform: uppercase; }
.closing p { font-size: var(--text-md); }
.closing .cta { color: var(--color-paper); }
.disclaimer { color: var(--color-muted); font-size: var(--text-xs) !important; font-family: var(--font-ui); }

.colophon { max-width: var(--page-max); margin-inline: auto; padding: var(--space-xl) var(--page-gutter); }
.colophon-row { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--space-lg); flex-wrap: wrap; padding-block-start: var(--space-md); border-block-start: var(--rule-hair) solid var(--color-rule); color: var(--color-muted); font: 700 var(--text-xs)/1.4 var(--font-ui); }
.colophon a { white-space: nowrap; }
.legal-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 14px 24px; margin-top: 24px; color: var(--color-muted); font: 500 12px/1.6 var(--font-ui); }
.legal-links a { white-space: normal; text-decoration: underline; text-underline-offset: 3px; }
.payment-terms { color: var(--color-muted); font: 500 12px/1.6 var(--font-ui); margin: 16px 0 0; }
.payment-terms a { text-decoration: underline; text-underline-offset: 3px; }

@media (min-width: 40rem) {
  .proof-list { grid-template-columns: repeat(12, minmax(0, 1fr)); }
  .proof-item { grid-column: span 6; }
  .proof-item:nth-child(3), .proof-item:nth-child(4), .proof-item:nth-child(5) { grid-column: span 4; }
  .tool { grid-template-columns: 4rem minmax(0, .8fr) minmax(0, 1.2fr); align-items: baseline; }
  .pricing { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .evidence-row { grid-template-columns: minmax(0, .65fr) minmax(0, 1.35fr); align-items: center; }
  .fit-grid, .tariff-guide { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .parameter-list { columns: 2; column-gap: var(--space-2xl); }
  .author-grid { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: center; }
  .proof-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 60rem) {
  .hero { padding-block-start: var(--space-lg); padding-block-end: var(--space-xl); }
  .hero-grid { grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); align-items: end; }
  .hero-copy { padding-block-end: var(--space-lg); }
  .reveal { grid-template-columns: minmax(0, 1fr); gap: var(--space-lg); }
  .reveal:nth-child(even) .reveal-body { margin-inline: auto; }
  .analyzer-grid { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
  .proof-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (hover: hover) and (pointer: fine) {
  .mast-nav a, .colophon a { transition: color var(--dur-short) var(--ease-out); }
  .proof-shot:hover { border-color: var(--color-accent); transform: translateY(-.2rem); }
}
@media (pointer: coarse) { .cta { min-height: var(--control-height); } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 150ms !important; animation-iteration-count: 1 !important; transition-duration: 150ms !important; }
  .proof-item { opacity: 1; transform: none; }
  .proof-item::after { transform: scale(1); }
  .proof-item .growth-line { transform: scaleX(1); }
  .story-mentions-window { width: 100%; margin-inline: 0; mask-image: none; }
  .story-mentions-rail { width: auto; animation: none; will-change: auto; }
  .story-mentions-group { flex-wrap: wrap; width: 100%; padding: 0; }
  .story-mentions-group[aria-hidden="true"] { display: none; }
  .story-mentions figure { flex: 1 1 18rem; width: auto; }
}

/* First-landing visual system: full-screen photographic hero + mineral interface */
.masthead {
  position: absolute;
  z-index: 20;
  inset-block-start: 0;
  inset-inline: 0;
  max-width: none;
  height: 6.5rem;
  padding: 0 var(--page-gutter);
  border-block-end: var(--rule-hair) solid var(--color-rule);
  background: rgba(7, 10, 9, .7);
  backdrop-filter: blur(1.125rem);
  text-align: start;
}
.mast-meta { height: 100%; align-items: center; color: var(--color-ink); }
.mast-brand, .mast-status { display: flex; align-items: center; gap: var(--space-sm); white-space: nowrap; }
.mast-brand i { inline-size: .7rem; block-size: .7rem; background: var(--color-accent); box-shadow: 0 0 1.1rem rgba(22, 255, 106, .55); }
.mast-status { color: var(--color-ink-soft); font-weight: 500; }
.mast-status i { inline-size: .55rem; block-size: .55rem; border-radius: 50%; background: var(--color-accent); box-shadow: 0 0 1rem rgba(22, 255, 106, .62); }
.mast-name, .mast-nav { display: none; }

.hero {
  position: relative;
  isolation: isolate;
  max-width: none;
  min-height: 100svh;
  margin: 0;
  padding: 6.5rem var(--page-gutter) 3.5rem;
  overflow: hidden;
  background: radial-gradient(circle at 75% 36%, rgba(22, 255, 106, .1), transparent 30%), linear-gradient(110deg, var(--color-paper), var(--color-paper-soft) 67%, var(--color-paper));
}
.hero::before, .hero::after { content: ""; position: absolute; z-index: -1; inset: 0; pointer-events: none; }
.hero::before { z-index: 0; background: linear-gradient(90deg, rgba(7, 10, 9, .99) 0%, rgba(7, 10, 9, .92) 34%, rgba(7, 10, 9, .48) 56%, rgba(7, 10, 9, .04) 80%), linear-gradient(180deg, rgba(7, 10, 9, .32), transparent 28%, transparent 70%, rgba(7, 10, 9, .93)); }
.hero::after { z-index: 1; background: linear-gradient(90deg, rgba(22, 255, 106, .11), transparent 1px); background-size: 1px 100%; opacity: .5; }
.hero-kicker {
  position: absolute;
  z-index: 5;
  inset-block-start: clamp(5rem, 10vh, 7.5rem);
  inset-inline: var(--page-gutter);
  margin: 0;
  color: var(--color-accent);
  font: 700 clamp(2.4rem, 4.4vw, 4.8rem)/.85 "Caveat", cursive;
  letter-spacing: .01em;
  text-align: center;
  text-transform: none;
  text-shadow: 0 0 1.3rem rgba(22, 255, 106, .22), 0 .2rem 1.4rem rgba(0, 0, 0, .72);
  transform: rotate(-1.4deg);
}
.hero-grid { min-height: calc(100svh - 10rem); display: flex; align-items: flex-end; }
.hero-copy { position: relative; z-index: 4; width: min(49rem, 58vw); padding-block-end: 1.5rem; }
.hero .edition { display: flex; align-items: center; gap: 1rem; margin-block-end: 1.6rem; color: var(--color-ink-soft); }
.hero .edition::before { content: ""; inline-size: 3.4rem; block-size: var(--rule-hair); background: linear-gradient(90deg, var(--color-accent), transparent); }
h1 { max-width: 14ch; font-size: clamp(2.35rem, 3.65vw, 4rem); line-height: .99; letter-spacing: -.055em; text-transform: uppercase; text-shadow: 0 .3rem 2rem rgba(0, 0, 0, .55); }
h1 span { display: block; margin-block-start: .12em; color: var(--color-accent); }
.hero-lede { max-width: 48rem; margin-block-start: 1.75rem; color: var(--color-ink-soft); font-size: clamp(1rem, 1.45vw, 1.3rem); text-shadow: 0 .15rem 1rem rgba(0, 0, 0, .65); }
.hero-figure { position: absolute; z-index: -1; inset-block: 6.5rem 0; inset-inline-end: 0; width: min(62vw, 58rem); margin: 0; background: transparent; }
.hero-figure img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: contain; object-position: right center; filter: saturate(.76) contrast(1.05) brightness(.88); }
.hero-figure::after { inset: 0; background: radial-gradient(ellipse at 65% 46%, transparent 18%, rgba(0, 0, 0, .24) 78%); }
.hero-caption { display: none; }

.proof-strip { margin-block-start: 0; padding-block: var(--space-3xl); border-block-end: var(--rule-hair) solid var(--color-rule); }
.editorial-section, .program, .tools, .pricing-section, .faq-section { border-color: var(--color-rule); }
.section-lede h2, .author-section h2, .program-intro h2, .tools h2, .pricing-section h2, .faq-section h2, .closing h2 { font-size: clamp(2.7rem, 6.4vw, 6rem); letter-spacing: -.065em; }
.reveal h3 { letter-spacing: -.055em; }
.fact-note, .short-note, .honest-note, .next-step, .analyzer, .bridge-section { background: rgba(22, 255, 106, .045); }
.price { padding: var(--space-xl); border: var(--rule-hair) solid var(--color-rule); background: var(--color-paper-raised); }
.price-value { color: var(--color-accent); }
.closing { color: var(--color-ink); background: radial-gradient(circle at 50% 35%, rgba(22, 255, 106, .1), transparent 42%), var(--color-paper); border-block-start: var(--rule-hair) solid var(--color-rule); }
.closing .cta { color: var(--color-ink); }

@media (max-width: 47.99rem) {
  .masthead { height: 3.65rem; padding-inline: var(--space-md); }
  .mast-meta { font-size: .46rem; }
  .mast-brand i { inline-size: .5rem; block-size: .5rem; }
  .hero { min-height: 100svh; padding: 3.65rem var(--space-md) 1.75rem; }
  .hero-kicker {
    inset-block-start: 4.7rem;
    inset-inline: var(--space-md);
    font-size: clamp(2rem, 10vw, 3rem);
    letter-spacing: 0;
  }
  .hero-grid { min-height: calc(100svh - 5.4rem); align-items: flex-end; }
  .hero-copy { width: 100%; padding: 0; }
  .hero .edition { margin-block-end: .65rem; font-size: .48rem; }
  .hero .edition::before { inline-size: 2rem; }
  h1 { max-width: 24ch; font-size: clamp(1.45rem, 5.2vw, 2.15rem); line-height: .9; }
  .hero-lede { max-width: 34rem; margin-block-start: .8rem; font-size: .72rem; line-height: 1.45; }
  .hero-figure { inset-block: 3.65rem 0; width: 100%; }
  .hero-figure img { object-position: center bottom; filter: saturate(.76) contrast(1.05) brightness(.7); }
  .hero::before { background: linear-gradient(180deg, rgba(7, 10, 9, .26) 0%, rgba(7, 10, 9, .1) 34%, rgba(7, 10, 9, .25) 53%, rgba(7, 10, 9, .94) 77%, var(--color-paper) 100%); }
}

@media (min-width: 48rem) and (max-width: 70rem) {
  .hero-copy { width: min(45rem, 61vw); }
  h1 { font-size: clamp(2.3rem, 3.85vw, 3.35rem); }
  .hero-figure { width: 64vw; }
}

/* Centered editorial experiment */
main { text-align: center; }

.hero-copy,
.section-lede,
.competence-list,
.program-intro,
.tools-head,
.analyzer h2,
.analyzer p,
.reveal-body,
.fact-note,
.short-note,
.honest-note,
.faq details p,
.closing-inner {
  margin-inline: auto;
}

.hero-copy { text-align: center; }
.hero .edition { justify-content: center; }
h1,
.hero-lede { margin-inline: auto; }

.proof-item strong { justify-content: center; }
.proof-description { margin-inline: auto; }
.proof-item small { inset-inline: 0; text-align: center; }

.evidence-row,
.diagnosis-list article,
.argument-list article,
.syllabus-list article,
.reveal,
.tool,
.price,
.tariff-guide article,
.fit-grid article,
.analyzer-grid > div,
.author-grid > div,
.faq details,
.closing-inner,
.colophon-row {
  text-align: center;
}

.evidence-row p,
.diagnosis-list p,
.argument-list p,
.syllabus-list p,
.reveal-body > p,
.tool p {
  margin-inline: auto;
}

.inside {
  justify-items: center;
}
.inside li {
  width: 100%;
  padding-inline: var(--space-lg);
  text-align: center;
}
.inside li::before {
  position: static;
  margin-inline-end: .45em;
}

.outcome-list li {
  padding-inline: var(--space-2xl);
  text-align: center;
}
.outcome-list li::before {
  position: static;
  display: inline-block;
  margin-inline-end: .65em;
}

.price ul {
  padding: 0;
  list-style-position: inside;
}
.cta { justify-content: center; }
.faq summary { text-align: center; }
.colophon-row { justify-content: center; }

@media (min-width: 60rem) {
  .hero-copy {
    width: min(86rem, 94vw);
    margin-inline: auto;
    padding-block-end: .6rem;
  }
  .hero h1 {
    max-width: 26ch;
    font-size: clamp(1.95rem, 2.6vw, 3rem);
    line-height: .88;
    letter-spacing: -.06em;
  }
  .hero-lede { max-width: 58rem; }
  .reveal:nth-child(even) .reveal-body { margin-inline: auto; }
}

@media (min-width: 48rem) and (max-width: 59.99rem) {
  .hero-copy { width: min(58rem, 82vw); margin-inline: auto; }
  .hero h1 { max-width: 19ch; font-size: clamp(2rem, 3.5vw, 2.8rem); line-height: .92; }
}

/* Responsive typography: headings use the section width; prose keeps a readable measure. */
.section-lede, .tools-head { width: 100%; max-width: 70rem; }
.section-lede > p, .tools-head > p { max-width: 65ch; margin-inline: auto; }
.program-intro, .closing-inner { max-width: var(--page-max); }
.program-intro > p, .closing-inner > p { max-width: 65ch; margin-inline: auto; }
.section-lede h2, .author-section h2, .program-intro h2, .tools h2,
.pricing-section h2, .faq-section h2, .closing h2 {
  font-size: clamp(1.8rem, 4.8vw, 4.25rem);
  line-height: 1.08;
  letter-spacing: -.025em;
  max-width: 100%;
}
.hero h1 { line-height: 1.06; letter-spacing: -.025em; }
.reveal h3 { font-size: clamp(1.6rem, 3.3vw, 2.8rem); line-height: 1.14; letter-spacing: -.02em; }
.analyzer h2 { max-width: 100%; line-height: 1.12; letter-spacing: -.02em; }
.proof-title { letter-spacing: -.025em; line-height: 1; font-size: clamp(2.1rem, 6vw, 5rem); }
.edition, .reveal-label, .price-name { letter-spacing: .06em; line-height: 1.5; }
.editorial-section, .tools, .pricing-section, .faq-section, .analyzer-inner,
.closing-inner { padding-block: clamp(2.5rem, 5vw, 4.5rem); }
.program-intro { padding-top: clamp(2.5rem, 5vw, 4.5rem); padding-bottom: 2rem; }
.reveal { padding-block: clamp(2rem, 4vw, 3.5rem); }
.reveal-index { text-align: center; }
.reveal-body { width: 100%; margin-inline: auto; }
.reading { padding-block: clamp(2.5rem, 5vw, 4.5rem); }
.reading-compact { padding-block: 1.5rem 0; }
.proof-strip { padding-block: clamp(2rem, 4vw, 3.5rem); }
.section-lede > p:not(.edition), .program-intro p, .tools-head p, .closing p,
.reveal-body > p { font-size: clamp(1rem, 1.4vw, 1.2rem); line-height: 1.65; }
.inside li { line-height: 1.6; }
.fact-note a { white-space: normal; }
@media (max-width: 47.99rem) {
  .psychology-shift { padding: 1.25rem; }
  .inside li { padding-inline: .5rem; }
  .outcome-list li { padding-inline: .5rem; font-size: 1rem; }
  .reveal h3 { font-size: clamp(1.5rem, 6vw, 2rem); }
  .price { padding: 1.5rem 1rem; }
  .cta { max-width: 100%; white-space: normal; line-height: 1.4; }
}

/* Explicit image bounds and stacking work consistently across Safari and Chrome. */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
.hero { min-height: 100vh; min-height: 100svh; }
.hero-grid { position: static; }
.hero-figure {
  z-index: 0;
  top: 6.5rem;
  right: 0;
  bottom: 0;
  left: auto;
  height: calc(100% - 6.5rem);
  width: min(62vw, 58rem);
}
.hero-figure img { height: 100%; width: 100%; object-fit: contain; object-position: right top; }
.hero::before { z-index: 1; }
.hero::after { z-index: 2; }
.hero-copy { z-index: 3; }
.hero-kicker { top: 8rem; inset-block-start: 8rem; z-index: 4; }
@media (max-width: 47.99rem) {
  .hero { --hero-height: clamp(44rem, 100svh, 56rem); padding: 8.25rem var(--space-md) 2rem; min-height: var(--hero-height); }
  .hero-kicker { top: 5.1rem; inset-block-start: 5.1rem; font-size: clamp(2rem, 8vw, 3rem); line-height: 1; }
  .hero-grid { min-height: calc(var(--hero-height) - 10.25rem); display: flex; flex-direction: row; align-items: flex-end; gap: 0; }
  .hero-figure { position: absolute; top: 3.65rem; right: 0; bottom: 0; left: 0; inset-block: 3.65rem 0; width: 100%; height: calc(100% - 3.65rem); }
  .hero-figure img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; object-position: 62% top; filter: saturate(.76) contrast(1.05) brightness(.94); }
  .hero::before { background: linear-gradient(180deg, rgba(7,10,9,.24) 0%, rgba(7,10,9,.08) 35%, rgba(7,10,9,.72) 58%, rgba(7,10,9,.96) 86%, var(--color-paper) 100%); }
  .hero-figure::after { background: linear-gradient(180deg, transparent 55%, rgba(7,10,9,.3)); }
  .hero-copy { width: 100%; margin-top: 0; padding: 0; }
  .hero h1 { max-width: 30ch; font-size: clamp(1.4rem, 5.2vw, 2.15rem); line-height: 1.06; letter-spacing: -.045em; }
  .hero-lede { font-size: .9rem; line-height: 1.55; }
  .section-lede h2, .author-section h2, .program-intro h2, .tools h2, .pricing-section h2, .faq-section h2, .closing h2 { font-size: clamp(2rem, 8vw, 2.8rem); line-height: 1.02; }
  .mast-brand, .mast-status { gap: .4rem; }
}
