/* The camera and backdrop stay fixed while the rendered metal sculpture turns. */
#av-home .av-sculpture-stage{position:relative;width:100%;aspect-ratio:1;isolation:isolate;margin-block:-3px;background:#0b0c0c}
#av-home .av-sculpture-stage .hero-art{width:100%;margin:0;mix-blend-mode:lighten;transform:none!important;animation:none!important}
#av-home .av-sculpture-video{position:absolute;inset:0;display:block;width:100%;height:100%;opacity:0;pointer-events:none;mix-blend-mode:lighten}
#av-home .av-sculpture-ready .av-sculpture-video{opacity:1}
#av-home .av-sculpture-ready .hero-art{opacity:0}
#av-home .hero-visual::before{display:none!important}
.av-scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:99990;background:#fa5b30;transform:scaleX(0);transform-origin:left;pointer-events:none}
.admin-bar .av-scroll-progress{top:32px}
#av-home .av-signal-bars{display:flex;align-items:center;gap:3px;height:20px;width:24px;flex-shrink:0}
#av-home .av-signal-bars i{display:block;width:3px;height:17px;background:#fa5b30;transform:scaleY(.45)}
#av-home .av-signal-bars i:nth-child(2),#av-home .av-signal-bars i:nth-child(4){height:11px}
#av-home .av-signal-bars i:nth-child(3){height:20px}
#av-home .statement-strip{overflow:hidden}
#av-home .av-marquee-track{display:flex;width:max-content}
#av-home .av-marquee-group{width:max-content!important;min-width:100vw;flex:none;display:flex;flex-wrap:nowrap;justify-content:space-around;gap:44px;padding:20px 44px;margin:0;font-size:18px}
#av-home .av-marquee-group>span:nth-of-type(3),#av-home .av-marquee-group>svg:last-child{display:block}
#av-home .av-marquee-group span{white-space:nowrap}
#av-home .av-marquee-group svg{width:28px;height:28px}
.av-interactive-card{position:relative;isolation:isolate}
.av-interactive-card::before{content:'';position:absolute;inset:-1px;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at var(--av-pointer-x,50%) var(--av-pointer-y,50%),#fa5b301f,transparent 68%);opacity:0;transition:opacity .3s}

@keyframes av-arrive{from{opacity:0;transform:translateY(38px)}to{opacity:1;transform:translateY(0)}}
@keyframes av-headline{from{opacity:0;transform:translateY(46px) skewY(3deg);clip-path:inset(0 0 100% 0)}to{opacity:1;transform:translateY(0) skewY(0);clip-path:inset(0 0 -15% 0)}}
@keyframes av-photo{from{opacity:.2;transform:translateX(-28px);clip-path:inset(0 100% 0 0)}to{opacity:1;transform:none;clip-path:inset(0)}}
@keyframes av-marquee{to{transform:translateX(-50%)}}
@keyframes av-spin{to{transform:rotate(360deg)}}
@keyframes av-level{0%,100%{transform:scaleY(.3)}45%{transform:scaleY(1)}70%{transform:scaleY(.55)}}
@keyframes av-arrow{0%,100%{transform:translateY(-2px)}50%{transform:translateY(4px)}}
@keyframes av-step-line{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes av-mobile-arrive{from{opacity:0;transform:translate3d(0,28px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes av-mobile-headline{from{opacity:0;transform:translate3d(0,38px,0) skewY(2deg)}to{opacity:1;transform:translate3d(0,0,0) skewY(0)}}
@keyframes av-mobile-photo{from{opacity:0;transform:translate3d(-26px,12px,0) scale(.965)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@keyframes av-intro{from{transform:translate3d(0,30px,0) skewY(1.5deg)}to{transform:translate3d(0,0,0) skewY(0)}}

/* Move each homepage text block as a whole; accents extend beyond tight line boxes. */
@keyframes av-home-arrive{from{opacity:0;transform:translate3d(0,18px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@media(prefers-reduced-motion:no-preference){
  #av-home .av-motion-enter{animation:av-home-arrive .65s cubic-bezier(.22,1,.36,1) both;animation-delay:0s;clip-path:none}
}
#av-home :is(h1,h2,.archive-heading,.footer-wordmark){overflow:visible}

@media(prefers-reduced-motion:no-preference){
  .av-home-v1 :is(.av-motion-enter,.av-motion-intro),.av-inner-v2 :is(.av-motion-enter,.av-motion-intro){will-change:transform,opacity}
  .av-home-v1 .av-motion-intro,.av-inner-v2 .av-motion-intro{animation:av-intro .95s cubic-bezier(.22,1,.36,1) both;animation-delay:var(--av-motion-delay,0ms)}
  .av-home-v1 .av-motion-enter,.av-inner-v2 .av-motion-enter{animation:av-arrive .9s cubic-bezier(.22,1,.36,1) both;animation-delay:var(--av-motion-delay,0ms)}
  .av-home-v1 .av-motion-enter.av-motion-headline,.av-inner-v2 .av-motion-enter.av-motion-headline{animation-name:av-headline;animation-duration:1.05s}
  .av-home-v1 .av-motion-enter.av-motion-photo,.av-inner-v2 .av-motion-enter.av-motion-photo{animation-name:av-photo;animation-duration:1.1s}
  .av-motion-ready #av-home .av-marquee-track{animation:av-marquee 30s linear infinite}
  .av-motion-ready #av-home :is(.av-marquee-group svg,.section-star){animation:av-spin 16s linear infinite}
  .av-motion-ready #av-home .av-signal-bars i{animation:av-level 1.4s ease-in-out infinite}
  #av-home .av-signal-bars i:nth-child(2){animation-delay:-.5s}#av-home .av-signal-bars i:nth-child(3){animation-delay:-.9s}#av-home .av-signal-bars i:nth-child(4){animation-delay:-.2s}#av-home .av-signal-bars i:nth-child(5){animation-delay:-.65s}
  #av-home .hero-bottom a svg{animation:av-arrow 2s ease-in-out 3}
  #av-home .steps li{position:relative}
  #av-home .steps li::before{content:'';position:absolute;left:0;top:-1px;right:0;height:2px;background:#fa5b30;transform:scaleX(0);transform-origin:left}
  #av-home .steps li.av-motion-seen::before{animation:av-step-line .8s cubic-bezier(.22,1,.36,1) both;animation-delay:var(--av-motion-delay,0ms)}
  #av-home .portrait-frame img{transform:translateY(var(--av-portrait-shift,0px)) scale(1.09);transition:filter .5s}
  .av-inner-v2 .showcase-hero__portrait{overflow:hidden}
  .av-inner-v2 .showcase-hero__portrait img{transform:translateY(var(--av-portrait-shift,0px)) scale(1.09)}
  #av-home :is(.primary-link,.round-link,.text-link,.back-top) svg{transition:transform .4s cubic-bezier(.22,1,.36,1)}
  #av-home .wordmark .brand-symbol,.av-inner-v2 .site-brand .brand-mark{transition:transform .7s cubic-bezier(.22,1,.36,1)}
  #av-home .portal>div{transition:transform .4s cubic-bezier(.22,1,.36,1)}
  #av-home .portal>svg{transition:transform .4s cubic-bezier(.22,1,.36,1)}
  #av-home .avh-product-art img{transition:transform .7s cubic-bezier(.22,1,.36,1)}
  #av-home .main-nav a,.av-inner-v2 .primary-navigation a{position:relative}
  #av-home .main-nav a::after,.av-inner-v2 .primary-navigation a::after{content:'';position:absolute;left:0;right:0;bottom:4px;height:2px;background:#fa5b30;transform:scaleX(0);transform-origin:left;transition:transform .35s cubic-bezier(.22,1,.36,1);pointer-events:none}
  .av-inner-v2 .site-frame :is(.button,.wp-block-button__link,.wc-block-components-button){transition:background-color .25s,border-color .25s,box-shadow .25s}
  .av-motion-background #av-home :is(.av-marquee-track,.av-marquee-group svg,.section-star,.av-signal-bars i),#av-home .av-loop-outside :is(.av-marquee-track,.av-marquee-group svg,.av-signal-bars i),#av-home .section-star.av-loop-outside{animation-play-state:paused}
}
@media(prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine){
  .av-interactive-card:hover::before{opacity:1}
  #av-home .portal:hover>div{transform:translateX(12px)}
  #av-home .portal:hover>svg{transform:translate(6px,-6px) rotate(8deg)}
  #av-home .wordmark:hover .brand-symbol,.av-inner-v2 .site-brand:hover .brand-mark{transform:rotate(180deg)}
  #av-home :is(.text-link,.round-link,.back-top):hover svg{transform:translate(4px,-4px)}
  #av-home .primary-link:hover svg{transform:translateY(4px)}
  #av-home .avh-product a:hover img{transform:scale(1.07)}
  #av-home .main-nav a:hover::after,.av-inner-v2 .primary-navigation a:hover::after{transform:scaleX(1)}
  .av-inner-v2 .site-frame :is(.button,.wp-block-button__link,.wc-block-components-button):hover:not(:disabled):not([aria-disabled=true]){box-shadow:0 5px 0 #fa5b3033}
  #av-home .footer-wordmark:hover,.av-inner-v2 .footer-brand a:hover{color:#fa5b30;transition:color .3s}
}
@media(max-width:782px){.admin-bar .av-scroll-progress{top:46px}}
@media(max-width:760px){
  #av-home .av-sculpture-stage{width:90%;margin:0 auto}
  #av-home .av-marquee-group{font-size:14px;padding:17px 26px;gap:28px}
  #av-home .av-marquee-group svg{width:23px;height:23px}
}
/* Prepare offscreen content before it reaches the viewport, on every device. */
.av-motion-ready .av-reveal-pending{opacity:0}
@media(prefers-reduced-motion:no-preference) and (max-width:760px),(prefers-reduced-motion:no-preference) and (pointer:coarse){
  .av-home-v1 .av-motion-enter,.av-inner-v2 .av-motion-enter{
    animation-name:av-mobile-arrive;animation-duration:.75s;
    animation-timing-function:cubic-bezier(.22,1,.36,1);clip-path:none;
  }
  .av-home-v1 .av-motion-enter.av-motion-headline,.av-inner-v2 .av-motion-enter.av-motion-headline{animation-name:av-mobile-headline;animation-duration:.9s}
  .av-home-v1 .av-motion-enter.av-motion-photo,.av-inner-v2 .av-motion-enter.av-motion-photo{animation-name:av-mobile-photo;animation-duration:1s}
  #av-home .portrait-frame img,.av-inner-v2 .showcase-hero__portrait img{transform:translate3d(0,var(--av-portrait-shift,0px),0) scale(1.07);transition:none}
  #av-home .portrait-frame:hover img{filter:grayscale(1)}
  .av-interactive-card::before{display:none}
  #av-home :is(.portal,.primary-link,.round-link):active{transform:scale(.98)}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  .av-home-v1 :is(.av-motion-enter,.av-motion-intro),.av-inner-v2 :is(.av-motion-enter,.av-motion-intro){animation:none!important;opacity:1!important;transform:none!important;clip-path:none!important}
  .av-motion-ready .av-reveal-pending{opacity:1!important}
  #av-home .av-marquee-copy,.av-scroll-progress{display:none}
  #av-home .av-marquee-track{width:100%;transform:none}
  #av-home .av-marquee-group{width:100%!important;min-width:0;flex-wrap:wrap;gap:15px;padding:18px 20px}
  #av-home .portrait-frame img,.av-inner-v2 .showcase-hero__portrait img{transform:none!important}
}
