/* Opt-in case study only; no changes to the global site, blogs or classic cases. */
.case-visual{--cv-line:rgba(18,18,16,.18);background:#f7f7f1;color:#171816;overflow-wrap:break-word;padding-top:0}
.case-visual h1,.case-visual h2,.case-visual h3{font-family:Sora,Manrope,sans-serif;letter-spacing:-.045em;text-transform:none}
.case-visual h1{font-size:clamp(32px,3.5vw,52px);line-height:1.08;max-width:24ch;margin:22px 0}
.case-visual h2{font-size:clamp(26px,2.35vw,36px);line-height:1.16;margin:12px 0 20px;max-width:25ch}
.case-visual h3{font-size:24px;line-height:1.2;margin:22px 0 14px}
.case-visual p,.case-visual li{font-size:clamp(17px,1.35vw,19px);line-height:1.65;letter-spacing:-.015em}
.case-visual p{max-width:50ch;margin:0 0 18px;color:#53554e}
.case-visual figure{margin:0;min-width:0}
.case-visual figcaption{font:12px/1.6 Manrope,sans-serif;color:#65665f;padding-top:12px;max-width:80ch}
.case-visual .cv-label{display:block;font:11px/1.5 ui-monospace,monospace;letter-spacing:.07em;text-transform:uppercase;color:inherit}
.cv-wrap,.cv-hero__heading{width:min(1280px,calc(100% - 96px));margin:auto}
.cv-hero__heading{padding:32px 0 42px}.cv-hero__heading>p{max-width:74ch;font-size:18px}
.cv-hero>figure{background:#151613;width:min(1440px,100%);margin:auto}.cv-hero .cv-media{aspect-ratio:21/9;max-height:570px}
.cv-media{background:#20221e;aspect-ratio:4/3;position:relative;width:100%;overflow:hidden}
.cv-media img,.cv-media video{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.cv-media--cover img,.cv-media--cover video{object-fit:cover}
.cv-video-link{position:absolute;inset:auto 20px 20px;color:#fff;text-decoration:underline}
.cv-facts{display:grid;grid-template-columns:1fr 1.2fr 1fr 1.6fr 1.1fr;margin:0;border-bottom:1px solid var(--cv-line);padding:24px 0}
.cv-facts>div{padding:0 20px;border-left:1px solid var(--cv-line)}.cv-facts>div:first-child{padding-left:0;border:0}
.cv-facts dt{font:11px/1.5 ui-monospace,monospace;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;color:#66675f}.cv-facts dd{font:600 15px/1.5 Manrope,sans-serif;margin:0}
.cv-services{display:flex;gap:24px;padding:20px 0;border-bottom:1px solid var(--cv-line)}.cv-services p{max-width:none;font-size:13px;margin:0}.cv-services .cv-label{padding-top:3px}
.cv-proof{border-left:4px solid #eeef4c;padding:12px 24px;margin:40px 0}.cv-proof strong{font-size:clamp(22px,2vw,28px);letter-spacing:-.04em}.cv-proof p{max-width:none;margin:6px 0 0;font-size:16px}
.cv-scene{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:center;padding:38px 0}
.cv-scene--right{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr)}.cv-scene--right>figure{grid-column:2;grid-row:1}.cv-scene--right>.cv-copy{grid-column:1;grid-row:1}
.cv-copy>:last-child{margin-bottom:0}.cv-scene--text{display:block;max-width:840px;padding:32px 0}.cv-scene--text p{max-width:65ch}
.cv-summary{border-bottom:1px solid var(--cv-line);padding-bottom:12px}.cv-story{padding:32px 0 80px;display:block}
.cv-cycle{background:#20221e;color:#f7f7f1;padding:40px clamp(20px,3vw,44px);margin:36px 0}
.cv-cycle header{display:grid;grid-template-columns:1fr 1fr;gap:8px 36px;margin-bottom:36px}.cv-cycle header>.cv-label{grid-column:1/-1;color:#edef4b}.cv-cycle header h2{margin:0}.cv-cycle header p{font-size:16px;color:#c7c9bd;margin:0}
.cv-cycle ol{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;position:relative}
.cv-cycle ol:before{content:"";height:1px;background:#777b62;position:absolute;left:20px;right:20px;top:20px}
.cv-cycle li{position:relative}.cv-cycle__number{display:grid;place-items:center;width:40px;height:40px;border:1px solid #edef4b;border-radius:50%;background:#20221e;color:#edef4b;font:14px/1 ui-monospace,monospace;position:relative}
.cv-cycle li:not(:last-child):after{content:"→";position:absolute;right:-20px;top:3px;background:#20221e;color:#edef4b}
.cv-cycle li p{font-size:15px;color:#c7c9bd;line-height:1.6}.cv-cycle li .cv-media{aspect-ratio:4/3;margin-top:20px;background:#111}.cv-cycle figcaption{color:#b9bbae}
.cv-gallery{margin:40px 0;background:#20221e;color:#f7f7f1;padding:28px}.cv-gallery header{display:flex;justify-content:space-between;gap:28px;margin-bottom:24px}.cv-gallery h2{margin-bottom:0}.cv-gallery header p{color:#c7c9bd;font-size:15px;max-width:48ch;margin:0}
.cv-gallery__slide{margin-bottom:20px!important}.cv-gallery__slide .cv-media{aspect-ratio:16/9}.cv-gallery figcaption{color:#c7c9bd}
.cv-gallery.is-enhanced .cv-gallery__viewport{display:grid;touch-action:pan-y}.cv-gallery.is-enhanced .cv-gallery__slide{grid-area:1/1;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .65s ease,visibility .65s;margin:0!important;min-width:0}
.cv-gallery.is-enhanced .cv-gallery__slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:1}
.cv-gallery__nav{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:20px}.cv-gallery__nav[hidden]{display:none}
.cv-gallery button{min-width:44px;min-height:44px;background:transparent;border:1px solid #727566;color:#f7f7f1;border-radius:0;cursor:pointer;font:13px/1.3 Manrope,sans-serif;padding:10px 14px}
.cv-gallery__arrows{display:flex;align-items:center;gap:16px}.cv-gallery__arrows span{font:12px/1 ui-monospace,monospace;min-width:54px;text-align:center}
.cv-gallery__dots{display:flex;flex-wrap:wrap;justify-content:center}.cv-gallery__dots button{border:0;padding:0;min-width:28px;position:relative}.cv-gallery__dots button:after{content:"";display:block;width:6px;height:6px;border-radius:50%;background:#777b62;margin:auto}.cv-gallery__dots button[aria-current=true]:after{background:#edef4b;width:9px;height:9px}
.cv-gallery button:focus-visible,.case-visual a:focus-visible{outline:3px solid #b3a900;outline-offset:4px}.cv-gallery button:focus-visible{outline-color:#edef4b}
.cv-full-media{padding:32px 0}.cv-full-media .cv-media{aspect-ratio:16/9}
.case-visual .article-block{margin:36px 0}.case-visual .article-block.reveal{opacity:1;transform:none;visibility:visible}
.case-visual .article-block--section{display:block;padding:28px 0;max-width:820px}.case-visual .article-block--section>span{display:none}.case-visual .article-block--section>small{font:11px/1.5 ui-monospace,monospace}.case-visual .article-block--section p{max-width:65ch}
.case-visual .article-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-block:1px solid var(--cv-line);padding:24px 0;gap:24px}.case-visual .article-stats div{padding:0;background:none;border:0}.case-visual .article-stats dt{font:600 clamp(24px,2.5vw,36px)/1.2 Sora,sans-serif;letter-spacing:-.05em}.case-visual .article-stats dd{font:13px/1.6 Manrope,sans-serif;margin:8px 0 0;color:#65665f}
.cv-results{padding:32px 0;border-top:1px solid var(--cv-line)}.cv-results ul{display:grid;grid-template-columns:1fr 1fr;gap:16px 36px;padding-left:20px}.cv-results li{font-size:16px}
.case-visual .article-callout{display:block;border:0;border-top:4px solid #eeef4c;background:#20221e;color:#f7f7f1;padding:36px;margin-bottom:0}.case-visual .article-callout h2{max-width:30ch}.case-visual .article-callout p{color:#c7c9bd;max-width:65ch}.case-visual .article-callout .button{margin-top:8px}
.case-visual .article-quote p{font-size:26px;line-height:1.4}.case-visual .article-checklist{display:grid;grid-template-columns:1fr 1fr;gap:36px;padding:28px 0}
@media(min-width:1100px){.cv-hero__heading{display:grid;grid-template-columns:1.4fr 1fr;column-gap:64px}.cv-hero__heading>a{grid-column:1/-1}.cv-hero__heading>p{align-self:center;margin:0}.cv-hero__heading h1{margin-bottom:0}}
@media(max-width:1000px){.cv-wrap,.cv-hero__heading{width:calc(100% - 48px)}.cv-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 0}.cv-facts>div:nth-child(4){border-left:0;padding-left:0}.cv-cycle ol{gap:18px}.cv-cycle h3{font-size:20px}.cv-gallery__dots{order:3;width:100%}}
@media(max-width:700px){.case-visual{padding-top:0}.cv-wrap,.cv-hero__heading{width:calc(100% - 40px)}.cv-hero__heading{padding:24px 0 28px}.cv-hero .cv-media{aspect-ratio:16/10}.cv-facts{grid-template-columns:1fr 1fr;padding:24px 0;gap:20px 0}.cv-facts>div:nth-child(n){border-left:0;padding:0 12px 0 0}.cv-facts>div:last-child{grid-column:1/-1}.cv-facts dd{font-size:14px}.cv-services{display:block}.cv-services p{margin-top:8px}.cv-proof{padding:8px 16px;margin:28px 0}.cv-scene,.cv-scene--right{display:flex;flex-direction:column;gap:24px;padding:26px 0;align-items:stretch}.cv-scene>figure{order:0}.cv-scene>.cv-copy{order:1}.cv-scene--text{display:block}.cv-cycle{padding:28px 22px;margin:28px -4px}.cv-cycle header{display:block;margin-bottom:28px}.cv-cycle header h2{margin:12px 0 18px}.cv-cycle ol{display:block;padding-left:30px}.cv-cycle ol:before{width:1px;height:auto;left:0;top:20px;bottom:20px}.cv-cycle li{padding:0 0 28px}.cv-cycle li:last-child{padding-bottom:0}.cv-cycle__number{position:absolute;left:-45px;top:0;width:30px;height:30px}.cv-cycle li:not(:last-child):after{display:none}.cv-cycle li h3{padding-top:2px;margin:0 0 12px;font-size:23px}.cv-cycle li p{font-size:16px}.cv-cycle li .cv-media{margin-top:16px}.cv-gallery{margin:28px -20px;padding:24px 20px}.cv-gallery header{display:block}.cv-gallery header p{margin-top:16px}.cv-gallery__slide .cv-media{aspect-ratio:4/3}.cv-gallery__nav{gap:12px}.cv-gallery button[data-cv-pause]{font-size:12px;padding:8px}.case-visual .article-stats{grid-template-columns:1fr 1fr;gap:28px 16px}.cv-results ul,.case-visual .article-checklist{display:block}.cv-results li{margin:12px 0}.case-visual .article-callout{padding:28px 22px}.case-visual .article-block{margin:28px 0}.cv-story{padding-bottom:48px}}
@media(prefers-reduced-motion:reduce){.cv-gallery.is-enhanced .cv-gallery__slide{transition:none}}
/* Per-case opening controls. Native sizing never stretches portrait video into a landscape frame. */
.case-visual .cv-hero--split{width:min(1120px,calc(100% - 96px));margin:auto;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(32px,6vw,88px);align-items:center;padding:40px 0 48px}
.case-visual .cv-hero--split .cv-hero__heading{display:block;width:100%;padding:0}
.case-visual .cv-hero--split h1{font-size:clamp(32px,3.5vw,48px);max-width:18ch;margin:24px 0}
.case-visual .cv-hero--split .cv-hero__heading p{font-size:17px;line-height:1.7}
.case-visual .cv-hero--native>figure{width:fit-content;max-width:100%;background:transparent}
.case-visual .cv-hero .cv-media--native{width:fit-content;max-width:100%;aspect-ratio:auto;max-height:none;background:transparent;overflow:visible}
.case-visual .cv-media--native video,.case-visual .cv-media--native img{width:auto;height:auto;max-width:100%;max-height:580px;object-fit:contain;background:transparent;border:0;margin-inline:auto}
.case-visual .cv-hero--native:not(.cv-hero--split)>figure{margin-bottom:40px}
@media(max-width:1000px){.case-visual .cv-hero--split{width:calc(100% - 48px);gap:32px}}
@media(max-width:700px){.case-visual .cv-hero--split{width:calc(100% - 40px);grid-template-columns:1fr;gap:28px;padding:26px 0 32px}.case-visual .cv-hero--split h1{max-width:22ch;font-size:32px;margin:18px 0}.case-visual .cv-media--native video,.case-visual .cv-media--native img{max-height:520px}.case-visual .cv-hero--split>figure{justify-self:center}}
@media(min-width:701px) and (max-width:900px){
 .cv-cycle header{display:block}.cv-cycle header h2{margin:12px 0 18px}.cv-cycle header p{max-width:60ch}
 .cv-cycle ol{display:block;padding-left:40px}.cv-cycle ol:before{width:1px;height:auto;left:8px;top:20px;bottom:20px}
 .cv-cycle li{padding:0 0 36px;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:min-content 1fr;gap:0 28px;align-items:start}.cv-cycle li:last-child{padding-bottom:0}
 .cv-cycle__number{position:absolute;left:-47px;top:0;width:32px;height:32px}.cv-cycle li:not(:last-child):after{display:none}
 .cv-cycle li h3{margin:0 0 12px;grid-column:1;grid-row:1}.cv-cycle li p{grid-column:1;grid-row:2;font-size:16px}
 .cv-cycle li figure{grid-column:2;grid-row:1/3}.cv-cycle li .cv-media{margin:0;aspect-ratio:1}
}
