.home-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:58px 34px}
.home-project-grid .project-card{grid-column:auto!important;margin-top:0!important}
.home-project-grid .project-image,.home-project-grid .project-1 .project-image{height:330px}
.home-project-grid .project-card h3{font-size:24px;margin-top:11px}
.home-project-grid .project-card>p{max-width:560px}

.hero-copy{animation:hero-copy-in .8s cubic-bezier(.2,.7,.2,1) both}
.hero-art{animation:hero-art-in .9s .12s cubic-bezier(.2,.7,.2,1) both}
.orb-a{animation:orb-float 7s ease-in-out infinite}
.orb-b{animation:orb-float 9s 1s ease-in-out infinite reverse}
.hero-grid{animation:grid-drift 14s linear infinite alternate}
.hero-badge{animation:badge-pulse 3.8s ease-in-out infinite}

.button,.project-arrow,.sector-row b{transition:transform .22s ease,background-color .22s ease,color .22s ease,box-shadow .22s ease}
.button:hover{transform:translateY(-3px);box-shadow:11px 11px 0 rgba(17,20,25,.16)}
.button:hover span,.project-card:hover .project-arrow,.sector-row:hover b{transform:translate(3px,-3px)}
.project-card{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.project-card:hover{transform:translateY(-7px)}
.project-card .project-image:after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.2) 48%,transparent 70%);transform:translateX(-120%);transition:transform .65s ease}
.project-card:hover .project-image:after{transform:translateX(120%)}

.motion-reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}
.motion-reveal.is-visible{opacity:1;transform:none}

@keyframes hero-copy-in{from{opacity:0;transform:translateX(-28px)}to{opacity:1;transform:none}}
@keyframes hero-art-in{from{opacity:0;transform:translateX(32px) scale(.98)}to{opacity:1;transform:none}}
@keyframes orb-float{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-13px,0)}}
@keyframes grid-drift{from{background-position:0 0}to{background-position:48px 48px}}
@keyframes badge-pulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.08)}}

@media(max-width:760px){
  html,body{overflow-x:clip}
  .home-project-grid{grid-template-columns:1fr;gap:48px}
  .home-project-grid .project-image,.home-project-grid .project-1 .project-image{height:330px}
}

@media(max-width:760px) and (prefers-reduced-motion:no-preference){
  body:before{content:"";position:fixed;z-index:998;left:0;top:77px;width:var(--mobile-scroll-progress,0%);height:3px;background:linear-gradient(90deg,var(--orange),#ff8a48,var(--acid));box-shadow:0 0 12px rgba(255,89,53,.45);transition:width .1s linear;pointer-events:none}
  .site-header-wrap{transition:box-shadow .25s ease,background-color .25s ease}
  body.mobile-scrolled .site-header-wrap{background:rgba(244,241,233,.97);box-shadow:0 12px 28px rgba(17,20,25,.13)}
  .hero .eyebrow>span{animation:mobile-line-pulse 2.4s ease-in-out infinite;transform-origin:left}
  .hero h1 em,.page-hero h1 em{animation:mobile-accent-glow 3.2s ease-in-out infinite}
  .hero-art{animation:hero-art-in .9s .12s cubic-bezier(.2,.7,.2,1) both,mobile-art-breathe 6s 1.1s ease-in-out infinite}
  .hero-badge{animation:mobile-badge-bob 3.5s ease-in-out infinite}
  .motion-reveal{transform:translateY(38px) scale(.985);transition-duration:.72s}
  .sector-row.motion-reveal:nth-child(even){transform:translateX(28px)}
  .sector-row.motion-reveal:nth-child(odd){transform:translateX(-28px)}
  .sector-row.motion-reveal.is-visible{transform:none}
  .project-card.is-visible .project-image{animation:mobile-image-breathe 8s ease-in-out infinite alternate}
  .project-card:nth-child(even).is-visible .project-image{animation-direction:alternate-reverse}
  .mobile-contact .wa-mark{animation:mobile-wa-pulse 2.8s ease-in-out infinite}
  .mobile-contact>b{animation:mobile-arrow-nudge 1.8s ease-in-out infinite}
  .button.primary{position:relative;overflow:hidden}
  .button.primary:after{content:"";position:absolute;inset:-40%;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.28) 50%,transparent 62%);transform:translateX(-90%);animation:mobile-button-shine 4.2s 1.2s ease-in-out infinite;pointer-events:none}
}

@keyframes mobile-line-pulse{0%,100%{transform:scaleX(1);opacity:1}50%{transform:scaleX(1.65);opacity:.55}}
@keyframes mobile-accent-glow{0%,100%{filter:brightness(1)}50%{filter:brightness(1.16)}}
@keyframes mobile-art-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes mobile-badge-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes mobile-image-breathe{from{background-position:center 46%;filter:saturate(.86)}to{background-position:center 54%;filter:saturate(1.06)}}
@keyframes mobile-wa-pulse{0%,100%{box-shadow:0 0 0 5px rgba(37,211,102,.12)}50%{box-shadow:0 0 0 10px rgba(37,211,102,.04)}}
@keyframes mobile-arrow-nudge{0%,100%{transform:none}50%{transform:translate(3px,-3px)}}
@keyframes mobile-button-shine{0%,60%{transform:translateX(-90%)}85%,100%{transform:translateX(90%)}}

@media(prefers-reduced-motion:reduce){
  .hero-copy,.hero-art,.orb-a,.orb-b,.hero-grid,.hero-badge{animation:none}
  .motion-reveal{opacity:1;transform:none;transition:none}
  .button,.project-card,.project-image{transition:none}
  body:before{display:none}
}
