/* Motion and finishing details for the full storefront experience. */
:root{--nav-height:102px}
.site-header{position:sticky;top:0;z-index:60;transition:transform .32s cubic-bezier(.2,.75,.25,1),box-shadow .3s;will-change:transform;box-shadow:0 5px 20px #20201d04}
.site-header.is-hidden{transform:translateY(calc(-100% - 4px));pointer-events:none}
.site-header:has(:focus-visible){transform:translateY(0);pointer-events:auto}
.mobile-menu{position:fixed;top:var(--nav-height);z-index:59;max-height:calc(100svh - var(--nav-height));overflow:auto;box-shadow:0 18px 25px #20201d12}
.ticker{padding:19px 0;overflow:hidden}
.ticker .ticker-track{display:flex;width:max-content;gap:0;animation:banditTicker 32s linear infinite;will-change:transform}
.ticker .ticker-group{display:flex;align-items:center;gap:48px;padding-right:48px;flex:0 0 auto;white-space:nowrap}
.ticker span{font-size:20px;line-height:1.35;flex-shrink:0;display:block}
.ticker b{font-size:27px;line-height:1.3;display:flex;align-items:center;flex-shrink:0}
.ticker .burst{display:block;width:1em;height:1em}
@keyframes banditTicker{to{transform:translateX(-50%)}}
.reels-section{background:#ece8f1;padding-bottom:38px}
.reel-intro>p{font-size:17px;line-height:1.7;color:var(--muted)}
.reel-note{font-size:11px;display:block;margin-top:15px;color:var(--muted);max-width:300px;line-height:1.6}
.reel-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.reel-card{display:block;position:relative;aspect-ratio:9/16;border-radius:20px;overflow:hidden;padding:0;background:#ddd;text-align:left;border:1px solid #20201d14;transition:transform .3s,box-shadow .3s}
.reel-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s}
.reel-card:hover{transform:translateY(-6px);box-shadow:0 12px 24px #20201d18}
.reel-card:hover img{transform:scale(1.04)}
.reel-top{position:absolute;top:20px;left:19px;right:19px;display:flex;justify-content:space-between;gap:12px;font-size:9px;letter-spacing:.06em;font-weight:700;color:#34332c}
.reel-play{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);width:60px;height:60px;border:1px solid #ffffffa8;border-radius:50%;background:#faf7eed9;box-shadow:0 4px 15px #20201d0d;display:grid;place-items:center;transition:background .25s,transform .25s}
.reel-play .icon{width:25px;height:25px;fill:var(--ink);stroke-width:1.3;transform:translateX(2px)}
.reel-card:hover .reel-play{background:var(--orange);transform:translate(-50%,-50%) scale(1.08)}
.reel-caption{position:absolute;bottom:0;left:0;right:0;padding:50px 23px 25px;background:linear-gradient(transparent,#faf7eede 55%,#faf7eef5);color:var(--ink)}
.reel-caption b{font-family:var(--display);font-size:clamp(23px,2.1vw,34px);line-height:1.05;letter-spacing:-.04em;display:block;max-width:210px}
.reel-caption>span{display:block;font-size:12px;line-height:1.6;margin-top:12px;max-width:220px}
.reel-bottom{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #20201d20;padding-top:23px;margin-top:30px;font-size:13px;color:var(--muted)}
.reviews-section{padding-bottom:95px}
.reviews-disclosure{font-size:13px!important;max-width:250px}
.reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:27px;padding:15px 0}
.review-card{border:1px solid #20201d35;border-radius:17px;padding:28px 28px 70px;position:relative;transition:transform .3s;box-shadow:4px 5px 0 #20201d}
.review-card:nth-child(1){transform:rotate(-1.3deg)}.review-card:nth-child(2){transform:rotate(1.1deg)}.review-card:nth-child(3){transform:rotate(-.8deg)}
.review-card:hover{transform:rotate(0) translateY(-7px)}
.review-lilac{background:#e5d9f2}.review-peach{background:#f7dec9}.review-green{background:#e0e8c9}
.review-tag{font-size:10px;letter-spacing:.06em;font-weight:700;border-bottom:1px solid #20201d30;padding-bottom:14px;display:block}
.review-stars{display:block;font-size:20px;letter-spacing:4px;margin-top:19px}
.review-card blockquote{font-family:var(--display);font-size:clamp(24px,2.25vw,36px);line-height:1.15;letter-spacing:-.035em;font-weight:700;margin:20px 0 28px;min-height:4.6em}
.review-author{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:600}
.review-avatar{display:grid;place-items:center;width:37px;height:37px;border-radius:50%;border:1px solid var(--ink);font-family:var(--display);font-size:16px;background:var(--cream);flex-shrink:0}
.review-author>span>span{display:block;font-size:10px;font-weight:400;margin-top:3px;color:#606055}
.review-scribble{position:absolute;right:25px;bottom:22px;transform:rotate(-7deg);font-family:var(--display);font-size:16px;letter-spacing:-.02em}
.site-footer{padding:0 var(--gutter) 25px;background:#dfd4ec;border-top:1px solid #20201d30;overflow:hidden;position:relative}
.footer-newsletter{position:relative;display:grid;grid-template-columns:1.15fr 1fr;gap:9vw;align-items:center;padding:65px 0 60px;border-bottom:1px solid #20201d30}
.newsletter-copy{position:relative;z-index:1}
.newsletter-copy .eyebrow{font-size:11px;margin-bottom:19px}
.newsletter-copy h2{font-size:clamp(45px,5vw,83px);line-height:1.02;letter-spacing:-.055em}
.newsletter-copy h2>span{color:#a53d0b}
.newsletter-copy>p:last-child{font-size:16px;line-height:1.75;margin-top:24px;color:#58505f}
.newsletter-box{position:relative;z-index:1;padding-top:38px}
.newsletter-box h3{font-size:26px;line-height:1.15;margin-bottom:25px;letter-spacing:-.035em}
.newsletter-sticker{position:absolute;top:-30px;right:5px;border:1px solid var(--ink);background:var(--orange);padding:13px 18px;border-radius:5px;transform:rotate(8deg);font-size:10px;letter-spacing:.02em;line-height:1.3;font-weight:700;box-shadow:3px 3px 0 var(--ink);animation:mailSticker 7s ease-in-out infinite}
.newsletter-form label{font-size:12px;display:block;margin-bottom:8px;font-weight:500}
.newsletter-field{display:flex;background:var(--cream);border-radius:10px;padding:7px;gap:7px;border:1px solid #20201d60;transition:box-shadow .2s}
.newsletter-field:focus-within{box-shadow:4px 5px 0 var(--ink)}
.newsletter-field input{background:transparent;border:0;min-width:0;width:100%;padding:12px 13px;font-size:15px;color:var(--ink)}
.newsletter-field input:focus{outline:0}
.newsletter-field button{width:49px;height:49px;display:grid;place-items:center;border-radius:7px;background:var(--ink);color:var(--cream);flex-shrink:0;transition:background .2s,color .2s}
.newsletter-field button:hover{background:var(--orange);color:var(--ink)}
.newsletter-field button .icon{transition:transform .2s}.newsletter-field button:hover .icon{transform:translateX(3px)}
.newsletter-fine{font-size:11px;margin-top:13px;color:#655c6d;line-height:1.6}
.newsletter-fine a{text-decoration:underline;text-underline-offset:3px}
.newsletter-feedback{font-size:12px;line-height:1.6;max-height:0;opacity:0;transition:max-height .3s,opacity .3s,margin .3s;color:var(--ink)}
.newsletter-feedback.has-message{max-height:90px;opacity:1;margin-top:14px}
.footer-burst{position:absolute;right:44%;bottom:17%;font-size:55px;color:#ae93c7;animation:footerSpin 45s linear infinite}
.footer-main{display:grid;grid-template-columns:1.55fr 1.2fr 1fr 1fr;gap:45px;padding:48px 0}
.footer-brand .logo{margin-left:-7px;width:max-content;max-width:100%;gap:7px}
.footer-brand .logo-mascot{width:48px;height:48px}.footer-brand .logo-wordmark{font-size:29px}
.footer-brand>p{font-size:13px;line-height:1.9;color:#655c6d;margin-top:15px}
.footer-top-link{display:inline-flex;align-items:center;gap:10px;font-size:12px;margin-top:22px;font-weight:600;border-bottom:1px solid #20201d60;padding-bottom:4px}
.footer-top-link .icon{width:16px;height:16px;transform:rotate(-45deg)}
.footer-main nav h3{font-family:var(--body);font-weight:700;font-size:14px;letter-spacing:0;line-height:1.5;margin:8px 0 18px}
.footer-main nav>a{display:block;font-size:13px;color:#5d5464;line-height:1.6;width:max-content;max-width:100%;margin-top:10px;transition:color .2s,transform .2s}
.footer-main nav>a:hover{color:var(--ink);transform:translateX(3px);text-decoration:underline;text-underline-offset:4px}
.footer-mini-note{display:block;font-family:var(--display);font-size:23px;line-height:1.1;letter-spacing:-.04em;color:#9274a9;margin-top:26px;transform:rotate(-5deg)}
.footer-legal{display:flex;align-items:baseline;justify-content:space-between;gap:25px;padding-top:24px;border-top:1px solid #20201d30;font-size:11px;color:#5e5566;line-height:1.6}
.footer-legal nav{display:flex;flex-wrap:wrap;gap:10px 22px}
.footer-legal a:hover{text-decoration:underline;text-underline-offset:3px;color:var(--ink)}
.footer-credit{display:flex;align-items:center;justify-content:flex-end;gap:4px;font-size:11px;color:#655c6d;padding-top:19px;line-height:1.6}
.footer-credit a{font-weight:600;color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.footer-credit>span{font-family:sans-serif;margin-left:2px}
@keyframes mailSticker{0%,100%{transform:rotate(8deg) translateY(0)}50%{transform:rotate(5deg) translateY(-5px)}}
@keyframes footerSpin{to{transform:rotate(360deg)}}
/* Modal transitions preserve the native focus trap and Escape behavior. */
dialog{opacity:0;transform:translateY(12px) scale(.985);transition:opacity .22s ease,transform .25s ease}
dialog.is-visible{opacity:1;transform:translateY(0) scale(1)}
dialog::backdrop{opacity:0;transition:opacity .25s ease;background:#20201d75}
dialog.is-visible::backdrop{opacity:1}
.cart-dialog{margin:12px 12px 12px auto;height:calc(100svh - 24px);max-height:calc(100svh - 24px);width:min(480px,calc(100% - 24px));border-radius:20px;padding:30px;transform:translateX(calc(100% + 30px));opacity:0;transition:transform .39s cubic-bezier(.2,.75,.2,1),opacity .3s ease;box-shadow:0 20px 70px #20201d24}
.cart-dialog.is-visible{transform:translateX(0);opacity:1}
.cart-dialog .dialog-heading{margin-bottom:18px;padding-bottom:17px;border-bottom:1px solid var(--line)}
.cart-dialog .dialog-heading h2{font-size:29px}
.cart-item{animation:cartItemIn .3s ease}
.cart-note{font-size:12px;line-height:1.8}
.cart-item b{font-size:14px}.cart-item small{font-size:12px}
@keyframes cartItemIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.search-dialog{width:min(1040px,calc(100% - 40px));padding:34px 40px;border-radius:20px;max-height:90svh}
.search-dialog .dialog-heading{margin-bottom:26px}
.search-dialog .dialog-heading h2{font-size:38px}
.search-dialog label{font-size:13px}
.search-field{padding-bottom:9px;margin-bottom:32px}
.search-field>.icon{width:26px;height:26px}
.search-field input{font-size:21px;padding:18px 4px}
.search-category-heading,.search-match-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:17px}
.search-category-heading h3,.search-match-heading h3{font-size:23px;line-height:1.2;letter-spacing:-.035em}
.search-category-heading>span,.search-match-heading>span{font-size:11px;color:var(--muted)}
.search-category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.search-category{display:flex;align-items:center;gap:12px;border:1px solid #ded9ce;border-radius:10px;padding:10px;background:#f1ede4;transition:background .2s,transform .2s;min-width:0}
.search-category:hover{background:#e8dff0;transform:translateY(-2px)}
.search-category-picture{position:relative;width:54px;height:54px;border-radius:50%;overflow:hidden;flex-shrink:0}
.search-category>span:nth-child(2){min-width:0}
.search-category b{font-size:13px;line-height:1.3;display:block}
.search-category small{font-size:10px;color:var(--muted);line-height:1.45;display:block;margin-top:4px}
.search-category>.icon{width:15px;height:15px;margin-left:auto;flex-shrink:0}
.search-hint{font-size:12px;color:var(--muted);margin-top:23px}
.search-match-heading{margin-top:30px;padding-top:23px;border-top:1px solid var(--line)}
.search-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 25px}
.search-result{gap:14px}.search-result b{font-size:14px}.search-result small{font-size:12px}
.search-empty{font-size:14px;color:var(--muted);grid-column:1/-1;padding:15px 0}
.video-dialog{width:min(420px,calc(100% - 28px));border-radius:18px;max-height:94svh;background:var(--cream)}
.video-dialog .dialog-close{background:#faf7eee8;top:10px;right:10px}
.video-dialog video{display:block;width:100%;max-height:75svh;aspect-ratio:9/16;object-fit:contain;background:#171714}
.video-caption{padding:20px 24px}.video-caption h2{font-size:29px}.video-caption p{font-size:11px;color:var(--muted);margin-top:7px}
.policy-page{max-width:1100px;margin:auto;min-height:65svh}
.policy-page>h1{font-size:clamp(44px,6vw,82px);line-height:1.05;margin-top:18px}
.policy-intro{font-size:20px;color:var(--muted);margin-top:20px}
.policy-content{max-width:720px;margin:45px 0}
.policy-content section+section{margin-top:33px}
.policy-content h2{font-size:28px;line-height:1.2;letter-spacing:-.03em;margin-bottom:13px}
.policy-content p{font-size:16px;line-height:1.9;color:var(--muted)}
.policy-page>.text-link{width:max-content}
@media(min-width:1700px){.reel-grid{gap:30px}.reel-caption>span{font-size:15px}.reel-top{font-size:11px}.footer-newsletter{padding-top:85px;padding-bottom:80px}.newsletter-box h3{font-size:32px}.newsletter-copy>p:last-child{font-size:19px}.footer-main nav>a,.footer-brand>p{font-size:15px}.footer-main nav h3{font-size:17px}.footer-legal,.footer-credit{font-size:13px}.newsletter-field input{font-size:18px}.search-category b{font-size:15px}.search-category small{font-size:12px}}
@media(max-width:1100px){.footer-main{grid-template-columns:1.4fr 1.1fr 1fr;gap:30px}.footer-main nav:last-child{grid-column:2/4;display:flex;flex-wrap:wrap;gap:8px 23px;align-items:baseline}.footer-main nav:last-child h3{width:100%;margin-bottom:0}.footer-main nav:last-child a{margin-top:0}.footer-mini-note{display:none}.footer-newsletter{gap:5vw}.newsletter-copy h2{font-size:clamp(42px,5.3vw,60px)}.newsletter-copy>p:last-child{font-size:15px}.newsletter-box h3{font-size:23px}.newsletter-sticker{top:-32px;font-size:9px}.footer-burst{right:46%;font-size:40px;bottom:14%}.footer-legal{flex-direction:column;gap:15px}.reel-grid{gap:17px}.reel-caption{padding:40px 16px 20px}.reel-caption b{font-size:25px}.reel-caption>span{font-size:11px}.reel-top{font-size:8px;top:15px;left:13px;right:13px}.reel-play{width:49px;height:49px}.review-card{padding:23px 22px 65px}.review-card blockquote{font-size:26px;min-height:5.75em}.review-tag{font-size:9px}.review-author{font-size:12px}.review-author>span>span{font-size:9px}.review-scribble{font-size:14px}.reviews-grid{gap:21px}.search-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reel-intro>p{font-size:15px}}
@media(max-width:760px){:root{--nav-height:84px}.ticker{padding:15px 0}.ticker .ticker-group{gap:28px;padding-right:28px}.ticker span{font-size:16px;line-height:1.4}.ticker b{font-size:22px;line-height:1.4}.reels-section{padding-bottom:25px}.reel-intro{margin-top:20px}.reel-intro>p{font-size:15px}.reel-note{font-size:10px;margin-top:10px}.reel-grid{display:flex;overflow-x:auto;gap:16px;scroll-snap-type:x mandatory;margin-right:calc(-1*var(--gutter));padding:3px var(--gutter) 12px 0;scrollbar-width:thin;scrollbar-color:#b7a3c4 transparent}.reel-card{flex:0 0 72%;max-width:300px;scroll-snap-align:start;border-radius:17px}.reel-caption{padding:50px 20px 23px}.reel-caption b{font-size:30px}.reel-caption>span{font-size:13px}.reel-top{font-size:9px;top:18px;left:17px;right:17px}.reel-play{width:54px;height:54px}.reel-bottom{font-size:11px;line-height:1.6;gap:22px;margin-top:18px;padding-top:19px}.reel-bottom>span:last-child{text-align:right}.reviews-section{padding-top:55px;padding-bottom:55px}.reviews-disclosure{font-size:12px!important;margin-top:18px!important}.reviews-grid{grid-template-columns:1fr;gap:30px;padding:6px 4px 12px}.review-card{padding:26px 27px 65px}.review-card blockquote{font-size:30px;min-height:0;margin-bottom:30px}.review-tag{font-size:10px}.review-author{font-size:13px}.review-author>span>span{font-size:10px}.review-scribble{font-size:16px}.site-footer{padding-bottom:22px}.footer-newsletter{grid-template-columns:1fr;gap:37px;padding:49px 0 40px}.newsletter-copy .eyebrow{font-size:10px;margin-bottom:16px}.newsletter-copy h2{font-size:clamp(43px,10vw,65px)}.newsletter-copy>p:last-child{font-size:15px;line-height:1.8;margin-top:20px}.newsletter-copy>p:last-child br{display:none}.newsletter-box{padding-top:18px}.newsletter-box h3{font-size:24px;margin-bottom:21px;max-width:200px}.newsletter-sticker{top:4px;right:6px;font-size:8px;padding:10px 12px}.newsletter-form label{font-size:12px}.newsletter-field{padding:6px}.newsletter-field input{font-size:14px;padding:10px 9px}.newsletter-field button{width:44px;height:44px}.newsletter-fine{font-size:11px;line-height:1.7}.footer-burst{font-size:46px;right:4%;top:20%;bottom:auto;opacity:.55}.footer-main{grid-template-columns:1fr 1fr;gap:30px 20px;padding:36px 0}.footer-brand{grid-column:1/-1}.footer-brand .logo{width:max-content;gap:8px;margin-left:-5px}.footer-brand .logo-mascot{width:43px;height:43px}.footer-brand .logo-wordmark{font-size:29px}.footer-brand>p{font-size:13px;line-height:1.85;margin-top:10px}.footer-top-link{font-size:12px;margin-top:17px}.footer-main nav h3{font-size:14px;margin:0 0 16px}.footer-main nav>a{font-size:13px;line-height:1.6;margin-top:11px}.footer-main nav:last-child{grid-column:1/-1;gap:11px 25px}.footer-main nav:last-child h3{margin-bottom:4px}.footer-legal{font-size:10px;gap:15px;padding-top:22px}.footer-legal nav{gap:10px 17px}.footer-credit{font-size:10px;justify-content:flex-start;flex-wrap:wrap;padding-top:22px}.cart-dialog{width:calc(100% - 16px);margin:8px;height:calc(100svh - 16px);max-height:calc(100svh - 16px);padding:23px;border-radius:18px}.cart-dialog .dialog-heading h2{font-size:27px}.cart-note{font-size:11px}.search-dialog{width:calc(100% - 24px);max-height:92svh;padding:25px 22px;border-radius:17px}.search-dialog .dialog-heading{margin-bottom:23px}.search-dialog .dialog-heading h2{font-size:29px;max-width:230px}.search-dialog .dialog-heading .icon-button{flex-shrink:0}.search-dialog label{font-size:12px}.search-field{margin-top:3px;margin-bottom:25px;gap:8px}.search-field input{font-size:15px;line-height:1.5;padding:15px 0}.search-field>.icon{width:21px;height:21px}.search-category-heading{align-items:flex-start;gap:15px;display:block}.search-category-heading h3,.search-match-heading h3{font-size:23px}.search-category-heading>span{display:block;margin-top:7px}.search-category-grid{grid-template-columns:1fr;gap:9px}.search-category{gap:13px;padding:9px 11px}.search-category-picture{width:47px;height:47px}.search-category b{font-size:14px}.search-category small{font-size:11px;margin-top:3px}.search-category>.icon{width:17px;height:17px}.search-hint{font-size:11px;line-height:1.7;margin-top:18px}.search-product-grid{grid-template-columns:1fr}.search-match-heading{margin-top:24px;gap:12px}.search-result b{font-size:13px}.search-result small{font-size:11px}.video-caption{padding:17px 20px}.video-caption h2{font-size:26px}.policy-intro{font-size:18px;line-height:1.6}.policy-content h2{font-size:25px}.policy-content p{font-size:15px;line-height:1.85}}
@media(max-width:390px){.newsletter-copy h2{font-size:43px}.newsletter-box h3{font-size:22px;max-width:180px}.newsletter-sticker{font-size:7px;right:0;padding:10px}.newsletter-field input{font-size:12px}.footer-main nav>a{font-size:12px}.footer-main nav h3{font-size:13px}.footer-credit{font-size:10px}.reel-card{flex-basis:82%}.search-dialog{padding:23px 18px}.search-dialog .dialog-heading h2{font-size:26px}.search-field input{font-size:13px}.review-card blockquote{font-size:27px}}
@media(prefers-reduced-motion:reduce){.ticker .ticker-track{animation:none}.newsletter-sticker,.footer-burst{animation:none}.site-header{transition:none}}

.review-stars{display:flex;gap:6px;letter-spacing:0}.review-stars svg{width:19px;height:19px;fill:var(--ink)}
@media(max-width:760px){.newsletter-box{padding-top:64px}.newsletter-box h3{max-width:none}.newsletter-sticker{top:0;right:6px}}
body.nav-open{overflow:hidden}

/* Clear shopping actions for both empty and populated cart states. */
#cartFooter .cart-checkout{width:100%;min-height:52px;justify-content:space-between;font-size:16px;margin-top:3px}
#cartFooter .cart-checkout:disabled{background:#f7b392;color:#542b1a;border-color:transparent;opacity:1;cursor:not-allowed}
#cartFooter .cart-continue{display:block;width:100%;min-height:44px;margin:9px 0 8px;background:none;border:0;color:var(--ink);font:600 14px/1.5 var(--body);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
#cartFooter .cart-continue:hover{color:#a73b0b}
#cartFooter .cart-continue:focus-visible{outline:2px solid var(--orange);outline-offset:2px;border-radius:5px}
#cartFooter .cart-note{margin-top:9px;padding-top:12px;font-size:12px;line-height:1.65}
.empty-bag p{max-width:290px;margin-left:auto;margin-right:auto;line-height:1.7;font-size:15px}
