.case-main{background:#f5f4f1;color:#111}.case-shell{width:min(1240px,calc(100% - 48px));margin:auto}.case-hero{background:#111;color:#fff;padding:clamp(105px,14vw,190px) 0 clamp(70px,8vw,120px)}.case-kicker,.case-eyebrow{font:700 .76rem var(--font-heading);letter-spacing:.18em;text-transform:uppercase}.case-kicker{color:#aaa;margin:0 0 30px}.case-kicker a{color:#fff;text-decoration:none}.case-hero h1{font:800 clamp(3.4rem,8vw,8.5rem)/.94 var(--font-heading);text-transform:uppercase;letter-spacing:-.055em;max-width:1100px;margin:0}.case-category{font:700 .8rem var(--font-heading);letter-spacing:.15em;text-transform:uppercase;color:#aaa;margin:32px 0 0}.case-brief{display:grid;grid-template-columns:160px minmax(0,730px);gap:36px;border-top:1px solid #454545;padding-top:28px;margin-top:70px}.case-brief span{font:700 .72rem var(--font-heading);letter-spacing:.18em;text-transform:uppercase;color:#999}.case-brief p{font:400 clamp(1.15rem,2.1vw,1.8rem)/1.4 var(--font-body);margin:0;color:#eee}.case-gallery-section{padding:clamp(60px,8vw,120px) 0}.case-section-heading{margin-bottom:35px}.case-eyebrow{color:#777;margin:0 0 12px}.case-section-heading h2,.case-details h2{font:800 clamp(2rem,4vw,3.5rem)/1.05 var(--font-heading);text-transform:uppercase;letter-spacing:-.04em;margin:0}.case-gallery{columns:3 280px;column-gap:18px}.case-image{display:block;break-inside:avoid;margin:0 0 24px;background:#e7e6e1}.case-image img{display:block;width:100%;height:auto}.case-details{background:#fff;padding:80px 0}.case-details ul{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:30px 0 0}.case-details li{border:1px solid #bbb;padding:10px 15px;font:.8rem var(--font-heading);text-transform:uppercase;letter-spacing:.07em}.case-demo{padding:30px 0}.case-demo a,.case-end a{font:700 .85rem var(--font-heading);letter-spacing:.1em;text-transform:uppercase;color:inherit;text-decoration:underline;text-underline-offset:5px}.case-end{padding:55px 0 90px}@media(max-width:680px){.case-shell{width:min(100% - 32px,1240px)}.case-hero{padding:105px 0 65px}.case-hero h1{font-size:clamp(2.8rem,14vw,5rem)}.case-brief{grid-template-columns:1fr;gap:14px;margin-top:50px}.case-gallery{columns:2 150px;column-gap:10px}.case-image{margin-bottom:12px}}
.case-hero.has-cover{padding:95px 0 80px}.case-hero-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.58fr);align-items:center;gap:clamp(35px,6vw,90px)}.case-hero:not(.has-cover) .case-hero-layout{display:block}.case-hero.has-cover h1{font-size:clamp(3.3rem,5.5vw,6.2rem);overflow-wrap:anywhere}.case-hero-art{align-self:stretch;min-height:580px;max-height:720px;overflow:hidden;background:#292929}.case-hero-art img{width:100%;height:100%;object-fit:cover;display:block}.case-hero.has-cover .case-brief{grid-template-columns:1fr;gap:12px;margin-top:48px}.case-hero.has-cover .case-brief p{font-size:clamp(1.1rem,1.6vw,1.45rem)}@media(max-width:820px){.case-hero-layout{grid-template-columns:1fr}.case-hero-art{min-height:0;max-height:none;aspect-ratio:4/3}.case-hero-art img{object-fit:contain}.case-hero.has-cover h1{font-size:clamp(2.9rem,9vw,5rem)}}
@media(max-width:600px){
  .case-hero.has-cover{padding:95px 0 48px}
  .case-hero.has-cover h1{font-size:clamp(2.35rem,9vw,3.25rem);line-height:.98}
  .case-category{margin-top:24px}
  .case-hero.has-cover .case-brief{margin-top:30px;padding-top:20px}
  .case-hero-layout{gap:30px}
  .case-hero-art{aspect-ratio:auto;background:transparent}
  .case-hero-art img{height:auto;object-fit:initial}
  .case-gallery-section{padding:54px 0 65px}
  .case-section-heading{margin-bottom:26px}
  .case-gallery{columns:1;column-gap:0}
  .case-image{margin-bottom:22px}
  .case-details{padding:55px 0}
  .case-end{padding:42px 0 65px}
}
.case-gallery{columns:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.case-image{margin:0}
@media(max-width:600px){.case-gallery{grid-template-columns:1fr;gap:22px}}
@media(max-width:600px) and (min-height:700px) and (max-aspect-ratio:9/17) and (prefers-reduced-motion:no-preference){
  .case-gallery--stacked{display:block}
  .case-gallery--stacked .case-image{position:relative;margin:0 0 22px;border:4px solid #f5f4f1;border-radius:12px;overflow:hidden;box-shadow:0 10px 28px rgba(0,0,0,.14)}
  .case-gallery--stacked .case-image.is-active{position:sticky;top:88px;z-index:1}
  .case-gallery--stacked .case-image.is-active+.case-image{z-index:2}
}
