.grid2.media-grid-large{grid-template-columns:1fr;gap:28px}.grid2.media-grid-large .media{width:100%;background:#0b050b}.grid2.media-grid-large .media img{width:100%;height:auto;object-fit:contain}
:root{--bg:#050505;--fg:#f2f1ec;--muted:#999892;--line:#292927;--purple:#480849}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--fg);font-family:"IBM Plex Sans Condensed",Arial,sans-serif}a{color:inherit;text-decoration:none}.shell{width:min(1500px,calc(100% - 48px));margin:auto}header{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand,nav,.label,.meta dt,.caption{font-family:"IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.1em}.brand{font-size:11px}nav{display:flex;gap:24px}nav a{font-size:10px;color:var(--muted)}.hero{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;padding:72px 0 48px}.label{font-size:9px;color:var(--muted)}h1{font-size:clamp(90px,14vw,210px);line-height:.76;letter-spacing:-.07em;font-weight:300;margin:24px 0 0}.hero-copy h2,.section h2{font-size:clamp(34px,4vw,60px);line-height:1;letter-spacing:-.04em;font-weight:300;margin:0 0 18px}.hero-copy p,.lede{font-size:19px;line-height:1.42;color:#c9c8c2}.meta{display:grid;grid-template-columns:1fr 1fr;gap:16px 28px;border-top:1px solid var(--line);padding-top:18px}.meta dt{font-size:8px;color:var(--muted)}.meta dd{font-size:13px;margin:5px 0 0}.hero-media,.media{overflow:hidden;border:1px solid var(--line);background:#130713}.hero-media img,.media img{width:100%;display:block}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}.stat{padding:30px 0;border-right:1px solid var(--line)}.stat:not(:first-child){padding-left:28px}.stat:last-child{border-right:0}.stat b{font-size:clamp(40px,5vw,72px);font-weight:300}.stat span{display:block;margin-top:8px}.section{display:grid;grid-template-columns:150px 1fr;gap:48px;padding:88px 0;border-bottom:1px solid var(--line)}.section-body{min-width:0}.lede{max-width:960px;margin:0 0 42px}.copy{display:grid;grid-template-columns:.72fr 1.28fr;gap:56px;align-items:start;margin-bottom:36px}.copy h3{font-size:clamp(28px,3vw,46px);font-weight:300;line-height:1;letter-spacing:-.035em;font-kerning:normal;text-rendering:optimizeLegibility;margin:0}.copy p{font-size:16px;color:var(--muted);line-height:1.5;margin:0}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.stack{display:grid;gap:18px}.media img{transition:transform 1.3s cubic-bezier(.16,1,.3,1)}.media:hover img{transform:scale(1.025)}.caption{padding:10px 12px;font-size:8px;color:var(--muted);border-top:1px solid var(--line)}.quote{padding:84px 0}.quote blockquote{font-size:clamp(34px,5vw,70px);line-height:1.05;letter-spacing:-.04em;font-weight:300;margin:0;max-width:1250px}.quote cite{display:block;margin-top:25px;font-style:normal;font:9px/1.6 "IBM Plex Mono",monospace;text-transform:uppercase;color:var(--muted)}.next{display:flex;justify-content:space-between;align-items:end;padding:65px 0;border-top:1px solid var(--line)}.next h2{font-size:clamp(58px,8vw,110px);margin:8px 0 0}.reveal{opacity:0;transform:translateY(30px);transition:.8s cubic-bezier(.16,1,.3,1)}.reveal.in{opacity:1;transform:none}@media(max-width:850px){.shell{width:calc(100% - 28px)}.hero,.section,.copy{grid-template-columns:1fr}.hero{gap:38px;padding-top:48px}.section{gap:20px;padding:58px 0}.grid2{grid-template-columns:1fr}nav{gap:12px}.stats{grid-template-columns:1fr}.stat,.stat:not(:first-child){padding:20px 0;border-right:0;border-bottom:1px solid var(--line)}}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}.media img{transition:none}}

/* Align legacy case study with the current portfolio system. */
header{display:grid;grid-template-columns:1fr auto;height:auto;padding:22px 0}.hero{grid-template-columns:1.1fr .9fr;padding:64px 0 54px}.hero-copy{max-width:560px;justify-self:end}.hero h1{margin:22px 0 0}.hero-copy h2{font-size:clamp(28px,3.3vw,48px)}.section{padding:86px 0}.section> .label{position:sticky;top:28px;align-self:start}.section h2{font-size:clamp(42px,5.6vw,82px);line-height:.9;margin-bottom:28px}.lede{font-size:clamp(23px,2.7vw,36px);line-height:1.14;letter-spacing:-.025em;color:#d9d8d2}.hero-media{border-left:0;border-right:0}.grid2.media-grid-large{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.grid2.media-grid-large .media{background:#111}.partner-logo-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 56px}.partner-logo-card{position:relative;height:250px;overflow:hidden;border:1px solid var(--line);background:#f2f3f4}.partner-logo-card img{position:absolute;top:0;width:200%;max-width:none;height:calc(100% - 38px);object-fit:cover}.partner-dreamworks img{left:0}.partner-technicolor img{left:-100%}.partner-logo-card span{position:absolute;left:0;right:0;bottom:0;height:38px;padding:14px;background:#0d0d0c;color:var(--muted);font:8px/1 "IBM Plex Mono",monospace;letter-spacing:.1em;text-transform:uppercase}.story-block{display:grid;grid-template-columns:150px minmax(0,1fr);gap:28px 48px;padding:42px 0;margin-bottom:28px;border-top:1px solid var(--line)}.story-kicker,.roku-story span{font:9px/1.3 "IBM Plex Mono",monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.story-block h3{max-width:880px;margin:0;font-size:clamp(32px,4vw,58px);line-height:.96;font-weight:300;letter-spacing:-.04em}.story-columns{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:36px}.story-columns p{margin:0;color:var(--muted);font-size:15px;line-height:1.5}.campaign-frame{background:#111}.roku-story{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:22px 0;background:var(--line);border:1px solid var(--line)}.roku-story article{display:flex;flex-direction:column;min-height:210px;padding:24px;background:#10100f}.roku-story h4{margin:auto 0 10px;font-size:22px;line-height:1.08;font-weight:300}.roku-story p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.roku-support-grid{grid-template-columns:1fr 1fr;gap:14px}.roku-support-grid .media{background:#eef0f3}.quote{display:grid;grid-template-columns:150px 1fr;gap:48px;border-bottom:1px solid var(--line)}.quote cite{grid-column:2}.next{border-top:0}
@media(max-width:850px){header{padding:18px 0}.hero-copy{justify-self:start}.section> .label{position:static}.partner-logo-grid,.story-block,.story-columns,.roku-story,.roku-support-grid{grid-template-columns:1fr}.partner-logo-card{height:210px}.story-columns{grid-column:auto}.quote{grid-template-columns:1fr}.quote cite{grid-column:auto}}

/* Keep testimonial content in the main content column. */
.quote blockquote,.quote cite{grid-column:2;min-width:0}
@media(max-width:850px){.quote blockquote,.quote cite{grid-column:auto}}

.next h2{font-weight:300}

/* Match the shared Roche testimonial and next-project scale. */
.quote{padding:76px 0}
.quote blockquote{max-width:1100px;font-size:clamp(30px,4vw,56px);line-height:1.06;letter-spacing:-.035em;font-weight:300}
.next{padding:68px 0 78px}
.next>div:last-child{font-size:52px;line-height:1;font-weight:300}
.section .partner-logo-grid{display:none!important}
.partner-logo-top{margin:0;border-bottom:1px solid var(--line);padding:28px 0 56px}

.studio-credit{min-height:94px;padding:16px 24px;display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--line)}
.studio-credit>span{font:9px/1 "IBM Plex Mono",monospace;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.studio-logos{display:flex;align-items:center;gap:26px}
.studio-credit img{display:block;width:auto;height:44px;object-fit:contain;object-position:center}
.studio-credit img:first-child{width:150px}
.studio-credit img:last-child{width:138px}
.stat{text-align:center}
.stat:not(:first-child){padding-left:0}
.mgo-stats .stat b{display:inline-block;min-width:3.25ch;font-variant-numeric:tabular-nums;transition:color .35s ease,text-shadow .35s ease,transform .35s cubic-bezier(.16,1,.3,1)}
.mgo-stats .stat.is-counting b{color:#d9d7d2}
.mgo-stats .stat.is-complete b{color:#f2f1ec;text-shadow:0 0 24px rgba(94,210,227,.24);transform:translateY(-2px)}
@media(prefers-reduced-motion:reduce){.mgo-stats .stat b{transition:none}.mgo-stats .stat.is-complete b{transform:none;text-shadow:none}}
.roku-story h4{margin:42px 0 10px}
@media(max-width:850px){.studio-credit{padding:14px 0;align-items:flex-start;flex-direction:column}.studio-logos{gap:18px}.studio-credit img{height:38px}.studio-credit img:first-child{width:130px}.studio-credit img:last-child{width:120px}}

/* Give partner marks and supporting case-study artwork more presence. */
.studio-credit{min-height:124px}
.studio-logos{gap:8px}
.studio-credit img{height:76px}
.studio-credit .studio-logo-technicolor{width:240px}
.studio-credit .studio-logo-dreamworks{width:210px;transform:translateX(-20px)}
.studio-logo-plus{color:#777;font:300 25px/1 "IBM Plex Sans Condensed",sans-serif;transform:translateX(-18px)}
.roku-support-grid,.grid2.media-grid-large{grid-template-columns:1fr;gap:28px}
@media(max-width:850px){
  .studio-credit img{height:58px}
  .studio-credit .studio-logo-technicolor{width:190px}
  .studio-credit .studio-logo-dreamworks{width:165px}
}

/* Optical spacing for the oversized next-project title. */
.next h2{
  letter-spacing:-.055em;
  font-kerning:normal;
  text-rendering:optimizeLegibility
}
