/* ODIN — Ray Entertainment / Jowell & Randy 3D case study
   Scoped corrections for a balanced editorial layout. */
.proj-ray-page{--case-max:1080px;--case-narrow:880px;--case-gap:clamp(28px,4vw,58px)}
.proj-ray-page main{overflow:hidden}
.proj-ray-page .section-pad{padding-top:64px;padding-bottom:64px;padding-left:max(24px,calc((100vw - var(--case-max))/2));padding-right:max(24px,calc((100vw - var(--case-max))/2))}

/* HERO */
.proj-ray-page .case-hero{padding-top:136px;padding-bottom:58px;background:radial-gradient(circle at 78% 18%,rgba(7,36,83,.55),transparent 34%),#090909}
.proj-ray-page .case-hero .eyebrow{max-width:var(--case-max);margin:0 auto;color:#9f9f99}
.proj-ray-page .case-hero h1{max-width:var(--case-max);margin:24px auto 22px;font-size:clamp(58px,8.2vw,118px);line-height:.84;letter-spacing:-.065em}
.proj-ray-page .case-lead{max-width:690px;margin:0 auto;font-size:15px;line-height:1.7;color:#c7c7c1}

/* MAIN LIVE IMAGE */
.proj-ray-page .case-wide-media{width:min(calc(100% - 48px),960px);margin:0 auto 16px;padding:0;background:#050505}
.proj-ray-page .case-wide-media img{display:block;width:100%;aspect-ratio:16/9;height:auto;max-height:none;object-fit:cover;object-position:center 45%;filter:grayscale(1) contrast(1.05)}

/* STORY */
.proj-ray-page .case-story{display:grid;grid-template-columns:.78fr 1.22fr;gap:var(--case-gap);align-items:start;background:#e9e9e4;color:#090909}
.proj-ray-page .case-story>div{max-width:none}
.proj-ray-page .case-story h2{font-size:clamp(44px,5.6vw,76px);line-height:.88;letter-spacing:-.055em;margin:14px 0 0}
.proj-ray-page .case-story p{font-size:14px;line-height:1.75;margin:0 0 16px;max-width:620px}

/* SCOPE */
.proj-ray-page .case-scope .eyebrow,.proj-ray-page .case-scope>h2,.proj-ray-page .case-scope-grid{max-width:var(--case-max);margin-left:auto;margin-right:auto}
.proj-ray-page .case-scope h2{font-size:clamp(44px,5.8vw,80px);line-height:.87;letter-spacing:-.055em;margin-top:14px;margin-bottom:30px}
.proj-ray-page .case-scope-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:0;border-color:rgba(255,255,255,.14)}
.proj-ray-page .case-scope-grid span{min-height:74px;padding:12px;font-size:9px;line-height:1.35;align-items:center}

/* OOH / BILLBOARD */
.proj-ray-page .case-gallery{background:#e9e9e4;color:#090909}
.proj-ray-page .case-gallery>.case-gallery-head{max-width:var(--case-max);margin:0 auto}
.proj-ray-page .case-gallery-head h2{font-size:clamp(44px,5.8vw,78px);line-height:.87;letter-spacing:-.055em;margin:14px 0 30px}
.proj-ray-page .case-gallery-wide{width:min(100%,780px);margin:0 auto;overflow:hidden}
.proj-ray-page .case-gallery-wide img{display:block;width:100%;height:auto;max-height:470px;object-fit:cover;object-position:center;border-radius:0}
.proj-ray-page .case-gallery-duo{width:min(100%,860px);display:grid;grid-template-columns:300px 1fr;gap:52px;align-items:center;margin:48px auto 0}
.proj-ray-page .case-gallery-duo figure{width:300px;max-width:300px;margin:0}
.proj-ray-page .case-gallery-duo figure img{display:block;width:100%;height:auto;max-height:380px;object-fit:contain}
.proj-ray-page .case-gallery-copy h3{font-size:clamp(28px,3.4vw,46px);line-height:1;letter-spacing:-.045em;margin:14px 0 16px}
.proj-ray-page .case-gallery-copy p{font-size:14px;line-height:1.7;max-width:470px}

/* SOCIAL CAROUSEL — compact and aligned */
.proj-ray-page .case-social-carousel{background:#070707}
.proj-ray-page .case-social-head,.proj-ray-page .case-social-viewport,.proj-ray-page .case-social-progress{max-width:var(--case-max);margin-left:auto;margin-right:auto}
.proj-ray-page .case-social-head{grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:end}
.proj-ray-page .case-social-intro{max-width:560px;font-size:13px;line-height:1.65;color:#9f9f99;margin:0}
.proj-ray-page .case-social-viewport{margin-top:26px}
.proj-ray-page .case-social-track{gap:14px;padding-right:0}
.proj-ray-page .case-social-slide{width:210px;aspect-ratio:4/5;flex:none;border:1px solid rgba(255,255,255,.12);background:#0d0d0d}
.proj-ray-page .case-social-slide img{width:100%;height:100%;object-fit:cover;object-position:center}
.proj-ray-page .case-social-slide .case-social-open{left:10px;right:10px;bottom:10px;width:auto;text-align:center;font-size:7px;letter-spacing:.09em;padding:.5rem .45rem}
.proj-ray-page .case-social-index{width:26px;height:26px;top:9px;left:9px;font-size:7px}
.proj-ray-page .case-social-progress{margin-top:14px}
.proj-ray-page .case-social-controls{padding-bottom:0}
.proj-ray-page .case-social-arrow{width:42px;height:42px}

/* PARTNER LOGOS — consistent visual weight */
.proj-ray-page .case-partners--logos{padding-top:58px;padding-bottom:58px;border-top:1px solid rgba(255,255,255,.1)}
.proj-ray-page .case-partners>.case-gallery-head{max-width:var(--case-max);margin:0 auto}
.proj-ray-page .case-partners-intro{max-width:540px;margin:-12px 0 28px;font-size:12px;line-height:1.65;color:#9c9c96}
.proj-ray-page .case-logo-grid{width:min(100%,820px);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);border:0;gap:10px}
.proj-ray-page .case-logo-grid figure{margin:0;height:110px;min-height:110px;padding:20px;background:#0d0d0d;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center}
.proj-ray-page .case-logo-grid img{display:block;width:auto;height:auto;max-width:72%;max-height:48px;object-fit:contain;filter:none;transform:none}
.proj-ray-page .case-logo-grid figure:nth-child(1) img{max-height:48px;max-width:64%}
.proj-ray-page .case-logo-grid figure:nth-child(2) img{max-height:58px;max-width:68%}
.proj-ray-page .case-logo-grid figure:nth-child(3) img{max-height:44px;max-width:72%}
.proj-ray-page .case-logo-grid figure:nth-child(4) img{max-height:58px;max-width:70%}
.proj-ray-page .case-logo-grid figure:hover{background:#101010}
.proj-ray-page .case-logo-grid figure:hover img{transform:none}

/* RESULT */
.proj-ray-page .case-result{padding-top:68px;padding-bottom:68px;background:var(--green);color:#050505}
.proj-ray-page .case-result>*{max-width:var(--case-max);margin-left:auto;margin-right:auto}
.proj-ray-page .case-result h2{font-size:clamp(54px,7vw,94px);line-height:.82;margin-top:14px;margin-bottom:20px}
.proj-ray-page .case-result p{max-width:580px;font-size:14px;line-height:1.65}

@media(max-width:900px){
  .proj-ray-page .section-pad{padding-left:28px;padding-right:28px}
  .proj-ray-page .case-story{grid-template-columns:1fr;gap:24px}
  .proj-ray-page .case-scope-grid{grid-template-columns:repeat(3,1fr)}
  .proj-ray-page .case-gallery-duo{grid-template-columns:260px 1fr;gap:34px}
  .proj-ray-page .case-gallery-duo figure{width:260px;max-width:260px}
  .proj-ray-page .case-social-slide{width:200px}
  .proj-ray-page .case-logo-grid{grid-template-columns:repeat(2,1fr);max-width:560px}
}

@media(max-width:600px){
  .proj-ray-page .section-pad{padding-top:46px;padding-bottom:46px;padding-left:18px;padding-right:18px}
  .proj-ray-page .case-hero{padding-top:112px;padding-bottom:42px}
  .proj-ray-page .case-hero h1{font-size:clamp(48px,15vw,72px);line-height:.87;margin-top:18px}
  .proj-ray-page .case-lead{font-size:13px}
  .proj-ray-page .case-wide-media{width:calc(100% - 36px)}
  .proj-ray-page .case-wide-media img{aspect-ratio:4/3}
  .proj-ray-page .case-story h2,.proj-ray-page .case-scope h2,.proj-ray-page .case-gallery-head h2{font-size:clamp(38px,11vw,56px)}
  .proj-ray-page .case-scope-grid{grid-template-columns:1fr 1fr}
  .proj-ray-page .case-scope-grid span{min-height:64px;font-size:8px}
  .proj-ray-page .case-gallery-wide{width:100%}
  .proj-ray-page .case-gallery-wide img{max-height:none}
  .proj-ray-page .case-gallery-duo{width:100%;grid-template-columns:1fr;gap:26px;margin-top:34px}
  .proj-ray-page .case-gallery-duo figure{width:220px;max-width:220px;margin:0 auto}
  .proj-ray-page .case-gallery-duo figure img{max-height:320px}
  .proj-ray-page .case-social-head{grid-template-columns:1fr}
  .proj-ray-page .case-social-slide{width:176px}
  .proj-ray-page .case-social-arrow{width:38px;height:38px}
  .proj-ray-page .case-logo-grid{grid-template-columns:1fr 1fr;gap:8px;width:100%}
  .proj-ray-page .case-logo-grid figure{height:92px;min-height:92px;padding:16px}
  .proj-ray-page .case-logo-grid img{max-height:40px}
  .proj-ray-page .case-logo-grid figure:nth-child(2) img,.proj-ray-page .case-logo-grid figure:nth-child(4) img{max-height:46px}
  .proj-ray-page .case-result h2{font-size:clamp(48px,14vw,68px)}
}

/* V4.2 — full-width sections + centered editorial composition */
.proj-ray-page .case-section-inner{width:min(1180px,calc(100% - 48px));margin-left:auto;margin-right:auto}
.proj-ray-page .case-story,
.proj-ray-page .case-scope,
.proj-ray-page .case-social-carousel{width:100%;max-width:none!important;margin-left:0!important;margin-right:0!important}

/* Story: background spans the full browser; content uses the complete center grid */
.proj-ray-page .case-story{display:block!important;padding-left:0!important;padding-right:0!important}
.proj-ray-page .case-story-inner{display:grid;grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr);gap:clamp(56px,7vw,112px);align-items:start}
.proj-ray-page .case-story-inner>div{min-width:0}
.proj-ray-page .case-story h2{font-size:clamp(48px,5.5vw,78px);max-width:440px}
.proj-ray-page .case-story p{max-width:650px;font-size:15px;line-height:1.78}

/* Scope: centered and visually balanced rather than pinned to the left */
.proj-ray-page .case-scope{padding-left:0!important;padding-right:0!important}
.proj-ray-page .case-scope .eyebrow,
.proj-ray-page .case-scope h2,
.proj-ray-page .case-scope-grid{max-width:none!important;margin-left:0!important;margin-right:0!important}
.proj-ray-page .case-scope h2{font-size:clamp(50px,6.2vw,86px);max-width:900px}
.proj-ray-page .case-scope-grid{width:100%;grid-template-columns:repeat(4,minmax(0,1fr))}

/* Social: fill the composition; cards sit evenly across the available width */
.proj-ray-page .case-social-carousel{padding-left:0!important;padding-right:0!important}
.proj-ray-page .case-social-head,
.proj-ray-page .case-social-viewport,
.proj-ray-page .case-social-progress{max-width:none!important;width:100%;margin-left:0!important;margin-right:0!important}
.proj-ray-page .case-social-head{grid-template-columns:minmax(0,1fr) auto;align-items:end}
.proj-ray-page .case-social-head .case-gallery-head{max-width:760px}
.proj-ray-page .case-social-head h2{font-size:clamp(48px,6.1vw,84px);line-height:.9;max-width:760px}
.proj-ray-page .case-social-viewport{overflow:hidden;margin-top:34px}
.proj-ray-page .case-social-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;width:100%;padding-right:0}
.proj-ray-page .case-social-slide{width:100%!important;min-width:0;aspect-ratio:4/5.05}
.proj-ray-page .case-social-progress{display:none}

@media(max-width:900px){
  .proj-ray-page .case-section-inner{width:min(100% - 40px,760px)}
  .proj-ray-page .case-story-inner{grid-template-columns:1fr;gap:30px}
  .proj-ray-page .case-story h2{max-width:none}
  .proj-ray-page .case-scope-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .proj-ray-page .case-social-head{grid-template-columns:1fr;gap:22px}
  .proj-ray-page .case-social-track{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .proj-ray-page .case-social-controls{justify-content:flex-start}
}
@media(max-width:600px){
  .proj-ray-page .case-section-inner{width:calc(100% - 36px)}
  .proj-ray-page .case-scope-grid{grid-template-columns:1fr 1fr}
  .proj-ray-page .case-social-track{display:flex;width:max-content;gap:12px}
  .proj-ray-page .case-social-viewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
  .proj-ray-page .case-social-viewport::-webkit-scrollbar{display:none}
  .proj-ray-page .case-social-slide{width:72vw!important;max-width:280px;flex:none;scroll-snap-align:start}
  .proj-ray-page .case-social-progress{display:block;width:100%;margin-top:16px}
}
