.project-media{height:100%;position:relative;overflow:hidden;background:#d9d7d1}.project-media img,.project-media video{display:block;width:100%;height:100%;object-fit:cover}.media-caption{position:absolute;z-index:1;left:14px;bottom:12px;padding:6px 8px;background:rgba(25,27,26,.78);color:#f4f1eb;font:9px Arial,sans-serif;letter-spacing:.13em;text-transform:uppercase}.media-caption span{margin-left:14px;color:#c7baa5}.project-view .project-cover .project-media{height:100%}.gallery .project-media{height:430px}.gallery .project-media:nth-child(2){margin-top:90px}@media(max-width:720px){.gallery .project-media,.gallery .project-media:nth-child(2){height:105vw;margin-top:0}}
.hero-cover{position:absolute;inset:0;z-index:0;overflow:hidden}.hero-cover:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,17,16,.76),rgba(15,17,16,.17) 76%),linear-gradient(0deg,rgba(15,17,16,.25),transparent 50%)}.hero-cover img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 46%}.hero-photo-caption{position:absolute;z-index:1;right:calc(var(--pad) + 20px);bottom:calc(var(--pad) + 6px);font:9px Arial,sans-serif;letter-spacing:.15em;text-transform:uppercase;color:#f4f1eb}.hero-content .text-link{border-color:#f4f1eb}.solution-visual{height:100%;min-height:510px;position:relative;overflow:hidden;background:#a6aaa7}.solution-visual img,.solution-visual video{display:block;width:100%;height:100%;min-height:inherit;position:absolute;inset:0;object-fit:cover}.service-row{display:grid;grid-template-columns:1fr 1.15fr .8fr;align-items:center;gap:clamp(24px,5vw,72px);padding:34px 0 80px}.service-row .display{font-size:clamp(34px,4vw,64px)}.service-subtitle{margin:15px 0 0}.service-image{height:clamp(240px,32vw,430px);position:relative;overflow:hidden;background:#d9d7d1}.service-image img,.service-image video{display:block;width:100%;height:100%;object-fit:cover}.service-image .media-caption{left:12px;bottom:12px}.contact-actions{margin-top:24px}.footer-phone{white-space:nowrap}@media(max-width:720px){.hero-photo-caption{left:var(--pad);right:auto;bottom:18px}.hero-cover img{object-position:center}.solution-visual{min-height:390px}.service-row{grid-template-columns:1fr;gap:22px;padding:28px 0 55px}.service-image{height:100vw;max-height:430px}.footer-phone{display:block;margin-top:15px}}
.footer{align-items:center;flex-wrap:wrap}.footer-logo{display:block;width:140px;mix-blend-mode:multiply}.footer-logo img{width:100%;display:block}
.mobile-logo{width:130px;display:block;margin-bottom:10px;mix-blend-mode:multiply}
.slot-logo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(55%,240px);mix-blend-mode:multiply;opacity:.55;z-index:1}
.slot-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.photo-slot:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(20,22,21,.65),rgba(20,22,21,.04) 65%);pointer-events:none}.photo-slot .slot-index,.photo-slot .slot-label{z-index:2;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.55)}.photo-slot .corner{background:rgba(244,241,235,.82);z-index:1}
.image-reveal-pending,.image-reveal-visible{transition:clip-path .85s cubic-bezier(.2,.7,.2,1),opacity .6s ease,transform 1.1s cubic-bezier(.2,.7,.2,1)}.image-reveal-pending{opacity:0;transform:scale(1.04);clip-path:inset(0 100% 0 0)}.image-reveal-visible{opacity:1;transform:scale(1);clip-path:inset(0)}
.motion-pending,.motion-visible{transition:opacity .5s ease,transform .5s cubic-bezier(.2,.7,.2,1),clip-path .65s cubic-bezier(.2,.7,.2,1);transition-delay:var(--motion-delay,0ms)}.motion-pending{opacity:0;transform:translateY(16px)}.motion-visible{opacity:1;transform:none}.display.motion-pending,.headline.motion-pending{clip-path:inset(0 0 100% 0);transform:translateY(24px)}.display.motion-visible,.headline.motion-visible{clip-path:inset(0);transform:none}.section .display.motion-pending,.page-hero .display.motion-pending{transition-delay:80ms}.project-meta.motion-pending{--motion-delay:350ms}.hero-content{animation:none}.hero-content .eyebrow{animation:rise .45s .1s both}.hero-content .headline{animation:rise .7s .25s both}.hero-content .hero-copy{animation:rise .5s .45s both}.hero-content .hero-actions{animation:rise .4s .55s both}.header .brand,.header .nav,.header .header-cta{animation:rise .45s both}.header .nav{animation-delay:70ms}.header .header-cta{animation-delay:120ms}.hero:before,.hero:after{animation-delay:.1s}.hero.hero-visited:before,.hero.hero-visited:after{animation:none;display:none}.hero.hero-visited .hero-content>*{animation:none;opacity:1;transform:none;clip-path:inset(0)}.service-image img,.solution-visual img{transition-duration:.35s}.solution-list .solution-tab{transition-delay:var(--motion-delay,0ms)}
.heading-line-mask{display:block;overflow:hidden}.heading-line{display:inline-block;transform:translateY(24px);transition:transform .65s cubic-bezier(.2,.7,.2,1);transition-delay:var(--line-delay,0ms)}.motion-visible .heading-line{transform:none}
.solution-tab{position:relative;border-bottom-color:transparent}.solution-tab:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:rgba(244,241,235,.25);transform:scaleX(1);transform-origin:left;transition:transform .5s ease}.solution-tab.motion-pending:after{transform:scaleX(0)}.solution-tab.motion-visible:after{transform:scaleX(1)}.detail-item p{display:block;max-height:0;overflow:hidden;opacity:0;transform:translateY(6px);transition:max-height .2s ease,opacity .2s ease,transform .2s ease}.detail-item.open p{max-height:150px;opacity:1;transform:none}
@media(max-width:720px){.image-reveal-pending{transform:scale(1.02);transition-duration:.55s,.45s,.65s}.motion-pending{transform:translateY(12px);transition-duration:.45s;transition-delay:0ms}.display.motion-pending,.headline.motion-pending{transform:translateY(16px)}.heading-line{transform:translateY(16px);transition-duration:.45s}.step.motion-pending,.solution-tab.motion-pending{--motion-delay:0ms}.hero:before,.hero:after{display:none}}
@media(prefers-reduced-motion:reduce){.image-reveal-pending,.image-reveal-visible,.motion-pending,.motion-visible{opacity:1;transform:none;clip-path:inset(0);transition:none;animation:none}.heading-line{transform:none;transition:none}.hero:before,.hero:after{display:none}.hero-content,.hero-content>*{animation:none}}
