/* Approved collaboration composition. Native scroll, no hover activation. */
html,body{min-width:0}
.hero{position:sticky;top:var(--hero-sticky-top,-75svh);z-index:0}
.side-rail{z-index:10}
.cooperation{position:relative;z-index:1;background:#0a0a0a;color:#fee9ce;overflow:clip;padding:var(--layout-section-space) var(--layout-gutter) var(--layout-section-space) var(--layout-content-left)}
.cooperation-title{margin:0 0 54px;color:#ffb261;font-family:Onest,Arial,sans-serif;font-size:clamp(18px,1.7vw,28px);font-weight:600;line-height:1.15;letter-spacing:-.04em;white-space:nowrap}
.cooperation-list{list-style:none;margin:0;padding:0}
.cooperation-item{display:flex;align-items:center;justify-content:space-between;gap:28px;min-width:0;padding:20px 0;font-family:Oswald,'Arial Narrow',sans-serif;font-size:clamp(24px,3.7vw,60px);font-weight:700;letter-spacing:-.018em;line-height:1.08}
.cooperation-case-name{min-width:0;overflow-wrap:anywhere}
.cooperation-static-logo{display:grid;place-content:center;justify-items:center;flex:0 0 140px;aspect-ratio:1;background:#ef5143;padding:20px;letter-spacing:0}
.cooperation-static-logo img{display:block;max-width:100%;max-height:100px;width:auto;height:auto;object-fit:contain}
.ministry-caption{display:block;margin-top:8px;font-size:11px;font-weight:600;line-height:1.15;letter-spacing:-.025em;text-align:center;color:#111}
.logo-ministry img{width:44px;height:52px}
.logo-kreator{background:#fee9ce}
.cooperation-square{display:none}
.cooperation--scroll{padding:0 0 22svh;background:linear-gradient(to bottom,rgba(10,10,10,var(--overlap-alpha,1)) 0px,rgba(10,10,10,var(--overlap-alpha,1)) var(--overlap-depth,0px),#0a0a0a var(--overlap-depth,0px),#0a0a0a 100%)}
.cooperation--scroll .cooperation-stage{position:sticky;top:0;height:100svh;min-height:560px;overflow:hidden}
.cooperation--scroll .cooperation-title{position:absolute;z-index:4;left:var(--layout-content-left);top:50%;transform:translateY(-50%);margin:0}
.cooperation--scroll .cooperation-list-window{position:absolute;inset:0;overflow:hidden}
.cooperation--scroll .cooperation-list{position:absolute;z-index:1;left:51.8%;right:var(--layout-gutter);top:0;transform:translate3d(0,var(--cooperation-y,0px),0);will-change:auto}
.cooperation--scroll[data-active="true"] .cooperation-list{will-change:transform}
.cooperation--scroll .cooperation-item{display:flex;justify-content:flex-start;height:clamp(74px,5.9vw,112px);padding:0;gap:0;font-size:clamp(48px,5vw,96px);line-height:1.04}
.cooperation--scroll .cooperation-case-name{display:block;width:100%;white-space:nowrap;overflow-wrap:normal}
.cooperation--scroll .cooperation-static-logo{display:none}
.cooperation--scroll .cooperation-square{display:block;position:absolute;z-index:3;left:45%;top:50%;transform:translateY(-50%);width:16.3%;aspect-ratio:1;background:#ef5143;pointer-events:none;transition:background-color 120ms linear}
.cooperation-logo{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:13%;opacity:0;visibility:hidden;transition:opacity 90ms linear,visibility 90ms linear}
.cooperation-logo.is-current{opacity:1;visibility:visible}
.cooperation-logo img{display:block;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.cooperation-logo.logo-ministry img{width:clamp(36px,3.1vw,60px);height:auto;max-height:42%}
.cooperation-logo.logo-ministry .ministry-caption{font-size:clamp(10px,1vw,16px);margin-top:7%}
.cooperation-logo.logo-kreator{background:transparent}
.cooperation[data-case="kreator"] .cooperation-square{background:#fee9ce}
html[data-motion="reduced"] .hero{position:relative;top:0}
@media(prefers-reduced-motion:reduce){.hero{position:relative;top:0}}
@media(max-width:1050px) and (min-width:701px){
  .cooperation-title{font-size:2.1vw}
  .cooperation--scroll .cooperation-title{left:var(--layout-content-left)}
}
@media(max-width:700px){
  .hero{top:var(--hero-sticky-top,-75svh)}
  .cooperation{padding:var(--layout-section-space) var(--layout-gutter) var(--layout-section-space) var(--layout-content-left)}
  .cooperation-title{font-size:clamp(14px,3.8vw,23px);margin-bottom:40px;letter-spacing:-.05em}
  .cooperation-item{font-size:clamp(17px,5vw,28px);gap:12px;padding:18px 0}
  .cooperation-static-logo{flex-basis:80px;padding:10px}
  .cooperation-static-logo img{max-height:60px}
  .cooperation-static-logo.logo-ministry img{width:24px;height:auto;max-height:32px}
  .cooperation-static-logo .ministry-caption{font-size:6px;margin-top:4px}
  .cooperation--scroll{padding:0 0 20svh}
  .cooperation--scroll .cooperation-title{left:var(--layout-content-left);top:17%;transform:none;font-size:clamp(14px,3.8vw,23px)}
  .cooperation--scroll .cooperation-list-window{top:calc(17svh + 40px)}
  .cooperation--scroll .cooperation-list{left:43%;right:3%}
  .cooperation--scroll .cooperation-item{height:78px;font-size:clamp(28px,7.7vw,46px)}
  .cooperation--scroll .cooperation-item.is-long .cooperation-case-name{white-space:normal}
  .cooperation--scroll .cooperation-square{left:24%;width:28%}
  .cooperation-logo.logo-ministry img{width:28px;max-height:40%}
  .cooperation-logo.logo-ministry .ministry-caption{font-size:7px;margin-top:5px}
}
@media(max-width:380px){
  .cooperation{padding-left:var(--layout-content-left)}
  .cooperation--scroll{padding-left:0}
  .cooperation--scroll .cooperation-title{left:var(--layout-content-left);font-size:13px}
  .cooperation--scroll .cooperation-square{left:25%;width:29%}
  .cooperation--scroll .cooperation-list{left:44%}
}
/* Alternate transition: the opaque hero slides off the stationary layer below. */
html[data-transition="reveal"] .hero{position:relative;top:0;z-index:2}
.cooperation--scroll[data-transition="reveal"]{margin-top:calc(-1 * var(--reveal-height,100svh));scroll-margin-top:calc(-1 * var(--reveal-height,100svh));background:#0a0a0a}

/* A real next section now follows immediately; no empty release tail. */
.cooperation--scroll.cooperation--next{padding-bottom:0}

.ministry-caption{font-family:Onest,Arial,sans-serif;font-weight:600}
