:focus-visible{outline:3px solid #2a70ff;outline-offset:3px}body.modal-open{overflow:hidden}.filter[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}.product-title{display:block;border:0;background:transparent;padding:0;text-align:left;color:inherit;cursor:pointer}.product-photo[role="button"]{cursor:pointer}.photo-count{position:absolute;right:13px;top:13px;background:rgba(33,21,26,.78);color:#fff;padding:7px 10px;border-radius:999px;font-size:.67rem;font-weight:700}.sold-out .product-photo:after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.42)}.sold-out .quick-add{z-index:2;background:#777;cursor:not-allowed}.empty-filter{grid-column:1/-1;text-align:center;padding:40px;color:#806872}.faq-section,.reviews-section{padding:82px clamp(20px,7vw,110px);background:#fff}.faq-section h2,.reviews-section h2{font-family:Fraunces,serif;font-size:clamp(2.8rem,5vw,5rem);margin:0 0 28px;letter-spacing:-.045em}.faq-section details{max-width:850px;border-top:1px solid var(--line);padding:19px 0}.faq-section details:last-child{border-bottom:1px solid var(--line)}.faq-section summary{font-weight:700;cursor:pointer}.faq-section details p{color:#735c66;line-height:1.6}.reviews-section{background:var(--soft)}.reviews-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.review-card{margin:0;background:#fff;border:1px solid var(--line);border-radius:20px;padding:25px;box-shadow:0 12px 30px rgba(80,24,49,.07)}.review-card div{color:var(--pink);letter-spacing:.15em}.review-card blockquote{font-family:Fraunces,serif;font-size:2rem;margin:16px 0}.review-card figcaption{color:#806872;font-size:.82rem}.customer-fields select{width:100%;margin-top:6px;border:1px solid var(--line);border-radius:11px;padding:12px;background:#fff;font-size:.9rem}.nudge{background:var(--soft);border-radius:13px;padding:12px;margin-top:auto;font-size:.79rem;font-weight:700}.nudge-track{height:6px;background:#f2d7e1;border-radius:999px;margin-top:8px;overflow:hidden}.nudge-fill{height:100%;background:var(--pink);border-radius:inherit;transition:width .25s}.estimated-total{display:flex;justify-content:space-between;gap:15px;padding:13px 0;font-size:.9rem}.estimated-total strong{color:var(--hot)}.quick-view{position:fixed;inset:0;z-index:100;background:rgba(33,21,26,.62);backdrop-filter:blur(5px);padding:clamp(15px,4vw,50px);overflow:auto}.quick-view-card{position:relative;max-width:980px;margin:auto;background:#fff;border-radius:24px;padding:25px;box-shadow:var(--shadow)}.quick-view-close{position:absolute;z-index:3;right:15px;top:15px;width:42px;height:42px;border:0;border-radius:50%;background:#fff;box-shadow:0 5px 20px rgba(0,0,0,.15);font-size:1.6rem;cursor:pointer}#quickViewContent{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);gap:30px}.quick-main{aspect-ratio:4/4.5;border-radius:17px;background-size:cover;background-position:center}.quick-thumbs{display:flex;gap:9px;margin-top:10px;overflow:auto}.quick-thumb{flex:0 0 66px;height:72px;border:2px solid transparent;border-radius:10px;background-size:cover!important;cursor:pointer}.quick-thumb.active{border-color:var(--pink)}.quick-details{padding:35px 15px 15px}.quick-details h2{font-family:Fraunces,serif;font-size:clamp(2.2rem,4vw,3.8rem);line-height:.95;margin:0 0 12px}.quick-details>p:not(.eyebrow){color:#735c66}.quick-add-detail{margin-top:23px;width:100%}.sticky-order{position:fixed;z-index:35;left:50%;bottom:14px;transform:translateX(-50%);width:min(680px,calc(100% - 26px));background:var(--ink);color:#fff;border-radius:18px;padding:9px 10px 9px 17px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;box-shadow:0 15px 45px rgba(33,21,26,.3)}.sticky-order[hidden]{display:none}.sticky-order>div:not(.sticky-nudge){display:flex;flex-direction:column}.sticky-order strong{font-size:.9rem}.sticky-order span,.sticky-nudge{font-size:.7rem;color:#f5c5d7}.sticky-nudge{position:absolute;left:17px;top:-20px;background:var(--hot);color:#fff;padding:5px 9px;border-radius:999px}.sticky-order button{border:0;border-radius:12px;background:var(--pink);color:#fff;padding:12px 16px;font-weight:700;cursor:pointer}.toast{bottom:92px}
@media(max-width:700px){.reviews-list{grid-template-columns:1fr}.quick-view{padding:0}.quick-view-card{min-height:100%;border-radius:0;padding:14px}#quickViewContent{grid-template-columns:1fr}.quick-main{max-height:58vh}.quick-details{padding:10px 5px 85px}.quick-details h2{font-size:2.4rem}.faq-section,.reviews-section{padding:62px 18px}.product-price{font-size:1.38rem}.photo-count{display:none}.sticky-order{bottom:max(9px,env(safe-area-inset-bottom))}}
.reviews-list{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start}.review-card.review-photo{padding:0;overflow:hidden}.review-photo img{display:block;width:100%;aspect-ratio:9/15;object-fit:cover;object-position:top;background:#f8d9e4}.review-photo figcaption{display:grid;gap:6px;padding:16px 17px;color:var(--ink);font-size:.86rem;line-height:1.45}.review-photo figcaption span{color:var(--hot);font-size:.69rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:900px){.reviews-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.reviews-list{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding:3px 3px 18px;gap:13px}.review-card.review-photo{flex:0 0 82vw;scroll-snap-align:center}.review-photo img{aspect-ratio:9/14}}
[hidden]{display:none!important}.product-media{position:relative}.product-media .product-photo{position:relative}.product-info h3{margin:0 0 4px}.product-title{font-weight:700}.customer-fields select{font-family:inherit;color:var(--ink)}.customer-fields{margin-top:0}.cart-drawer{visibility:hidden;transition:.3s transform,0s linear .3s visibility}.cart-drawer.open{visibility:visible;transition:.3s transform,0s linear 0s visibility}body:has(.sticky-order:not([hidden])){padding-bottom:96px}.review-photo a{display:block}.review-photo a:focus-visible{outline-offset:-5px}
.shop-logo.official-logo{top:34px;left:-18px;width:245px;height:72px;background:transparent;box-shadow:none;opacity:.25;transform:rotate(-4deg)}.shop-logo.official-logo:after{font-size:1.45rem}@media(max-width:600px){.shop-logo.official-logo{top:27px;left:-8px;width:185px;height:58px;opacity:.22}.shop-logo.official-logo:after{font-size:1.15rem}}

/* Small brand accents: decorative only, deliberately kept away from products and text. */
.shop-section,.how-section,.reviews-section,.faq-section{position:relative;overflow:hidden}
.cute-accent{position:absolute;z-index:0;display:grid;place-items:center;width:58px;height:58px;border:1px solid rgba(255,94,152,.22);border-radius:20px;background:rgba(255,239,245,.82);color:var(--hot);font-size:1.65rem;line-height:1;box-shadow:0 12px 30px rgba(90,31,56,.08);transform:rotate(-9deg);pointer-events:none;user-select:none}
.section-heading,.how-section>*:not(.cute-accent),.reviews-section>*:not(.cute-accent),.faq-section>*:not(.cute-accent){position:relative;z-index:1}
.accent-shop{right:clamp(18px,5vw,74px);top:30px}
.accent-how{left:clamp(12px,3vw,42px);bottom:30px;transform:rotate(8deg);font-family:Fraunces,serif;font-size:2.15rem}
.accent-reviews{right:clamp(18px,5vw,70px);top:35px;transform:rotate(10deg)}
.accent-faq{right:clamp(18px,6vw,90px);bottom:34px;transform:rotate(-7deg)}
@media(max-width:700px){.cute-accent{width:43px;height:43px;border-radius:15px;font-size:1.2rem;opacity:.86}.accent-shop{right:14px;top:18px}.accent-how{left:auto;right:14px;bottom:16px;font-size:1.65rem}.accent-reviews{right:14px;top:16px}.accent-faq{right:14px;bottom:18px}}
@media(prefers-reduced-motion:no-preference){.cute-accent{animation:soft-float 5s ease-in-out infinite}.accent-how,.accent-faq{animation-delay:-2.5s}@keyframes soft-float{50%{translate:0 -5px}}}

.kitty-mascot{position:fixed;z-index:32;right:18px;bottom:18px;width:112px;height:112px;display:block;filter:drop-shadow(0 12px 18px rgba(72,29,48,.2));transition:opacity .2s,transform .2s;text-decoration:none}
.kitty-mascot:hover{transform:scale(1.06)}
.kitty-mascot:focus-visible{border-radius:24px;outline:3px solid #2a70ff;outline-offset:4px}
.kitty-mascot img{display:block;width:100%;height:100%;object-fit:contain;transform-origin:55% 82%}
.kitty-hello{position:absolute;right:82%;top:-3px;white-space:nowrap;background:var(--ink);color:#fff;border-radius:999px;padding:8px 12px;font-size:.75rem;font-weight:800;box-shadow:0 8px 22px rgba(33,21,26,.18);transform-origin:100% 100%}
.kitty-hello:after{content:"";position:absolute;right:8px;bottom:-5px;border-width:6px 0 0 8px;border-style:solid;border-color:transparent transparent transparent var(--ink)}
body.modal-open .kitty-mascot{opacity:0;pointer-events:none}
body:has(.sticky-order:not([hidden])) .kitty-mascot{bottom:92px}
@media(prefers-reduced-motion:no-preference){
  .kitty-mascot img{animation:kitty-video-motion 5.8s ease-in-out infinite}
  .kitty-hello{animation:kitty-hi 5.8s ease-in-out infinite}
  @keyframes kitty-video-motion{
    0%,7%,34%,100%{transform:translate3d(0,0,0) rotate(0) scale(1)}
    10%{transform:translate3d(-2px,-7px,0) rotate(-5deg) scale(1.02)}
    13%{transform:translate3d(3px,-11px,0) rotate(7deg) scale(1.035)}
    16%{transform:translate3d(-3px,-9px,0) rotate(-7deg) scale(1.035)}
    19%{transform:translate3d(3px,-12px,0) rotate(7deg) scale(1.035)}
    22%{transform:translate3d(-2px,-8px,0) rotate(-5deg) scale(1.025)}
    25%{transform:translate3d(0,-14px,0) rotate(0) scale(1.04)}
    29%{transform:translate3d(0,2px,0) rotate(0) scale(.98,1.02)}
  }
  @keyframes kitty-hi{
    0%,7%,32%,100%{opacity:0;transform:translateY(8px) scale(.82)}
    11%,27%{opacity:1;transform:translateY(0) scale(1)}
  }
}
@media(max-width:700px){.kitty-mascot{right:8px;bottom:max(10px,env(safe-area-inset-bottom));width:86px;height:86px}.kitty-hello{right:76%;top:-8px;padding:6px 9px;font-size:.68rem}body:has(.sticky-order:not([hidden])) .kitty-mascot{bottom:82px}}
