/* Mobile chapters reserve space for text instead of sharing absolute coordinates. */
@media (max-width:700px) {
  h1,h2,h3,p,figcaption { overflow-wrap:break-word; }
  .nav { left:12px;right:12px;top:12px; }
  .nav .wordmark { font-size:20px; }
  .nav-cta { padding:11px 14px;font-size:11px; }
  .nav-cta span { margin-left:8px; }
  .eyebrow { overflow-wrap:anywhere; }

  /* Opening films: copy owns a white row, never the first line of the film. */
  .chapter .stage { min-height:0;height:100svh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:18px;padding:98px 0 22px; }
  .chapter .scene-copy { position:relative;inset:auto;padding:0 24px;transform:none!important;opacity:1!important; }
  .chapter .scene-copy h1,.chapter .scene-copy h2 { font-size:clamp(30px,8.8vw,39px);margin:14px 0;line-height:1.12; }
  .chapter .scene-line { font-size:12px;line-height:1.6; }
  .chapter .film { position:relative;inset:auto;min-height:0;grid-row:2; }
  .chapter .shade { display:none; }
  .chapter .scene-bottom { position:relative;inset:auto;margin:0 24px;grid-row:3; }
  .chapter .concept-label { bottom:8px; }

  /* VINT: title, hint and film gallery cannot cover one another. */
  .cinema-case .motion-stage { height:100svh;min-height:0;display:flex;flex-direction:column;padding:94px 24px 22px;gap:18px; }
  .cinema-case .world-top,.cinema-case .vint-intro,.cinema-case .world-bottom { position:relative;inset:auto;width:100%;margin:0;flex:none; }
  .cinema-case .vint-intro h2 { font-size:clamp(25px,7.4vw,31px); }
  .cinema-case .vint-intro>span { max-width:none;margin-top:12px;line-height:1.7; }
  .cinema-case .vint-intro>p { margin-bottom:10px; }
  .cinema-case .world-bottom { order:2; }
  .cinema-case .orbit-gallery { position:relative;inset:auto;order:3;flex:1;min-height:0;width:100%;height:auto;transform:rotate(-3deg);overflow:hidden; }

  /* Audience result stays inside the viewport, including its platform labels. */
  .reach-story .motion-stage { height:100svh;min-height:0;display:grid;grid-template-rows:auto auto minmax(100px,1fr) auto auto;gap:14px;padding:96px 24px 18px; }
  .reach-story .story-kicker,.reach-story .accumulation-copy,.reach-story .content-accumulator,.reach-story .accumulated-result,.reach-story .story-foot { position:relative;inset:auto;margin:0;width:auto;max-width:none; }
  .reach-story .story-kicker { font-size:6px;gap:10px; }
  .reach-story .story-kicker>span:last-child { font-size:5px;text-align:right; }
  .reach-story .accumulation-copy h2 { font-size:clamp(24px,7vw,29px);max-width:none; }
  .reach-story .accumulation-copy p { font-size:10px;line-height:1.7;margin-top:12px;max-width:none; }
  .reach-story .content-accumulator { min-height:0;height:100%;max-height:none;margin:0 8px;transform:none; }
  .reach-story .corporate-sheet figcaption { font-size:8px; }
  .reach-story .accumulated-result { margin-top:6px; }
  .reach-story .accumulated-result>p { margin-bottom:10px;font-size:9px; }
  .reach-story .number-window { padding:5px 0; }
  .reach-story .reach-total strong { font-size:clamp(76px,25vw,110px);line-height:.92; }
  .reach-story .reach-total b { font-size:30px; }
  .reach-story .reach-sources { margin-top:12px;padding-top:10px;gap:12px; }
  .reach-story .reach-sources b { font-size:15px; }
  .reach-story .story-foot { padding-top:9px;gap:0; }
  .reach-story .story-foot small { font-size:7px;line-height:1.5; }

  .brand-story .motion-stage { min-height:0; }
  .brand-manifesto { top:130px;transform:none;opacity:clamp(0,calc(1 - var(--gather,0)*4),1); }
  .brand-manifesto h2 { font-size:clamp(24px,7.5vw,31px); }
  .brand-story .story-kicker { top:100px; }
  .brand-conclusion { opacity:clamp(0,calc((var(--gather,0) - .25)/.75),1); }
  .brand-conclusion h3 { font-size:clamp(34px,10vw,43px); }

  /* Chart footer and headline have their own rows; bars keep their scroll timing. */
  .results-world .motion-stage { height:100svh;min-height:0;display:grid;grid-template-rows:auto minmax(240px,1fr) auto;gap:18px;padding:100px 24px 20px; }
  .results-head,.results-world .metrics,.results-bottom { position:relative;inset:auto;min-width:0;margin:0; }
  .results-head { display:block; }
  .results-head h2 { font-size:clamp(24px,7vw,31px);margin-top:14px; }
  .results-head>p:last-child { margin-top:10px;font-size:10px; }
  .results-head>p:last-child span { font-size:9px; }
  .results-world .metrics { min-height:0; }
  .results-world .metric-layout { gap:0; }
  .results-world .metric-number { padding-top:8px; }
  .results-world .metric-number strong { font-size:clamp(65px,20vw,90px); }
  .results-world .sculpture-chart { padding-top:10px;margin-top:0; }
  .results-world .ribbon-row { margin-bottom:12px; }
  .results-world .ribbon-track { height:20px; }
  .results-bottom { padding-top:12px;gap:8px; }
  .results-bottom>p { font-size:8px;line-height:1.6; }
  .results-bottom>span { font-size:7px; }

  /* Full-bleed films retain their image while copy and numbers flow vertically. */
  .cost-cinema .motion-stage { min-height:0;height:100svh;display:flex;flex-direction:column;justify-content:space-between;padding:100px 24px 24px;gap:22px; }
  .cost-cinema .cost-editorial { position:relative;inset:auto;max-width:none;flex:none; }
  .cost-cinema .cost-editorial h2 { font-size:clamp(28px,8vw,35px);max-width:none;margin:18px 0; }
  .cost-cinema .cost-editorial>p:not(.eyebrow) { font-size:11px;line-height:1.8; }
  .cost-cinema .cost-hero-number { position:relative;inset:auto;width:auto;text-align:left;display:block;margin:24px 0 0; }
  .cost-cinema .cost-hero-number>span { display:block;margin-bottom:10px;font-size:10px; }
  .cost-cinema .cost-hero-number strong { font-size:clamp(64px,21vw,86px); }
  .cost-cinema .cost-hero-number b { display:block;max-width:none;margin-top:10px;font-size:10px; }
  .cost-cinema .cost-caption { position:relative;inset:auto;flex:none;width:100%;margin:0;padding:16px 0 0;gap:12px; }
  .fullbleed-cost .motion-stage:after { content:'';position:absolute;inset:0;background:#0007;pointer-events:none;z-index:1; }
  .fullbleed-cost .cost-editorial,.fullbleed-cost .cost-caption { z-index:2; }
  .fullbleed-cost .cost-caption>p { padding:0;background:none;max-width:none; }
  .web-performance.web-cost .cost-caption { position:relative;inset:auto;padding:14px;background:#ffffffed; }

  .realistic-showcase .motion-stage { min-height:0;height:100svh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:100px 20px 24px;gap:24px; }
  .realistic-showcase .showcase-top,.realistic-showcase .demo-stack,.realistic-showcase .showcase-bottom { position:relative;inset:auto;margin:0;width:100%; }
  .realistic-showcase .demo-stack { min-height:0;height:100%;max-height:none; }
  .realistic-showcase .showcase-top { display:block; }
  .realistic-showcase .showcase-top>span { display:block;margin-top:12px; }
  .realistic-showcase .showcase-bottom>button { margin-top:14px; }
  .demo-context { min-width:0; }

  /* Reading-heavy chapters use natural height on phones. */
  .discovery-bridge,.planning-story { height:auto; }
  .discovery-pin,.planning-pin { position:relative;height:auto;min-height:0;padding:96px 24px 50px;overflow:visible; }
  .discovery-pin h2 { font-size:clamp(25px,7.5vw,31px); }
  .discovery-route { margin:0; }
  .route-query { opacity:1;transform:none; }
  .route-arrow { opacity:1; }
  .planning-heading h2 { font-size:clamp(29px,8vw,36px); }
  .planning-board { position:relative;inset:auto;width:100%;margin-top:30px;transform:none; }
  .planning-story .process-steps { position:relative;inset:auto;margin-top:32px;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px; }
  .planning-story .process-steps h3 { font-size:16px;line-height:1.5; }
  .planning-story .process-steps p { display:block;font-size:11px;line-height:1.8; }
  .planning-story .process-current { display:none; }
  .planning-story .process-progress { display:none; }
  .brief-line>b { min-width:0;overflow-wrap:anywhere; }
  .storyboard-strips>span { padding:9px 6px; }
  .storyboard-strips b { font-size:clamp(12px,3.8vw,16px); }

  .plans-heading h2,.web-intro h2,.ai-search h2,.journey-heading h3 { font-size:clamp(28px,8.4vw,36px); }
  .plan-card { min-width:0; }
  .plan-card h3 { font-size:clamp(26px,8vw,33px); }
  .plan-card .plan-bottom button { white-space:normal;line-height:1.6; }
  .plan-feature strong span { display:inline-block; }
  .source-browser>div { min-width:0; }
  .fact-tags { flex-wrap:wrap; }
  .footer-cta { font-size:clamp(34px,10vw,48px); }
  dialog { max-width:calc(100vw - 24px);max-height:calc(100svh - 24px);overflow:auto; }
  #inquiry input,#inquiry textarea,#inquiry select { min-width:0;font-size:16px; }
}

@media (max-width:700px) and (max-height:650px) {
  .chapter .stage { padding-top:84px;gap:12px; }
  .chapter .scene-copy h1,.chapter .scene-copy h2 { font-size:30px;margin:10px 0; }
  .chapter .scene-line { font-size:11px; }
  .reach-story .motion-stage { padding-top:84px;gap:10px;padding-bottom:12px; }
  .reach-story .accumulation-copy h2 { font-size:24px; }
  .reach-story .accumulation-copy p { font-size:9px;margin-top:8px; }
  .reach-story .reach-total strong { font-size:76px; }
  .reach-story .reach-sources { margin-top:8px;padding-top:6px; }
  .reach-story .reach-sources b { font-size:13px;margin-top:4px; }
  .reach-story .accumulated-result>p { margin-bottom:6px; }
  .results-world .motion-stage { padding-top:84px;gap:12px;grid-template-rows:auto minmax(220px,1fr) auto; }
  .results-head h2 { font-size:24px;margin-top:10px; }
  .results-head>p:last-child { font-size:9px;margin-top:7px; }
  .results-world .metric-number strong { font-size:60px; }
  .results-world .ribbon-track { height:16px; }
  .results-world .ribbon-row { margin-bottom:8px; }
  .cost-cinema .motion-stage { padding-top:84px;gap:14px; }
  .cost-cinema .cost-editorial h2 { font-size:28px;margin:12px 0; }
  .cost-cinema .cost-hero-number { margin-top:16px; }
  .cost-cinema .cost-hero-number strong { font-size:62px; }
  .cost-cinema .cost-caption strong { font-size:13px; }
  .cinema-case .motion-stage { padding-top:84px;gap:12px; }
}

@media (max-width:700px) and (prefers-reduced-motion:reduce) {
  .brand-manifesto { top:auto;opacity:1; }
  .chapter .stage { min-height:600px; }
  .cinema-case .motion-stage { height:auto;min-height:0; }
  .cinema-case .orbit-gallery { display:flex;flex:none;height:350px;transform:none;overflow:auto; }
  .reach-story .motion-stage { height:auto;display:block; }
  .reach-story .accumulation-copy,.reach-story .accumulated-result { margin:28px 0; }
  .reach-story .content-accumulator { height:auto;display:grid;margin:0; }
  .results-world .motion-stage { height:auto;display:block; }
  .results-world .metrics { margin:25px 0;display:grid;gap:35px; }
  .results-world .metric-scene { position:relative; }
  .realistic-showcase .motion-stage { height:auto;display:block; }
  .realistic-showcase .demo-stack { height:auto;margin:28px 0; }
  .cost-cinema .motion-stage { height:auto;min-height:650px; }
}
