/* V1.1 atelier finish. Transform/opacity animation; normal native scrolling. */
@view-transition{navigation:auto}
::view-transition,::view-transition-group(*),::view-transition-image-pair(*),::view-transition-old(*),::view-transition-new(*){pointer-events:none}
::view-transition-old(root){animation:atelier-out 130ms ease-out both}
::view-transition-new(root){animation:atelier-in 250ms cubic-bezier(.22,1,.36,1) both}
@keyframes atelier-out{to{opacity:0}}
@keyframes atelier-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.hero-footnote{color:#51454c;font-size:11px;letter-spacing:.025em}
.hero-scene canvas{transition:opacity .25s}
.mirror-fallback{transition:opacity .25s}
.scene-controls{bottom:-3px;left:3%;right:3%;max-width:350px;gap:12px;padding:7px 10px;box-shadow:0 7px 28px #40312912}
.scene-controls .icon-button{width:38px;height:38px;flex-shrink:0}
.scene-hint{font-size:9px;flex:1;text-align:center;letter-spacing:.03em;min-width:0}
.scene-controls .intro-replay{position:static;min-height:38px;padding:0 10px 0 12px;font-size:9px;line-height:1.3;max-width:70px;border-radius:0;border-left:1px solid var(--line);background:transparent;flex-shrink:0}
.hero-scene:after{content:'';position:absolute;inset:3% 14% 12% 1%;z-index:4;pointer-events:none;background:linear-gradient(110deg,transparent 30%,#fff9 47%,#fff0 57%);opacity:0;border-radius:45%;transform:translateX(-45%)}
.intro-playing:after{animation:mirror-glint 1s cubic-bezier(.16,1,.3,1) both}
@keyframes mirror-glint{0%{opacity:0;transform:translateX(-45%)}25%{opacity:.7}100%{opacity:0;transform:translateX(50%)}}
.intro-playing .scene-print{animation:print-settle 1s cubic-bezier(.16,1,.3,1) both}
@keyframes print-settle{from{opacity:.5;transform:perspective(900px) rotateY(-22deg) rotateZ(7deg) translateY(16px)}to{opacity:1;transform:perspective(900px) rotateY(-12deg) rotateZ(3deg)}}
.menu-dialog{background:#eee6da;background-image:radial-gradient(ellipse at 80% 40%,#fff9,transparent 55%);overflow-x:hidden;overflow-y:auto}
.menu-dialog:before{content:'THE LIVING ATELIER';position:absolute;bottom:20px;right:var(--gutter);font-size:9px;letter-spacing:.28em;color:var(--muted);pointer-events:none}
.menu-layout{perspective:1300px}
.menu-layout nav>a{width:fit-content;position:relative;transform-origin:left center;transition:color .2s,transform .35s var(--ease)}
.menu-layout nav>a:not(.menu-saved):after{content:'';position:absolute;left:0;right:0;bottom:8%;height:1px;background:var(--plum);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.menu-layout nav>a:hover:after,.menu-layout nav>a:focus-visible:after{transform:scaleX(1)}
.menu-image{position:relative;transform:rotate(3deg);padding:15px 15px 25px;background:var(--paper);box-shadow:1px 1px 0 #d6c6b4,3px 3px 0 #e6d9cb,20px 30px 60px #45362b28}
.menu-image img{border:0;outline:0;box-shadow:none;aspect-ratio:4/4.8;max-height:52vh}
.menu-image .eyebrow{font-size:9px;margin-top:18px}
.menu-top{position:relative;z-index:2}
.menu-close{border:1px solid #8d7b6d70;padding:0 17px;border-radius:40px;font-size:12px}
.button{position:relative;overflow:hidden;transition:background .2s,transform .25s var(--ease),box-shadow .25s}
.button:after{content:'';position:absolute;inset:-100%;background:linear-gradient(110deg,transparent 43%,#fff2 49%,transparent 55%);transform:translateX(-60%);transition:transform .55s var(--ease);pointer-events:none}
.button:hover:after{transform:translateX(50%)}
.button .icon,.text-link .icon,.category-strip .icon{transition:transform .3s var(--ease)}
.button:hover .icon,.text-link:hover .icon{transform:translateX(4px)}
.category-strip>a{position:relative;overflow:hidden;transition:background .25s,color .25s}
.category-strip>a:hover .icon{transform:translateX(4px) rotate(-35deg)}
.project-photo,.service-image,.film-card{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .32s var(--ease),box-shadow .32s var(--ease);transform-origin:center;backface-visibility:hidden}
.project-photo:hover{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(-4px);box-shadow:3px 18px 35px #45362b28}
.project-photo:after,.service-image:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at var(--shine-x,50%) 0%,#fff5,transparent 65%);opacity:0;transition:opacity .25s;pointer-events:none}
.depth-active:after{opacity:1}
.service-image{position:relative;display:block}
.service-card:hover{transform:none}
.service-card:focus-within{box-shadow:0 12px 36px #45362b18}
.save-look svg{transition:transform .3s var(--ease),fill .3s}
.save-look[aria-pressed=true] svg{transform:translateY(-2px);fill:#5d354c22}
.filter-tabs>button{border-radius:30px;transition:background .2s,color .2s,box-shadow .2s}
.filter-tabs>button[aria-pressed=true]{box-shadow:0 4px 14px #5d354c24}
.form-progress>li>span{transition:background .25s,color .25s,box-shadow .25s}
.form-progress>li.active>span{box-shadow:0 0 0 5px #5d354c0d}
.enquiry-main input,.enquiry-main select,.enquiry-main textarea{transition:border-color .2s,box-shadow .2s}
.enquiry-main input:focus,.enquiry-main select:focus,.enquiry-main textarea:focus{box-shadow:0 4px 0 -2px #5d354c30}
.closing-invitation{position:relative;isolation:isolate;overflow:hidden}
.closing-invitation:after{content:'';position:absolute;z-index:-1;width:340px;height:480px;border:1px solid #b9a18b40;border-radius:50%;left:calc(50% - 170px);top:calc(50% - 240px);transform:rotate(-25deg);box-shadow:0 0 0 24px #b9a18b09,0 0 0 48px #b9a18b06;pointer-events:none}

/* A sculptural editorial interlude: perspective survives without GPU/WebGL support. */
.spatial-lookbook{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;gap:6%;min-height:750px;align-items:center;background:#342532;color:#fcf7ee;overflow:hidden;isolation:isolate}
.spatial-lookbook:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 80% 45%,#9e7c6655,transparent 65%),linear-gradient(145deg,#ffffff04,transparent)}
.lookbook-heading{position:relative;z-index:4}
.lookbook-heading>.eyebrow{color:#dac3b0;margin-bottom:25px}
.lookbook-heading h2{font-size:clamp(42px,4.2vw,66px);letter-spacing:-.045em}
.lookbook-heading>p:not(.eyebrow){color:#e1d3d9;font-size:14px;max-width:320px;margin-top:24px}
.lookbook-tabs{display:flex;flex-direction:column;margin-top:35px;max-width:330px}
.lookbook-tabs button{color:#d5c3ce;display:flex;align-items:center;gap:24px;text-align:left;min-height:56px;padding:12px 0;border-bottom:1px solid #e4d2ca30;transition:color .2s,padding .35s var(--ease);position:relative;font-family:var(--serif);font-size:26px}
.lookbook-tabs button>span{font:9px var(--sans);letter-spacing:.1em;opacity:.7}
.lookbook-tabs button:after{content:'';position:absolute;bottom:-1px;left:0;width:100%;height:1px;background:#eed4b9;transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.lookbook-tabs button[aria-pressed=true]{padding-left:14px;color:#fff7e9}
.lookbook-tabs button[aria-pressed=true]:after{transform:scaleX(1)}
.lookbook-tabs button:focus-visible{outline-color:#e7cfb7}
.lookbook-heading>.lookbook-instruction{font-size:10px!important;color:#c5b1bc!important;margin-top:22px!important;letter-spacing:.025em}
.lookbook-space{position:relative;min-width:0;height:550px;perspective:1200px;display:flex;align-items:center;justify-content:center}
.lookbook-deck{position:relative;width:min(72%,330px);height:440px;transform-style:preserve-3d;touch-action:pan-y}
.world-card{position:absolute;inset:0;transform:translateX(calc(var(--slot)*42px)) translateY(calc(var(--slot)*-13px)) translateZ(calc(var(--slot)*-75px)) rotateY(calc(var(--slot)*-10deg)) rotateZ(calc(var(--slot)*6deg));transition:transform .68s cubic-bezier(.22,1,.36,1),opacity .45s;opacity:calc(1 - var(--slot)*.2);border:6px solid #f1e9df;background:#f1e9df;box-shadow:2px 3px 0 #c1ad9c,4px 6px 0 #e3d6c9,22px 32px 46px #130e244d;backface-visibility:hidden}
.world-card>a{display:block;width:100%;height:100%;position:relative;overflow:hidden}
.world-card img{width:100%;height:100%;object-fit:cover}
.world-card:not(.world-active){pointer-events:none}
.world-caption{position:absolute;inset:45% 0 0;display:flex;flex-direction:column;justify-content:flex-end;padding:24px 20px;background:linear-gradient(transparent,#160e16d9 75%);color:#fff8eb}
.world-caption>.eyebrow{font-size:8px;letter-spacing:.17em;color:#f0dcc8}
.world-caption h3{font-size:34px;line-height:1.03;margin:12px 0 20px;max-width:230px}
.world-caption>span:last-child{font-size:10px;display:flex;gap:15px;align-items:center}
.world-caption .icon{width:17px}
.orbit{pointer-events:none;position:absolute;left:0;right:-10%;top:20%;height:65%;border:1px solid #cfb49a30;border-radius:50%;transform:rotate(-20deg)}
.orbit-two{transform:rotate(65deg);border-color:#cfb49a18;left:7%;right:4%;top:8%;height:85%}
.lookbook-bottom{position:absolute;bottom:0;left:3%;right:0;display:flex;justify-content:space-between;border-top:1px solid #e4d2ca30;padding-top:14px;font-size:9px;letter-spacing:.1em;color:#ddc9d0;text-transform:uppercase}
@media(hover:none){.project-photo:active,.film-card:active,.service-image:active{transform:perspective(1000px) scale(.985)}.project-photo:hover{transform:none}.button:active{transform:scale(.98)}}
@media(max-width:900px){.spatial-lookbook{gap:3%;min-height:680px}.lookbook-space{height:480px}.lookbook-deck{height:380px;width:74%}.world-caption{padding:22px 15px}.world-caption h3{font-size:29px}.menu-layout{gap:9%}.menu-image{padding:10px 10px 20px}}
@media(max-width:600px){
 .hero{padding-bottom:55px}.hero-scene{height:410px;margin-top:5px}.scene-controls{max-width:310px;left:5%;right:5%;bottom:-15px;gap:10px;padding:5px 8px}.scene-controls .intro-replay{font-size:8px;max-width:64px;padding-inline:9px}.scene-controls .icon-button{width:38px;height:38px}.scene-hint{font-size:9px}
 .menu-dialog{padding:24px 22px 75px}.menu-layout{position:relative;margin-top:4vh;display:block;isolation:isolate}.menu-layout nav{position:relative;z-index:2;padding-block:15px}.menu-layout nav>a{font-size:clamp(40px,11.5vw,56px);line-height:1.65}.menu-layout nav>a:not(.menu-saved){text-shadow:0 2px 14px #eee6da}.menu-layout nav .menu-saved{font-size:12px;margin-top:20px}.menu-image{display:block;position:absolute;right:-38px;top:30px;width:42%;transform:rotate(9deg);opacity:.19;z-index:-1;pointer-events:none;padding:6px}.menu-image img{height:245px;max-height:none}.menu-image .eyebrow{display:none}.menu-call{position:relative;margin-top:20px}.menu-dialog:before{left:22px;right:auto;font-size:8px;bottom:25px}
 .spatial-lookbook{display:flex;flex-direction:column;gap:28px;min-height:0;padding-block:65px 45px}.lookbook-heading{width:100%}.lookbook-heading>.eyebrow{font-size:8px;margin-bottom:18px}.lookbook-heading h2{font-size:43px}.lookbook-heading>p:not(.eyebrow){font-size:12px;max-width:280px;margin-top:18px}.lookbook-tabs{flex-direction:row;gap:8px;max-width:none;margin-top:24px}.lookbook-tabs button{flex:1;display:block;min-width:0;min-height:66px;padding:10px 4px;font-size:17px;line-height:1.3}.lookbook-tabs button>span{display:block;margin-bottom:9px;font-size:8px}.lookbook-tabs button[aria-pressed=true]{padding-left:4px}.lookbook-heading>.lookbook-instruction{font-size:9px!important;margin-top:13px!important}.lookbook-space{height:445px;width:100%;perspective:1000px}.lookbook-deck{height:350px;width:67%;max-width:270px;margin-left:-30px;margin-top:-15px}.world-card{border-width:5px;transform:translateX(calc(var(--slot)*26px)) translateY(calc(var(--slot)*-10px)) translateZ(calc(var(--slot)*-65px)) rotateY(calc(var(--slot)*-9deg)) rotateZ(calc(var(--slot)*6deg))}.world-caption h3{font-size:31px}.world-caption{padding:20px 16px}.world-caption>.eyebrow{font-size:7px}.world-caption>span:last-child{font-size:9px}.lookbook-bottom{font-size:8px;left:0}.orbit-one{left:-8%;right:-15%;top:20%;height:60%}.orbit-two{left:0;right:0}.closing-invitation:after{width:260px;height:370px;left:calc(50% - 130px);top:calc(50% - 185px)}
}
@media(max-width:600px){.spatial-lookbook{gap:12px}.lookbook-heading h2{font-size:38px}.lookbook-space{height:410px}.lookbook-tabs button{font-size:16px}}
@media(max-width:360px){.hero-scene{height:375px}.lookbook-heading h2{font-size:34px}.lookbook-tabs button{font-size:15px}.lookbook-deck{height:310px}.lookbook-space{height:380px}.world-caption h3{font-size:27px}.scene-controls{left:2%;right:2%}}
@media(prefers-reduced-motion:reduce){
 @view-transition{navigation:none}
 ::view-transition-old(root),::view-transition-new(root){animation:none!important}
 .world-card,.lookbook-tabs button,.project-photo,.service-image,.film-card{transition:none!important}
 .project-photo,.service-image,.film-card{transform:none!important}
 .intro-playing:after,.intro-playing .scene-print{animation:none!important}
 .hero-scene:after{display:none}.scene-controls .intro-replay{display:none}
}
