/* Brand motion: one welcoming sweep, then only on deliberate interaction. */
.wordmark{position:relative;isolation:isolate}
.wordmark::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 25%,#c8d0dc 46%,#fff 50%,#c8d0dc 54%,transparent 75%);background-size:350% 100%;background-position:120% 0;mask:var(--brand-logo-mask,url('/assets/amiri-champagne-logo.png?v=1')) center/contain no-repeat;-webkit-mask:var(--brand-logo-mask,url('/assets/amiri-champagne-logo.png?v=1')) center/contain no-repeat;opacity:0}
header .wordmark{animation:brand-arrival 1.4s cubic-bezier(.16,1,.3,1) both}
header .wordmark::after{animation:brand-light 1.8s .7s ease-in-out both}

@keyframes brand-arrival{from{opacity:0;transform:translateY(7px) scale(.94);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}
@keyframes brand-light{0%{opacity:0;background-position:120% 0}20%{opacity:.9}80%{opacity:.8}100%{opacity:0;background-position:-20% 0}}
@keyframes brand-light-hover{0%{opacity:0;background-position:120% 0}20%{opacity:.9}80%{opacity:.8}100%{opacity:0;background-position:-20% 0}}
.hero-copy>*{animation:hero-arrival .9s cubic-bezier(.16,1,.3,1) both}
.hero-copy>:nth-child(2){animation-delay:.12s}.hero-copy>:nth-child(3){animation-delay:.22s}.hero-copy>:nth-child(4){animation-delay:.32s}.hero-copy>:nth-child(5){animation-delay:.42s}.hero-copy>:nth-child(6){animation-delay:.5s}
@keyframes hero-arrival{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.hero-art img{animation:hero-drive 8s cubic-bezier(.45,0,.2,1) infinite alternate}
@keyframes hero-drive{0%{opacity:.94;transform:translateX(-1.5%) scale(1.025)}50%{opacity:1;transform:translateX(1.2%) scale(1.04)}100%{opacity:.97;transform:translateX(3.2%) scale(1.05)}}
.hero-art::before{content:"";position:absolute;z-index:1;inset:auto 0 22% 0;height:2px;background:linear-gradient(90deg,transparent 4%,#e7ebf255 22%,transparent 46%,#e7ebf244 68%,transparent 93%);filter:blur(.5px);opacity:.6;animation:road-glow 3.6s ease-in-out infinite;pointer-events:none}
@keyframes road-glow{0%,100%{transform:translateX(-8%);opacity:.25}50%{transform:translateX(8%);opacity:.75}}
.button{position:relative;overflow:hidden;transition:background .25s,transform .3s,box-shadow .3s}
.button::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 20%,#ffffff55 48%,transparent 75%);transform:translateX(130%);transition:transform .65s ease}
.button:hover::before,.button:focus-visible::before{transform:translateX(-130%)}
.button:hover{box-shadow:0 9px 25px #1517141a}.button:active{transform:translateY(1px) scale(.975)}
.button span,.text-link span,.car-bottom button span{display:inline-block;transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.button:hover span,.text-link:hover span,.car-bottom button:hover span{transform:translateX(-5px)}
nav a{position:relative}nav a::after{content:"";position:absolute;bottom:-7px;right:0;left:0;height:1px;background:var(--silver);transform:scaleX(0);transform-origin:right;transition:transform .3s}nav a:hover::after,nav a:focus-visible::after{transform:scaleX(1)}
.car{transition:transform .4s cubic-bezier(.2,.8,.2,1)}.car-image img{transition:transform .85s cubic-bezier(.2,.8,.2,1),filter .6s}.car:hover .car-image img{transform:scale(1.3);filter:saturate(.5)}
.car-bottom button{transition:color .2s}.car-bottom button:hover{color:#50565e}.filters button{transition:color .25s,border-color .25s,transform .25s}.filters button:active{transform:scale(.95)}
.steps article{position:relative}.steps article::before{content:"";position:absolute;top:-1px;right:0;width:100%;height:2px;background:var(--silver);transform:scaleX(0);transform-origin:right;transition:transform .7s}.steps article:hover::before{transform:scaleX(1)}
summary::after{transition:transform .3s}details[open] summary::after{transform:rotate(180deg)}
input,select,textarea{transition:border-color .25s,background .25s}input:focus,textarea:focus,select:focus{border-color:#707680;background:#ffffff35}
.floating-contact{transition:transform .3s,box-shadow .3s}.floating-contact:hover{transform:translateY(-4px);box-shadow:0 9px 28px #0003}
dialog[open]::backdrop{animation:backdrop-in .3s ease both}@keyframes backdrop-in{from{background:#0000;backdrop-filter:blur(0)}to{background:#000b;backdrop-filter:blur(4px)}}
.menu{transition:color .25s,transform .3s}.menu[aria-expanded=true]{color:var(--silver);transform:rotate(90deg)}
@media(max-width:720px){nav.open{animation:menu-in .3s ease both}@keyframes menu-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}}
@supports(animation-timeline:scroll()){
 body::before{content:"";position:fixed;top:0;left:0;width:100%;height:3px;background:var(--silver);z-index:99;pointer-events:none;transform-origin:right;animation:reading-progress linear both;animation-timeline:scroll()}
 @keyframes reading-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.car:hover{transform:translateY(-5px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}.wordmark::after,body::before{display:none}.car:hover,.button:hover,.floating-contact:hover{transform:none}}
