@font-face { font-family: Outfit; font-style: normal; font-weight: 400 800; font-display: swap; src: url('assets/fonts/outfit-latin-variable.woff2') format('woff2'); unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family: Outfit; font-style: normal; font-weight: 400 800; font-display: swap; src: url('assets/fonts/outfit-latin-ext-variable.woff2') format('woff2'); unicode-range: U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF; }
.header .logo { perspective: 700px; }
.header .brand-wordmark { transform-origin: center; transform: translate3d(var(--logo-x,0px),var(--logo-y,0px),0) rotateX(var(--logo-rx,0deg)) rotateY(var(--logo-ry,0deg)); transition: transform .38s cubic-bezier(.22,.7,.25,1); animation: logo-levitate 6.8s ease-in-out infinite; filter: drop-shadow(0 3px 3px #18387512); will-change: transform; }
@keyframes logo-levitate { 0%,100% { translate: 0 0; rotate: -.2deg; } 50% { translate: 0 var(--logo-lift,-2.5px); rotate: .2deg; } }
.intro-pending .header .brand-wordmark { animation-play-state: paused; }
.utility { position: relative; overflow: hidden; isolation: isolate; }
.utility::before { content: ''; position: absolute; pointer-events: none; z-index: -1; top: 0; bottom: 0; left: 0; width: 32%; background: linear-gradient(105deg,transparent 5%,#bbd1ff10 30%,#d9e7ff32 52%,#bbd1ff12 70%,transparent 95%); transform: translate3d(-130%,0,0); animation: offer-light 8s ease-in-out infinite; }
.utility-inner { position: relative; }
@keyframes offer-light { 0%,12% { transform: translate3d(-130%,0,0); } 65%,100% { transform: translate3d(430%,0,0); } }
.motion-sleep .header .brand-wordmark, .motion-sleep .utility::before { animation-play-state: paused; }
.retail-brands .section-head { align-items: flex-end; }
.retail-brands .section-head .section-kicker { display: block; color: #6a80ad; font-size: 0.5rem; font-weight: 500; letter-spacing: 1.5px; margin-bottom: 10px; }
.brand-motion-toggle { display: inline-flex; align-items: center; gap: 8px; color: #6178a1; font-size: 0.6875rem; padding: 8px 0 8px 12px; min-height: 36px; }
.brand-motion-toggle::before { content: ''; width: 7px; height: 9px; border-inline: 2px solid currentColor; }
.brand-motion-toggle[aria-pressed=true]::before { width: 0; height: 0; border-top: 5px solid transparent; border-bottom: 5px solid transparent; border-left: 7px solid currentColor; border-right: 0; }
.brand-motion-toggle:hover { color: #244caf; }
.brand-motion-toggle[hidden], .brand-set[hidden] { display: none; }
.brand-carousel { overflow: hidden; padding: 5px 0; mask-image: linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 14px),transparent); }
.brand-track { display: flex; gap: 18px; width: max-content; will-change: transform; }
.brand-set { display: flex; gap: 18px; width: max-content; min-width: var(--brand-viewport,0px); }
.brand-logo-card { display: flex; align-items: center; justify-content: center; flex: 1 0 186px; width: 186px; height: 87px; border: 1px solid #e2e9f7; border-radius: 12px; background: linear-gradient(#fff,#fcfdff); transition: border-color .2s,box-shadow .2s; scroll-snap-align: start; }
.brand-logo-card img { display: block; width: 120px; max-width: 74%; height: 38px; object-fit: contain; }
.brand-logo-card:hover { border-color: #b5c7ee; box-shadow: 0 4px 16px #18346b08; }
.brand-logo-card:focus-visible { outline-offset: -4px; }
.brand-carousel-note { font-size: 0.625rem; color: #6e7f9c; margin-top: 15px; }
.brand-carousel.is-manual, .brand-carousel.is-keyboard, .brand-carousel.is-paused { overflow-x: auto; scrollbar-width: thin; scrollbar-color: #d5dff3 transparent; scroll-snap-type: x proximity; mask-image: none; }
.brand-carousel.is-manual .brand-track, .brand-carousel.is-keyboard .brand-track, .brand-carousel.is-paused .brand-track { transform: none !important; will-change: auto; }
.brand-carousel.is-paused { scroll-snap-type: none; }
@media(max-width:700px) {
  .header .brand-wordmark { --logo-lift: -1.5px; }
  .brand-track, .brand-set { gap: 13px; }
  .brand-logo-card { flex-basis: 148px; width: 148px; height: 76px; border-radius: 10px; }
  .brand-logo-card img { width: 106px; height: 32px; }
  .brand-motion-toggle { font-size: 0.625rem; }
  .retail-brands .section-head .section-kicker { font-size: 0.4375rem; letter-spacing: 1px; }
}
@media(prefers-reduced-motion:reduce) {
  .header .brand-wordmark { animation: none; transform: none; translate: none; rotate: none; transition: none; will-change: auto; }
  .utility::before { display: none; }
}
