/* Case pages inherit the approved R3 tokens, navigation and motion. */
.r3-cases .case-intro{padding:44px 0 42px;max-width:920px}
.r3-cases .case-intro h1{max-width:20ch;font-size:clamp(38px,4vw,58px);margin-bottom:20px}
.r3-cases .case-intro>p:not(.r3-stage){max-width:56ch;font-size:19px}
.r3-cases .case-index{display:flex;flex-wrap:wrap;gap:8px 28px;margin-top:24px}
.r3-cases .case-index a{font-size:16px;color:var(--r3-green);padding:8px 0;border-bottom:1px solid var(--r3-line)}
.r3-cases .case-row{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:52px;padding:40px 0;border-top:1px solid var(--r3-line);align-items:center}
.r3-cases .case-row-media{display:block;background:var(--r3-surface)}
.r3-cases .case-row-media img{width:100%;height:auto}
.r3-cases .case-row-copy h2{max-width:20ch;margin-bottom:16px}
.r3-cases .case-row-copy h2 a{color:inherit;text-decoration:none}
.r3-cases .case-row-copy h2 a:hover{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.r3-cases .case-row-copy p{max-width:39ch}
.r3-cases .case-row-copy .case-application{font-size:15px;border-top:1px solid var(--r3-line);padding-top:18px;margin-top:22px}
.r3-cases .case-row-portrait .case-row-media{display:flex;justify-content:center;max-height:420px}
.r3-cases .case-row-portrait .case-row-media img{width:auto;height:420px;object-fit:contain}
.r3-cases .case-overview{border-top:1px solid var(--r3-line);padding:28px 0}
.r3-cases .case-overview h2{font-size:22px;margin-bottom:18px}
.r3-cases .case-overview dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0}
.r3-cases .case-overview dt{font-size:14px;color:var(--r3-text);margin-bottom:5px}
.r3-cases .case-overview dd{margin:0;font-size:18px;font-weight:500}
.r3-cases .case-brief{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;border-top:1px solid var(--r3-line);padding:30px 0 40px}
.r3-cases .case-brief h2{font-size:22px;margin-bottom:14px}
.r3-cases .case-brief p,.r3-cases .case-brief li{font-size:16px;line-height:1.6}
.r3-cases .case-brief ul{margin:0;padding-left:18px;color:var(--r3-text)}
.r3-cases .case-brief li+li{margin-top:5px}
.r3-cases .case-video-section{padding:36px 0 42px;border-top:1px solid var(--r3-line)}
.r3-cases .case-video-heading{margin-bottom:25px}
.r3-cases .case-video-heading p{max-width:60ch}
.r3-cases .case-video-section .r3-film{max-width:1000px;margin:auto}
.r3-cases .r3-player{aspect-ratio:16/9;background:#101c22}
.r3-cases .r3-player video{width:100%;height:100%;object-fit:contain;display:block}
.r3-cases .case-vertical{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:72px;align-items:center;max-width:1060px;margin:auto}
.r3-cases .case-vertical .r3-player{aspect-ratio:9/16}
.r3-cases .case-vertical .r3-film{width:100%}
.r3-cases .case-site-frame{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:64px;padding:40px 0;border-top:1px solid var(--r3-line)}
.r3-cases .case-site-frame figure{max-width:680px}
.r3-cases .case-site-frame figure img{width:100%}
.r3-cases .case-site-frame p{max-width:42ch}
.r3-cases .case-site-portrait figure{max-width:260px;justify-self:center}
.r3-cases .case-related{border-top:1px solid var(--r3-line);padding:32px 0;display:flex;align-items:center;justify-content:space-between;gap:24px}
.r3-cases .case-related h2{font-size:24px;margin-bottom:10px}
.r3-cases figcaption{padding-top:10px}
@media(max-width:900px){.r3-cases .case-row{gap:28px}.r3-cases .case-brief{gap:24px}.r3-cases .case-vertical{gap:30px;grid-template-columns:minmax(0,1fr) 300px}.r3-cases .case-site-frame{gap:30px}}
@media(max-width:600px){.r3-cases .case-intro{padding:28px 0 30px}.r3-cases .case-intro h1{font-size:38px;max-width:17ch}.r3-cases .case-intro>p:not(.r3-stage){font-size:17px}.r3-cases .case-index{gap:4px 20px;margin-top:18px}.r3-cases .case-row{grid-template-columns:1fr;gap:22px;padding:28px 0}.r3-cases .case-row-copy h2{font-size:28px}.r3-cases .case-row-copy .case-application{margin-top:15px;padding-top:14px}.r3-cases .case-row-portrait .case-row-media{max-height:350px}.r3-cases .case-row-portrait .case-row-media img{height:350px}.r3-cases .case-overview dl{grid-template-columns:1fr;gap:16px}.r3-cases .case-overview dl>div{display:grid;grid-template-columns:42% 1fr;gap:12px}.r3-cases .case-overview dd{font-size:16px}.r3-cases .case-brief{grid-template-columns:1fr;gap:22px;padding:26px 0}.r3-cases .case-brief p{margin-bottom:0}.r3-cases .case-brief h2{font-size:21px;margin-bottom:10px}.r3-cases .case-video-section{padding:28px 0}.r3-cases .case-vertical{display:block}.r3-cases .case-vertical .r3-film{max-width:290px}.r3-cases .case-site-frame{grid-template-columns:1fr;gap:24px;padding:28px 0}.r3-cases .case-site-portrait figure{max-width:230px}.r3-cases .case-related{align-items:flex-start;flex-direction:column;gap:12px}.r3-cases .case-related h2{font-size:23px}}

/* Hub-only media: fixed browsing thumbnails; detail players remain source-shaped. */
.r3-case-hub .case-row-media{aspect-ratio:4/3;overflow:hidden}
.r3-case-hub .case-row-media img{width:100%;height:100%;object-fit:contain}
@media(max-width:600px){
 .r3-case-hub .case-row{gap:16px;padding:28px 0}
 .r3-case-hub .case-row-copy .r3-stage{margin-bottom:8px!important;letter-spacing:.045em}
 .r3-case-hub .case-row-copy h2{margin-bottom:10px}
 .r3-case-hub .case-row-copy .case-application{border-top:0;padding-top:0;margin:10px 0 12px;font-size:16px;line-height:1.5}
 .r3-case-hub .case-row-copy>.r3-link{min-height:44px}
}
