/* HOME only. Content remains readable without JavaScript. */
.emerald-motion{--em-cream:#faf8f1;--em-gold:#dec383;--em-ink:#082c24;--em-ease:cubic-bezier(.16,1,.3,1)}
.emerald-motion .home-hero{isolation:isolate;position:relative;overflow:clip}
.emerald-motion .home-hero::after{content:"";position:absolute;width:56%;height:100%;right:-12%;top:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at center,#ffe3a820,transparent 62%);transform:translate3d(var(--light-x,0px),var(--light-y,0px),0)}
.emerald-motion .home-hero-copy{transform:translate3d(0,var(--hero-drift,0px),0)}
.em-flow{height:104px;position:relative;background:#faf8f1;overflow:clip;color:#a48542}
.em-flow svg{width:100%;height:100%;display:block;opacity:.7}
.em-flow path{fill:none;stroke:currentColor;stroke-width:1;vector-effect:non-scaling-stroke}
.em-flow .em-flow-light{stroke:#12604b;stroke-width:2;stroke-dasharray:130 1500;stroke-dashoffset:var(--flow-offset,900)}
.emerald-motion .home-v3-section{padding:100px 0}
.emerald-motion .em-specialties{padding-top:14px;padding-bottom:120px}
.emerald-motion .home-v3-specialties{perspective:1400px;gap:28px}
.emerald-motion .home-v3-service{position:relative;transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .45s var(--em-ease),background .25s;isolation:isolate}
.emerald-motion .home-v3-service::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:0;background:radial-gradient(circle at var(--pointer-x,50%) var(--pointer-y,40%),#fff9e145,transparent 55%);transition:opacity .35s}
.emerald-motion .home-v3-service:hover::after{opacity:1}
.emerald-motion .home-v3-service>img{transition:transform .65s var(--em-ease)}
.emerald-motion .home-v3-service:hover>img{transform:scale(1.035)}
.emerald-motion .home-v3-card-action .arrow,.emerald-motion .home-v3-knowledge .arrow{transition:transform .3s var(--em-ease)}
.emerald-motion a:hover .home-v3-card-action .arrow,.emerald-motion .home-v3-knowledge a:hover .arrow{transform:translateX(5px)}
.emerald-motion .home-v3-projects{position:relative;background:#082c24;padding:80px 0 100px}
.em-gallery-heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:30px}
.emerald-motion .em-gallery-heading h2{max-width:680px;margin:0;font-size:clamp(34px,4.2vw,60px)}
.em-gallery-controls{display:flex;align-items:center;gap:14px;flex-shrink:0}
.em-gallery-controls[hidden]{display:none}
.em-gallery-controls button{width:48px;height:48px;display:grid;place-items:center;background:transparent;border:1px solid #acbb9f;border-radius:50%;color:#f7edda;cursor:pointer;transition:background .2s}
.em-gallery-controls button:hover{background:#315748}
.em-gallery-controls button:disabled{opacity:.35;cursor:default}
.em-gallery-controls button:focus-visible,.em-process button:focus-visible{outline:3px solid #dec383;outline-offset:5px}
.em-gallery-controls svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}
.em-gallery-position{font-size:14px;color:#e6d6ac;font-variant-numeric:tabular-nums;min-width:40px;text-align:center}
.emerald-motion .home-v3-work{padding:22px;background:#103e33;border-radius:14px;box-shadow:0 25px 55px #00000024}
.emerald-motion .home-v3-work-art{background:#faf8f1;aspect-ratio:16/8}
.emerald-motion .home-v3-work:first-child .home-v3-work-art{background:#07121e}
.emerald-motion .home-v3-work-art img{object-fit:contain}
.emerald-motion .home-v3-work h3{font-size:clamp(25px,2.8vw,39px);margin-top:20px}
.emerald-motion .home-v3-work p{max-width:65ch;margin-top:10px}
.emerald-motion .home-v3-work .home-v3-card-action{padding-top:18px}
.em-gallery-progress{height:1px;background:#ffffff26;margin-top:24px;overflow:hidden}
.em-gallery-progress span{display:block;width:50%;height:1px;background:#dec383;transform:translateX(var(--gallery-progress,0%))}
.em-gallery-progress[hidden]{display:none}
.em-process{padding:110px 0;background:#edeedf;color:#123c32;overflow:clip}
.em-process-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:64px;align-items:center}
.emerald-motion .em-process h2{font-size:clamp(34px,4.2vw,60px);max-width:14ch;margin:0 0 24px}
.em-process p{max-width:42ch}
.em-process-controls{display:flex;flex-wrap:wrap;gap:8px;margin:30px 0 20px}
.em-process-controls button{border:1px solid #8d9e86;background:transparent;color:#163f32;border-radius:5px;min-height:46px;padding:10px 14px;font:inherit;font-size:14px;cursor:pointer;transition:background .2s,color .2s}
.em-process-controls button[aria-pressed="true"]{background:#123c32;color:#faf8f1;border-color:#123c32}
.em-process-controls[hidden]{display:none}
.em-process-caption{min-height:3.4em;font-size:14px!important;color:#49604e}
.em-process-art{position:relative;display:grid;place-items:center;aspect-ratio:1;background:#0b3027;border-radius:50%;isolation:isolate}
.em-process-art::before{content:"";position:absolute;inset:8%;border:1px solid #d9bd7c55;border-radius:50%;transform:rotateX(58deg) rotateZ(-28deg);transition:transform 1s var(--em-ease)}
.em-process-art::after{content:"";position:absolute;inset:1%;border:1px solid #779e7f42;border-radius:50%;transform:rotateY(58deg) rotateZ(28deg);transition:transform 1s var(--em-ease)}
.em-process[data-step="2"] .em-process-art::before{transform:rotateX(58deg) rotateZ(28deg)}
.em-process[data-step="2"] .em-process-art::after{transform:rotateY(58deg) rotateZ(-28deg)}
.em-process-logo{width:74%;height:auto;overflow:visible;position:relative;z-index:1}
.em-wire path{fill:none;stroke:#dec383;stroke-width:.85;vector-effect:non-scaling-stroke;stroke-dasharray:1000;stroke-dashoffset:0;transition:stroke-dashoffset 1.1s var(--em-ease),opacity .65s}
.em-finish{opacity:1;transition:opacity .85s var(--em-ease)}
.em-process[data-step="0"] .em-finish{opacity:0}
.em-process[data-step="1"] .em-finish{opacity:.45}
.em-process[data-step="2"] .em-wire{opacity:.22}
.em-guides{stroke:#93b49a;stroke-width:.55;fill:none;opacity:.38;transition:opacity .8s}
.em-process[data-step="2"] .em-guides{opacity:.12}
.em-process-art-label{position:absolute;bottom:12%;font-size:11px;letter-spacing:.12em;color:#e4d4ac}
.emerald-motion .home-v3-knowledge a{transition:border-color .3s}
.emerald-motion .home-v3-knowledge a>div{transition:transform .3s var(--em-ease)}
.emerald-motion .home-v3-knowledge a:hover>div{transform:translateX(6px)}
.emerald-motion .home-v3-collaboration-inner{position:relative;overflow:clip}
.emerald-motion .home-v3-collaboration-inner::after{content:"";width:350px;height:350px;position:absolute;right:-180px;bottom:-210px;border:1px solid #d9bd7c6b;border-radius:50%;pointer-events:none}
@media(min-width:1000px) and (min-height:760px) and (prefers-reduced-motion:no-preference){
 .em-gallery.is-spatial{height:190vh;padding:0;overflow:clip}
 .is-spatial .em-gallery-pin{position:sticky;top:100px;padding:36px 0 28px}
 .is-spatial .home-v3-project-grid{position:relative;display:block;height:min(560px,65vh);perspective:1600px;transform-style:preserve-3d}
 .is-spatial .home-v3-work{position:absolute;width:72%;left:14%;top:0;transform-origin:center;will-change:transform;transition:box-shadow .3s;backface-visibility:hidden}
 .is-spatial .home-v3-work-art{aspect-ratio:3.2/1}
 .is-spatial .home-v3-work p{max-width:62ch}
 .is-spatial .home-v3-work[aria-hidden="true"]{pointer-events:none}
 .is-spatial .home-v3-work:focus-visible{outline:3px solid #dec383;outline-offset:7px}
}
@media(max-width:999px){
 .emerald-motion .home-v3-section{padding:68px 0}
 .emerald-motion .em-specialties{padding-top:6px}
 .em-flow{height:72px}
 .em-gallery-heading{display:block}
 .em-gallery-controls{display:none}
 .emerald-motion .home-v3-project-grid{grid-template-columns:1fr;gap:40px}
 .emerald-motion .home-v3-work{padding:18px}
 .em-process{padding:72px 0}
 .em-process-grid{grid-template-columns:1fr 1fr;gap:28px}
 .em-process-art-label{font-size:9px}
}
@media(max-width:650px){
 .em-process-grid{grid-template-columns:1fr;gap:30px}
 .em-process-art{max-width:450px;width:100%;margin:auto}
 .em-process h2{max-width:16ch}
 .emerald-motion .home-v3-work{padding:14px}
 .emerald-motion .home-v3-work h3{font-size:26px}
 .emerald-motion .home-v3-work p{font-size:15px}
 .emerald-motion .home-v3-work-art{aspect-ratio:16/9}
 .em-process-controls{gap:6px}
 .em-process-controls button{padding:10px 12px}
}
@media(prefers-reduced-motion:reduce){
 .emerald-motion .home-hero-copy,.emerald-motion .home-v3-service{transform:none!important}
 .emerald-motion *, .emerald-motion *::before,.emerald-motion *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
 .em-flow-light{display:none}
 .em-process-art::before,.em-process-art::after{transform:none!important}
}
