/* Art direction: one working studio. White editorial pages / dark exhibition rooms.
   Poppins and the existing VVB tokens remain unchanged. Motion is composited only. */
:root{--continuity-space:clamp(80px,9vw,144px);--quiet:#59616e}
.case-context{padding:var(--continuity-space) var(--edge) 40px;grid-template-columns:1.05fr 1fr;gap:64px 9%;align-items:center;overflow:clip;border-bottom:0}
.case-context .case-story{display:block}
.case-context .chapter-label{color:var(--blue);margin-bottom:32px}
.case-context h2{font-size:clamp(58px,6.7vw,100px);font-weight:500;line-height:1.04;letter-spacing:-.06em}
.case-context h2>span{display:block}.case-context h2>span:last-child{color:var(--blue)}
.case-context p{font-size:16px;line-height:1.8;margin-bottom:16px}.case-context .case-deliverables{display:grid;gap:4px;border-left:2px solid var(--blue);padding:0 0 0 20px;margin-top:40px;font-size:11px}
.case-prints{position:relative;height:330px;perspective:1200px;margin:0 0 40px}
.case-prints figure{position:absolute;margin:0;width:48%;height:100%;padding:7px;background:#fff;box-shadow:0 22px 48px #0B0E1312,0 3px 8px #0B0E1310;transform:translateY(12px) rotate(-7deg);transform-origin:50% 85%}
.case-prints figure:last-child{left:45%;transform:translateY(-16px) rotate(8deg)}
.case-prints img{width:100%;height:100%;display:block;object-fit:cover}.case-prints figure:after{content:'';position:absolute;inset:7px;pointer-events:none;background:linear-gradient(0deg,#0b0e1318,transparent 40%);mix-blend-mode:multiply}
.case-credits{grid-column:1/-1;border-top:1px solid #EAEAEA;padding-top:24px;display:flex;justify-content:space-between;align-items:baseline;gap:48px;margin-top:24px;color:var(--quiet);font-size:11px}
.case-credits p{font-size:11px;line-height:1.7;max-width:480px;margin:0}
.work-index{padding-top:28px;padding-bottom:28px}.work-index a span{font-size:16px}.work-index a{transition:transform .2s var(--spring),opacity .2s var(--spring)}.work-index a:hover{transform:translateY(-2px)}.work-index a:active{transform:translateY(1px)}
/* Physical prints share a single camera and light setup. Native rail is the fallback. */
.moments{background:var(--ink);color:white}.moments-pin{padding-top:80px;padding-bottom:40px}
.moments.is-pinned{height:180svh}.moments.is-pinned .moments-pin{padding-top:72px;padding-bottom:32px}
.moments-heading{grid-template-columns:1.5fr 1fr;gap:64px;align-items:end}.moments h2{font-size:clamp(36px,3.6vw,54px);line-height:1.12;letter-spacing:-.045em}
.moments-heading p{color:#b3bac5;max-width:350px;font-size:15px}.moment-stage{background:radial-gradient(ellipse at 50% 65%,#1E2530,transparent 68%);margin-top:20px}
.moments.is-pinned .moment-stage{min-height:360px;max-height:580px}#moment-space{pointer-events:auto}
.moment-bottom{background:transparent;border-top:1px solid #1E2530;padding-top:20px;padding-bottom:20px}.moment-caption,.moment-index small{color:#b3bac5}.moment-index{bottom:32px}.moment-index>span{font-size:44px}
.moment-controls button{color:white;background:var(--panel);border-color:#39414d}.moment-enlarge{color:white}.moment-film{border-color:#39414d;background:var(--panel)}.moment-timeline{background:#1E2530}
.motion-switch{background:#10151Dee;color:white;border-color:#39414d}.moment-timeline b{display:none}.moment-photo figcaption{color:#b3bac5}.moment-photos{scrollbar-color:#39414d #10151D}
.moment-photos img{border:6px solid #fff;box-shadow:0 16px 32px #0003;border-radius:0}.moment-photo{cursor:zoom-in}.moment-photo:focus-visible{outline:2px solid var(--blue);outline-offset:6px}.moment-photo:hover img{transform:translateY(-3px)}.moment-photo:active img{transform:scale(.99)}.moment-photo img{transition:transform .2s var(--spring)}
/* Four portrait productions form a shallow curved wall. All remain individually usable. */
.automotive,.selected-work{padding-top:var(--continuity-space);padding-bottom:var(--continuity-space)}
.editorial-heading{gap:80px;margin-bottom:64px}.editorial-heading h2{font-size:clamp(38px,4.6vw,68px);line-height:1.08}.editorial-heading p{color:var(--quiet);font-size:15px}
.auto-grid{gap:28px;perspective:1500px;padding:36px 12px 12px;transform-style:preserve-3d}
.auto-card:nth-child(even){margin-top:48px}.auto-film{box-shadow:0 28px 40px #0B0E1312,0 4px 10px #0B0E130A;border:0}
.auto-title strong{font-size:clamp(32px,3.2vw,48px)}.auto-caption p{font-size:12px;color:var(--quiet)}.auto-caption{padding-top:16px;border-top:1px solid #EAEAEA;margin-top:24px}
.collection-note{margin-top:32px!important;font-size:13px!important;color:var(--quiet)}
.selected-grid{grid-template-columns:1.5fr 1fr 1fr;gap:32px;align-items:start;perspective:1600px}
.selected-grid article{min-width:0;transform-style:preserve-3d}.selected-grid article:first-child{padding-top:0}.selected-grid article:nth-child(2){padding-top:72px}.selected-grid article:nth-child(3){padding-top:144px}
.selected-film{aspect-ratio:9/14;box-shadow:0 24px 44px #0B0E130B,0 4px 8px #0B0E1308}.selected-grid article:first-child .selected-film{aspect-ratio:4/3}.selected-caption h3{font-size:24px}.selected-film[data-film=padel] img{object-position:center}.selected-film[data-film=sushi] img{object-position:center}
/* Three distinct ad formats. No image or caption hides behind another. */
.ad-world{padding:var(--continuity-space) var(--edge)}.ad-heading{grid-template-columns:1fr 1fr;gap:80px;margin-bottom:72px}.ad-world h2{font-size:clamp(44px,5.5vw,80px);line-height:1.04}.ad-heading p{max-width:460px}
.ad-layout{grid-template-columns:minmax(0,1.9fr) minmax(270px,1fr);gap:64px}.ad-gallery{min-height:0;display:grid;grid-template-columns:1fr 1fr .85fr;gap:20px;align-items:start;perspective:1500px;padding:24px 0 40px}
.ad-gallery .ad-item{position:relative;left:auto;right:auto;top:auto;width:auto;--turn:0deg;transform:translate3d(0,var(--drift,0px),0) rotateY(var(--turn))}
.ad-gallery .ad-item:nth-child(1){--turn:9deg;margin-top:52px}.ad-gallery .ad-item:nth-child(2){--turn:-5deg}.ad-gallery .ad-item:nth-child(3){--turn:-12deg;margin-top:108px}
.ad-film,.ad-still{box-shadow:0 24px 48px #0003,0 3px 10px #0003}.ad-item figcaption{padding:20px 0 0;font-size:11px;line-height:1.7}.ad-item figcaption strong{font-size:13px}.ad-explanation h3{font-size:25px}.ad-explanation>p{font-size:14px}.ad-explanation .small-note{font-size:11px;color:#8B93A1}.ad-steps{margin:24px 0}.ad-steps li{padding:16px 0}.ad-steps strong{font-size:15px}.ad-steps li{font-size:13px}
/* Real site captures in a paired desktop/mobile composition. */
.web-offer{padding:var(--continuity-space) var(--edge);gap:96px;grid-template-columns:1fr 1.35fr;min-height:800px}.web-offer h2{font-size:clamp(42px,4.7vw,68px);line-height:1.08}.web-offer .eyebrow{margin-bottom:24px;color:var(--blue)}.web-offer p{font-size:16px;color:var(--quiet)}
.web-window-wrap{padding:64px 28px 32px 0;position:relative;isolation:isolate;perspective:1400px}
.web-window{overflow:visible;transform:rotateY(var(--web-turn,-9deg)) rotateX(4deg);border:5px solid #1E2530;border-radius:10px;box-shadow:0 32px 48px #0B0E1314,0 4px 12px #0B0E1310}
.web-chrome{border-radius:5px 5px 0 0;padding:8px 12px;font-size:8px}.web-window-view{aspect-ratio:1440/900;border-radius:0 0 4px 4px}.web-window-view img{object-fit:contain}.web-window-view:after{display:none}
.web-phone{position:absolute;right:-10px;top:160px;width:23%;padding:5px;border:1px solid #59616e;border-radius:20px;background:var(--ink);box-shadow:0 22px 35px #0b0e1320,0 3px 9px #0b0e1320;transform:translateZ(60px) rotateY(-8deg);overflow:hidden}
.web-phone>img{display:block;width:100%;height:auto;border-radius:15px}.web-phone-speaker{position:absolute;top:10px;left:40%;width:20%;height:4px;border-radius:3px;background:var(--ink);z-index:1}
.web-window-wrap>p{font-size:11px;line-height:1.7;margin-top:56px;margin-left:16px;max-width:350px}
.web-orbit{position:absolute;left:8%;right:-15%;top:0;bottom:15%;z-index:-1;border:1px solid #EAEAEA;border-radius:50%;transform:rotateX(45deg) rotateZ(-24deg)}.web-orbit:after{content:'';position:absolute;inset:13%;border:1px solid #EAEAEA;border-radius:50%}
/* Fewer words, with the selected work beside the offer. */
.services{padding-top:var(--continuity-space);padding-bottom:var(--continuity-space);gap:12%;border-top:1px solid #EAEAEA}.services-intro .eyebrow{font-size:9px;letter-spacing:2px;margin-bottom:24px}
.services h2{font-size:clamp(38px,4.1vw,60px);line-height:1.07}.services-intro p{font-size:15px;color:var(--quiet)}.service-reel{height:310px;margin:40px 32px 32px 0}
.service-list article,.service-list article:first-child,.service-list article:last-child{min-height:260px;padding:40px 0}.service-list h3{font-size:30px;max-width:420px;line-height:1.15;margin-bottom:20px}.service-list p{font-size:15px;color:var(--quiet)}
.reel-frame:nth-child(4) img{object-fit:contain;object-position:center}.reel-index{font-size:11px}.motion-backdrop i:last-child{display:none}
.care{padding:0;background:var(--ink);color:white}.care-pin{padding:96px var(--edge) 80px}.care h2{font-size:clamp(38px,4.5vw,66px);line-height:1.08}.care-heading{grid-template-columns:1.5fr 1fr}.care-heading p{max-width:360px;color:#b3bac5;font-size:15px}
.care.is-pinned{height:170svh}.is-pinned .care-pin{padding-top:64px;padding-bottom:48px}
.process-stage{height:360px;margin:48px 0 32px}.process-idea{height:260px;width:24%;left:5%;padding:28px;transform:rotate(-6deg)}.process-idea strong{font-size:28px}
.idea-lines{display:flex;flex-wrap:wrap;gap:6px;margin:24px 0}.idea-lines>span{font-size:9px;border-bottom:1px solid #EAEAEA;padding:4px 7px 4px 0;color:var(--quiet)}
.process-film{left:35%;width:38%;height:240px;top:24px}.process-film>img{object-position:center}.process-post{left:80%;width:17%;height:300px}.process-post>img{height:194px}
.care-steps article{position:relative;border-color:#39414d}.care-steps h3{font-size:25px}.care-steps p{font-size:14px}.process-track{left:5%;right:3%}
/* Vincent stays the focus. His own photograph, without ornamental floating labels. */
.studio{padding-top:var(--continuity-space);padding-bottom:var(--continuity-space);gap:40px 10%;grid-template-columns:1fr 1fr;min-height:900px}.maker-heading h2{font-size:clamp(48px,5.1vw,76px);line-height:1.04}.maker-copy p{font-size:16px;max-width:440px;color:var(--quiet)}
.maker-visual{padding:0 0 48px;max-width:560px;justify-self:stretch}.maker-portrait{aspect-ratio:4/5.25;border-radius:0;box-shadow:none}.maker-portrait>img{object-position:50% 44%}.maker-portrait figcaption{left:32px;bottom:32px;gap:8px}.maker-portrait figcaption span:first-child{font-size:17px;letter-spacing:-.02em}.maker-portrait figcaption span:last-child{font-size:11px}
.maker-outline{inset:auto 0 0;border:0;border-radius:0;height:24px;transform:none;font-size:10px;letter-spacing:3px;color:var(--quiet);z-index:1}.maker-note{display:none}.maker-word{font-size:clamp(180px,22vw,330px);bottom:20px;left:0;opacity:.55}
.closing{min-height:850px;padding-top:112px;padding-bottom:112px}.closing h2{font-size:clamp(42px,5vw,72px);line-height:1.07;letter-spacing:-.05em}.closing-copy{width:48%}.closing-copy p{max-width:350px;font-size:16px}.closing-copy .start{margin-top:8px}
/* Consistent keyboard / touch feedback for the new compositions. */
.case-context a:focus-visible,.work-index a:focus-visible{outline:2px solid var(--blue);outline-offset:5px}.case-context a:active{transform:translateY(1px)}
@media(max-width:1100px){.case-context{gap:48px 6%}.case-prints{height:280px}.ad-layout{grid-template-columns:1fr;gap:32px}.ad-gallery{max-width:800px;width:100%;margin:auto;gap:32px}.ad-explanation{display:grid;grid-template-columns:1fr 1.1fr;gap:0 48px}.ad-explanation h3{grid-column:1}.ad-steps{grid-row:1/5;grid-column:2;margin:0}.ad-explanation .start{justify-self:start}.web-offer{gap:48px}.services{gap:8%}.process-idea strong{font-size:23px}.case-context h2{font-size:70px}.selected-grid{gap:24px}.selected-caption h3{font-size:21px}}
@media(max-width:900px){.moments-heading{grid-template-columns:1fr;gap:24px}.moments-pin{padding:64px 24px 40px}.moment-index{color:var(--ink);background:#ffffffed;bottom:auto;top:20px}.moment-index small{color:#59616e}.moment-index>span{font-size:32px}.moment-stage{margin:32px -24px 0}.moment-bottom{padding-top:24px}.moment-photo img{border-width:5px}.auto-grid{gap:20px}.auto-card:nth-child(even){margin-top:32px}}
@media(max-width:700px){
 :root{--continuity-space:80px}
 .case-context{padding:72px 24px 32px;grid-template-columns:1fr;gap:40px}.case-context h2{font-size:clamp(48px,14.5vw,66px);letter-spacing:-.055em}.case-context .case-story{display:block}
.case-context .chapter-label{font-size:9px;margin-bottom:24px}.case-context .case-deliverables{margin-top:24px;padding-left:16px;font-size:10px}
 .case-prints{height:270px;margin:8px 8px 32px;max-width:390px}.case-prints figure{width:49%}.case-prints figure:last-child{left:49%}.case-context p{font-size:15px}.case-credits{display:grid;gap:12px;margin:0;padding-top:24px}.case-credits>span{font-size:10px}.case-credits p{font-size:11px}
 .work-index{padding:28px 24px;gap:8px 24px;font-size:12px}.work-index a span{font-size:16px}
 .moments h2{font-size:36px;line-height:1.12}.moments-heading p{font-size:15px}.moments .eyebrow{font-size:9px}.moment-photos{padding-top:8px;padding-bottom:24px}.moment-controls{gap:8px}.moment-caption{font-size:11px}.moment-film{margin-top:4px}
 .automotive,.selected-work{padding:80px 24px}.editorial-heading{gap:24px;margin-bottom:40px}.editorial-heading h2{font-size:38px;line-height:1.1}.editorial-heading p{font-size:15px}
 .auto-grid{gap:24px 16px;padding:0;align-items:start}.auto-card:nth-child(even){margin-top:28px}.auto-title strong{font-size:29px}.auto-title{left:12px;bottom:16px;right:8px}.auto-caption{padding-top:12px;margin-top:16px}.auto-caption p{font-size:11px}.collection-note{font-size:12px!important;line-height:1.75}
 .selected-grid{grid-template-columns:1fr 1fr;gap:32px 16px}.selected-grid article:first-child{grid-column:1/-1;padding-top:0}.selected-grid article:nth-child(2){padding-top:0}.selected-grid article:nth-child(3){padding-top:32px}.selected-film{aspect-ratio:9/15}.selected-grid article:first-child .selected-film{aspect-ratio:4/3}.selected-caption h3{font-size:21px}.selected-caption>span{font-size:10px;line-height:1.7;display:block}.selected-film>span:last-child{left:14px;bottom:16px;font-size:10px}.selected-play{width:34px;height:34px;top:12px;right:12px;font-size:18px}
 .ad-world{padding:80px 24px}.ad-heading{grid-template-columns:1fr;gap:24px;margin-bottom:40px}.ad-world h2{font-size:52px;margin-bottom:0}.ad-heading p{font-size:15px}.ad-layout{gap:24px}
 .ad-gallery{display:flex;gap:16px;padding:16px 24px 32px;width:calc(100% + 48px);margin-left:-24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#39414d #10151D;perspective:none}.ad-gallery .ad-item{flex:0 0 72%;scroll-snap-align:center;transform:none}.ad-gallery .ad-item:nth-child(n){margin-top:0}.ad-item figcaption{font-size:11px;padding-top:16px;line-height:1.6}.ad-item figcaption strong{font-size:13px;font-weight:500;line-height:1.6}.ad-film .film-play{width:32px;height:32px;top:6px;right:6px}.ad-item:first-child .film-play{left:6px}.ad-film .film-play svg{width:11px}
 .ad-explanation{display:block;margin-top:16px}.ad-explanation h3{font-size:26px;margin-bottom:24px}.ad-steps{margin:24px 0}.ad-explanation>p{font-size:15px}.ad-explanation .small-note{font-size:12px}
 .web-offer{grid-template-columns:1fr;padding:80px 24px;gap:24px;min-height:0}.web-offer h2{font-size:45px}.web-offer p{font-size:15px}.web-offer .eyebrow{font-size:9px;letter-spacing:2px}
 .web-window-wrap{padding:28px 16px 24px 0}.web-window{border-width:3px;border-radius:7px}.web-window-wrap>p{margin:48px 0 0;font-size:10px;max-width:260px}.web-phone{right:-3px;top:98px;width:25%;padding:3px;border-radius:12px}.web-phone img{border-radius:8px}.web-phone-speaker{height:3px;top:6px}.web-chrome{padding:6px 8px;font-size:6px}.web-orbit{right:-6%;top:10%}
 .services{padding:80px 24px;gap:24px}.services h2{font-size:43px}.services-intro .eyebrow{font-size:8px;letter-spacing:1.7px}.service-reel{height:245px;margin:32px 24px 24px 0}.service-list article,.service-list article:first-child,.service-list article:last-child{padding:32px 0;min-height:0}.service-list h3{font-size:28px}.service-list p{font-size:15px}.service-list .service-detail{line-height:1.8}
 .care{padding:0}.care-pin{padding:80px 24px 56px}.care-heading{grid-template-columns:1fr;gap:24px}.care h2{font-size:38px}.care-heading p{font-size:15px}.process-stage{height:340px;margin:40px -8px 24px}.process-idea{width:47%;height:206px;padding:16px;left:2%;top:0}.process-idea strong{font-size:19px;line-height:1.15}.idea-lines{gap:2px;margin:16px 0}.idea-lines>span{font-size:8px}.process-idea small{font-size:8px}.process-film{left:4%;width:72%;height:154px;top:158px;z-index:4}.process-post{left:59%;top:30px;width:37%;height:234px;z-index:3}.process-post>img{height:155px}.process-post .post-top{font-size:7px}.process-track{left:3%;right:3%;bottom:0}
 .care-steps{margin-top:24px}.care-steps h3{font-size:26px}.care-steps p{font-size:15px}.care-steps article{padding:24px 0}
 .studio{padding:80px 24px;grid-template-columns:1fr;gap:32px;min-height:0}.maker-heading h2{font-size:52px}.maker-visual{padding:0 0 40px;max-width:420px;justify-self:center}.maker-portrait{aspect-ratio:4/5.2}.maker-portrait figcaption{left:24px;bottom:24px}.maker-portrait figcaption span:first-child{font-size:16px}.maker-portrait figcaption span:last-child{font-size:10px}.maker-outline{font-size:9px;letter-spacing:2px}.maker-copy p{font-size:15px}.maker-word{font-size:150px;bottom:0}
 .closing{min-height:850px;padding:64px 24px}.closing h2{font-size:clamp(38px,10.5vw,44px)}.closing-copy{width:100%}.closing-copy p{font-size:15px;max-width:300px}.closing-copy .eyebrow{font-size:9px;letter-spacing:2px}
}
@media(max-width:360px){.case-context h2{font-size:48px}.case-prints{height:235px}.moments h2{font-size:32px}.editorial-heading h2{font-size:34px}.services h2{font-size:38px}.maker-heading h2{font-size:46px}.closing h2{font-size:41px}.ad-gallery{gap:8px}.care h2{font-size:34px}}
@media(prefers-reduced-motion:reduce){
 .case-prints figure,.selected-grid article,.web-phone,.web-orbit,.maker-outline{transform:none!important}.case-prints figure:last-child{left:49%}.moment-photo:hover img,.moment-photo:active img,.work-index a:hover,.work-index a:active{transform:none}.moment-photo img{transition:none}
 .moments.is-pinned{height:auto}.moments.is-pinned .moments-pin{position:relative;height:auto;min-height:0}.care.is-pinned{height:auto}
}
