:root{--motion-ease:cubic-bezier(.2,.75,.25,1)}
.button,.circle-button,.segmented button,.quantity button,.menu-toggle{position:relative;overflow:hidden;isolation:isolate;transition:background-color .22s ease,box-shadow .3s ease,transform .3s var(--motion-ease),border-color .22s ease}
.button span[aria-hidden]:not(.button-ripple),.circle-button,.service-icon,.promise-strip b,.label-icon{transition:transform .5s var(--motion-ease)}
.button-ripple{position:absolute!important;display:block;pointer-events:none;border-radius:50%;background:rgba(255,255,255,.65);z-index:0}
.button:active:not(:disabled),.circle-button:active:not(:disabled),.quantity button:active:not(:disabled),.menu-toggle:active{transform:scale(.96)}
.desktop-nav a,.footer-top>.text-link{position:relative}
.desktop-nav a:after,.footer-top>.text-link:after{content:'';position:absolute;bottom:-5px;left:0;width:100%;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--motion-ease)}
.desktop-nav a:focus-visible:after,.footer-top>.text-link:focus-visible:after{transform:scaleX(1)}
.service-card{transition:transform .45s var(--motion-ease),box-shadow .45s ease,border-color .3s ease}
.service-icon{display:inline-block}
.extra-row{border-radius:8px;transition:background-color .25s ease,border-color .25s ease}
.extra-row:has(input:checked){background:#fff7ef;border-bottom-color:#efd4bd}
.extra-row input[type=checkbox]{transition:transform .2s var(--motion-ease)}
.extra-row input[type=checkbox]:checked{transform:scale(1.08)}
.quantity{transform-origin:center}
.quote-total{font-variant-numeric:tabular-nums}
.quote-total[aria-busy=true]{opacity:.55;transition:opacity .2s ease}
.sparkle{display:inline-block;transform-origin:center}
input:not([type=checkbox]):not([type=range]),select,textarea{transition:border-color .2s ease,box-shadow .2s ease}
input:not([type=checkbox]):not([type=range]):focus,select:focus,textarea:focus{border-color:#cfa481;box-shadow:0 0 0 4px #ffd0aa30}
.faq-list summary:after{content:'+';transition:transform .3s var(--motion-ease);transform-origin:center}
.faq-list details[open] summary:after{content:'+';transform:rotate(45deg)}
.faq-list summary{transition:color .2s ease}
.mobile-nav:not([hidden]){animation:menu-in .3s var(--motion-ease) both;transform-origin:top right}
.order-dialog[open]{animation:dialog-in .35s var(--motion-ease) both}
.order-dialog[open]::backdrop{animation:backdrop-in .25s ease both}
#order-success:not([hidden]) .success-symbol{animation:success-in .6s var(--motion-ease) both}
#order-success:not([hidden]) h2,#order-success:not([hidden]) p{animation:content-in .45s var(--motion-ease) both}
@media(hover:hover) and (pointer:fine){
  .button:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 8px 20px #b8794320}
  .button:hover span[aria-hidden]:not(.button-ripple){transform:translate(3px,-3px)}
  .button:active:not(:disabled){transform:translateY(0) scale(.97)}
  .desktop-nav a:hover:after,.footer-top>.text-link:hover:after{transform:scaleX(1)}
  .service-card:hover{transform:translateY(-7px);box-shadow:0 18px 35px #2424210a;border-color:#e5c7ab}
  .service-card:hover .service-icon{transform:rotate(35deg) scale(1.1)}
  .circle-button:hover{transform:rotate(8deg);box-shadow:0 5px 12px #24242112}
  .promise-strip>span:hover b{transform:rotate(-12deg) translateY(-2px)}
  .art-label:hover .label-icon{transform:rotate(90deg)}
  .faq-list summary:hover{color:#a44f22}
}
@keyframes menu-in{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes dialog-in{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes success-in{0%{opacity:0;transform:scale(.6) rotate(-15deg)}70%{opacity:1;transform:scale(1.08) rotate(3deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
@keyframes content-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){
  :root{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition:none!important}
  .button:hover,.button:active,.circle-button:hover,.circle-button:active,.service-card:hover,.brand:hover .brand-mark,.service-card:hover .service-icon,.button:hover span[aria-hidden],.promise-strip>span:hover b,.art-label:hover .label-icon,.extra-row input[type=checkbox]:checked,.quantity button:active,.menu-toggle:active{transform:none!important}
}
