/* A single kinetic service deck, rather than four competing illustrations. */
.service-salon{--salon-ease:cubic-bezier(.2,.7,.2,1);--salon-scroll:0;position:relative;perspective:1800px}
.service-salon .dimension-services-heading{margin-bottom:38px;animation:none!important}
.service-salon .dimension-services-heading h2{font-size:clamp(50px,5.5vw,82px)}
.service-salon-hint,.service-salon-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;font:500 8px/1.7 var(--sans);letter-spacing:.09em;color:#816574}
.service-salon-hint{margin-bottom:16px}.service-salon-hint i{display:inline-block;font-style:normal;margin-left:8px;animation:salon-nudge 2s ease-in-out infinite}
.service-deck{display:grid;grid-template-columns:1fr 1fr;gap:8px;transform-style:preserve-3d;transform:translate3d(0,calc(var(--salon-enter,0)*64px),0) rotateX(calc(var(--salon-enter,0)*5deg));transform-origin:50% 0;transition:transform .45s var(--salon-ease)}
.service-panel{position:relative;min-width:0;overflow:clip;color:#f4e8df;background:#312c39;border-radius:3px;isolation:isolate;--panel-accent:#c3a6c7;--panel-bg:#302b3a;--panel-light:#8d6b8a;--panel-scroll:0;--panel-x:0deg;--panel-y:0deg}
.service-panel-social{--panel-accent:#b8c3d8;--panel-bg:#222e40;--panel-light:#567190}
.service-panel-pr{--panel-accent:#dbb1a0;--panel-bg:#3b2d2f;--panel-light:#a07566}
.service-panel-digital{--panel-accent:#bac5af;--panel-bg:#29332f;--panel-light:#658876}
.service-panel:before{content:'';position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 80% 25%,color-mix(in srgb,var(--panel-light) 44%,transparent),transparent 66%),linear-gradient(155deg,var(--panel-bg),#1d1b24);opacity:.9;transition:opacity .8s}
.service-panel:after{content:'';position:absolute;inset:0;pointer-events:none;border:1px solid #e2d0d315;border-radius:inherit;background:linear-gradient(120deg,#ffffff05,transparent 48%)}
.service-panel h3{margin:0;font:inherit;position:relative;z-index:3}
.service-select{appearance:none;position:relative;display:grid;grid-template-columns:24px 1fr 22px;align-items:start;gap:12px;text-align:left;border:0;background:transparent;color:inherit;width:100%;padding:24px;min-height:105px;cursor:pointer;line-height:1.12}
.service-select>span:nth-child(2){font:400 26px/1.12 var(--serif);letter-spacing:-.025em}
.service-select .service-number{font:500 8px/1.7 var(--sans);letter-spacing:.08em;color:var(--panel-accent);padding-top:4px}
.service-select>i{font:normal 25px/1 var(--sans);color:var(--panel-accent);transition:rotate .6s var(--salon-ease)}
.service-select:focus-visible,.service-link:focus-visible{outline:2px solid var(--panel-accent);outline-offset:-5px;border-radius:3px}
.service-detail{position:relative;padding:0 28px 29px;min-height:420px;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate}
.service-detail[hidden]{display:none!important}
.service-art{position:absolute;z-index:-1;pointer-events:none;top:-10px;right:0;width:100%;height:200px;perspective:850px;transform:rotateX(var(--panel-y)) rotateY(var(--panel-x)) translateY(calc(var(--panel-scroll)*-40px));transform-style:preserve-3d;transition:transform .6s var(--salon-ease);opacity:.85}
.service-art:after{content:'';position:absolute;bottom:-14px;left:20%;width:65%;height:25px;background:#0b071a77;filter:blur(16px);border-radius:50%;transform:scaleX(.8)}
.service-copy{position:relative;z-index:2;padding-top:175px;max-width:100%}
.service-line{font:400 clamp(36px,3.6vw,56px)/.98 var(--serif);letter-spacing:-.04em;margin:0 0 20px;color:#fbf0e6}
.service-line em{color:var(--panel-accent);font-weight:400}
.service-description{font:400 12px/1.85 var(--sans);color:#ded2d2;max-width:40ch;margin:0 0 23px}
.service-link{display:flex;align-items:center;justify-content:space-between;gap:15px;font:500 10px/1.6 var(--sans);color:#f4e5dc;padding-block:10px;border-top:1px solid #e9d2d13b;max-width:100%}
.service-link>span{font-size:20px;transition:translate .4s}.service-link:hover>span{translate:4px -4px}
.service-disciplines{font:400 6px/1.6 var(--sans);letter-spacing:.1em;color:var(--panel-accent);margin-top:17px}
.service-salon-footer{margin-top:21px}.service-salon-footer a{font-size:10px;letter-spacing:0;color:#513b4b}.service-salon-footer a>span{margin-left:18px;font-size:17px}
/* With JS, the four services become physical expanding leaves. Without it all remain readable. */
.service-deck.is-ready{display:flex;gap:6px}
.service-deck.is-ready .service-panel{flex:1;min-height:565px;transition:flex .85s var(--salon-ease),background .6s,translate .7s;translate:0 calc(var(--panel-scroll)*-18px)}
.service-deck.is-ready .service-panel.is-active{flex:3.05}
.service-deck.is-ready .service-select{display:flex;flex-direction:column;gap:22px;padding:25px 22px;min-height:165px}
.service-deck.is-ready .service-select>span:nth-child(2){font-size:24px;max-width:12ch}
.service-deck.is-ready .service-select>i{position:absolute;right:20px;top:22px;font-size:20px}
.service-deck.is-ready .service-panel.is-active .service-select{display:grid;grid-template-columns:22px 1fr 24px;gap:12px;min-height:100px}
.service-deck.is-ready .service-panel.is-active .service-select>span:nth-child(2){max-width:none;font-size:27px}
.service-deck.is-ready .service-panel.is-active .service-select>i{position:static;rotate:45deg}
.service-deck.is-ready .service-detail{min-height:465px;padding:0 27px 26px}
.service-deck.is-ready .service-copy{padding-top:158px}
.service-deck.is-ready .service-panel:not(.is-active):before{opacity:.5}
.service-deck.is-ready .service-panel:not(.is-active):hover:before{opacity:1}
.service-deck.is-ready .service-panel:not(.is-active):after{background:linear-gradient(0deg,#e8c2d010,transparent 80%)}
.service-deck.is-ready .service-panel:not(.is-active)>h3{position:absolute;inset:0}
.service-deck.is-ready .service-panel:not(.is-active) .service-select{height:100%}
.service-deck.is-ready .service-panel:not(.is-active) .service-select:after{content:'EXPLORE';position:absolute;top:485px;left:22px;font:500 7px var(--sans);letter-spacing:.13em;color:var(--panel-accent)}
.service-deck.is-ready .service-panel.is-active .service-copy{animation:salon-copy-in .7s var(--salon-ease) both}
.service-deck.is-ready .service-panel.is-active .service-art{animation:salon-art-in 1s var(--salon-ease) both}
/* Native CSS 3D editorial objects, deliberately free of fabricated client work. */
.service-focus{position:absolute;left:50%;top:46%;width:180px;height:145px;transform:translate(-50%,-50%) rotateX(12deg) rotateY(-24deg) rotateZ(-10deg);transform-style:preserve-3d;animation:salon-focus 9s ease-in-out infinite}
.service-focus>i{position:absolute;inset:0;border:1px solid #e3c5d6a8;background:linear-gradient(125deg,#e3c5d612,#8264810c);box-shadow:inset 0 0 30px #e3c5d60a}
.service-focus>i:nth-child(1){transform:translateZ(-58px) rotateZ(-9deg)}.service-focus>i:nth-child(2){transform:translateZ(0) rotateZ(-2deg)}.service-focus>i:nth-child(3){transform:translateZ(58px) rotateZ(5deg)}
.service-focus>span{position:absolute;inset:0;display:grid;place-content:center;font:italic 90px/.9 var(--serif);color:#dfc4d5;transform:translateZ(70px)}.service-focus>span em{color:#9d789c}
.service-reel{position:absolute;left:50%;top:43%;width:140px;height:195px;border:1px solid #b8c3d890;border-radius:7px;background:linear-gradient(140deg,#58718b,#233347 60%);box-shadow:-25px 20px 0 -2px #52688038,24px -13px 0 -2px #b2c1d21a;transform:translate(-50%,-50%) rotateY(-22deg) rotateZ(8deg);transform-style:preserve-3d;animation:salon-reel 9s ease-in-out infinite;overflow:clip}
.service-reel>span{position:absolute;inset:43px 12px 20px;font:400 32px/.92 var(--serif);letter-spacing:-.04em;color:#f1e9de}.service-reel>span em{color:#bacde2;font-size:26px;display:inline-block;margin-top:9px}
.service-reel>i{position:absolute;left:12px;right:12px;bottom:20px;height:2px;background:#b6c9de42}.service-reel>i:after{content:'';display:block;width:40%;height:100%;background:#c9dbed;animation:salon-playhead 5s ease-in-out infinite}.service-reel>b{position:absolute;top:17px;left:12px;font:400 5px var(--sans);letter-spacing:.12em;color:#d4deec}
.service-echo{position:absolute;left:50%;top:47%;width:160px;height:160px;transform:translate(-50%,-50%) rotateY(-35deg) rotateX(12deg);transform-style:preserve-3d;animation:salon-echo 11s ease-in-out infinite}
.service-echo>i{position:absolute;inset:0;border:1px solid #e7bca6;border-radius:50%;transform:translateZ(0)}.service-echo>i:nth-child(2){inset:-24px;transform:translateZ(-35px);opacity:.5}.service-echo>i:nth-child(3){inset:-48px;transform:translateZ(-70px);opacity:.23}
.service-echo>span{position:absolute;inset:35px -30px auto;transform:translateZ(28px);text-align:center;font:400 29px/.95 var(--serif);color:#efc8b5}.service-echo>span em{display:inline-block;margin-top:8px;font-size:23px}
.service-windows{position:absolute;left:50%;top:43%;width:205px;height:145px;transform:translate(-50%,-50%) rotateY(-25deg) rotateX(12deg) rotateZ(-7deg);transform-style:preserve-3d;animation:salon-window 10s ease-in-out infinite}
.service-windows>i{position:absolute;inset:0;background:linear-gradient(125deg,#abc1a229,#65846f0a);border:1px solid #c7d1b47d;border-top-width:13px;box-shadow:0 17px 35px #0a1c1433}
.service-windows>i:nth-child(1){transform:translate3d(-28px,-23px,-55px)}.service-windows>i:nth-child(2){transform:translate3d(0,0,0)}
.service-windows>span{position:absolute;inset:39px 20px auto;transform:translateZ(18px);font:400 32px/.95 var(--serif);color:#d9dfc8}.service-windows>span em{color:#adbda6}
@keyframes salon-focus{0%,100%{transform:translate(-50%,-50%) rotateX(12deg) rotateY(-24deg) rotateZ(-10deg)}50%{transform:translate(-50%,-58%) rotateX(-9deg) rotateY(24deg) rotateZ(3deg)}}
@keyframes salon-reel{0%,100%{transform:translate(-50%,-50%) rotateY(-22deg) rotateZ(8deg)}50%{transform:translate(-45%,-55%) rotateY(16deg) rotateZ(-5deg)}}
@keyframes salon-echo{0%,100%{transform:translate(-50%,-50%) rotateY(-35deg) rotateX(12deg)}50%{transform:translate(-50%,-57%) rotateY(32deg) rotateX(-8deg)}}
@keyframes salon-window{0%,100%{transform:translate(-50%,-50%) rotateY(-25deg) rotateX(12deg) rotateZ(-7deg)}50%{transform:translate(-50%,-56%) rotateY(16deg) rotateX(-8deg) rotateZ(4deg)}}
@keyframes salon-playhead{0%,100%{width:12%}70%{width:92%}}
@keyframes salon-nudge{50%{transform:translateY(5px)}}
@keyframes salon-copy-in{from{opacity:0;translate:0 18px}to{opacity:1;translate:0 0}}
@keyframes salon-art-in{from{opacity:0;scale:.72;translate:35px -12px}to{opacity:.85;scale:1;translate:0 0}}
/* Scroll is a camera, never a scroll trap. Reading copy remains in its natural flow. */
.dimension-home-clean.home-choreography .world-hero-art{translate:0 calc(var(--home-hero-travel,0)*65px);rotate:calc(var(--home-hero-travel,0)*-9deg);scale:calc(1 + var(--home-hero-travel,0)*.12)}
.dimension-home-clean.home-choreography .world-hero-copy{translate:0 calc(var(--home-hero-travel,0)*-28px)}
.dimension-home-clean .dimension-explorer-stage .dimension-room-camera{transform:rotateX(calc(var(--camera-y) + var(--room-progress)*13deg)) rotateY(calc(var(--camera-x) + var(--room-progress)*-23deg)) translateY(calc(var(--room-progress)*-75px))}
.dimension-home-clean .real-work-image{translate:0 calc(var(--home-art-progress,0)*-34px);rotate:calc(var(--home-art-progress,0)*-2.5deg)}
.dimension-home-clean .dimension-latest-intro{translate:0 calc(var(--home-art-progress,0)*-24px)}
.dimension-home-clean .dimension-contact h2{translate:calc(var(--home-art-progress,0)*22px) 0}
body.motion-paused .service-salon *,body.dimension-document-hidden .service-salon *,body .service-salon.is-outside *{animation-play-state:paused!important}
body.motion-paused .service-deck,body.motion-paused .service-art,body.motion-paused .service-panel,body.motion-paused.home-choreography .world-hero-art,body.motion-paused.home-choreography .world-hero-copy,body.motion-paused .real-work-image,body.motion-paused .dimension-latest-intro,body.motion-paused .dimension-contact h2{transform:none!important;translate:none!important;rotate:none!important;scale:1!important}
@media(min-width:1100px){.service-panel.is-active .service-line{font-size:clamp(39px,3.4vw,54px)}}
@media(max-width:1000px){.service-deck.is-ready .service-panel{min-height:545px}.service-deck.is-ready .service-panel.is-active{flex:3.8}.service-deck.is-ready .service-select{padding:24px 16px}.service-deck.is-ready .service-select>span:nth-child(2){font-size:21px}.service-deck.is-ready .service-panel.is-active .service-select>span:nth-child(2){font-size:24px}.service-deck.is-ready .service-detail{padding-inline:22px;min-height:445px}.service-line{font-size:39px}.service-description{font-size:11px}.service-deck.is-ready .service-panel:not(.is-active) .service-select:after{top:465px;left:16px}}
@media(max-width:800px){.service-salon .dimension-services-heading{margin-bottom:26px}.service-salon-hint{font-size:6px;gap:22px;align-items:end}.service-salon-hint>span:first-child{max-width:24ch}.service-salon-hint>span:last-child{text-align:right}.service-deck,.service-deck.is-ready{display:block;transform:translateY(calc(var(--salon-enter,0)*38px));perspective:1100px}.service-panel,.service-deck.is-ready .service-panel{min-height:0;margin-bottom:6px;translate:none}.service-deck.is-ready .service-select,.service-deck.is-ready .service-panel.is-active .service-select,.service-select{display:grid;grid-template-columns:20px 1fr 23px;align-items:center;gap:10px;padding:23px 20px;min-height:75px}.service-deck.is-ready .service-select>span:nth-child(2),.service-deck.is-ready .service-panel.is-active .service-select>span:nth-child(2){font-size:25px;max-width:none}.service-deck.is-ready .service-select>i{position:static}.service-deck.is-ready .service-panel:not(.is-active) .service-select:after{display:none}.service-deck.is-ready .service-detail,.service-detail{min-height:360px;padding:0 24px 25px}.service-deck.is-ready .service-copy,.service-copy{padding-top:151px}.service-art{top:-13px;height:170px}.service-focus{scale:.87}.service-reel{scale:.83}.service-echo{scale:.72}.service-windows{scale:.85}.service-line{font-size:43px;max-width:16ch;margin-bottom:16px}.service-description{font-size:12px;margin-bottom:17px;max-width:44ch}.service-disciplines{font-size:5px;margin-top:13px}.service-link{font-size:10px;padding-block:7px}.service-salon-footer{font-size:6px;align-items:start;gap:25px}.service-salon-footer>span{max-width:25ch}.service-salon-footer a{font-size:9px;max-width:16ch}.service-salon-footer a>span{margin-left:4px}.dimension-home-clean .dimension-contact h2{translate:none}}
@media(max-width:370px){.service-salon .dimension-services-heading h2{font-size:46px}.service-deck.is-ready .service-select>span:nth-child(2),.service-deck.is-ready .service-panel.is-active .service-select>span:nth-child(2){font-size:22px}.service-select{gap:9px}.service-deck.is-ready .service-detail{padding-inline:20px}.service-line{font-size:38px}.service-description{font-size:11px}.service-link{font-size:9px}}
@media(max-width:800px){.service-deck.is-ready .service-panel:not(.is-active)>h3{position:relative;inset:auto}.service-deck.is-ready .service-panel:not(.is-active) .service-select{height:auto}}
@media(prefers-reduced-motion:reduce){.service-salon *{animation:none!important;transition:none!important}.service-deck,.service-art{transform:none!important}.service-panel,.dimension-home-clean.home-choreography .world-hero-art,.dimension-home-clean.home-choreography .world-hero-copy,.dimension-home-clean .real-work-image,.dimension-home-clean .dimension-latest-intro,.dimension-home-clean .dimension-contact h2{translate:none!important;rotate:none!important;scale:1!important}}
