/* Compact campaign heroes and paired, borderless square artwork. */
.project-case.campaign-case .campaign-hero{width:min(100%,760px);margin:40px auto 0}
.project-case.campaign-case .campaign-hero .cs-img img{width:auto;max-width:100%;height:auto;max-height:min(680px,68svh);margin-inline:auto;object-fit:contain}
.project-case.campaign-case .campaign-hero figcaption{display:block;text-align:center}
.project-case.campaign-case .campaign-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px;margin-top:40px;align-items:start}
.project-case.campaign-case .campaign-gallery .cs-fig{margin:0;min-width:0}
.project-case.campaign-case .campaign-gallery .cs-img{padding:0;border:0;background:transparent}
.project-case.campaign-case .campaign-gallery img{width:100%;height:auto;max-height:none;object-fit:contain}
.project-case.campaign-case .campaign-gallery figcaption{display:block;margin-top:16px}
@media(max-width:760px){.project-case.campaign-case .campaign-gallery{grid-template-columns:1fr;gap:32px;margin-top:32px}.project-case.campaign-case .campaign-hero{margin-top:32px}.project-case.campaign-case .campaign-hero .cs-img img{max-height:none;width:100%}}

/* Full-width landscape hero: extend the background, never stretch the pack. */
.project-case.campaign-case .campaign-hero{width:100%;margin:32px 0 0}
.project-case.campaign-case .campaign-hero .cs-img img{width:100%;max-width:100%;height:auto;max-height:none;margin:0}
.project-case.campaign-case .campaign-hero figcaption{text-align:left}
.project-case.bournvita-case .campaign-hero .cs-img{aspect-ratio:1440/889;background:#fff}
.project-case.bournvita-case .campaign-hero .cs-img a{width:100%;height:100%}
.project-case.bournvita-case .campaign-hero .cs-img img{width:100%;height:100%;object-fit:contain}
/* Crop the embedded white mat from the value artwork using its viewport. */
.project-case.bournvita-case .campaign-value .cs-img{aspect-ratio:1;overflow:hidden}
.project-case.bournvita-case .campaign-value .cs-img img{width:108%;max-width:none;height:auto;margin-left:-3%;margin-top:-4%}
.project-case.bournvita-case .campaign-gallery .cs-img:has(video){aspect-ratio:1;background:#1b1439}
.project-case.bournvita-case .campaign-gallery video{width:100%;height:100%;max-height:none;object-fit:contain}

/* Fill the approved landscape frame by trimming only excess white above/below. */
.project-case.bournvita-case .campaign-hero .cs-img img{object-fit:cover;object-position:center}
.project-case.campaign-case .campaign-gallery .cs-img{aspect-ratio:1;overflow:hidden}
.project-case.campaign-case .campaign-gallery .cs-img a{display:block;width:100%;height:100%}
.project-case.campaign-case .campaign-gallery .cs-img img{width:100%;height:100%;object-fit:contain}
/* Original purple artwork bounds: x=37, y=75, 1308 x 1308 in a 1401px file. */
.project-case.bournvita-case .campaign-value .cs-img a{position:relative;overflow:hidden}
.project-case.bournvita-case .campaign-value .cs-img img{position:absolute;width:107.1101%;height:107.1101%;max-width:none;left:-2.82875%;top:-5.73394%;margin:0;object-fit:fill}
.project-case.campaign-case .cs-fig figcaption{font-size:17px;font-weight:600;line-height:1.5;color:#292b26;margin-top:18px}
.project-case.campaign-case .cs-fig figcaption h3{font-size:17px;font-weight:600;line-height:1.5}
.project-case.campaign-case .cs-fig figcaption p{font-size:16px;font-weight:400;line-height:1.6;color:#4a4a4e}
@media(max-width:760px){.project-case.campaign-case .cs-fig figcaption{font-size:16px}}

.project-case.campaign-case .cs-fig figcaption{ text-transform:uppercase;letter-spacing:.035em }
.project-case.campaign-case .cs-fig figcaption p,.project-case.campaign-case .cs-fig figcaption a{text-transform:none;letter-spacing:normal}

/* Editorial detail for Bournvita's project narrative. */
.project-case.bournvita-case .campaign-story{margin-top:64px;padding-top:32px;border-top:1px solid #d9dcd5;column-gap:56px}
.project-case.bournvita-case .campaign-story .cs-eyebrow{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.09em;color:#55594f}
.project-case.bournvita-case .chapter-number{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 34px;background:#c9f31d;color:#22251f;font-size:13px;font-weight:700;letter-spacing:0}
.project-case.bournvita-case .campaign-story .cs-h{margin-top:22px;max-width:11em}
.project-case.bournvita-case .campaign-story .cs-copy{padding-top:56px}
.project-case.bournvita-case .campaign-story .cs-copy>p:first-child{color:#292c25;font-size:19px;line-height:1.65}
.project-case.bournvita-case .campaign-deliverables{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin-top:28px}
.project-case.bournvita-case .campaign-deliverables li{position:relative;padding:14px 0 14px 16px;margin:0;border-top:1px solid #d9dcd5;font-size:15px;line-height:1.5}
.project-case.bournvita-case .campaign-deliverables li::before{content:"";position:absolute;left:0;top:21px;width:5px;height:5px;border-radius:50%;background:#53623a}
.project-case.bournvita-case .campaign-outcome .cs-copy{border-left:3px solid #c9f31d;padding:0 0 0 24px;margin-top:56px}
@media(max-width:760px){.project-case.bournvita-case .campaign-story{margin-top:48px;padding-top:24px}.project-case.bournvita-case .campaign-story .cs-copy{padding-top:0}.project-case.bournvita-case .campaign-outcome .cs-copy{margin-top:0;padding-left:20px}.project-case.bournvita-case .campaign-story .cs-copy>p:first-child{font-size:18px}.project-case.bournvita-case .campaign-deliverables{grid-template-columns:1fr}}

/* Editorial detail for Bournvita's project narrative. */
.project-case.halloween-case .campaign-story{margin-top:64px;padding-top:32px;border-top:1px solid #d9dcd5;column-gap:56px}
.project-case.halloween-case .campaign-story .cs-eyebrow{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.09em;color:#55594f}
.project-case.halloween-case .chapter-number{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 34px;background:#c9f31d;color:#22251f;font-size:13px;font-weight:700;letter-spacing:0}
.project-case.halloween-case .campaign-story .cs-h{margin-top:22px;max-width:11em}
.project-case.halloween-case .campaign-story .cs-copy{padding-top:56px}
.project-case.halloween-case .campaign-story .cs-copy>p:first-child{color:#292c25;font-size:19px;line-height:1.65}
.project-case.halloween-case .campaign-deliverables{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin-top:28px}
.project-case.halloween-case .campaign-deliverables li{position:relative;padding:14px 0 14px 16px;margin:0;border-top:1px solid #d9dcd5;font-size:15px;line-height:1.5}
.project-case.halloween-case .campaign-deliverables li::before{content:"";position:absolute;left:0;top:21px;width:5px;height:5px;border-radius:50%;background:#53623a}
.project-case.halloween-case .campaign-outcome .cs-copy{border-left:3px solid #c9f31d;padding:0 0 0 24px;margin-top:56px}
@media(max-width:760px){.project-case.halloween-case .campaign-story{margin-top:48px;padding-top:24px}.project-case.halloween-case .campaign-story .cs-copy{padding-top:0}.project-case.halloween-case .campaign-outcome .cs-copy{margin-top:0;padding-left:20px}.project-case.halloween-case .campaign-story .cs-copy>p:first-child{font-size:18px}.project-case.halloween-case .campaign-deliverables{grid-template-columns:1fr}}

/* Halloween films and pack presentations share the campaign grid. */
.project-case.halloween-case .campaign-gallery .campaign-film .cs-img{aspect-ratio:16/9;background:#432366}
.project-case.halloween-case .campaign-film video{width:100%;height:100%;max-height:none;object-fit:contain}
.project-case.halloween-case .halloween-pack .cs-img{position:relative;aspect-ratio:1;background:radial-gradient(ellipse at 50% 42%,#65408c 0%,#4d2875 64%,#40205f 100%)}
.project-case.halloween-case .halloween-pack .cs-img img{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);height:96%;width:auto;max-width:none;object-fit:contain;margin:0}
.project-case.halloween-case .halloween-pack-last{grid-column:1/-1;width:calc((100% - 32px)/2);justify-self:center}
.project-case.halloween-case .halloween-pack-last .cs-img img{height:88%}
@media(max-width:760px){.project-case.halloween-case .halloween-pack-last{grid-column:auto;width:100%}}
