*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:#172028;background:#fff;line-height:1.6}a{text-decoration:none;color:inherit}img{max-width:100%;display:block}.container{width:min(1180px,92%);margin:auto}.topbar{background:#0b141b;color:#fff;font-size:13px}.topbar .container{display:flex;gap:24px;align-items:center;min-height:40px}.topbar .spacer{flex:1}.header{position:sticky;top:0;background:rgba(255,255,255,.97);z-index:1000;border-bottom:1px solid #e7e9eb;backdrop-filter:blur(10px)}.nav{display:flex;align-items:center;min-height:88px;gap:30px}.brand img{width:190px;height:74px;object-fit:contain}.navlinks{margin-left:auto;display:flex;align-items:center;gap:25px;font-weight:700;font-size:14px}.navlinks a{position:relative;padding:33px 0}.navlinks a:after{content:'';position:absolute;left:0;bottom:24px;width:0;height:2px;background:#8fcf00;transition:.25s}.navlinks a:hover:after,.navlinks a.active:after{width:100%}.dropdown{position:relative}.mega{position:absolute;top:74px;right:-230px;width:720px;background:#fff;box-shadow:0 18px 45px #0002;border:1px solid #e4e7e9;padding:24px;display:none;grid-template-columns:1fr 1fr;gap:8px 26px}.dropdown:hover .mega{display:grid}.mega .group{font-size:12px;color:#7bac00;text-transform:uppercase;letter-spacing:.12em;font-weight:800;margin:5px 0}.mega a{padding:8px 0;font-size:14px}.mega a:after{display:none}.hamb{display:none;margin-left:auto;border:0;background:none;font-size:27px}.hero{position:relative;min-height:650px;overflow:hidden;background:#111}.slide{position:absolute;inset:0;opacity:0;transition:opacity .8s}.slide.active{opacity:1}.slide img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;animation:zoom 10s linear infinite alternate}.slide:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,10,15,.86),rgba(3,10,15,.45),rgba(3,10,15,.12))}.hero-copy{position:relative;z-index:2;color:white;padding-top:150px;width:min(760px,90%)}.eyebrow{color:#8fd000;text-transform:uppercase;font-weight:900;letter-spacing:.16em;font-size:13px}.hero h1{font-size:clamp(42px,6vw,76px);line-height:1.03;margin:14px 0 20px}.hero p{font-size:20px;max-width:680px;color:#edf1f3}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:3px;background:#8fd000;color:#0b141b;font-weight:900;margin:10px 10px 0 0}.btn.dark{background:#0b141b;color:#fff}.hero-dots{position:absolute;z-index:5;left:50%;bottom:32px;transform:translateX(-50%);display:flex;gap:10px}.hero-dot{width:10px;height:10px;border-radius:50%;border:1px solid #fff;background:transparent}.hero-dot.active{background:#8fd000;border-color:#8fd000}@keyframes zoom{to{transform:scale(1.06)}}.section{padding:90px 0}.section.alt{background:#f4f6f7}.section.dark{background:#0b141b;color:#fff}.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:35px}.section-head h2{font-size:clamp(30px,4vw,48px);line-height:1.1;margin:8px 0}.section-head p{max-width:560px;color:#657078}.dark .section-head p{color:#bac2c8}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-card{position:relative;min-height:350px;overflow:hidden;background:#19232a;color:white}.service-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.55s}.service-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,11,15,.92),rgba(5,11,15,.06) 72%)}.service-card:hover img{transform:scale(1.06)}.service-card .info{position:absolute;z-index:2;left:24px;right:24px;bottom:24px}.service-card h3{font-size:25px;margin:5px 0}.service-card p{font-size:14px;color:#e2e7e9;margin:5px 0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:#dfe4e6}.stat{background:#fff;padding:32px;text-align:center}.stat strong{font-size:38px;color:#6b9f00}.gallery{columns:4 240px;column-gap:12px}.photo{break-inside:avoid;margin:0 0 12px;position:relative;overflow:hidden;background:#dfe3e5;cursor:pointer;border-radius:2px}.photo img{width:100%;height:auto;transition:.35s}.photo:hover img{transform:scale(1.03)}.photo .cap{position:absolute;left:0;right:0;bottom:0;padding:25px 12px 10px;background:linear-gradient(transparent,#000a);color:#fff;font-size:12px;opacity:0;transition:.25s}.photo:hover .cap{opacity:1}.gallery.more .photo:nth-child(n+25){display:none}.gallery.more.expanded .photo{display:block}.center{text-align:center;margin-top:30px}.page-hero{min-height:390px;background-size:cover;background-position:center;position:relative;display:flex;align-items:end;color:white}.page-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#081118e8,#08111888)}.page-title{position:relative;z-index:2;padding-bottom:65px}.page-title h1{font-size:clamp(42px,6vw,70px);margin:6px 0}.breadcrumbs{font-size:13px;color:#dbe1e4}.intro-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:60px}.lead{font-size:20px;color:#56626a}.checklist{background:#0b141b;color:white;padding:30px}.checklist div{padding:13px 0;border-bottom:1px solid #ffffff20}.project-strip{display:flex;gap:14px;overflow:auto;scroll-snap-type:x mandatory;padding-bottom:12px}.project-strip .strip-item{min-width:min(560px,86vw);height:380px;scroll-snap-align:start;position:relative;overflow:hidden}.strip-item img{width:100%;height:100%;object-fit:cover}.strip-item:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0009,transparent 55%)}.strip-label{position:absolute;z-index:2;bottom:22px;left:24px;color:#fff;font-weight:900;font-size:24px}.reveal{opacity:0;transform:translateY(28px);transition:.75s ease}.reveal.show{opacity:1;transform:none}.social-stack{position:fixed;right:22px;bottom:24px;z-index:2000;display:flex;flex-direction:column;gap:10px}.social-btn{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;color:white;box-shadow:0 8px 25px #0003;transition:.2s}.social-btn:hover{transform:translateY(-3px) scale(1.03)}.social-btn.ig{background:radial-gradient(circle at 30% 110%,#ffd600 0 18%,#ff7a00 32%,#ff0169 58%,#d300c5 76%,#7638fa 100%)}.social-btn.fb{background:#1877f2}.social-btn.wa{background:#25D366}.social-btn svg{width:25px;height:25px}.chat-launch{position:fixed;right:86px;bottom:26px;z-index:2000;background:#0b141b;color:white;border:0;border-radius:28px;padding:13px 18px;font-weight:800;box-shadow:0 8px 25px #0003}.chatbox{position:fixed;right:22px;bottom:92px;width:min(360px,calc(100vw - 30px));background:white;border-radius:12px;box-shadow:0 18px 55px #0004;z-index:2100;display:none;overflow:hidden}.chatbox.open{display:block}.chathead{background:#0b141b;color:white;padding:16px;font-weight:900}.chatmsgs{height:300px;overflow:auto;padding:14px;background:#f6f7f8}.msg{padding:10px 12px;border-radius:10px;margin:8px 0;max-width:90%;font-size:14px}.msg.bot{background:white;border:1px solid #e1e5e8}.msg.user{background:#e7f6bf;margin-left:auto}.chatinput{display:flex;border-top:1px solid #ddd}.chatinput input{flex:1;border:0;padding:13px;outline:0}.chatinput button{border:0;background:#8fd000;padding:0 16px;font-weight:900}.footer{background:#071016;color:#d2d9dd;padding:60px 0 22px}.footgrid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:35px}.footer h4{color:white}.footer a{display:block;margin:7px 0;color:#c3ccd1}.footer .brand img{width:210px}.copy{border-top:1px solid #ffffff1a;margin-top:35px;padding-top:18px;font-size:13px}.filterbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}.filterbar button{border:1px solid #d8dde0;background:white;padding:9px 14px;font-weight:800}.filterbar button.active{background:#0b141b;color:white}.project-photo.hidden{display:none}.quote-banner{background:#8fd000;padding:55px 0}.quote-banner .container{display:flex;justify-content:space-between;align-items:center;gap:25px}.quote-banner h2{font-size:38px;margin:0}.quote-banner .btn{background:#0b141b;color:#fff}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.formgrid input,.formgrid textarea,.formgrid select{width:100%;padding:14px;border:1px solid #d8dde0;font:inherit}.formgrid textarea{grid-column:1/-1;min-height:140px}.formgrid .wide{grid-column:1/-1}.small-note{font-size:12px;color:#6d777e}.badge{display:inline-block;background:#eaf6c8;color:#4d7200;padding:6px 10px;font-weight:800;font-size:12px;margin:2px}.project-count{font-size:13px;color:#69757c;margin-bottom:20px}@media(max-width:900px){.navlinks{display:none}.hamb{display:block}.nav.open .navlinks{display:flex;position:absolute;top:128px;left:0;right:0;background:#fff;flex-direction:column;align-items:stretch;padding:18px 5%;gap:0;box-shadow:0 15px 35px #0002}.nav.open .navlinks a{padding:12px 0}.mega{position:static;width:auto;display:grid!important;box-shadow:none;border:0;padding:8px 0}.hero{min-height:570px}.hero-copy{padding-top:115px}.service-grid{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr 1fr}.intro-grid,.footgrid{grid-template-columns:1fr 1fr}.chat-launch{right:22px;bottom:246px;font-size:0;width:52px;height:52px;border-radius:50%}.chat-launch:after{content:'AI';font-size:13px}.quote-banner .container{align-items:flex-start;flex-direction:column}}@media(max-width:620px){.topbar .container{gap:10px;flex-wrap:wrap;padding:8px 0}.topbar .spacer{display:none}.brand img{width:150px;height:65px}.nav{min-height:76px}.service-grid,.stats,.intro-grid,.footgrid,.formgrid{grid-template-columns:1fr}.formgrid textarea,.formgrid .wide{grid-column:auto}.section{padding:65px 0}.hero h1{font-size:43px}.section-head{display:block}.gallery{columns:2 150px}.quote-banner h2{font-size:30px}}

/* Final navigation & service-area polish */
.services-toggle{appearance:none;border:0;background:transparent;font:inherit;font-weight:700;color:inherit;cursor:pointer;padding:33px 0;position:relative;display:flex;align-items:center;gap:5px}
.services-toggle:after{content:'';position:absolute;left:0;bottom:24px;width:0;height:2px;background:#8fcf00;transition:.25s}.services-toggle:hover:after,.services-toggle.active:after{width:100%}.services-toggle span{transition:transform .2s}.dropdown.open .services-toggle span{transform:rotate(180deg)}
.dropdown.open .mega,.dropdown:hover .mega{display:grid}.mega{top:100%;right:-245px;border-top:3px solid #8fd000;z-index:1200}.mega .all-services{margin-top:8px;padding-top:12px;border-top:1px solid #e6eaec;color:#5b8500;font-weight:900}
.area-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.area-card{background:#f4f6f7;border:1px solid #e1e6e8;padding:25px}.area-card h3{margin:0 0 12px;font-size:21px;color:#0b141b}.area-card div{padding:7px 0;border-bottom:1px solid #dde3e5;color:#56626a}.coverage-note{margin-top:28px;padding:22px 25px;background:#0b141b;color:#fff;border-left:5px solid #8fd000}.service-badges{margin:18px 0 8px}
.footer .brand img{filter:none}.footer a:hover{color:#8fd000}.footer p{max-width:340px}
@media(max-width:900px){.services-toggle{width:100%;padding:12px 0;justify-content:space-between}.services-toggle:after{bottom:5px}.mega{position:static!important;width:auto!important;right:auto!important;display:none!important;grid-template-columns:1fr!important;box-shadow:none!important;border:0!important;border-left:3px solid #8fd000!important;margin:0 0 8px;padding:8px 0 8px 15px!important}.dropdown.open .mega{display:grid!important}.nav.open .navlinks{max-height:calc(100vh - 125px);overflow:auto}.area-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.area-grid{grid-template-columns:1fr}.mega{grid-template-columns:1fr!important}}


/* POSTING FINAL — navigation, accessibility, tablet & mobile polish */
.nav{position:relative}
.services-toggle{min-height:48px;padding-left:4px;padding-right:4px}
.mega{
  width:min(840px,calc(100vw - 32px));
  left:50%;right:auto;transform:translateX(-50%);
  padding:28px 30px 30px;
  gap:18px 34px;
  border-radius:0 0 10px 10px;
  box-shadow:0 24px 60px rgba(0,0,0,.18);
}
.mega>div{min-width:0}
.mega .group{font-size:13px;margin:0 0 10px;padding:0 4px 9px;border-bottom:1px solid #e8edef}
.mega a{display:block;padding:12px 14px!important;margin:2px 0;border-radius:6px;font-size:15px;line-height:1.25;transition:background .18s,color .18s,transform .18s}
.mega a:hover,.mega a:focus-visible{background:#f0f7df;color:#426300;transform:translateX(2px);outline:none}
.mega .all-services{margin-top:10px!important;padding-top:14px!important;border-top:1px solid #dfe5e7;border-radius:0}
.navlinks>a,.services-toggle{min-height:48px}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #8fd000;outline-offset:3px}
.btn,.filterbar button,.chatinput button,.hamb{min-height:44px}
.photo img{cursor:zoom-in}

/* Tablet: switch to the touch-friendly menu before desktop nav gets cramped. */
@media(max-width:1050px){
  .navlinks{display:none}
  .hamb{display:block;min-width:48px;min-height:48px;cursor:pointer}
  .nav.open .navlinks{
    display:flex;position:absolute;top:100%;left:50%;right:auto;transform:translateX(-50%);
    width:100vw;background:#fff;flex-direction:column;align-items:stretch;
    padding:14px max(5vw,18px) 22px;gap:0;box-shadow:0 18px 35px rgba(0,0,0,.16);
    max-height:calc(100vh - 90px);overflow:auto;overscroll-behavior:contain;
  }
  .nav.open .navlinks>a{padding:14px 2px;min-height:48px;display:flex;align-items:center}
  .services-toggle{width:100%;padding:14px 2px;justify-content:space-between;min-height:50px}
  .services-toggle:after{bottom:6px}
  .mega{
    position:static!important;width:100%!important;left:auto!important;right:auto!important;transform:none!important;
    display:none!important;grid-template-columns:1fr 1fr!important;box-shadow:none!important;
    border:0!important;border-left:4px solid #8fd000!important;border-radius:0!important;
    margin:2px 0 12px;padding:10px 12px 12px 16px!important;gap:8px 20px;background:#f7f9fa;
  }
  .dropdown.open .mega{display:grid!important}
  .mega a{padding:12px!important;font-size:15px;background:#fff;border:1px solid #e7ebed}
  .mega .group{margin-top:4px}
  .service-grid{grid-template-columns:1fr 1fr}
  .stats{grid-template-columns:1fr 1fr}
  .intro-grid,.footgrid{grid-template-columns:1fr 1fr}
  .chat-launch{right:22px;bottom:246px;font-size:0;width:52px;height:52px;border-radius:50%}
  .chat-launch:after{content:'AI';font-size:13px}
  .quote-banner .container{align-items:flex-start;flex-direction:column}
  .area-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .mega{grid-template-columns:1fr!important}
  .mega a{min-height:46px;display:flex;align-items:center}
  .topbar .container{gap:8px 14px;flex-wrap:wrap;padding:8px 0}
  .topbar .spacer{display:none}
  .topbar span:last-child{width:100%;font-size:12px}
  .brand img{width:150px;height:65px}.nav{min-height:76px}
  .service-grid,.stats,.intro-grid,.footgrid,.formgrid{grid-template-columns:1fr}
  .formgrid textarea,.formgrid .wide{grid-column:auto}
  .section{padding:60px 0}.hero{min-height:560px}.hero-copy{padding-top:105px}.hero h1{font-size:clamp(38px,11vw,50px)}
  .hero p{font-size:17px}.section-head{display:block}.gallery{columns:2 145px}
  .quote-banner h2{font-size:30px}.page-hero{min-height:330px}.page-title{padding-bottom:45px}
  .social-stack{right:14px;bottom:16px}.social-btn{width:48px;height:48px}
  .chatbox{right:12px;bottom:82px;width:calc(100vw - 24px)}
}
@media(max-width:420px){
  .gallery{columns:1}.container{width:min(94%,1180px)}
  .btn{width:100%;margin-right:0}.hero-dots{bottom:20px}
  .topbar a{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.slide img{animation:none}.service-card img,.photo img,.social-btn{transition:none}
}

/* LIVE FINAL — single-column Services menu + featured slider controls */
.mega{
  width:390px!important;
  left:50%!important;
  right:auto!important;
  transform:translateX(-50%)!important;
  display:none!important;
  grid-template-columns:1fr!important;
  padding:18px!important;
  gap:0!important;
  max-height:min(72vh,700px);
  overflow:auto;
  scrollbar-width:thin;
}
.dropdown.open .mega,.dropdown:hover .mega{display:block!important}
.service-menu-list{display:block!important;width:100%}
.mega .group{padding:4px 10px 10px!important;margin:0 0 6px!important}
.mega a{display:flex!important;align-items:center;min-height:46px;padding:10px 12px!important;margin:2px 0!important;width:100%;}
.mega .all-services{margin-top:8px!important;padding-top:12px!important}

.featured-slider-wrap{position:relative}
.project-strip{scrollbar-width:none;-ms-overflow-style:none;padding-left:2px;padding-right:2px}
.project-strip::-webkit-scrollbar{display:none}
.slider-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:15;width:54px;height:54px;border:0;border-radius:50%;display:grid;place-items:center;background:rgba(143,208,0,.96);color:#0b141b;font-size:38px;line-height:1;font-weight:900;cursor:pointer;box-shadow:0 12px 30px rgba(0,0,0,.28);transition:transform .18s ease,background .18s ease}
.slider-arrow:hover,.slider-arrow:focus-visible{transform:translateY(-50%) scale(1.07);background:#a6e52a}
.slider-prev{left:-24px}.slider-next{right:-24px}
.strip-item{border-radius:5px}
.strip-item img{transition:transform .5s ease}.strip-item:hover img{transform:scale(1.025)}

.hero-dot{cursor:pointer;min-width:12px;min-height:12px}

@media(max-width:1050px){
  .mega{position:static!important;width:100%!important;left:auto!important;right:auto!important;transform:none!important;max-height:none!important;padding:10px 12px!important;background:#f7f9fa}
  .dropdown.open .mega{display:block!important}.dropdown:hover .mega{display:none!important}.dropdown.open:hover .mega{display:block!important}
  .mega a{background:#fff;border:1px solid #e7ebed;margin:5px 0!important;min-height:48px}
  .slider-prev{left:8px}.slider-next{right:8px}
}
@media(max-width:700px){
  .project-strip .strip-item{min-width:88vw;height:300px}
  .slider-arrow{width:46px;height:46px;font-size:32px}
  .slider-prev{left:6px}.slider-next{right:6px}
}
@media(max-width:430px){
  .project-strip .strip-item{height:260px}
  .mega a{font-size:14px}
}


/* FINAL SCROLL REVEAL — restored animated load-in effect */
.reveal{opacity:0;transform:translateY(34px);transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .75s cubic-bezier(.2,.7,.2,1);will-change:opacity,transform}
.reveal.reveal-left{transform:translateX(-46px)}
.reveal.reveal-right{transform:translateX(46px)}
.reveal.reveal-scale{transform:translateY(24px) scale(.965)}
.reveal.show{opacity:1;transform:translate3d(0,0,0) scale(1)}
.reveal-delay-1{transition-delay:.08s}.reveal-delay-2{transition-delay:.16s}.reveal-delay-3{transition-delay:.24s}.reveal-delay-4{transition-delay:.32s}
@media(max-width:700px){.reveal.reveal-left,.reveal.reveal-right{transform:translateY(30px)}}
@media(prefers-reduced-motion:reduce){.reveal,.reveal.reveal-left,.reveal.reveal-right,.reveal.reveal-scale{opacity:1!important;transform:none!important;transition:none!important}}

/* Final motion pass */
.motion-item{opacity:0;transform:translate3d(0,42px,0);filter:blur(3px);transition:opacity .85s cubic-bezier(.22,.7,.2,1),transform .85s cubic-bezier(.22,.7,.2,1),filter .7s ease;transition-delay:var(--motion-delay,0ms);will-change:opacity,transform}
.motion-item.motion-left{transform:translate3d(-55px,18px,0)}
.motion-item.motion-right{transform:translate3d(55px,18px,0)}
.motion-item.motion-scale{transform:translate3d(0,34px,0) scale(.955)}
.motion-item.motion-in{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0)}
.hero .slide{opacity:0;visibility:hidden;transition:opacity 1.25s ease,visibility 1.25s ease;z-index:0}
.hero .slide.active{opacity:1;visibility:visible;z-index:1}
.hero .slide img{transform:scale(1.02);transition:transform 6s ease-out}
.hero .slide.active img{transform:scale(1.085)}
.hero .slide .hero-copy{opacity:0;transform:translateY(24px);transition:opacity .85s ease .28s,transform .85s cubic-bezier(.2,.7,.2,1) .28s}
.hero .slide.active .hero-copy{opacity:1;transform:translateY(0)}
.hero-dot{cursor:pointer;transition:transform .25s ease,background .25s ease}
.hero-dot.active{transform:scale(1.35)}
@media(prefers-reduced-motion:reduce){.motion-item,.motion-item.motion-left,.motion-item.motion-right,.motion-item.motion-scale{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}.hero .slide{transition:none}.hero .slide img,.hero .slide .hero-copy{transform:none!important;transition:none!important}}


/* === MOTION V2: deliberate crossfades + visible scroll entrances === */
.hero .slide{
  opacity:0;
  visibility:visible;
  pointer-events:none;
  z-index:1;
  transition:opacity 2.4s cubic-bezier(.22,.61,.36,1);
}
.hero .slide.active{
  opacity:1;
  pointer-events:auto;
  z-index:2;
}
.hero .slide img{
  transform:scale(1.025);
  transition:transform 8s cubic-bezier(.2,.65,.2,1);
}
.hero .slide.active img{transform:scale(1.09)}
.hero .slide .hero-copy{
  opacity:0;
  transform:translate3d(0,38px,0);
  transition:opacity 1.25s ease .45s,transform 1.25s cubic-bezier(.16,.75,.22,1) .45s;
}
.hero .slide.active .hero-copy{opacity:1;transform:translate3d(0,0,0)}

.motion-item,
.reveal.motion-item{
  opacity:0!important;
  filter:blur(5px);
  transform:translate3d(0,70px,0)!important;
  transition:
    opacity 1.15s cubic-bezier(.16,.75,.22,1),
    transform 1.15s cubic-bezier(.16,.75,.22,1),
    filter .95s ease;
  transition-delay:var(--motion-delay,0ms);
  will-change:opacity,transform,filter;
}
.motion-item.motion-left,
.reveal.motion-item.motion-left{transform:translate3d(-80px,24px,0)!important}
.motion-item.motion-right,
.reveal.motion-item.motion-right{transform:translate3d(80px,24px,0)!important}
.motion-item.motion-up,
.reveal.motion-item.motion-up{transform:translate3d(0,70px,0)!important}
.motion-item.motion-scale,
.reveal.motion-item.motion-scale{transform:translate3d(0,50px,0) scale(.92)!important}
.motion-item.motion-in,
.reveal.motion-item.motion-in,
.reveal.show{
  opacity:1!important;
  filter:blur(0)!important;
  transform:translate3d(0,0,0) scale(1)!important;
}
.gallery .photo.motion-item img,
.project-photo.motion-item img{
  transform:scale(1.045);
  transition:transform 1.35s cubic-bezier(.16,.75,.22,1);
}
.gallery .photo.motion-in img,
.project-photo.motion-in img{transform:scale(1)}

@media(max-width:700px){
  .motion-item.motion-left,.motion-item.motion-right,
  .reveal.motion-item.motion-left,.reveal.motion-item.motion-right{
    transform:translate3d(0,52px,0)!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .motion-item,.reveal.motion-item,.motion-item.motion-left,.motion-item.motion-right,.motion-item.motion-up,.motion-item.motion-scale{
    opacity:1!important;filter:none!important;transform:none!important;transition:none!important
  }
  .hero .slide{transition:none!important}
  .hero .slide img,.hero .slide .hero-copy{transition:none!important;transform:none!important}
}

/* === MOTION V3: zoom-out reveal on scroll ===
   Elements begin slightly enlarged and transparent, then settle to natural size.
   This is intentionally noticeable so sections visibly load as the visitor scrolls. */
.motion-item,
.reveal.motion-item{
  opacity:0!important;
  filter:blur(4px);
  transform:translate3d(0,28px,0) scale(1.10)!important;
  transform-origin:center center;
  transition:
    opacity 1.05s cubic-bezier(.16,.78,.22,1),
    transform 1.20s cubic-bezier(.16,.78,.22,1),
    filter .9s ease;
  transition-delay:var(--motion-delay,0ms);
  will-change:opacity,transform,filter;
}
.motion-item.motion-left,
.reveal.motion-item.motion-left{
  transform:translate3d(-42px,18px,0) scale(1.08)!important;
}
.motion-item.motion-right,
.reveal.motion-item.motion-right{
  transform:translate3d(42px,18px,0) scale(1.08)!important;
}
.motion-item.motion-up,
.reveal.motion-item.motion-up{
  transform:translate3d(0,42px,0) scale(1.09)!important;
}
.motion-item.motion-scale,
.reveal.motion-item.motion-scale{
  transform:translate3d(0,22px,0) scale(1.12)!important;
}
.motion-item.motion-in,
.reveal.motion-item.motion-in,
.reveal.show{
  opacity:1!important;
  filter:blur(0)!important;
  transform:translate3d(0,0,0) scale(1)!important;
}

/* Photos get an extra image-level zoom-out for a stronger gallery reveal. */
.gallery .photo.motion-item,
.project-photo.motion-item,
.project-strip .strip-item.motion-item,
.service-card.motion-item{
  overflow:hidden;
}
.gallery .photo.motion-item img,
.project-photo.motion-item img,
.project-strip .strip-item.motion-item img,
.service-card.motion-item img{
  transform:scale(1.14);
  transition:transform 1.35s cubic-bezier(.16,.78,.22,1);
}
.gallery .photo.motion-in img,
.project-photo.motion-in img,
.project-strip .strip-item.motion-in img,
.service-card.motion-in img{
  transform:scale(1);
}

/* Slightly stagger photo groups so they reveal one after another. */
.gallery .photo.motion-item:nth-child(3n+1),
.project-strip .strip-item.motion-item:nth-child(3n+1){transition-delay:70ms}
.gallery .photo.motion-item:nth-child(3n+2),
.project-strip .strip-item.motion-item:nth-child(3n+2){transition-delay:150ms}
.gallery .photo.motion-item:nth-child(3n),
.project-strip .strip-item.motion-item:nth-child(3n){transition-delay:230ms}

@media(max-width:700px){
  .motion-item,.reveal.motion-item{
    transform:translate3d(0,26px,0) scale(1.075)!important;
  }
  .motion-item.motion-in,.reveal.motion-item.motion-in,.reveal.show{
    transform:translate3d(0,0,0) scale(1)!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .motion-item,.reveal.motion-item{
    opacity:1!important;filter:none!important;transform:none!important;transition:none!important
  }
  .gallery .photo.motion-item img,.project-photo.motion-item img,.project-strip .strip-item.motion-item img,.service-card.motion-item img{
    transform:none!important;transition:none!important
  }
}


/* === MOTION V6: smoother reveal + less image twitch === */
.motion-item,.reveal.motion-item{
  opacity:0!important;
  filter:none!important;
  transform:translate3d(0,30px,0) scale(1.06)!important;
  transition:opacity .85s cubic-bezier(.16,.75,.22,1),transform 1s cubic-bezier(.16,.75,.22,1)!important;
  transition-delay:var(--motion-delay,0ms)!important;
  will-change:opacity,transform;
  backface-visibility:hidden;
}
.motion-item.motion-left,.motion-item.motion-right,.motion-item.motion-up,.motion-item.motion-scale,
.reveal.motion-item.motion-left,.reveal.motion-item.motion-right,.reveal.motion-item.motion-up,.reveal.motion-item.motion-scale{
  transform:translate3d(0,30px,0) scale(1.06)!important;
}
.motion-item.motion-in,.reveal.motion-item.motion-in,.reveal.show{
  opacity:1!important;
  filter:none!important;
  transform:translate3d(0,0,0) scale(1)!important;
}
.gallery .photo,.project-photo,.project-strip .strip-item,.service-card{
  contain:paint;
}
.gallery .photo.motion-item img,.project-photo.motion-item img,.project-strip .strip-item.motion-item img,.service-card.motion-item img{
  transform:scale(1.055)!important;
  transition:transform 1s cubic-bezier(.16,.75,.22,1)!important;
  backface-visibility:hidden;
}
.gallery .photo.motion-in img,.project-photo.motion-in img,.project-strip .strip-item.motion-in img,.service-card.motion-in img{
  transform:scale(1)!important;
}
img[loading="lazy"]{content-visibility:auto}
@media(max-width:700px){
  .motion-item,.reveal.motion-item{transform:translate3d(0,20px,0) scale(1.035)!important}
}
@media(prefers-reduced-motion:reduce){
  .motion-item,.reveal.motion-item{opacity:1!important;transform:none!important;transition:none!important;will-change:auto!important}
}
