/* Cinematic mist: transparent stock texture, no animated SVG noise.
   Cloud source: https://s3-us-west-2.amazonaws.com/s.cdpn.io/95637/Smoke-Element.png */
html.lenis,html.lenis body{height:auto}html.lenis{scroll-behavior:auto!important}
.hero.mist-scene,.details-hero.mist-scene{height:100vh;height:100svh;min-height:560px;position:relative;overflow:hidden;isolation:isolate;background:#fff}
.hero.mist-scene .hero-stage{position:relative;top:auto;height:100%;min-height:0;background:#fff;overflow:hidden}
.mist-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;transform-origin:center center;will-change:transform}
.mist-video-poster,.mist-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mist-video{opacity:0;transition:opacity 1.2s}.mist-video.is-playing{opacity:1}
.mist-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.42),rgba(0,0,0,.08) 65%,transparent)}
.mist-title{position:absolute;left:3%;right:3%;top:42%;margin:0;z-index:2;color:#fff;text-align:center;font-family:'Jost',sans-serif;font-size:clamp(60px,13.5vw,250px);font-weight:300;letter-spacing:-.055em;line-height:1;opacity:.95;filter:blur(2px);will-change:transform,opacity,filter}
.mist-layer{position:absolute;left:-10%;width:120%;height:61%;bottom:-9%;z-index:4;pointer-events:none;transform-origin:50% 100%;will-change:transform,opacity,filter;mask-image:linear-gradient(to top,#000 60%,transparent);-webkit-mask-image:linear-gradient(to top,#000 60%,transparent)}
.mist-mid{height:65%;bottom:0;left:-17%;z-index:3;opacity:.85}
.mist-drift{position:absolute;inset:0;display:flex;align-items:stretch;animation:mist-drift 20s ease-in-out infinite alternate;animation-play-state:paused}
.mist-scene.in-view .mist-drift{animation-play-state:running}.mist-mid .mist-drift{animation-direction:alternate-reverse;animation-duration:24s}
.mist-drift img{height:100%;width:60%;flex-shrink:0;object-fit:fill;margin-left:-20%;filter:brightness(0) invert(1);user-select:none}.mist-drift img:first-child{margin-left:0}.mist-mid .mist-drift img{width:75%;margin-left:-15%}
.mist-transition{position:absolute;z-index:5;left:0;right:0;bottom:-1px;height:49%;pointer-events:none;background:linear-gradient(to bottom,rgba(255,255,255,0),rgba(255,255,255,.3) 35%,#fff 91%);will-change:opacity}
.hero.mist-scene .hero-nav{z-index:10}.mist-ui{position:absolute;inset:0;z-index:8;pointer-events:none;color:white}.mist-ui a{pointer-events:auto}.mist-tagline{position:absolute;left:5%;top:26%;font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:clamp(22px,2.1vw,34px);line-height:1.25}.mist-label{position:absolute;left:5%;top:20%;font-size:11px;letter-spacing:.2em}.mist-film{position:absolute;right:5%;top:31%;font-size:13px;border-bottom:1px solid #ffffff80;padding-bottom:10px}.mist-film span{margin-left:22px}
.mist-bottom{position:absolute;bottom:25px;left:5%;right:5%;display:flex;justify-content:space-between;gap:18px;z-index:8;color:#111;font-size:10px;letter-spacing:.15em}
.mist-scene:after{content:'';position:absolute;inset:0;z-index:7;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0,transparent calc(16.6667% - 1px),rgba(0,0,0,.06) calc(16.6667% - 1px),rgba(0,0,0,.06) 16.6667%)}
#olhar,.mist-gallery{background-color:#fff!important}.gallery.mist-gallery{padding-top:0}
.details-title{font-size:clamp(60px,9.6vw,170px);top:36%;line-height:1.04;letter-spacing:-.035em}
.details-top{position:absolute;left:5%;right:5%;top:42px;z-index:8;display:flex;justify-content:space-between;color:white;letter-spacing:.15em;font-size:11px}.details-top p{margin:0}
.details-caption{position:absolute;left:5%;bottom:30px;z-index:8;font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-size:25px;color:#111}
.details-gallery-intro{padding:75px 6% 35px;display:flex;justify-content:space-between;align-items:start;gap:40px;color:#111}.details-gallery-intro>p:last-child{max-width:440px;font-size:18px;line-height:1.6}
@keyframes mist-drift{from{transform:translate3d(-20px,0,0)}to{transform:translate3d(20px,0,0)}}
@media(max-width:760px){.hero.mist-scene,.details-hero.mist-scene{min-height:560px}.mist-title{top:47%;left:4%;right:4%;font-size:13vw;filter:blur(1px)}.mist-layer{height:48%;width:130%;left:-15%;bottom:0}.mist-mid{display:none}.mist-transition{height:42%}.mist-tagline{top:28%;font-size:25px;left:6%}.mist-label{left:6%;top:23%;font-size:10px}.mist-film{top:auto;bottom:24%;right:6%;color:#151515;border-color:#444}.mist-bottom{font-size:9px;bottom:24px}.mist-bottom>span:first-child{display:none}.details-title{font-size:14vw;top:39%}.details-top{top:30px;font-size:9px}.details-caption{font-size:23px;right:6%;bottom:22px}.details-gallery-intro{display:block;padding:48px 6% 20px}.details-gallery-intro>p:last-child{font-size:17px}.mist-drift{animation-duration:28s}}
@media(prefers-reduced-motion:reduce){.mist-drift{animation:none!important}.mist-title{filter:none!important;opacity:1!important}.mist-media{will-change:auto}.mist-layer{will-change:auto}.mist-video{transition:none}}
/* Crisp title: neither the resting state nor the scroll animation applies blur. */
.mist-scene .mist-title{filter:none!important}
.map-section{position:relative;background:#050505;color:#fff;padding:100px 6%;overflow:hidden}
.map-section .section-top{display:flex;justify-content:space-between;gap:25px;padding-bottom:45px;border-top:1px solid #ffffff26;padding-top:22px;font-size:11px;letter-spacing:.16em}
.map-section .mono{font-family:monospace;letter-spacing:.05em}
.map-layout{display:grid;grid-template-columns:1fr 1.12fr;gap:45px;align-items:center}
.map-layout .section-title{font-family:'Jost',sans-serif;font-size:clamp(40px,5.5vw,86px);font-weight:500;line-height:1.09;letter-spacing:-.05em;margin:0 0 38px}
.map-layout .section-title em{font-style:normal;font-weight:200}
.map-layout>div>p{max-width:480px;font-size:17px;line-height:1.85;margin:25px 0;color:#c4c4c4}
.map-layout .map-origin-label{font:13px/2 monospace;padding-left:22px;border-left:1px solid #aaa;margin-top:38px}
.map-layout #map-selection{font-size:14px;min-height:52px}.map-layout .tiny-note{font-size:12px;margin:8px 0}
.map-layout .line-link{display:inline-block;margin-top:20px;font-size:14px;padding-bottom:10px;border-bottom:1px solid #ffffff80}
.brazil-map{width:100%;height:auto;overflow:visible;display:block}
.map-state{fill:#050505;stroke:rgba(255,255,255,.44);stroke-width:.7;vector-effect:non-scaling-stroke}
.map-state.served{fill:#303030;cursor:pointer;transition:fill .3s}.map-state.served:hover,.map-state.selected,.map-state.served:focus-visible{fill:#777;outline:none;stroke:#fff;stroke-width:1.5}
.map-route{fill:none;stroke:#fff;stroke-width:1;stroke-dasharray:.015 .012;pointer-events:none;opacity:.65}.map-dot,.map-origin{fill:#fff;pointer-events:none}.brazil-map text{font:9px monospace;fill:#fff;pointer-events:none}
.map-title-line{display:block;overflow:hidden;padding-bottom:.07em}.map-title-line>span{display:block}
@media(max-width:760px){.map-section{padding:64px 6%}.map-section .section-top{font-size:9px;padding-bottom:30px}.map-section .section-top>.mono{display:none}.map-layout{grid-template-columns:1fr;gap:25px}.map-layout .section-title{font-size:clamp(39px,10vw,62px);margin-bottom:24px}.map-layout>div>p{font-size:16px}.map-art{width:100%;margin:0}.map-layout .map-origin-label{margin-top:24px}}
/* One viewport-wide grid: identical columns across every section and transition. */
:is(.intro,.portfolio,.quote,.about,.services,.gallery,.film,.process,.contact){background-image:none!important}
.hero-grid,.mist-scene::after{display:none!important}
.continuous-guides{position:fixed;inset:0 var(--gutter);z-index:20;pointer-events:none;mix-blend-mode:difference;opacity:.1;overflow:hidden}
.continuous-guides i{position:absolute;top:0;bottom:0;width:1px;background:#fff;pointer-events:none}
.continuous-guides i:nth-child(1){left:0}.continuous-guides i:nth-child(2){left:16.666667%}.continuous-guides i:nth-child(3){left:33.333333%}.continuous-guides i:nth-child(4){left:50%}.continuous-guides i:nth-child(5){left:66.666667%}.continuous-guides i:nth-child(6){left:83.333333%}.continuous-guides i:nth-child(7){right:0}
/* Remove horizontal editorial separators while retaining button boundaries. */
.section-meta,.section-foot,.project-end,.quote,.quote-credit,.service-list,.service-row,.album-link,.process-steps,.process-step+.process-step,.footer,.footer small,.map-section .section-top{border-top:0!important;border-bottom:0!important}
@media(max-width:760px){.continuous-guides{opacity:.075}}
/* Native sticky stage keeps the camera journey tied to document scrolling. */
.camera-journey{position:relative;height:100svh;margin:80px calc(-1 * var(--gutter)) calc(-1 * clamp(75px,10vw,135px));background:#000;color:#fff}
.camera-journey.is-animated{height:245svh}
.camera-viewport{position:sticky;top:0;height:100svh;min-height:520px;overflow:hidden;isolation:isolate;background:#000}
.camera-media,.camera-result{position:absolute;inset:0;width:100%;height:100%;transform-origin:50% 54%}
.camera-media video,.camera-result img{width:100%;height:100%;object-fit:cover;display:block}
.camera-media video{object-position:50% 50%}.camera-result{display:none;z-index:2;clip-path:circle(0% at 50% 54%)}.is-animated .camera-result{display:block}
.camera-shade{position:absolute;inset:0;z-index:3;background:linear-gradient(180deg,rgba(0,0,0,.35),transparent 40%,rgba(0,0,0,.56))}
.camera-label{position:absolute;left:var(--gutter);top:36px;z-index:4;font-size:10px;letter-spacing:.18em;color:#fff}
.camera-message{position:absolute;left:var(--gutter);right:var(--gutter);bottom:16%;z-index:4;max-width:640px}
.camera-message>p{font:400 10px/1.5 var(--sans);letter-spacing:.2em;margin:0 0 22px}
.camera-message h3{font:300 clamp(44px,6.7vw,100px)/1.02 var(--sans);letter-spacing:-.04em;margin:0;color:#fff}
.camera-message h3 em{font:italic 400 1em/1 var(--serif)}
.camera-message-last{opacity:0;visibility:hidden;pointer-events:none}
.camera-bottom{position:absolute;z-index:4;bottom:28px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;gap:20px;font-size:9px;letter-spacing:.16em;color:#fff}
@media(max-width:760px){.camera-journey{margin-top:48px;margin-bottom:-75px;height:85svh}.camera-journey.is-animated{height:175svh}.camera-viewport{height:85svh;min-height:500px}.camera-message{bottom:16%}.camera-message h3{font-size:clamp(42px,11vw,68px)}.camera-label{top:28px;font-size:9px}.camera-bottom{font-size:8px}.camera-hint{display:none}}
@media(prefers-reduced-motion:reduce){.camera-journey{height:85svh}.camera-viewport{position:relative;height:85svh}.camera-result,.camera-message-last{display:none!important}.camera-hint{display:none}}
