/* Sculptural depth stays inside the layout and uses only the existing brand colors. */
.depth-glyph{--shape-size:30px;--shape-half:15px;position:relative;display:inline-grid;place-items:center;width:46px;height:36px;flex-shrink:0;perspective:650px;pointer-events:none}
.shape-float,.shape-spin,.shape-body{display:block;width:var(--shape-size);height:var(--shape-size);position:relative;transform-style:preserve-3d}
.shape-body{--shape-turn:35deg;transform:rotateX(calc(-22deg + var(--depth-x,0deg))) rotateY(calc(var(--shape-turn) + var(--depth-y,0deg)));transition:transform .65s cubic-bezier(.2,.7,.2,1)}
.cube-face{position:absolute;inset:0;border:1px solid #a5833266;border-radius:3px;backface-visibility:hidden;background:var(--dim)}
.cube-face--front{transform:translateZ(var(--shape-half));background:linear-gradient(135deg,#f7e7b4,var(--gold))}
.cube-face--back{transform:rotateY(180deg) translateZ(var(--shape-half));background:var(--gold-deep)}
.cube-face--right{transform:rotateY(90deg) translateZ(var(--shape-half));background:var(--ink)}
.cube-face--left{transform:rotateY(-90deg) translateZ(var(--shape-half));background:#a58128}
.cube-face--top{transform:rotateX(90deg) translateZ(var(--shape-half));background:var(--paper)}
.cube-face--bottom{transform:rotateX(-90deg) translateZ(var(--shape-half));background:var(--gold-deep)}
.cube-face--front:after{content:'';position:absolute;inset:22%;border:1px solid #faf7f080;border-radius:2px}
.depth-glyph--orbit .shape-body{transform:rotateX(calc(24deg + var(--depth-x,0deg))) rotateY(calc(var(--shape-turn) + var(--depth-y,0deg)))}
.orbit-ring{position:absolute;inset:-12%;border:2px solid var(--gold);border-radius:50%;transform-style:preserve-3d}
.orbit-ring--one{transform:rotateY(65deg)}
.orbit-ring--two{transform:rotateX(65deg);border-color:var(--gold-deep)}
.orbit-ring--three{transform:rotateX(-25deg) rotateY(-25deg);border-color:#d6bc79}
.orbit-core{position:absolute;width:36%;height:36%;left:32%;top:32%;border-radius:50%;background:radial-gradient(circle at 30% 25%,#d9b95f,#41361e 70%);box-shadow:0 2px 6px #14110d24}
.depth-glyph--stack .shape-body{transform:rotateX(calc(57deg + var(--depth-x,0deg))) rotateZ(calc(-32deg + var(--shape-turn))) rotateY(var(--depth-y,0deg))}
.stack-plane{position:absolute;inset:-10%;border:1px solid #9a772080;border-radius:3px;background:var(--paper);box-shadow:2px 3px 0 #a28a52}
.stack-plane--1{transform:translateZ(calc(var(--shape-half) * -.8));background:var(--ink)}
.stack-plane--2{transform:translateZ(0);background:var(--gold)}
.stack-plane--3{transform:translateZ(calc(var(--shape-half) * .8));background:linear-gradient(135deg,var(--paper),#ece2c9)}
.depth-glyph--stack .shape-body{--shape-turn:0deg}
.depth-art{display:grid;place-items:center;position:relative;min-width:0}
.shape-stage{--depth-x:0deg;--depth-y:0deg;display:grid;place-items:center;color:var(--gold-deep);padding:22px;border-radius:50%}
.shape-stage .depth-glyph{--shape-size:96px;--shape-half:48px;width:190px;height:180px}
.shape-stage .orbit-ring{border-width:2px}
.depth-intro{display:grid;grid-template-columns:minmax(0,1fr) 260px;align-items:center;gap:45px}
.page-intro-copy{min-width:0}
.page-intro-copy .lead{max-width:660px}
.depth-art--hero{align-self:center}
.depth-art--hero:before{content:'';position:absolute;inset:20px 0;border-radius:50%;background:radial-gradient(ellipse,#c2992f0e,transparent 68%);pointer-events:none}
.depth-art--contact{justify-items:start;margin:16px 0 6px}
.depth-art--contact .shape-stage{padding:12px 16px}
.depth-art--contact .depth-glyph{--shape-size:52px;--shape-half:26px;width:95px;height:76px}
.cta .cta-inner{display:grid;grid-template-columns:minmax(0,1fr) 130px auto;gap:28px 32px;align-items:center}
.cta-inner>div:not(.depth-art){grid-column:1;grid-row:1;min-width:0}
.cta-inner>.btn{grid-column:3;grid-row:1;justify-self:start}
.depth-art--cta{grid-column:2;grid-row:1}
.depth-art--cta .shape-stage{padding:12px;color:var(--gold-bright)}
.depth-art--cta .depth-glyph{--shape-size:62px;--shape-half:31px;width:105px;height:126px}
.depth-art--cta .orbit-ring--two{border-color:#dbc183}
.depth-art--cta .orbit-core{background:radial-gradient(circle at 30% 25%,#f7e7b4,var(--gold-deep) 75%)}
.service-card.depth-surface{--depth-x:0deg;--depth-y:0deg;--depth-lift:0px;transform:perspective(1000px) rotateX(var(--depth-x)) rotateY(var(--depth-y)) translateY(var(--depth-lift));transition:transform .35s cubic-bezier(.2,.7,.2,1),background .25s,border-color .25s,box-shadow .35s}
.service-card.depth-surface:hover,.service-card.depth-surface:focus-visible{--depth-lift:-3px;box-shadow:0 14px 30px #14110d09;background:linear-gradient(135deg,#fff6,#f1ece160)}
.primary-services .service-card.depth-surface:hover{background:linear-gradient(135deg,#fff4,#f1ece130)}
.service-card .shape-body{--depth-x:0deg;--depth-y:0deg}
.service-card:hover .shape-body,.service-card:focus-visible .shape-body{--shape-turn:70deg}
.service-card:hover .depth-glyph--stack .shape-body{transform:rotateX(46deg) rotateZ(-23deg) translateZ(4px)}
.depth-surface .depth-glyph{transition:transform .4s}
.depth-surface.is-touching .depth-glyph{transform:translateY(-3px) scale(1.08)}
.approach-number,.process-step .step{display:grid;place-items:center;width:32px;min-height:32px;background:var(--paper);border:1px solid #c9b986;box-shadow:3px 3px 0 #d3c7a7;border-radius:3px;transform:perspective(320px) rotateX(var(--depth-x,0deg)) rotateY(var(--depth-y,-10deg));transition:transform .3s,box-shadow .3s}
.approach-grid article:hover .approach-number,.process-step:hover .step{box-shadow:4px 5px 0 #c2a85e;color:var(--ink)}
.approach-grid article.is-touching .approach-number,.process-step.is-touching .step{transform:perspective(320px) rotateY(16deg) translateY(-3px)}
.case-entry{position:relative}
.case-entry .project-index{display:inline-grid;place-items:center;min-width:29px;min-height:29px;background:var(--dim);border:1px solid #d6ccb6;border-radius:3px;box-shadow:2px 2px 0 #d8cdaf;transform:perspective(350px) rotateY(var(--depth-y,-9deg));transition:transform .3s,box-shadow .3s}
.case-entry:hover .project-index{box-shadow:3px 4px 0 #c5b17a}
.secondary-item,.benefit-strip article,.about-block,.product-poster{position:relative}
.secondary-item:before,.benefit-strip article:before{content:'';position:absolute;left:0;top:-1px;width:30px;height:2px;background:var(--gold);transform:scaleX(1);transform-origin:left;transition:transform .35s}
.secondary-item:hover:before,.benefit-strip article:hover:before{transform:scaleX(2)}
.product-poster.depth-surface,.about-block.depth-surface{transform:perspective(1000px) rotateX(var(--depth-x,0deg)) rotateY(var(--depth-y,0deg));transition:transform .4s,border-color .3s,box-shadow .3s}
.product-poster.depth-surface:hover,.about-block.depth-surface:hover{box-shadow:0 14px 30px #14110d0b}
.btn.depth-surface{transform:perspective(700px) rotateX(var(--depth-x,0deg)) rotateY(var(--depth-y,0deg)) translateY(var(--depth-lift,0px))}
.btn.depth-surface:hover{--depth-lift:-2px}
.btn.depth-surface.is-touching{--depth-lift:1px;box-shadow:0 1px 0 #14110d20}
.motion-toggle{border:0;background:none;padding:0;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:3px}
.motion-toggle:disabled{cursor:default;text-decoration:none}
/* Autonomous sculpture motion: pause off-screen, in background tabs, or by preference. */
.shape-float{--float-distance:2px;animation:shape-hover 7s ease-in-out infinite;animation-play-state:paused}
.depth-art .shape-float{--float-distance:7px}
.shape-spin{animation:shape-turn 28s linear infinite;animation-play-state:paused}
.depth-glyph--orbit .shape-spin{animation-name:orbit-turn;animation-duration:24s}
.depth-glyph--stack .shape-spin{animation-name:stack-turn;animation-duration:22s}
.service-card:nth-child(2n) .shape-spin{animation-delay:-6s}
.service-card:nth-child(3n) .shape-spin{animation-delay:-12s}
.depth-in-view .shape-float,.depth-in-view .shape-spin{animation-play-state:running}
html[data-document-hidden="true"] .shape-float,html[data-document-hidden="true"] .shape-spin{animation-play-state:paused!important}
html[data-motion="off"] *,html[data-motion="off"] *:before,html[data-motion="off"] *:after{animation-play-state:paused!important;transition:none!important;scroll-behavior:auto!important}
html[data-motion="off"] .depth-surface,html[data-motion="off"] .approach-number,html[data-motion="off"] .process-step .step,html[data-motion="off"] .project-index{transform:none!important}
@keyframes shape-hover{0%,100%{transform:translateY(0) rotateZ(-2deg)}50%{transform:translateY(calc(var(--float-distance) * -1)) rotateZ(2deg)}}
@keyframes shape-turn{from{transform:rotateY(0deg)}to{transform:rotateY(360deg)}}
@keyframes orbit-turn{0%{transform:rotateY(0deg) rotateZ(0deg)}50%{transform:rotateY(180deg) rotateZ(15deg)}100%{transform:rotateY(360deg) rotateZ(0deg)}}
@keyframes stack-turn{0%{transform:rotateZ(0deg) rotateY(0deg)}50%{transform:rotateZ(180deg) rotateY(12deg)}100%{transform:rotateZ(360deg) rotateY(0deg)}}
@media(max-width:1100px){.depth-intro{grid-template-columns:minmax(0,1fr) 200px;gap:24px}.shape-stage .depth-glyph{--shape-size:76px;--shape-half:38px;width:160px;height:150px}}
@media(max-width:850px){.depth-intro{grid-template-columns:minmax(0,1fr) 130px;gap:20px}.shape-stage{padding:12px;gap:9px}.shape-stage .depth-glyph{--shape-size:58px;--shape-half:29px;width:110px;height:125px}.page-intro-copy h1{font-size:clamp(36px,5.6vw,53px)}.cta .cta-inner{gap:24px;grid-template-columns:minmax(0,1fr) 100px}.cta-inner>div:not(.depth-art){grid-column:1/-1}.cta-inner>.btn{grid-column:1;grid-row:2}.depth-art--cta{grid-row:2}.depth-art--cta .depth-glyph{--shape-size:48px;--shape-half:24px;width:82px;height:96px}.approach-grid article{min-width:0}}
@media(max-width:520px){.depth-intro{grid-template-columns:1fr;gap:16px}.depth-art--hero{justify-self:start} .depth-art--hero .shape-stage{grid-template-columns:96px;padding:8px 0;border-radius:4px}.depth-art--hero .depth-glyph{--shape-size:47px;--shape-half:23.5px;width:96px;height:96px}.depth-art--hero:before{inset:0}.page-intro-copy h1{font-size:38px}.service-card .depth-glyph{--shape-size:26px;--shape-half:13px;width:40px;height:28px}.approach-grid article{grid-template-columns:32px minmax(0,1fr);gap:0 14px}.approach-number{font-size:10px;margin-top:0}.cta .cta-inner{grid-template-columns:minmax(0,1fr) 66px;gap:23px 12px}.cta-inner>div:not(.depth-art){grid-column:1/-1}.depth-art--cta{grid-column:2;grid-row:2}.depth-art--cta .shape-stage{padding:8px 0;gap:5px}.depth-art--cta .depth-glyph{--shape-size:34px;--shape-half:17px;width:66px;height:66px}.cta-inner>.btn{font-size:11px;gap:12px;padding:13px 14px;justify-self:stretch}.depth-art--contact .depth-glyph{width:85px;height:70px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.shape-float{animation:none!important}.depth-surface,.approach-number,.process-step .step,.case-entry .project-index{transform:none!important}*,*:before,*:after{animation:none!important;transition:none!important}}
