/* Original app and campaign assets, presented within the existing portfolio system. */
.work-logo.drape-mark{width:132px;height:36px;max-width:none;object-fit:contain}
.detail-brand.drape-mark{width:185px;height:50px;object-fit:contain}
.drape-cover{height:100%;width:100%;display:flex;align-items:center;justify-content:center;gap:1.5%;padding:4% 8%;background:#f5f4ef;overflow:hidden}
.drape-cover img{display:block;height:96%;width:31%;object-fit:contain;filter:drop-shadow(0 15px 10px #1d20251a);transition:transform .5s}
.drape-cover img:nth-child(1){transform:translateY(8%) rotate(-5deg)}.drape-cover img:nth-child(2){height:105%;z-index:1}.drape-cover img:nth-child(3){transform:translateY(8%) rotate(5deg)}
.work-image:hover .drape-cover img:first-child{transform:translateY(3%) rotate(-3deg)}.work-image:hover .drape-cover img:last-child{transform:translateY(3%) rotate(3deg)}
.drape-viewer{background:#f7f6f1;border:1px solid #162b4012;border-radius:6px;padding:35px 4% 27px}
.drape-viewer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:35px}.drape-logo{width:160px;height:auto}.drape-tabs{display:flex;gap:8px;flex-wrap:wrap}.drape-tabs button{font-size:11px;padding:12px 17px;min-height:44px;cursor:pointer}.drape-tabs button[aria-pressed=true]{background:#e1d5c7;color:#3c3029}
.drape-phones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:2%;max-width:1000px;margin:0 auto}.drape-phones figure{margin:0;text-align:center;min-width:0}.drape-phones img{width:100%;height:min(52vw,610px);object-fit:contain;display:block;filter:drop-shadow(0 17px 18px #282b291a)}.drape-phones figcaption{font-size:11px;color:#617084;margin:20px 0 0}.drape-description{font-size:13px;line-height:1.7;text-align:center;margin:30px auto 0;max-width:640px;color:#596b7c;min-height:44px}
.creative-film{margin:0}.creative-film video{width:100%;aspect-ratio:16/9;display:block;background:#111;border-radius:6px;object-fit:contain}.creative-film>figcaption{padding:22px 0;display:flex;align-items:center;justify-content:space-between;gap:20px}.creative-film h2{font:300 clamp(29px,3vw,45px)/1.1 var(--font-display);margin:0 0 8px;letter-spacing:-.025em}.creative-film figcaption p,.creative-film figcaption>span{font-size:12px;color:#617084}
.campaign-collection{margin:50px 0 85px}.campaign-collection>header{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:35px}.campaign-collection h2{font:300 clamp(42px,4.5vw,68px)/1 var(--font-display);letter-spacing:-.035em}.campaign-collection header p{font-size:14px;line-height:1.7;max-width:350px;color:#617084}
.campaign-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:35px 22px}.campaign-grid figure{margin:0;min-width:0}.campaign-grid button{display:block;position:relative;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.campaign-grid img{display:block;width:100%;height:auto;border-radius:3px}.campaign-grid button>span{position:absolute;bottom:12px;right:12px;background:#fafbf7dc;border:1px solid #fff9;border-radius:50%;width:35px;height:35px;display:grid;place-items:center;font-size:21px;color:#172536}.campaign-grid figcaption{display:flex;flex-direction:column;gap:7px;padding-top:14px}.campaign-grid strong{font-size:13px;font-weight:500}.campaign-grid figcaption>span{font-size:11px;color:#617084;line-height:1.5}
body.campaign-open{overflow:hidden}.campaign-lightbox{position:fixed;max-height:96svh;height:96svh;width:min(94vw,1100px);max-width:none;padding:65px 25px 25px;background:#eeefeb;border-radius:9px;text-align:center;overflow:hidden}.campaign-lightbox::backdrop{background:#102033d9;backdrop-filter:blur(15px)}.campaign-lightbox>img{display:block;width:100%;height:calc(100% - 35px);object-fit:contain}.campaign-lightbox>p{font-size:11px;line-height:1.5;margin:13px 0 0}.campaign-close{position:absolute;right:20px;top:14px;padding:10px 17px;min-height:40px;font-size:11px;gap:25px;cursor:pointer}.campaign-close span{font-size:22px;line-height:1}
.service-media .media-composition{padding:0!important;transform:none!important;max-width:none}.service-media .creative-film{width:100%}.service-media .creative-film h2{font-size:28px}.service-media .creative-film figcaption{padding:19px 0}.service-media .media-still-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}.media-still-strip a{display:block}.media-still-strip img{width:100%;height:200px;object-fit:contain;object-position:top;display:block}.service-media .media-still-link{display:inline-block;font-size:12px;color:#2046a0;margin-top:18px;border-bottom:1px solid #2046a050;padding-bottom:6px}
@media(max-width:1000px){.drape-viewer-top{flex-direction:column;align-items:flex-start}.campaign-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.drape-viewer{padding:22px 3% 18px;margin-inline:-3%}.drape-viewer-top{gap:20px;margin-bottom:22px;padding:0 3%}.drape-logo{width:130px}.drape-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}.drape-tabs button{font-size:10px;padding:10px 12px}.drape-phones{gap:0}.drape-phones img{height:48vw;filter:drop-shadow(0 7px 7px #282b291a)}.drape-phones figcaption{font-size:9px;line-height:1.4;margin:12px 4px 0}.drape-description{font-size:12px;margin-top:24px;padding:0 5%;min-height:64px}.creative-film h2{font-size:29px}.creative-film>figcaption{align-items:flex-start;padding:17px 0}.creative-film figcaption>span{font-size:10px;white-space:nowrap;padding-top:7px}.creative-film figcaption p{font-size:11px}.campaign-collection{margin-top:35px}.campaign-collection>header{display:block;margin-bottom:25px}.campaign-collection h2{font-size:43px}.campaign-collection header p{font-size:13px;margin-top:18px}.campaign-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 13px}.campaign-grid strong{font-size:12px}.campaign-grid figcaption>span{font-size:10px}.campaign-grid button>span{width:30px;height:30px;bottom:8px;right:8px;font-size:18px}.campaign-lightbox{padding:65px 12px 25px}.campaign-lightbox>p{font-size:10px}.service-media .creative-film h2{font-size:27px}.service-media .media-still-strip{gap:7px}.media-still-strip img{height:155px}}
@media(prefers-reduced-motion:reduce){.drape-cover img{transition:none}.work-image:hover .drape-cover img:first-child{transform:translateY(8%) rotate(-5deg)}.work-image:hover .drape-cover img:last-child{transform:translateY(8%) rotate(5deg)}}
.drape-tabs button[aria-pressed=true]{color:#2046a0!important;font-weight:600}
.drape-swipe-hint{display:none}
@media(max-width:800px){.drape-phones{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:5%;padding:0 8% 15px;scrollbar-width:thin;scrollbar-color:#bbc5ca transparent}.drape-phones figure{flex:0 0 90%;scroll-snap-align:center}.drape-phones img{height:112vw;max-height:560px}.drape-phones figcaption{font-size:12px}.drape-swipe-hint{display:block;text-align:center;font-size:10px;color:#617084;margin:12px 0 0}}

/* Portrait creative is displayed uncropped, with space to read each direction. */
.campaign-concepts{margin-top:75px}
.campaign-concepts>header{align-items:flex-start;margin-bottom:42px}
.campaign-concepts h2{margin:0;line-height:1.04}
.campaign-concepts .campaign-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:48px 27px}
.campaign-concepts .campaign-grid figure{grid-column:span 2}
.campaign-concepts .campaign-grid figure:nth-child(-n+2),.campaign-concepts .campaign-grid figure:nth-last-child(-n+2){grid-column:span 3}
.campaign-concepts .campaign-grid img{aspect-ratio:1122/1402;object-fit:contain;border-radius:2px}
.campaign-concepts .campaign-grid button{transition:transform .25s ease;transform-origin:50% 70%}
.campaign-concepts .campaign-grid button:focus-visible{outline:2px solid #244b9e;outline-offset:7px}
.campaign-concepts .campaign-grid figcaption{flex-direction:row;justify-content:space-between;gap:12px;align-items:baseline;padding-top:17px}
.campaign-concepts .campaign-grid strong{font-size:15px}
.campaign-concepts .campaign-grid figcaption>span{text-align:right;font-size:11px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.campaign-concepts .campaign-grid button:hover{transform:translateY(-5px)}}
@media(max-width:800px){
 .campaign-concepts{margin-top:44px}
 .campaign-concepts>header{margin-bottom:28px}
 .campaign-concepts .campaign-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 16px}
 .campaign-concepts .campaign-grid figure,.campaign-concepts .campaign-grid figure:nth-child(-n+2),.campaign-concepts .campaign-grid figure:nth-last-child(-n+2){grid-column:span 1}
 .campaign-concepts .campaign-grid figcaption{flex-direction:column;gap:6px;align-items:flex-start}
 .campaign-concepts .campaign-grid figcaption>span{text-align:left}
}
@media(max-width:520px){.campaign-concepts .campaign-grid{grid-template-columns:minmax(0,1fr);gap:35px}.campaign-concepts .campaign-grid figcaption{flex-direction:row;align-items:baseline}.campaign-concepts .campaign-grid figcaption>span{max-width:45%;text-align:right}.campaign-concepts .campaign-grid strong{font-size:16px}}
@media(prefers-reduced-motion:reduce){.campaign-concepts .campaign-grid button{transition:none}}

/* Industry navigation keeps the larger collection easy to explore. */
.campaign-navigation{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 38px;border-top:1px solid #244b9e24;border-bottom:1px solid #244b9e24}
.campaign-filters{display:flex;flex-wrap:wrap;gap:0 23px}
.campaign-filters button{appearance:none;border:0;border-bottom:2px solid transparent;background:none;padding:17px 0 15px;min-height:48px;font:inherit;font-size:14px;color:#536274;cursor:pointer;transition:color .18s}
.campaign-filters button[aria-pressed=true]{color:#244b9e;border-bottom-color:#244b9e}
.campaign-filters button:hover{color:#244b9e}
.campaign-filters button:focus-visible{outline:2px solid #244b9e;outline-offset:4px;border-radius:1px}
.campaign-count{margin:0;flex-shrink:0;font-size:12px;color:#617084;font-variant-numeric:tabular-nums}
.campaign-concepts .campaign-grid figure[hidden]{display:none}
.campaign-concepts:not([data-filter=all]) .campaign-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.campaign-concepts:not([data-filter=all]) .campaign-grid figure{grid-column:auto}
@media(max-width:800px){.campaign-navigation{align-items:flex-start;flex-direction:column;gap:8px;margin-bottom:28px;padding-bottom:15px}.campaign-filters{gap:0 20px}.campaign-filters button{font-size:13px;padding-block:14px 12px}.campaign-count{font-size:12px}}
@media(max-width:520px){.campaign-concepts:not([data-filter=all]) .campaign-grid{grid-template-columns:minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.campaign-filters button{transition:none}}
