/* FVV motion layer. Existing colors, fonts, content, and layouts remain authoritative. */
.hero-line{display:block;transform-origin:left center;animation:fvv-headline .85s cubic-bezier(.16,1,.3,1) both}
.hero-line:nth-child(2){animation-delay:.12s}
.hero-bottom{animation:fvv-rise .8s .2s cubic-bezier(.16,1,.3,1) both}
.hero>.eyebrow{animation:fvv-rise .65s cubic-bezier(.16,1,.3,1) both}
header{transition:box-shadow .25s ease}
header.is-scrolled{box-shadow:0 6px 20px rgb(23 24 23 / .08)}
header:after{content:'';position:absolute;left:0;bottom:-1px;height:3px;width:100%;background:var(--orange);transform:scaleX(var(--fvv-progress,0));transform-origin:left;pointer-events:none}
.button,.nav-cta{transition:transform .22s ease,background .2s,color .2s,box-shadow .22s}
.button:hover,.nav-cta:hover{transform:translateY(-3px);box-shadow:0 7px 0 rgb(23 24 23 / .12)}
.button:active,.nav-cta:active{transform:translateY(0);box-shadow:none}
.button>span,.nav-cta>span{display:inline-block;transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.button:hover>span,.nav-cta:hover>span{transform:translate(4px,-4px)}
.button:disabled{transform:none;box-shadow:none}
nav>a:not(.nav-cta){position:relative}
nav>a:not(.nav-cta):after{content:'';position:absolute;bottom:-6px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .2s}
nav>a:not(.nav-cta):hover:after,nav>a:not(.nav-cta):focus-visible:after{transform:scaleX(1)}
.menu span{display:inline-block;transition:transform .25s}
.menu[aria-expanded=true] span{transform:rotate(45deg)}
.service-list article{transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.service-list article:hover{transform:translateX(6px)}
.service-symbol{transition:transform .3s,color .3s}
.service-list article:hover .service-symbol{transform:translate(4px,-4px);color:var(--orange)}
.concept-art img{transition:transform .75s cubic-bezier(.2,.8,.2,1)}
.concept:hover .concept-art img{transform:scale(1.035)}
.restaurant-copy,.home-copy,.art-copy{transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.concept:hover .restaurant-copy,.concept:hover .home-copy,.concept:hover .art-copy{transform:translateY(-5px)}
.plan{position:relative;transition:transform .25s,box-shadow .25s}
.plan:hover,.plan:focus-within{z-index:1;transform:translateY(-5px);box-shadow:0 10px 26px rgb(23 24 23 / .1)}
form input,form select,form textarea{transition:border-color .2s,box-shadow .2s}
form input:focus,form select:focus,form textarea:focus{border-bottom-color:var(--orange);box-shadow:0 1px 0 var(--orange)}
.motion-enabled [data-fvv-reveal]{transform:translateY(20px);transition:transform .7s cubic-bezier(.16,1,.3,1);transition-delay:var(--fvv-delay,0ms)}
.motion-enabled [data-fvv-reveal].fvv-in{transform:translateY(0)}
@keyframes fvv-headline{from{transform:translateY(28px) skewY(1deg)}to{transform:translateY(0) skewY(0)}}
@keyframes fvv-rise{from{transform:translateY(18px)}to{transform:translateY(0)}}
@media(hover:none){.service-list article:hover,.plan:hover,.button:hover,.nav-cta:hover{transform:none;box-shadow:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-line,.hero-bottom,.hero>.eyebrow{animation:none!important}.motion-enabled [data-fvv-reveal],.motion-enabled [data-fvv-reveal].fvv-in{transform:none!important;transition:none!important}header,.button,.nav-cta,.button>span,.nav-cta>span,.menu span,.service-list article,.service-symbol,.concept-art img,.restaurant-copy,.home-copy,.art-copy,.plan,input,select,textarea{transition:none!important}.button:hover,.nav-cta:hover,.button:hover>span,.nav-cta:hover>span,.service-list article:hover,.service-list article:hover .service-symbol,.concept:hover .concept-art img,.concept:hover .restaurant-copy,.concept:hover .home-copy,.concept:hover .art-copy,.plan:hover,.plan:focus-within{transform:none!important}}
