/* Cinematic motion system: refined, brief and accessibility-aware */
.logo-image{position:relative;transform-origin:left center;animation:logoReveal 1.9s .15s cubic-bezier(.16,.76,.2,1) both}
.logo-image:after{content:"";position:absolute;left:0;bottom:-9px;width:100%;height:1px;pointer-events:none;background:#c6a66b;transform:scaleX(0);transform-origin:left;animation:logoLine 1.25s 1.15s cubic-bezier(.2,.7,.2,1) forwards}
@keyframes logoReveal{from{opacity:0;clip-path:inset(0 100% 0 0);transform:translateY(-5px)}to{opacity:1;clip-path:inset(0);transform:none}}
@keyframes logoLine{to{transform:scaleX(1)}}

body.motion-ready .motion-text{opacity:0;transform:translateY(50px);filter:blur(5px);transition:opacity 1.3s cubic-bezier(.2,.7,.2,1),transform 1.45s cubic-bezier(.2,.7,.2,1),filter 1.15s}
body.motion-ready .motion-text.motion-visible{opacity:1;transform:none;filter:blur(0)}

.parallax-media{will-change:transform;transform:translate3d(0,var(--parallax-y,0),0) scale(1.025);transition:transform .12s linear}
.text-link,.consultation-link,.page-cta a,.circle-link,.service-explore{transition:transform .4s cubic-bezier(.2,.7,.2,1),color .3s,background-color .3s}
.text-link:hover,.consultation-link:hover,.page-cta a:hover{transform:translateX(9px)}
.desktop-nav a{transition:opacity .3s,transform .3s}.desktop-nav:hover a{opacity:.48}.desktop-nav a:hover{opacity:1;transform:translateY(-2px)}
.signature-project{overflow:hidden}.signature-project img{transition:transform 1.3s cubic-bezier(.2,.7,.2,1),filter .8s}.signature-project:hover img{transform:scale(1.035);filter:saturate(1.04)}
.hero-image{animation-duration:3.4s!important}
.menu-button{color:inherit!important;appearance:none;-webkit-appearance:none;-webkit-tap-highlight-color:transparent}
.menu-button span{background:currentColor!important}
.menu-button.active{color:#c6a66b!important}

@media(max-width:800px){
  .hero-copy{right:18px;width:auto;overflow:visible}
  body main h1,body main h2,body main h3{line-height:1.04!important;padding-bottom:.14em;overflow:visible!important}
  body main .hero h1{max-width:100%;line-height:1.02!important;padding:0 .12em .2em 0;margin-bottom:0;overflow:visible!important}
  .hero-title-line,.hero h1 em{display:inline-block;position:relative}
  body.motion-ready .motion-text{transform:translate3d(0,28px,0);filter:none;clip-path:none;transition:opacity .85s cubic-bezier(.2,.7,.2,1),transform 1s cubic-bezier(.16,.76,.2,1)}
  body.motion-ready .motion-text.motion-visible{transform:none;filter:none;clip-path:none}
  body.motion-ready .hero h1.motion-text{opacity:1;transform:none;filter:none;clip-path:none;transition:none}
  body.motion-ready .mobile-reveal-block,body.motion-ready .motion-text.mobile-reveal-block{opacity:0;transform:translate3d(0,24px,0);filter:none;clip-path:none;transition:opacity .75s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.16,.76,.2,1);transition-delay:calc(var(--mobile-reveal-order,0)*45ms);will-change:opacity,transform}
  body.motion-ready .mobile-reveal-block.mobile-reveal-visible,body.motion-ready .motion-text.mobile-reveal-block.mobile-reveal-visible{opacity:1;transform:none;filter:none;clip-path:none;will-change:auto}
  .mobile-motion-media{opacity:.08;clip-path:inset(8% 0 8% 0);transform:translate3d(0,18px,0) scale(1.045);transition:opacity .9s cubic-bezier(.2,.7,.2,1),clip-path 1s cubic-bezier(.2,.7,.2,1),transform 1.05s cubic-bezier(.2,.7,.2,1)}
  .mobile-motion-media.media-visible{opacity:1;clip-path:inset(0);transform:translate3d(0,0,0) scale(1.01);transition-delay:calc(var(--motion-order,0)*45ms)}
  .hero-image.mobile-motion-media{opacity:1;clip-path:inset(0);transform:none!important;animation:none!important;overflow:hidden}
  .hero-image>.responsive-media{inset:0;width:100%;height:100%;transform:none;animation:none}
  .hero-image>.responsive-media>img{object-position:58% center;will-change:transform;transform:translate3d(-4%,0,0) scale(1.12);-webkit-transform:translate3d(-4%,0,0) scale(1.12);animation:mobileHeroSafariPan 12s -1.5s ease-in-out infinite alternate;-webkit-animation:mobileHeroSafariPan 12s -1.5s ease-in-out infinite alternate;backface-visibility:hidden;-webkit-backface-visibility:hidden}
  .hero-shade{overflow:hidden}
  .hero-shade:after{content:"";position:absolute;inset:-12% -70%;background:linear-gradient(108deg,transparent 39%,rgba(255,239,207,.16) 49%,transparent 60%);transform:translate3d(-22%,0,0);animation:mobileLightSweep 9s 1.6s ease-in-out infinite;pointer-events:none}
  body.hero-motion-enabled .hero:not(.hero-motion-active) .eyebrow,
  body.hero-motion-enabled .hero:not(.hero-motion-active) h1,
  body.hero-motion-enabled .hero:not(.hero-motion-active) .hero-bottom a{opacity:0}
  body.hero-motion-enabled .hero.hero-motion-active .eyebrow{animation:mobileTextRise 1s .12s cubic-bezier(.16,.76,.2,1) both}
  body.hero-motion-enabled .hero.hero-motion-active h1{animation:mobileTextRise 1.45s .38s cubic-bezier(.16,.76,.2,1) both}
  body.hero-motion-enabled .hero.hero-motion-active .hero-bottom a{animation:mobileTextRise 1.05s .86s cubic-bezier(.16,.76,.2,1) both}
  body.hero-motion-enabled .hero.hero-motion-active h1 em{animation:mobileWordFloat 7s 2.15s ease-in-out infinite}
  .hero h1 em:after{content:"";position:absolute;left:.02em;right:.02em;bottom:-.035em;height:1px;background:linear-gradient(90deg,transparent,#d8bd84 16%,#fff 52%,#d8bd84 84%,transparent);transform:scaleX(0);transform-origin:left;opacity:0;animation:mobileAccentTrace 7s 1.7s ease-in-out infinite;pointer-events:none}
  .motion-service-image.mobile-motion-media{inset:-8%;transform:scale(1.1)}
  .motion-service.motion-in .motion-service-image{animation:mobileServicePan 10s ease-in-out infinite alternate}
  .project-card>div.mobile-motion-media{transform:scale(1.01)}
  .premium-story-image.mobile-motion-media,.craft-image.mobile-motion-media,.feature-image.mobile-motion-media,.image-living.mobile-motion-media{background-size:auto 112%;background-repeat:no-repeat}
}
@keyframes mobileHeroDrift{from{transform:scale(1.08) translate3d(-3.5%,0,0);background-position:52% center}to{transform:scale(1.18) translate3d(3%,-1.5%,0);background-position:64% center}}
@keyframes mobileHeroSafariPan{from{transform:translate3d(-4%,0,0) scale(1.12)}to{transform:translate3d(4%,0,0) scale(1.12)}}
@-webkit-keyframes mobileHeroSafariPan{from{-webkit-transform:translate3d(-4%,0,0) scale(1.12)}to{-webkit-transform:translate3d(4%,0,0) scale(1.12)}}
@keyframes mobileLightSweep{0%,20%{transform:translate3d(-26%,0,0);opacity:0}45%{opacity:1}70%,100%{transform:translate3d(26%,0,0);opacity:0}}
@keyframes mobileTextRise{from{opacity:0;transform:translate3d(0,34px,0);filter:blur(4px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes mobileWordFloat{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,-5px,0)}}
@keyframes mobileAccentTrace{0%,8%{transform:scaleX(0);transform-origin:left;opacity:0}18%,68%{transform:scaleX(1);transform-origin:left;opacity:.72}86%,100%{transform:scaleX(0);transform-origin:right;opacity:0}}
@keyframes mobileServicePan{from{background-position:43% center}to{background-position:60% center}}
