/* Transforms do not reflow text or compete with entrance animations. */
.collection-row{grid-template-columns:1fr 86px 40px 24px;transition:background-color .28s ease}
.collection-row:hover{padding-inline:0}.collection-name,.collection-plus,.collection-row img{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.btn{transition:background-color .25s ease,color .25s ease,border-color .25s ease,transform .25s ease}
.product-image img{transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.category-card{transition:background-color .25s ease,border-color .25s ease,transform .35s ease}
.field-feature{transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.collection-image img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.feature-controls button,.footer a,.guide-jumps a{transition:background-color .25s ease,color .25s ease,border-color .25s ease}
@media(hover:hover) and (pointer:fine){.collection-row:hover .collection-name{transform:translateX(7px)}.collection-row:hover img{transform:translateY(-3px)}.product-image:hover img{transform:scale(1.045)}.feature-carousel:hover{transform:rotate(2deg)}}
@media(hover:none){.btn:hover,.category-card:hover,.collection-image:hover img,.product-image:hover img,.cart-btn:hover .icon,.collection-row:hover .collection-plus{transform:none}.collection-row:hover{background:transparent}.feature-carousel:hover{transform:rotate(4deg)}}
.field-backdrop.scroll-background,.field-manifesto>img.scroll-background,.editorial-hero>img.scroll-background{top:-60px;bottom:auto;height:calc(100% + 120px);will-change:transform;transition:none}
body.mobile-nav-open{position:fixed;left:0;right:0;width:100%;overflow:hidden}
#mobile-nav-dialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(440px,100%);max-width:100%;height:100dvh;max-height:100dvh;padding:0;border:0;background:#f6f6ef;color:#19241c;overflow:hidden;box-shadow:-20px 0 70px #0003}
#mobile-nav-dialog[open]{display:flex;flex-direction:column;animation:menu-in .32s cubic-bezier(.2,.75,.25,1)}
#mobile-nav-dialog::backdrop{background:#10181099;animation:veil-in .25s ease}
#mobile-nav-dialog.is-closing{animation:menu-out .2s ease-in forwards}#mobile-nav-dialog.is-closing::backdrop{animation:veil-out .2s ease-in forwards}
.mobile-nav-head{display:flex;align-items:center;gap:18px;background:#18221b;color:#f4f2e5;padding:15px 22px;border-bottom:2px solid #c5a65f;flex-shrink:0}
.mobile-nav-head h2{font-size:25px;line-height:1.1;margin:0;flex:1}.mobile-nav-head img{width:72px;height:54px;object-fit:contain}.mobile-nav-head button{display:grid;place-items:center;min-width:44px;height:44px;border:1px solid #ffffff38;background:transparent;color:inherit;border-radius:50%}
.mobile-nav-body{padding:24px;overflow-y:auto;overscroll-behavior:contain;padding-bottom:max(24px,env(safe-area-inset-bottom))}
#mobile-search-form{display:flex;border:1px solid #ccd1c3;background:white;margin-bottom:24px;border-radius:4px}#mobile-query{min-width:0;width:100%;background:transparent;border:0;padding:15px;font:inherit;font-size:16px;color:#19241c}#mobile-search-form button{width:50px;flex-shrink:0;border:0;background:transparent;color:#273e2e}
.mobile-all{display:flex;align-items:center;gap:12px;background:#d2b36b;padding:17px;font-weight:700;border-radius:4px}.mobile-all .icon:last-child{margin-left:auto}
.mobile-nav-label{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:#626f5d;margin:25px 0 8px}
.mobile-categories a{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:53px;border-bottom:1px solid #dce0d5;font-size:19px;font-weight:600}.mobile-categories a .icon{width:18px;height:18px;color:#88947d}.mobile-categories a[aria-current]{color:#826320}
.mobile-pages{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;padding-block:20px}.mobile-pages a{min-height:46px;display:flex;align-items:center;font-size:14px}
.mobile-help{display:flex;align-items:center;gap:15px;padding:18px;background:#e9ecdf;border-radius:4px;font-size:12px}.mobile-help strong{display:block;font-size:18px;margin-top:5px}.mobile-help .icon{width:26px;height:26px;color:#8c743c}
#mobile-nav-dialog a,#mobile-nav-dialog button{transition:background-color .2s ease,color .2s ease}#mobile-nav-dialog a:focus-visible,#mobile-nav-dialog button:focus-visible{outline:2px solid #9b7738;outline-offset:3px}.mobile-nav-head button:hover{background:#ffffff18}
@keyframes menu-in{from{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes menu-out{to{transform:translateX(100%)}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:760px){.masthead .nav-wrap{display:none!important}.header-main{display:grid;grid-template-columns:auto 1fr auto;gap:8px 16px;min-height:76px;padding-block:8px}.brand{grid-column:1;grid-row:1}.mobile-menu{grid-column:2;grid-row:1;justify-self:end;margin:0!important;min-height:48px;padding:10px 14px;border:1px solid #ffffff25;border-radius:4px}.cart-btn{grid-column:3;grid-row:1}.header-main>.search{grid-column:1/-1;grid-row:2;margin:0;width:100%;height:42px}.is-compact .header-main{display:flex;gap:12px}.is-compact .mobile-menu{margin-left:auto!important}.collection-row{grid-template-columns:1fr 60px 26px 20px;gap:10px}.collection-name h3{font-size:27px}}
@media(prefers-reduced-motion:reduce){.scroll-background{transform:none!important;will-change:auto}.btn:hover,.collection-row:hover .collection-name,.collection-row:hover img,.product-image:hover img{transform:none!important}#mobile-nav-dialog,#mobile-nav-dialog::backdrop{animation:none!important}}
/* Equal-width groups produce a seamless loop without changing layout. */
.brand-ribbon{position:relative;padding:17px 0}.ribbon-track{display:flex;width:max-content;animation:ribbon-scroll 32s linear infinite;will-change:transform}.ribbon-group{display:flex;align-items:center;flex:none;gap:clamp(32px,4vw,72px);padding-right:clamp(32px,4vw,72px);min-width:100vw;font:700 clamp(24px,2.1vw,34px)/1 Barlow,sans-serif;letter-spacing:.02em;white-space:nowrap;justify-content:space-around}.ribbon-group .icon{width:26px;height:26px;flex:none}
@keyframes ribbon-scroll{to{transform:translate3d(-50%,0,0)}}
@media(max-width:760px){.brand-ribbon{padding:20px 0}.ribbon-group{font-size:28px;gap:32px;padding-right:32px}.ribbon-track{animation-duration:28s}}
@media(prefers-reduced-motion:reduce){.ribbon-track{animation:none;transform:none;width:100%;will-change:auto}.ribbon-group{white-space:normal;min-width:0;width:100%;padding:0 20px;gap:12px;flex-wrap:wrap;justify-content:center;font-size:20px;line-height:1.3}.ribbon-group+.ribbon-group,.ribbon-group .icon,}
