@font-face{font-family:HelveticaRegular;src:local('Helvetica Neue'),local('Helvetica'),local('Arial');font-weight:400;font-display:swap}
:root{--blue:#255bff;--white:#fff;--black:#000;--text:#c0c5d2;--dim:#838a9c;--line:rgba(255,255,255,.16);--ease:cubic-bezier(.22,1,.36,1);--gutter:clamp(24px,4vw,80px);color-scheme:dark}
*{box-sizing:border-box}html{background:#000;scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#000;color:#fff;font-family:HelveticaRegular,Helvetica,Arial,sans-serif;font-weight:400;font-size:16px;overflow-x:clip;-webkit-font-smoothing:antialiased}body.modal-open{overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button{color:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2,h3,strong{font-weight:400}h2{font-size:clamp(54px,7.8vw,116px);letter-spacing:-.075em;line-height:.94}em{font-style:normal;color:#255bff}button:focus-visible,a:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid #7194ff;outline-offset:6px}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-library{position:absolute;width:0;height:0;overflow:hidden}.micro,.eyebrow{font-size:12px;font-weight:400;line-height:1.5;letter-spacing:.11em;text-transform:uppercase}.eyebrow{color:#a9b6d0;margin-bottom:28px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:10px;left:20px;padding:16px;background:var(--blue);z-index:120;transform:translateY(-180%)}.skip-link:focus{transform:none}

.loader{display:none}.js .loader{display:flex;position:fixed;inset:0;z-index:100;background:#000;align-items:center;justify-content:center;flex-direction:column;gap:26px;transition:opacity .7s ease,visibility .7s;animation:loader-exit 0s 2.8s forwards}.loader>img{width:180px;height:auto;filter:brightness(0) invert(1)}.loader-track{height:1px;width:180px;background:#1c2437;overflow:hidden}.loader-track span{display:block;width:45%;height:100%;background:var(--blue);animation:loader-scan 1s ease-in-out infinite}.loader .micro{color:#8e97ac;font-size:10px}.loaded .loader{opacity:0;visibility:hidden;pointer-events:none}
.ambient{position:fixed;inset:0;overflow:hidden;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 72% 42%,#071124 0%,#02050c 38%,#000 76%)}#spatial-field{position:absolute;inset:0;width:100%;height:100%;opacity:.75}.ambient-light{position:absolute;width:70vw;height:70vw;right:-42vw;top:-25vw;border-radius:50%;background:radial-gradient(circle,rgba(37,91,255,.13),transparent 65%)}.screen-grain{position:fixed;inset:0;z-index:50;opacity:.025;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 128 128' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23n)' d='M0 0h128v128H0z'/%3E%3C/svg%3E")}main{position:relative;z-index:1}
.site-header{position:fixed;z-index:40;left:var(--gutter);right:var(--gutter);top:28px;display:flex;justify-content:space-between;align-items:center;gap:24px;transition:opacity .7s,transform .7s var(--ease)}.js:not(.loaded) .site-header{opacity:0;transform:translateY(-10px)}.brand img{width:142px;height:auto;max-height:32px;object-fit:contain;filter:brightness(0) invert(1)}.main-nav{display:flex;align-items:center;gap:26px;padding:12px 18px;border:1px solid rgba(172,198,255,.22);background:rgba(5,9,18,.7);border-radius:40px;box-shadow:0 8px 32px #0003;backdrop-filter:blur(16px)}.main-nav a{font-size:13px;color:#c4cad8;white-space:nowrap;transition:color .2s}.main-nav a:hover,.main-nav a[aria-current]{color:#fff}.main-nav a>span{margin-left:4px;font-size:10px;vertical-align:super;color:#7192ff}.main-nav .nav-contact{display:flex;align-items:center;gap:12px;color:#fff}.main-nav svg{width:14px;height:14px}.chapter-indicator{position:fixed;z-index:30;right:var(--gutter);bottom:28px;display:flex;align-items:center;gap:12px;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:#8d99b5;pointer-events:none}.chapter-rule{width:46px;height:1px;background:#ffffff30}.chapter-rule i{display:block;transform:scaleX(var(--page-progress,0));transform-origin:left;background:#fff;width:100%;height:100%}.quick-contact{position:fixed;z-index:30;left:var(--gutter);bottom:22px;display:grid;place-items:center;width:42px;height:42px;border:1px solid #ffffff25;border-radius:50%;background:#070b15c9;backdrop-filter:blur(12px);color:#bdc9e3;transition:background .25s,color .25s,transform .25s}.quick-contact:hover{background:var(--blue);color:#fff;transform:translateY(-3px)}.quick-contact svg{width:20px;height:20px}

.intro{height:200svh;position:relative}.intro-stage{height:100svh;position:sticky;top:0;overflow:hidden;isolation:isolate}.intro-coordinate{position:absolute;top:150px;left:var(--gutter);color:#667699;display:flex;gap:32px;z-index:3;opacity:var(--intro-label,1)}.intro-coordinate span{color:#a4aec2}.logo-space{position:absolute;width:min(76vw,1050px);height:82%;left:50%;top:50%;transform:translate3d(calc(-50% + var(--pointer-x,0px)),calc(-50% + var(--pointer-y,0px)),0) scale(var(--logo-scale,1));opacity:var(--logo-opacity,1);will-change:transform}.logo-space video,.logo-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;mask-image:radial-gradient(ellipse at 50% 50%,#000 35%,#000c 56%,transparent 73%);mix-blend-mode:screen}.logo-fallback{display:none}.video-failed .logo-fallback,.reduced-motion .logo-fallback{display:block}.video-failed #logo-video,.reduced-motion #logo-video{visibility:hidden}.logo-aura{position:absolute;inset:4%;background:radial-gradient(ellipse,rgba(37,91,255,.12),transparent 65%);transform:scale(1.1)}.intro-cross{position:absolute;font-size:23px;font-weight:200;color:#7794da40;top:49%;pointer-events:none}.cross-a{left:10%}.cross-b{right:10%}.intro-footer{position:absolute;bottom:110px;left:var(--gutter);right:var(--gutter);display:grid;grid-template-columns:1fr auto 1fr;align-items:end;color:#8a98b5;opacity:var(--intro-label,1);transform:translateY(var(--intro-label-y,0px))}.intro-footer>.micro{line-height:1.8;font-size:11px}.intro-year{justify-self:end;text-align:right}.scroll-invite{display:flex;flex-direction:column;align-items:center;gap:18px;font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:#c3cee5}.scroll-line{height:38px;width:1px;background:linear-gradient(#255bff,transparent);transform-origin:top;animation:scroll-pulse 2.4s ease-in-out infinite}.intro-progress{position:absolute;bottom:0;left:0;right:0;height:1px;background:#ffffff0a}.intro-progress span{display:block;height:100%;background:linear-gradient(90deg,transparent,var(--blue));transform:scaleX(var(--intro-progress,0));transform-origin:left}

.work-section{position:relative;padding-top:70px;padding-bottom:80px}.work-stage{position:relative;min-height:900px}.work-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;padding:40px var(--gutter) 0}.work-heading h2{font-size:clamp(48px,5.2vw,78px);line-height:.98}.work-heading .eyebrow{margin-bottom:16px}.work-note{font-size:14px;line-height:1.6;color:var(--dim);padding-bottom:6px;text-align:right}.gallery{position:relative;margin-top:35px;outline-offset:-6px;min-height:470px}.gallery-track{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:var(--gutter);padding:35px var(--gutter) 50px;scrollbar-width:thin;scrollbar-color:#255bff #000;overscroll-behavior-x:contain;touch-action:pan-x pan-y pinch-zoom}.project-card{flex:0 0 300px;position:relative;border:0;padding:0;background:none;scroll-snap-align:center;aspect-ratio:3/4;outline-offset:8px}.card-face{display:block;position:relative;width:100%;height:100%;border-radius:8px;overflow:hidden;border:1px solid #ffffff35;box-shadow:0 28px 50px #0008;isolation:isolate;transform:perspective(1000px) rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg));transition:transform .5s var(--ease),border-color .3s,box-shadow .4s}.card-face>img{width:100%;height:100%;object-fit:cover;transition:transform .75s var(--ease),filter .4s;transform:scale(1.015)}.card-face::after{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,#0003,transparent 25%,transparent 44%,#000a);pointer-events:none}.card-top{position:absolute;top:18px;left:18px;right:18px;z-index:2;display:flex;justify-content:space-between;text-align:left;font-size:10px;text-shadow:0 1px 12px #000}.card-top>span{opacity:.8}.card-caption{position:absolute;bottom:20px;left:18px;right:18px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;font-size:24px;letter-spacing:-.045em}.card-caption svg{width:20px;height:20px;opacity:.7}.card-shine{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;background:radial-gradient(circle at var(--glare-x,50%) var(--glare-y,30%),#ffffff50,transparent 48%);transition:opacity .3s}.project-card:hover .card-face,.project-card:focus-visible .card-face{transform:perspective(1000px) translateY(-10px) rotateX(var(--tilt-y,0deg)) rotateY(var(--tilt-x,0deg));border-color:#b0c7ff;box-shadow:0 24px 48px #000a,0 0 30px #255bff24}.project-card:hover img{transform:scale(1.075);filter:saturate(1.08)}.project-card:hover .card-shine{opacity:.7}.gallery-floor{position:absolute;inset:35% 0 -10%;pointer-events:none;background:radial-gradient(ellipse,rgba(37,91,255,.1),transparent 62%)}.gallery-console{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;margin:0 var(--gutter);padding-top:18px;border-top:1px solid var(--line)}.gallery-current{display:flex;align-items:center;gap:22px}.gallery-current>.micro{font-size:11px;color:#7c8caf}.gallery-current>#project-name{font-size:14px;color:#ccd4e5}.gallery-dots{display:flex;gap:4px}.gallery-dots button{display:grid;place-items:center;width:27px;height:32px;background:none;border:0;padding:6px}.gallery-dots button::after{content:'';display:block;width:5px;height:5px;border-radius:50%;background:#53617c;transition:background .2s,transform .2s}.gallery-dots button[aria-current=true]::after{background:var(--blue);transform:scale(1.6)}.gallery-controls{display:flex;justify-self:end;gap:8px}.gallery-controls>button{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:1px solid #ffffff30;background:#070b1399;transition:background .2s}.gallery-controls>button:hover{background:var(--blue)}.gallery-controls>button:disabled{opacity:.3;cursor:default}.gallery-controls svg{width:18px;height:18px}.reverse{transform:rotate(180deg)}.gallery-skip{display:block;text-align:center;width:max-content;margin:24px auto 0;color:#7e8ba6;font-size:10px}.gallery-skip span{margin-left:12px;color:#c3d1ee}
@media(min-width:901px) and (min-height:650px) and (prefers-reduced-motion:no-preference){.spatial-enabled .work-section{height:460svh;padding:0}.spatial-enabled .work-stage{position:sticky;top:0;height:100svh;min-height:650px;overflow:hidden}.spatial-enabled .work-heading{padding-top:105px}.spatial-enabled .work-heading h2{font-size:clamp(46px,4.8vw,70px)}.spatial-enabled .gallery{margin-top:0;min-height:0;position:absolute;left:0;right:0;top:270px;bottom:138px;perspective:1600px;perspective-origin:50% 47%;overflow:visible}.spatial-enabled .gallery-track{display:block;position:absolute;inset:0;overflow:visible;padding:0;transform-style:preserve-3d;scroll-snap-type:none}.spatial-enabled .project-card{position:absolute;left:50%;top:50%;width:clamp(200px,22vw,340px);width:min(25vw,calc((100svh - 420px)*.75));min-width:175px;transform-style:preserve-3d;will-change:transform;transition:opacity .2s;}.spatial-enabled .gallery-console{position:absolute;left:0;right:0;bottom:65px}.spatial-enabled .gallery-skip{position:absolute;bottom:34px;left:50%;transform:translateX(-50%);margin:0}.spatial-enabled .card-caption{font-size:clamp(17px,1.8vw,25px)}.spatial-enabled .card-top{font-size:9px}}

.partners{position:relative;padding:36px 0 40px;margin:0 var(--gutter);border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;background:#0005}.partners-label{display:flex;justify-content:space-between;gap:20px;color:#8593ad}.partners-label>span:last-child{font-size:13px;letter-spacing:-.01em}.brand-marquee{overflow:hidden;margin-top:30px;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.brand-marquee-track{display:flex;width:max-content;animation:marquee 34s linear infinite}.brand-marquee span{display:block;padding:15px 3.5vw;min-width:190px;color:#6b7892;font-size:21px;letter-spacing:-.045em;font-weight:400}.brand-marquee span:nth-child(3n+2){font-style:italic;letter-spacing:.1em;font-size:18px}.partners:hover .brand-marquee-track{animation-play-state:paused}
.about-section{padding:170px var(--gutter) 130px;position:relative;background:linear-gradient(180deg,transparent,#020408b3 55%,transparent)}.section-heading{display:flex;justify-content:space-between;gap:25px;align-items:baseline;margin-bottom:60px}.section-heading .micro{color:#687a9b}.about-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr);gap:clamp(50px,11vw,170px);max-width:1320px;margin:auto;align-items:center}.about-image{position:relative}.about-image figure{position:relative;border-radius:2px;overflow:hidden;isolation:isolate}.about-image figure::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 68%,#0008);pointer-events:none}.about-image img{aspect-ratio:4/5;width:100%;height:auto;object-fit:cover;object-position:50% 30%;filter:saturate(.35);transition:filter .8s}.about-image:hover img{filter:saturate(.9)}.about-image figcaption{position:absolute;z-index:1;bottom:22px;left:22px;right:22px;display:flex;justify-content:space-between;gap:18px;font-size:12px;color:#e8edfa}.photo-coordinate{display:block;color:#687a9b;margin-top:16px;font-size:10px}.about-copy h2{font-size:clamp(58px,7.6vw,112px);margin-bottom:34px}.about-lead{font-size:21px;line-height:1.4;max-width:420px;letter-spacing:-.025em;margin-bottom:15px}.about-description{max-width:440px;font-size:16px;color:#929db1;line-height:1.65}.experience{display:grid;grid-template-columns:1fr 1fr;gap:36px;border-top:1px solid var(--line);margin-top:40px;padding-top:24px}.experience>div{position:relative}.experience-icon{position:absolute;right:3px;top:4px;color:#688fff;font-size:23px}.experience strong{display:block;font-size:clamp(46px,5vw,70px);line-height:1;letter-spacing:-.07em}.experience strong>span{color:#688fff;font-size:.5em;vertical-align:top;margin-left:3px}.experience p{font-size:12px;color:#9aabc6;margin-top:13px;letter-spacing:.025em}
.approach-section{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(50px,10vw,160px);padding:130px var(--gutter) 160px;max-width:1600px;margin:auto}.approach-heading h2{font-size:clamp(50px,6.5vw,88px);margin:30px 0}.approach-heading>p:last-child{color:#8897af;font-size:15px;line-height:1.6}.approach-list{padding-top:45px}.approach-list details{border-top:1px solid var(--line);padding:24px 0}.approach-list details:last-child{border-bottom:1px solid var(--line)}.approach-list summary{list-style:none;display:grid;grid-template-columns:32px 1fr 20px;gap:16px;align-items:baseline;cursor:pointer}.approach-list summary::-webkit-details-marker{display:none}.approach-list h3{font-size:clamp(22px,2.6vw,36px);line-height:1.15;letter-spacing:-.045em}.approach-list summary>.micro{color:#6d87b5;font-size:11px}.disclosure-plus{position:relative;align-self:center;width:16px;height:16px}.disclosure-plus::before,.disclosure-plus::after{content:'';position:absolute;top:7px;left:0;width:16px;height:1px;background:#8b9fc2;transition:transform .3s}.disclosure-plus::after{transform:rotate(90deg)}details[open] .disclosure-plus::after{transform:rotate(0)}.approach-list details>p{padding:22px 35px 8px 48px;font-size:15px;line-height:1.65;color:#95a1b7;animation:detail-in .45s var(--ease)}
.contact-section{position:relative;min-height:100svh;padding:110px var(--gutter) 0;display:flex;align-items:center;flex-direction:column;text-align:center;overflow:hidden;background:linear-gradient(180deg,transparent,#010309 25%,#01030b)}.contact-wash{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 65%,#16399d60,transparent 58%);z-index:0}.contact-section>*:not(.contact-wash){position:relative;z-index:1}.contact-section>.eyebrow{margin-bottom:36px}.contact-section h2{font-size:clamp(60px,9.5vw,144px);line-height:.95;letter-spacing:-.08em}.contact-intro{margin-top:32px;color:#92a3c2;font-size:16px}.contact-links{margin:44px 0 120px;display:flex;flex-direction:column;align-items:center;gap:24px}.contact-primary{display:flex;align-items:center;gap:22px;padding:21px 27px;border:1px solid #819cfa80;border-radius:3px;background:linear-gradient(120deg,#285efa,#1941c7);box-shadow:0 16px 55px #143eaf30;text-align:left;transition:transform .3s var(--ease),box-shadow .3s}.contact-primary:hover{transform:translateY(-5px);box-shadow:0 22px 70px #255bff40}.contact-primary>span{font-size:16px}.contact-primary small{display:block;font-size:12px;opacity:.7;margin-top:6px}.contact-primary>.contact-arrow{width:20px;margin-left:32px}.contact-instagram{display:flex;align-items:center;gap:12px;color:#9babca;font-size:14px;padding:9px}.contact-instagram svg{width:18px;height:18px}.contact-instagram svg:last-child{margin-left:18px;width:12px;height:12px}.contact-instagram:hover{color:#fff}.contact-section footer{width:100%;margin-top:auto;border-top:1px solid #ffffff18;display:flex;justify-content:space-between;align-items:center;gap:30px;padding:32px 0 88px}.footer-brand img{width:135px;height:auto;filter:brightness(0) invert(1)}.contact-section footer .micro{color:#74829f;font-size:10px}
.reveal{opacity:1}.motion-ready .reveal{opacity:0;transform:translateY(35px);transition:opacity 1s var(--ease),transform 1s var(--ease);transition-delay:var(--delay,0ms)}.motion-ready .reveal.is-visible{opacity:1;transform:none}
/* Center both ends of the native carousel, including wide, short screens. */
.gallery-track{--card-size:300px;padding-inline:max(var(--gutter),calc((100% - var(--card-size))/2))}
.main-nav a{font-size:14px}.loader .micro,.main-nav a>span,.chapter-indicator,.intro-footer>.micro,.scroll-invite,.card-top,.gallery-current>.micro,.gallery-skip,.photo-coordinate,.approach-list summary>.micro,.contact-section footer .micro,.dialog-copy .eyebrow,.dialog-tags span{font-size:12px}

#case-dialog{color:#fff;padding:0;border:1px solid #6983bb40;border-radius:12px;background:#050913;width:min(1100px,92vw);max-width:none;max-height:90svh;overflow:auto;box-shadow:0 40px 120px #000c}#case-dialog::backdrop{background:#01030be8;backdrop-filter:blur(16px)}#case-dialog[open]{animation:modal-in .5s var(--ease)}.case-dialog-panel{display:grid;grid-template-columns:1fr 1fr;min-height:580px;max-height:86svh;position:relative}.dialog-media{display:flex;align-items:center;justify-content:center;background:#000;min-width:0;min-height:0}.dialog-media video{width:100%;height:100%;max-height:86svh;object-fit:contain}.dialog-copy{padding:64px 42px 32px;background:radial-gradient(ellipse at 90% 10%,#152f6860,transparent 65%);display:flex;flex-direction:column}.dialog-copy .eyebrow{font-size:11px;color:#799acb}.dialog-copy h2{font-size:clamp(42px,4.5vw,66px);line-height:1;margin:28px 0}.dialog-copy>p:not(.eyebrow){font-size:16px;color:#acb6cc;line-height:1.6}.dialog-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.dialog-tags span{border:1px solid #ffffff26;border-radius:20px;padding:8px 12px;font-size:11px;color:#879cbf}.dialog-navigation{margin-top:auto;padding-top:50px;display:flex;justify-content:space-between;gap:18px}.dialog-navigation button{font-size:13px;padding:10px 0;background:none;border:0;color:#b7c6e0}.dialog-navigation button:hover{color:#fff}.dialog-close{position:absolute;top:15px;right:15px;width:40px;height:40px;border:1px solid #ffffff35;border-radius:50%;background:#03060c90;z-index:5;display:grid;place-items:center}.dialog-close span{position:absolute;display:block;width:16px;height:1px;background:#fff;transform:rotate(45deg)}.dialog-close span:last-child{transform:rotate(-45deg)}
@keyframes loader-scan{from{transform:translateX(-100%)}to{transform:translateX(330%)}}@keyframes loader-exit{to{opacity:0;visibility:hidden;pointer-events:none}}@keyframes scroll-pulse{0%,100%{opacity:.4;transform:scaleY(.6)}50%{opacity:1;transform:scaleY(1)}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes detail-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes modal-in{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
@media(min-width:1600px){.spatial-enabled .gallery{top:290px;bottom:140px}.spatial-enabled .project-card{width:min(23vw,calc((100svh - 455px)*.75))}}
@media(max-width:900px){.site-header{top:22px}.main-nav{gap:20px}.main-nav a{font-size:12px}.brand img{width:120px}.intro-coordinate{top:130px}.intro-coordinate span{display:none}.logo-space{width:96vw;height:78%}.intro-footer{bottom:95px}.intro-footer>.micro{max-width:130px}.intro{height:160svh}.work-section{padding-top:20px}.work-heading{padding-top:85px}.work-heading h2{font-size:62px}.work-note{font-size:12px}.gallery{min-height:0;margin-top:25px}.project-card{flex-basis:min(44vw,310px)}.gallery-console{grid-template-columns:1fr auto}.gallery-dots{grid-row:2;grid-column:1/-1;justify-content:center}.gallery-current{gap:15px}.about-section{padding-top:120px;padding-bottom:80px}.about-layout{gap:50px}.about-copy h2{font-size:65px}.about-lead{font-size:18px}.about-description{font-size:15px}.experience{gap:22px}.experience strong{font-size:48px}.experience-icon{font-size:18px}.experience p{font-size:10px}.approach-section{gap:50px;padding-top:70px;padding-bottom:110px}.approach-heading h2{font-size:57px}.approach-list summary{grid-template-columns:24px 1fr 16px;gap:12px}.approach-list h3{font-size:25px}.approach-list details>p{padding-left:36px;padding-right:10px}.contact-section h2{font-size:90px}.case-dialog-panel{min-height:480px}.dialog-copy{padding:60px 26px 28px}}
@media(max-width:600px){:root{--gutter:22px}.site-header{top:18px;gap:15px}.brand img{width:109px}.main-nav{padding:10px 13px;gap:15px}.main-nav>a:nth-child(2){display:none}.main-nav a{font-size:11px}.main-nav .nav-contact{gap:8px}.main-nav svg{width:12px;height:12px}.main-nav a>span{font-size:8px}.intro-coordinate{font-size:9px;top:111px;letter-spacing:.14em}.intro-footer{bottom:100px;grid-template-columns:1fr auto}.intro-footer>.micro{font-size:9px}.intro-year{display:none}.scroll-invite{font-size:9px;letter-spacing:.1em;gap:12px}.scroll-line{height:27px}.logo-space{width:122vw;height:70%}.intro-cross{font-size:17px}.cross-a{left:6%}.cross-b{right:6%}.intro{height:150svh}.chapter-indicator{bottom:26px;gap:8px;font-size:9px}.chapter-rule{width:30px}.quick-contact{width:37px;height:37px}.quick-contact svg{width:18px;height:18px}.work-section{padding-top:10px;padding-bottom:60px}.work-heading{padding-top:80px;display:block}.work-heading .eyebrow{font-size:10px;margin-bottom:22px}.work-heading h2{font-size:54px}.work-note{margin-top:24px;text-align:left;font-size:13px;line-height:1.5}.work-note br{display:none}.gallery-track{gap:17px;padding-top:23px;padding-bottom:33px}.project-card{flex-basis:72vw;max-width:320px}.card-caption{font-size:25px}.gallery-console{gap:17px}.gallery-current{gap:13px}.gallery-current>#project-name{font-size:12px}.gallery-current>.micro{font-size:9px}.gallery-controls>button{width:37px;height:37px}.gallery-dots button{width:26px}.gallery-skip{margin-top:10px}.partners{padding-top:25px;padding-bottom:22px}.partners-label{display:block}.partners-label>.micro{font-size:10px}.partners-label>span:last-child{display:block;font-size:12px;margin-top:10px}.brand-marquee{margin-top:18px}.brand-marquee span{min-width:150px;padding:12px 28px;font-size:18px}.brand-marquee span:nth-child(3n+2){font-size:15px}.about-section{padding-top:95px;padding-bottom:50px}.section-heading{margin-bottom:40px}.section-heading>.micro{display:none}.section-heading .eyebrow{font-size:10px;margin:0}.about-layout{display:flex;flex-direction:column;gap:45px}.about-image{max-width:420px;width:100%;align-self:center}.about-image img{aspect-ratio:5/6}.about-image figcaption{font-size:11px;left:18px;right:18px}.photo-coordinate{font-size:9px}.about-copy h2{font-size:clamp(60px,17vw,88px);margin-bottom:30px}.about-lead{font-size:21px;max-width:320px}.about-description{font-size:16px}.experience{margin-top:32px;gap:26px;padding-top:26px}.experience strong{font-size:62px}.experience p{font-size:12px}.experience-icon{font-size:23px}.approach-section{display:block;padding-top:80px;padding-bottom:85px}.approach-heading .eyebrow{font-size:10px}.approach-heading h2{font-size:61px}.approach-list{padding-top:36px}.approach-list h3{font-size:27px}.approach-list details{padding:24px 0}.approach-list details>p{font-size:15px}.contact-section{padding-top:90px}.contact-section>.eyebrow{font-size:10px}.contact-section h2{font-size:clamp(53px,14vw,78px)}.contact-intro{font-size:14px;max-width:240px;line-height:1.6;margin-top:24px}.contact-links{width:100%;margin-top:32px;margin-bottom:85px}.contact-primary{padding:20px;width:100%;max-width:390px;gap:16px}.contact-primary>span{font-size:14px}.contact-primary small{font-size:11px}.contact-primary>.contact-arrow{margin-left:auto;width:17px}.contact-section footer{display:grid;grid-template-columns:1fr auto;gap:28px;padding:30px 0 88px}.footer-brand img{width:115px}.contact-section footer>.micro{grid-column:1;grid-row:2;text-align:left;font-size:9px}.back-top{grid-row:1;grid-column:2}.case-dialog-panel{display:block;max-height:none;min-height:0}.dialog-media{height:60svh}.dialog-media video{height:100%;max-height:none}.dialog-copy{padding:30px 25px}.dialog-copy h2{font-size:46px;margin-top:12px}.dialog-copy>p:not(.eyebrow){font-size:15px}.dialog-navigation{padding-top:30px}#case-dialog{max-height:94svh;width:94vw;border-radius:8px}}
.dialog-toolbar{position:sticky;top:0;height:0;z-index:6}
.logo-echo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:28%;max-width:245px;opacity:var(--echo-opacity,.28);pointer-events:none}.reduced-motion .logo-echo,.video-failed .logo-echo{display:none}
.spatial-enabled .gallery-track{pointer-events:none}.spatial-enabled .project-card{pointer-events:auto}
@media(min-width:901px) and (min-height:650px){.spatial-enabled #projetos{scroll-margin-top:-100px}}
.loader .micro,.main-nav a>span,.chapter-indicator,.intro-coordinate,.intro-footer>.micro,.scroll-invite,.card-top,.gallery-current>.micro,.gallery-skip,.photo-coordinate,.approach-list summary>.micro,.contact-section footer .micro,.dialog-copy .eyebrow,.dialog-tags span,.experience p,.eyebrow,.contact-primary small{font-size:12px}
.spatial-enabled .card-top{font-size:12px}
@media(max-width:900px){.gallery-track{--card-size:min(44vw,310px)}}
@media(max-width:600px){.gallery-track{--card-size:min(72vw,320px)}.main-nav a{font-size:12px}.main-nav a>span{display:none}.main-nav{gap:12px;padding:10px 12px}.site-header{gap:12px}.brand img{width:100px}.intro-coordinate{font-size:12px}.work-heading .eyebrow,.section-heading .eyebrow,.partners-label>.micro,.approach-heading .eyebrow,.contact-section>.eyebrow{font-size:12px}.gallery-current>.micro,.gallery-skip,.photo-coordinate,.intro-footer>.micro,.scroll-invite,.chapter-indicator,.contact-section footer>.micro{font-size:12px}.intro-footer>.micro{max-width:155px}.intro-footer{gap:24px}.chapter-indicator{letter-spacing:.02em}.card-top{font-size:12px}}
@media(max-width:360px){.brand img{width:85px}.main-nav .nav-contact{gap:5px}.main-nav{gap:10px}.intro-footer>.micro{font-size:11px}.scroll-invite{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.loader{display:none!important}.intro{height:100svh}.intro-stage{position:relative}.logo-space{transform:translate(-50%,-50%);will-change:auto}#spatial-field{display:none}.motion-ready .reveal{opacity:1;transform:none}.project-card:hover .card-face{transform:none}.project-card:hover img{transform:none}}

/* The opening and later chapters share a restrained camera language. */
.js .loader{gap:17px;clip-path:inset(0 0 0 0);transition:clip-path .9s var(--ease),visibility .9s;animation:loader-exit 0s 3s forwards}
.loader::before{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,#255bff17 50%,transparent 65%);transform:translateX(-100%);animation:loader-light 1.65s ease-in-out infinite;pointer-events:none}
.loader .loader-symbol{width:60px;height:60px;object-fit:contain;filter:brightness(0) invert(1);animation:loader-symbol 1.25s var(--ease) both}
.loader .loader-wordmark{width:180px;height:auto;margin:6px 0 8px;filter:brightness(0) invert(1)}
.loaded .loader{clip-path:inset(0 0 100% 0);visibility:hidden}
@keyframes loader-light{to{transform:translateX(100%)}}
@keyframes loader-symbol{from{opacity:0;transform:translateY(18px) scale(.68);filter:brightness(0) invert(1) blur(12px)}to{opacity:1;transform:none;filter:brightness(0) invert(1) blur(0)}}
@media(min-width:901px){.about-section{min-height:105svh;display:flex;flex-direction:column;justify-content:center}.about-section .section-heading,.about-section .about-layout{width:100%}.about-image figure{transform:translate3d(0,var(--about-photo-y,0px),0);will-change:transform}.about-copy{transform:translate3d(0,var(--about-copy-y,0px),0);will-change:transform}.approach-section{min-height:105svh;align-items:start;padding-top:20svh}.approach-heading{position:sticky;top:23vh;transform:translate3d(0,var(--approach-y,0px),0);will-change:transform}.approach-list{perspective:1000px}.approach-list details{transition:transform .55s var(--ease),border-color .35s}.approach-list details:hover{transform:translate3d(12px,0,15px) rotateY(-2deg);border-color:#5577bd}.approach-list details:hover h3{color:#e8efff}.contact-wash{transform:translate3d(0,var(--contact-light-y,0px),0) scale(1.15);will-change:transform}}
@media(prefers-reduced-motion:reduce){.about-image figure,.about-copy,.approach-heading,.contact-wash{transform:none!important;will-change:auto}}
@media(max-width:600px){.contact-section footer>span.micro{grid-column:1;grid-row:2;font-size:12px}.contact-section footer>a.back-top{grid-column:2;grid-row:1;font-size:12px}}

/* Full-bleed opening. The film itself supplies the light and texture. */
.intro-stage{background:#000}
.intro .logo-space{width:100%;height:100%;left:0;top:0;transform:translate3d(var(--pointer-x,0px),var(--pointer-y,0px),0) scale(var(--logo-scale,1));opacity:1}
.intro .logo-space video,.intro .logo-fallback{object-fit:cover;mask-image:none;mix-blend-mode:normal}
.intro .logo-echo{width:24vw;max-width:330px}
.intro .intro-footer{display:flex;justify-content:center;bottom:80px;z-index:2}
.intro .scroll-invite{text-shadow:0 2px 15px #000}

.connections{position:relative;padding:110px 0 55px;background:linear-gradient(180deg,#02050c40,#02040ae8 45%,#02050c40);overflow:hidden}
.connections-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:45px;padding:0 var(--gutter) 70px}
.connections-heading h2{font-size:clamp(52px,6.8vw,98px)}
.connections-intro{padding-bottom:5px;color:#9ba8c1;font-size:15px;line-height:1.6}
.motion-toggle{display:flex;gap:10px;align-items:center;margin-top:24px;padding:10px 16px;border:1px solid #ffffff25;border-radius:30px;background:#ffffff05;color:#c4cee2;font-size:12px;transition:background .25s}
.motion-toggle:hover{background:#ffffff10}.motion-toggle span{color:#6d91ff}
.partner-row{display:block;position:relative;border-top:1px solid #ffffff17;min-height:210px}
.partner-row:last-child{border-bottom:1px solid #ffffff17}
.partner-category{display:flex;align-items:center;gap:15px;padding:30px 22px 30px var(--gutter);z-index:1}
.partner-category>.micro{font-size:10px;color:#6287ef;align-self:flex-start;margin-top:7px}
.partner-category h3{font-size:32px;letter-spacing:-.05em}
.partner-count{font-size:11px;color:#70809f;align-self:flex-start;margin-top:7px}
.logo-marquee{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#255bff55 transparent;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.logo-track{display:flex;width:max-content}
.logo-set{list-style:none;display:flex;align-items:center;padding:0;margin:0}
.partner-logo{width:225px;height:225px;flex:0 0 225px;position:relative;overflow:hidden}
.partner-logo img{position:absolute;left:50%;top:46%;width:min(calc(var(--logo-width,180px)*1.16),215px);height:auto;max-width:none;transform:translate(-50%,-50%);opacity:1;transition:opacity .45s,transform .65s var(--ease)}
.partner-logo>span{position:absolute;bottom:22px;left:12px;right:12px;text-align:center;font-size:11px;color:#7d8ba5;letter-spacing:.035em;opacity:.65;transition:opacity .3s}
.partner-logo:hover img{opacity:1;transform:translate(-50%,-50%) scale(1.08)}
.partner-logo:hover>span{opacity:1;color:#c5d5f7}
.marquees-ready .logo-marquee{overflow:hidden}
.marquees-ready .logo-track{animation:marquee var(--marquee-duration,45s) linear infinite;animation-play-state:paused}
.marquees-ready .partner-row:nth-of-type(3) .logo-track{animation-direction:reverse}
.marquees-ready .partner-row.is-in-view .logo-track{animation-play-state:running}
.connections.is-paused .logo-track,.tab-hidden .logo-track,.modal-open .logo-track{animation-play-state:paused!important}
.reduced-motion .motion-toggle{display:none}
.reduced-motion .logo-track{animation:none!important;width:100%}
.reduced-motion .logo-set{flex-wrap:wrap;justify-content:center;width:100%}
.reduced-motion .logo-set[aria-hidden]{display:none}
.reduced-motion .logo-marquee{mask-image:none}
.reduced-motion .intro .logo-space{transform:none;will-change:auto}
.about-image figure{border-radius:26px}.about-image img,.about-image:hover img{filter:none}
.partner-category{padding-top:22px;padding-bottom:0}.logo-marquee{mask-image:linear-gradient(90deg,transparent,#000 2%,#000 98%,transparent)}
@media(min-width:1600px){.partner-row{grid-template-columns:320px minmax(0,1fr)}}
@media(max-width:900px){.connections{padding-top:80px}.connections-heading{align-items:flex-start;gap:30px}.connections-heading h2{font-size:64px}.connections-intro{font-size:13px}.partner-row{grid-template-columns:200px minmax(0,1fr)}.partner-category{gap:10px}.partner-category h3{font-size:28px}.partner-logo{width:210px;flex-basis:210px}.intro .logo-echo{width:35vw}}
@media(max-width:600px){.intro .logo-space video,.intro .logo-fallback{object-fit:contain}.intro .logo-echo{width:46vw}.intro .intro-footer{bottom:95px}.connections{padding-top:55px;padding-bottom:20px}.connections-heading{display:block;padding-bottom:42px}.connections-heading h2{font-size:55px}.connections-intro{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:25px;font-size:12px}.connections-intro p{max-width:185px}.motion-toggle{margin:0;padding:9px 12px;max-width:130px;line-height:1.3;text-align:left}.partner-row{display:block;min-height:0}.partner-category{padding:24px var(--gutter) 0;gap:13px}.partner-category h3{font-size:32px}.partner-count{margin-left:auto}.partner-logo{width:210px;flex-basis:210px;height:170px}.partner-logo img{width:calc(var(--logo-width,180px)*.87)}.partner-logo>span{bottom:14px;font-size:10px}.logo-marquee{mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}.reduced-motion .partner-logo{width:50%;flex-basis:50%}.reduced-motion .partner-logo img{width:calc(var(--logo-width,180px)*.72)}}
