/* More legible motion; product artwork keeps its original framing. */
html.motion-ready .reveal{
  opacity:0;filter:blur(6px);transform:translateY(var(--reveal-shift,28px));
  transition:opacity .6s cubic-bezier(.16,1,.3,1),filter .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1),box-shadow .35s;
  transition-delay:0ms;
}
html.motion-ready .reveal.visible{opacity:1;filter:blur(0);transform:none;transition-delay:var(--group-delay,0ms)}
html[data-scroll-direction="up"] .reveal{--reveal-shift:-28px}
html.motion-ready .motion-group.reveal{filter:none;transform:none;transition:opacity .3s ease}
html.motion-ready .motion-group .motion-layer{opacity:0;filter:blur(4px);transform:translateY(var(--layer-shift,14px));transition:opacity .5s cubic-bezier(.16,1,.3,1),filter .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);transition-delay:0ms}
html.motion-ready .motion-group .motion-layer[data-motion-kind="media"]{filter:blur(6px);--layer-shift:18px;transition-duration:.65s}
html.motion-ready .motion-group .motion-layer[data-motion-kind="action"]{filter:none;--layer-shift:8px}
html.motion-ready[data-scroll-direction="up"] .motion-group .motion-layer{--layer-shift:-14px}
html.motion-ready[data-scroll-direction="up"] .motion-group .motion-layer[data-motion-kind="media"]{--layer-shift:-18px}
html.motion-ready[data-scroll-direction="up"] .motion-group .motion-layer[data-motion-kind="action"]{--layer-shift:-8px}
html.motion-ready .reveal.motion-group.visible .motion-layer{opacity:1;filter:none;transform:none;transition-delay:calc(var(--group-delay,0ms) + var(--layer-delay,0ms))}
html.motion-ready .motion-group .motion-layer:focus-within,html.motion-ready .motion-group .motion-layer:focus-visible{opacity:1;filter:none;transform:none;transition-delay:0ms}
.showcase{isolation:isolate;transition:background .5s,box-shadow .5s,transform .5s}
.showcase::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;background:radial-gradient(420px circle at var(--pointer-x,50%) var(--pointer-y,45%),#fff 0%,#ffffffa6 30%,#fff0 75%);transition:opacity .5s}
.showcase-figure{overflow:visible}
.showcase-figure img,.showcase:hover .showcase-figure img{transform:none;transition:none}
.showcase-bottom .text-link{padding:12px 19px;border:1px solid #cfcfd5;border-radius:28px;white-space:nowrap;transition:background .3s,color .3s,border-color .3s,box-shadow .3s}
.showcase h3{transition:transform .5s cubic-bezier(.16,1,.3,1)}
.nav-scrim{background:#10101852;backdrop-filter:blur(18px) saturate(.85);-webkit-backdrop-filter:blur(18px) saturate(.85);animation:none;opacity:1;transition:opacity .24s ease}
@starting-style{.nav-scrim{opacity:0}}
@keyframes backdrop-exit{from{opacity:1}to{opacity:0}}
@keyframes mobile-menu-exit{from{opacity:1;filter:blur(0);transform:none}to{opacity:0;filter:blur(10px);transform:translateY(-18px)}}
@keyframes submenu-enter{from{max-height:0;opacity:0;filter:blur(8px)}to{max-height:320px;opacity:1;filter:blur(0)}}
@keyframes submenu-exit{from{max-height:320px;opacity:1;filter:blur(0)}to{max-height:0;opacity:0;filter:blur(8px)}}
@keyframes menu-content-enter{from{opacity:.5;filter:blur(3px)}to{opacity:1;filter:blur(0)}}
.site-header.menu-active .menu-product{animation:none;transform:none}
.site-header.menu-active .menu-product>img,.site-header.menu-active .menu-product>span{animation:menu-content-enter .22s ease-out both}
.site-header.menu-active .menu-product:nth-child(2)>img,.site-header.menu-active .menu-product:nth-child(2)>span{animation-delay:.04s}
.dialog::backdrop{background:#11111b70;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px)}
@keyframes dialog-enter{from{opacity:0;filter:blur(14px);transform:translateY(52px) scale(.95)}to{opacity:1;filter:blur(0);transform:none}}
.dialog[open]{animation-duration:.65s}
.dialog.closing{animation-duration:.18s}
.dialog.closing::backdrop{animation:backdrop-exit .18s ease both}
@keyframes dialog-exit{to{opacity:0;filter:blur(10px);transform:translateY(24px) scale(.98)}}
.scene-tab,.pill,.map-open-label,.copy-number{transition:background .3s,color .3s,box-shadow .3s,transform .3s}
.pill:focus-visible{box-shadow:0 5px 16px #00000018}
.support-search button{transition:background .25s,transform .2s}
.support-search button:hover,.support-search button:focus-visible{background:#424245}
.support-search button:active{transform:translateY(1px)}
.text-link{transition:color .25s,border-color .25s,background .25s}
.menu-product:focus-visible{background:#f0f0f2;box-shadow:inset 0 0 0 1px #dedee5}
.pill:active,.scene-tab:active,.copy-number:active{transform:scale(.97)}
.contact-phone-link{transition:color .25s}
.contact-phone-link:hover{color:#c72a22}
.contact-phone-meta .copy-number{font-size:11px;padding:7px 12px;border:1px solid #dedee3;border-radius:18px;text-decoration:none;background:#f5f5f7;line-height:1.4}
.contact-phone-meta .copy-number:hover{background:#1d1d1f;color:#fff;border-color:#1d1d1f}
.contact-map:hover .map-open-label,.contact-map:focus-visible .map-open-label{background:#1d1d1f;color:#fff;box-shadow:0 5px 18px #0002}
@media(min-width:761px){.site-header.menu-active .product-menu{animation:none;clip-path:none;transform:none;opacity:1;pointer-events:auto;transition:opacity .18s ease}}
.nav-scrim.closing{animation:none;opacity:0;pointer-events:none}
@media(min-width:761px){.site-header.products-closing .product-menu{animation:none;opacity:0;pointer-events:auto}}
@media(hover:hover) and (pointer:fine){
 html:not(.reduce-motion) .showcase:hover,html.motion-ready:not(.reduce-motion) .showcase.visible:hover,html:not(.reduce-motion) .showcase:focus-within{transform:translateY(-6px);box-shadow:0 20px 45px #00000010}
 .showcase:hover::before,.showcase:focus-within::before{opacity:1}
 .showcase:hover .text-link,.showcase:focus-within .text-link{background:#1d1d1f;color:#fff;border-color:#1d1d1f;box-shadow:0 4px 12px #00000012}
 html:not(.reduce-motion) .showcase:hover h3{transform:translateY(-3px)}
 .menu-product:hover{box-shadow:inset 0 0 0 1px #dedee5;background:#f0f0f2}
 .cfa-b:hover,.cf-b:hover{box-shadow:0 14px 35px #00000010}
 .cfa-b:hover>img,.cf-b:hover>img{transform:none}
}
@media(max-width:760px){
 html.motion-ready .reveal{filter:blur(4px);transform:translateY(var(--reveal-shift,20px));transition-duration:.55s}
 html[data-scroll-direction="up"] .reveal{--reveal-shift:-20px}
 html.motion-ready .motion-group.reveal{filter:none;transform:none}
 html.motion-ready .motion-group .motion-layer{filter:blur(3px);--layer-shift:10px;transition-duration:.5s}
 html.motion-ready .motion-group .motion-layer[data-motion-kind="media"]{filter:blur(4px);--layer-shift:12px}
 html.motion-ready[data-scroll-direction="up"] .motion-group .motion-layer{--layer-shift:-10px}
 html.motion-ready[data-scroll-direction="up"] .motion-group .motion-layer[data-motion-kind="media"]{--layer-shift:-12px}
 html.motion-ready .reveal.visible{filter:none;transform:none}
 .showcase-bottom .text-link{padding:10px 15px;font-size:11px}
 .showcase:active .text-link{background:#1d1d1f;color:#fff}
 .nav-scrim{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
 .site-header.mobile-open .primary-nav{max-height:calc(100svh - var(--header));overflow-y:auto;overscroll-behavior:contain}
 .site-header.mobile-closing .primary-nav{animation:mobile-menu-exit .24s ease both;pointer-events:none}
 .site-header.mobile-open .product-menu:not([hidden]){overflow:hidden;animation:submenu-enter .4s cubic-bezier(.16,1,.3,1) both}
 .site-header.mobile-open.products-closing .product-menu{animation:submenu-exit .24s ease both;pointer-events:none}
}
html.reduce-motion .reveal,html.reduce-motion .menu-product{filter:none!important;opacity:1!important;transform:none!important}
html.reduce-motion .motion-layer{filter:none!important;opacity:1!important;transform:none!important}
html.reduce-motion .showcase,html.reduce-motion .showcase h3{transform:none!important}
@media(prefers-reduced-motion:reduce){.reveal,.motion-layer{filter:none!important;transform:none!important;opacity:1!important}.showcase,.showcase h3{transform:none!important}}

/* Keep the detail image at its source ratio from the first frame through all scrolling. */
[data-detail-story]{height:auto;min-height:0}
[data-detail-story] .detail-picture{width:min(100%,420px);height:auto;aspect-ratio:628/921;justify-self:center;padding:0;background:#fff}
[data-detail-story] .detail-picture img{width:100%;height:100%;object-fit:contain;mix-blend-mode:normal;transform:none!important}
@media(max-width:760px){[data-detail-story]{padding-block:75px}[data-detail-story] .detail-picture{width:min(100%,360px);height:auto}}
.brand-hero-copy{will-change:filter,opacity}
/* Cover physical pixel seams at both mobile fixed-bar junctions. */
.site-header::before{bottom:-2px}
.product-bar{background:#fffffff0;backdrop-filter:blur(22px) saturate(1.5);-webkit-backdrop-filter:blur(22px) saturate(1.5)}
@media(max-width:760px){
 .primary-nav{top:calc(var(--header) - 2px)}
 .site-header.mobile-open::before{background:#fafafa;box-shadow:none}
 .site-header.mobile-open .primary-nav{background:#fafafa}
 .product-bar{top:calc(var(--header) - 1px);height:59px}
}
.cfa-gal:focus-visible,.cf-gal:focus-visible{outline:2px solid #0071e3;outline-offset:6px}
.status-toast:not([hidden]){animation:toast-enter .3s cubic-bezier(.16,1,.3,1) both}
.status-toast.closing{animation:toast-exit .18s ease both}
@keyframes toast-enter{from{opacity:0;filter:blur(6px);translate:0 12px}to{opacity:1;filter:blur(0);translate:0 0}}
@keyframes toast-exit{to{opacity:0;filter:blur(6px);translate:0 8px}}

/* Return visits restore quickly, while first visits keep the layered cadence. */
html.motion-ready .reveal.is-returning{transition-duration:.3s;transition-delay:0ms}
html.motion-ready .reveal.motion-group.is-returning.visible .motion-layer{transition-duration:.32s;transition-delay:0ms}
.page-transition-layer{position:fixed;inset:0;z-index:1200;background:#fffffff5;opacity:0;pointer-events:none;transition:opacity .11s ease}
html.page-leaving .page-transition-layer{opacity:1}
html.reduce-motion .page-transition-layer{display:none}
@media(prefers-reduced-motion:reduce){.page-transition-layer{display:none}}
.cfa-dots.has-selection-ring{position:relative}
.cfa .cfa-dots.has-selection-ring label.cfac-dot{outline-color:transparent!important}
.cfac-selection-ring{position:absolute;left:0;top:0;border:1.5px solid #505348;border-radius:50%;pointer-events:none;transition:transform .32s cubic-bezier(.16,1,.3,1),width .2s,height .2s}

/* Keep link geometry fixed while making pointer and keyboard focus apparent. */
.site-header .primary-nav .nav-link{isolation:isolate;transition:color .2s ease}
.site-header .primary-nav .nav-link::before{content:'';position:absolute;inset:13px -12px;z-index:-1;border-radius:9px;background:currentColor;opacity:0;transform:scale(.96);transition:opacity .22s ease,transform .25s cubic-bezier(.16,1,.3,1);pointer-events:none}
.site-header .primary-nav .nav-link::after{content:'';position:absolute;left:0;right:0;bottom:17px;height:1px;background:currentColor;opacity:0;transform:scaleX(.4);transform-origin:center;transition:opacity .22s ease,transform .3s cubic-bezier(.16,1,.3,1);pointer-events:none}
.site-header .primary-nav .nav-link[aria-current="page"]::after{opacity:.65;transform:scaleX(1)}
.site-header .primary-nav .nav-link:focus-visible::before,.site-header .primary-nav .nav-link[aria-expanded="true"]::before{opacity:.075;transform:none}
.site-header .primary-nav .nav-link:focus-visible::after,.site-header .primary-nav .nav-link[aria-expanded="true"]::after{opacity:1;transform:scaleX(1)}
@media(hover:hover) and (pointer:fine){
 .site-header .primary-nav .nav-link:hover::before{opacity:.09;transform:none}
 .site-header .primary-nav .nav-link:hover::after{opacity:1;transform:scaleX(1)}
}
@media(max-width:760px){
 .site-header .primary-nav .nav-link::before{inset:6px -12px;border-radius:10px}
 .site-header .primary-nav .nav-link::after{display:none}
 .site-header .primary-nav .nav-link:active::before{opacity:.09;transform:none}
}
