/* Motion is progressive: content stays readable when JavaScript is unavailable. */
.site-header{position:sticky;top:0;z-index:10;max-width:none;background:rgba(255,255,255,.9);backdrop-filter:blur(18px);transition:box-shadow .35s ease,background .35s ease}
.site-header.scrolled{background:rgba(255,255,255,.96);box-shadow:0 5px 30px rgba(0,0,0,.06)}
.site-header nav a:not(.button){transition:color .25s ease}
.hero.reveal{animation:none}
.hero-photo{background:transparent;border-radius:32px;overflow:hidden;isolation:isolate;mask-image:linear-gradient(to right,transparent 0%,#000 7%,#000 93%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 5%,#000 91%,transparent 100%);mask-composite:intersect;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 7%,#000 93%,transparent 100%),linear-gradient(to bottom,transparent 0%,#000 5%,#000 91%,transparent 100%);-webkit-mask-composite:source-in}
.hero-photo>img{object-position:center;transform:scale(1.035);transition:transform 1.2s cubic-bezier(.2,.65,.3,1),object-position 1.2s ease}
.hero-photo:after{background:linear-gradient(transparent 50%,rgba(0,0,0,.65));pointer-events:none}
.hero-photo:hover>img{transform:scale(1.065)}
.photo-note{left:10%;right:10%;bottom:11%}
.gallery img{border-radius:24px;mask-image:linear-gradient(to bottom,transparent 0%,#000 5%,#000 92%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 5%,#000 92%,transparent 100%);transition:transform .8s cubic-bezier(.2,.65,.3,1)}
.gallery img:hover{transform:translateY(-5px)}
.button{transition:background .25s ease,transform .3s ease,box-shadow .3s ease}
.button:hover{box-shadow:0 8px 24px rgba(234,173,36,.2)}
.card{transition:transform .45s cubic-bezier(.2,.65,.3,1),box-shadow .45s ease,border-color .3s ease}
.card:hover{box-shadow:0 15px 35px rgba(0,0,0,.07);border-color:#e2c56a}
.card img{transition:transform .8s cubic-bezier(.2,.65,.3,1)}
.card:hover img{transform:scale(1.025)}
.socials a{transition:background .25s ease,color .25s ease,transform .25s ease}
.socials a:hover{background:var(--yellow);color:#202020;transform:translateY(-3px)}
@media(prefers-reduced-motion:no-preference){
 .motion-target{opacity:0;transform:translateY(28px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.65,.3,1)}
 .motion-target.is-visible{opacity:1;transform:translateY(0)}
 .hero-copy>.motion-target:nth-child(2){transition-delay:.1s}
 .hero-copy>.motion-target:nth-child(3){transition-delay:.2s}
 .hero-copy>.motion-target:nth-child(4){transition-delay:.3s}
 .grid>.motion-target:nth-child(3n+2),.values>.motion-target:nth-child(2){transition-delay:.1s}
 .grid>.motion-target:nth-child(3n+3),.values>.motion-target:nth-child(3){transition-delay:.2s}
 .gallery>.motion-target:nth-child(2){transition-delay:.12s}
 .hero-photo.motion-target{transform:translateY(20px) scale(.98);transition-duration:1.1s}
 .hero-photo.motion-target.is-visible{transform:translateY(0) scale(1)}
 @supports(animation-timeline:view()){
  .hero-photo>img{animation:photo-drift linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
  @keyframes photo-drift{from{transform:translateY(-2%) scale(1.06)}to{transform:translateY(2%) scale(1.06)}}
 }
}
@media(max-width:760px){.site-header nav{overflow:hidden}.hero-photo{border-radius:24px}.hero-photo>img{object-position:center}.photo-note{bottom:12%}.site-header nav.open{animation:menu-appear .3s ease both}@keyframes menu-appear{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}}
@media(prefers-reduced-motion:reduce){.motion-target{opacity:1;transform:none}.hero-photo>img{animation:none;transform:none}.hero-photo:hover>img{transform:none}.gallery img:hover{transform:none}.site-header nav.open{animation:none}}
