:root{color-scheme:dark;--black:#080808;--ink:#f4f2ef;--muted:#969493;--red:#e52521;--line:#343231;font-family:Helvetica,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--black);color:var(--ink);overflow-x:hidden}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--red);outline-offset:4px}::selection{background:var(--red);color:#fff}
.site-header{height:74px;padding:0 clamp(19px,3vw,46px);display:flex;align-items:center;justify-content:space-between;gap:20px;background:#080808;position:relative;z-index:5}.brand{display:inline-flex;align-items:center;gap:10px;font-size:clamp(18px,2.1vw,26px);font-weight:750;letter-spacing:-.065em;white-space:nowrap}.brand-dot,.red-period{color:var(--red)}.brand-word{display:inline-block;white-space:nowrap}.brand-word sup{font-size:9px;line-height:0;vertical-align:super;letter-spacing:0;margin-left:1px}.brand-sign{width:25px;height:25px;background:var(--red);border-radius:50%;display:grid;place-items:center;box-shadow:0 0 18px #e5252145;flex:none}.brand-sign span{width:19px;height:7px;background:#fff}.site-header nav{display:flex;align-items:center;gap:clamp(19px,3.2vw,56px);font-size:11px;font-weight:700;letter-spacing:.035em}.site-header nav a:hover,.footer-bottom a:hover{color:var(--red)}.site-header nav a span{font-size:9px;color:var(--red);vertical-align:top;margin-left:2px}
.hero{height:min(790px,calc(100svh - 74px));min-height:570px;margin:0 14px;position:relative;overflow:hidden;border-radius:8px;background:#151412;isolation:isolate}.hero-visual,.hero-visual img,.hero-visual video,.hero-shade{position:absolute;inset:0;width:100%;height:100%}.hero-visual img,.hero-visual video{object-fit:cover;object-position:center;transform:scale(1.08);transform-origin:center}.hero-visual video{opacity:0;transition:opacity .8s ease}.hero-visual video.ready{opacity:1}.hero-shade{z-index:1;background:linear-gradient(90deg,rgba(2,2,2,.76) 0%,rgba(2,2,2,.38) 48%,rgba(2,2,2,.1) 100%),linear-gradient(0deg,rgba(0,0,0,.65),transparent 38%,rgba(0,0,0,.25))}.hero-top,.hero-bottom,.hero-center{position:absolute;z-index:3}.hero-top{top:25px;left:clamp(18px,3vw,44px);right:clamp(18px,3vw,44px);display:flex;justify-content:space-between;gap:20px;font-size:10px;font-weight:700;letter-spacing:.06em}.hero-center{left:clamp(20px,4vw,70px);bottom:100px}.hero h1{font-size:clamp(82px,15.7vw,250px);line-height:.79;letter-spacing:-.097em;font-weight:800;margin:0;transform:translateX(-.06em)}.hero h1 em{font-style:normal;color:var(--red);text-shadow:0 0 45px #e5252155}.hero-bottom{bottom:20px;left:clamp(18px,3vw,44px);right:clamp(18px,3vw,44px);display:flex;align-items:end;justify-content:space-between;gap:16px;font-size:10px;font-weight:700;letter-spacing:.04em}.hero-open{color:#fff;background:transparent;border:1px solid #ffffff99;border-radius:100px;padding:13px 18px;font-size:11px;font-weight:700;letter-spacing:.05em;display:flex;gap:32px;align-items:center;transition:background .2s,color .2s}.hero-open:hover{background:#fff;color:#090909}.hero-open span{font-size:17px;line-height:0}
.brand-strip{padding:46px 0 34px;border-bottom:1px solid var(--line)}.strip-heading{padding:0 clamp(20px,3vw,46px);display:flex;justify-content:space-between;font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--muted);margin-bottom:25px}.marquee{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}.marquee-track{display:flex;width:max-content;animation:drift 38s linear infinite}.marquee:hover .marquee-track{animation-play-state:paused}.marquee-group{display:flex;align-items:center;flex:none}.logo-item{flex:0 0 clamp(154px,16.5vw,205px);height:70px;padding:0 clamp(17px,2.2vw,28px);display:flex;align-items:center;justify-content:center;opacity:.48;transition:opacity .25s ease}.logo-item:hover{opacity:1}.logo-item img{display:block;width:auto;height:auto;max-width:100%;max-height:55px;object-fit:contain;filter:brightness(0) invert(1)}.logo-item.kaufland img{max-height:58px}.logo-item.house-of-errors img{max-height:44px}.logo-item.virgin-media img,.logo-item.old-spice img{max-height:59px}.wordmark{font-size:24px;font-weight:800;letter-spacing:-.08em;white-space:nowrap}@keyframes drift{to{transform:translateX(-50%)}}
.section-wrap{padding-left:clamp(20px,3vw,46px);padding-right:clamp(20px,3vw,46px)}.works{padding-top:106px;padding-bottom:105px}.section-heading{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:20px;margin-bottom:35px}.section-index,.section-count{font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--muted);padding-bottom:9px}.section-count{text-align:right}.section-heading h2{font-size:clamp(58px,10vw,160px);letter-spacing:-.09em;line-height:.8;margin:0;font-weight:800}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:47px 14px}.work-card:first-child{grid-column:1/-1}.work-card button{border:0;padding:0;color:inherit;background:#171715;display:block;width:100%;position:relative;overflow:hidden;border-radius:6px;aspect-ratio:1.18}.work-card:first-child button{aspect-ratio:2.15}.work-card .work-image{width:100%;height:100%;display:block;position:absolute;inset:0;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1),opacity .5s ease}.work-card .work-image{object-position:center}.work-card[data-id="san-pellegrino"] .work-image{object-position:center 47%}.work-card button:hover .work-image{transform:scale(1.035)}.work-meta{display:flex;align-items:baseline;justify-content:space-between;gap:15px;padding-top:17px;border-top:1px solid var(--line);margin-top:10px}.work-meta h3{font-size:clamp(24px,3.5vw,48px);font-weight:750;letter-spacing:-.07em;line-height:1;margin:0}.work-meta h3 span{font-size:11px;letter-spacing:0;vertical-align:top;color:var(--red);margin-right:12px}.work-meta p{font-size:11px;color:var(--muted);font-weight:700;letter-spacing:.04em;text-align:right;margin:0;white-space:nowrap}.works-tail{text-align:center;color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.08em;margin:72px 0 0}.works-tail span{color:var(--red);font-size:16px;margin-left:6px}
.workflow{padding-top:72px;padding-bottom:126px;border-top:1px solid var(--line)}.workflow .section-heading{margin-bottom:50px}.workflow-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.workflow-grid article{position:relative;min-height:350px;border:1px solid #33312f;border-radius:6px;padding:30px;overflow:hidden;background:radial-gradient(circle at 94% 95%,#e5252128,transparent 37%),#101010}.workflow-grid article:nth-child(2){background:radial-gradient(circle at 95% 95%,#e525211a,transparent 34%),#101010}.workflow-number{font-size:11px;font-weight:700;color:var(--red)}.workflow-grid h3{font-size:clamp(54px,7.5vw,114px);letter-spacing:-.09em;line-height:.85;margin:86px 0 15px}.workflow-grid p{font-size:clamp(15px,1.4vw,19px);letter-spacing:-.035em;max-width:340px;line-height:1.15;margin:0}.workflow-glyph{font-size:185px;color:#e5252138;position:absolute;right:-6px;bottom:-76px;line-height:1}.workflow-glyph-two{font-size:190px;right:-4px;bottom:-35px}
footer{background:var(--red);color:#fff;padding:clamp(26px,3vw,46px) clamp(20px,3vw,46px) 24px}.footer-main{min-height:390px;position:relative;display:flex;flex-direction:column;align-items:flex-start}.footer-kicker{font-size:11px;font-weight:700;letter-spacing:.05em}.footer-email{font-size:clamp(68px,13vw,196px);font-weight:800;letter-spacing:-.095em;line-height:.78;margin:auto 0 25px;transition:color .2s}.footer-email:hover{color:#181717}.footer-email em{font-style:normal}.mail-small{font-size:17px;letter-spacing:-.03em;text-decoration:underline;text-underline-offset:5px}.footer-bottom{border-top:1px solid #ffffff80;margin-top:55px;padding-top:19px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:10px;font-weight:700;letter-spacing:.04em}.footer-bottom>div{display:flex;gap:26px}.footer-brand{font-size:19px;letter-spacing:-.06em;font-weight:800}.footer-bottom a:hover{color:#181717}
.intro{position:fixed;inset:0;z-index:100;background:#080808;color:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center}.intro:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.38'/%3E%3C/svg%3E")}.intro-kicker{position:absolute;top:27px;left:32px;font-size:11px;font-weight:700}.intro-word{font-size:clamp(34px,8.5vw,140px);font-weight:800;letter-spacing:-.09em;text-align:center;line-height:1;word-break:break-all;padding:0 12px}.intro-word .locked{color:var(--red);text-shadow:0 0 23px #e5252166}.intro-progress{height:2px;width:min(380px,65vw);background:#333;margin-top:32px;overflow:hidden}.intro-progress i{display:block;background:var(--red);width:0;height:100%;transition:width .1s linear}#skipIntro{position:absolute;right:30px;bottom:27px;border:0;background:none;color:#fff;font-size:11px;font-weight:700}.intro.done{opacity:0;pointer-events:none;transition:opacity .35s}
.project-dialog{border:1px solid #3a3735;padding:24px;background:#111;color:#fff;width:min(1050px,94vw);max-height:94vh;border-radius:8px;box-shadow:0 30px 100px #000d;overflow:auto}.project-dialog::backdrop{background:#000d;backdrop-filter:blur(12px)}.dialog-head{display:flex;align-items:start;justify-content:space-between;gap:24px;padding-bottom:22px}.dialog-kicker{font-size:10px;color:var(--red);font-weight:700;letter-spacing:.07em}.dialog-head h2{font-size:clamp(35px,5vw,66px);letter-spacing:-.075em;line-height:1;margin:6px 0 0}.dialog-close{border:1px solid #575451;color:#fff;background:none;border-radius:50%;width:40px;height:40px;flex:none}.dialog-close:hover{background:var(--red);border-color:var(--red)}.media-stage{aspect-ratio:16/9;background:#050505;position:relative;overflow:hidden}.media-stage video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#050505}.media-stage #beforeVideo{display:none}.media-stage.comparing #beforeVideo{display:block;clip-path:inset(0 calc(100% - var(--split,50%)) 0 0)}.compare-overlay{position:absolute;inset:0;pointer-events:none}.compare-overlay[hidden]{display:none}.compare-overlay>span:not(.compare-divider){position:absolute;top:15px;background:#000a;padding:8px 11px;font-size:10px;font-weight:700}.compare-overlay>span:first-child{left:15px}.compare-overlay>span:nth-child(2){right:15px}.compare-divider{position:absolute;left:var(--split,50%);top:0;bottom:0;width:2px;background:#fff;transform:translateX(-1px);display:grid;place-items:center}.compare-divider b{font-size:19px;background:var(--red);width:38px;height:38px;border-radius:50%;display:grid;place-items:center}.compare-overlay input{pointer-events:auto;position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize}.media-controls{display:flex;align-items:center;gap:14px;margin-top:15px;font-size:11px;font-weight:700}.media-controls button{color:#fff;background:none;border:0;padding:7px;font-size:14px}.media-controls button:hover{color:var(--red)}.media-controls input{accent-color:var(--red);min-width:0;flex:1}.media-controls #compareButton{border:1px solid #555;border-radius:100px;font-size:10px;padding:10px 14px;white-space:nowrap}.media-controls #compareButton[hidden]{display:none}.project-info{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #343231;padding-top:16px;margin-top:18px;font-size:10px;font-weight:700;letter-spacing:.06em;color:var(--muted)}.project-info span:first-child{color:var(--red)}.playback-error{color:#fff;font-size:13px}
@media(max-width:800px){.hero{height:calc(100svh - 72px);min-height:600px;margin:0 8px}.hero-visual img,.hero-visual video{object-position:55% center}.hero-top span:last-child,.hero-bottom>span:last-child{display:none}.hero-center{left:20px;bottom:140px}.hero h1{font-size:clamp(75px,19vw,150px)}.hero-bottom{left:18px;right:18px;align-items:center}.section-heading{grid-template-columns:1fr auto}.section-heading h2{grid-column:1/-1;grid-row:2;font-size:clamp(62px,15vw,110px)}.section-count{grid-column:2;grid-row:1}.work-grid{gap:36px 10px}.work-card button{aspect-ratio:.75}.work-card:first-child button{aspect-ratio:1.5}.workflow-grid article{min-height:320px}.workflow-grid h3{font-size:clamp(50px,8vw,90px)}.footer-email{font-size:clamp(65px,12vw,130px)}}
@media(max-width:600px){.site-header{height:62px;padding:0 15px}.brand{font-size:19px;gap:7px}.brand-word sup{font-size:8px;margin-left:1px}.brand-sign{width:21px;height:21px}.brand-sign span{width:16px;height:6px}.site-header nav{gap:14px;font-size:10px}.site-header nav a span{display:none}.hero{height:min(720px,calc(100svh - 62px));min-height:550px;border-radius:4px}.hero-visual img,.hero-visual video{object-position:58% center}.hero-shade{background:linear-gradient(90deg,#0009,#0002),linear-gradient(0deg,#000b,transparent 48%,#0005)}.hero-top{top:18px;left:17px;font-size:9px}.hero-center{bottom:130px;left:17px}.hero h1{font-size:clamp(77px,23vw,145px)}.hero-visual img,.hero-visual video{transform:scale(1.04)}.hero-bottom{bottom:19px;font-size:9px}.hero-open{padding:10px 12px;font-size:9px;gap:12px}.brand-strip{padding-top:30px;padding-bottom:24px}.strip-heading{margin-bottom:17px}.logo-item{flex-basis:145px;height:52px;padding:0 15px}.logo-item img{max-height:38px}.logo-item.kaufland img{max-height:42px}.logo-item.house-of-errors img{max-height:31px}.logo-item.virgin-media img,.logo-item.old-spice img{max-height:42px}.wordmark{font-size:19px}.works{padding-top:72px;padding-bottom:72px}.section-heading{margin-bottom:25px}.section-heading h2{font-size:clamp(67px,17vw,100px)}.section-index,.section-count{font-size:9px}.work-grid{grid-template-columns:1fr;gap:34px}.work-card:first-child{grid-column:auto}.work-card button,.work-card:first-child button{aspect-ratio:1.13}.work-card[data-id="san-pellegrino"] button,.work-card[data-id="house-of-errors"] button{aspect-ratio:.94}.work-meta h3{font-size:29px}.work-meta p{font-size:9px}.works-tail{margin-top:55px}.workflow{padding-top:60px;padding-bottom:80px}.workflow-grid{grid-template-columns:1fr}.workflow-grid article{min-height:275px;padding:23px}.workflow-grid h3{margin-top:65px;font-size:80px}.workflow-grid p{font-size:17px;max-width:250px}.footer-main{min-height:330px}.footer-email{font-size:clamp(65px,15vw,110px)}.footer-bottom{flex-wrap:wrap;align-items:start;line-height:1.5}.footer-bottom>span{width:100%;color:#ffd8d7}.project-dialog{width:100vw;max-height:100dvh;height:100dvh;border:0;border-radius:0;padding:17px;margin:0}.dialog-head h2{font-size:42px}.media-stage{aspect-ratio:4/5}.media-stage video{object-fit:contain}.media-stage[data-orientation="landscape"]{aspect-ratio:16/9}.media-controls{gap:6px}.media-controls #compareButton{font-size:8px;padding:8px}.project-info{flex-direction:column;gap:6px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee-track{animation:none}.work-card .work-image,.hero-visual video{transition:none}}

@media(hover:none){.logo-item{opacity:.78}}

/* Equal project cards and the media library inside each project. */
.work-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 14px}
.work-card:first-child{grid-column:auto}
.work-card button,.work-card:first-child button{aspect-ratio:1}
.work-meta{display:block;padding-top:13px}
.work-meta h3{font-size:clamp(25px,2.8vw,38px);overflow-wrap:anywhere}
.work-meta h3 span{font-size:10px;margin-right:8px}
.work-meta p{font-size:10px;text-align:left;white-space:normal;margin-top:8px}
.dialog-description{max-width:670px;color:#c9c6c3;font-size:clamp(15px,1.6vw,19px);line-height:1.3;letter-spacing:-.025em;margin:13px 0 2px}
.media-stage #stillImage{display:none;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#050505}
.media-stage.show-image #afterVideo{display:none}
.media-stage.show-image #stillImage{display:block}
.media-stage[data-orientation="portrait"],.media-stage[data-orientation="square"]{aspect-ratio:4/3;max-height:62vh}
.media-controls[hidden]{display:none}
.asset-heading{display:flex;justify-content:space-between;gap:20px;margin-top:26px;padding:17px 0 13px;border-top:1px solid #343231;font-size:10px;font-weight:700;letter-spacing:.07em;color:var(--muted)}
.media-gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px 10px}
.asset-tile{display:block;min-width:0;padding:0;border:0;background:transparent;color:#f4f2ef;text-align:left}
.asset-preview{display:block;position:relative;aspect-ratio:4/3;border:2px solid transparent;border-radius:4px;overflow:hidden;background:#242323;transition:border-color .2s,opacity .2s;opacity:.7}
.asset-tile:hover .asset-preview,.asset-tile[aria-pressed="true"] .asset-preview{opacity:1}
.asset-tile[aria-pressed="true"] .asset-preview{border-color:var(--red)}
.asset-preview img{display:block;width:100%;height:100%;object-fit:cover}
.asset-type{position:absolute;bottom:5px;left:5px;background:#090909cb;border-radius:2px;padding:5px 6px;font-size:8px;font-weight:700;letter-spacing:.04em}
.asset-label{display:block;margin-top:7px;color:#bcb9b6;font-size:10px;font-weight:700;line-height:1.25}
.asset-tile:hover .asset-label,.asset-tile[aria-pressed="true"] .asset-label{color:#fff}
@media(max-width:900px){.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-card button,.work-card:first-child button{aspect-ratio:1}}
@media(max-width:600px){.work-grid{grid-template-columns:1fr;gap:32px}.work-card button,.work-card:first-child button,.work-card[data-id="san-pellegrino"] button,.work-card[data-id="house-of-errors"] button{aspect-ratio:1.13}.work-meta h3{font-size:31px}.project-dialog{padding-bottom:32px}.dialog-description{font-size:15px;margin-bottom:4px}.media-stage[data-orientation="portrait"],.media-stage[data-orientation="square"]{aspect-ratio:4/5;max-height:none}.media-stage[data-orientation="landscape"]{aspect-ratio:16/9}.media-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 8px}.asset-preview{aspect-ratio:1}.asset-type{font-size:7px;padding:4px}.asset-label{font-size:9px}}
.media-stage[data-orientation="portrait"],.media-stage[data-orientation="square"]{margin-inline:auto}
.jump-assets{border:0;background:none;color:var(--red);font-size:10px;font-weight:700;letter-spacing:.06em;padding:0;margin-top:15px}
.jump-assets:hover{text-decoration:underline;text-underline-offset:3px}
.stage-caption{position:absolute;z-index:4;left:13px;bottom:12px;background:#090909ba;padding:7px 10px;color:#fff;font-size:10px;font-weight:700;letter-spacing:.03em;pointer-events:none}
.stage-nav{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:42px;height:42px;border:1px solid #fff8;border-radius:50%;background:#090909a8;color:#fff;font-size:18px;display:grid;place-items:center;opacity:.5;transition:opacity .2s,background .2s}
.media-stage:hover .stage-nav,.stage-nav:focus-visible{opacity:1}
.stage-nav:hover{background:var(--red);border-color:var(--red)}
.stage-prev{left:14px}.stage-next{right:14px}
@media(max-width:600px){.stage-nav{width:34px;height:34px;font-size:16px;opacity:.85}.stage-prev{left:7px}.stage-next{right:7px}.stage-caption{font-size:9px;bottom:8px;left:8px}}
.media-controls #beforeToggle{border:1px solid var(--red);border-radius:100px;color:var(--red);padding:9px 13px;font-size:10px;font-weight:700;white-space:nowrap}
.media-controls #beforeToggle[hidden]{display:none}
.media-controls #beforeToggle[aria-pressed="true"]{background:var(--red);color:#fff}
@media(max-width:600px){.media-controls #beforeToggle{font-size:8px;padding:8px 9px}}
.project-dialog.single-asset .jump-assets,.project-dialog.single-asset .stage-nav,.project-dialog.single-asset .asset-heading,.project-dialog.single-asset .media-gallery{display:none}
.logo-item.hidrofugal{position:relative;overflow:hidden}
.logo-item.hidrofugal img{position:absolute;top:-25px;left:50%;width:160px;height:auto;max-width:none;max-height:none;transform:translateX(-50%);filter:grayscale(1) contrast(5);mix-blend-mode:screen}
@media(max-width:600px){.logo-item.hidrofugal img{top:-17px;width:115px;max-height:none}}
.logo-item.heineken{position:relative;overflow:hidden}
.logo-item.heineken img{position:absolute;top:-42px;left:50%;width:150px;height:auto;max-width:none;max-height:none;transform:translateX(-50%)}
.media-stage[data-orientation="landscape-still"]{aspect-ratio:5/4;max-height:75vh;margin-inline:auto}
@media(max-width:600px){.logo-item.heineken img{top:-32px;width:110px;max-height:none}.media-stage[data-orientation="landscape-still"]{aspect-ratio:5/4;max-height:none}}
@media(max-width:600px){.project-dialog{max-width:none}}
