:root{
  --ink:#0a0a0a;--paper:#f2f0ea;--muted:#6e6c67;--line:rgba(10,10,10,.16);--darkline:rgba(255,255,255,.16);
  --pad:clamp(22px,4vw,72px);--header:64px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--paper);color:var(--ink);font-weight:300}img,video{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}button{font:inherit}.site-header{position:fixed;z-index:50;top:0;left:0;right:0;height:var(--header);display:flex;align-items:center;justify-content:space-between;padding:0 var(--pad);mix-blend-mode:difference;color:white;pointer-events:none}.site-header a{pointer-events:auto}.brand{font-size:12px;font-weight:600;letter-spacing:.08em}.site-header nav{display:flex;gap:20px;font-size:12px}.light-section{background:var(--paper);color:var(--ink)}.dark-section,.inverse{background:var(--ink);color:var(--paper)}
.hero{min-height:100svh;padding:calc(var(--header) + 7vh) var(--pad) 4vh;display:flex;flex-direction:column;justify-content:space-between}.hero-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.6fr);gap:8vw;align-items:start}.hero h1{font-size:clamp(54px,8.5vw,154px);line-height:.86;letter-spacing:-.065em;font-weight:400;margin:0}.hero-copy{max-width:590px;padding-top:1.5vw;font-size:clamp(15px,1.18vw,20px);line-height:1.55}.hero-copy p{margin:0 0 1.2em}.hero-copy strong{font-weight:500}.caps{font-size:12px!important;text-transform:uppercase;letter-spacing:.08em;font-weight:500}.hero-foot{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px;font-size:12px;text-transform:uppercase;letter-spacing:.05em}
.manifesto{min-height:100svh;padding:var(--pad);display:flex;flex-direction:column;justify-content:center}.manifesto p{font-size:12px;letter-spacing:.1em}.manifesto h2{font-size:clamp(68px,11vw,190px);font-weight:300;line-height:.83;letter-spacing:-.065em;margin:5vh 0 0}.manifesto h2 em{font-style:normal;color:#8d8b86}
.chapter-intro{padding:14vh var(--pad) 10vh;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 2fr 1fr;gap:4vw;align-items:start}.chapter-intro>span,.spec-intro>span,.more-intro>span,.beyond-head>span,.about-head>span,.contact-section>span{font-size:11px;letter-spacing:.08em}.chapter-intro h2,.spec-intro h2,.more-intro h2,.about-head h2{font-size:clamp(48px,7vw,118px);line-height:.9;letter-spacing:-.05em;font-weight:300;margin:0}.chapter-intro p,.spec-intro p,.beyond-head p{font-size:15px;line-height:1.55;margin:0;max-width:420px}
.feature-project{display:grid;grid-template-columns:minmax(230px,22vw) 1fr;gap:4vw;padding:12vh var(--pad);border-bottom:1px solid var(--line);min-height:100svh}.feature-project.inverse{border-color:var(--darkline)}.project-meta{position:sticky;top:90px;align-self:start}.project-meta>span{font-size:11px;letter-spacing:.08em}.project-meta h3{font-size:clamp(34px,3.4vw,58px);font-weight:400;letter-spacing:-.04em;margin:22px 0 8px}.project-meta p{font-size:15px;margin:0 0 18px}.project-meta small{display:block;max-width:240px;line-height:1.5;color:var(--muted)}.inverse .project-meta small{color:#aaa}.project-stage{min-width:0}.media-frame{position:relative;overflow:hidden;background:#111;aspect-ratio:16/10}.wide-media,.cinema{aspect-ratio:16/9}.media-frame video{cursor:pointer}.sound-toggle{position:absolute;right:14px;bottom:14px;border:0;border-radius:999px;background:rgba(0,0,0,.72);color:#fff;padding:9px 13px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}.project-copy{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);gap:3vw;padding:30px 0 9vh;align-items:start;border-bottom:1px solid var(--line)}.inverse .project-copy{border-color:var(--darkline)}.project-copy>p:first-child{font-size:clamp(18px,1.5vw,25px);line-height:1.5;margin:0}.project-copy .process{font-size:12px;letter-spacing:.08em;font-weight:500;margin:5px 0 0}.project-copy small{grid-column:1/-1;color:var(--muted);margin-top:-10px}.inverse .project-copy small{color:#aaa}.dual-media{display:grid;grid-template-columns:1.4fr .6fr;gap:18px;margin-top:18px}.dual-media .media-frame{aspect-ratio:4/3}.type-card{background:#111;color:#fff;display:flex;flex-direction:column;justify-content:center;padding:clamp(24px,4vw,60px)}.type-card span{font-size:11px;letter-spacing:.1em}.type-card strong{font-size:clamp(36px,5vw,82px);line-height:.86;letter-spacing:-.055em;font-weight:400;margin:8px 0 24px}.image-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.image-pair img{aspect-ratio:4/3}.mini-gallery{display:grid;gap:12px;margin-top:18px}.mini-gallery.four{grid-template-columns:repeat(4,1fr)}.mini-gallery.three{grid-template-columns:repeat(3,1fr)}.mini-gallery img{aspect-ratio:4/3}.google-grid{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto auto;gap:12px;background:white;padding:12px}.google-grid img{object-fit:contain;background:white;min-height:300px}.google-grid img:nth-child(4){grid-column:1/-1;aspect-ratio:16/7}.result-copy{padding-top:38px}.campari-pair img{aspect-ratio:16/11}.adidas-extra .media-frame{background:#111}
.spec-section{padding:14vh var(--pad)}.spec-intro{display:grid;grid-template-columns:1fr 2fr 1fr;gap:4vw;align-items:start;margin-bottom:12vh}.spec-intro p{color:#aaa}.spec-list{display:flex;flex-direction:column;gap:20vh}.spec-card{display:grid;grid-template-columns:minmax(220px,25vw) 1fr;gap:4vw;align-items:start}.spec-title{position:sticky;top:90px}.spec-title>span{font-size:11px}.spec-title h3{font-size:clamp(48px,5.5vw,95px);line-height:.86;letter-spacing:-.05em;font-weight:300;margin:24px 0 18px}.spec-title h3 em{font-size:.45em;font-style:normal;color:#888;letter-spacing:-.02em}.spec-title p{color:#aaa;font-size:13px}.spec-card .media-frame{aspect-ratio:16/9}.spec-stills{grid-column:2;display:grid;gap:10px}.spec-stills.three{grid-template-columns:repeat(3,1fr)}.spec-stills img{aspect-ratio:16/10}
.more-section{padding:14vh var(--pad)}.more-intro{display:grid;grid-template-columns:1fr 2fr;gap:4vw;align-items:start;margin-bottom:10vh}.more-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vh 22px}.more-card{border-top:1px solid var(--line);padding-top:12px}.more-card>div:last-child{display:grid;grid-template-columns:50px 1fr;gap:8px;padding-top:16px}.more-card h3{grid-column:2;font-size:clamp(28px,3vw,48px);line-height:.95;letter-spacing:-.04em;font-weight:400;margin:0}.more-card p{grid-column:2;font-size:12px;color:var(--muted);margin:8px 0 0}.more-card span{font-size:11px}.more-media{aspect-ratio:16/10;overflow:hidden}.heineken-stack{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:#0b0b0b;padding:10px;aspect-ratio:16/10}.heineken-stack img{object-fit:contain}.facebook-card{grid-column:1/-1}.facebook-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:10px}.facebook-grid img{aspect-ratio:4/3}.facebook-card>div:last-child{grid-template-columns:50px 1fr}
.beyond-section{padding:14vh var(--pad)}.beyond-head{display:grid;grid-template-columns:1fr 2fr 1fr;gap:4vw;align-items:start;margin-bottom:8vh}.beyond-head h2{font-size:clamp(90px,14vw,230px);font-weight:300;line-height:.8;letter-spacing:-.07em;margin:0}.beyond-head p{color:#aaa}.status{font-size:11px;letter-spacing:.08em;border-top:1px solid var(--darkline);padding-top:14px;margin-top:18px}
.about-section{padding:14vh var(--pad)}.about-head{display:grid;grid-template-columns:1fr 2fr;gap:4vw;margin-bottom:9vh}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:start}.about-grid figure{margin:0}.about-grid figure img{aspect-ratio:4/5;object-position:center top}.about-copy{font-size:clamp(17px,1.45vw,23px);line-height:1.55}.about-copy p{margin:0 0 1.2em}.about-copy strong{font-weight:500}.about-section blockquote{font-size:clamp(46px,6.8vw,110px);line-height:.94;letter-spacing:-.05em;font-weight:300;margin:16vh 0;padding-top:8vh;border-top:1px solid var(--line)}.about-section blockquote em{font-style:normal;color:#8a8882}.now-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4vw;border-top:1px solid var(--line);padding-top:20px}.now-row>span{font-size:11px;letter-spacing:.08em}.now-row h3{font-size:clamp(27px,3.3vw,52px);letter-spacing:-.04em;font-weight:400;margin:0}.now-row p{font-size:15px;line-height:1.55;margin:0}
.contact-section{min-height:100svh;padding:14vh var(--pad) 5vh;display:flex;flex-direction:column;justify-content:space-between}.contact-section h2{font-size:clamp(72px,12vw,210px);line-height:.78;letter-spacing:-.07em;font-weight:300;margin:8vh 0}.contact-section footer{display:flex;justify-content:space-between;border-top:1px solid var(--darkline);padding-top:14px;font-size:12px;color:#aaa}
.reveal-media,.reveal-block,.reveal-text{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}.is-visible{opacity:1;transform:none}
@media (max-width:900px){:root{--header:58px}.site-header nav a:nth-child(2){display:none}.hero{padding-top:90px}.hero-grid,.chapter-intro,.spec-intro,.beyond-head,.about-head{grid-template-columns:1fr}.hero h1{font-size:16vw}.hero-copy{padding-top:4vh}.manifesto h2{font-size:17vw}.chapter-intro,.spec-intro{padding-top:12vh}.feature-project,.spec-card{grid-template-columns:1fr;padding-top:9vh}.project-meta,.spec-title{position:static;margin-bottom:4vh}.project-copy{grid-template-columns:1fr}.dual-media,.image-pair{grid-template-columns:1fr}.mini-gallery.four{grid-template-columns:1fr 1fr}.google-grid{grid-template-columns:1fr 1fr}.google-grid img:nth-child(4){grid-column:1/-1}.spec-stills{grid-column:auto}.more-grid{grid-template-columns:1fr}.facebook-card{grid-column:auto}.facebook-grid{grid-template-columns:1fr 1fr}.about-grid,.now-row{grid-template-columns:1fr}.about-section blockquote{font-size:12vw}.contact-section h2{font-size:16vw}}
@media (max-width:560px){.site-header nav{gap:12px}.site-header nav a:nth-child(1){display:none}.hero-foot{font-size:10px}.mini-gallery.four,.mini-gallery.three,.spec-stills.three,.facebook-grid{grid-template-columns:1fr 1fr}.google-grid{grid-template-columns:1fr}.google-grid img:nth-child(4){grid-column:auto}.more-card h3{font-size:32px}.spec-title h3{font-size:15vw}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal-media,.reveal-block,.reveal-text{opacity:1;transform:none;transition:none}}

/* --- V4 refinements --- */
.project-copy.aligned-copy{
  grid-template-columns:minmax(0,1fr) minmax(230px,310px);
  gap:clamp(28px,4vw,64px);
  align-items:start;
}
.project-copy.aligned-copy>p:first-child{
  max-width:760px;
  font-size:clamp(17px,1.28vw,21px);
  line-height:1.58;
}
.project-side-note{align-self:start;border-left:1px solid var(--line);padding-left:22px}
.inverse .project-side-note{border-color:var(--darkline)}
.project-side-note .process{margin:0 0 18px;line-height:1.55;white-space:normal}
.project-side-note small{display:block;color:var(--muted);line-height:1.55}
.inverse .project-side-note small{color:#aaa}
.project-copy.aligned-copy>small{display:none}

.pinterest-concept{
  grid-template-columns:minmax(0,2fr) minmax(250px,.72fr);
  align-items:stretch;
  gap:16px;
}
.pinterest-concept .concept-video{aspect-ratio:16/9;min-height:0}
.pinterest-concept .type-card{min-height:100%;padding:clamp(28px,3.2vw,52px)}
.pinterest-concept .type-card strong{font-size:clamp(34px,4.2vw,68px)}

.google-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.google-grid img{min-height:0;aspect-ratio:7/10}
.google-grid img:nth-child(4){grid-column:1/-1;aspect-ratio:16/9;min-height:0;padding:18px}

.brandcast-copy .project-side-note{border-color:var(--darkline)}
.brandcast-copy .process{color:var(--paper)}

.adidas-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px;align-items:stretch}
.adidas-video-grid .media-frame{aspect-ratio:9/12;background:#111}
.adidas-video-grid .landscape-video{aspect-ratio:16/10}
.adidas-video-grid .media-frame video{object-fit:cover}
.adivilla-kv{margin:0;background:#080808;position:relative;overflow:hidden;aspect-ratio:16/10}
.adivilla-kv img{width:100%;height:100%;object-fit:contain}
.adivilla-kv figcaption,.media-caption{position:absolute;left:12px;bottom:10px;z-index:2;background:rgba(0,0,0,.7);color:#fff;font-size:10px;letter-spacing:.06em;text-transform:uppercase;padding:7px 9px}

.more-grid{align-items:start}
.more-card{display:flex;flex-direction:column;min-width:0}
.more-card .media-frame,.heineken-stack{aspect-ratio:16/10;width:100%}
.more-card>div:last-child{min-height:122px;align-content:start}
.video-card .media-frame video{object-fit:cover}

.event-carousel{position:relative;background:#111;overflow:hidden;aspect-ratio:16/7}
.carousel-viewport{width:100%;height:100%;overflow:hidden}
.carousel-track{display:flex;width:100%;height:100%;transition:transform .72s cubic-bezier(.2,.7,.2,1)}
.carousel-slide{flex:0 0 100%;margin:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#111}
.carousel-slide img{width:100%;height:100%;object-fit:contain;background:#111}
.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.5);background:rgba(0,0,0,.55);color:#fff;z-index:3;cursor:pointer;font-size:20px}
.carousel-btn.prev{left:16px}.carousel-btn.next{right:16px}
.carousel-counter{position:absolute;right:16px;bottom:14px;background:rgba(0,0,0,.65);color:#fff;font-size:11px;letter-spacing:.08em;padding:8px 10px;z-index:3}
.facebook-card{margin-top:2vh}

.media-frame video{cursor:zoom-in}
.sound-toggle,.video-open-label{
  position:absolute;right:14px;bottom:14px;border:0;border-radius:999px;background:rgba(0,0,0,.76);color:#fff;padding:10px 14px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;z-index:4
}
.video-open-label{pointer-events:auto}

.video-modal{position:fixed;inset:0;background:rgba(0,0,0,.96);z-index:999;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}
.video-modal.is-open{opacity:1;visibility:visible}
.video-modal-inner{width:94vw;height:88vh;display:flex;align-items:center;justify-content:center}
.video-modal-player,.video-modal-iframe{width:100%;height:100%;object-fit:contain;background:#000;border:0}
.video-modal-iframe[hidden],.video-modal-player[hidden]{display:none}
.video-modal-close{position:absolute;right:24px;top:20px;border:0;background:transparent;color:#fff;font-size:14px;letter-spacing:.04em;cursor:pointer;z-index:1000;padding:10px}
body.modal-open{overflow:hidden}

@media (max-width:900px){
  .project-copy.aligned-copy{grid-template-columns:1fr}
  .project-side-note{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:18px}
  .inverse .project-side-note{border-color:var(--darkline)}
  .pinterest-concept{grid-template-columns:1fr}
  .pinterest-concept .type-card{min-height:360px}
  .adidas-video-grid{grid-template-columns:1fr 1fr}
  .event-carousel{aspect-ratio:4/3}
}
@media (max-width:560px){
  .google-grid{grid-template-columns:1fr}
  .google-grid img:nth-child(4){grid-column:auto}
  .adidas-video-grid{grid-template-columns:1fr}
  .event-carousel{aspect-ratio:4/5}
  .carousel-btn{width:38px;height:38px}
  .video-modal-inner{width:96vw;height:82vh}
}


/* --- V5 refinements: awards, contact, image fullscreen --- */
.adivilla-kv.image-zoom-target{cursor:zoom-in;outline:none}
.adivilla-kv.image-zoom-target:focus-visible{outline:2px solid currentColor;outline-offset:4px}

.awards-row{display:grid;grid-template-columns:1fr 2fr;gap:4vw;border-top:1px solid var(--line);padding-top:20px;margin-top:14vh;margin-bottom:14vh}
.awards-row>span{font-size:11px;letter-spacing:.08em}
.awards-list{display:flex;flex-direction:column}
.award-item{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:baseline;padding:15px 0;border-bottom:1px solid var(--line)}
.award-item strong{font-size:clamp(18px,1.65vw,26px);line-height:1.2;font-weight:400;letter-spacing:-.02em}
.award-item em{font-size:12px;font-style:normal;color:var(--muted)}

.contact-links{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:0 0 7vh}
.contact-links a,.contact-placeholder{font-size:clamp(22px,3.2vw,54px);line-height:1.1;letter-spacing:-.035em;font-weight:300;padding:7px 0;border-bottom:1px solid var(--darkline)}
.contact-links a{transition:opacity .2s ease}.contact-links a:hover{opacity:.55}.contact-links a span{font-size:.55em;vertical-align:top;margin-left:.2em}
.contact-placeholder{color:#6f6f6f}

.image-modal{position:fixed;inset:0;background:rgba(0,0,0,.96);z-index:1001;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}
.image-modal.is-open{opacity:1;visibility:visible}
.image-modal-inner{width:94vw;height:88vh;display:flex;align-items:center;justify-content:center}
.image-modal-view{width:100%;height:100%;object-fit:contain;background:#000}
.image-modal-close{position:absolute;right:24px;top:20px;border:0;background:transparent;color:#fff;font-size:14px;letter-spacing:.04em;cursor:pointer;z-index:1002;padding:10px}

@media (max-width:900px){
  .awards-row{grid-template-columns:1fr;margin-top:10vh;margin-bottom:10vh}
  .award-item strong{font-size:20px}
  .contact-links a,.contact-placeholder{font-size:9vw}
}


/* --- V8 refinements: Pinterest balance + mobile polish --- */
.pinterest-concept{
  grid-template-columns:minmax(0,2.05fr) minmax(330px,.95fr);
  gap:18px;
}
.pinterest-concept .type-card{
  overflow:hidden;
  padding:clamp(26px,2.4vw,42px);
}
.pinterest-concept .type-card strong{
  font-size:clamp(34px,3.15vw,52px);
  line-height:.9;
  letter-spacing:-.052em;
  max-width:100%;
}
.about-copy strong{font-weight:600}

@media (max-width:1100px) and (min-width:901px){
  .pinterest-concept{grid-template-columns:minmax(0,1.75fr) minmax(300px,.9fr)}
  .pinterest-concept .type-card strong{font-size:clamp(32px,3.4vw,44px)}
}
@media (max-width:900px){
  .pinterest-concept{grid-template-columns:1fr}
  .pinterest-concept .type-card{min-height:300px;padding:34px}
  .pinterest-concept .type-card strong{font-size:clamp(42px,9vw,66px)}
  .project-stage{width:100%;overflow:hidden}
}
@media (max-width:560px){
  .pinterest-concept .type-card{min-height:260px;padding:28px}
  .pinterest-concept .type-card strong{font-size:clamp(38px,12vw,56px)}
  .contact-links a{overflow-wrap:anywhere}
}


/* --- V8.1 Pinterest final fit --- */
.pinterest-concept{
  grid-template-columns:minmax(0,2.2fr) minmax(340px,.8fr);
  align-items:stretch;
}
.pinterest-concept .type-card{
  min-width:0;
  width:100%;
  overflow:hidden;
  padding:clamp(24px,2vw,34px);
}
.pinterest-concept .type-card strong{
  display:block;
  width:100%;
  max-width:100%;
  font-size:clamp(32px,2.7vw,48px);
  line-height:.91;
  letter-spacing:-.048em;
}
@media (max-width:1100px) and (min-width:901px){
  .pinterest-concept{grid-template-columns:minmax(0,1.9fr) minmax(300px,.82fr)}
  .pinterest-concept .type-card strong{font-size:clamp(30px,3vw,42px)}
}
@media (max-width:900px){
  .pinterest-concept{grid-template-columns:1fr}
  .pinterest-concept .type-card{min-height:280px;padding:32px}
  .pinterest-concept .type-card strong{font-size:clamp(40px,9vw,62px)}
}
@media (max-width:560px){
  .pinterest-concept .type-card{min-height:240px;padding:26px}
  .pinterest-concept .type-card strong{font-size:clamp(36px,11vw,50px)}
}


/* --- V11 current work / COB chapter --- */
.current-work-section{padding:14vh var(--pad);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.current-work-head{display:grid;grid-template-columns:1fr 2fr 1fr;gap:4vw;align-items:start;margin-bottom:8vh}
.current-work-head>span{font-size:11px;letter-spacing:.08em}
.current-work-head h2{font-size:clamp(48px,7vw,118px);line-height:.9;letter-spacing:-.05em;font-weight:300;margin:0}
.current-work-head p{font-size:15px;line-height:1.55;margin:0;max-width:430px;color:var(--muted)}
.current-work-video{width:100%}
.vimeo-preview{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;background:#111}
.vimeo-preview iframe{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none}
.current-work-open{right:18px;bottom:18px}
@media (max-width:900px){
  .current-work-head{grid-template-columns:1fr;margin-bottom:6vh}
  .current-work-head h2{font-size:clamp(46px,10vw,80px)}
  .current-work-head p{max-width:680px}
}
@media (max-width:560px){
  .current-work-section{padding-top:11vh;padding-bottom:11vh}
  .current-work-head h2{font-size:13vw}
  .vimeo-preview{aspect-ratio:4/5}
}
