:root {
  --navy: #003c69;
  --navy-deep: #032c4c;
  --navy-ink: #072438;
  --teal: #00a7a7;
  --teal-dark: #007d82;
  --sky: #e9f6f6;
  --white: #ffffff;
  --paper: #f6f8f9;
  --ink: #102a3a;
  --muted: #60727d;
  --line: #d8e1e5;
  --max: 1240px;
  --radius: 1.25rem;
  --shadow: 0 28px 70px rgba(1, 42, 69, .12);
}

* { box-sizing: border-box; }
html { 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: 1rem;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}
.page-top-anchor { position: absolute; top: 0; left: 0; width: 1px; height: 1px; }
a { color: inherit; }
button, summary, a { -webkit-tap-highlight-color: transparent; }

.skip-link {
  position: fixed;
  left: 1rem;
  top: -5rem;
  z-index: 100;
  padding: .7rem 1rem;
  background: var(--white);
  color: var(--navy);
  border-radius: .5rem;
}
.skip-link:focus { top: 1rem; }

.scroll-progress { position: fixed; inset: 0 0 auto; height: 3px; z-index: 90; }
.scroll-progress span { display: block; width: 0; height: 100%; background: var(--teal); }

.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  min-height: 5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding: 1rem max(1.25rem, calc((100vw - var(--max)) / 2));
  background: rgba(246, 248, 249, .9);
  border-bottom: 1px solid rgba(216, 225, 229, .75);
  backdrop-filter: blur(18px);
}
.brand { display: inline-flex; align-items: center; gap: .65rem; text-decoration: none; }
.brand-mark { width: 2.45rem; height: 2.45rem; flex: none; }
.mark-navy { fill: var(--navy); }
.mark-teal { fill: var(--teal); }
.brand-name { display: inline-flex; align-items: baseline; font-size: 1.08rem; letter-spacing: -.035em; line-height: 1; }
.brand-name strong { color: var(--navy); font-weight: 760; }
.brand-name em { color: var(--teal-dark); font-style: normal; font-weight: 640; }
.brand-name sup { color: var(--muted); font-size: .48rem; margin-left: .15rem; }
nav { display: flex; align-items: center; gap: 1.7rem; }
nav a { color: #385261; font-size: .9rem; font-weight: 650; text-decoration: none; }
nav a:hover, nav a:focus-visible { color: var(--navy); }
.nav-cta { border: 1px solid var(--navy); border-radius: 999px; padding: .5rem .9rem; }

.hero {
  min-height: calc(100vh - 5rem);
  display: grid;
  grid-template-columns: minmax(0, 1.04fr) minmax(28rem, .96fr);
  align-items: center;
  gap: clamp(3rem, 7vw, 7rem);
  max-width: var(--max);
  margin: 0 auto;
  padding: clamp(4rem, 9vh, 7rem) 1.25rem 5rem;
  position: relative;
}
.hero-copy { max-width: 43rem; }
.eyebrow, .section-number, .mini-label {
  margin: 0 0 1.35rem;
  color: var(--teal-dark);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}
h1, h2, h3 { margin: 0; color: var(--navy-ink); line-height: 1.05; letter-spacing: -.052em; }
h1 { max-width: 12ch; font-size: clamp(3.4rem, 6.7vw, 6.85rem); font-weight: 760; }
h1 span { color: var(--teal-dark); }
.hero-lede { max-width: 39rem; margin: 2rem 0 0; color: #405c6b; font-size: clamp(1.1rem, 1.7vw, 1.35rem); line-height: 1.55; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1.4rem; margin-top: 2.2rem; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 3.25rem; padding: .75rem 1.25rem; border-radius: 999px; font-weight: 760; text-decoration: none; }
.button-primary { background: var(--navy); color: var(--white); box-shadow: 0 12px 30px rgba(0, 60, 105, .18); }
.button-primary:hover, .button-primary:focus-visible { background: var(--navy-deep); transform: translateY(-2px); }
.button-text { color: var(--navy); padding-inline: .25rem; }
.button-text span { color: var(--teal-dark); }

.signal-panel { overflow: hidden; background: radial-gradient(circle at 82% 42%, rgba(0,167,167,.2), transparent 42%), linear-gradient(145deg, var(--navy-deep) 0%, #033653 58%, #054c58 100%); color: var(--white); border-radius: var(--radius); box-shadow: var(--shadow); }
.signal-panel-head { min-height: 4rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0 1.25rem; border-bottom: 1px solid rgba(255,255,255,.12); font-size: .75rem; font-weight: 740; letter-spacing: .06em; text-transform: uppercase; }
.signal-state { display: inline-flex; align-items: center; gap: .5rem; color: #afe8e5; }
.signal-state i { width: .45rem; height: .45rem; background: var(--teal); border-radius: 50%; box-shadow: 0 0 0 .28rem rgba(0,167,167,.15); }
.signal-chart { height: 16.5rem; position: relative; padding: 3.4rem 1.2rem .65rem; background: linear-gradient(180deg, rgba(255,255,255,.015), rgba(0,167,167,.035)); }
.signal-chart svg { width: 100%; height: 100%; overflow: visible; }
.chart-legend { position: absolute; top: 1rem; left: 1.25rem; right: 1.25rem; display: flex; flex-wrap: wrap; gap: .55rem 1rem; color: #cfe0ea; font-size: .67rem; }
.chart-legend span { display: inline-flex; align-items: center; gap: .4rem; }
.chart-legend i { display: inline-block; width: 1.8rem; height: 0; border-top: 2px solid; }
.chart-legend .legend-imagined { border-color: rgba(255,255,255,.7); border-top-style: dashed; }
.chart-legend .legend-done { border-color: var(--teal); border-top-width: 3px; }
.grid-line { fill: none; stroke: rgba(255,255,255,.11); stroke-width: 1; }
.signal-gap { fill: rgba(0,167,167,.18); }
.imagined-trace { fill: none; stroke: rgba(255,255,255,.68); stroke-width: 2; stroke-dasharray: 9 8; vector-effect: non-scaling-stroke; }
.done-trace { fill: none; stroke: var(--teal); stroke-width: 5; vector-effect: non-scaling-stroke; stroke-linecap: round; }
.signal-span { fill: none; stroke: #b9ffff; stroke-width: 2; vector-effect: non-scaling-stroke; }
.chart-label { position: absolute; padding: .25rem .5rem; background: rgba(3,44,76,.72); border: 1px solid rgba(255,255,255,.14); border-radius: .35rem; color: #cfe0ea; font-size: .72rem; }
.label-imagined { left: 1.4rem; top: 36%; }
.chart-context { position: absolute; top: 4rem; right: 1.35rem; display: flex; flex-direction: column; align-items: flex-end; color: #9fc4cc; font-size: .78rem; line-height: 1.35; text-align: right; }
.chart-context small { color: #6fd8d6; font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.chart-context strong { color: #d7ebee; font-weight: 600; }
.label-signal { left: 55%; bottom: .7rem; max-width: 12rem; border-color: rgba(185,255,255,.35); color: #b9ffff; line-height: 1.25; text-align: center; transform: translateX(-50%); }
.label-signal strong { color: #e9ffff; }
.signal-reading { display: grid; grid-template-columns: 8.8rem 1fr; align-items: start; gap: 1.2rem; padding: 1.15rem 1.3rem 1.25rem; background: rgba(0,0,0,.12); border-top: 1px solid rgba(255,255,255,.12); }
.signal-reading > .reading-label { padding-top: .08rem; color: #c1d8df; font-size: .76rem; font-weight: 650; letter-spacing: 0; line-height: 1.35; text-transform: none; }
.brand-inline { display: inline-flex; align-items: baseline; letter-spacing: -.035em; white-space: nowrap; }
.brand-inline b { color: #e9ffff; font-weight: 760; }
.brand-inline em { color: #68d8d5; font-style: normal; font-weight: 640; }
.signal-reading p { margin: 0; color: #b7c9d3; font-size: .78rem; line-height: 1.5; }
.signal-reading strong { color: #e9ffff; }
.hero-aside { position: absolute; left: 1.25rem; bottom: 1rem; margin: 0; color: #79909c; font-size: .73rem; line-height: 1.35; text-transform: uppercase; letter-spacing: .13em; }
.hero-aside strong { color: var(--navy); }

.thesis-band { padding: clamp(5rem, 11vw, 10rem) max(1.25rem, calc((100vw - var(--max)) / 2)); background: var(--navy); color: var(--white); }
.thesis-band p { max-width: 20ch; margin: 0; color: rgba(255,255,255,.53); font-size: clamp(2rem, 5vw, 5.6rem); font-weight: 690; letter-spacing: -.05em; line-height: 1.06; }
.thesis-band p + p { margin-top: .15em; margin-left: auto; color: var(--white); text-align: right; }

.section { max-width: var(--max); margin: 0 auto; padding: clamp(6rem, 11vw, 10rem) 1.25rem; }
.section-intro { display: grid; grid-template-columns: minmax(8rem, .35fr) minmax(0, 1fr) minmax(18rem, .48fr); gap: 2.5rem; align-items: start; }
.section-intro h2, .conditions h2, .pressure h2, .start h2 { font-size: clamp(2.75rem, 5.4vw, 5.4rem); }
.section-intro > p:last-child, .conditions-heading > p:last-child { margin: .3rem 0 0; color: var(--muted); font-size: 1.07rem; }
.story-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 6rem; background: var(--line); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.story-card { min-height: 31rem; padding: 2.2rem; background: var(--white); }
.story-year { display: inline-flex; padding: .32rem .6rem; background: var(--sky); border-radius: 999px; color: var(--teal-dark); font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.story-card h3 { margin-top: 6.5rem; font-size: 1.7rem; }
.story-card p { color: #536a77; }
.story-quote { display: grid; grid-template-columns: 1.6fr .6fr; align-items: end; gap: 3rem; margin: 7rem 0 0; padding: 3rem 0 0; border-top: 3px solid var(--teal); }
.story-quote p { max-width: 18ch; margin: 0; color: var(--navy); font-size: clamp(2.1rem, 4.4vw, 4.4rem); font-weight: 700; letter-spacing: -.05em; line-height: 1.08; }
.story-quote footer { color: var(--muted); font-size: 1rem; }

.conditions { max-width: none; padding-left: max(1.25rem, calc((100vw - var(--max)) / 2)); padding-right: max(1.25rem, calc((100vw - var(--max)) / 2)); background: var(--navy-deep); color: var(--white); }
.conditions-heading { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(20rem, .6fr); gap: 4rem; align-items: end; }
.conditions-heading .section-number { grid-column: 1 / -1; }
.conditions h2 { color: var(--white); max-width: 13ch; }
.conditions-heading > p:last-child { color: #b0c2cd; }
.section-number.light { color: #72dddd; }
.conditions-list { margin-top: 5rem; border-top: 1px solid rgba(255,255,255,.19); }
.condition { border-bottom: 1px solid rgba(255,255,255,.19); }
.condition summary { min-height: 6rem; display: grid; grid-template-columns: 4rem 1fr 2rem; align-items: center; gap: 1rem; cursor: pointer; list-style: none; }
.condition summary::-webkit-details-marker { display: none; }
.condition summary > span { color: #76b6bc; font-size: .8rem; font-weight: 800; }
.condition summary strong { color: var(--white); font-size: clamp(1.25rem, 2.6vw, 2.2rem); letter-spacing: -.035em; }
.condition summary i { position: relative; width: 1.3rem; height: 1.3rem; }
.condition summary i::before, .condition summary i::after { content: ""; position: absolute; inset: 50% auto auto 0; width: 100%; height: 2px; background: var(--teal); transition: transform .25s ease; }
.condition summary i::after { transform: rotate(90deg); }
.condition[open] summary i::after { transform: rotate(0); }
.condition > div { display: grid; grid-template-columns: 1fr .55fr; gap: 4rem; padding: 0 3rem 2.4rem 5rem; }
.condition > div p { max-width: 53rem; margin: 0; color: #d3e1e8; font-size: 1.05rem; }
.condition > div span { color: #88a2b1; font-size: .86rem; }

.method-intro { grid-template-columns: minmax(8rem,.35fr) minmax(0,1fr) minmax(18rem,.48fr); }
.method-loop { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; margin: 6rem 0 0; padding: 0; list-style: none; counter-reset: loop; }
.method-loop li { position: relative; min-height: 20rem; padding: 1.5rem; border-top: 2px solid var(--navy); border-bottom: 1px solid var(--line); }
.method-loop li + li { border-left: 1px solid var(--line); }
.method-loop li::after { content: ""; position: absolute; right: -.42rem; top: -.48rem; z-index: 2; width: .75rem; height: .75rem; background: var(--teal); border: .25rem solid var(--paper); border-radius: 50%; }
.method-loop li:last-child::after { display: none; }
.method-loop li > span { color: var(--teal-dark); font-size: .72rem; font-weight: 800; letter-spacing: .1em; }
.method-loop li strong { display: block; margin-top: 5rem; color: var(--navy); font-size: 1.7rem; letter-spacing: -.04em; }
.method-loop li p { margin-bottom: 0; color: var(--muted); font-size: .9rem; }
.method-boundary { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: 7rem; background: var(--line); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow); }
.method-boundary > div { padding: clamp(2rem, 5vw, 4rem); background: var(--white); }
.method-boundary > div:last-child { background: #edf2f4; }
.method-boundary h3 { max-width: 18ch; font-size: clamp(1.8rem, 3vw, 2.7rem); }
.method-boundary ul { margin: 2rem 0 0; padding: 0; list-style: none; }
.method-boundary li { position: relative; padding: .7rem 0 .7rem 1.5rem; color: #506875; border-bottom: 1px solid var(--line); }
.method-boundary li::before { content: ""; position: absolute; left: 0; top: 1.35rem; width: .5rem; height: 2px; background: var(--teal); }

.pressure { max-width: none; display: grid; grid-template-columns: minmax(0,1fr) minmax(24rem,.7fr); gap: clamp(4rem, 9vw, 9rem); padding-left: max(1.25rem, calc((100vw - var(--max)) / 2)); padding-right: max(1.25rem, calc((100vw - var(--max)) / 2)); background: var(--teal-dark); color: var(--white); }
.pressure h2 { color: var(--white); max-width: 11ch; }
.pressure-copy > p:last-child { max-width: 42rem; color: #daf5f3; }
.pressure-test { align-self: center; padding: 2.5rem; background: rgba(0,42,62,.24); border: 1px solid rgba(255,255,255,.28); border-radius: var(--radius); }
.pressure-test p { margin: 0 0 1rem; color: #b8eeeb; font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; }
.pressure-test strong { display: block; font-size: clamp(1.4rem, 2.7vw, 2.15rem); line-height: 1.25; letter-spacing: -.035em; }
.pressure-test span { display: block; margin-top: 2rem; color: #c4ecea; }

.start { min-height: 48rem; display: grid; grid-template-columns: minmax(20rem,.72fr) minmax(31rem,1fr); gap: clamp(3rem,7vw,7rem); align-items: center; }
.start h2 { max-width: 15ch; }
.start-copy > p:not(.section-number) { max-width: 44rem; margin: 1.5rem 0 2rem; color: var(--muted); font-size: 1.1rem; }
.start-principle { max-width: 34rem; padding: 1.2rem 0 0 1.35rem; border-left: 3px solid var(--teal); }
.start-principle span { display: block; color: var(--teal-dark); font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.start-principle strong { display: block; margin-top: .4rem; color: var(--navy); font-size: 1rem; line-height: 1.45; }

.pulse-card { overflow: hidden; background: radial-gradient(circle at 88% 18%, rgba(0,167,167,.18), transparent 38%), var(--navy-deep); color: var(--white); border-radius: var(--radius); box-shadow: var(--shadow); }
.pulse-card-head { min-height: 4.75rem; display: flex; align-items: center; justify-content: space-between; gap: 1.2rem; padding: 1rem 1.4rem; border-bottom: 1px solid rgba(255,255,255,.12); }
.pulse-card-head > div { display: flex; flex-direction: column; }
.pulse-card-head > div span { color: #75dedd; font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.pulse-card-head > div strong { color: #eaf8f8; font-size: .9rem; }
.pulse-status { display: inline-flex; align-items: center; gap: .45rem; color: #abc4cf; font-size: .67rem; white-space: nowrap; }
.pulse-status i { width: .45rem; height: .45rem; background: var(--teal); border-radius: 50%; box-shadow: 0 0 0 .25rem rgba(0,167,167,.14); }
.pulse-stage, .pulse-result { min-height: 24rem; padding: clamp(1.6rem,4vw,2.5rem); }
.pulse-meta { display: flex; align-items: center; justify-content: space-between; color: #89a8b8; font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.pulse-dots { display: inline-flex; gap: .35rem; }
.pulse-dots i { width: .45rem; height: .45rem; background: rgba(255,255,255,.18); border-radius: 50%; }
.pulse-dots i.is-active { background: var(--teal); box-shadow: 0 0 0 .2rem rgba(0,167,167,.13); }
.pulse-stage h3, .pulse-result h3 { max-width: 17ch; margin-top: 3rem; color: var(--white); font-size: clamp(1.75rem,3vw,2.45rem); line-height: 1.12; }
.pulse-stage > p { margin: 1rem 0 0; color: #a9c0cb; font-size: .86rem; }
.pulse-options { display: grid; grid-template-columns: repeat(3,1fr); gap: .65rem; margin-top: 2.2rem; }
.pulse-options button, .pulse-reset { min-height: 3rem; padding: .65rem .8rem; color: #e8f7f7; font: inherit; font-size: .82rem; font-weight: 720; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.18); border-radius: 999px; cursor: pointer; }
.pulse-options button:hover, .pulse-options button:focus-visible, .pulse-reset:hover, .pulse-reset:focus-visible { background: var(--teal); border-color: var(--teal); color: #022d45; outline: none; }
.pulse-result .mini-label { margin-bottom: 0; color: #75dedd; }
.pulse-result h3 { margin-top: 1rem; }
.pulse-result > p:not(.mini-label) { color: #b7cad3; }
.anchor-pointer { margin-top: 1.5rem; padding: 1rem 1.15rem; background: rgba(0,167,167,.1); border-left: 3px solid var(--teal); border-radius: 0 .7rem .7rem 0; }
.anchor-pointer p { margin: 0; color: #76dcda; font-size: .62rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.anchor-pointer span { display: block; margin-top: .35rem; color: #efffff; font-size: 1rem; font-weight: 760; line-height: 1.35; }
.anchor-pointer small { display: block; margin-top: .55rem; color: #9db7c2; font-size: .7rem; line-height: 1.45; }
.resource-gateway { margin-top: 1.8rem; padding: 1.25rem; background: rgba(0,0,0,.14); border: 1px solid rgba(255,255,255,.12); border-radius: .85rem; }
.resource-gateway > p { margin: 0; color: #75dedd; font-size: .65rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.resource-gateway h4 { margin: .3rem 0 1rem; font-size: 1rem; }
.resource-gateway ul { display: grid; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.resource-gateway li { display: flex; align-items: center; gap: .7rem; color: #dcebed; font-size: .78rem; }
.resource-gateway li span { padding: .16rem .38rem; color: #72d8d6; font-size: .57rem; font-weight: 850; letter-spacing: .08em; border: 1px solid rgba(114,216,214,.35); border-radius: .25rem; }
.resource-gateway small { display: block; margin-top: .9rem; color: #829fab; font-size: .68rem; }
.pulse-reset { margin-top: 1.3rem; padding-inline: 1.2rem; }
.pulse-privacy { margin: 0; padding: .9rem 1.4rem; color: #819fab; font-size: .66rem; border-top: 1px solid rgba(255,255,255,.1); }

.site-footer { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 2rem; max-width: var(--max); margin: 0 auto; padding: 2.5rem 1.25rem; border-top: 1px solid var(--line); }
.site-footer > p { margin: 0; color: var(--muted); font-size: .8rem; }
.site-footer > p:nth-child(2) { color: var(--navy); font-weight: 700; }
.site-footer .legal { text-align: right; }

.reveal { opacity: 0; transform: translateY(1.6rem); transition: opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1); }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
.story-card:nth-child(2), .method-loop li:nth-child(2) { transition-delay: .08s; }
.story-card:nth-child(3), .method-loop li:nth-child(3) { transition-delay: .16s; }
.method-loop li:nth-child(4) { transition-delay: .24s; }
.method-loop li:nth-child(5) { transition-delay: .32s; }

@media (max-width: 980px) {
  .hero { min-height: auto; grid-template-columns: 1fr; }
  .signal-panel { max-width: 42rem; }
  .hero-aside { display: none; }
  .section-intro, .method-intro { grid-template-columns: 1fr; gap: 1.1rem; }
  .section-number { margin-bottom: .5rem; }
  .story-grid { grid-template-columns: 1fr; }
  .story-card { min-height: auto; }
  .story-card h3 { margin-top: 3.5rem; }
  .conditions-heading { grid-template-columns: 1fr; gap: 2rem; }
  .method-loop { grid-template-columns: 1fr; }
  .method-loop li { min-height: auto; padding: 1.3rem 0 1.5rem 4rem; border-top: 0; border-bottom: 1px solid var(--line); }
  .method-loop li + li { border-left: 0; }
  .method-loop li::before { content: ""; position: absolute; left: 1rem; top: 0; bottom: 0; width: 2px; background: var(--navy); }
  .method-loop li::after { left: .66rem; right: auto; top: 1.3rem; }
  .method-loop li > span { position: absolute; left: 1.8rem; top: 1rem; }
  .method-loop li strong { margin-top: 0; }
  .pressure { grid-template-columns: 1fr; }
  .start { grid-template-columns: 1fr; }
  .pulse-card { max-width: 42rem; }
  .site-footer { grid-template-columns: 1fr 1fr; }
  .site-footer .legal { grid-column: 1 / -1; text-align: left; }
}

@media (max-width: 700px) {
  .site-header { min-height: 4.5rem; }
  nav a:not(.nav-cta) { display: none; }
  .brand-name { font-size: 1rem; }
  .brand-mark { width: 2.1rem; height: 2.1rem; }
  .hero { padding-top: 3.5rem; }
  h1 { font-size: clamp(3rem, 15vw, 4.5rem); }
  .signal-panel-head { align-items: flex-start; flex-direction: column; justify-content: center; }
  .signal-chart { height: 14.5rem; }
  .chart-legend { font-size: .62rem; }
  .label-signal { left: 59%; bottom: .4rem; max-width: 10.5rem; }
  .chart-context { top: 4.1rem; right: 1.1rem; max-width: 10rem; }
  .signal-reading { grid-template-columns: 1fr; gap: .4rem; }
  .thesis-band p + p { margin-top: 1rem; }
  .story-grid { margin-top: 3.5rem; }
  .story-quote { grid-template-columns: 1fr; gap: 1.5rem; margin-top: 5rem; }
  .condition summary { grid-template-columns: 2.2rem 1fr 1.4rem; }
  .condition > div { grid-template-columns: 1fr; gap: 1rem; padding-left: 3.2rem; padding-right: 0; }
  .method-boundary { grid-template-columns: 1fr; }
  .start { grid-template-columns: 1fr; gap: 2.5rem; }
  .pulse-card-head { align-items: flex-start; }
  .pulse-status { margin-top: .15rem; }
  .pulse-stage, .pulse-result { min-height: 0; }
  .pulse-options { grid-template-columns: 1fr; }
  .site-footer { grid-template-columns: 1fr; }
  .site-footer .legal { grid-column: auto; }
  .brand-footer { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .reveal { opacity: 1; transform: none; }
}

/* Six-question reflection and practical next step. */
.pulse-card [hidden] { display: none !important; }
.pulse-stage > p, .pulse-result > p, #pulse-action, #pulse-verify { font-size: 1rem; line-height: 1.6; }
.pulse-options button, .pulse-reset, .pulse-meta { font-size: .875rem; }
.pulse-privacy, .anchor-pointer small, .pulse-limit { font-size: .875rem; color: #b7cad3; }
.anchor-pointer p, .resource-gateway > p { font-size: .8125rem; }
#pulse-focus-choices { display: grid; gap: .6rem; margin-top: 1rem; }
#pulse-focus-choices:empty { display: none; }
#pulse-focus-choices button { padding: .8rem 1rem; min-height: 44px; text-align: left; font: inherit; font-size: .9375rem; line-height: 1.4; color: #eaf8f8; background: rgba(255,255,255,.06); border: 1px solid #648693; border-radius: .5rem; cursor: pointer; }
#pulse-focus-choices button[aria-pressed="true"] { background: #007c7c; border-color: #75dedd; }
#pulse-focus-choices button:focus-visible { outline: 3px solid #75dedd; outline-offset: 3px; }
.resource-gateway .pulse-check { margin-top: 1.4rem; margin-bottom: .4rem; color: #75dedd; }
