/* Cardah Studios: architectural depth, progressive enhancement. */
:root{--depth-ease:cubic-bezier(.22,.8,.24,1)}
.hero{position:relative;isolation:isolate}
.hero:before{content:"";position:absolute;inset:12% 0 0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#85858512 1px,transparent 1px),linear-gradient(#85858512 1px,transparent 1px);background-size:88px 88px;mask-image:linear-gradient(transparent,#0008,transparent);transform:perspective(900px) rotateX(26deg);transform-origin:center bottom}
.hero h1{ text-shadow:1px 1px 0 #aaa,2px 2px 0 #aaa,3px 3px 0 #aaa,8px 12px 24px #00000012}
.hero h1 .outline-word{text-shadow:none}
.hero-art .cb-shell{border:1px solid #9995;box-shadow:0 28px 55px -28px #0007,0 2px 0 #fff9 inset;position:relative}
.project-image-wrap,.frame img{box-shadow:0 16px 28px -20px #0008;transition:box-shadow .65s var(--depth-ease),transform .65s var(--depth-ease)}
.project-image-wrap{position:relative}
.project-image-wrap:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;opacity:0;background:radial-gradient(circle at var(--light-x,50%) var(--light-y,50%),#fff4,transparent 60%);transition:opacity .45s ease;border:1px solid #ffffff26}
.depth-active .project-image-wrap:after{opacity:1}
.depth-surface{transform:perspective(1100px) rotateX(var(--depth-x,0deg)) rotateY(var(--depth-y,0deg)) translateY(var(--depth-lift,0px));transition:transform .6s var(--depth-ease),box-shadow .6s var(--depth-ease);transform-origin:center;backface-visibility:hidden}
.depth-active .depth-surface{transition:transform .12s ease-out,box-shadow .6s ease;box-shadow:0 32px 40px -24px #0007}
.tool-mark img{filter:drop-shadow(0 14px 10px #0002);transition:transform .7s var(--depth-ease)}
.tool-card:hover .tool-mark img{transform:translateY(-8px) rotate(-3deg)}
.tools-preview-grid>div,.steps-grid article{box-shadow:0 18px 32px -28px #0008}
.service-row{transition:background .4s ease,box-shadow .4s ease}
.service-row:hover{background:#88888808;box-shadow:inset 3px 0 0 #8886}
.site-header{backdrop-filter:blur(18px)}
.will-reveal{transition:opacity .95s var(--depth-ease),transform .95s var(--depth-ease)!important;transition-delay:calc(var(--reveal-order,0)*45ms)!important}
.will-reveal:not(.is-visible){transform:perspective(1200px) translate3d(0,44px,-35px) rotateX(5deg)!important;transform-origin:center bottom}
.will-reveal.is-visible{transform:perspective(1200px) translate3d(0,0,0) rotateX(0)!important}
.project-dialog[open],.booking-dialog[open],.preview-dialog[open]{animation:cardah-dialog .5s var(--depth-ease)}
@keyframes cardah-dialog{from{opacity:0;transform:perspective(1200px) translateY(24px) scale(.97) rotateX(3deg)}to{opacity:1;transform:none}}
.depth-motion-control{background:transparent;color:inherit;border:1px solid currentColor;border-radius:0;padding:10px 14px;min-height:44px;font:10px/1.4 Arial,sans-serif;letter-spacing:.08em;cursor:pointer}
.depth-motion-control:focus-visible{outline:2px solid currentColor;outline-offset:4px}
@media(hover:hover) and (pointer:fine){.project-card:hover .project-card-data h3{transform:translateX(5px)}.project-card-data h3{transition:transform .5s var(--depth-ease)}}
@media(max-width:700px){.hero:before{background-size:56px 56px}.hero h1{text-shadow:1px 1px 0 #aaa,2px 2px 0 #aaa,5px 8px 16px #00000012}.will-reveal:not(.is-visible){transform:perspective(1200px) translate3d(0,22px,0) rotateX(2deg)!important}.project-image-wrap,.frame img{box-shadow:0 12px 22px -18px #0007}}
html.cardah-motion-off{scroll-behavior:auto}
.cardah-motion-off .depth-surface,.cardah-motion-off .will-reveal,.cardah-motion-off .tool-mark img,.cardah-motion-off .project-card-data h3{transform:none!important;transition:none!important;opacity:1!important}
.cardah-motion-off .project-dialog,.cardah-motion-off .booking-dialog,.cardah-motion-off .preview-dialog{animation:none!important}
.cardah-motion-off .project-image-wrap:after{display:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.depth-surface,.will-reveal,.tool-mark img,.project-card-data h3{transform:none!important;transition:none!important;opacity:1!important}.project-dialog,.booking-dialog,.preview-dialog{animation:none!important}.project-image-wrap:after{display:none}}
@media print{.depth-motion-control{display:none}.depth-surface,.will-reveal{transform:none!important;opacity:1!important}}
