/* A single reading hierarchy across the main marketing pages. */
body.story-site.hierarchy-site {
  --type-page: clamp(3rem, 4.4vw, 5.25rem);
  --type-section: clamp(2.15rem, 3.15vw, 3.55rem);
  --type-card: clamp(1.3rem, 1.7vw, 1.85rem);
  --type-body: 1.0625rem;
  --type-utility: .75rem;
  --component-inset: clamp(1.25rem, 2.2vw, 2rem);
  --component-stack: clamp(1rem, 1.8vw, 1.5rem);
}

/* One horizontal grid for every marketing section. */
body.story-site.hierarchy-site :is(.page-section,.work-scenes) {
  padding-inline: var(--story-space);
}

body.story-site.hierarchy-site h1 {
  max-width: 15ch;
  margin-bottom: 1.25rem;
  font-size: var(--type-page);
  line-height: 1;
  letter-spacing: -.05em;
  text-wrap: balance;
}

body.story-site.hierarchy-site h2 {
  max-width: 20ch;
  font-size: var(--type-section);
  line-height: 1.07;
  letter-spacing: -.04em;
  text-wrap: balance;
}

body.story-site.hierarchy-site h3 {
  font-size: var(--type-card);
  line-height: 1.18;
  letter-spacing: -.025em;
}

body.story-site.hierarchy-site :is(.kicker,.section-index,.chapter-label,.page-tag,.resource-meta,.review-audience-label) {
  font-size: var(--type-utility);
  line-height: 1.5;
  letter-spacing: .075em;
}

body.story-site.hierarchy-site :is(.lede,.section-lead>p:not(.section-index),.section-lead p:not(.section-index),.capacity-copy>p:not(.section-index),.closing-copy>p:not(.section-index)) {
  max-width: 48ch;
  font-size: var(--type-body);
  line-height: 1.7;
}

body.story-site.hierarchy-site .section-lead,
body.story-site.hierarchy-site .section-lead.compact {
  display: block;
  max-width: 68rem;
  margin-bottom: clamp(2.5rem, 4vw, 4rem);
}

body.story-site.hierarchy-site .section-lead :is(.section-index,.kicker) {
  margin-bottom: .9rem;
}

body.story-site.hierarchy-site .section-lead h2,
body.story-site.hierarchy-site .section-lead.compact h2 {
  margin: 0 0 1rem;
}

body.story-site.hierarchy-site .section-lead>p,
body.story-site.hierarchy-site .section-lead.compact>p {
  margin: 0;
}

body.story-site.hierarchy-site .section-lead.compact>div {
  max-width: none;
}

body.story-site.hierarchy-site :is(.story-hero,.role-hero,.page-hero) h1 {
  font-size: var(--type-page);
}

body.story-site.hierarchy-site :is(.role-hero-copy,.page-hero-copy,.hero-copy) {
  max-width: 46rem;
}

body.story-site.hierarchy-site .script-note {
  max-width: 36ch;
  margin: 0 0 1.15rem;
  font-size: clamp(1.25rem, 1.65vw, 1.6rem);
  line-height: 1.25;
}

body.story-site.hierarchy-site.home-site .story-hero .hero-copy {
  text-align: left;
}

body.story-site.hierarchy-site.home-site .story-hero h1 {
  max-width: 12ch;
  text-wrap: balance;
}

body.story-site.hierarchy-site.home-site .story-hero .script-note {
  max-width: 32ch;
}

body.story-site.hierarchy-site.home-site .story-hero .lede {
  max-width: 42ch;
}

body.story-site.hierarchy-site .hero-promise {
  max-width: 34ch;
  margin: 0 0 1rem;
  font-size: clamp(1.2rem, 1.4vw, 1.45rem);
  line-height: 1.35;
}

body.story-site.hierarchy-site .lede {
  margin-bottom: 1.6rem;
}

body.story-site.hierarchy-site .button-row {
  gap: 1rem 1.25rem;
}

body.story-site.hierarchy-site .button {
  min-height: 46px;
  padding: .72rem 1.05rem;
  font-size: .9375rem;
}

body.story-site.hierarchy-site .button-row .text-link {
  color: var(--muted);
  border-bottom-color: var(--line);
  font-size: .9375rem;
  font-weight: 600;
}

/* Product evidence and its explanation read as one intentionally inset unit. */
body.story-site.hierarchy-site .work-scene figure {
  overflow: hidden;
  background: var(--surface);
}

body.story-site.hierarchy-site .product-evidence-caption {
  box-sizing: border-box;
  min-height: 3rem;
  margin: 0;
  padding: .8rem 1rem;
  border-top: 1px solid var(--line);
  color: var(--muted);
  background: var(--surface);
  font-size: .8125rem;
  line-height: 1.45;
}

body.story-site.hierarchy-site .work-scene-copy {
  box-sizing: border-box;
  padding: var(--component-inset);
  border: 1px solid var(--line);
  background: var(--surface);
}

body.story-site.hierarchy-site .work-scene-copy .section-index {
  margin: 0 0 1rem;
}

body.story-site.hierarchy-site .work-scene-copy h2 {
  margin: 0 0 var(--component-stack);
}

body.story-site.hierarchy-site .work-scene-copy > p:not(.section-index) {
  max-width: 46ch;
  margin: 0 0 var(--component-stack);
}

body.story-site.hierarchy-site .work-scene-copy .text-link {
  display: table;
  margin: .15rem 0 var(--component-stack);
}

body.story-site.hierarchy-site .work-scene-copy .evidence-detail {
  margin: 0;
}

body.story-site.hierarchy-site .work-scene-copy .evidence-detail summary {
  padding: 1rem 0;
}

body.story-site.hierarchy-site .work-scene-copy .evidence-detail p {
  max-width: 46ch;
  margin: 0 0 1rem;
}

body.story-site.hierarchy-site .capacity-copy h2,
body.story-site.hierarchy-site .app-lab-heading h2,
body.story-site.hierarchy-site .closing-copy h2,
body.story-site.hierarchy-site .work-scene-copy h2,
body.story-site.hierarchy-site .operator-context-grid h2,
body.story-site.hierarchy-site .review-case h2,
body.story-site.hierarchy-site .review-resources h2,
body.story-site.hierarchy-site .about-origin h2,
body.story-site.hierarchy-site .about-purpose h2,
body.story-site.hierarchy-site .about-people h2 {
  font-size: var(--type-section);
}

body.story-site.hierarchy-site .app-lab-heading {
  display: block;
  max-width: 66rem;
  margin-bottom: 2rem;
}

body.story-site.hierarchy-site .app-lab-heading>div:last-child {
  max-width: 44rem;
  margin-top: 1.15rem;
}

body.story-site.hierarchy-site .prompt-subhead {
  margin: 0 0 .35rem;
  font-family: "Turbobase Headline", Inter, ui-sans-serif, system-ui, sans-serif;
  font-size: 1.125rem;
  line-height: 1.3;
  font-weight: 800;
  letter-spacing: -.02em;
}

body.story-site.hierarchy-site .prompt-invitation {
  margin: 0;
  font-size: 1rem;
  line-height: 1.65;
}

body.story-site.hierarchy-site .audience-section .section-lead {
  max-width: 58rem;
}

body.story-site.hierarchy-site .audience-card h3 {
  margin: .35rem 0 .8rem;
  font-size: var(--type-card);
}

body.story-site.hierarchy-site .audience-card h4 {
  font-size: 1.25rem;
  line-height: 1.3;
}

body.story-site.hierarchy-site .audience-card p {
  font-size: 1rem;
  line-height: 1.65;
}

body.story-site.hierarchy-site .three-view-grid h3,
body.story-site.hierarchy-site :is(.content-card,.stage-card,.control-card,.route-card,.faq-card) h3 {
  font-size: var(--type-card);
}

body.story-site.hierarchy-site .product-tour-section {
  border-bottom: 1px solid var(--line);
}

body.story-site.hierarchy-site .console-footer {
  border-bottom: 1px solid var(--line);
}

body.story-site.hierarchy-site .console-footnote {
  display: block;
  font-size: .75rem;
}

body.story-site.hierarchy-site .console-overview h2 {
  max-width: 13ch;
  font-size: clamp(2.8rem, 4.8vw, 5rem);
}

body.story-site.hierarchy-site .console-copy h3 {
  font-size: clamp(1.6rem, 2.15vw, 2.35rem);
}

body.story-site.hierarchy-site .closing-copy {
  max-width: 62rem;
}

body.story-site.hierarchy-site .resource-masthead>div {
  display: block;
  max-width: 62rem;
}

body.story-site.hierarchy-site.resource-site .resource-masthead h1 {
  max-width: 17ch;
  font-size: var(--type-page);
}

body.story-site.hierarchy-site .resource-masthead>div>p {
  max-width: 48ch;
  margin-bottom: 1.25rem;
  font-size: var(--type-body);
}

body.story-site.hierarchy-site.about-site .about-pattern h3,
body.story-site.hierarchy-site.about-site .about-founders h3 {
  font-size: var(--type-card);
}

body.story-site.hierarchy-site.about-site :is(.about-margin-note,.about-principle) {
  font-size: clamp(1.35rem, 1.8vw, 1.8rem);
}

@media (max-width: 760px) {
  body.story-site.hierarchy-site {
    --type-page: clamp(2.65rem, 11vw, 4rem);
    --type-section: clamp(2rem, 8vw, 3rem);
    --type-card: clamp(1.25rem, 5vw, 1.65rem);
  }

  body.story-site.hierarchy-site .section-lead,
  body.story-site.hierarchy-site .section-lead.compact {
    margin-bottom: 2.25rem;
  }

  body.story-site.hierarchy-site .script-note {
    font-size: 1.25rem;
  }

  body.story-site.hierarchy-site .console-footnote p:last-child {
    display: none;
  }

  body.story-site.hierarchy-site .work-scene-copy {
    padding: 1.25rem;
  }

  body.story-site.hierarchy-site .product-evidence-caption {
    padding: .75rem 1rem;
  }
}
