/* Pauze case-study motion layer */
.case-studies{position:relative;background:#050505;color:#f5f5f2;min-height:310vh;overflow:clip}
.case-sticky{position:sticky;top:0;height:100vh;min-height:680px;padding:7vh 7vw;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);grid-template-rows:auto 1fr auto;gap:0 6vw;align-items:center;overflow:hidden}
.case-head{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;align-self:start;z-index:8}.case-stage{position:relative;width:100%;height:66vh;min-height:450px;display:grid;place-items:center;perspective:1200px;overflow:hidden}.case-stage::before{content:"";position:absolute;width:78%;aspect-ratio:1;border:1px solid #171717;border-radius:50%;transform:rotate(22deg) scaleY(.34);animation:caseOrbit 18s linear infinite}.case-stage::after{content:"";position:absolute;width:55%;aspect-ratio:1;border:1px solid #1d1d1d;border-radius:50%;transform:rotate(-28deg) scaleY(.34);animation:caseOrbitReverse 12s linear infinite}
.case-art{position:absolute;width:min(25vw,300px);height:min(45vw,470px);border-radius:42px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;opacity:0;transform:translateY(30px) scale(.9) rotate(-7deg);transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1);z-index:3;box-shadow:0 40px 80px #0008,inset 10px 0 18px #fff3,inset -16px 0 24px #0009}.case-art::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,#fff8 46%,transparent 57%);transform:translateX(-130%);transition:transform 1.2s cubic-bezier(.16,1,.3,1)}.case-art.is-active{opacity:1;transform:translateY(0) scale(1) rotate(6deg)}.case-art.is-active::before{transform:translateX(130%)}.case-art span,.case-art small{position:absolute;font:8px 'DM Mono',monospace;letter-spacing:.16em;color:#171717;z-index:2}.case-art span{top:24px;left:24px}.case-art small{bottom:24px;left:24px;right:24px;text-align:center;color:#333}.case-art strong{font:800 clamp(110px,16vw,220px)/.7 'Space Grotesk',sans-serif;letter-spacing:-.14em;color:#050505;z-index:2}.case-art i{position:absolute;bottom:15%;width:38%;height:1px;background:#111;z-index:2}.art-build{background:linear-gradient(90deg,#080808,#aaa 24%,#f8f8f6 44%,#777 66%,#050505)}.art-produce{background:radial-gradient(circle at 50% 42%,#f6f6f4 0 13%,#8c8c8a 14% 17%,#111 18% 24%,#dededb 25% 38%,#1b1b1b 39% 100%)}.art-produce strong{font-size:clamp(100px,13vw,190px);color:#eee;text-shadow:0 2px 14px #000}.art-explore{background:linear-gradient(145deg,#eee,#777 45%,#090909 46%,#222 100%)}.art-explore strong{font-size:clamp(150px,20vw,270px)}.case-scan{position:absolute;left:0;right:0;height:1px;background:#fff;opacity:.12;z-index:5;transform:translateY(-50vh);animation:scanDown 5s linear infinite}.case-stage-meta{position:absolute;bottom:1vh;left:0;right:0;display:flex;justify-content:center;align-items:center;gap:10px;font:9px 'DM Mono',monospace;color:#555;letter-spacing:.16em;z-index:8}.case-stage-meta i{width:70px;height:1px;background:#333;position:relative}.case-stage-meta i::after{content:"";position:absolute;left:0;top:0;height:100%;width:var(--case-progress,33%);background:#fff;transition:width .5s}.case-copy-wrap{height:66vh;min-height:450px;position:relative;display:flex;align-items:center}.case-copy{position:absolute;inset:auto 0;opacity:0;transform:translateY(30px);pointer-events:none;transition:opacity .55s ease,transform .7s cubic-bezier(.16,1,.3,1)}.case-copy.is-active{opacity:1;transform:none;pointer-events:auto}.case-copy>p{font:9px 'DM Mono',monospace;letter-spacing:.16em;color:#666;margin:0 0 25px}.case-copy h2{font:800 clamp(80px,11vw,160px)/.76 'Space Grotesk',sans-serif;letter-spacing:-.11em;margin:0}.case-copy h2 span{color:transparent;-webkit-text-stroke:1px #eee}.case-copy>div{display:grid;grid-template-columns:40px 1fr;gap:16px;margin-top:55px;padding-top:20px;border-top:1px solid #1d1d1d}.case-copy>div>span{font:9px 'DM Mono',monospace;color:#666}.case-copy>div>p{max-width:340px;margin:0;color:#777;font-size:13px;line-height:1.7}.case-hint{position:absolute;bottom:4vh;left:7vw;right:7vw;display:flex;justify-content:space-between;font:8px 'DM Mono',monospace;letter-spacing:.16em;color:#454545}.case-hint i{position:absolute;left:50%;top:50%;width:80px;height:1px;background:#292929;transform:translate(-50%,-50%)}.case-scroll-source{position:absolute;inset:0;pointer-events:none;display:flex;flex-direction:column}.case-scroll-source div{height:100vh;flex:none}
@keyframes caseOrbit{to{transform:rotate(382deg) scaleY(.34)}}@keyframes caseOrbitReverse{to{transform:rotate(-388deg) scaleY(.34)}}@keyframes scanDown{0%{transform:translateY(-50vh)}100%{transform:translateY(50vh)}}
@media(max-width:820px){.case-studies{min-height:310vh}.case-sticky{position:sticky;height:100vh;min-height:620px;padding:10vh 7vw 8vh;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.case-head{width:100%;margin-bottom:0}.case-stage{height:50vh;min-height:310px;width:100%;margin:0}.case-art{width:170px;height:320px;border-radius:32px}.case-copy-wrap{height:25vh;min-height:170px;width:100%}.case-copy h2{font-size:20vw}.case-copy>p{margin-bottom:12px}.case-copy>div{margin-top:18px}.case-hint{position:absolute;left:7vw;right:7vw;bottom:3vh}.case-scroll-source{display:flex}.case-stage-meta{bottom:0}.case-hint i{display:none}}
@media(prefers-reduced-motion:reduce){.case-stage::before,.case-stage::after,.case-scan{animation:none}.case-art,.case-copy{transition:none}}

/* Responsive case-study stage */
@media(min-width:821px) and (max-width:1199px){
  .case-studies{min-height:290vh}
  .case-sticky{min-height:620px;padding:6vh 5vw;grid-template-columns:minmax(0,1.02fr) minmax(280px,.98fr);gap:0 4vw}
  .case-stage,.case-copy-wrap{height:61vh;min-height:400px}
  .case-art{width:min(25vw,270px);height:min(43vw,420px)}
  .case-copy h2{font-size:clamp(68px,9.5vw,115px)}
  .case-copy>div{margin-top:38px}
  .case-hint{left:5vw;right:5vw;bottom:3vh}
}
@media(max-width:820px){.case-sticky{height:100svh;min-height:600px}.case-stage{min-height:300px}}

/* Mobile overflow correction — keep the journey typography inside the viewport */
.journey{overflow:hidden;max-width:100vw}
.journey-copy{min-width:0;max-width:100%}
.journey-copy h2{max-width:100%;overflow-wrap:normal;word-break:normal}
.journey-copy h2 em{display:block;max-width:100%;font-style:normal;overflow-wrap:break-word;word-break:normal}
.journey-copy>p{max-width:100%;overflow-wrap:break-word}
@media(max-width:820px){
  .journey{width:100%;box-sizing:border-box;padding-left:7vw;padding-right:7vw}
  .journey-copy h2{font-size:clamp(54px,17vw,92px);line-height:.8;letter-spacing:-.085em}
  .journey-copy h2 em{font-size:.88em;letter-spacing:-.075em;white-space:normal}
  .journey-copy>p{font-size:12px;line-height:1.7;width:100%}
  .journey-track{width:100%;max-width:100%;overflow:hidden;display:flex;align-items:center;gap:12px}
  .journey-track span{white-space:nowrap}
  .journey-track i{flex:1;min-width:18px;width:auto}
}
@media(max-width:380px){
  .journey-copy h2{font-size:16.5vw}
  .journey-copy h2 em{font-size:.84em}
}
