.home-page {
  --story-title: clamp(2.05rem, 3.35vw, 3.4rem);
  --story-feature: clamp(1.35rem, 1.8vw, 1.75rem);
  --story-body: clamp(1.02rem, 1.2vw, 1.15rem);
  --story-space: clamp(60px, 7vw, 104px);
}
.story-lines > span { display: block; }
.story-term { white-space: nowrap; }
.home-page .home-interface-copy { max-width: min(800px, 66vw); }
.home-page .home-interface-hero .home-interface-copy h1 {
  font-size: clamp(2.6rem, 4.15vw, 4.5rem);
  font-weight: 650;
  line-height: 1.13;
  letter-spacing: -.035em;
  margin-bottom: 28px;
  text-wrap: initial;
}
.home-page .home-interface-copy > p:not(.eyebrow) { max-width: 49ch; font-size: var(--story-body); }
.home-page .home-interface-copy > p:not(.eyebrow) + p:not(.eyebrow) { margin-top: 14px; }
.story-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; margin-top: 30px; }
.story-hero-actions .button { min-height: 50px; padding: 14px 23px; }
.story-text-link { color: var(--white); font-size: 1rem; text-decoration: underline; text-underline-offset: 6px; }
.story-text-link:hover { color: var(--gold-soft); }
.story-text-link:focus-visible, .story-hero-actions a:focus-visible { outline: 2px solid var(--gold-soft); outline-offset: 6px; }
.story-section { padding-block: var(--story-space); background: var(--cream-50); color: var(--navy-900); }
.story-section .eyebrow { color: var(--gold-readable); margin: 0 0 20px; }
.story-section h2, .home-page .op-flow-film h2, .home-page .home-deployment-cta h2 {
  font-size: var(--story-title); font-weight: 650; line-height: 1.16; letter-spacing: -.025em; text-wrap: initial; margin: 0;
}
.story-section p { font-size: var(--story-body); line-height: 1.65; }
.story-pain-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); gap: clamp(32px, 7vw, 110px); }
.story-pain-intro > p:last-child { max-width: 47ch; margin: 26px 0 0; color: var(--ink-muted); }
.story-sources { margin: 0; display: grid; gap: 30px; }
.story-sources > div { border-top: 1px solid var(--line-light); padding-top: 22px; }
.story-sources dt { color: var(--gold-readable); font-size: .82rem; font-weight: 650; margin-bottom: 10px; }
.story-sources dd { margin: 0; }
.story-sources h3 { font-size: var(--story-feature); font-weight: 600; line-height: 1.3; margin: 0 0 12px; text-wrap: pretty; }
.story-sources p { color: var(--ink-muted); margin: 0; }
.story-insight { margin: 42px 0 0; padding-top: 24px; border-top: 1px solid var(--line-light); font-weight: 550; }
.home-page .op-flow-film { padding-block: var(--story-space); border-top: 1px solid var(--line-light); }
.home-page .op-flow-film .op-flow-heading { align-items: start; }
.home-page .op-flow-film .op-flow-lead { font-size: var(--story-body); max-width: 46ch; }
.story-scenario { display: none; }
[data-flow-scenario="retail"] [data-story-scene="retail"],
[data-flow-scenario="venue"] [data-story-scene="venue"],
[data-flow-scenario="warehouse"] [data-story-scene="warehouse"] { display: grid; }
.story-scenario { grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); gap: 24px 60px; padding: 24px 0 28px; border-top: 1px solid var(--line-light); }
.story-scenario h3 { font-size: var(--story-feature); font-weight: 600; margin: 0 0 10px; text-wrap: pretty; }
.story-scenario p { max-width: 49ch; font-size: var(--story-body); line-height: 1.6; color: var(--ink-muted); margin: 0; }
.story-scenario dl { display: grid; align-content: start; gap: 15px; margin: 0; }
.story-scenario dt { margin: 0 0 4px; color: var(--gold-readable); font-size: .76rem; font-weight: 650; }
.story-scenario dd { margin: 0; color: var(--ink-muted); font-size: .94rem; line-height: 1.55; }
.home-page .op-flow-film .op-story-copy p { font-size: var(--story-body); line-height: 1.65; max-width: 42ch; }
.home-page .op-flow-film .op-story-copy h3 { font-size: var(--story-feature); font-weight: 650; }
.story-outcomes { background: var(--navy-900); color: var(--cream-50); }
.story-outcomes .eyebrow { color: var(--gold-soft); }
.story-outcome-grid { margin-top: 42px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 4vw, 60px); }
.story-outcome-grid article { border-top: 1px solid var(--line-dark); padding-top: 24px; }
.story-outcome-grid .story-index { font-family: var(--font-mono); color: var(--gold-soft); font-size: .8rem; margin: 0 0 22px; }
.story-outcome-grid h3 { font-size: var(--story-feature); font-weight: 600; line-height: 1.3; margin: 0 0 14px; }
.story-outcome-grid article > p:last-child { color: var(--muted-dark); margin: 0; }
.home-page .home-deployment-cta { padding-block: var(--story-space); }
.home-page .home-deployment-details p { font-size: var(--story-body); line-height: 1.65; max-width: 61ch; }
html[lang="ja"] .home-interface-copy { max-width: min(850px, 72vw); }
html[lang="ja"] .home-interface-hero .home-interface-copy h1 { font-size: clamp(2.2rem, 3.5vw, 3.8rem); letter-spacing: -.025em; line-height: 1.3; }
html[lang="ja"] .story-section h2, html[lang="ja"] .op-flow-film h2, html[lang="ja"] .home-deployment-cta h2 { line-height: 1.35; }
@media (max-width: 1024px) {
  .home-page .home-interface-copy { max-width: min(760px, 85vw); }
  .story-pain-grid, .story-scenario { gap: 32px; }
  .home-page .op-flow-film .op-flow-heading { grid-template-columns: 1fr; gap: 24px; }
  .home-page .op-flow-film .op-flow-lead { max-width: 65ch; }
  .story-outcome-grid { gap: 26px; }
}
@media (max-width: 767px) {
  .home-page .home-interface-copy, html[lang="ja"] .home-interface-copy { max-width: 100%; }
  .home-page .home-interface-layout { min-height: 740px; padding-block: 128px 65px; }
  .home-page .home-interface-hero .home-interface-copy h1 { font-size: clamp(1.85rem, 8.1vw, 3rem); line-height: 1.16; }
  html[lang="ja"] .home-interface-hero .home-interface-copy h1 { font-size: clamp(1.7rem, 6.7vw, 2.6rem); line-height: 1.35; }
  .story-pain-grid, .story-scenario, .story-outcome-grid { grid-template-columns: 1fr; }
  .story-pain-grid { gap: 32px; }
  .story-scenario { gap: 22px; }
  .story-scenario dl { gap: 12px; }
  .story-outcome-grid { gap: 32px; }
  .story-outcome-grid .story-index { margin-bottom: 14px; }
  .home-page .op-flow-film .op-story-copy p { max-width: 60ch; }
  .story-hero-actions { gap: 20px; }
}
