/* Strategy Stress Lab product shell. No imagery or shared-style changes. */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) .stresslab-page .theme-picker select { border-color: #829589; }
}
:root[data-theme="dark"] .stresslab-page .theme-picker select { border-color: #829589; }
.stresslab-page main {
  background: var(--ink);
}
.stresslab-page main a {
  color: var(--lime);
  text-underline-offset: 4px;
}
.stresslab-hero {
  padding: 88px 0 80px;
  border-bottom: 1px solid var(--line);
}
.stresslab-eyebrow {
  margin: 0 0 24px;
  color: var(--lime);
  font-size: 14px;
  font-weight: 800;
}
.stresslab-hero h1 {
  max-width: 920px;
  margin: 0;
  font-size: 74px;
  line-height: 1.04;
  letter-spacing: 0;
}
.stresslab-lede {
  max-width: 760px;
  margin: 32px 0 0;
  color: var(--muted);
  font-size: 24px;
  line-height: 1.5;
}
.stresslab-process {
  padding: 72px 0 80px;
}
.stresslab-process h2,
.stresslab-details h2 {
  margin: 0;
  font-size: 36px;
  line-height: 1.15;
  letter-spacing: 0;
}
.stresslab-process ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin: 36px 0 0;
  padding: 0;
  list-style: none;
  counter-reset: step;
}
.stresslab-process li {
  min-width: 0;
  padding: 24px 0 0;
  border-top: 2px solid var(--lime);
  counter-increment: step;
}
.stresslab-process li::before {
  content: "0" counter(step);
  display: block;
  margin-bottom: 28px;
  color: var(--lime);
  font-size: 14px;
  font-weight: 800;
}
.stresslab-process h3 {
  margin: 0 0 12px;
  font-size: 23px;
  line-height: 1.25;
  letter-spacing: 0;
}
.stresslab-process li p {
  max-width: 32ch;
  margin: 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.6;
}
.stresslab-details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 56px;
  padding: 70px 0;
  border-top: 1px solid var(--line);
}
.stresslab-details section {
  min-width: 0;
}
.stresslab-details h2 {
  font-size: 29px;
}
.stresslab-details p {
  max-width: 56ch;
  margin: 20px 0 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.65;
}
.stresslab-status {
  padding: 28px 36px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--lime);
  background: var(--panel);
}
.stresslab-status p {
  max-width: 86ch;
  margin: 0;
  font-size: 18px;
  line-height: 1.6;
}
.stresslab-footnote {
  margin: 24px 0 0;
  padding-bottom: 88px;
  color: var(--muted);
  font-size: 14px;
}
@media (max-width: 800px) {
  .stresslab-hero { padding: 68px 0 64px; }
  .stresslab-hero h1 { font-size: 56px; }
  .stresslab-lede { font-size: 21px; }
  .stresslab-process { padding: 60px 0 68px; }
  .stresslab-process ol { gap: 18px; }
  .stresslab-process h3 { font-size: 20px; }
  .stresslab-details { gap: 30px; padding: 60px 0; }
}
@media (max-width: 700px) {
  .stresslab-hero { padding: 52px 0 58px; }
  .stresslab-hero h1 { font-size: 42px; }
  .stresslab-lede { margin-top: 24px; font-size: 18px; }
  .stresslab-process { padding: 52px 0 58px; }
  .stresslab-process h2 { font-size: 30px; }
  .stresslab-process ol { grid-template-columns: 1fr; gap: 34px; margin-top: 30px; }
  .stresslab-process li { padding-top: 18px; }
  .stresslab-process li::before { margin-bottom: 14px; }
  .stresslab-process li p { max-width: 60ch; }
  .stresslab-details { grid-template-columns: 1fr; gap: 44px; padding: 52px 0; }
  .stresslab-status { padding: 24px; }
  .stresslab-footnote { padding-bottom: 60px; }
}
