/* Campaign samples follow the project's existing editorial layout. */
.campaign-work{border-top:1px solid var(--line);padding-block:65px 55px}
.campaign-work .section-top{align-items:end;margin-bottom:48px}
.campaign-work h2{max-inline-size:21ch}
.campaign-intro{max-width:365px;color:var(--muted);font-size:15px;margin:0}
.campaign-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:76px;align-items:start}
.campaign-grid>article{min-width:0}
.campaign-piece-heading{border-top:1px solid #b7afbf;padding-top:24px;min-height:194px}
.campaign-piece-heading .eyebrow{font-size:10px;letter-spacing:1.35px;margin-bottom:16px}
.campaign-piece-heading h3{font-size:30px;margin-bottom:16px}
.campaign-piece-heading>p:last-child{font-size:15px;color:var(--muted);max-width:520px;margin-bottom:26px}
.campaign-video .video-piece{max-width:300px}
.campaign-video .video-piece video{border-radius:3px;background:#eeeaef;object-fit:contain}
.campaign-video .video-piece figcaption{font-size:12px;margin-top:14px;text-align:center}
.campaign-carousel-media{max-width:540px;margin-inline:auto}
.campaign-carousel-media .carousel-track{gap:18px;padding:0 0 15px;scroll-padding-inline:0}
.campaign-carousel-media .carousel-track>li{flex-basis:100%}
.campaign-carousel-media .media-zoom{border:1px solid #e6dfe8;border-radius:3px;background:#f4efea}
.campaign-carousel-media .zoom-label{font-size:11px;background:var(--paper);border-color:#d8d0de}
.campaign-carousel-navigation{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:8px}
.campaign-slide-status{font-size:12px;color:var(--muted);line-height:1.5;margin:0}
.campaign-carousel-help{font-size:12px;color:var(--muted);margin-top:16px;margin-bottom:0}
.campaign-work .video-transcript,.campaign-work .carousel-transcript{margin-top:20px}
.campaign-work .carousel-transcript li{font-size:14px}
.campaign-context{border-top:1px solid var(--line);padding-top:22px;margin:35px 0 0;font-size:12px;color:var(--muted);max-width:100%}
.campaign-work video:focus-visible{outline:3px solid #8050c7;outline-offset:5px}
@media(max-width:1000px){.campaign-grid{gap:40px}.campaign-piece-heading{min-height:215px}.campaign-piece-heading h3{font-size:27px}}
@media(max-width:720px){
 .campaign-work{padding-block:40px}
 .campaign-work .section-top{align-items:start;margin-bottom:30px}
 .campaign-intro{max-width:100%;font-size:15px}
 .campaign-grid{grid-template-columns:1fr;gap:38px}
 .campaign-piece-heading{min-height:0;padding-top:22px}
 .campaign-piece-heading .eyebrow{font-size:11px}
 .campaign-piece-heading h3{font-size:28px}
 .campaign-video .video-piece{max-width:280px}
 .campaign-carousel-media{max-width:500px}
 .campaign-carousel-media .carousel-track{gap:15px}
 .campaign-carousel-navigation{flex-wrap:wrap}
 .campaign-context{margin-top:28px}
}
