/* Shared 3D object language: machined obsidian, mint light, clear controls. */
.projects-grid,.case-index-grid,.service-catalog{perspective:1400px;gap:28px}.project-card,.service-card{--tilt-x:0deg;--tilt-y:0deg;--light-x:50%;--light-y:20%;position:relative;display:block;isolation:isolate;transform-style:preserve-3d;transform:perspective(1100px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));border:1px solid #6fbcaa80;border-radius:15px 6px 15px 6px;background:linear-gradient(145deg,#122321,#050c0e 45%,#020707);box-shadow:inset 1px 1px 0 #dbfff136,inset -1px -2px 0 #000,3px 4px 0 #0b2922,4px 5px 0 1px #366759,0 18px 35px #0007;transition:transform .4s cubic-bezier(.2,.7,.2,1),border-color .3s,box-shadow .3s;overflow:visible;min-width:0}.project-card:before,.service-card:before{content:'';position:absolute;inset:0;border-radius:inherit;background:radial-gradient(ellipse at var(--light-x) var(--light-y),#b8ffe718,transparent 55%);pointer-events:none;z-index:2;opacity:.65;transition:opacity .3s}.project-card:after,.service-card:after{content:'';position:absolute;inset:9px;border-top:1px solid #b8e7dd3b;border-right:1px solid #9cd6c827;clip-path:polygon(0 0,13% 0,13% 2px,0 2px,0 0,100% 0,100% 13%,calc(100% - 2px) 13%,calc(100% - 2px) 0);pointer-events:none;z-index:3}.project-card:hover,.service-card:hover,.project-card:focus-visible,.service-card:focus-visible{border-color:#b5ffe0d9;box-shadow:inset 1px 1px 0 #e0fff74f,inset -1px -2px 0 #000,4px 6px 0 #0a3127,5px 7px 0 1px #509c7e,0 25px 45px #000a,0 0 32px #7effc51c;transform:perspective(1100px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(-5px)}.project-card.depth-active,.service-card.depth-active{transition:transform .12s ease-out,box-shadow .3s,border-color .3s}.project-card:hover:before,.service-card:hover:before{opacity:1}.project-card-art,.service-card-art{position:relative;aspect-ratio:800/520;background:radial-gradient(ellipse at 50% 50%,#1d4b3b20,#020708 70%);border-bottom:1px solid #6bb59c4f;border-radius:14px 5px 0 0;overflow:hidden;transform:translateZ(13px);margin:1px}.project-card-art img,.project-card-art.is-illustration img,.service-card-art img{display:block;width:100%;height:100%;object-fit:contain;transform:none!important;filter:none;transition:filter .3s}.project-card:hover .project-card-art img,.service-card:hover .service-card-art img{filter:brightness(1.13)}.project-card-body,.service-card-body{position:relative;transform:translateZ(19px);padding:22px 23px 24px}.project-card h2,.project-card h3,.service-card h2{font-size:23px;font-weight:500;line-height:1.25;letter-spacing:-.6px;margin:12px 0;color:#e5f4ec}.project-card .card-tagline,.service-card p{font-size:12px;line-height:1.8;color:#97afa4;margin:10px 0 18px;min-height:42px}.card-tags{gap:6px}.card-tags span{border-color:#4d85714d;background:#203f2a2b;color:#91b09c;font-size:8px;border-radius:4px}.card-link{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #5e967d36;padding-top:16px;margin-top:18px;color:#a1d9bd;font-size:11px;line-height:1.5}.card-link>span{transition:transform .25s;font-size:17px}.project-card:hover .card-link>span,.service-card:hover .card-link>span{transform:translate(3px,-3px)}.service-card-body>.eyebrow{font-size:7px;letter-spacing:1.2px;color:#81ac94}.service-card p{min-height:46px}.service-card a{color:inherit}.service-catalog{margin-bottom:20px}.service-detail-hero{display:grid;grid-template-columns:1fr 1.12fr;gap:35px;align-items:center}.service-detail-copy{font-size:13px;line-height:1.9;color:#94ad9e;max-width:520px;margin:0 0 25px}.service-detail-art{min-width:0;filter:drop-shadow(0 20px 40px #0008)}.service-detail-art img{width:100%;height:auto;display:block}.service-deliverables{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:30px 0 45px}.service-deliverables article{position:relative;border-top:1px solid #83bc9c5c;padding:25px 8px 12px 0}.service-deliverables h2{font-size:17px;line-height:1.5;font-weight:500;letter-spacing:-.3px}.deliverable-dot{display:block;width:6px;height:6px;border:1px solid #c3ffe0;background:#6dab83;box-shadow:0 0 12px #8cffb44d;transform:rotate(45deg)}
.product-visual,.screen-gallery figure,.case-feature,.action-case,.seo-infographic{position:relative;border-radius:13px 5px 13px 5px;border:1px solid #6d9e866b;box-shadow:inset 1px 1px 0 #caffe521,inset -1px -2px 0 #000,3px 4px 0 #0c201a,4px 5px 0 1px #365b49,0 20px 50px #0005}.product-visual{transform:perspective(1300px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transform-style:preserve-3d;transition:transform .4s,border-color .3s;overflow:hidden;background:#040c09}.product-visual.depth-active{transition:transform .15s ease-out;border-color:#a8e8c299}.screen-chrome{display:flex;align-items:center;gap:13px;min-height:40px;padding:10px 13px;background:linear-gradient(#152920,#0c1913);border-bottom:1px solid #63987c4d;color:#accab7}.screen-dots{display:flex;gap:5px;flex-shrink:0}.screen-dots i{width:4px;height:4px;border-radius:50%;background:#6b9b7c;border:1px solid #a5cbb154}.screen-dots i:nth-child(2){background:#827c57}.screen-dots i:nth-child(3){background:#537e6b}.screen-chrome strong{font:9px var(--font);letter-spacing:.3px;font-weight:400;min-width:0}.screen-chrome>a{font-size:8px;color:#a1dcb7;white-space:nowrap;margin-left:auto}.screen-stage{display:block;background:#020607}.screen-stage img{display:block;width:100%;height:auto;object-fit:contain}.product-visual>span{padding:12px 14px;color:#86a38e;font:9px/1.7 var(--font);letter-spacing:.1px;background:#0b1811;border-top:1px solid #5d8b7136}.screen-gallery figure{overflow:hidden;background:#050c08}.screen-gallery figcaption{font-size:11px;line-height:1.7;color:#95b39f;padding:15px}.screen-gallery a{transition:filter .3s}.screen-gallery a:hover{filter:brightness(1.08)}.screen-gallery img{object-fit:contain;width:100%;height:auto}.project-links{gap:10px}.project-link-button{font-size:11px;border-radius:6px!important;min-height:42px;box-shadow:inset 0 1px 0 #b0ebc119,0 3px 0 #061b11,0 4px 0 #4a775a55}.project-link-button:hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 #b0ebc12f,0 4px 0 #061b11,0 5px 0 #639e7277}.button{box-shadow:inset 0 1px 0 #efffffb0,inset 0 -1px 0 #03181133,0 3px 0 #306b59,0 4px 0 1px #7ec9ac44,0 12px 24px #0004}.button:active{transform:translateY(2px);box-shadow:inset 0 1px 0 #efffff88,0 1px 0 #306b59}.button-outline{box-shadow:inset 0 1px 0 #b4ffd517,0 3px 0 #07170e,0 4px 0 1px #59816a55}.button-outline:hover{box-shadow:inset 0 1px 0 #b4ffd52b,0 3px 0 #0e2818,0 4px 0 1px #8bbda077,0 0 20px #74dfa521}.service-card:focus-visible,.project-card:focus-visible{outline:2px solid #c4ffe3;outline-offset:8px}.catalog-search input{border-bottom-color:#75a88a66}.filter{min-height:38px;font-size:10px}
@media(max-width:1000px){.project-card h2,.project-card h3,.service-card h2{font-size:21px}.project-card-body,.service-card-body{padding:19px}.service-deliverables{grid-template-columns:repeat(2,minmax(0,1fr))}.service-detail-hero{gap:25px}}
@media(max-width:700px){.projects-grid,.case-index-grid,.service-catalog{gap:26px}.project-card,.service-card{border-radius:12px 5px 12px 5px;box-shadow:inset 1px 1px 0 #caffea29,2px 3px 0 #0a241a,3px 4px 0 1px #47755d,0 15px 30px #0006}.project-card-body,.service-card-body{padding:20px}.project-card h2,.project-card h3,.service-card h2{font-size:23px}.project-card .card-tagline,.service-card p{font-size:12px;min-height:0}.card-tags span{font-size:9px}.card-link{font-size:11px;padding-top:15px}.service-card-art{aspect-ratio:800/520}.service-detail-hero{grid-template-columns:1fr;gap:14px}.service-detail-copy{font-size:12px}.service-detail-art{margin:0 -8px}.service-deliverables{gap:14px}.service-deliverables h2{font-size:15px}.service-deliverables article{padding-top:20px}.screen-chrome{padding:10px;gap:9px;min-height:42px}.screen-chrome strong{font-size:8px}.screen-chrome>a{font-size:8px}.product-visual>span{font-size:9px;padding:12px}.project-link-button{font-size:10px;min-height:44px}.screen-gallery figcaption{font-size:10px}.filter{font-size:9px;min-height:38px}.product-visual,.case-feature,.action-case{box-shadow:inset 1px 1px 0 #caffe51a,2px 3px 0 #0c201a,3px 4px 0 1px #365b49,0 14px 30px #0004}}
@media(hover:none){.project-card,.service-card,.product-visual{transform:none!important}.project-card:active,.service-card:active{filter:brightness(1.1)}}
@media(prefers-reduced-motion:reduce){.project-card,.service-card,.product-visual{transform:none!important;transition:border-color .2s!important}.project-card-art,.service-card-art,.project-card-body,.service-card-body{transform:none}.card-link>span{transition:none}}
