:root {
  color-scheme:light;
  --ink:#10283f;
  --muted:#52677a;
  --accent:#235ed4;
  --line:#d7e1ea;
  --wash:#f0f5fa;
  --serif:Georgia,'Times New Roman',serif;
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  color:var(--ink);
  background:#fff;
  font-size:16px}
* {
  box-sizing:border-box}
html {
  scroll-behavior:smooth;
  scroll-padding-top:1.5rem}
body {
  margin:0}
p {
  line-height:1.7;
  margin:0 0 1.25rem}
h1,h2,h3,h4 {
  margin:0}
h1,h2 {
  font-family:var(--serif);
  font-weight:400;
  letter-spacing:-.045em;
  line-height:1.08}
h1 {
  font-size:clamp(3rem,5.8vw,5.7rem)}
h2 {
  font-size:clamp(2.5rem,4.2vw,4rem)}
h3 {
  font-size:1.15rem;
  line-height:1.4;
  letter-spacing:-.02em}
h4 {
  font-size:.9rem;
  line-height:1.5}
em {
  font-weight:400;
  color:var(--accent)}
a {
  color:inherit;
  text-decoration:none}
button {
  font:inherit;
  cursor:pointer}
a:focus-visible,button:focus-visible {
  outline:3px solid var(--accent);
  outline-offset:5px}
button,a {
  touch-action:manipulation}
button[hidden],[hidden] {
  display:none!important}
.wrap {
  width:min(1220px,calc(100% - 96px));
  margin-inline:auto}
.eyebrow {
  font-size:.7rem;
  font-weight:650;
  letter-spacing:.13em;
  text-transform:uppercase;
  line-height:1.7;
  margin:0 0 1.6rem}
.lead {
  font-size:1.18rem;
  line-height:1.65}
.muted {
  color:var(--muted)}
.skip-link {
  position:fixed;
  z-index:50;
  top:8px;
  left:8px;
  transform:translateY(-200%);
  background:var(--ink);
  color:white;
  padding:1rem}
.skip-link:focus {
  transform:none}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap}
.review-banner {
  padding:.4rem 1rem;
  text-align:center;
  font-size:.75rem;
  background:#e6edfc;
  color:var(--ink)}
.site-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  padding-block:1.6rem;
  border-bottom:1px solid var(--line)}
.brand {
  display:flex;
  align-items:center;
  gap:.7rem;
  font-size:1rem;
  line-height:1.1;
  font-weight:600;
  letter-spacing:-.02em}
.brand-mark {
  display:grid;
  place-items:center;
  background:var(--ink);
  color:white;
  width:42px;
  height:42px;
  font-family:var(--serif);
  font-size:1rem;
  font-weight:400}
.brand-sub {
  display:block;
  font-size:.63rem;
  text-transform:uppercase;
  font-weight:400;
  letter-spacing:.2em;
  margin-top:.45rem}
nav {
  display:flex;
  gap:1.7rem;
  font-size:.8rem}
nav a {
  display:flex;
  align-items:center;
  min-height:44px;
  gap:.3rem}
nav a:hover,.text-link:hover {
  color:var(--accent)}
.hero {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:4rem;
  align-items:center;
  padding-block:6rem 7rem;
  min-height:760px}
.hero-intro {
  font-size:1.2rem;
  color:var(--muted);
  margin-top:2rem;
  max-width:33rem}
.hero-context {
  max-width:31rem;
  font-size:.93rem;
  color:var(--muted)}
.hero-actions {
  display:flex;
  gap:1.6rem;
  align-items:center;
  flex-wrap:wrap;
  margin-top:2rem}
.button {
  display:inline-flex;
  gap:1.5rem;
  align-items:center;
  justify-content:space-between;
  min-height:50px;
  background:var(--ink);
  color:#fff;
  padding:.9rem 1.3rem;
  font-size:.85rem;
  font-weight:600}
.button:hover {
  background:var(--accent)}
.text-link {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  border-bottom:1px solid var(--line);
  font-size:.85rem;
  font-weight:600}
.hero-art {
  position:relative;
  background:var(--wash);
  border:1px solid var(--line);
  padding:2rem;
  overflow:hidden;
  box-shadow:0 20px 60px #10283f08}
.art-top {
  display:flex;
  justify-content:space-between;
  font-size:.65rem;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--muted);
  margin-bottom:3rem}
.art-inputs {
  display:flex;
  justify-content:space-between;
  gap:.6rem;
  text-align:center;
  font-size:.75rem;
  line-height:1.5}
.art-inputs span {
  background:white;
  border:1px solid var(--line);
  padding:.7rem;
  flex:1}
.model-core {
  position:relative;
  display:flex;
  flex-direction:column;
  gap:.7rem;
  margin-top:3rem;
  padding:1.7rem 1rem;
  text-align:center;
  background:var(--ink);
  color:white}
.model-core:before {
  content:'';
  position:absolute;
  bottom:100%;
  height:3rem;
  width:1px;
  background:#94a8bf;
  left:50%}
.model-core .eyebrow {
  margin:0;
  color:#abc5ed;
  font-size:.62rem}
.model-core strong {
  font-family:var(--serif);
  font-weight:400;
  font-size:1.6rem;
  letter-spacing:-.03em}
.model-core>span:last-child {
  font-size:.75rem;
  color:#c7d8e9}
.art-branch {
  display:flex;
  justify-content:space-around;
  height:2rem}
.art-branch span {
  width:1px;
  background:#94a8bf}
.art-outcomes {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1rem}
.art-outcomes>div {
  padding:1rem;
  background:#fff;
  border:1px solid var(--line);
  display:flex;
  flex-direction:column;
  gap:.7rem}
.art-outcomes small {
  font-size:.6rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--accent)}
.art-outcomes strong {
  font-size:.9rem;
  line-height:1.4}
.art-outcomes span {
  font-size:.7rem;
  color:var(--muted);
  line-height:1.4}
.art-caption {
  font-size:.72rem;
  color:var(--muted);
  margin:1.5rem 0 0;
  text-align:center}
.chapter-strip {
  border-block:1px solid var(--line)}
.chapter-strip .wrap {
  display:flex;
  gap:2rem;
  justify-content:space-between;
  align-items:center;
  min-height:72px;
  font-size:.78rem}
.chapter-strip .wrap>span {
  font-family:var(--serif);
  font-size:1.1rem;
  font-style:italic}
.chapter-strip a {
  padding-block:1rem}
.chapter {
  display:grid;
  grid-template-columns:1fr 1.08fr;
  align-items:start;
  gap:7rem;
  padding-block:7rem}
.chapter-copy h2 {
  margin-bottom:2rem}
.chapter-copy>p:not(.eyebrow) {
  color:var(--muted)}
.sticky-copy {
  position:sticky;
  top:2.5rem}
.fine-rule {
  border-top:1px solid var(--line);
  padding-top:1.5rem;
  margin-top:2rem;
  font-size:.9rem}
.mechanics article {
  display:flex;
  gap:1.1rem;
  border-top:1px solid var(--line);
  padding:2rem 0}
.mechanics article:first-child {
  border-top:2px solid var(--accent)}
.step-number {
  font-size:.7rem;
  color:var(--accent);
  padding-top:.3rem}
.mechanics h3 {
  margin-bottom:.8rem}
.mechanics p {
  font-size:.94rem;
  color:var(--muted)}
.flow-line {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:.4rem;
  font-size:.7rem;
  background:var(--wash);
  padding:1rem}
.flow-line b {
  color:var(--accent);
  font-weight:400}
.cost-pair {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:.7rem;
  font-size:.75rem}
.cost-pair>span {
  border:1px solid var(--line);
  padding:.9rem}
.cost-pair small {
  display:block;
  color:var(--muted);
  margin-top:.5rem;
  font-size:.7rem}
.mechanics .formula {
  font-size:.8rem;
  padding:1rem;
  background:var(--wash);
  color:var(--ink);
  margin-bottom:.5rem}
.formula strong {
  display:block;
  font-size:1rem;
  margin-top:.5rem}
.mechanics small.muted {
  font-size:.7rem;
  line-height:1.5;
  display:block}
.forecast-band {
  background:var(--ink);
  color:#fff}
.forecast-band .chapter-copy>p:not(.eyebrow) {
  color:#c5d6e6}
.forecast-band em {
  color:#9dbfff}
.forecast-band .eyebrow {
  color:#a7c5e5}
.forecast-sheet {
  background:#fff;
  color:var(--ink);
  box-shadow:0 15px 40px #0002;
  padding:1.5rem}
.sheet-top {
  display:flex;
  align-items:center;
  gap:.8rem;
  border-bottom:1px solid var(--line);
  padding-bottom:1.3rem}
.sheet-top strong {
  display:block;
  font-size:.95rem}
.sheet-top small {
  display:block;
  font-size:.65rem;
  color:var(--muted);
  margin-top:.4rem}
.sheet-icon {
  font-size:1.7rem;
  color:var(--accent)}
.sheet-group {
  padding-top:1.4rem}
.field-tag {
  display:block;
  font-size:.62rem;
  text-transform:uppercase;
  letter-spacing:.09em;
  color:var(--accent);
  margin-bottom:.4rem}
.sheet-group h3 {
  font-size:.95rem;
  margin-bottom:.8rem}
.sheet-field {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.7rem 0;
  border-bottom:1px solid var(--line);
  font-size:.75rem;
  line-height:1.5}
.input-token {
  font-size:.65rem;
  white-space:nowrap;
  background:var(--wash);
  color:var(--accent);
  padding:.4rem .5rem}
.source-key {
  display:flex;
  gap:.5rem;
  flex-wrap:wrap;
  font-size:.6rem;
  margin-block:1.3rem;
  color:var(--muted)}
.source-key span:before {
  content:'•';
  margin-right:.3rem;
  color:var(--accent)}
.sheet-footer {
  background:var(--wash);
  padding:1rem;
  display:flex;
  flex-direction:column;
  gap:.5rem;
  font-size:.75rem}
.sheet-footer span {
  color:var(--muted);
  font-size:.7rem}
.interface-note {
  font-size:.65rem;
  color:var(--muted);
  line-height:1.6;
  margin:1rem 0 0}
.scenario-section {
  padding-block:7rem}
.scenario-intro {
  max-width:640px;
  margin:0 auto 3.5rem;
  text-align:center}
.scenario-intro h2 {
  font-size:clamp(3rem,5vw,4.7rem);
  margin-bottom:1.7rem}
.scenario-intro .lead {
  color:var(--muted)}
.scenario-topics {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2.5rem;
  margin-bottom:3rem}
.scenario-topics>div {
  border-top:1px solid var(--line);
  padding-top:1.3rem}
.scenario-topics span {
  font-size:.7rem;
  color:var(--accent)}
.scenario-topics h3 {
  margin:.6rem 0}
.scenario-topics p {
  font-size:.88rem;
  color:var(--muted);
  margin:0}
.demo-shell {
  border:1px solid var(--line);
  background:var(--wash);
  padding:2rem}
.demo-label {
  display:flex;
  align-items:center;
  gap:.5rem;
  font-size:.7rem;
  flex-wrap:wrap}
.demo-label>span:last-child {
  margin-left:auto;
  color:var(--muted)}
.status-dot {
  width:6px;
  height:6px;
  background:var(--accent);
  border-radius:50%;
  flex-shrink:0}
.demo-intro {
  font-size:.82rem;
  color:var(--muted);
  margin:1rem 0 1.5rem;
  max-width:48rem}
.case-controls {
  display:flex;
  gap:.5rem;
  flex-wrap:wrap;
  border-bottom:1px solid var(--line);
  padding-bottom:1.5rem}
.case-controls button {
  min-height:46px;
  background:white;
  color:var(--ink);
  border:1px solid var(--line);
  padding:.7rem 1rem;
  font-size:.8rem;
  text-align:left;
  line-height:1.5}
.case-controls button[aria-pressed=true] {
  background:var(--ink);
  color:white;
  border-color:var(--ink)}
.case-controls button:hover {
  border-color:var(--accent)}
.demo-heading {
  display:flex;
  align-items:start;
  justify-content:space-between;
  gap:2rem;
  margin-top:2rem}
.demo-heading .eyebrow {
  margin-bottom:.5rem;
  font-size:.65rem}
.demo-heading h3 {
  font-family:var(--serif);
  font-size:1.9rem;
  font-weight:400;
  letter-spacing:-.035em}
.total {
  text-align:right}
.total span {
  font-size:.65rem;
  color:var(--muted);
  display:block;
  margin-bottom:.3rem}
.total strong {
  font-size:1.8rem;
  font-weight:500;
  letter-spacing:-.04em;
  font-variant-numeric:tabular-nums}
.case-explanation {
  font-size:.83rem;
  color:var(--muted);
  max-width:46rem;
  margin:1rem 0 2rem}
.delta-chart {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:1rem;
  padding:1.3rem 1rem;
  background:white;
  border:1px solid var(--line)}
.delta-column {
  text-align:center;
  font-size:.7rem;
  min-width:0}
.delta-column>strong {
  display:block;
  font-size:.85rem;
  font-variant-numeric:tabular-nums;
  font-weight:600;
  margin-bottom:.6rem}
.delta-column>span {
  display:block;
  margin-top:.6rem;
  color:var(--muted)}
.bar-track {
  position:relative;
  height:112px}
.bar-track:before {
  content:'';
  position:absolute;
  top:66px;
  left:0;
  right:0;
  border-top:1px solid var(--line)}
.bar {
  position:absolute;
  left:calc(50% - 13px);
  width:26px;
  background:var(--accent)}
.bar.positive {
  bottom:46px}
.bar.negative {
  top:67px;
  background:#72869a}
.size-0 {
  height:2px;
  width:12px;
  left:calc(50% - 6px);
  background:#849bb3}
.size-120 {
  height:40px}
.size-135 {
  height:45px}
.size-140 {
  height:46.667px}
.size-150 {
  height:50px}
.size-180 {
  height:60px}
.chart-caption {
  display:flex;
  justify-content:space-between;
  gap:1rem;
  font-size:.68rem;
  color:var(--muted);
  margin:.8rem 0 1.5rem}
.chart-caption span {
  display:flex;
  gap:.35rem;
  align-items:center}
.chart-caption i {
  display:inline-block;
  width:7px;
  height:7px;
  background:var(--accent)}
.chart-caption .key-negative {
  background:#72869a;
  margin-left:.6rem}
.year-grid {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:.75rem}
.year-card {
  background:#fff;
  padding:1rem .8rem;
  border-top:2px solid #b3c6df;
  min-width:0}
.year-card h4 {
  margin-bottom:1rem}
.year-card dl {
  margin:0;
  font-variant-numeric:tabular-nums}
.year-card dl>div {
  margin-top:.8rem}
.year-card dt {
  font-size:.65rem;
  color:var(--muted);
  line-height:1.5}
.year-card dd {
  margin:.2rem 0 0;
  font-size:.85rem;
  line-height:1.5}
.year-card .margin-row {
  border-top:1px solid var(--line);
  padding-top:.8rem}
.margin-row dd,.delta-row dd {
  font-weight:650}
.delta-row dd {
  color:var(--accent)}
.assumptions {
  margin-top:2rem;
  border-top:1px solid var(--line);
  padding-top:1.5rem}
.assumptions>h3 {
  font-size:.9rem;
  margin-bottom:1rem}
.assumption-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem}
.assumption-grid h4 {
  font-size:.78rem;
  margin-bottom:.5rem}
.assumption-grid p {
  font-size:.75rem;
  color:var(--muted);
  margin-bottom:0}
.assumption-note {
  font-size:.68rem;
  color:var(--muted);
  margin:1.25rem 0 0}
.no-script-note {
  font-size:.8rem}
.experience-band {
  background:#f7f9fc;
  padding-block:6rem;
  border-block:1px solid var(--line)}
.experience-heading {
  display:grid;
  grid-template-columns:1.3fr 1fr;
  gap:5rem;
  align-items:end;
  margin-bottom:3.5rem}
.experience-heading h2 {
  font-size:clamp(2.5rem,3.5vw,3.5rem)}
.experience-heading .lead {
  color:var(--muted);
  margin:0}
.experience-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2.5rem}
.experience-grid article {
  padding-top:1.5rem;
  border-top:1px solid #bccddd}
.small-label {
  font-size:.65rem;
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:.08em}
.experience-grid h3 {
  margin:1rem 0;
  font-size:1.13rem}
.experience-grid p {
  font-size:.88rem;
  color:var(--muted)}
.experience-limit {
  max-width:60rem;
  font-size:.75rem;
  color:var(--muted);
  margin:2rem 0 0;
  padding-left:1rem;
  border-left:2px solid #b8cbe3}
.deliverables {
  list-style:none;
  margin:0;
  padding:0;
  counter-reset:deliveries}
.deliverables li {
  position:relative;
  border-top:1px solid var(--line);
  padding:1.5rem 0 1.5rem 2.5rem;
  counter-increment:deliveries}
.deliverables li:before {
  content:'0' counter(deliveries);
  position:absolute;
  left:0;
  top:1.7rem;
  font-size:.7rem;
  color:var(--accent)}
.deliverables h3 {
  margin-bottom:.7rem}
.deliverables p {
  font-size:.9rem;
  color:var(--muted);
  margin:0}
.studio-band {
  background:var(--ink);
  color:white;
  padding-block:6rem}
.studio-layout {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  gap:6rem;
  align-items:center}
.studio-layout h2 {
  font-size:clamp(2.6rem,3.8vw,3.6rem);
  margin:1.8rem 0}
.studio-layout em {
  color:#a6c6ff}
.studio-layout p:not(.eyebrow):not(.status-label) {
  color:#c5d6e6}
.studio-layout .eyebrow {
  color:#a5c2e0}
.status-label {
  display:inline-block;
  font-size:.65rem;
  border:1px solid #526a81;
  padding:.4rem .7rem;
  margin:0}
.studio-limit {
  border-left:2px solid #7697c2;
  padding-left:1rem;
  font-size:.78rem;
  margin:1.7rem 0 0}
.studio-preview {
  background:#f2f6fc;
  color:var(--ink);
  padding:1.8rem;
  border:1px solid #466480;
  transform:rotate(-2deg)}
.preview-top {
  display:flex;
  justify-content:space-between;
  gap:1rem;
  font-size:.85rem;
  padding-bottom:1rem;
  border-bottom:1px solid var(--line)}
.preview-top small {
  color:var(--muted);
  font-size:.6rem}
.preview-tabs {
  display:flex;
  gap:1rem;
  font-size:.65rem;
  margin:1.5rem 0}
.preview-tabs b {
  font-weight:500;
  color:white;
  background:var(--ink);
  padding:.4rem .7rem}
.preview-tabs>span {
  padding:.4rem .7rem;
  color:var(--muted)}
.preview-title {
  font-family:var(--serif);
  font-size:1.5rem;
  line-height:1.3;
  letter-spacing:-.03em}
.preview-bars {
  display:flex;
  align-items:end;
  height:130px;
  gap:1rem;
  border-bottom:1px solid var(--line);
  margin:1.5rem 0}
.preview-bars i {
  background:#92b1e0;
  flex:1;
  height:30%}
.preview-bars i:nth-child(2) {
  height:45%}
.preview-bars i:nth-child(3) {
  height:62%;
  background:#5f8aca}
.preview-bars i:nth-child(4) {
  height:76%;
  background:#3c71bc}
.preview-bars i:nth-child(5) {
  height:90%;
  background:var(--accent)}
.preview-notes {
  display:flex;
  flex-direction:column;
  font-size:.72rem;
  gap:.7rem}
.preview-notes span {
  border-bottom:1px solid var(--line);
  padding-bottom:.7rem}
.studio-preview p {
  font-size:.65rem;
  margin:1rem 0 0;
  color:var(--muted)!important}
.contact-section {
  text-align:center;
  padding-block:7rem;
  max-width:850px}
.contact-section>p:not(.eyebrow) {
  max-width:34rem;
  margin:1.8rem auto;
  color:var(--muted)}
.contact-action {
  overflow-wrap:anywhere}
.email {
  display:inline-block;
  padding:.5rem 0;
  color:var(--accent);
  border-bottom:1px solid #a6bfe6;
  font-size:1.1rem}
.contact-note {
  display:block;
  font-size:.75rem;
  color:var(--muted);
  margin-top:1rem}
.contact-location {
  display:block;
  font-size:.78rem;
  color:var(--muted);
  margin-top:1rem}
.site-footer {
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
  padding-block:1rem;
  font-size:.7rem;
  color:var(--muted)}
.site-footer a {
  min-height:44px;
  display:flex;
  align-items:center}
.entered {
  animation:arrive .6s ease-out both}
@keyframes arrive {
  from {
  transform:translateY(16px);
  opacity:.7}
to {
  transform:translateY(0);
  opacity:1}
}
@media(max-width:1050px) {
  .wrap {
  width:calc(100% - 64px)}
.hero {
  gap:2.5rem;
  padding-block:4rem 5rem;
  min-height:0}
.hero-art {
  padding:1.5rem}
.chapter {
  gap:3.5rem}
.studio-layout {
  gap:3rem}
.year-grid {
  grid-template-columns:repeat(3,1fr)}
.experience-heading {
  gap:3rem}
.experience-grid {
  gap:1.6rem}
}
@media(max-width:720px) {
  .wrap {
  width:calc(100% - 40px)}
.site-header {
  padding-block:1rem;
  flex-wrap:wrap;
  gap:.7rem}
.brand {
  font-size:.95rem}
.brand-mark {
  width:36px;
  height:36px}
.brand-sub {
  font-size:.59rem}
nav {
  width:100%;
  justify-content:space-between;
  gap:.6rem;
  font-size:.7rem}
nav a {
  min-height:44px}
.hero {
  grid-template-columns:1fr;
  gap:3rem;
  padding-block:3.2rem 3.5rem}
.hero .eyebrow {
  font-size:.63rem;
  max-width:18rem}
.hero h1 {
  font-size:clamp(2.7rem,10.8vw,4.6rem);
  line-height:1.08}
.hero-intro {
  font-size:1.04rem;
  margin-top:1.6rem}
.hero-context {
  font-size:.88rem}
.hero-actions {
  gap:.8rem 1.3rem;
  margin-top:1.6rem}
.button {
  font-size:.78rem;
  gap:1rem}
.hero-art {
  padding:1.3rem}
.art-top {
  margin-bottom:2rem}
.art-inputs {
  font-size:.66rem}
.art-inputs span {
  padding:.7rem .4rem}
.model-core {
  margin-top:2rem}
.model-core:before {
  height:2rem}
.model-core strong {
  font-size:1.5rem}
.art-outcomes {
  gap:.6rem}
.art-outcomes>div {
  padding:.85rem}
.art-outcomes strong {
  font-size:.8rem}
.chapter-strip .wrap {
  flex-wrap:wrap;
  gap:.6rem;
  justify-content:space-between;
  padding-block:.8rem}
.chapter-strip .wrap>span {
  width:100%;
  font-size:.9rem}
.chapter-strip a {
  font-size:.7rem;
  min-height:40px;
  display:flex;
  align-items:center;
  padding:0}
.chapter {
  grid-template-columns:1fr;
  gap:2.3rem;
  padding-block:4.5rem}
.sticky-copy {
  position:static}
.eyebrow {
  font-size:.64rem;
  margin-bottom:1.3rem}
h2 {
  font-size:clamp(2.35rem,9.5vw,3.8rem)}
.chapter-copy h2 {
  margin-bottom:1.5rem}
.lead {
  font-size:1.05rem}
.chapter-copy>p:not(.eyebrow):not(.lead) {
  font-size:.9rem}
.mechanics article {
  padding-block:1.6rem;
  gap:.8rem}
.mechanics p {
  font-size:.86rem}
.fine-rule {
  margin-top:1.5rem}
.forecast-sheet {
  padding:1.2rem}
.sheet-field {
  gap:.7rem;
  font-size:.7rem}
.input-token {
  font-size:.6rem}
.scenario-section {
  padding-block:4.5rem}
.scenario-intro {
  text-align:left;
  margin-bottom:2rem}
.scenario-intro h2 {
  font-size:clamp(2.7rem,11vw,4rem)}
.scenario-topics {
  grid-template-columns:1fr;
  gap:1.2rem;
  margin-bottom:2rem}
.scenario-topics>div {
  position:relative;
  padding-left:2.2rem;
  padding-top:1rem}
.scenario-topics>div>span {
  position:absolute;
  left:0;
  top:1.35rem}
.scenario-topics h3 {
  font-size:1.05rem;
  margin-top:0}
.scenario-topics p {
  font-size:.84rem}
.demo-shell {
  padding:1rem;
  margin-inline:-5px}
.demo-label {
  font-size:.63rem;
  gap:.4rem}
.demo-label>span:last-child {
  width:100%;
  margin:.2rem 0 0 10px}
.demo-intro {
  font-size:.78rem}
.case-controls {
  gap:.4rem;
  padding-bottom:1rem}
.case-controls button {
  font-size:.72rem;
  flex:1 1 40%;
  padding:.6rem .7rem}
.case-controls button:last-child {
  flex-basis:100%}
.demo-heading {
  flex-direction:column;
  gap:1.2rem;
  margin-top:1.5rem}
.demo-heading h3 {
  font-size:1.8rem}
.total {
  text-align:left;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  width:100%;
  padding:.8rem 0;
  border-block:1px solid var(--line)}
.total span {
  max-width:9rem;
  font-size:.64rem;
  margin:0;
  line-height:1.5}
.total strong {
  font-size:1.7rem}
.case-explanation {
  font-size:.78rem;
  margin-bottom:1.4rem}
.delta-chart {
  gap:.35rem;
  padding:1rem .4rem}
.delta-column>strong {
  font-size:.62rem;
  letter-spacing:-.03em}
.delta-column>span {
  font-size:.6rem}
.bar {
  width:20px;
  left:calc(50% - 10px)}
.size-0 {
  width:10px;
  left:calc(50% - 5px)}
.chart-caption {
  flex-wrap:wrap;
  font-size:.6rem;
  gap:.5rem}
.year-grid {
  grid-template-columns:1fr;
  gap:.7rem}
.year-card {
  padding:1rem}
.year-card h4 {
  margin-bottom:.7rem}
.year-card dl>div {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:1rem;
  margin-top:.35rem}
.year-card dt {
  font-size:.72rem}
.year-card dd {
  font-size:.8rem;
  margin:0}
.year-card .margin-row {
  margin-top:.7rem;
  padding-top:.7rem}
.assumption-grid {
  grid-template-columns:1fr;
  gap:1rem}
.assumption-grid p {
  font-size:.75rem}
.assumption-note {
  font-size:.67rem}
.experience-band {
  padding-block:4.5rem}
.experience-heading {
  grid-template-columns:1fr;
  gap:1.5rem;
  margin-bottom:2rem}
.experience-grid {
  grid-template-columns:1fr;
  gap:1rem}
.experience-grid article {
  padding-top:1.3rem}
.experience-grid h3 {
  font-size:1.1rem;
  margin:.6rem 0}
.experience-grid p {
  margin-bottom:.5rem}
.experience-limit {
  font-size:.72rem;
  margin-top:1.5rem}
.deliverables li {
  padding-left:2rem}
.deliverables h3 {
  font-size:1.05rem}
.deliverables p {
  font-size:.85rem}
.studio-band {
  padding-block:4.5rem;
  overflow:hidden}
.studio-layout {
  grid-template-columns:1fr;
  gap:2.5rem}
.studio-layout h2 {
  font-size:clamp(2.35rem,9.5vw,3.8rem)}
.studio-layout>div>p:not(.eyebrow):not(.status-label):not(.lead):not(.studio-limit) {
  font-size:.9rem}
.studio-preview {
  padding:1.5rem;
  transform:rotate(-1deg);
  margin-inline:4px}
.contact-section {
  padding-block:4.5rem;
  text-align:left}
.contact-section>p:not(.eyebrow) {
  font-size:.9rem}
.email {
  font-size:.95rem}
.site-footer {
  font-size:.63rem;
  gap:.6rem;
  flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce) {
  html {
  scroll-behavior:auto}
.entered {
  animation:none}
.sticky-copy {
  position:static}
}
