/* David Shots / cinematic presentation. Static HTML is the readable default. */
.studio-site,.information-site{--motion-ease:cubic-bezier(.22,1,.36,1)}
.motion-title-line{display:block;overflow:hidden;padding-bottom:.07em;margin-bottom:-.07em}
.motion-title-line>span{display:block}
.studio-site .studio-hero-content #hero-title{letter-spacing:-.035em;line-height:1.1;font-weight:600;text-wrap:balance}
.studio-site[data-motion-entrance=true] .motion-title-line>span{animation:ds-title-in 1.1s var(--motion-ease) both}
.studio-site[data-motion-entrance=true] .motion-title-line:nth-of-type(2)>span{animation-delay:140ms}
.studio-site[data-motion-entrance=true] .studio-hero-disciplines{animation:ds-soft-in .95s var(--motion-ease) 200ms both}
.studio-site[data-motion-entrance=true] .studio-hero-context{animation:ds-soft-in .95s var(--motion-ease) 280ms both}
.studio-site[data-motion-entrance=true] .studio-hero-actions{animation:ds-soft-in .95s var(--motion-ease) 360ms both}
@keyframes ds-title-in{from{transform:translate3d(0,110%,0);opacity:.1}to{transform:translate3d(0,0,0);opacity:1}}
@keyframes ds-soft-in{from{transform:translate3d(0,18px,0);opacity:0}to{transform:translate3d(0,0,0);opacity:1}}
[data-cinematic=on] .studio-motion-media{clip-path:inset(var(--hero-inset,0px) round var(--hero-radius,0px))}
[data-cinematic=on] .studio-motion-media>:is(img,video){transform:translate3d(0,var(--hero-drift,0px),0) scale(var(--hero-scale,1.045))}
[data-cinematic=on] .studio-motion-content{transform:translate3d(0,var(--copy-drift,0px),0)}
[data-cinematic=on] [data-motion-reveal]{opacity:0;transform:translate3d(0,32px,0);transition:opacity .85s var(--motion-ease),transform .95s var(--motion-ease);transition-delay:var(--reveal-delay,0ms)}
[data-cinematic=on] [data-motion-reveal][data-motion-shown=true],[data-cinematic=on] [data-motion-reveal]:focus-within{opacity:1;transform:none}
[data-motion-depth]{overflow:hidden}
[data-cinematic=on] [data-motion-depth]>img{transform:translate3d(0,var(--image-drift,0px),0) scale(var(--image-scale,1.065));transition:transform .18s linear}
.studio-site .portfolio-open{overflow:hidden;border-radius:16px;background:#181b1a}
.studio-site .portfolio-open img{transition:transform .85s var(--motion-ease)}
.studio-site .portfolio-item figcaption{padding-top:14px}
.studio-site .studio-service{border-radius:20px;isolation:isolate;transition:transform .5s var(--motion-ease),box-shadow .5s var(--motion-ease);transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}
.studio-site .studio-service:before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border:1px solid #ffffff20;border-radius:inherit;background:radial-gradient(400px circle at var(--glow-x,50%) var(--glow-y,50%),#ffffff12,transparent 60%);opacity:0;transition:opacity .4s}
@media(hover:hover) and (pointer:fine){
 [data-cinematic=on] .studio-service:hover{box-shadow:0 20px 60px #0005;transform:perspective(1000px) translate3d(0,-5px,0) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg))}
 [data-cinematic=on] .studio-service:hover:before{opacity:1}
 [data-cinematic=on] .portfolio-open:hover>img{transform:translate3d(0,var(--image-drift,0px),0) scale(1.10)}
 .studio-service-arrow,.information-related a>span,.studio-offer-select>span{transition:transform .35s var(--motion-ease)}
 .studio-service:hover .studio-service-arrow,.information-related a:hover>span,.studio-offer-select:hover>span{transform:translate3d(3px,-3px,0)}
}
/* A floating navigation surface appears as the hero gives way to the content. */
.studio-site .studio-header{border:0;background:transparent;backdrop-filter:none;padding:12px 24px;transition:padding .4s var(--motion-ease)}
.studio-site .studio-header-inner{border:1px solid transparent;border-radius:999px;padding:12px 24px;transition:background .4s,border-color .4s,box-shadow .4s;min-width:0}
.studio-site .studio-header[data-scrolled=true]{background:transparent;backdrop-filter:none}
.studio-site .studio-header[data-scrolled=true] .studio-header-inner,.studio-site .studio-header.menu-open .studio-header-inner{background:rgba(15,18,19,.88);border-color:#ffffff1f;backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%);box-shadow:0 8px 32px #0002}
.information-site .information-header{position:sticky;top:0;z-index:40;transition:background .4s,box-shadow .4s}
.information-site .information-header[data-scrolled=true]{background:rgba(15,18,19,.90);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 6px 24px #0002}
.information-site .information-hero-media{border-radius:22px}
.information-site .information-article>section{scroll-margin-top:128px}
.motion-reading-progress{display:none;position:fixed;top:0;left:0;width:100%;height:2px;z-index:100;pointer-events:none;background:linear-gradient(90deg,#919d98,#e7f0eb);transform:scaleX(var(--reading-progress,0));transform-origin:left center}
[data-cinematic=on] .motion-reading-progress{display:block}
.information-footer .studio-motion-control{color:#d6ddd9;font-size:12px;min-height:44px}
/* Three real photographs: a short pinned sequence on larger screens, native swiping on mobile. */
.motion-story{margin:30px 0 48px}
.motion-story-stage{position:relative;isolation:isolate}
.motion-story-scenes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.motion-story-scene{position:relative;margin:0;min-width:0;overflow:hidden;border-radius:20px;background:#121717;color:#fff}
.motion-story-scene:after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,#060c0bdb);pointer-events:none}
.motion-story-scene>img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.motion-story-scene figcaption{position:absolute;z-index:2;left:26px;bottom:30px;right:26px;display:grid;gap:14px;text-shadow:0 1px 12px #0004}
.motion-story-scene figcaption strong{font-family:"David Studio Display",Manrope,sans-serif;font-size:clamp(25px,3.4vw,50px);font-weight:500;line-height:1.08;letter-spacing:-.045em;max-width:11em;text-wrap:balance}
.motion-story-scene figcaption>span:last-child{font-size:13px;line-height:1.55;color:#eef2ef;max-width:340px}
.motion-story-kicker{font-size:10px;letter-spacing:.16em;font-weight:500}
.motion-story-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:20px}
.motion-story-footer>a{display:inline-flex;align-items:center;min-height:44px;font-size:12px;text-decoration:underline;text-underline-offset:5px;color:inherit}
.motion-story-controls{display:none;gap:4px;align-items:center;padding:5px;border:1px solid #d4d9d6;border-radius:999px;background:#f2f4f2}
.motion-story-controls button{display:flex;gap:8px;align-items:center;justify-content:center;min-height:44px;border:0;border-radius:999px;background:transparent;color:#535c57;padding:10px 17px;font:500 12px/1.2 Manrope,sans-serif;cursor:pointer;transition:color .3s,background .3s,box-shadow .3s}
.motion-story-controls button>span{font-size:9px;font-variant-numeric:tabular-nums;opacity:.7}
.motion-story-controls button[aria-pressed=true]{background:#171d19;color:#fff;box-shadow:0 2px 10px #0001}
.motion-story-controls button:focus-visible,.motion-story-footer>a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.motion-story[data-layout=pinned] .motion-story-controls{display:flex}
.motion-story[data-layout=pinned]{height:155svh;min-height:960px}
.motion-story[data-layout=pinned] .motion-story-stage{position:sticky;top:110px}
.motion-story[data-layout=pinned] .motion-story-scenes{position:relative;height:70svh;max-height:800px;min-height:420px;border-radius:28px;background:#101612;overflow:hidden;display:block}
.motion-story[data-layout=pinned] .motion-story-scene{position:absolute;inset:0;opacity:0;visibility:hidden;border-radius:0;transition:opacity .75s var(--motion-ease),visibility .75s;pointer-events:none}
.motion-story[data-layout=pinned] .motion-story-scene[data-active=true]{opacity:1;visibility:visible}
.motion-story[data-layout=pinned] .motion-story-scene>img{width:100%;height:100%;aspect-ratio:auto;transform:scale(var(--scene-scale,1.065));transition:transform 1.2s var(--motion-ease);object-position:center}
.motion-story[data-layout=pinned] .motion-story-scene figcaption{left:clamp(30px,5vw,76px);bottom:clamp(30px,5vw,70px);gap:18px;max-width:550px;transform:translate3d(0,24px,0);opacity:0;transition:transform .9s var(--motion-ease),opacity .65s}
.motion-story[data-layout=pinned] .motion-story-scene[data-active=true] figcaption{transform:none;opacity:1}
.motion-story[data-layout=pinned] .motion-story-scene figcaption strong{font-size:clamp(40px,5.7vw,80px)}
.motion-story[data-layout=pinned] .motion-story-footer{position:relative;padding-bottom:8px}
.motion-story[data-layout=pinned] .motion-story-footer:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:#a6b1aa;transform:scaleX(var(--story-progress,0));transform-origin:left}
@media(max-width:1000px){
 .studio-site .studio-header{padding:10px 16px}
 .studio-site .studio-header-inner{padding:10px 18px;border-radius:26px}
 .studio-site .studio-header.menu-open .studio-header-inner{border-radius:22px}
 .studio-site .studio-header.menu-open .studio-navigation{border-radius:0 0 22px 22px;background:#111717f5;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
}
@media(max-width:800px){
 [data-cinematic-ready=true] .motion-story-controls{display:flex}
 .motion-story{margin:24px 0 34px}
 .motion-story-scenes{display:flex;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;border-radius:20px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
 .motion-story-scene{flex:0 0 100%;scroll-snap-align:center;border-radius:0}
 .motion-story-scene>img{aspect-ratio:4/5;max-height:65svh;min-height:340px}
 .motion-story-scene figcaption{left:24px;right:24px;bottom:30px;gap:14px}
 .motion-story-scene figcaption strong{font-size:clamp(32px,8vw,55px);max-width:10em}
 .motion-story-scene figcaption>span:last-child{font-size:12px;max-width:260px}
 .motion-story-footer{justify-content:center;gap:4px}
 .motion-story-controls{max-width:100%;padding:4px;gap:0}
 .motion-story-controls button{font-size:11px;padding:10px 12px;gap:6px}
 .motion-story-footer>a{font-size:12px}
 .studio-site .studio-service{border-radius:16px}
 .studio-site .portfolio-open{border-radius:12px}
 [data-cinematic=on] [data-motion-reveal]{transform:translate3d(0,18px,0);transition-duration:.6s}
 [data-cinematic=on] [data-motion-reveal][data-motion-shown=true]{transform:none}
}
@media(max-width:600px){
 .studio-site .studio-header{padding:8px 10px}
 .studio-site .studio-header-inner{padding:8px 12px;gap:10px}
 .studio-site .studio-hero-content #hero-title{font-size:clamp(34px,9vw,48px);letter-spacing:-.025em;line-height:1.12}
 .studio-site .studio-header-brand{min-width:0}
 .information-site .information-hero-media{border-radius:16px}
 .information-site .information-article>section{scroll-margin-top:110px}
}
[data-cinematic=off] :is(.motion-title-line>span,.studio-hero-disciplines,.studio-hero-context,.studio-hero-actions){animation:none!important}
@media(prefers-reduced-motion:reduce){
 .studio-site *,.information-site *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 [data-motion-reveal]{opacity:1!important;transform:none!important}
 .motion-story[data-layout=pinned]{height:auto;min-height:0}
 .motion-story[data-layout=pinned] .motion-story-stage{position:static}
}
@media print{
 .motion-reading-progress,.motion-story-controls{display:none!important}
 .motion-story,.motion-story[data-layout=pinned]{height:auto;min-height:0}
 .motion-story-stage,.motion-story[data-layout=pinned] .motion-story-stage{position:static}
 .motion-story[data-layout=pinned] .motion-story-scenes{height:auto;display:grid;grid-template-columns:repeat(3,1fr)}
 .motion-story[data-layout=pinned] .motion-story-scene{position:relative;opacity:1;visibility:visible}
 [data-motion-reveal]{opacity:1!important;transform:none!important}
 .information-site .information-header{position:static}
}

[data-cinematic=on] [data-motion-reveal]:focus-within{transition:none!important;opacity:1;transform:none}
/* Keep the mobile menu attached to the floating header's own bounds. */
.studio-site .studio-header-inner{position:relative}
@media(max-width:1000px){.studio-site .studio-navigation{top:calc(100% + 8px);left:0;right:0;border-radius:22px!important}}
[data-cinematic=off] *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
[data-cinematic=off] :is(.studio-service-arrow,.information-related a>span,.studio-offer-select>span){transform:none!important}
