/* Pure white, custom project atlas and the AE Solar motion language. */
:root{--paper:#fff;--lime:#fff;--line:#e7e7e7;--muted:#747474}
body,.header,#footer{background:#fff}.header{background:rgba(255,255,255,.96)}.utility{background:#fff}.desktop-nav{background:#f3f3f3}.desktop-nav>[data-nav=projects]{color:var(--red);font-weight:700}.desktop-nav>[data-nav=projects].active{background:var(--red);color:white}.service-section{background:#fafafa}.service-card{background:#fff}.service-card.featured{background:var(--ink)}.about-stamp{background:#fff}.hero h1 .serif{color:#fff}.hero-widget{background:#fff}.cookie-banner,.map-detail,.calc-controls,.gallery-dialog,.legal-draft{background:#fff}.footer-bottom{margin-bottom:0}.footer-wordmark{display:none}.footer-main{padding-bottom:24px}.footer-bottom{padding-bottom:28px}.calc-result .calc-big{color:white}.steps-section .section-head p{color:#c0c0c0}.form-status{background:#fff}.studio-card,.studio-header{background:#fff}
.reference-logo:hover,.dropdown a:hover{background:#f8f8f8}.map-teaser,.map-layout{background:#f4f5f5}.reference-logo,.gallery-thumbs{background:#fff}.project-atlas.atlas-paused .atlas-grid{animation:none}
.scroll-progress{position:fixed;left:0;top:0;height:2px;width:100%;background:var(--red);transform:scaleX(0);transform-origin:left;z-index:190;pointer-events:none}
.reveal{will-change:transform,opacity;transition:opacity .9s var(--ease),transform 1.1s var(--ease),clip-path 1.15s var(--ease),filter .9s var(--ease)}.reveal[data-reveal=rise]{transform:translate3d(0,45px,0);filter:blur(3px)}.reveal[data-reveal=left]{transform:translate3d(-30px,0,0);filter:blur(2px)}.reveal[data-reveal=text]{transform:translate3d(0,30px,0);filter:blur(4px)}.reveal[data-reveal=scale]{transform:scale(.96);filter:blur(3px)}.reveal[data-reveal=image]{transform:translate3d(0,24px,0);clip-path:inset(13% 0 0 0 round 16px)}.reveal[data-reveal=step]{transform:translate3d(0,32px,0)}.reveal.visible{opacity:1;transform:none;filter:none;clip-path:none}.about-photo.reveal.visible{clip-path:inset(0 0 0 0 round 16px)}
#main[data-page=home] .about-photo img{transform:translateY(var(--parallax-y,0px)) scale(1.13);transition:transform .35s linear}#main[data-page=home] .about-photo:hover img{transform:translateY(var(--parallax-y,0px)) scale(1.17)}#main[data-page=home] .hero-bg{animation:none;transform:translateY(var(--hero-shift,0px)) scale(1.09);transition:transform .25s linear}.step:after{content:'';height:1px;width:100%;position:absolute;top:-1px;left:0;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--ease) .2s}.step.visible:after{transform:scaleX(1)}
.projects-intro{padding:35px 5.7% 22px;text-align:center;max-width:1440px;margin:auto}.projects-intro .breadcrumb{justify-content:center;margin-bottom:25px}.projects-intro .eyebrow{justify-content:center;margin-bottom:18px}.projects-intro h1{font-size:clamp(45px,5.3vw,76px);font-weight:400;line-height:1.08}.projects-intro h1 .serif{color:var(--red)}.projects-intro p{font-size:13px;color:var(--muted);margin-top:20px}.project-atlas{margin:0 24px;background:#fff;border:1px solid #f0e7e8;border-radius:22px;overflow:hidden;position:relative}.atlas-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 27px 0;position:relative;z-index:4}.atlas-kicker{font-size:8px;letter-spacing:.16em;display:flex;gap:9px;align-items:center;color:#9b5a61}.atlas-kicker i{width:5px;height:5px;display:block;background:var(--red);border-radius:50%;box-shadow:0 0 0 4px #cb24280c}.atlas-controls{display:flex;gap:4px;align-items:center;padding:4px;border:1px solid #eee7e7;border-radius:30px;background:#fff}.atlas-controls button{border:0;background:none;font-size:10px;line-height:1.3;padding:10px 14px;border-radius:25px;color:#96646a;transition:background .3s,color .3s}.atlas-controls button.active{background:var(--red);color:#fff}.atlas-controls .atlas-motion-button{border-left:1px solid #eee7e7;border-radius:0 20px 20px 0;padding-left:17px}.atlas-stage{position:relative;height:clamp(390px,36vw,550px);isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 50% 70%,#fff1f2 0%,#fff 65%)}.atlas-grid{position:absolute;inset:-30% -15%;background-image:linear-gradient(#cb24280a 1px,transparent 1px),linear-gradient(90deg,#cb24280a 1px,transparent 1px);background-size:45px 45px;transform:perspective(600px) rotateX(60deg);mask-image:radial-gradient(ellipse at center,black,transparent 64%);z-index:-1}.atlas-canvas{position:absolute;inset:0;width:100%;height:100%;outline:none;touch-action:pan-y}.atlas-fallback{position:absolute;left:5%;right:5%;top:-1%;bottom:1%;display:grid;align-items:center;perspective:1000px;pointer-events:none;transition:opacity .65s}.atlas-fallback img{width:100%;transform:rotateX(48deg) rotateZ(-2deg);filter:drop-shadow(0 2px #a20c19) drop-shadow(0 4px #a20c19) drop-shadow(0 7px #97101a) drop-shadow(0 13px 12px #b1182929);animation:atlas-float 9s ease-in-out infinite;transition:transform 1.1s var(--ease)}[data-renderer=webgl] .atlas-fallback{opacity:0;visibility:hidden}.atlas-overhead .atlas-fallback img{transform:rotateX(0) rotateZ(0);animation:none}.atlas-paused .atlas-fallback img{animation-play-state:paused}.atlas-corner{position:absolute;width:20px;height:20px;pointer-events:none;opacity:.5}.atlas-corner.top-left{top:30px;left:28px;border-left:1px solid #e8b4b9;border-top:1px solid #e8b4b9}.atlas-corner.bottom-right{bottom:64px;right:28px;border-right:1px solid #e8b4b9;border-bottom:1px solid #e8b4b9}.atlas-hud{position:absolute;bottom:17px;left:27px;display:flex;flex-direction:column;gap:6px;pointer-events:none}.atlas-hud-name{font-family:Manrope;font-size:18px;letter-spacing:-.035em;color:var(--red)}.atlas-hud-meta{font-size:9px;color:#9b7075}.atlas-legend{position:absolute;right:27px;bottom:22px;display:flex;gap:8px;align-items:center;font-size:8px;color:#9b7075;pointer-events:none}.atlas-legend i{width:7px;height:7px;border-radius:50%;background:var(--red);box-shadow:0 0 0 5px #cb24280b}.atlas-location-list{display:grid;grid-template-columns:repeat(6,1fr);gap:0;border-top:1px solid #f0e7e8;border-bottom:1px solid #f0e7e8;position:relative;z-index:4;background:#fff}.atlas-location-list button{border:0;border-right:1px solid #f0e7e8;padding:20px 21px;background:#fff;display:flex;gap:12px;align-items:center;font-family:Manrope;font-size:13px;letter-spacing:-.03em;transition:color .3s,background .3s}.atlas-location-list button:last-child{border:0}.atlas-location-list button:hover,.atlas-location-list button:focus-visible{color:var(--red);background:#fff6f7}.location-number{font-family:DM;font-size:8px;letter-spacing:.02em;color:#b89a9e}.location-arrow{margin-left:auto;font-size:17px;color:var(--red)}.atlas-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 27px;font-size:8px;color:#ad8c91;letter-spacing:.025em}.atlas-bottom>a{font-size:9px;color:var(--red);display:flex;align-items:center;gap:18px}.atlas-bottom>a span{font-size:18px}.atlas-bottom small{font-size:7px}.projects-collection{padding-top:65px}.collection-heading{display:flex;align-items:flex-end;gap:30px;justify-content:space-between;flex-wrap:wrap;margin-bottom:32px}.collection-heading .eyebrow{width:100%;margin-bottom:-8px}.collection-heading h2{font-size:48px}.collection-heading>p{font-size:12px;color:var(--muted);max-width:250px}.projects-collection .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 26px}.projects-collection .project-grid.full .project-image{height:360px}.projects-collection .project-info h3{font-size:22px}
@keyframes atlas-float{0%,100%{transform:rotateX(48deg) rotateZ(-2deg) translateY(0)}50%{transform:rotateX(43deg) rotateZ(1deg) translateY(-7px)}}
/* Ten different full-cover transitions. Every route waits for the cover. */
.page-wipe{display:block;background:var(--red);transform:translateY(110%);isolation:isolate;overflow:hidden;animation:none}.transition-panels{position:absolute;inset:0;display:none}.transition-panels i{position:absolute;background:var(--red)}.transition-content{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:27px;color:white;z-index:3;text-align:center;padding:30px}.transition-content>img{width:min(370px,70vw);filter:brightness(0) invert(1);height:auto}.transition-content>span{font-family:Manrope;font-size:clamp(28px,5vw,65px);font-weight:400;line-height:1.2;letter-spacing:-.05em}.transition-content>small{font-family:DM;font-size:8px;letter-spacing:.3em;opacity:.65}.transition-content>b{width:110px;height:1px;background:#ffffff40;position:relative;margin-top:15px;overflow:hidden}.transition-content>b:after{content:'';position:absolute;inset:0;background:white;transform:translateX(-100%);animation:transition-line .65s var(--ease) forwards}.page-wipe:after{content:'';position:absolute;right:-7vw;bottom:-18vw;width:50vw;height:50vw;mask:url('assets/eco-leaf.svg') center/contain no-repeat;background:white;opacity:.065;pointer-events:none;z-index:2}
.page-wipe.in .transition-content{animation:transition-text-in .45s var(--ease) both}.page-wipe.out .transition-content{animation:transition-text-out .3s ease both}
.page-wipe[data-effect=rise].in{animation:cover-rise .47s var(--ease) both}.page-wipe[data-effect=rise].out{animation:uncover-rise .58s var(--ease) both}
.page-wipe[data-effect=glide].in{animation:cover-glide .47s var(--ease) both}.page-wipe[data-effect=glide].out{animation:uncover-glide .58s var(--ease) both}
.page-wipe[data-effect=iris]{transform:none}.page-wipe[data-effect=iris].in{animation:cover-iris .47s var(--ease) both}.page-wipe[data-effect=iris].out{animation:uncover-iris .58s var(--ease) both}
.page-wipe[data-effect=diagonal].in{animation:cover-diagonal .47s var(--ease) both}.page-wipe[data-effect=diagonal].out{animation:uncover-diagonal .58s var(--ease) both}
.page-wipe[data-effect=blinds],.page-wipe[data-effect=shutters],.page-wipe[data-effect=split],.page-wipe[data-effect=mosaic]{transform:none;background:transparent}.page-wipe:is([data-effect=blinds],[data-effect=shutters],[data-effect=split],[data-effect=mosaic]) .transition-panels{display:block}.page-wipe:is([data-effect=blinds],[data-effect=shutters],[data-effect=split],[data-effect=mosaic]):after{display:none}
.page-wipe[data-effect=blinds] .transition-panels i{top:0;left:calc(var(--tile)*12.5%);width:calc(12.5% + 1px);height:100%;transform-origin:top}.page-wipe[data-effect=blinds] .transition-panels i:nth-child(even){transform-origin:bottom}.page-wipe[data-effect=blinds].in i{animation:panel-y-in .32s var(--ease) calc(var(--tile)*18ms) both}.page-wipe[data-effect=blinds].out i{animation:panel-y-out .4s var(--ease) calc(var(--tile)*18ms) both}
.page-wipe[data-effect=shutters] .transition-panels i{left:0;top:calc(var(--tile)*12.5%);width:100%;height:calc(12.5% + 1px);transform-origin:left}.page-wipe[data-effect=shutters] .transition-panels i:nth-child(even){transform-origin:right}.page-wipe[data-effect=shutters].in i{animation:panel-x-in .32s var(--ease) calc(var(--tile)*18ms) both}.page-wipe[data-effect=shutters].out i{animation:panel-x-out .4s var(--ease) calc(var(--tile)*18ms) both}
.page-wipe[data-effect=split] .transition-panels i{display:none}.page-wipe[data-effect=split] .transition-panels i:nth-child(-n+2){display:block;top:0;width:calc(50% + 1px);height:100%}.page-wipe[data-effect=split] i:first-child{left:0;transform-origin:left}.page-wipe[data-effect=split] i:nth-child(2){right:0;transform-origin:right}.page-wipe[data-effect=split].in i{animation:panel-x-in .47s var(--ease) both}.page-wipe[data-effect=split].out i{animation:panel-x-out .58s var(--ease) both}
.page-wipe[data-effect=mosaic] .transition-panels{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr)}.page-wipe[data-effect=mosaic] .transition-panels i{position:relative;width:calc(100% + 1px);height:calc(100% + 1px)}.page-wipe[data-effect=mosaic].in i{animation:mosaic-in .32s var(--ease) calc(var(--tile)*18ms) both}.page-wipe[data-effect=mosaic].out i{animation:mosaic-out .4s var(--ease) calc((7 - var(--tile))*18ms) both}
.page-wipe[data-effect=orbit].in{animation:cover-orbit .47s var(--ease) both}.page-wipe[data-effect=orbit].out{animation:uncover-orbit .58s var(--ease) both}.page-wipe[data-effect=zoom].in{animation:cover-zoom .47s var(--ease) both}.page-wipe[data-effect=zoom].out{animation:uncover-zoom .58s var(--ease) both}
.page-wipe:is([data-effect=blinds],[data-effect=shutters],[data-effect=split],[data-effect=mosaic]).in,.page-wipe:is([data-effect=blinds],[data-effect=shutters],[data-effect=split],[data-effect=mosaic]).out{animation:none;transform:none}.page-wipe:not(.in):not(.out){visibility:hidden;transform:translateY(110%)}
@keyframes cover-rise{from{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes uncover-rise{from{transform:translateY(0)}to{transform:translateY(-100%)}}
@keyframes cover-glide{from{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes uncover-glide{from{transform:translateX(0)}to{transform:translateX(100%)}}
@keyframes cover-iris{from{clip-path:circle(0% at 28% 62%)}to{clip-path:circle(150% at 28% 62%)}}@keyframes uncover-iris{from{clip-path:circle(150% at 75% 35%)}to{clip-path:circle(0% at 75% 35%)}}
@keyframes cover-diagonal{from{transform:translateX(-140%) skewX(-18deg)}to{transform:translateX(0) skewX(0)}}@keyframes uncover-diagonal{from{transform:translateX(0) skewX(0)}to{transform:translateX(140%) skewX(-18deg)}}
@keyframes panel-y-in{from{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes panel-y-out{from{transform:scaleY(1)}to{transform:scaleY(0)}}@keyframes panel-x-in{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes panel-x-out{from{transform:scaleX(1)}to{transform:scaleX(0)}}
@keyframes mosaic-in{from{transform:scale(.65) rotate(-7deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}@keyframes mosaic-out{from{transform:scale(1) rotate(0);opacity:1}to{transform:scale(.7) rotate(7deg);opacity:0}}
@keyframes cover-orbit{from{transform:scale(.01) rotate(-35deg);border-radius:50%;opacity:.5}to{transform:scale(1) rotate(0);border-radius:0;opacity:1}}@keyframes uncover-orbit{from{transform:scale(1) rotate(0);border-radius:0;opacity:1}to{transform:scale(1.3) rotate(12deg);border-radius:50%;opacity:0}}
@keyframes cover-zoom{from{clip-path:inset(48% 42% round 30px);transform:scale(.9)}to{clip-path:inset(0 0 round 0);transform:scale(1)}}@keyframes uncover-zoom{from{clip-path:inset(0 0 round 0);transform:scale(1)}to{clip-path:inset(50% 0 round 0);transform:scale(1.07)}}
@keyframes transition-text-in{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes transition-text-out{to{opacity:0;transform:translateY(-20px)}}@keyframes transition-line{to{transform:translateX(0)}}
@media(max-width:1000px){.projects-intro h1{font-size:57px}.atlas-stage{height:420px}.atlas-location-list button{padding:17px 15px;font-size:11px;gap:9px}.atlas-kicker{font-size:7px}.atlas-controls button{font-size:9px;padding:9px 12px}.projects-collection .project-grid.full .project-image{height:280px}.collection-heading h2{font-size:42px}.projects-collection .project-info h3{font-size:20px}}
@media(max-width:700px){.projects-intro{padding:28px 6% 25px}.projects-intro .breadcrumb{margin-bottom:24px;font-size:8px}.projects-intro .eyebrow{font-size:7px;letter-spacing:.11em;margin-bottom:18px}.projects-intro h1{font-size:clamp(34px,8.1vw,52px);line-height:1.15}.projects-intro>p{font-size:11px;max-width:280px;margin:18px auto 0}.project-atlas{margin:0 12px;border-radius:16px}.atlas-top{padding:16px 15px 0;flex-direction:column;gap:14px;align-items:flex-start}.atlas-kicker{font-size:7px;letter-spacing:.12em}.atlas-controls{width:100%;justify-content:space-between;padding:3px}.atlas-controls button{font-size:8px;padding:9px 10px}.atlas-controls .atlas-motion-button{padding-left:12px}.atlas-stage{height:300px}.atlas-fallback{left:1%;right:1%;top:-8%;bottom:0}.atlas-hud{left:16px;bottom:12px;gap:5px;max-width:85%}.atlas-hud-name{font-size:16px}.atlas-hud-meta{font-size:8px;line-height:1.6}.atlas-legend{display:none}.atlas-corner.top-left{top:22px;left:16px;width:13px;height:13px}.atlas-corner.bottom-right{right:16px;bottom:61px;width:13px;height:13px}.atlas-location-list{grid-template-columns:repeat(3,1fr)}.atlas-location-list button{font-size:11px;padding:15px 11px;gap:7px;border-bottom:1px solid #f0e7e8}.atlas-location-list button:nth-child(3n){border-right:0}.atlas-location-list button:nth-child(n+4){border-bottom:0}.location-number{font-size:7px}.location-arrow{font-size:14px}.atlas-bottom{padding:15px 16px;flex-wrap:wrap;gap:11px;font-size:7px}.atlas-bottom>a{font-size:8px;gap:13px;order:-1;width:100%;justify-content:space-between}.atlas-bottom small{font-size:6px}.projects-collection{padding-top:40px}.collection-heading{gap:17px;margin-bottom:25px}.collection-heading .eyebrow{margin-bottom:0;font-size:8px}.collection-heading h2{font-size:34px}.collection-heading>p{font-size:11px;max-width:100%}.projects-collection .project-grid{grid-template-columns:1fr;gap:30px}.projects-collection .project-grid.full .project-image{height:290px}.projects-collection .project-info h3{font-size:19px}.transition-content{gap:24px}.transition-content>img{width:76vw}.transition-content>span{font-size:32px}.transition-content>small{font-size:7px;letter-spacing:.2em}.page-wipe:after{width:85vw;height:85vw;bottom:-20vw;right:-25vw}.reveal[data-reveal=left]{transform:translateY(26px)}.reveal[data-reveal=rise]{transform:translateY(32px)}.reveal.visible{transform:none}.footer-bottom{padding-bottom:23px}}
@media(prefers-reduced-motion:reduce){.page-wipe{display:none!important}.reveal,.reveal[data-reveal]{opacity:1;transform:none;filter:none;clip-path:none;transition:none}.atlas-fallback img{animation:none}.step:after{transform:scaleX(1)}#main[data-page=home] .about-photo img,#main[data-page=home] .hero-bg{transform:none;transition:none}.scroll-progress{transition:none}}
