/* Editorial pages: shared typography and responsive composition. */
.index-heading h1{font:12px/1.4 Arial,sans-serif;letter-spacing:0;text-transform:uppercase}
.index-heading #index-count{font:11px/1.4 Arial,sans-serif}
.index-page .project-row h2{font-size:clamp(36px,6.8vw,104px);letter-spacing:-.04em}
.index-page .project-row{min-height:120px}
.menu-image-in{clip-path:none;object-fit:cover}
.photo-view{padding:110px 18% 150px;min-height:580px}
.photo-full img{max-height:calc(100svh - 260px)}
.photo-bottom{align-items:center;bottom:28px}
.photo-bottom>span{font:11px/1.4 Arial,sans-serif;letter-spacing:0;text-transform:uppercase;max-width:28%}
.photo-ruler{position:absolute;left:50%;transform:translateX(-50%);width:min(28vw,370px);height:52px}
.ruler-ticks{display:flex;justify-content:space-between;align-items:center;height:100%;pointer-events:none}
.ruler-ticks i{display:block;height:10px;width:1px;background:var(--muted)}.ruler-ticks i.major{height:18px}
.photo-ruler input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;touch-action:pan-y}
.photo-ruler:focus-within{outline:1px solid var(--fg);outline-offset:5px}
.ruler-marker{position:absolute;top:8px;width:1px;height:36px;background:var(--fg);pointer-events:none;transition:left .4s var(--ease)}
.viewer-arrows a{display:grid;place-items:center;width:44px;height:44px;touch-action:manipulation}
.screen video{object-fit:contain;background:#090a09}
.film-player #seek{appearance:none;-webkit-appearance:none;display:block;background:transparent;height:28px;margin:0;width:100%;border:0;cursor:pointer}
.film-player #seek::-webkit-slider-runnable-track{height:1px;background:#999}
.film-player #seek::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:10px;height:10px;border-radius:50%;background:#eee;margin-top:-4.5px}
.film-player #seek::-moz-range-track{height:1px;background:#999}
.film-player #seek::-moz-range-thumb{width:10px;height:10px;border:0;background:#eee}
.credits-summary{max-width:32ch;line-height:1.4}.credits-list{gap:30px}.credits-list h3{font:11px/1.4 Arial,sans-serif}.credits-list p{line-height:1.5}
.manifesto h2{font:400 clamp(32px,5.4vw,82px)/1.04 Arial,sans-serif;letter-spacing:-.055em;text-transform:uppercase;max-width:17ch;text-wrap:balance}
.manifesto h2 span{display:inline}.manifesto h2 span+span::before{content:', '}
.profile-meta,.small-label,.profile-body small{font-size:11px;line-height:1.4}
.profile-body p{font-size:clamp(20px,2vw,29px);line-height:1.5}
.profile-portrait figcaption{font-size:10px;max-width:calc(100% - 50px)}
.contact-page{height:auto;min-height:100svh;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:8%;padding-bottom:120px}
.contact-copy h1{font-size:clamp(64px,8.8vw,132px);line-height:.96;letter-spacing:-.045em}
.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:24px;font-size:12px;line-height:1.6}
.contact-details>div:first-child{grid-column:1/-1}.contact-details h2{font-size:10px;margin-bottom:8px}
.email-link{font-size:clamp(18px,2vw,28px);line-height:1.4;text-underline-offset:5px}
.contact-image{min-height:440px;height:100%;max-height:650px}.contact-socials{font-size:12px}
.contact-page+.site-footer.fixed{position:relative;margin-top:-85px}
.space-image:focus-visible{outline:1px solid var(--fg);outline-offset:7px;opacity:1!important}
.space-controls{font-size:11px}.space-controls input{min-height:44px}.space-controls button{min-height:44px;touch-action:manipulation}
.space-intro{font-size:11px}.space-intro span{font-size:10px}
.journal-board h1{font-size:clamp(70px,9vw,135px);letter-spacing:-.045em;z-index:1;pointer-events:none}
.journal-item,.journal-item:hover{transform:none;transition:opacity .7s ease}
.journal-item:hover{opacity:.8}.journal-item-0{left:4%;top:20%;width:20%}.journal-item-0 img{aspect-ratio:4/5}
.journal-item-1{right:-3%;top:19%;width:29%}.journal-item-1 img{aspect-ratio:16/9}
.journal-item-2{right:19%;bottom:4%;width:19%}.journal-item-2 img{aspect-ratio:4/3}
.journal-item>span{font-size:11px;line-height:1.4}.journal-top>span{font-size:9px;letter-spacing:.02em}
.article-page h1{font-size:clamp(50px,8vw,110px);max-width:16ch;line-height:1.05;letter-spacing:-.04em}
.article-body{max-width:65ch}.article-body p{font-size:20px;line-height:1.75}.article-meta{font-size:11px;line-height:1.5}
a,button{touch-action:manipulation}
@media(max-width:900px){.contact-page{gap:5%;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.contact-copy h1{font-size:9vw}.photo-view{padding-inline:12%}.photo-ruler{width:30vw}}
@media(max-width:600px){
 .index-page .project-row{min-height:0}.index-page .project-row h2{font-size:clamp(31px,10.7vw,52px)}
 .index-heading h1,.index-heading #index-count{font-size:10px}
 .photo-view{padding:115px 24px 200px;min-height:550px;height:100svh}
 .photo-full img{max-height:calc(100svh - 315px)}
 .photo-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 20px;inset:auto 16px 24px;align-items:center}
 .photo-bottom>span{grid-column:1/-1;max-width:none;font:11px/1.4 Arial,sans-serif}
 .photo-ruler{position:relative;left:auto;transform:none;width:100%;height:52px}
 .viewer-arrows{gap:0 8px;font-size:10px}.viewer-arrows a{font-size:24px}
 .profile-meta{font-size:10px;align-items:start}.profile-meta>span:nth-child(2){display:none}
 .manifesto{padding:65px 0;gap:24px}.manifesto h2{font-size:clamp(31px,9vw,48px);max-width:20ch;letter-spacing:-.04em}
 .profile-body{gap:24px}.profile-body p{font-size:21px}.profile-body figure{width:80%}
 .profile-portrait{height:52svh;min-height:300px}.profile-portrait figcaption{font-size:9px;max-width:none}
 .services p{font-size:clamp(48px,16vw,70px)}.location-end>span{font-size:10px}
 .contact-page{grid-template-columns:minmax(0,1fr);padding:100px 16px 125px;gap:40px}
 .contact-copy h1{font-size:clamp(60px,22vw,100px);margin:40px 0 28px}
 .contact-intro{font-size:10px}.contact-copy>p{font-size:12px}
 .contact-details{grid-template-columns:1fr 1fr;gap:26px 18px;font-size:12px}.email-link{font-size:22px}
 .contact-image{min-height:0;height:360px;max-height:none;width:78%;margin-left:auto}
 .contact-page+.site-footer.fixed{margin-top:-85px}.contact-socials{margin-top:22px}
 .space-page{min-height:640px}.space-controls{bottom:105px;gap:6px 12px;font-size:10px}.space-intro span{display:block;max-width:270px}
 .journal-board{min-height:650px}.journal-board h1{font-size:20vw;top:51%}
 .journal-item-0{left:4%;top:23%;width:32%}.journal-item-1{right:-7%;top:25%;width:44%}.journal-item-2{right:11%;bottom:6%;width:38%}
 .journal-item>span{font-size:10px;max-width:90%}.journal-top>span{font-size:8px}
 .article-page h1{font-size:clamp(44px,13vw,68px);margin-bottom:45px}.article-body p{font-size:19px;line-height:1.7}
 .article-meta{font-size:10px;gap:16px}.article-next strong{font-size:34px}
}
@media(prefers-reduced-motion:reduce){.ruler-marker{transition:none}}
body[data-motion=off] .ruler-marker{transition:none}
/* Keep images within their frame, away from the viewer and depth controls. */
.photo-full{height:auto;max-height:100%}.space-stage{overflow:hidden}
@media(max-width:600px){.footer-right{flex-wrap:wrap;justify-content:flex-end}.photo-full .demo-badge{font-size:8px;bottom:8px}}
@media(max-width:600px){.journal-board h1{top:55%}}

/* Reserve touch gestures on the homepage for the carousel, including its surrounding space. */
body.home,.home .home-stage,.home .home-gallery{touch-action:none}
.home .home-stage{-webkit-user-select:none;user-select:none}
.home-card img{-webkit-user-drag:none}

.home-card,.home-card *{touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}

/* Calm pacing: less travel and visual contrast, with one easing across editorial pages. */
:root{--ease:cubic-bezier(.3,.05,.2,1)}
.page-enter{animation:calm-page-in .95s var(--ease) both}
@keyframes calm-page-in{from{opacity:0}to{opacity:1}}
.reveal{opacity:.65;transform:translateY(10px);transition:opacity 1.15s var(--ease),transform 1.15s var(--ease)}
.reveal.revealed{opacity:1;transform:none}
.index-page .project-row{animation:index-calm-in 1.1s var(--ease) both;animation-delay:calc(min(var(--row,0),5)*.035s)}
@keyframes index-calm-in{from{opacity:0}to{opacity:1}}
.index-page .project-row h2{transition:color .85s var(--ease);transform:none}
.index-page .project-row:hover h2{transform:none}
.photo-collection .editorial-card.reveal{transform:none}
.photo-collection .editorial-card.reveal figure{clip-path:none;opacity:.65;transition:opacity 1.25s var(--ease)}
.photo-collection .editorial-card.revealed figure{opacity:1}
.editorial-card img{transition:transform 1.25s var(--ease)}
.editorial-card:hover img{transform:translateY(var(--image-shift,0px)) scale(1.1)}
.card-meta{transform:none;transition:opacity 1s .1s var(--ease)}
.menu-links a{transition:color 1.1s var(--ease),opacity 1.1s var(--ease)}
@media(prefers-reduced-motion:reduce){.page-enter,.index-page .project-row{animation:none}.reveal,.photo-collection .editorial-card.reveal figure{opacity:1;transform:none;transition:none}}
body[data-motion=off] .page-enter,body[data-motion=off] .index-page .project-row{animation:none}
body[data-motion=off] .reveal,body[data-motion=off] .photo-collection .editorial-card.reveal figure{opacity:1;transform:none;transition:none}
#menu .menu-links a,#menu .menu-links a:hover,#menu .menu-links a.is-preview{transition:color 1.1s var(--ease)}
@media(prefers-reduced-motion:reduce){#menu .menu-links a,#menu .menu-links a:hover,#menu .menu-links a.is-preview{transition:none}}
body[data-motion=off] #menu .menu-links a{transition:none}

/* A single viewport-space mesh joins the curvature of adjacent image edges. */
.home-gallery .carousel-warp{position:absolute;left:0;width:100%;pointer-events:none;z-index:1}
.home-gallery .home-card{z-index:2}
.home-gallery .home-card.warp-ready img{opacity:0!important;animation:none!important;transform:none!important}

/* Scroll-driven spatial gallery: fixed camera, uninterrupted depth. */
.space-page{height:100svh;min-height:0;overflow:hidden;background:#080908}
.space-page .space-stage{inset:0;perspective:none;transform-style:flat;overflow:hidden;touch-action:none;cursor:grab}
.space-page .space-stage:active{cursor:grabbing}
.space-page .space-image{transition:none;transform-origin:center;will-change:transform,opacity;outline-offset:5px}
.space-page .space-image img{pointer-events:none;user-select:none;-webkit-user-drag:none}
.space-page .space-image:nth-child(even) img{aspect-ratio:1.4}
.space-page .space-intro{top:100px;pointer-events:none;z-index:5000}
.space-page .space-controls{bottom:78px;z-index:5000;font-size:10px}
.space-page .site-footer{z-index:5000}
@media(max-width:700px){.space-page{min-height:0}.space-page .space-intro{top:100px}.space-page .space-controls{bottom:90px}.space-page .space-image{min-width:180px}}

.space-page figure.space-image{margin:0;cursor:inherit}.space-page .space-image:hover{outline:none}

/* Preserve the original photograph, including portrait and square formats. */
.space-page .space-image img,
.space-page .space-image:nth-child(even) img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain}

#space-tilt{display:none;min-height:44px;touch-action:manipulation}
#tilt-status{white-space:normal;text-align:center;max-width:290px;font-size:10px;line-height:1.4}
#tilt-status:empty{display:none}
@media (any-pointer:coarse),(max-width:700px){#space-tilt{display:inline-block}.space-controls{flex-wrap:wrap}.space-controls #tilt-status{flex-basis:100%}}

/* Real photographic series: intact frames and a quiet information panel. */
.photo-animation{display:block;width:auto;max-width:100%;height:auto;max-height:calc(100svh - 260px);object-fit:contain}
.project-info-toggle{display:block;font:10px/1.5 Arial,sans-serif;letter-spacing:.04em;margin-top:12px;text-decoration:underline;text-underline-offset:4px;min-height:32px;touch-action:manipulation}
.photo-project-info{position:absolute;z-index:8;left:var(--pad);bottom:115px;width:min(470px,calc(100% - 2 * var(--pad)));max-height:calc(100svh - 210px);overflow:auto;background:#141413f5;padding:28px;color:#eeece6;border:1px solid #ffffff20}
.photo-project-info[hidden]{display:none}.photo-project-info h2{font:40px/1.15 var(--serif);margin:24px 0 12px}.photo-project-info p{font:14px/1.75 Arial,sans-serif;margin:14px 0}.photo-project-info .project-location{font-size:11px;text-transform:uppercase}.photo-project-info dl{display:grid;gap:16px;margin-top:24px}.photo-project-info dt{font:10px/1.4 Arial,sans-serif;color:#aaa;text-transform:uppercase}.photo-project-info dd{margin:4px 0 0;font:13px/1.5 Arial,sans-serif}#project-info-close{font:10px Arial,sans-serif;min-height:32px;text-decoration:underline;text-underline-offset:4px}
@media(max-width:600px){.photo-animation{max-height:calc(100svh - 315px)}.photo-project-info{bottom:165px;max-height:calc(100svh - 260px);padding:20px}.project-info-toggle{margin-top:3px}.photo-bottom>span:has(.project-info-toggle){display:flex;align-items:center;justify-content:space-between;gap:16px}.photo-project-info h2{font-size:32px}}
/* Calm, continuous media scenes. Explicit geometry is applied before first paint. */
.home-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(var(--preview-gray,1));pointer-events:none}.home-card img{filter:grayscale(var(--preview-gray,1))}.home-card.warp-ready .home-preview{opacity:0!important}.home-card figure::after{content:'';position:absolute;inset:0;pointer-events:none;opacity:.055;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.65'/%3E%3C/svg%3E")}.home-card.warp-ready figure::after{display:none}
#cursor.preview-action{width:64px;height:64px;margin:-17px;display:grid;place-items:center;font:9px Arial,sans-serif;color:white;border-color:#ffffff80;mix-blend-mode:difference}.home-card{cursor:none}.home-card:hover img{transform:none!important}
.continuous-photos{display:flex;align-items:center;justify-content:center;padding:100px 0 160px;overflow:hidden;min-height:0}.photo-deck{position:relative;width:100%;flex:none;touch-action:none;cursor:grab;isolation:isolate}.photo-deck:active{cursor:grabbing}.photo-card{position:absolute;left:50%;top:50%;margin:0;overflow:hidden;transition:none!important;will-change:transform,opacity}.photo-card img,.photo-card video{position:absolute;inset:0;width:100%;height:100%;max-height:none;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none}.photo-card video{opacity:0}.photo-deck .carousel-warp{position:absolute;left:0;width:100%;pointer-events:none;z-index:1}.photo-card.warp-ready img{opacity:0!important}.photo-card:not(.warp-ready) video:not([src='']){opacity:1}.photo-card:not(.warp-ready) video:not([src]){opacity:0}.photo-deck .photo-card{z-index:2}.photo-progress-track{position:absolute;top:22px;left:0;right:0;height:1px;background:#ffffff30}.photo-progress-track>span{display:block;width:100%;height:1px;background:var(--fg);transform-origin:left;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}.photo-progress-caption{position:absolute;top:36px;left:0;right:0;text-align:center;font:8px Arial,sans-serif;color:var(--muted);letter-spacing:.08em}.photo-ruler input{z-index:2;touch-action:none}.photo-play{position:absolute;bottom:110px;left:50%;transform:translateX(-50%);font:10px Arial,sans-serif;min-height:44px;text-decoration:underline;text-underline-offset:4px;z-index:3}.viewer-arrows a{min-width:44px;min-height:44px;display:grid;place-items:center;touch-action:manipulation}.photo-out img{width:100%;height:100%;object-fit:contain;max-height:100%}.photo-collection .editorial-card img{width:100%;height:100%;object-fit:cover}
@media(max-width:600px){.continuous-photos{padding:100px 0 170px;height:100svh;min-height:0}.photo-play{bottom:145px}.photo-progress-caption{font-size:7px}.photo-project-info{z-index:10}}
@media(hover:none),(pointer:coarse){#cursor{display:none!important}.home-card{cursor:auto}}
@media(prefers-reduced-motion:reduce){.photo-progress-track>span{transition:none}}

/* Fast lateral project reveal and series overview. */
.lateral-curtain{position:fixed;inset:0;background:#000;z-index:9999;pointer-events:all;will-change:transform}
.photo-grid-toggle{position:absolute;right:28px;top:88px;z-index:12;min-height:44px;text-decoration:underline;text-underline-offset:4px;font-size:12px}
.photo-grid{position:absolute;inset:145px 5vw 45px;overflow-y:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 24px;align-content:start;padding:0 0 28px;overscroll-behavior:contain}
.photo-grid[hidden]{display:none}.photo-grid button{display:block;text-align:left;min-width:0}.photo-grid img{display:block;width:100%;height:240px;object-fit:contain}.photo-grid span{display:block;font-size:10px;margin-top:12px;opacity:.65}
.grid-open .photo-deck,.grid-open .photo-ruler,.grid-open .viewer-arrows,.grid-open .photo-play{visibility:hidden;pointer-events:none}
@media(max-width:600px){.photo-grid-toggle{top:77px;right:20px}.photo-grid{inset:132px 20px 28px;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.photo-grid img{height:210px}}

.grid-open .photo-bottom{visibility:hidden;pointer-events:none}

/* Compact overview and one persistent navigation rail. */
#cursor.preview-action,#cursor.preview-action.over{border:0!important;box-shadow:none!important;background:none!important;width:60px;height:24px;margin:10px 0 0 14px;border-radius:0;font:10px Arial,sans-serif}
.photo-ruler{overflow:visible!important}.photo-ruler input:focus,.photo-ruler input:focus-visible{outline:none!important;box-shadow:none!important}.photo-ruler:has(input:focus-visible) .photo-progress-track{height:2px;background:#ffffff70}
.photo-ruler .photo-grid-toggle{position:absolute;top:-30px;left:50%;right:auto;transform:translateX(-50%);min-height:32px;font-size:10px;letter-spacing:.05em;white-space:nowrap;z-index:5}
.photo-grid{inset:120px max(24px,5vw) 150px;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;scrollbar-width:none;padding:0;touch-action:pan-y}
.photo-grid::-webkit-scrollbar{display:none}.photo-grid button{align-self:start;overflow:hidden}.photo-grid button:hover{opacity:1}.photo-grid img{width:100%;height:auto;object-fit:contain;transition:transform .6s ease}.photo-grid button:hover img{transform:scale(1.025)}
.grid-open .photo-bottom,.grid-open .photo-ruler{visibility:visible;pointer-events:auto}.grid-open .photo-bottom>span{visibility:visible;pointer-events:auto}.grid-open .viewer-arrows{visibility:hidden;pointer-events:none}.grid-open .photo-ruler .photo-progress-track>span{transition:none}.grid-open .photo-progress-caption{font-size:0}.grid-open .photo-progress-caption:after{content:'SCROLL PARA EXPLORAR';font-size:8px}
@media(min-width:1800px){.photo-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}}
@media(max-width:600px){.photo-grid{inset:115px 18px 190px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.photo-grid img{height:auto}.photo-ruler .photo-grid-toggle{top:-32px;right:auto}}

.photo-grid{grid-auto-rows:max-content}.photo-grid button{overflow:visible}.photo-ruler,.photo-ruler:focus-within{outline:none!important;box-shadow:none!important}

.grid-open .photo-progress-caption{font-size:8px}.grid-open .photo-progress-caption:after{content:none}@media(max-width:600px){.photo-bottom .photo-ruler{left:50%;right:auto;transform:translateX(-50%);width:calc(100vw - 40px)}}
/* Mobile gallery: independent, full-width footer rows; no nested centering. */
@media(max-width:600px){
 .photo-view.continuous-photos{height:100dvh;min-height:0;padding:110px 0 calc(190px + env(safe-area-inset-bottom,0px))}
 .photo-view .back-link{top:72px;left:18px}
 .photo-view .photo-bottom{position:absolute;inset:auto 18px calc(12px + env(safe-area-inset-bottom,0px));height:154px;display:block;gap:0}
 .photo-view .photo-bottom>span{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;max-width:none;font:10px/1.4 Arial,sans-serif;letter-spacing:0}
 .photo-view .project-info-toggle{margin:0;min-height:28px;font-size:9px;flex-shrink:0}
 .photo-view .photo-bottom .photo-ruler{position:absolute;top:65px;bottom:auto;left:0;right:0;transform:none;width:100%;height:44px}
 .photo-view .photo-ruler .photo-grid-toggle{top:-31px;left:50%;right:auto;min-height:32px;font-size:9px}
 .photo-view .photo-progress-track{top:16px}.photo-view .photo-progress-caption{top:28px;font-size:7px}
 .photo-view .photo-bottom .viewer-arrows{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;width:100%;height:36px;gap:0}
 .photo-view .viewer-arrows a{min-height:36px;min-width:44px;font-size:24px}.photo-view .viewer-arrows>span{position:absolute;left:50%;transform:translateX(-50%);font-size:9px}
 .photo-view .photo-grid{inset:110px 18px calc(190px + env(safe-area-inset-bottom,0px));gap:10px}
 .photo-view .photo-play{bottom:calc(173px + env(safe-area-inset-bottom,0px));min-height:28px;font-size:9px}
 .photo-view .photo-project-info{bottom:calc(180px + env(safe-area-inset-bottom,0px));max-height:calc(100dvh - 290px)}
}

/* Justified, balanced rows: the final row fills the same width. */
.photo-view .photo-grid{display:block}.photo-grid-row{display:flex;align-items:flex-start;gap:14px;margin-bottom:14px}.photo-grid-row:last-child{margin-bottom:0}.photo-grid-row>button{min-width:0;display:block}.photo-grid-row img{width:100%;height:auto;display:block}
@media(min-width:1800px){.photo-grid-row{gap:16px;margin-bottom:16px}}
@media(max-width:600px){.photo-grid-row{gap:10px;margin-bottom:10px}}
/* Optional project process: paired, registered frames. */
.color-process{padding:90px 0 40px;border-top:1px solid #ffffff28;margin-top:80px}
.color-heading{max-width:700px;margin-bottom:40px}.color-heading>span{font-size:11px;letter-spacing:.12em}.color-heading h2{font-family:var(--serif);font-weight:400;font-size:clamp(36px,5vw,76px);margin:20px 0}.color-heading p{font-size:13px;color:#aaa}
.color-scenes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:36px 24px}.color-scene{margin:0}.color-scene figcaption{font-size:12px;margin-top:12px;color:#aaa}
.color-compare{position:relative;aspect-ratio:3/2;overflow:hidden;isolation:isolate;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;background:#111}
.color-compare>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.color-before{clip-path:inset(0 calc(100% - var(--split)) 0 0)}
.color-tag{position:absolute;top:16px;font-size:10px;letter-spacing:.1em;background:#0008;padding:6px 8px;pointer-events:none}.color-tag-before{left:16px}.color-tag-after{right:16px}
.color-divider{position:absolute;left:var(--split);top:0;bottom:0;width:1px;background:#fff;pointer-events:none}.color-divider>span{position:absolute;top:50%;left:0;transform:translate(-50%,-50%);background:#151515a0;border:1px solid #ffffff90;border-radius:50%;width:32px;height:32px;display:grid;place-items:center;color:#fff}
.color-compare>input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;touch-action:pan-y;z-index:3}.color-compare:focus-within{outline:1px solid #ddd;outline-offset:4px}
.color-hold,.color-touch-help{display:none}
@media(hover:none),(pointer:coarse){.color-desktop-help,.color-divider,.color-compare>input{display:none}.color-touch-help{display:block}.color-hold{display:block;position:absolute;inset:0;width:100%;height:100%;opacity:0;touch-action:pan-y;z-index:4}.color-before{clip-path:inset(0 100% 0 0)}.show-before .color-before{clip-path:inset(0)}.color-tag-before{opacity:0}.show-before .color-tag-before{opacity:1}.show-before .color-tag-after{opacity:0}}
@media(max-width:600px){.color-process{padding-top:48px;margin-top:48px}.color-scenes{grid-template-columns:1fr;gap:28px}.color-heading{margin-bottom:28px}}

/* Project photographs retain their complete original framing. */
.film-photography{margin:clamp(64px,10vw,160px) 0}
.film-photography header>span{font-size:11px;letter-spacing:.07em}
.film-photography header h2{font-family:var(--serif);font-weight:400;font-size:clamp(36px,5vw,76px);line-height:1.05;margin:20px 0 40px}
.film-photography-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,32px);align-items:start}
.film-photography-grid figure{margin:0;min-width:0}
.film-photography-grid img{display:block;width:100%;height:auto;object-fit:contain}
.film-photo-cover{grid-column:1/-1;width:min(100%,680px);justify-self:center;margin-bottom:24px!important}
.film-photography figcaption{font-size:10px;letter-spacing:.06em;line-height:1.5;margin-top:12px;opacity:.65}
@media(max-width:600px){.film-photography-grid{grid-template-columns:1fr;gap:20px}.film-photography header h2{margin-bottom:26px}.film-photo-cover{margin-bottom:10px!important}}
/* Immersive film presentation, v4.60 */
.film-immersive{position:relative;height:100svh;min-height:540px;padding:0!important;isolation:isolate;background:#080908}
.film-immersive .screen{position:absolute;inset:0;width:100%;height:100%;max-width:none;aspect-ratio:auto;margin:0;border-radius:0;overflow:hidden}
.film-immersive .screen video,.film-immersive .demo-film,.film-immersive .demo-film img{width:100%;height:100%;object-fit:cover}
.film-immersive:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:3;background:#080908;opacity:var(--film-shade,0)}
.film-immersive .screen:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(#0005,transparent 28%,transparent 56%,#080908d9)}
.film-immersive .back-link{position:absolute;top:90px;left:var(--gutter,24px);z-index:5}
.film-immersive .film-controls{position:absolute;left:24px;right:24px;bottom:24px;z-index:2;margin:0;padding:0;background:none;width:auto}
.film-immersive .film-control-title{display:flex;align-items:center;gap:16px}
.film-immersive .film-control-title h1{font:clamp(24px,2.3vw,40px)/1.1 var(--serif);margin:0}
.film-immersive #play{font:11px/1 Arial,sans-serif;min-height:44px;padding:8px;white-space:nowrap}
.film-year{font:11px/1 Arial,sans-serif;opacity:.65}.film-immersive #credits-link{margin-left:auto}
.film-immersive .screen-play{position:absolute;inset:0;width:100%;height:100%;transform:none;border:0;border-radius:0;background:none!important;opacity:1;z-index:1;cursor:pointer}
.film-pause-time{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font:clamp(70px,9vw,160px)/1 Arial,sans-serif;color:#eee;pointer-events:none;opacity:1;transition:opacity .5s;z-index:2}
.is-playing .film-pause-time{opacity:0}.film-pointer{position:absolute;top:0;left:0;z-index:4;pointer-events:none;font:11px/1 Arial,sans-serif;opacity:0;transition:opacity .3s;margin:18px}
@media(hover:hover){.pointer-inside .film-pointer{opacity:1}.film-immersive .screen-play{cursor:none}}
.credits:has(.film-photography),.film-immersive+.credits{position:relative;background:#080908;padding-top:100px}
.film-immersive+.credits .credits-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,24%);gap:12vw;align-items:start}
.film-immersive+.credits .credits-summary{font:clamp(17px,1.5vw,25px)/1.5 Arial,sans-serif;max-width:60ch;margin:20px 0 40px}
.film-immersive+.credits .credits-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #ffffff30;padding-top:30px;gap:25px 20px}
.film-immersive+.credits .credits-list h3{font:11px/1.4 Arial,sans-serif;color:#eee;margin-bottom:5px}.film-immersive+.credits .credits-list p{font:12px/1.5 Arial,sans-serif;color:#999}
.film-immersive+.credits .credits-grid>figure{margin:0}.film-immersive+.credits .credits-grid>figure img{width:100%;height:auto;max-height:440px;object-fit:cover}
.color-heading h2{font:12px/1.5 Arial,sans-serif!important;letter-spacing:.08em;margin:0 0 16px}.color-scenes{display:flex!important;gap:0!important;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;position:relative}.color-scenes::-webkit-scrollbar{display:none}.color-scene{flex:0 0 100%;min-width:0;scroll-snap-align:start}.color-navigation{display:flex;justify-content:space-between;align-items:center;padding-top:20px;border-top:1px solid #ffffff30;margin-top:20px}.color-navigation button{min-width:48px;min-height:44px;font-size:28px}.color-navigation span{font:11px Arial,sans-serif}
@media(max-width:600px){.film-immersive{min-height:480px}.film-immersive .film-controls{left:16px;right:16px;bottom:24px}.film-immersive .film-control-title{gap:8px;flex-wrap:wrap}.film-immersive .film-control-title h1{font-size:23px;max-width:65%}.film-immersive .transport{gap:12px;font-size:10px}.film-immersive #fullscreen{font-size:10px}.film-immersive+.credits{padding-top:60px}.film-immersive+.credits .credits-grid{grid-template-columns:1fr;gap:35px}.film-immersive+.credits .credits-list{grid-template-columns:repeat(2,minmax(0,1fr))}.film-immersive+.credits .credits-grid>figure{max-width:240px}.film-pointer{display:none}}
@media(prefers-reduced-motion:reduce){.film-pause-time,.film-pointer{transition:none}}
.film-immersive #credits-link{position:static;transform:none}.film-immersive #sound{position:static;transform:none}
@media(max-width:600px){.film-immersive .film-control-title{display:grid;grid-template-columns:minmax(0,1fr) auto auto}.film-immersive .film-control-title h1{max-width:none;font-size:22px}.film-immersive #credits-link{grid-column:1 / -1;justify-self:end;margin:0;font-size:10px}.film-immersive .film-controls{bottom:20px}.film-immersive .transport{flex-wrap:nowrap}.film-immersive #sound{margin:0;font-size:9px}.film-immersive #fullscreen{font-size:9px}}
/* Film refinements v4.61 */
.film-immersive:not(.has-played) .film-pause-time{opacity:0}
.film-immersive #play{display:grid;place-items:center;width:40px;height:44px;padding:10px}
.film-immersive #play svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linejoin:round}
body:has(.film-immersive .pointer-inside) #cursor{opacity:0!important}
.film-photography header{margin-bottom:24px}
.film-photography-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.film-photography-grid .film-photo-cover{grid-column:auto;width:100%;margin:0!important;justify-self:stretch}
.color-process{max-width:800px;margin:64px auto 0;padding:32px 0}
.color-heading{margin-bottom:20px}.color-heading p{font:11px/1.5 Arial,sans-serif;color:#999}
.color-navigation{padding-top:6px;margin-top:12px}
@media(max-width:600px){.film-photography-grid{grid-template-columns:1fr;gap:24px}.color-process{max-width:100%;padding-top:28px;margin-top:40px}.film-photography{margin:56px 0}}

/* YouTube uses the same immersive film layout and transport. */
.film-immersive[data-youtube="true"] .screen iframe{position:absolute;left:50%;top:50%;width:max(100vw,177.778svh);height:max(100svh,56.25vw);transform:translate(-50%,-50%);border:0;pointer-events:none;opacity:0}
.film-immersive[data-youtube="true"].has-played .screen iframe{opacity:1}
.film-immersive[data-youtube="true"] .film-pause-time{display:none}
.film-immersive[data-youtube="true"]{user-select:none;-webkit-user-select:none}
