/* Photography takes the stage. */
.portal-enhanced .atelier-track{display:block;position:relative;transform:none!important}
.portal-enhanced .atelier-scene{position:absolute;inset:0;width:100%;height:100%}
.portal-enhanced .atelier-scene:nth-child(2){clip-path:inset(0 50%);z-index:2}
.portal-enhanced .atelier-scene:nth-child(3){clip-path:inset(100% 0 0);z-index:3}
.portal-enhanced .atelier-scene>img{will-change:transform}
.project-grid:not(.index-view):not(.filtered) .project-card.project-fullscreen{grid-column:1 / -1;margin:25px -4vw 0;position:relative;width:calc(100% + 8vw);color:white}
.project-grid:not(.index-view):not(.filtered) .project-card.project-fullscreen .project-photo{aspect-ratio:auto;height:92svh;min-height:560px}
.project-grid:not(.index-view):not(.filtered) .project-card.project-fullscreen .project-meta{position:absolute;inset:auto 5vw 6vw;z-index:2;border:0}
.project-grid:not(.index-view):not(.filtered) .project-card.project-fullscreen .project-photo:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#212045b0);pointer-events:none}
.project-grid:not(.index-view):not(.filtered) .project-card.project-fullscreen h3{font-size:clamp(45px,6vw,100px);font-weight:400;line-height:1.05}
.project-grid:not(.index-view):not(.filtered) .project-card.project-fullscreen .project-number{color:white}
.project-grid:not(.index-view):not(.filtered) .project-card.project-fullscreen .project-meta p{font-size:12px;color:white;margin-top:20px}
[data-parallax]{overflow:hidden}[data-parallax] img{will-change:transform;transition:none!important}
.project-dialog{width:100vw;max-width:none;max-height:100svh;height:100svh;margin:0;border:0}.dialog-layout{display:flex;flex-direction:column}.dialog-top{padding:15px 4vw}.dialog-image-wrap{position:relative}.dialog-image-wrap>img{width:100%;height:78svh;object-fit:contain;background:var(--ink)}
#dialog-title{position:absolute;left:4vw;right:4vw;top:30px;color:white;font-size:clamp(38px,6vw,95px);line-height:1.05;text-shadow:0 2px 24px #000b;pointer-events:none;letter-spacing:-.04em}.dialog-thumbnails{justify-content:center}.dialog-description{display:grid;grid-template-columns:1fr 2fr 1fr;align-items:start;gap:35px;padding:35px 4vw 55px}.dialog-description p{font-size:16px;line-height:1.7}.dialog-description .project-story-link{margin:0}.photo-controls{z-index:2}
.story-hero{position:relative;padding-top:var(--header)}.story-cover img{height:calc(100svh - var(--header));min-height:580px;width:100%;object-fit:cover}.story-cover button{display:block}.story-opening{position:absolute;inset:var(--header) 0 auto;padding:45px 4vw;color:white;pointer-events:none;background:linear-gradient(#21204580,transparent);padding-bottom:85px;text-shadow:0 2px 20px #0005}.story-opening h1{font-size:clamp(50px,8.6vw,145px)}.story-kicker{margin-bottom:30px}.story-opening>p{font-size:clamp(26px,3vw,46px)}.blue-title .story-opening{color:var(--ink);background:linear-gradient(#ffffffd9,transparent);text-shadow:none}.story-intro{padding:75px 4vw 55px}.story-notes{padding:0 4vw 70px}.story-gallery{display:block;padding:0}.story-gallery .story-photo{margin:0 0 65px}.story-gallery .story-photo:nth-child(n) img{width:100%;height:auto;aspect-ratio:auto;max-height:none;object-fit:contain}.story-photo figcaption{padding:18px 4vw 0}.story-photo button>span{opacity:1}.story-lightbox{width:100vw;max-width:none;height:100svh;max-height:100svh;margin:0;padding:45px 0 0}.story-lightbox>img{height:calc(100svh - 105px)}
.group-brands{padding:40px 4vw 50px;border-top:1px solid var(--line);background:white;color:var(--ink);width:100%}.footer .group-brands{padding-left:0;padding-right:0}.group-brands>p{font-size:11px;margin-bottom:35px}.group-brands>div{display:grid;grid-template-columns:repeat(6,1fr);gap:35px;align-items:center}.group-brands a{display:flex;align-items:center;justify-content:center;min-height:75px;padding:10px}.group-brands img{width:100%;height:58px;object-fit:contain;max-width:170px}.group-brands a:nth-child(5) img{filter:brightness(0) saturate(100%);max-width:140px}
@media(max-width:700px){.project-grid:not(.index-view):not(.filtered) .project-card.project-fullscreen{margin:10px -22px 0;width:calc(100% + 44px)}.project-grid:not(.index-view):not(.filtered) .project-card.project-fullscreen .project-photo{height:78svh;min-height:480px}.project-grid:not(.index-view):not(.filtered) .project-card.project-fullscreen .project-meta{inset:auto 22px 35px}.project-grid:not(.index-view):not(.filtered) .project-card.project-fullscreen h3{font-size:40px}.project-grid:not(.index-view):not(.filtered) .project-card.project-fullscreen .project-meta p{font-size:10px}.dialog-image-wrap>img{height:65svh}#dialog-title{top:20px;left:22px;right:22px;font-size:38px}.dialog-description{display:flex;gap:20px;padding:25px 22px 40px;flex-direction:column}.dialog-description p{font-size:14px}.story-cover img{min-height:540px;height:80svh}.story-opening{padding:35px 22px 90px}.story-opening h1{font-size:52px}.story-opening>p{font-size:28px}.story-gallery .story-photo{margin-bottom:35px}.story-intro{padding:45px 22px 35px}.story-notes{padding:0 22px 40px}.group-brands{padding:30px 22px}.group-brands>div{grid-template-columns:repeat(2,1fr);gap:20px 25px}.group-brands img{height:45px}.group-brands>p{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){[data-parallax] img{transform:none!important}.atelier-scene{clip-path:none!important}}

.project-dialog.blue-title #dialog-title{color:var(--ink);text-shadow:0 1px 14px #fff,0 1px 5px #fff}

/* Deep photographic windows: oversized image and counter-moving caption. */
@media(min-width:701px) and (prefers-reduced-motion:no-preference){
.project-grid:not(.index-view):not(.filtered) .project-card.project-fullscreen .project-photo{height:110svh;min-height:650px;position:relative;isolation:isolate}
.project-grid:not(.index-view):not(.filtered) .project-card.project-fullscreen .project-photo>img{position:absolute;left:0;top:-30%;width:100%;height:160%;max-width:none;object-fit:cover;transform-origin:center;will-change:transform}
.project-grid:not(.index-view):not(.filtered) .project-card.project-fullscreen .project-meta{bottom:12vh;will-change:transform}
.project-grid:not(.index-view):not(.filtered) .project-card.project-fullscreen .project-photo:after{z-index:1}
}
.footer>.group-brands{margin-top:45px}
@media(prefers-reduced-motion:reduce){.project-fullscreen .project-meta{transform:none!important}}

/* Editorial pause beside Olesa. */
.olesa-editorial{grid-column:1 / 6;align-self:center;padding:70px 0 100px;color:var(--ink);text-align:left}
.olesa-editorial .section-label{font-size:10px;display:block;margin-bottom:35px}
.olesa-editorial h2{font-size:clamp(42px,5.4vw,88px);font-weight:400;line-height:1.04;letter-spacing:-.05em}
.olesa-editorial h2 em{display:inline-block;margin-top:12px}
.project-grid.index-view .olesa-editorial,.project-grid.filtered .olesa-editorial{display:none}
@media(max-width:700px){.project-grid:not(.index-view):not(.filtered) .olesa-editorial{grid-column:1 / -1;padding:25px 0 0}.olesa-editorial h2{font-size:53px}.olesa-editorial .section-label{margin-bottom:25px}.olesa-editorial h2 em br{display:none}}
/* Mobile edition: generous photos, readable copy and comfortable touch targets. */
@media(max-width:700px){
html{scroll-padding-top:84px}.header{padding-inline:20px}.header>a:first-child{width:135px}
.atelier-sticky{height:calc(100svh - var(--header));min-height:570px}.atelier-track{overscroll-behavior-x:contain}.portal-title{left:20px;right:20px}.portal-title>.eyebrow{font-size:9px;line-height:1.5;margin-bottom:18px}.portal-title h1{font-size:13.7vw}.portal-title h1>em{font-size:1.02em}.portal-actions{left:20px;bottom:23%;gap:8px}.portal-actions .hero-link,.portal-actions .hero-film-link{min-height:44px;font-size:12px;padding:10px 13px}.atelier-scene:first-child .scene-project{left:20px;right:20px;bottom:4%;min-height:65px}.atelier-scene:not(:first-child) .scene-caption{left:20px;max-width:calc(100% - 40px);bottom:24%}.atelier-scene .scene-caption h2{font-size:clamp(44px,12.5vw,65px)}.atelier-scene .scene-caption .eyebrow{font-size:10px}.atelier-bar{padding-inline:14px;gap:5px}.atelier-bar .scroll-cue{font-size:10px;gap:8px}.atelier-bar .scene-controls{gap:0}.atelier-bar .scene-controls button{min-width:40px;min-height:44px;padding:10px}.atelier-bar .scene-line{display:none}.atelier-bar .scroll-cue span{font-size:16px}
.section-label{font-size:11px!important;line-height:1.6}.intro{padding-top:55px;padding-bottom:55px}.intro-bottom{margin-left:0}.intro-bottom p,.nova-feature-heading>p,.nova-feature-foot p,.services-intro,.services details p{font-size:15px;line-height:1.75}.intro-art{height:190px;width:56%;margin-top:5px}.intro-art span{font-size:9px}.text-link{min-height:44px;align-items:center;font-size:13px}.projects{padding-top:50px;padding-bottom:50px}.section-heading{display:block;margin:28px 0}.section-heading h2{font-size:clamp(40px,12vw,68px)}.view-controls{flex-direction:row;justify-content:flex-start;gap:20px;margin-top:22px}.view-controls button{min-height:44px;font-size:13px;padding:10px 0}.portfolio-toolbar{gap:15px}.project-filters{gap:4px 18px}.project-filters button{min-height:44px;font-size:12px;text-align:left}#project-count{font-size:12px}
.project-grid:not(.index-view):not(.filtered) .project-card:nth-of-type(n){grid-column:1 / -1;margin-top:0}.project-grid:not(.index-view):not(.filtered){row-gap:35px}.project-meta h3{font-size:24px}.project-meta p{font-size:11px;line-height:1.6}.project-number{font-size:10px}.project-grid:not(.index-view):not(.filtered) .project-card.project-fullscreen .project-photo{height:72svh;min-height:420px}.project-grid:not(.index-view):not(.filtered) .project-card.project-fullscreen h3{font-size:clamp(32px,9vw,48px)}.project-grid:not(.index-view):not(.filtered) .project-card.project-fullscreen .project-meta{left:20px;right:20px;gap:10px}.project-grid:not(.index-view):not(.filtered) .project-card.project-fullscreen .project-meta p{font-size:11px}.index-view .project-card{padding:20px 0}.index-view .project-meta h3{font-size:20px}.index-view .project-meta p{font-size:11px}
.olesa-editorial h2{font-size:clamp(40px,12vw,61px)}.olesa-editorial h2 em br{display:initial}.olesa-editorial .section-label{margin-bottom:22px}.project-grid:not(.index-view):not(.filtered) .olesa-editorial{padding-top:20px;padding-bottom:0}.nova-switch{gap:16px}.nova-switch button{font-size:12px;min-height:56px}.nova-feature-heading h2{font-size:clamp(36px,10.8vw,52px)}.nova-explore{min-height:48px;font-size:13px}.media-label{font-size:10px}.services-visual{height:55svh;min-height:320px}.services h2{font-size:clamp(44px,13vw,64px)}.services summary{font-size:18px;gap:10px}.services details>div{padding-left:0}.signature>p{font-size:clamp(40px,11.8vw,60px)}.signature>div:not(.signature-photo){margin-left:51%}.signature>div>p{font-size:13px;line-height:1.7}.signature .text-link{font-size:12px;flex-wrap:wrap}.contact h2{font-size:clamp(33px,10vw,53px)}.contact-circle{flex:0 0 44px}.contact-bottom p{font-size:14px}.contact-bottom a{min-height:44px;display:flex;align-items:center;font-size:18px}.footer-top{font-size:12px;line-height:1.7}.footer-top>a{font-size:12px;min-height:44px;display:flex;align-items:center}.footer-bottom{font-size:11px;line-height:1.6}.group-brands>p{font-size:12px}.group-brands a{min-height:75px}
.project-dialog{height:100dvh;max-height:100dvh;width:100%;max-width:100%}.dialog-top{position:sticky;top:0;z-index:5;background:white;padding:10px 16px;min-height:60px}.dialog-close,.film-close,.lightbox-close{min-width:44px;min-height:44px}.dialog-top .eyebrow{font-size:10px}.dialog-image-wrap>img{height:auto;min-height:260px;max-height:65svh;object-fit:contain}#dialog-title{font-size:clamp(28px,8vw,40px);top:18px;left:20px;right:20px}.dialog-thumbnails{justify-content:flex-start;gap:8px;padding:10px 16px}.dialog-thumbnails button{min-width:58px;min-height:46px}.dialog-thumbnails img{width:58px;height:42px}.photo-controls{bottom:12px;min-height:44px}.photo-controls button{min-width:44px;min-height:44px}.photo-controls span{font-size:12px}.dialog-description{padding:25px 20px 35px;gap:18px}.dialog-description p{font-size:15px}.dialog-description .project-story-link{font-size:13px}.film-dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.film-top h2{font-size:23px}.film-to-photos{min-height:44px;font-size:12px}.film-bottom>span{font-size:11px}.story-header .back-projects{min-height:44px;display:flex;align-items:center;font-size:11px}.story-header{gap:15px}.story-opening h1{font-size:clamp(40px,12vw,60px);overflow-wrap:break-word}.story-opening>p{font-size:27px}.story-kicker{font-size:10px;line-height:1.5}.story-cover img{height:75svh;min-height:480px}.story-intro h2{font-size:25px}.story-notes p{font-size:15px}.story-photo figcaption{font-size:10px;line-height:1.6}.story-contact h2{font-size:42px}.story-lightbox{height:100dvh;max-height:100dvh}.story-lightbox>img{height:calc(100dvh - 120px)}.story-lightbox>div button{min-width:48px;min-height:48px}
}
@media(max-width:359px){.portal-title>.eyebrow{font-size:8px}.atelier-bar .scroll-cue{font-size:9px}.atelier-bar .scene-controls button{min-width:36px}.signature-photo{width:40%;height:205px}.story-header>a:first-child{width:120px}.story-header .back-projects{font-size:10px}.contact-bottom a{font-size:17px}}
@media(max-width:700px) and (max-height:600px){.atelier-sticky{min-height:550px}.portal-title>.eyebrow{margin-bottom:12px}.story-cover img{min-height:450px}}
