/* Native page travel drives the original stack. The complete catalogue stays
   together, then releases naturally into the closing invitation. */
.cc-page .cc-scroll-guide { display:none; }
.cc-page .cc-static-list { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px 24px; padding:32px var(--sh-pad,48px) 0; }
.cc-page .cc-static-list a { display:block; }
.cc-page .cc-static-list img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:3px; }
.cc-page .cc-static-list span { display:block; margin-top:12px; font-size:11px; line-height:1.4; color:var(--fg-mid); }
.cc-page .cc-static-list h3 { margin-top:8px; font-size:var(--t-body); font-weight:400; line-height:1.4; }
.cc-page:not(.cc-native) #case-catalogue .reveal { opacity:1; transform:none; }
.cc-page:not(.cc-native) .cc-mls-track { display:none; }
.cc-page.cc-native .cc-static-list { display:none; }
.cc-page.cc-native #case-catalogue { padding:0; height:var(--cc-run-height,100svh); overflow-anchor:none; }
.cc-page.cc-native .cc-scroll-pin { position:sticky; top:var(--cc-nav-height,66px); height:calc(100svh - var(--cc-nav-height,66px)); min-height:0; display:flex; flex-direction:column; padding-top:clamp(16px,3.2vh,32px); }
.cc-page.cc-native #case-catalogue .sec-head { padding-top:0; border-top:0; }
.cc-page.cc-native .cc-mls-track { flex:1; min-height:0; margin-top:24px; margin-bottom:56px; }
.cc-page.cc-native .cc-mls-stage { height:100%; border-radius:0; touch-action:pan-y; }
.cc-page.cc-native .cc-mls-stage,
.cc-page.cc-native .cc-mls-layer { cursor:grab; -webkit-user-select:none; user-select:none; }
.cc-page.cc-native .cc-mls-stage.is-dragging,
.cc-page.cc-native .cc-mls-stage.is-dragging * { cursor:grabbing; }
.cc-page.cc-native .cc-mls-stage img { -webkit-user-drag:none; }
.cc-page.cc-native .cc-mls-hud { bottom:0; right:var(--sh-pad,48px); }
.cc-page.cc-native .cc-mls-layers { --by:0%; }
.cc-page.cc-native .cc-scroll-guide { position:absolute; left:var(--sh-pad,48px); right:var(--sh-pad,48px); bottom:20px; display:flex; align-items:center; gap:16px; pointer-events:none; color:var(--fg-mid); font:400 var(--t-small,13px)/1.4 var(--sans); }
.cc-page .cc-scroll-rule { flex:1; max-width:160px; height:1px; background:rgba(255,255,250,.18); overflow:hidden; }
.cc-page .cc-scroll-rule b { display:block; height:1px; width:100%; background:rgba(255,255,250,.75); transform:scaleX(0); transform-origin:0 50%; }
.cc-page .cc-scroll-arrow { font-size:16px; color:var(--fg); }
@media(max-width:820px){
  .cc-page.cc-native .cc-mls-track { margin-top:16px; margin-bottom:52px; }
  .cc-page.cc-native .cc-mls-layer { width:min(64vw,300px); }
  .cc-page.cc-native .cc-mls-layers { --bx:calc(var(--sh-pad,24px) + min(32vw,150px) - 50vw); --by:2%; }
  .cc-page.cc-native .cc-rail { top:0; }
  .cc-page.cc-native .cc-mls-hud { bottom:0; }
  .cc-page.cc-native .cc-scroll-guide { bottom:18px; gap:12px; }
  .cc-page .cc-scroll-rule { max-width:100px; }
  .cc-page .cc-static-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:520px){ .cc-page .cc-static-list { grid-template-columns:1fr; } }
@media(max-height:620px){
  .cc-page.cc-native .cc-scroll-pin { padding-top:12px; }
  .cc-page.cc-native .cc-mls-layer { width:min(24vw,42svh,260px); }
  .cc-page.cc-native .cc-mls-track { margin-top:16px; }
}
@media(max-height:620px) and (max-width:820px){
  .cc-page.cc-native .cc-mls-layer { width:min(56vw,36svh,240px); }
  .cc-page.cc-native .cc-mls-layers { --bx:calc(var(--sh-pad,24px) + min(28vw,18svh,120px) - 50vw); --by:8%; }
}
/* the deck keeps its share of the screen (2026-10-27): 300 px at a 900 tall window, growing with the height above it, never past a
   quarter of the width; below 900 the cards keep the 300 px they had */
@media(min-width:821px) and (min-height:621px){ .cc-page.cc-native .cc-mls-layer { width:min(24vw, max(300px, calc((100svh - 66px) * .36))); } }
