/* Fill ordinary desktop windows, but bound the visual canvas in very tall CSS
   viewports (including browser zoom-out). Content can always grow beyond it. */
:root {
  --layout-height:min(100vh,calc(1200px + var(--header-scrolled-h) + var(--dream-player-offset,0px)));
  --chapter-height:calc(var(--layout-height) - var(--header-scrolled-h) - var(--dream-player-offset,0px));
  --hero-height:calc(var(--layout-height) - var(--dream-player-offset,0px));
}
@supports (height:100dvh) {
  :root {--layout-height:min(100dvh,calc(1200px + var(--header-scrolled-h) + var(--dream-player-offset,0px)))}
}
#conteudo>.hero {min-height:var(--hero-height)}
#conteudo>section:not(.hero):not(.platform) {min-height:var(--chapter-height)}
@media (min-width:1101px) {
  #conteudo {--chapter-pad:clamp(24px,calc(var(--chapter-height) * .04),84px)}
  #conteudo>section:not(.hero):not(.platform) {display:flex;align-items:center;padding-block:var(--chapter-pad)}
  #conteudo>.hero {display:flex;flex-direction:column;padding-top:calc(var(--header-h) + clamp(22px,calc(var(--hero-height) * .04),58px))}
  .hero .hero__layout {flex:1 0 auto;min-height:0}
  .hero h1 {font-size:clamp(54px,min(5.3vw,calc(var(--hero-height) * .09)),140px);margin-top:clamp(20px,calc(var(--hero-height) * .03),34px)}
  .hero__description {margin-top:clamp(16px,calc(var(--hero-height) * .02),28px)}
  .hero__actions {margin-top:clamp(20px,calc(var(--hero-height) * .025),36px)}
  .hero__bottom {margin-top:clamp(24px,calc(var(--hero-height) * .03),42px)}
  .hero .hero__visual {padding-block:64px;min-height:0}
  .hero .hero__visual .visual-frame {height:clamp(330px,calc(var(--hero-height) * .48),880px)}
  .hero .hero__foot {height:clamp(60px,calc(var(--hero-height) * .07),100px);flex-shrink:0}
  .cinema .cinema__content {padding-block:0}
  .cinema h2 {font-size:clamp(64px,min(7.5vw,calc(var(--layout-height) * .13)),200px);margin-block:clamp(24px,calc(var(--layout-height) * .04),64px)}
  .manifesto__tiles,.showcase__body,.roadmap__grid {margin-top:clamp(24px,calc(var(--chapter-height) * .035),70px)}
  .vision .vision__head h2 {font-size:clamp(44px,min(4.5vw,calc(var(--layout-height) * .075)),110px);margin:18px 0 30px}
  .vision .vision__copy>p {font-size:clamp(19px,calc(var(--layout-height) * .026),36px);line-height:1.55;margin-top:16px}
  .vision .vision__lines {margin-top:24px}
  .vision .vision__lines>div {padding-block:18px}
  .vision .vision__link {margin-top:24px}
  .vision .vision__art {min-height:clamp(300px,calc(var(--layout-height) * .42),720px)}
  #conteudo>.platform {padding-block:0}
  .platform__chapter {min-height:var(--chapter-height);display:grid;align-content:center;padding-block:var(--chapter-pad)}
  .platform__chapter .platform__capabilities {margin:20px 0 0}
  .platform__chapter .platform-feature {padding:18px 20px;min-height:0}
  .platform__chapter .platform__gallery-head,.platform__chapter .platform__spec-head {margin:0 0 28px}
  .platform__chapter .platform__steps {margin:0 0 28px}
  .platform__chapter .platform__intro h2 {font-size:clamp(48px,min(4.5vw,calc(var(--chapter-height) * .085)),115px);margin-block:20px}
}
