/* STADION v61: semantic vertical rhythm. Homepage, grids and media stay intact.
   Each relationship has one owner; divider tokens are TOTAL visible intervals. */
.case-page[data-case="stadion"]{
  --case-sp-paragraph:8px;--case-sp-title-copy:12px;--case-sp-h2-intro:16px;
  --case-sp-intro-body:32px;--case-sp-proof:40px;--case-sp-pair:24px;
  --case-sp-stack:40px;--case-sp-related:48px;--case-sp-scene:88px;--case-sp-chapter:120px;
  --case-related-before:24px;--case-related-after:23px;
  --case-scene-before:44px;--case-scene-after:44px;
  --case-chapter-top:60px;--case-chapter-bottom:59px;
  /* Existing full-rail scene geometry consumes these aliases, never adds gaps. */
  --case-scene-gap:var(--case-sp-scene);--case-connected-gap:var(--case-sp-related);
}
.case-page[data-case="stadion"] .case-copy{gap:var(--case-sp-title-copy)}
.case-page[data-case="stadion"] .case-copy-body{gap:var(--case-sp-paragraph)}
.case-page[data-case="stadion"] .case-chapter-heading{gap:var(--case-sp-h2-intro);margin-bottom:var(--case-sp-intro-body)}
.case-page[data-case="stadion"] #context{padding-top:80px}
.case-page[data-case="stadion"] #context>.case-chapter-heading{margin-bottom:var(--case-sp-proof)}
.case-page[data-case="stadion"] .case-blocks{gap:0}
.case-page[data-case="stadion"] .case-feature{margin-top:0;padding-top:0}
.case-page[data-case="stadion"] .case-blocks>.case-feature:not(:first-child){margin-top:var(--case-scene-before);padding-top:var(--case-scene-after)}
.case-page[data-case="stadion"] #interface .case-feature{margin-top:var(--case-scene-before);padding-top:var(--case-scene-after)}
.case-page[data-case="stadion"] .case-feature:first-child,
.case-page[data-case="stadion"] #interface .case-feature:first-child{margin-top:0;padding-top:0}
.case-page[data-case="stadion"] #interface .case-feature[data-case-spacing="connected"]{margin-top:var(--case-sp-related);padding-top:0}
.case-page[data-case="stadion"] .case-feature--wide{row-gap:var(--case-sp-proof)}
.case-page[data-case="stadion"] :is(.case-feature-media,.case-system-evidence){row-gap:var(--case-sp-stack)}
.case-page[data-case="stadion"] .case-media-pair{gap:var(--case-sp-pair)}
.case-page[data-case="stadion"] .case-context-preview{margin-bottom:var(--case-sp-related)}
.case-page[data-case="stadion"] .case-context-story--brief{row-gap:0}
.case-page[data-case="stadion"] .case-context-story--brief>.case-copy{
  margin-top:var(--case-related-before);padding-top:var(--case-related-after);
}
/* Real 1px border: 44+1+43=88. Bottom padding cancels the negative margin;
   chapter bottom owns the 59px from the final stage row to its boundary. */
.case-page[data-case="stadion"] .case-process-band{
  margin:var(--case-scene-before) calc(-1 * var(--case-content-inset)) calc(-1 * var(--case-chapter-bottom));
  padding:calc(var(--case-scene-after) - 1px) var(--case-content-inset) var(--case-chapter-bottom);
}
.case-page[data-case="stadion"] .case-research-opening{row-gap:0}
.case-page[data-case="stadion"] .case-research-proof{margin-top:var(--case-sp-proof)}
.case-page[data-case="stadion"] .case-research-narrative{row-gap:0}
.case-page[data-case="stadion"] .case-research-narrative>.case-copy+ .case-copy{
  margin-top:var(--case-related-before);padding-top:var(--case-related-after);
}
.case-page[data-case="stadion"] .case-chapter--editorial>.case-blocks{margin-top:var(--case-sp-related)}
.case-page[data-case="stadion"] #research>.case-blocks>.case-competitors{margin-top:var(--case-sp-scene)}
.case-page[data-case="stadion"] #research .case-competitors+.case-gallery{margin-top:var(--case-sp-proof)}
/* The panel's existing border is part of this transition, not a second line.
   Its approved internal padding/min-height are independent component metrics. */
.case-page[data-case="stadion"] #research .case-analysis-trigger{margin-top:calc(var(--case-sp-related) - 1px)}
.case-page[data-case="stadion"] #architecture .case-reading-block{margin-top:var(--case-sp-related)}
.case-page[data-case="stadion"] #interface .case-feature--sequence{row-gap:var(--case-sp-related)}
.case-page[data-case="stadion"] #interface>.case-screen-reel{margin-top:var(--case-scene-before);padding-top:var(--case-scene-after)}
.case-page[data-case="stadion"] .case-outcome-composition{
  margin-bottom:var(--case-sp-related);
  /* A tall metrics panel must not distribute empty space inside the title row. */
  grid-template-rows:max-content minmax(0,1fr);
}
/* These are paragraphs of one introduction, not independent content blocks. */
.case-page[data-case="stadion"] .case-system-summary{gap:8px}
.case-page[data-case="stadion"] .case-system-summary>.case-chapter-heading,
.case-page[data-case="stadion"] .case-research-introduction>.case-chapter-heading,
.case-page[data-case="stadion"] .case-outcome-composition>.case-chapter-heading{margin:0}
.case-page[data-case="stadion"] .case-system-summary>.case-chapter-heading{gap:18px}
.case-page[data-case="stadion"] .case-outcome-composition>.case-chapter-heading{gap:12px;align-content:start}
.case-page[data-case="stadion"] .case-process li{grid-template-columns:max-content minmax(0,1fr);column-gap:17px}
.case-page[data-case="stadion"] .case-stage-number{width:max-content}

/* One media-card structure for full-width, paired and reel evidence. The
   caption stays outside the image link, so only the image pauses the reel. */
.case-page[data-case="stadion"] .case-media:has(>figcaption){
  display:grid;gap:0;grid-template-rows:auto 1fr;min-width:0;margin:0;
  border:1px solid var(--color-rule);border-radius:26px;
  overflow:hidden;background:var(--color-paper);
}
.case-page[data-case="stadion"] .case-media:has(>figcaption)>:is(.case-image-link,.case-video-wrap){border-radius:25px;overflow:hidden}
.case-page[data-case="stadion"] .case-media>figcaption{
  margin:0;padding:20px;font:400 14px/1.55 var(--font-body);
  color:var(--color-muted);background:var(--color-paper);text-wrap:pretty;
}
.case-page[data-case="stadion"] .case-outcome-composition .case-results,
.case-page[data-case="stadion"] .case-results :is(strong,p){color:#fff}
.case-page[data-case="stadion"] .case-results>div+div{border-top-color:#ffffff66}

/* Canonical homepage component in a moving strip. v60: preserve the homepage
   card dimensions; never shrink cards to fit the viewport height. */
.case-page[data-case="stadion"] .case-more.home-projects-source{width:100%;margin:0}
.case-page[data-case="stadion"] .case-more-heading{padding:40px 24px}
.case-page[data-case="stadion"] .case-more-grid{gap:0}
.case-page[data-case="stadion"] .case-more-grid>.home-project-card{
  box-sizing:border-box;flex:0 0 var(--case-project-width);width:var(--case-project-width)!important;
  --case-project-width:min(50%,700px);
  min-width:0;max-width:none;height:auto;padding:64px 24px;gap:0;
  border:0;border-radius:0;background:transparent;color:var(--color-ink);overflow:visible;
  justify-content:flex-start;align-items:stretch;
}
.case-page[data-case="stadion"] .home-project-card .framer-1nr2uxi{height:auto;aspect-ratio:1.33256}
.case-page[data-case="stadion"] .home-project-card h3{
  font:500 35px/49px var(--font-display);letter-spacing:normal;text-transform:none;
  color:var(--framer-text-color,var(--color-ink));white-space:normal;text-wrap:pretty;
}
.case-page[data-case="stadion"] .home-project-card .framer-gxm2oc p{font:400 16px/25.6px var(--font-body);color:var(--color-muted)}
.case-page[data-case="stadion"] .home-project-card .framer-1jyqkgd{width:49px;height:49px}
.case-page[data-case="stadion"] .home-project-card:is(:hover,:focus-visible) h3{--framer-text-color:var(--color-accent)!important}
.case-page[data-case="stadion"] .home-project-card:is(:hover,:focus-visible) .framer-1jyqkgd{background-color:var(--color-accent)!important}
.case-page[data-case="stadion"] .home-project-card:is(:hover,:focus-visible) .framer-CfD0L{--1hmr9s8:#fff!important}
.case-page[data-case="stadion"] .case-more[data-auto-static] .home-project-card,
.case-page[data-case="stadion"] .case-more:not([data-auto-ready]) .home-project-card{width:100%!important;min-width:0}
.case-page[data-case="stadion"] .case-more[data-auto-static] .case-more-grid,
.case-page[data-case="stadion"] .case-more:not([data-auto-ready]) .case-more-grid{max-width:1400px;margin-inline:auto}
@media(max-width:1199.98px){
  .case-page[data-case="stadion"] .home-project-card h3{font-size:25px;line-height:35px}
  .case-page[data-case="stadion"] .home-project-card .framer-gxm2oc p{font-size:15px;line-height:24px}
}
@media(min-width:810px) and (max-width:1199.98px){
  .case-page[data-case="stadion"]{
    --case-sp-intro-body:28px;--case-sp-proof:32px;--case-sp-pair:20px;
    --case-sp-stack:32px;--case-sp-related:40px;--case-sp-scene:72px;--case-sp-chapter:104px;
    --case-related-before:20px;--case-related-after:19px;
    --case-scene-before:36px;--case-scene-after:36px;
    --case-chapter-top:52px;--case-chapter-bottom:51px;
  }
}
@media(max-width:1199.98px){
  .case-page[data-case="stadion"] .case-research-narrative{margin-top:var(--case-sp-intro-body)}
}
@media(max-width:809.98px){
  .case-page[data-case="stadion"]{
    --case-sp-h2-intro:14px;--case-sp-intro-body:24px;--case-sp-proof:24px;--case-sp-pair:16px;
    --case-sp-stack:28px;--case-sp-related:32px;--case-sp-scene:56px;--case-sp-chapter:80px;
    --case-related-before:16px;--case-related-after:15px;
    --case-scene-before:28px;--case-scene-after:28px;
    --case-chapter-top:40px;--case-chapter-bottom:39px;
  }
  .case-page[data-case="stadion"] #context{padding-top:48px}
  .case-page[data-case="stadion"] .case-feature{row-gap:var(--case-sp-proof)}
  .case-page[data-case="stadion"] .case-context-story--brief>.case-narrative-group{row-gap:var(--case-sp-related)}
  .case-page[data-case="stadion"] .case-sequence-step{row-gap:var(--case-sp-proof)}
  .case-page[data-case="stadion"] .case-system-layout{row-gap:32px}
  .case-page[data-case="stadion"] .case-system-summary>.case-chapter-heading{gap:14px}
  .case-page[data-case="stadion"] .case-outcome-composition{grid-template-rows:none}
  .case-page[data-case="stadion"] .case-media:has(>figcaption){border-radius:18px}
  .case-page[data-case="stadion"] .case-media:has(>figcaption)>:is(.case-image-link,.case-video-wrap){border-radius:17px}
  .case-page[data-case="stadion"] .case-media>figcaption{padding:16px}
  .case-page[data-case="stadion"] .case-more-heading{padding:32px 16px}
  .case-page[data-case="stadion"] .case-more-grid>.home-project-card{--case-project-width:100%;min-width:0;height:min-content;padding:64px 16px 62px}
  .case-page[data-case="stadion"] .home-project-card .framer-1nr2uxi{border-radius:20px!important}
  .case-page[data-case="stadion"] .home-project-card h3{font-size:25px;line-height:35px}
  .case-page[data-case="stadion"] .home-project-card .framer-1jyqkgd{width:37px;height:37px}
}
@media(prefers-reduced-motion:reduce){
  .case-page[data-case="stadion"] .case-more-grid{max-width:1400px;margin-inline:auto}
  .case-page[data-case="stadion"] .case-more-grid>.home-project-card{width:100%!important;min-width:0}
}
