@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Nunito:wght@700;800;900&display=swap');
:root{--white:#fff;--ink:#171313;--pink:#e9a0b3;--rose:#d9829b;--peach:#fff0e5;--blush:#f7dfe6;--yellow:#fff0c2;--line:#e8e4e4;--display:'Nunito',Arial,sans-serif;--body:'DM Mono',monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;background:#fff;color:var(--ink);font-family:var(--body);font-size:14px}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}
.announcement{min-height:36px;display:flex;justify-content:center;align-items:center;gap:30px;padding:8px 14px;background:#fff;color:var(--ink);border-bottom:1px solid var(--line);font-size:11px;letter-spacing:.06em;text-transform:uppercase}.announcement-accent{color:var(--rose)}
.site-header{height:126px;padding:16px clamp(18px,5vw,78px);display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.icon-button{border:0;background:transparent;color:var(--ink);font-size:29px;padding:8px;line-height:1}.header-actions{justify-self:end;display:flex;gap:14px;align-items:center}.cart-button{position:relative}.cart-button span{position:absolute;right:0;top:0;background:var(--pink);border-radius:50%;font-size:10px;width:18px;height:18px;display:grid;place-items:center}.brand{display:flex;align-items:center;flex-direction:column;gap:3px}.logo-wrap{width:68px;height:58px;position:relative;display:flex;align-items:center;justify-content:center;cursor:pointer;outline-offset:4px}.cat-logo{width:100%;height:100%;object-fit:contain;display:block;animation:idleBob 5s ease-in-out infinite}.wordmark{font-family:var(--display);font-size:20px;font-weight:900;letter-spacing:.12em;white-space:nowrap}.wordmark span,.footer-brand span{color:var(--rose)}
/* Eye covers are a subtle visual blink over the supplied transparent PNG logo. */
.blink-cover{position:absolute;top:58%;width:16%;height:5%;border-radius:50%;background:#fff;opacity:0;pointer-events:none}.blink-left{left:25%}.blink-right{right:25%}.logo-wrap.blinking .blink-cover{animation:blinkCover .19s ease-in-out}.purr-pop{position:absolute;left:95%;top:0;color:var(--rose);font-size:10px;white-space:nowrap;opacity:0;pointer-events:none}.logo-wrap.purring .cat-logo{animation:clickedPurr .42s ease-in-out 2}.logo-wrap.purring .purr-pop{animation:purrPop 1s ease-out forwards}.logo-wrap:hover .cat-logo{filter:drop-shadow(0 3px 0 #f7dfe6)}
.main-nav{display:flex;justify-content:center;gap:clamp(20px,4vw,58px);padding:20px 12px 22px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:12px;font-weight:500;letter-spacing:.025em}.main-nav a{transition:color .2s}.main-nav a:hover,.text-link:hover{color:var(--rose)}
.search-panel{padding:18px 6vw;border-bottom:1px solid var(--line);display:flex;gap:20px;align-items:center}.search-panel[hidden]{display:none}.search-panel input{border:0;border-bottom:1px solid var(--ink);padding:10px;flex:1;outline:none}
.eyebrow{font-size:12px;letter-spacing:.1em;font-weight:500;margin:0 0 20px;text-transform:uppercase}.hero-banner{width:100%;padding:0}.hero-banner-photo{position:relative;min-height:clamp(360px,42vw,610px);width:100%;display:flex;align-items:center;padding:clamp(28px,7vw,100px);overflow:hidden;background:linear-gradient(90deg,rgba(255,255,255,.93) 0%,rgba(255,255,255,.82) 37%,rgba(255,255,255,.12) 100%),#f7dfe6}.hero-banner-photo:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 78% 24%,rgba(255,255,255,.5) 0 4px,transparent 5px),radial-gradient(circle at 88% 70%,rgba(255,255,255,.45) 0 7px,transparent 8px);pointer-events:none}.hero-banner-copy{position:relative;z-index:1;max-width:600px}.hero-banner-copy h1,.section-heading h2,.new-copy h2,.about-copy h2,.notes-section h2{font-family:var(--display);font-weight:900;letter-spacing:-.055em;line-height:1.03;margin:0;font-size:clamp(48px,6vw,82px)}.hero-banner-copy h1 span{color:var(--rose)}.hero-description{font-size:15px;line-height:1.9;max-width:450px;margin:24px 0 28px;color:#51494a}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;border:0;padding:17px 21px;font-size:11px;letter-spacing:.06em;font-weight:500}.button-black{background:var(--ink);color:#fff;transition:background .2s,transform .2s}.button-black:hover{background:#c86f8b;transform:translateY(-2px)}.hero-image-note{position:absolute;right:clamp(24px,8vw,110px);top:50%;transform:translateY(-50%);width:min(34vw,420px);height:min(26vw,290px);min-height:170px;border:1px dashed rgba(23,19,19,.35);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:20px;font-family:var(--display);font-size:13px;font-weight:900;letter-spacing:.08em;color:#6f5c61;background:rgba(255,255,255,.24)}.hero-image-note small{font-family:var(--body);font-weight:400;letter-spacing:0;font-size:10px;line-height:1.7;margin-top:10px}.hero-banner-sticker{position:absolute;right:4%;bottom:9%;z-index:2;width:105px;height:105px;border-radius:50%;background:var(--pink);border:1px solid var(--ink);display:grid;place-content:center;text-align:center;font-size:10px;line-height:1.6;transform:rotate(9deg)}
.ticker{overflow:hidden;background:var(--pink);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);white-space:nowrap;padding:15px 0;font-size:11px;letter-spacing:.08em}.ticker div{animation:marquee 32s linear infinite;width:max-content}.ticker span{padding:0 25px;color:#fff}
.shop-section{padding:82px clamp(24px,7vw,100px) 76px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:32px}.section-heading h2,.new-copy h2,.about-copy h2,.notes-section h2{font-size:clamp(38px,4.5vw,56px)}.accent-dot{color:var(--rose)}.text-link{display:inline-block;font-size:11px;letter-spacing:.04em;text-decoration:underline;text-underline-offset:5px}.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.product-card[hidden]{display:none}.product-image{height:0;padding-bottom:100%;position:relative;display:grid;place-items:center;overflow:hidden}.blush{background:#f9e4e9}.peach{background:#fff0e5}.pink-light{background:#f5dce5}.soft-yellow{background:#fff3d4}.photo-placeholder{font-size:11px;letter-spacing:.07em;color:#796b6e;border:1px dashed #c8aab1;padding:12px;background:rgba(255,255,255,.45)}.quick-add{position:absolute;bottom:0;left:0;right:0;border:0;background:var(--ink);color:#fff;padding:14px;font-size:10px;letter-spacing:.06em;opacity:0;transform:translateY(5px);transition:all .2s}.product-card:hover .quick-add,.quick-add:focus{opacity:1;transform:translateY(0)}.product-info{display:flex;justify-content:space-between;gap:10px;padding-top:15px}.product-info h3{font-family:var(--display);font-size:17px;margin:0 0 7px;font-weight:900}.product-info p{font-size:11px;line-height:1.5;color:#766b6a;margin:0}.product-info strong{font-size:12px;white-space:nowrap}.demo-note{font-size:10px;color:#888;margin-top:25px}
.new-section{padding:68px clamp(24px,10vw,145px);background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:.9fr 1.1fr;gap:55px;align-items:center}.new-copy h2{line-height:1.08}.new-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;color:#51494a;max-width:420px;margin:20px 0}.new-photo{min-height:310px;background:#f8e8ec}
.about-section{padding:78px clamp(24px,10vw,145px);display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}.maker-photo{min-height:340px;background:#fff0e5}.about-copy h2{line-height:1.08}.about-copy>p:not(.eyebrow){font-size:13px;line-height:2;color:#51494a;max-width:540px;margin:22px 0}
.notes-section{padding:72px clamp(24px,10vw,145px);background:#fffafa;border-top:1px solid var(--line);display:grid;grid-template-columns:.9fr 1.1fr;gap:55px}.notes-list p{border-bottom:1px solid #eadfe1;padding:15px 0;margin:0;font-size:12px;line-height:1.8}.notes-list span{color:var(--rose);margin-right:18px}
.site-footer{position:relative;isolation:isolate;overflow:hidden;background:#fff0f3;color:#171313;padding:38px clamp(24px,7vw,100px) 34px;display:flex;justify-content:flex-start;align-items:flex-start;gap:40px;min-height:250px}.footer-identity{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:12px}.footer-brand{display:flex;align-items:center;gap:12px;font-family:var(--display);font-weight:900;font-size:28px;letter-spacing:-.025em;color:#171313}.footer-cat-logo{width:58px;height:48px;object-fit:contain;filter:none}.footer-brand-name{white-space:nowrap}.footer-copyright{font-size:14px!important;color:#55474b!important;margin:4px 0 10px}.footer-instagram{width:48px;height:48px;border-radius:50%;background:#f5d4dd;display:grid;place-items:center;color:#171313;transition:background .2s}.footer-instagram:hover{background:var(--rose);color:#fff}.footer-instagram svg{width:25px;height:25px}.footer-doodle{position:absolute;z-index:0;right:clamp(12px,7vw,100px);bottom:-65px;width:clamp(150px,20vw,245px);height:auto;object-fit:contain;pointer-events:none;opacity:.98}
.cart-overlay{position:fixed;inset:0;z-index:10}.cart-overlay[hidden]{display:none}.overlay-dismiss{position:absolute;inset:0;border:0;background:rgba(0,0,0,.38);width:100%;height:100%}.cart-drawer{position:absolute;right:0;top:0;height:100%;width:min(440px,100%);background:#fff;padding:25px;display:flex;flex-direction:column;box-shadow:-8px 0 30px #0001}.cart-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:16px}.cart-heading h2{font-family:var(--display);font-size:25px;margin:0}.cart-heading h2 span{color:var(--rose)}.cart-items{padding:18px 0;overflow:auto;flex:1}.empty-cart{font-size:12px;line-height:1.8;color:#766b6a}.cart-item{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;align-items:start;border-bottom:1px solid var(--line);padding:12px 0}.cart-item-thumb{width:64px;height:64px;border-radius:14px;overflow:hidden;background:#f3ebe1;border:1.5px solid rgba(92,64,51,.16)}.cart-item-thumb img{width:100%;height:100%;object-fit:cover;display:block}.cart-item-body{min-width:0}.cart-item h3{font-family:var(--display);font-size:16px;margin:0 0 6px}.cart-item p{margin:0;font-size:11px}.quantity-controls{display:flex;align-items:center;gap:10px;margin-top:10px}.quantity-controls button{border:1px solid var(--line);background:#fff;width:27px;height:27px}.cart-bottom{border-top:1px solid var(--line);padding-top:18px}.cart-summary{display:grid;gap:8px;margin:0 0 14px}.cart-summary-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:13px}.cart-summary-row--total{margin-top:4px;padding-top:10px;border-top:1px solid rgba(92,64,51,.14);font-size:14px}.cart-total{display:flex;justify-content:space-between;font-size:14px}.cart-bottom>p,.cart-bottom small{font-size:10px;line-height:1.7;color:#766b6a}.cart-bottom .button{width:100%;margin:12px 0}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%,20px);background:var(--ink);color:#fff;padding:13px 18px;font-size:11px;opacity:0;pointer-events:none;transition:all .25s;z-index:20}.toast.show{opacity:1;transform:translate(-50%,0)}
@keyframes idleBob{0%,92%,100%{transform:translateY(0)}95%{transform:translateY(-2px)}}@keyframes blinkCover{0%,100%{opacity:0;transform:scaleY(0)}40%,70%{opacity:.92;transform:scaleY(1)}}@keyframes clickedPurr{0%,100%{transform:translateY(0) rotate(0)}25%{transform:translateY(2px) rotate(-2deg)}75%{transform:translateY(-2px) rotate(2deg)}}@keyframes purrPop{0%{opacity:0;transform:translateY(5px) rotate(-8deg)}20%,75%{opacity:1;transform:translateY(-4px) rotate(-8deg)}100%{opacity:0;transform:translateY(-12px) rotate(-8deg)}}@keyframes marquee{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(max-width:800px){.site-header{height:112px;padding:12px 16px}.main-nav{gap:20px;overflow-x:auto;justify-content:flex-start;padding:17px 18px;white-space:nowrap;font-size:12px}.hero-banner-photo{min-height:500px;align-items:flex-start;padding:46px 24px;background:linear-gradient(180deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.82) 48%,rgba(255,255,255,.18) 100%),#f7dfe6}.hero-banner-copy h1{font-size:clamp(44px,10vw,62px)}.hero-image-note{top:auto;bottom:24px;left:24px;right:24px;transform:none;width:auto;height:165px;min-height:0}.hero-banner-sticker{right:18px;bottom:185px;width:82px;height:82px;font-size:9px}.section-heading{align-items:flex-start;flex-direction:column}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.product-image{height:0;padding-bottom:100%}.quick-add{opacity:1;transform:none;bottom:0}.product-info{flex-direction:column;gap:7px}.product-info strong{align-self:flex-start}.new-section,.about-section,.notes-section{grid-template-columns:1fr;gap:28px;padding:55px 25px}.new-photo,.maker-photo{min-height:270px}.site-footer{flex-direction:column;gap:34px;min-height:310px;padding-bottom:190px}.footer-brand{font-size:24px}.footer-doodle{width:155px;right:14px;bottom:-48px}}@media(max-width:420px){.announcement{font-size:9px;gap:10px}.wordmark{font-size:16px}.logo-wrap{width:58px;height:50px}.header-actions{gap:3px}.header-actions .icon-button{font-size:24px}.hero h1{font-size:43px}.product-info h3{font-size:15px}}

.cart-icon{width:29px;height:29px;display:block}.email-link{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.email-link:hover{color:var(--rose)}
.logo-wrap{animation:logoLook 7.5s ease-in-out infinite;transform-origin:center bottom}.cat-logo{animation:none}.logo-wrap .blink-cover{top:51%;width:19%;height:7%;background:#fff;border:1px solid rgba(23,19,19,.08)}.logo-wrap .blink-left{left:26%}.logo-wrap .blink-right{right:26%}.logo-wrap.blinking .blink-cover{animation:blinkCover .2s ease-in-out}.logo-wrap.purring .cat-logo{animation:none}.logo-wrap.purring .purr-pop{display:none}
@keyframes logoLook{0%,10%,100%{transform:translateX(0) translateY(0) rotate(0)}15%{transform:translateX(2px) rotate(2deg)}22%{transform:translateX(3px) rotate(2deg)}28%{transform:translateX(-3px) rotate(-2deg)}35%{transform:translateX(-3px) rotate(-2deg)}42%{transform:translateX(0) translateY(0) rotate(0)}46%{transform:translateY(0)}49%{transform:translateY(-4px) rotate(-2deg)}53%{transform:translateY(0) rotate(0)}56%{transform:translateY(-1px)}60%{transform:translateY(0)}}

/* Version 3: rectangular editorial text overlays and full-bleed photo sections */
.hero-banner-photo{background:#f7dfe6;min-height:clamp(430px,43vw,650px);padding:clamp(20px,4vw,60px);display:grid;grid-template-columns:minmax(280px, .9fr) 1.1fr;gap:3vw;align-items:center}
.hero-banner-photo:before{content:none}
.hero-banner-copy{max-width:none;z-index:2}
.hero-text-frame{border:1px solid rgba(23,19,19,.5);background:rgba(255,255,255,.88);padding:clamp(22px,3vw,44px);max-width:650px}
.hero-banner-copy h1{font-size:clamp(44px,5.1vw,74px)}
.hero-banner-copy .hero-description{font-size:14px;max-width:420px}
.hero-image-note{position:relative;top:auto;right:auto;left:auto;bottom:auto;transform:none;width:100%;height:100%;min-height:310px;border:1px dashed rgba(23,19,19,.28);background:rgba(255,255,255,.14);font-size:13px}
.hero-banner-sticker{display:none}
.new-section{padding:0;display:block;border:0;background:#fff}
.new-arrivals-image{position:relative;min-height:clamp(400px,42vw,610px);width:100%;display:flex;align-items:center;padding:clamp(24px,7vw,100px);background:#f8e7eb;overflow:hidden}
.new-arrivals-image:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.91) 0%,rgba(255,255,255,.78) 40%,rgba(255,255,255,.04) 100%);pointer-events:none}
.new-arrivals-copy{position:relative;z-index:2;max-width:640px;border:1px solid rgba(23,19,19,.35);padding:clamp(24px,3vw,42px);background:rgba(255,255,255,.78)}
.new-arrivals-copy h2{font-size:clamp(38px,4.6vw,62px);line-height:1.08}
.new-arrivals-copy h2 span{color:var(--rose)}
.new-arrivals-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;max-width:420px;color:#51494a}
.new-arrivals-photo-note{position:absolute;right:5%;top:15%;bottom:15%;width:35%;border:1px dashed rgba(23,19,19,.25);display:grid;place-items:center;text-align:center;padding:20px;font-family:var(--display);font-size:12px;letter-spacing:.07em;color:#766b6a}
.logo-wrap{animation:logoLook 8s ease-in-out infinite}
.logo-wrap.blinking .blink-cover{animation:blinkCover .24s ease-in-out}
@keyframes logoLook{0%,9%,100%{transform:translateX(0) translateY(0) rotate(0)}13%{transform:translateX(2px) rotate(1deg)}19%,23%{transform:translateX(3px) rotate(1deg)}27%{transform:translateX(-3px) rotate(-1deg)}33%,37%{transform:translateX(-3px) rotate(-1deg)}42%{transform:translateX(0) rotate(0)}46%,49%{transform:translateY(-4px) rotate(-2deg)}52%{transform:translateY(0) rotate(0)}55%{transform:translateY(-1px)}58%{transform:translateY(0)}}
@media(max-width:800px){
 .hero-banner-photo{display:flex;flex-direction:column;align-items:stretch;gap:18px;padding:22px;min-height:auto}
 .hero-text-frame{padding:24px}
 .hero-image-note{min-height:210px;height:210px}
 .new-arrivals-image{display:flex;flex-direction:column;align-items:stretch;gap:18px;padding:22px;min-height:auto}
 .new-arrivals-copy{padding:24px}
 .new-arrivals-photo-note{position:relative;top:auto;right:auto;bottom:auto;width:100%;height:190px}
}

.pupil{position:absolute;width:3px;height:3px;border-radius:50%;background:#171313;top:55%;z-index:2;pointer-events:none;animation:pupilLook 8s ease-in-out infinite}
.pupil-left{left:34%}.pupil-right{right:34%}
.logo-wrap.blinking .pupil{opacity:0}
@keyframes pupilLook{0%,9%,100%{transform:translateX(0)}14%,22%{transform:translateX(3px)}28%,35%{transform:translateX(-3px)}42%,70%{transform:translateX(0)}}
.cat-logo{transform-origin:center bottom}
.logo-wrap.blinking .cat-logo{animation:headBlink .24s ease-in-out}
@keyframes headBlink{0%,100%{transform:scaleY(1)}45%,65%{transform:scaleY(.97)}}

/* Version 4 polish: no boxy cards, softer corners, consistent display typography */
.hero-text-frame{border:0!important;background:transparent!important;padding:0!important;max-width:620px}
.hero-banner-copy h1,.new-copy h2,.new-arrivals-copy h2,.about-copy h2,.notes-section h2,.section-heading h2{font-family:var(--display)!important;font-weight:900;letter-spacing:-.055em}
.new-arrivals-copy{border:0!important;background:transparent!important;padding:0!important;max-width:620px}
.new-arrivals-copy h2{font-size:clamp(44px,5vw,68px)!important;line-height:1.05}
.new-arrivals-copy>p:not(.eyebrow){font-size:14px;line-height:1.9;max-width:440px}
.hero-image-note,.new-arrivals-photo-note{border:0!important;background:rgba(255,255,255,.22)!important;border-radius:28px!important}
.product-image{border-radius:24px!important;overflow:hidden}
.product-card{border:0!important;background:transparent!important}
.product-info{padding:16px 4px 0}
.quick-add{border-radius:0 0 24px 24px!important}
.hero-banner-photo{border-radius:0!important}
.new-arrivals-image{border-radius:0!important}
.hero-banner-photo{gap:clamp(24px,4vw,64px)}
.hero-banner-copy{padding:12px 0}
.new-section{margin-top:0}
.shop-section{padding-top:92px;padding-bottom:90px}
.section-heading{margin-bottom:38px}
.product-grid{gap:30px 24px}
.product-image{min-height:0}
.new-arrivals-image{padding-top:clamp(70px,9vw,130px);padding-bottom:clamp(70px,9vw,130px)}
.new-arrivals-photo-note{min-height:280px}
.about-section{padding-top:90px;padding-bottom:90px;gap:clamp(35px,6vw,90px)}
.maker-photo{border-radius:28px!important;border:0!important}
.notes-section{padding-top:80px;padding-bottom:80px}
.notes-list p{border-bottom:1px solid #eee3e5}

/* Logo micro-animations: pupils track, eyelids close fully, ears flick, whiskers twitch */
.logo-wrap{overflow:visible;isolation:isolate}
.pupil{width:0;height:0;background:transparent;border-radius:0;top:52%;z-index:4;animation:pupilTrack 7.8s ease-in-out infinite}
.pupil-left{left:37%}.pupil-right{right:37%}
.pupil:after{content:"";display:block;width:5px;height:7px;background:#171313;border-radius:50%;transform:translate(-50%,-50%);opacity:.82}
.logo-wrap.blinking .pupil{opacity:0}
.blink-cover{top:52%;width:20%;height:10%;border-radius:50%;background:#fff;border:0;z-index:5;opacity:0;transform:scaleY(0);transform-origin:center}
.blink-left{left:25%}.blink-right{right:25%}
.logo-wrap.blinking .blink-cover{animation:fullBlink .32s cubic-bezier(.4,0,.2,1) forwards}
.ear-flick{position:absolute;top:4%;width:23%;height:20%;z-index:3;pointer-events:none;transform-origin:bottom center}
.ear-left{left:8%;clip-path:polygon(5% 0,100% 75%,20% 100%);animation:earLeft 7.8s ease-in-out infinite}
.ear-right{right:8%;clip-path:polygon(95% 0,0 75%,80% 100%);animation:earRight 7.8s ease-in-out infinite}
.whisker-motion{position:absolute;top:72%;width:16%;height:2px;background:#171313;border-radius:100%;z-index:4;transform-origin:center;pointer-events:none}
.whisker-left{left:-1%;transform:rotate(10deg);animation:whiskLeft 7.8s ease-in-out infinite}
.whisker-right{right:-1%;transform:rotate(-10deg);animation:whiskRight 7.8s ease-in-out infinite}
@keyframes pupilTrack{0%,12%,100%{transform:translateX(0)}18%,26%{transform:translateX(4px)}32%,40%{transform:translateX(-4px)}46%,72%{transform:translateX(0)}}
@keyframes fullBlink{0%{opacity:0;transform:scaleY(0)}30%{opacity:1;transform:scaleY(1.05)}65%{opacity:1;transform:scaleY(1.05)}100%{opacity:0;transform:scaleY(0)}}
@keyframes earLeft{0%,30%,100%{transform:rotate(0)}34%{transform:rotate(-8deg)}38%{transform:rotate(5deg)}42%{transform:rotate(0)}}
@keyframes earRight{0%,52%,100%{transform:rotate(0)}56%{transform:rotate(8deg)}60%{transform:rotate(-5deg)}64%{transform:rotate(0)}}
@keyframes whiskLeft{0%,35%,100%{transform:rotate(10deg)}39%{transform:rotate(17deg)}43%{transform:rotate(7deg)}47%{transform:rotate(10deg)}}
@keyframes whiskRight{0%,55%,100%{transform:rotate(-10deg)}59%{transform:rotate(-17deg)}63%{transform:rotate(-7deg)}67%{transform:rotate(-10deg)}}
@media(max-width:800px){.product-grid{gap:24px 14px}.product-image{min-height:0}.new-arrivals-photo-note{min-height:190px}}

/* Version 5: enlarge the real logo and remove misaligned face overlays */
.site-header{min-height:142px}
.logo-wrap{width:86px!important;height:74px!important;flex-shrink:0;overflow:visible;animation:catIdleV5 8s ease-in-out infinite!important;transform-origin:50% 85%}
.cat-logo{width:100%;height:100%;object-fit:contain;display:block;animation:none!important;filter:none!important}
.blink-cover{display:none!important}
.pupil,.ear-flick,.whisker-motion,.purr-pop{display:none!important}
.logo-wrap.blinking .cat-logo{animation:catBlinkV5 .42s cubic-bezier(.4,0,.2,1) forwards!important}
.logo-wrap.purring .cat-logo{animation:catHopV5 .48s ease-in-out!important}
@keyframes catIdleV5{
  0%,12%,100%{transform:translateX(0) rotate(0) translateY(0)}
  17%{transform:translateX(2px) rotate(1.2deg)}
  23%{transform:translateX(3px) rotate(1.2deg)}
  29%{transform:translateX(-3px) rotate(-1.2deg)}
  35%{transform:translateX(-2px) rotate(-.8deg)}
  42%{transform:translateX(0) rotate(0)}
  48%{transform:translateY(-3px) rotate(-1.5deg)}
  52%{transform:translateY(0) rotate(0)}
  68%{transform:translateX(0) rotate(0)}
  72%{transform:rotate(1deg)}
  76%{transform:rotate(0)}
}
@keyframes catBlinkV5{
  0%,100%{transform:scaleY(1)}
  42%,65%{transform:scaleY(.94)}
}
@keyframes catHopV5{
  0%,100%{transform:translateY(0) rotate(0)}
  35%{transform:translateY(-5px) rotate(-2deg)}
  70%{transform:translateY(1px) rotate(2deg)}
}
@media(max-width:800px){
  .site-header{min-height:132px;height:auto}
  .logo-wrap{width:78px!important;height:67px!important}
  .wordmark{font-size:16px}
}

/* Version 6 - layered vector cat animation */
.logo-wrap{width:112px!important;height:91px!important;flex-shrink:0;overflow:visible;animation:logoIdleV6 7.5s ease-in-out infinite!important;transform-origin:50% 80%}
.cat-logo{width:100%;height:100%;object-fit:contain;display:block;animation:none!important;filter:none!important;overflow:visible}
.logo-wrap.blinking .cat-logo{animation:none!important}
.logo-wrap.blinking .svg-blink-lid{animation:realBlinkV6 .46s cubic-bezier(.35,0,.25,1) forwards}
.svg-blink-lid{transform-box:fill-box;transform-origin:center top;transform:scaleY(0);opacity:0}
.svg-pupil{transform-box:fill-box;transform-origin:center;animation:pupilScanV6 6.4s ease-in-out infinite}
.svg-pupil ellipse{fill:#fff}
.svg-ear{transform-box:fill-box;transform-origin:50% 90%;animation:earIdleV6 6.8s ease-in-out infinite}
#ear-right{animation-delay:.25s}
.svg-whiskers{transform-box:fill-box;transform-origin:center;animation:whiskerIdleV6 5.8s ease-in-out infinite}
#whiskers-right{animation-delay:.18s}
@keyframes pupilScanV6{0%,12%,100%{transform:translateX(0)}18%,27%{transform:translateX(7px)}34%,42%{transform:translateX(-7px)}49%,70%{transform:translateX(0)}}
@keyframes realBlinkV6{0%{transform:scaleY(0);opacity:0}18%{opacity:1}45%{transform:scaleY(1);opacity:1}70%{transform:scaleY(1);opacity:1}100%{transform:scaleY(0);opacity:0}}
@keyframes earIdleV6{0%,24%,100%{transform:rotate(0)}28%{transform:rotate(-8deg)}32%{transform:rotate(5deg)}36%{transform:rotate(0)}62%{transform:rotate(0)}66%{transform:rotate(5deg)}70%{transform:rotate(-3deg)}74%{transform:rotate(0)}}
@keyframes whiskerIdleV6{0%,30%,100%{transform:rotate(0)}35%{transform:rotate(3deg)}40%{transform:rotate(-2deg)}45%{transform:rotate(0)}}
@keyframes logoIdleV6{0%,12%,100%{transform:translate(0,0) rotate(0)}18%{transform:translate(2px,0) rotate(1deg)}24%{transform:translate(2px,0) rotate(1deg)}30%{transform:translate(-2px,0) rotate(-1deg)}36%{transform:translate(0,0) rotate(0)}50%{transform:translateY(-3px) rotate(-1deg)}54%{transform:translateY(0) rotate(0)}}
@media(max-width:800px){.logo-wrap{width:100px!important;height:82px!important}}

/* Version 7: preserve the exact original PNG logo, no redraw or face overlays */
.logo-wrap{width:124px!important;height:102px!important;flex-shrink:0;overflow:visible;animation:originalLogoIdleV7 7.4s ease-in-out infinite!important;transform-origin:50% 82%}
.cat-logo{width:100%;height:100%;object-fit:contain;display:block;animation:none!important;filter:none!important;transform-origin:center}
.logo-wrap .blink-cover,.logo-wrap .pupil,.logo-wrap .ear-flick,.logo-wrap .whisker-motion,.logo-wrap .purr-pop{display:none!important}
.logo-wrap.blinking .cat-logo{animation:originalLogoBlinkV7 .42s cubic-bezier(.35,0,.25,1) forwards!important}
.logo-wrap.purring .cat-logo{animation:originalLogoHopV7 .48s ease-in-out!important}
@keyframes originalLogoIdleV7{
  0%,12%,100%{transform:translate(0,0) rotate(0)}
  17%{transform:translateX(2px) rotate(.6deg)}
  22%{transform:translateX(3px) rotate(.8deg)}
  28%{transform:translateX(-3px) rotate(-.8deg)}
  34%{transform:translateX(-1px) rotate(-.3deg)}
  40%{transform:translate(0,0) rotate(0)}
  48%{transform:translateY(-3px) rotate(-.8deg)}
  53%{transform:translateY(0) rotate(0)}
  69%{transform:rotate(0)}
  73%{transform:rotate(.6deg)}
  77%{transform:rotate(0)}
}
@keyframes originalLogoBlinkV7{
  0%,100%{transform:scaleY(1)}
  35%,62%{transform:scaleY(.91)}
}
@keyframes originalLogoHopV7{
  0%,100%{transform:translateY(0) rotate(0)}
  35%{transform:translateY(-4px) rotate(-1deg)}
  70%{transform:translateY(1px) rotate(1deg)}
}
@media(max-width:800px){.logo-wrap{width:108px!important;height:90px!important}}

/* Version 8: layered cat animation - keep V7's larger logo dimensions */
.logo-wrap{width:124px!important;height:102px!important;overflow:visible!important;animation:catHeadV8 7s ease-in-out infinite!important;transform-origin:50% 82%}
.cat-logo-svg{width:100%;height:100%;display:block;overflow:visible}
.v8-ear{transform-box:fill-box;transform-origin:50% 92%;animation:catEarV8 5.8s ease-in-out infinite}
#earR{animation-delay:.2s}
.v8-pupil{transform-box:fill-box;transform-origin:center;animation:catPupilV8 4.9s ease-in-out infinite}
#pupilR{animation-delay:.04s}
.v8-lid{transform-box:fill-box;transform-origin:center top;transform:scaleY(0);opacity:0;animation:catBlinkV8 5.8s ease-in-out infinite}
#lidR{animation-delay:.015s}
.v8-whiskers{transform-box:fill-box;transform-origin:center;animation:catWhiskerV8 4.2s ease-in-out infinite}
#whiskersR{animation-delay:.15s}
@keyframes catPupilV8{0%,12%,100%{transform:translateX(0)}20%,30%{transform:translateX(9px)}40%,50%{transform:translateX(-8px)}60%,75%{transform:translateX(0)}}
@keyframes catBlinkV8{0%,35%,100%{transform:scaleY(0);opacity:0}39%{transform:scaleY(.1);opacity:1}42%{transform:scaleY(1);opacity:1}45%{transform:scaleY(1);opacity:1}49%{transform:scaleY(0);opacity:0}}
@keyframes catEarV8{0%,20%,100%{transform:rotate(0)}25%{transform:rotate(-8deg)}29%{transform:rotate(5deg)}33%{transform:rotate(0)}62%{transform:rotate(0)}66%{transform:rotate(6deg)}70%{transform:rotate(-3deg)}74%{transform:rotate(0)}}
@keyframes catWhiskerV8{0%,25%,100%{transform:rotate(0)}31%{transform:rotate(3deg)}36%{transform:rotate(-2deg)}41%{transform:rotate(0)}}
@keyframes catHeadV8{0%,14%,100%{transform:translate(0,0) rotate(0)}20%{transform:translateX(2px) rotate(.7deg)}26%{transform:translateX(2px) rotate(.7deg)}32%{transform:translateX(-2px) rotate(-.7deg)}38%{transform:translate(0,0) rotate(0)}53%{transform:translateY(-3px) rotate(-.7deg)}58%{transform:translateY(0) rotate(0)}}
@media(max-width:800px){.logo-wrap{width:108px!important;height:90px!important}}
@media(prefers-reduced-motion:reduce){.logo-wrap,.v8-ear,.v8-pupil,.v8-lid,.v8-whiskers{animation:none!important}}

.logo-wrap.blinking .v8-lid{animation:catBlinkClickV8 .48s cubic-bezier(.35,0,.25,1) forwards!important}
@keyframes catBlinkClickV8{0%{transform:scaleY(0);opacity:0}20%{opacity:1}48%{transform:scaleY(1);opacity:1}70%{transform:scaleY(1);opacity:1}100%{transform:scaleY(0);opacity:0}}

/* Version 9: original Tabby Chaser logo restored and enlarged by 20% */
.logo-wrap{width:149px!important;height:122px!important;flex-shrink:0;overflow:visible!important;animation:originalLogoIdleV9 7.4s ease-in-out infinite!important;transform-origin:50% 82%}
.cat-logo{width:100%;height:100%;object-fit:contain;display:block;animation:none!important;filter:none!important;transform-origin:center}
.logo-wrap .cat-logo-svg,.logo-wrap .v8-ear,.logo-wrap .v8-eye,.logo-wrap .v8-pupil,.logo-wrap .v8-lid,.logo-wrap .v8-whiskers{display:none!important}
.logo-wrap.blinking .cat-logo{animation:originalLogoBlinkV9 .42s cubic-bezier(.35,0,.25,1) forwards!important}
.logo-wrap.purring .cat-logo{animation:originalLogoHopV9 .48s ease-in-out!important}
@keyframes originalLogoIdleV9{
  0%,12%,100%{transform:translate(0,0) rotate(0)}
  18%{transform:translateX(2px) rotate(.6deg)}
  24%{transform:translateX(2px) rotate(.7deg)}
  30%{transform:translateX(-2px) rotate(-.6deg)}
  36%{transform:translate(0,0) rotate(0)}
  51%{transform:translateY(-3px) rotate(-.6deg)}
  56%{transform:translateY(0) rotate(0)}
}
@keyframes originalLogoBlinkV9{0%,100%{transform:scaleY(1)}38%,62%{transform:scaleY(.93)}}
@keyframes originalLogoHopV9{0%,100%{transform:translateY(0) rotate(0)}35%{transform:translateY(-4px) rotate(-1deg)}70%{transform:translateY(1px) rotate(1deg)}}
@media(max-width:800px){.logo-wrap{width:130px!important;height:106px!important}}
@media(prefers-reduced-motion:reduce){.logo-wrap{animation:none!important}}

/* Version 10: animate isolated features over the exact original PNG */
.logo-wrap{position:relative;width:149px!important;height:122px!important;flex-shrink:0;overflow:visible!important;animation:originalLogoIdleV10 7.4s ease-in-out infinite!important;transform-origin:50% 82%}
.cat-logo{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;animation:none!important;filter:none!important;z-index:1}
.cat-motion-overlay{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:2;pointer-events:none}
.cat-motion-overlay .ear-patch,.cat-motion-overlay .eye-patch,.cat-motion-overlay .whisker-patch{fill:#fff;stroke:none}
.cat-motion-overlay .ear-outline{fill:#171313;stroke:#171313;stroke-width:8;stroke-linejoin:round}
.cat-motion-overlay .ear-inner{fill:#fff;stroke:#171313;stroke-width:4;stroke-linejoin:round}
.cat-motion-overlay .ear-fur{fill:none;stroke:#171313;stroke-width:18;stroke-linecap:round}
.motion-ear{transform-box:fill-box;transform-origin:50% 92%;animation:earFlickV10 6.1s ease-in-out infinite}
.motion-ear-right{animation-delay:.22s}
.eye-shape{fill:#171313}
.moving-pupil{fill:#fff;transform-box:fill-box;transform-origin:center;animation:pupilMoveV10 4.8s ease-in-out infinite}
.motion-eye-right .moving-pupil{animation-delay:.06s}
.eyelid{fill:#171313;transform-box:fill-box;transform-origin:center top;transform:scaleY(0);opacity:0;animation:eyeBlinkV10 5.5s ease-in-out infinite}
.motion-eye-right .eyelid{animation-delay:.025s}
.motion-whiskers{fill:none;stroke:#171313;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;transform-box:fill-box;transform-origin:center;animation:whiskerMoveV10 4.4s ease-in-out infinite}
.motion-whiskers-right{animation-delay:.15s}
@keyframes pupilMoveV10{0%,12%,100%{transform:translateX(0)}20%,30%{transform:translateX(38px)}40%,50%{transform:translateX(-32px)}60%,78%{transform:translateX(0)}}
@keyframes eyeBlinkV10{0%,37%,100%{transform:scaleY(0);opacity:0}40%{opacity:1;transform:scaleY(.1)}43%{opacity:1;transform:scaleY(1)}46%{opacity:1;transform:scaleY(1)}50%{opacity:0;transform:scaleY(0)}}
@keyframes earFlickV10{0%,20%,100%{transform:rotate(0)}25%{transform:rotate(-7deg)}29%{transform:rotate(4deg)}33%{transform:rotate(0)}63%{transform:rotate(0)}67%{transform:rotate(5deg)}71%{transform:rotate(-3deg)}75%{transform:rotate(0)}}
@keyframes whiskerMoveV10{0%,25%,100%{transform:rotate(0)}31%{transform:rotate(2.5deg)}36%{transform:rotate(-2deg)}41%{transform:rotate(0)}}
@keyframes originalLogoIdleV10{0%,12%,100%{transform:translate(0,0) rotate(0)}18%{transform:translateX(2px) rotate(.5deg)}24%{transform:translateX(2px) rotate(.6deg)}30%{transform:translateX(-2px) rotate(-.6deg)}36%{transform:translate(0,0) rotate(0)}51%{transform:translateY(-3px) rotate(-.5deg)}56%{transform:translateY(0) rotate(0)}}
@media(max-width:800px){.logo-wrap{width:130px!important;height:106px!important}}
@media(prefers-reduced-motion:reduce){.logo-wrap,.motion-ear,.moving-pupil,.eyelid,.motion-whiskers{animation:none!important}}

/* Version 11: exact original artwork only - remove every inaccurate overlay */
.logo-wrap{position:relative;width:149px!important;height:122px!important;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:visible!important;animation:none!important;transform:none!important}
.cat-logo{position:static!important;width:100%!important;height:100%!important;object-fit:contain;display:block;animation:none!important;filter:none!important;transform:none!important}
.cat-motion-overlay,.cat-logo-svg,.motion-ear,.motion-eye,.motion-whiskers,.v8-ear,.v8-eye,.v8-pupil,.v8-lid,.v8-whiskers,.pupil,.blink-cover,.ear-flick,.whisker-motion{display:none!important}
@media(max-width:800px){.logo-wrap{width:130px!important;height:106px!important}}

/* V12: vector-traced logo layers. The static silhouette is kept intact. */
.logo-wrap.cat-rig{width:149px!important;height:122px!important;position:relative;display:block;overflow:visible!important;flex-shrink:0;animation:catHeadLookV12 8s ease-in-out infinite!important;transform-origin:50% 82%}
.logo-wrap.cat-rig .cat-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;pointer-events:none;filter:none!important}
.logo-wrap.cat-rig .cat-head-layer{z-index:1}
.logo-wrap.cat-rig .cat-eyes-layer{z-index:2;transform-origin:50% 58%;animation:catEyeLookV12 5.2s ease-in-out infinite}
.logo-wrap.cat-rig .cat-nose-layer{z-index:3}
.logo-wrap.cat-rig .cat-cheeks-layer{z-index:3}
@keyframes catEyeLookV12{0%,14%,100%{transform:translateX(0)}22%,31%{transform:translateX(2px)}42%,51%{transform:translateX(-2px)}60%,75%{transform:translateX(0)}}
@keyframes catHeadLookV12{0%,15%,100%{transform:translate(0,0) rotate(0)}22%{transform:translateX(1px) rotate(.35deg)}29%{transform:translateX(1px) rotate(.35deg)}36%{transform:translateX(-1px) rotate(-.35deg)}43%{transform:translate(0,0) rotate(0)}58%{transform:translateY(-2px) rotate(-.3deg)}63%{transform:translateY(0) rotate(0)}}
@media(max-width:800px){.logo-wrap.cat-rig{width:130px!important;height:106px!important}}
@media(prefers-reduced-motion:reduce){.logo-wrap.cat-rig,.logo-wrap.cat-rig .cat-eyes-layer{animation:none!important}}

/* VERSION 13 - keep V12 eye layer and sizing; add gentle face, ear and whisker motion */
.logo-wrap.cat-rig{
  perspective: 700px;
  transform-style: preserve-3d;
  animation: catFaceTurnV13 7.2s ease-in-out infinite!important;
}
.logo-wrap.cat-rig .cat-head-layer{z-index:1}
.logo-wrap.cat-rig .cat-ears-motion-layer{
  z-index:2;
  transform-origin:25% 36%;
  animation: catEarFlickV13 5.9s ease-in-out infinite;
}
.logo-wrap.cat-rig .cat-eyes-layer{
  z-index:3;
  /* preserve the approved V12 left/right eye movement */
  animation:catEyeLookV12 5.2s ease-in-out infinite;
}
.logo-wrap.cat-rig .cat-nose-layer{z-index:4}
.logo-wrap.cat-rig .cat-cheeks-layer{z-index:4}
.logo-wrap.cat-rig .cat-whiskers-motion-layer{
  z-index:5;
  transform-origin:50% 72%;
  animation:catWhiskerFlickV13 4.6s ease-in-out infinite;
}
@keyframes catFaceTurnV13{
  0%,12%,100%{transform:rotateY(0deg) rotateZ(0deg) translateX(0)}
  22%{transform:rotateY(-4deg) rotateZ(-.35deg) translateX(-1px)}
  34%{transform:rotateY(-4deg) rotateZ(-.35deg) translateX(-1px)}
  46%{transform:rotateY(4deg) rotateZ(.35deg) translateX(1px)}
  58%{transform:rotateY(4deg) rotateZ(.35deg) translateX(1px)}
  70%{transform:rotateY(0deg) rotateZ(0deg) translateX(0)}
}
@keyframes catEarFlickV13{
  0%,20%,100%{transform:rotate(0deg) translateY(0)}
  26%{transform:rotate(-1.4deg) translateY(-.5px)}
  31%{transform:rotate(1deg) translateY(0)}
  36%{transform:rotate(0deg) translateY(0)}
  63%{transform:rotate(0deg)}
  68%{transform:rotate(1.2deg) translateY(-.4px)}
  73%{transform:rotate(-.6deg)}
  78%{transform:rotate(0deg)}
}
@keyframes catWhiskerFlickV13{
  0%,24%,100%{transform:rotate(0deg) translateX(0)}
  30%{transform:rotate(.65deg) translateX(.5px)}
  36%{transform:rotate(-.55deg) translateX(-.3px)}
  42%{transform:rotate(0deg) translateX(0)}
  66%{transform:rotate(0deg)}
  72%{transform:rotate(-.6deg) translateX(-.4px)}
  78%{transform:rotate(.4deg)}
  84%{transform:rotate(0deg)}
}
@media(prefers-reduced-motion:reduce){
  .logo-wrap.cat-rig,.logo-wrap.cat-rig .cat-ears-motion-layer,
  .logo-wrap.cat-rig .cat-whiskers-motion-layer,
  .logo-wrap.cat-rig .cat-eyes-layer{animation:none!important}
}

/* V14: original pixels split into moving ear/whisker layers. Keep V12 eye motion and size. */
.logo-wrap.cat-rig{width:149px!important;height:122px!important;position:relative;display:block;overflow:visible!important;flex-shrink:0;transform-style:preserve-3d;perspective:700px;animation:catFaceTurnV14 7.2s ease-in-out infinite!important;transform-origin:50% 82%}
.logo-wrap.cat-rig .cat-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;pointer-events:none;filter:none!important}
.logo-wrap.cat-rig .cat-head-layer{z-index:1}
.logo-wrap.cat-rig .cat-ear-left-motion{z-index:2;transform-origin:20% 28%;animation:earLeftV14 6.7s ease-in-out infinite}
.logo-wrap.cat-rig .cat-ear-right-motion{z-index:2;transform-origin:80% 28%;animation:earRightV14 7.1s ease-in-out infinite}
.logo-wrap.cat-rig .cat-eyes-layer{z-index:3;transform-origin:50% 58%;animation:catEyeLookV12 5.2s ease-in-out infinite}
.logo-wrap.cat-rig .cat-nose-layer{z-index:4}
.logo-wrap.cat-rig .cat-cheeks-layer{z-index:4}
.logo-wrap.cat-rig .cat-whiskers-left-motion{z-index:5;transform-origin:11% 72%;animation:whiskerLeftV14 5.4s ease-in-out infinite}
.logo-wrap.cat-rig .cat-whiskers-right-motion{z-index:5;transform-origin:89% 72%;animation:whiskerRightV14 6.3s ease-in-out infinite}
@keyframes catFaceTurnV14{
  0%,12%,100%{transform:rotateY(0deg) rotateZ(0deg) translateX(0)}
  22%{transform:rotateY(-3deg) rotateZ(-.25deg) translateX(-.5px)}
  34%{transform:rotateY(-3deg) rotateZ(-.25deg) translateX(-.5px)}
  46%{transform:rotateY(3deg) rotateZ(.25deg) translateX(.5px)}
  58%{transform:rotateY(3deg) rotateZ(.25deg) translateX(.5px)}
  70%{transform:rotateY(0deg) rotateZ(0deg) translateX(0)}
}
@keyframes earLeftV14{0%,18%,100%{transform:rotate(0deg)}24%{transform:rotate(-1.3deg)}29%{transform:rotate(.65deg)}34%{transform:rotate(0deg)}}
@keyframes earRightV14{0%,30%,100%{transform:rotate(0deg)}36%{transform:rotate(1.25deg)}41%{transform:rotate(-.6deg)}46%{transform:rotate(0deg)}}
@keyframes whiskerLeftV14{0%,20%,100%{transform:rotate(0deg) translateY(0)}27%{transform:rotate(-1deg) translateY(-.3px)}33%{transform:rotate(.6deg) translateY(0)}39%{transform:rotate(0deg)}}
@keyframes whiskerRightV14{0%,39%,100%{transform:rotate(0deg) translateY(0)}46%{transform:rotate(1deg) translateY(-.3px)}52%{transform:rotate(-.6deg) translateY(0)}58%{transform:rotate(0deg)}}
@media(max-width:800px){.logo-wrap.cat-rig{width:130px!important;height:106px!important}}
@media(prefers-reduced-motion:reduce){.logo-wrap.cat-rig,.logo-wrap.cat-rig .cat-ear-left-motion,.logo-wrap.cat-rig .cat-ear-right-motion,.logo-wrap.cat-rig .cat-whiskers-left-motion,.logo-wrap.cat-rig .cat-whiskers-right-motion,.logo-wrap.cat-rig .cat-eyes-layer{animation:none!important}}

/* VERSION 15: no ear/whisker overlay seams. Whole silhouette moves as one with ears attached. */
.logo-wrap.cat-rig{
  width:149px!important;height:122px!important;position:relative;display:block;
  overflow:visible!important;flex-shrink:0;transform-origin:50% 60%;
  perspective:700px;transform-style:preserve-3d;
  animation:catIntroZoomV15 .9s cubic-bezier(.2,.75,.25,1) both, catFaceTurnV15 7.2s ease-in-out .9s infinite!important;
}
.logo-wrap.cat-rig .cat-layer{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;pointer-events:none;filter:none!important}
.logo-wrap.cat-rig .cat-head-layer{z-index:1;animation:catHeadSwayV15 6.4s ease-in-out 1.2s infinite}
.logo-wrap.cat-rig .cat-eyes-layer{z-index:3;transform-origin:50% 58%;animation:catEyeLookV12 5.2s ease-in-out 1.2s infinite}
.logo-wrap.cat-rig .cat-nose-layer,.logo-wrap.cat-rig .cat-cheeks-layer{z-index:4}
.logo-wrap.cat-rig .cat-ear-left-motion,.logo-wrap.cat-rig .cat-ear-right-motion,
.logo-wrap.cat-rig .cat-whiskers-left-motion,.logo-wrap.cat-rig .cat-whiskers-right-motion{display:none!important}
@keyframes catIntroZoomV15{
  0%{transform:scale(.8);opacity:.0}
  12%{opacity:1}
  100%{transform:scale(1);opacity:1}
}
@keyframes catFaceTurnV15{
  0%,12%,100%{transform:rotateY(0deg) rotateZ(0deg) translateX(0)}
  22%{transform:rotateY(-3deg) rotateZ(-.35deg) translateX(-.5px)}
  34%{transform:rotateY(-3deg) rotateZ(-.35deg) translateX(-.5px)}
  46%{transform:rotateY(3deg) rotateZ(.35deg) translateX(.5px)}
  58%{transform:rotateY(3deg) rotateZ(.35deg) translateX(.5px)}
  70%{transform:rotateY(0deg) rotateZ(0deg) translateX(0)}
}
@keyframes catHeadSwayV15{
  0%,20%,100%{transform:rotate(0deg) translateY(0)}
  27%{transform:rotate(-.35deg) translateY(-.5px)}
  34%{transform:rotate(.25deg) translateY(0)}
  41%{transform:rotate(0deg) translateY(0)}
  66%{transform:rotate(0deg)}
  73%{transform:rotate(.3deg) translateY(-.3px)}
  80%{transform:rotate(-.2deg)}
  87%{transform:rotate(0deg)}
}
@media(max-width:800px){.logo-wrap.cat-rig{width:130px!important;height:106px!important}}
@media(prefers-reduced-motion:reduce){
 .logo-wrap.cat-rig,.logo-wrap.cat-rig .cat-head-layer,.logo-wrap.cat-rig .cat-eyes-layer{animation:none!important}
}

/* V15 refinement: separate entrance zoom from the ongoing face turn so both animations run. */
.logo-wrap.cat-rig{animation:catIntroZoomV15 .9s cubic-bezier(.2,.75,.25,1) both!important}
.logo-wrap.cat-rig .cat-rig-inner{position:absolute;inset:0;width:100%;height:100%;display:block;transform-origin:50% 60%;transform-style:preserve-3d;animation:catFaceTurnV15 7.2s ease-in-out .9s infinite}
.logo-wrap.cat-rig .cat-head-layer{animation:catHeadSwayV15 6.4s ease-in-out 1.2s infinite}
.logo-wrap.cat-rig .cat-eyes-layer{animation:catEyeLookV12 5.2s ease-in-out 1.2s infinite}
@media(prefers-reduced-motion:reduce){.logo-wrap.cat-rig,.logo-wrap.cat-rig .cat-rig-inner,.logo-wrap.cat-rig .cat-head-layer,.logo-wrap.cat-rig .cat-eyes-layer{animation:none!important}}

/* VERSION 16 - signature cat entrance and gentle recurring zoom */
.logo-wrap.cat-rig{
  animation:catIntroZoomV16 1.25s cubic-bezier(.16,.84,.25,1) both,
            catFaceTurnV15 7.2s ease-in-out 1.25s infinite!important;
}
@keyframes catIntroZoomV16{
  0%{transform:scale(.2);opacity:0}
  12%{opacity:1}
  66%{transform:scale(1.08);opacity:1}
  82%{transform:scale(.96);opacity:1}
  100%{transform:scale(1);opacity:1}
}
/* After entrance, a quiet breathing zoom makes the cat feel alive without distracting from products. */
.logo-wrap.cat-rig{
  animation:catIntroZoomV16 1.25s cubic-bezier(.16,.84,.25,1) both,
            catFaceTurnV15 7.2s ease-in-out 1.25s infinite!important;
}
.logo-wrap.cat-rig::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
}
@media(prefers-reduced-motion:reduce){
  .logo-wrap.cat-rig{animation:none!important;transform:scale(1)!important;opacity:1!important}
}

/* VERSION 17: reliable entrance zoom, then continuous gentle face turn */
.logo-wrap.cat-rig{
  animation:none!important;
  transform:scale(1);
  opacity:1;
  will-change:transform,opacity;
}
.logo-wrap.cat-rig.cat-intro-pending{
  animation:tabbyCatEntranceV17 1.35s cubic-bezier(.18,.78,.25,1) both!important;
}
@keyframes tabbyCatEntranceV17{
  0%{transform:scale(.2);opacity:0}
  8%{opacity:1}
  72%{transform:scale(1.08);opacity:1}
  88%{transform:scale(.97);opacity:1}
  100%{transform:scale(1);opacity:1}
}
.logo-wrap.cat-rig.cat-intro-pending .cat-head-layer{
  animation:catHeadSwayV15 6.4s ease-in-out 1.35s infinite!important;
}
.logo-wrap.cat-rig.cat-intro-pending .cat-eyes-layer{
  animation:catEyeLookV12 5.2s ease-in-out 1.35s infinite!important;
}
@media(prefers-reduced-motion:reduce){
  .logo-wrap.cat-rig.cat-intro-pending{animation:none!important;transform:scale(1)!important;opacity:1!important}
}

/* VERSION 18 - continuous zoom pulse on the whole cat; no JS class needed */
.logo-wrap.cat-rig{
  animation: tabbyZoomInOutV18 3.4s ease-in-out infinite !important;
  transform-origin: 50% 50% !important;
  will-change: transform;
  opacity: 1 !important;
}
@keyframes tabbyZoomInOutV18{
  0%,100% { transform: scale(.78); }
  50% { transform: scale(1); }
}
@media(prefers-reduced-motion:reduce){
  .logo-wrap.cat-rig{ animation:none!important; transform:scale(1)!important; }
}


/* Version 18 refinement: visible wordmark, rounded CTAs, practical shop links */
.brand{gap:7px;text-decoration:none}
.wordmark{display:block;font-family:var(--display);font-size:15px;font-weight:900;letter-spacing:.14em;line-height:1;color:var(--ink)}
.wordmark span{color:var(--rose)}
.button{border-radius:18px}
.button-black{border-radius:18px}
.quick-add{border-radius:14px 14px 0 0}
.notes-links{display:flex;flex-direction:column}
.notes-links a{display:grid;grid-template-columns:32px minmax(120px,1fr) auto;align-items:center;gap:8px 14px;padding:16px 0;border-bottom:1px solid #eadfe1;text-decoration:none;color:var(--ink)}
.notes-links a>span{grid-row:1 / span 2;color:var(--rose);font-size:12px}
.notes-links a strong{font-size:13px;font-weight:700}
.notes-links a small{grid-column:2;font-size:11px;line-height:1.6;color:#766b6a}
.notes-links a b{grid-column:3;grid-row:1 / span 2;font-weight:400;color:var(--rose)}
.notes-links a:hover strong{color:var(--rose)}
.policy-section{padding:0 clamp(24px,10vw,145px) 55px;background:#fffafa}
.policy-section details{border-top:1px solid var(--line);padding:17px 0;font-size:12px}
.policy-section summary{cursor:pointer;font-weight:700;letter-spacing:.02em}
.policy-section details p{max-width:760px;color:#51494a;line-height:1.9;margin:12px 0 0}
.policy-section details a{color:var(--rose);text-decoration:underline}
@media(max-width:600px){.wordmark{font-size:12px;letter-spacing:.1em}.notes-links a{grid-template-columns:28px minmax(0,1fr) auto}.policy-section{padding-left:25px;padding-right:25px}}

/* Version 23.1: more visible, scattered hand-drawn-style doodles in the footer. */
.footer-doodle{display:none}
.footer-doodle-mark{position:absolute;z-index:0;color:#d97996;opacity:.34;font-size:34px;line-height:1;font-weight:400;user-select:none;pointer-events:none;text-shadow:0 0 1px rgba(217,121,150,.12)}
.footer-doodle-mark.one{left:28%;top:18%;font-size:43px;transform:rotate(-18deg)}
.footer-doodle-mark.two{left:48%;top:14%;font-size:40px;transform:rotate(10deg)}
.footer-doodle-mark.three{right:25%;top:25%;font-size:34px}
.footer-doodle-mark.four{right:10%;top:16%;font-size:34px;filter:grayscale(1);opacity:.32;transform:rotate(12deg)}
.footer-doodle-mark.five{left:39%;bottom:15%;font-size:30px}
.footer-doodle-mark.six{right:36%;bottom:17%;font-size:42px;transform:rotate(-10deg)}
.footer-doodle-mark.seven{left:65%;top:58%;font-size:31px;transform:rotate(15deg)}
.footer-doodle-mark.eight{left:57%;bottom:13%;font-size:37px;transform:rotate(22deg)}
.footer-doodle-mark.nine{left:76%;top:17%;font-size:29px;transform:rotate(-12deg)}
.footer-doodle-mark.ten{left:73%;bottom:15%;font-size:27px;filter:grayscale(1);opacity:.28;transform:rotate(-15deg)}
.footer-doodle-mark.eleven{left:57%;top:58%;font-size:28px;transform:rotate(12deg)}
.footer-doodle-mark.twelve{right:20%;bottom:14%;font-size:27px}
.footer-doodle-mark.thirteen{left:34%;top:56%;font-size:24px}
.footer-doodle-mark.fourteen{right:5%;top:53%;font-size:42px;transform:rotate(-15deg)}
@media(max-width:800px){.site-footer{align-items:flex-start;min-height:360px;padding-bottom:38px}.footer-doodle-mark.one{left:62%;top:12%}.footer-doodle-mark.two{left:78%;top:40%}.footer-doodle-mark.three{right:12%;top:20%}.footer-doodle-mark.four{right:8%;top:65%}.footer-doodle-mark.five{left:50%;bottom:12%}.footer-doodle-mark.six{right:28%;bottom:16%}.footer-doodle-mark.seven{left:58%;top:54%}.footer-doodle-mark.eight{left:46%;bottom:8%}.footer-doodle-mark.nine{left:83%;top:12%}.footer-doodle-mark.ten{left:68%;bottom:9%}.footer-doodle-mark.eleven{left:53%;top:72%}.footer-doodle-mark.twelve{right:8%;bottom:8%}.footer-doodle-mark.thirteen{left:45%;top:48%}.footer-doodle-mark.fourteen{right:5%;top:48%}}
@media(prefers-reduced-motion:reduce){.footer-doodle-mark{transition:none}}


/* VERSION 24 - header branding: cat above wordmark (centered stack) */
.site-header{
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
  min-height:188px!important;height:auto!important;
  padding:14px clamp(18px,4vw,64px)!important;
  column-gap:clamp(12px,2vw,28px)!important;
  align-items:center!important;
}
.brand{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-width:0;
  text-decoration:none!important;
  text-align:center!important;
}
.logo-wrap.cat-rig{width:122px!important;height:101px!important;flex:0 0 122px!important;}
.wordmark{
  display:block!important;
  font-size:clamp(15px,1.6vw,20px)!important;
  letter-spacing:.12em!important;
  line-height:1.1!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.main-nav{
  display:flex!important;align-items:center!important;justify-content:center!important;
  flex-wrap:wrap!important;gap:clamp(18px,3.2vw,46px)!important;
  padding:14px 20px 18px!important;font-size:13px!important;
}
.main-nav a{white-space:nowrap!important;}
@media(max-width:800px){
 .site-header{min-height:148px!important;padding:10px 14px!important;column-gap:5px!important;}
 .brand{gap:6px!important;}
 .logo-wrap.cat-rig{width:86px!important;height:73px!important;flex:0 0 86px!important;}
 .wordmark{font-size:clamp(12px,2.8vw,15px)!important;letter-spacing:.08em!important;}
 .site-header>.icon-button{font-size:22px!important;padding:4px!important;}
 .header-actions{gap:2px!important;}
 .header-actions .icon-button{font-size:22px!important;padding:5px!important;}
 .main-nav{gap:18px!important;padding:12px 12px 14px!important;font-size:11px!important;}
}
@media(max-width:430px){
 .site-header{grid-template-columns:28px minmax(0,1fr) 58px!important;padding:8px 9px!important;min-height:132px!important;}
 .brand{gap:5px!important;}
 .logo-wrap.cat-rig{width:62px!important;height:55px!important;flex:0 0 62px!important;}
 .wordmark{font-size:11px!important;letter-spacing:.06em!important;}
 .main-nav{justify-content:flex-start!important;flex-wrap:nowrap!important;overflow-x:auto!important;gap:17px!important;white-space:nowrap!important;}
}

/* Maker heading punctuation accent, configurable from the admin preview */
.about-copy h2 .maker-punctuation{color:var(--maker-accent-color,#df7f9b)}

/* Product card hover image cycling + product detail page */
.product-card{position:relative;display:flex;flex-direction:column}
.product-card-link,.product-card-media-link{display:block;color:inherit;text-decoration:none;height:100%}
.product-card-media-link{position:absolute;inset:0;z-index:1}
.product-card .quick-add{z-index:2}
.product-image{position:relative}
.product-image-stage{position:absolute;inset:0}
.product-image-stage img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transition:opacity .35s ease;pointer-events:none;z-index:0
}
.product-image-stage img.is-active{opacity:1;z-index:1}
.product-image-empty{
  position:absolute;inset:0;
  background:linear-gradient(145deg,rgba(255,255,255,.35),rgba(255,255,255,.05));
}
.product-card .product-info{padding-top:15px}

.product-page main{padding:0 0 80px;overflow-x:hidden}
.product-state{padding:72px clamp(20px,5vw,80px);max-width:720px}
.product-state h1{
  font-family:var(--display);font-weight:900;letter-spacing:-.045em;
  font-size:clamp(36px,5vw,56px);margin:0 0 16px;line-height:1.05
}
.product-state p{color:#51494a;line-height:1.8;max-width:460px}
.product-state .button{margin-top:22px}

.product-detail{
  width:min(1120px,100%);
  margin:0 auto;
  padding:28px clamp(18px,4vw,40px) 0;
  box-sizing:border-box;
}
.product-breadcrumb{
  display:flex;flex-wrap:wrap;gap:8px;align-items:center;
  font-size:11px;letter-spacing:.04em;margin:0 0 28px;color:#766b6a
}
.product-breadcrumb a:hover{color:var(--rose)}

.product-detail-layout{
  display:grid;
  grid-template-columns:minmax(0,0.46fr) minmax(0,0.54fr);
  gap:clamp(24px,4vw,56px);
  align-items:start;
}
.product-gallery{min-width:0}
.product-summary{min-width:0}

.product-main-frame{
  position:relative;
  width:100%;
  aspect-ratio:1 / 1.05;
  max-height:min(560px,70vh);
  border-radius:24px;
  overflow:hidden;
  background:#f6f2f3;
  border:1px solid #efe6e8;
}
.product-main-frame.blush{background:#f6f2f3}
.product-main-frame img{
  position:absolute;inset:0;
  width:100%;height:100%;
  object-fit:contain;
  object-position:center;
  display:block;
  background:#f6f2f3;
}
.product-main-frame .product-image-empty{
  background:#f6f2f3;
}
.product-thumbs{
  display:flex;flex-wrap:wrap;gap:10px;margin-top:14px
}
.product-thumb{
  border:1px solid #eadfe2;padding:0;width:72px;height:72px;
  border-radius:14px;overflow:hidden;background:#f6f2f3;flex:0 0 auto
}
.product-thumb img{
  width:100%;height:100%;object-fit:cover;display:block;pointer-events:none
}
.product-thumb.is-active,.product-thumb:focus-visible{
  border-color:var(--ink);outline:none;box-shadow:0 0 0 1px var(--ink)
}

.product-summary .eyebrow{margin:0 0 10px}
.product-summary h1{
  font-family:var(--display);font-weight:900;letter-spacing:-.05em;
  font-size:clamp(32px,4vw,48px);line-height:1.08;margin:0 0 10px;color:var(--ink)
}
.product-rating-summary{
  display:flex;align-items:center;gap:8px;
  font-size:12px;color:#766b6a;margin:0 0 14px
}
.product-rating-summary .stars{letter-spacing:.08em;color:#c9b4ba}
.product-price{
  font-family:var(--display);font-weight:900;font-size:clamp(24px,3vw,30px);
  margin:0 0 16px;color:var(--ink)
}
.product-description{
  font-size:13px;line-height:1.85;color:#51494a;margin:0 0 22px;max-width:34rem
}

.product-purchase{
  display:grid;gap:14px;margin:0 0 20px;
  padding:18px;border:1px solid #efe4e7;border-radius:20px;background:#fff
}
.qty-label{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#766b6a}
.qty-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.product-qty-controls{
  display:inline-flex;align-items:center;gap:0;
  border:1px solid var(--line);border-radius:999px;overflow:hidden;background:#fff
}
.product-qty-controls button{
  border:0;background:#fff;width:36px;height:36px;font-size:16px;line-height:1
}
.product-qty-controls input{
  width:48px;border:0;border-left:1px solid var(--line);border-right:1px solid var(--line);
  text-align:center;font-size:13px;background:transparent;height:36px
}
.product-stock-note{font-size:11px;color:#766b6a;margin:0}
.product-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.product-actions .button{
  min-width:min(100%,220px);border-radius:999px;padding:15px 22px
}
.icon-action{
  width:46px;height:46px;border-radius:50%;border:1px solid var(--line);
  background:#fff;color:var(--ink);font-size:18px;display:grid;place-items:center
}
.icon-action.is-active{background:#f7dfe6;border-color:#e7b7c4;color:var(--rose)}
.icon-action:hover{border-color:var(--ink)}
.product-action-message{font-size:11px;line-height:1.6;margin:0;color:#51494a}
.product-action-message.is-error{color:#b23e5c}

.product-dispatch{
  background:#fff5f7;border:1px solid #f0dde3;border-radius:18px;
  padding:16px 18px;margin:0 0 22px;display:grid;gap:6px
}
.product-dispatch strong{font-family:var(--display);font-size:15px}
.product-dispatch span{font-size:11px;line-height:1.7;color:#766b6a}

.product-details-block{
  border:1px solid #efe4e7;border-radius:18px;background:#fff;overflow:hidden
}
.product-details-block summary,
.product-details-block > h2{
  list-style:none;cursor:pointer;margin:0;padding:16px 18px;
  font-family:var(--display);font-weight:900;letter-spacing:-.03em;
  font-size:18px;border-bottom:1px solid #f1e6e9;display:flex;
  justify-content:space-between;align-items:center;gap:12px
}
.product-details-block summary::-webkit-details-marker{display:none}
.product-details-block summary:after{content:"+";font-size:18px;color:var(--rose)}
.product-details-block[open] summary:after{content:"-"}
.product-details-list{margin:0;padding:4px 18px 8px;display:grid;gap:0}
.product-details-list > div{
  display:grid;grid-template-columns:minmax(110px,34%) 1fr;gap:12px;
  padding:14px 0;border-bottom:1px solid #f3eaec
}
.product-details-list > div:last-child{border-bottom:0}
.product-details-list dt{
  font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#766b6a;margin:0
}
.product-details-list dd{margin:0;font-size:13px;line-height:1.7;color:var(--ink)}

.related-section,.reviews-section{padding:56px 0 0}
.related-section .section-heading,
.reviews-section .section-heading{margin-bottom:22px}
.related-section h2,.reviews-section h2{
  font-family:var(--display);font-weight:900;letter-spacing:-.045em;
  font-size:clamp(28px,3.4vw,40px);margin:0
}
.related-empty{
  margin:0;padding:18px 20px;border:1px dashed #e7d0d7;border-radius:16px;
  background:#fffafb;color:#766b6a;font-size:12px;line-height:1.7;max-width:420px
}
.reviews-empty{
  background:#fffafa;border:1px solid #f0dde3;border-radius:22px;
  padding:28px clamp(18px,3vw,32px);max-width:640px
}
.reviews-empty-title{font-family:var(--display);font-weight:900;font-size:22px;margin:0 0 10px}
.reviews-empty p{margin:0 0 10px;font-size:12px;line-height:1.8;color:#51494a}
.reviews-empty p:last-child{margin-bottom:0}
.reviews-list:empty{display:none}
#cartContinue{display:inline-flex;width:100%;margin:12px 0;text-align:center;justify-content:center}

@media (hover:none),(pointer:coarse){
  .product-image-stage img:not(.is-active){display:none}
  .product-image-stage img.is-active{opacity:1}
}
@media (max-width:900px){
  .product-detail-layout{grid-template-columns:1fr;gap:24px}
  .product-gallery{position:static}
  .product-main-frame{max-height:min(420px,62vh);aspect-ratio:1 / 1}
  .product-details-list > div{grid-template-columns:1fr;gap:4px}
  .product-actions .button{width:100%}
}
@media (max-width:800px){
  .product-card .quick-add{opacity:1;transform:none}
}

/* Full catalogue page */
.shop-page{background:#fffafa}
.catalogue-main{
  width:min(1120px,100%);
  margin:0 auto;
  padding:36px clamp(18px,4vw,40px) 88px;
  box-sizing:border-box
}
.catalogue-header{margin:0 0 28px;max-width:40rem}
.catalogue-header h1{
  font-family:var(--display);font-weight:900;letter-spacing:-.05em;
  font-size:clamp(36px,5vw,56px);line-height:1.05;margin:0 0 12px
}
.catalogue-intro{margin:0;font-size:13px;line-height:1.8;color:#51494a}
.catalogue-count{margin:0 0 18px;font-size:12px;color:#766b6a}
.catalogue-state{padding:28px 0 12px;max-width:520px}
.catalogue-state h2{
  font-family:var(--display);font-weight:900;letter-spacing:-.045em;
  font-size:clamp(28px,4vw,40px);margin:0 0 12px;line-height:1.1
}
.catalogue-state p{margin:0 0 12px;color:#51494a;line-height:1.8}
.catalogue-state .button{margin-top:10px}
.catalogue-grid{margin-top:8px}
@media (max-width:800px){
  .catalogue-main{padding-top:24px;padding-bottom:64px}
}

/* Contact page */
.contact-main{
  padding:48px clamp(24px,7vw,100px) 88px;
  max-width:760px;
  margin:0 auto;
  background:
    radial-gradient(circle at 12% 8%, rgba(247,223,230,.55), transparent 42%),
    linear-gradient(180deg, #fffafa 0%, #ffffff 48%, #fff7f9 100%);
}
.contact-header h1{
  font-family:var(--display);font-weight:900;letter-spacing:-.05em;
  font-size:clamp(40px,6vw,64px);line-height:1.05;margin:0 0 22px
}
.contact-meta{display:grid;gap:10px;margin:0 0 34px}
.contact-meta p{margin:0;display:flex;gap:14px;flex-wrap:wrap;align-items:baseline;font-size:13px}
.contact-meta span{min-width:4.5rem;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#766b6a}
.contact-form{display:grid;gap:16px}
.contact-field{display:grid;gap:8px;font-size:12px;color:#51494a}
.contact-field .req{color:var(--rose);margin-left:4px}
.contact-field input,
.contact-field textarea{
  width:100%;border:1px solid #eadfe1;border-radius:14px;background:#fff;
  padding:14px 16px;color:var(--ink);font:inherit
}
.contact-field textarea{resize:vertical;min-height:140px}
.contact-note{margin:0;font-size:12px;line-height:1.7;color:#766b6a}
.contact-form-status{
  margin:0;padding:14px 16px;border-radius:14px;font-size:12px;line-height:1.7;
  background:#fff5f8;border:1px solid #f0c0cd;color:#51494a
}
.contact-form-status.is-error{background:#fff5f8;border-color:#f0c0cd;color:#8a3048}
.contact-form-status.is-success{background:#f3faf5;border-color:#b7dfc4;color:#245c38}
.contact-form-status.is-loading{background:#fffaf2;border-color:#f0dfb8;color:#6a5530}
.contact-mailto-fallback{display:inline-block;margin-top:10px}
.contact-form .button{justify-self:start;min-width:160px}
@media (max-width:800px){
  .contact-main{padding:32px 20px 64px}
}

/* About Us page */
.about-mission{
  width:100%;
  padding:clamp(56px,9vw,110px) clamp(24px,10vw,145px);
  background:linear-gradient(180deg,#f9e4ea 0%,#f7dfe6 48%,#f3d5df 100%);
  text-align:center;
  border-bottom:1px solid var(--line);
}
.about-mission .eyebrow{margin:0 0 18px;color:#6f5c61}
.about-mission h1{
  font-family:var(--display);font-weight:900;letter-spacing:-.055em;line-height:1.05;
  font-size:clamp(40px,6vw,72px);margin:0 auto 22px;max-width:16ch;color:var(--ink)
}
.about-mission-lead{
  margin:0 auto;max-width:38rem;font-size:14px;line-height:1.95;color:#51494a
}
.about-visual{
  padding:clamp(28px,5vw,56px) clamp(18px,5vw,72px) clamp(40px,6vw,72px);
  background:
    radial-gradient(circle at 8% 18%, rgba(247,223,230,.7), transparent 28%),
    radial-gradient(circle at 92% 72%, rgba(255,240,194,.55), transparent 26%),
    linear-gradient(180deg,#fffaf7 0%,#fff 55%,#fff7f9 100%);
  border-bottom:1px solid var(--line);
  overflow:hidden;
}
.about-collage{
  position:relative;
  width:min(1120px,100%);
  margin:0 auto;
  min-height:clamp(520px,68vw,720px);
}
.about-piece{
  position:absolute;
  margin:0;
  overflow:hidden;
  background:#f7dfe6;
  border:2px solid var(--ink);
  box-shadow:3px 4px 0 rgba(23,19,19,.08);
  z-index:2;
}
.about-piece--hero{
  left:4%;top:8%;width:min(46%,420px);height:min(58%,430px);
  border-radius:42% 58% 48% 52% / 48% 42% 58% 52%;
  background:#f9e4e9;
  z-index:3;
  transform:rotate(-3deg);
}
.about-piece--circle{
  left:48%;top:4%;width:min(26%,230px);aspect-ratio:1;height:auto;
  border-radius:50%;
  background:#fff0c2;
  transform:rotate(4deg);
}
.about-piece--arch{
  right:5%;top:14%;width:min(28%,250px);height:min(42%,310px);
  border-radius:999px 999px 28px 28px;
  background:#fff0e5;
  transform:rotate(2deg);
  z-index:4;
}
.about-piece--blob{
  left:42%;top:42%;width:min(30%,270px);height:min(40%,290px);
  border-radius:58% 42% 55% 45% / 45% 52% 48% 55%;
  background:#f5dce5;
  transform:rotate(-5deg);
  z-index:5;
}
.about-piece--wavy{
  left:8%;bottom:6%;width:min(32%,280px);height:min(34%,250px);
  border-radius:40% 60% 55% 45% / 55% 35% 65% 45%;
  background:#fff3d4;
  transform:rotate(3deg);
  z-index:3;
}
.about-piece--tile{
  right:10%;bottom:8%;width:min(24%,210px);height:min(30%,220px);
  border-radius:28px;
  background:#f7dfe6;
  transform:rotate(-7deg);
  z-index:4;
}
.about-visual-img{
  width:100%;height:100%;object-fit:contain;object-position:center;
  display:block;padding:12%;
  filter:drop-shadow(0 6px 14px rgba(23,19,19,.08));
  transition:transform .35s ease;
}
.about-piece:hover .about-visual-img{transform:scale(1.04)}
.about-visual-img--photo{
  object-fit:cover;padding:0;filter:none;
}
.about-doodle{
  position:absolute;z-index:1;color:#d97996;opacity:.55;
  font-size:28px;line-height:1;pointer-events:none;user-select:none;
}
.about-doodle--star-a{left:2%;top:42%;font-size:34px;transform:rotate(-12deg)}
.about-doodle--heart-a{left:38%;top:2%;font-size:30px;color:#e9a0b3}
.about-doodle--paw-a{right:34%;top:36%;font-size:26px;opacity:.4;filter:grayscale(.4);transform:rotate(18deg)}
.about-doodle--squiggle-a{left:30%;bottom:18%;font-size:40px;transform:rotate(-8deg);opacity:.45}
.about-doodle--flower-a{right:3%;top:48%;font-size:32px;color:#c86f8b}
.about-doodle--spark-a{right:28%;bottom:28%;font-size:24px}
.about-doodle--star-b{left:55%;bottom:4%;font-size:22px;transform:rotate(10deg)}
.about-doodle--heart-b{right:42%;top:58%;font-size:20px;opacity:.5}
.about-doodle--paw-b{left:18%;top:2%;font-size:22px;opacity:.35;filter:grayscale(.5);transform:rotate(-20deg)}
.about-doodle--squiggle-b{right:18%;bottom:2%;font-size:36px;opacity:.4}
.about-pattern{
  position:absolute;z-index:0;pointer-events:none;opacity:.35;
}
.about-pattern--dots{
  left:62%;top:62%;width:110px;height:90px;
  background-image:radial-gradient(circle,#d9829b 1.4px,transparent 1.6px);
  background-size:16px 16px;
  transform:rotate(12deg);
}
.about-pattern--dashes{
  left:2%;bottom:28%;width:90px;height:70px;
  background-image:repeating-linear-gradient(-28deg,transparent,transparent 7px,#e9a0b3 7px,#e9a0b3 9px);
  opacity:.28;
}
.about-page .about-section{border-top:1px solid var(--line)}
.about-page .policy-section{padding-top:8px;padding-bottom:70px}
.photo-slot{
  position:relative;display:grid;place-items:center;text-align:center;
  border:1px dashed #c8aab1;background:#fff0e5;min-height:340px;padding:24px
}
.photo-slot-note{font-family:var(--display);font-weight:900;font-size:13px;letter-spacing:.06em;color:#6f5c61}
.photo-slot-sub{display:block;margin-top:10px;font-size:11px;line-height:1.7;color:#766b6a;max-width:16rem}
@media(max-width:900px){
  .about-collage{min-height:780px}
  .about-piece--hero{left:6%;top:4%;width:58%;height:260px}
  .about-piece--circle{left:auto;right:6%;top:8%;width:34%}
  .about-piece--arch{right:8%;top:34%;width:42%;height:220px}
  .about-piece--blob{left:8%;top:42%;width:48%;height:230px}
  .about-piece--wavy{left:10%;bottom:14%;width:52%;height:200px}
  .about-piece--tile{right:8%;bottom:6%;width:38%;height:180px}
}
@media(max-width:560px){
  .about-mission{padding:48px 22px}
  .about-visual{padding:22px 14px 36px}
  .about-collage{min-height:920px}
  .about-piece--hero{width:78%;height:230px;left:8%;top:2%}
  .about-piece--circle{width:42%;top:24%;right:6%}
  .about-piece--arch{width:58%;height:200px;top:36%;right:10%}
  .about-piece--blob{width:62%;height:210px;top:52%;left:6%}
  .about-piece--wavy{width:70%;height:180px;bottom:16%;left:8%}
  .about-piece--tile{width:48%;height:160px;bottom:2%;right:8%}
  .about-doodle{font-size:22px}
}

/* =========================================================
   Whimsical handmade design system (blush/cream/black)
   Additive layer — does not replace core layout rules.
   ========================================================= */
:root{
  --cream:#fffaf7;
  --cream-deep:#fff3f0;
  --ink-soft:#2a2224;
  --doodle:#d97996;
}
body{
  background:
    radial-gradient(circle at 12% 0%, rgba(247,223,230,.45), transparent 32%),
    radial-gradient(circle at 88% 8%, rgba(255,240,194,.28), transparent 28%),
    var(--cream);
  color:var(--ink-soft);
}
.announcement{
  background:linear-gradient(180deg,#fff,#fff7f9);
  border-bottom:1px solid #f0e2e6;
}
.site-header{
  background:rgba(255,250,247,.92);
  backdrop-filter:saturate(1.05) blur(4px);
}
.main-nav{
  background:#fffefc;
  border-color:#f0e2e6;
  position:relative;
}
.main-nav a{
  position:relative;
  padding:2px 0;
}
.main-nav a[aria-current="page"]::after,
.main-nav a:hover::after{
  content:"";
  position:absolute;left:10%;right:10%;bottom:-6px;height:6px;
  background:radial-gradient(circle at 4px 2px, var(--doodle) 2.2px, transparent 2.4px);
  background-size:10px 8px;opacity:.7;
}
.button{
  border-radius:999px;
  border:2px solid transparent;
  box-shadow:2px 3px 0 rgba(23,19,19,.06);
}
.button-black{
  border-radius:999px;
  border:2px solid var(--ink);
}
.button-black:hover{
  background:#c86f8b;
  border-color:#c86f8b;
}
.icon-action{
  border-radius:50%;
  border:1.5px solid #eadfe2;
  background:#fff;
}

/* Scalloped section edges */
.scallop-edge,
.hero-banner,
.about-mission,
.ticker,
.new-arrivals-image,
.shop-section,
.catalogue-main,
.contact-main{
  position:relative;
}
.hero-banner{margin-bottom:22px}
.about-mission{
  margin-bottom:22px;
  border-bottom:0 !important;
}
.hero-banner::after,
.about-mission::after,
.ticker::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:-16px;
  height:32px;
  z-index:3;
  pointer-events:none;
  background:
    radial-gradient(circle at 16px 0, currentColor 15px, transparent 16px);
  background-size:32px 32px;
  background-repeat:repeat-x;
  color:#f7dfe6;
}
.ticker{margin-bottom:16px;border-bottom:0 !important}
.ticker::after{color:var(--pink);bottom:-14px;height:28px;background-size:28px 28px}
.about-mission::after{color:#f3d5df}
.shop-section{
  background:
    radial-gradient(circle at 6% 10%, rgba(247,223,230,.35), transparent 24%),
    transparent;
}
.shop-section::before,
.catalogue-main::before,
.contact-main::before,
.new-section::before{
  content:"✦  ♡  🐾  ✧  ♡  ✦";
  display:block;
  text-align:center;
  letter-spacing:.55em;
  color:var(--doodle);
  opacity:.38;
  font-size:12px;
  margin:0 0 18px;
}

/* Product image frames — consistent rounded squares (Pass 2) */
.product-image,
.product-main-frame{
  border:1.5px solid rgba(92,64,51,.2) !important;
  box-shadow:0 10px 26px rgba(92,64,51,.09);
  background:#f3ebe1 !important;
}
.product-card:nth-child(4n+1) .product-image,
.product-card:nth-child(4n+2) .product-image,
.product-card:nth-child(4n+3) .product-image,
.product-card:nth-child(4n+4) .product-image,
.product-card:nth-child(n) .product-image{
  border-radius:24px !important;
}
.product-card .quick-add{
  border-radius:999px !important;
  left:10%;right:10%;bottom:10px;width:auto;
  border:2px solid var(--ink);
  box-shadow:2px 2px 0 rgba(23,19,19,.08);
}
.product-info h3{letter-spacing:-.03em}
.product-card{
  padding:4px;
}
.product-card::after,
.product-card:nth-child(even)::after{
  content:none!important;
  display:none!important;
}

/* Hero + new arrivals frames */
.hero-banner-photo{
  background:
    radial-gradient(circle at 86% 22%, rgba(255,255,255,.55), transparent 18%),
    linear-gradient(120deg,#f9e4ea 0%,#f7dfe6 48%,#fff0e5 100%) !important;
}
.hero-image-note,
.new-arrivals-photo-note{
  border:2px solid var(--ink) !important;
  border-radius:36px 48px 40px 44px / 40px 36px 48px 42px !important;
  background:rgba(255,255,255,.35) !important;
  box-shadow:4px 5px 0 rgba(217,121,150,.16);
}
.new-arrivals-image{
  background:
    radial-gradient(circle at 18% 20%, rgba(255,255,255,.5), transparent 22%),
    #f8e7eb !important;
}
.new-arrivals-image::after{
  content:"";
  position:absolute;inset:auto 8% 10% auto;
  width:88px;height:88px;border-radius:50%;
  border:2px dashed rgba(23,19,19,.2);
  pointer-events:none;
}

/* Product detail — rounded-square frames */
.product-main-frame{
  border-radius:24px !important;
  border:1.5px solid rgba(92,64,51,.22) !important;
  background:#f3ebe1 !important;
  box-shadow:0 10px 26px rgba(92,64,51,.09);
}
.product-main-frame img,
.product-main-frame .product-image-empty{
  background:#f3ebe1 !important;
}
.product-thumb{
  border-radius:16px !important;
  border:1.5px solid rgba(92,64,51,.22) !important;
}
.product-purchase{
  border:2px solid #eadfe2 !important;
  border-radius:28px !important;
  background:linear-gradient(180deg,#fff,#fff7f9) !important;
  box-shadow:3px 4px 0 rgba(247,223,230,.8);
}
.product-dispatch{
  border-radius:22px;
  border:1.5px dashed #e2c9d1;
  background:#fff8fa;
}

/* Catalogue / contact */
.catalogue-header h1,
.contact-header h1{
  position:relative;
  display:inline-block;
}
.catalogue-header h1::after,
.contact-header h1::after{
  content:"✦";
  color:var(--doodle);
  font-size:.45em;
  margin-left:.2em;
  vertical-align:super;
}
.contact-form{
  border:2px solid #eadfe2;
  border-radius:32px;
  padding:22px;
  background:linear-gradient(180deg,#fff,#fff8fa);
  box-shadow:4px 6px 0 rgba(247,223,230,.75);
}
.contact-field input,
.contact-field textarea{
  border:1.5px dashed #e2c9d1 !important;
  border-radius:18px !important;
  background:#fffefc !important;
}
.contact-field input:focus,
.contact-field textarea:focus{
  outline:none;
  border-style:solid !important;
  border-color:var(--rose) !important;
}

/* Cart styling only */
.cart-drawer{
  background:linear-gradient(180deg,#fffefc,#fff7f9) !important;
  border-left:2px solid #eadfe2;
}
.cart-heading h2{letter-spacing:-.03em}
.quantity-controls button{
  border-radius:50%;
  border:1.5px solid #eadfe2 !important;
}

/* About mission scallop already via ::after; soft paper notes */
.about-page .notes-section,
.about-page .policy-section{
  background:
    radial-gradient(circle at 90% 0%, rgba(255,240,194,.25), transparent 30%),
    #fffafa;
}
.about-page .policy-section details{
  border-radius:18px;
  border:1.5px dashed #eadfe2 !important;
  border-top:1.5px dashed #eadfe2 !important;
  padding:14px 16px;
  margin-bottom:12px;
  background:#fff;
}
.about-page .policy-section details + details{margin-top:0}
.maker-photo,
.photo-slot{
  border:1.5px solid rgba(92,64,51,.2) !important;
  border-radius:24px !important;
  box-shadow:0 10px 28px rgba(92,64,51,.1);
  background:#e8d4d7 !important;
  overflow:hidden;
  position:relative;
}
.maker-photo img[data-edit-type="image"]:not([hidden]){
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:1;
}

/* Shared whimsical divider */
.whimsy-divider{
  display:flex;align-items:center;justify-content:center;gap:18px;
  padding:10px 12px 4px;color:var(--doodle);opacity:.55;font-size:16px;
  letter-spacing:.2em;user-select:none;
}
.whimsy-divider::before,
.whimsy-divider::after{
  content:"";
  height:2px;width:min(120px,18vw);
  background:repeating-linear-gradient(90deg,var(--doodle) 0 6px, transparent 6px 12px);
  opacity:.45;
}

/* Footer paper feel */
.site-footer{
  background:
    radial-gradient(circle at 80% 20%, rgba(255,255,255,.45), transparent 30%),
    #fff0f3 !important;
  border-top:2px dashed #efd0da;
}
.footer-instagram{
  border:2px solid var(--ink);
  box-shadow:2px 2px 0 rgba(23,19,19,.08);
}

/* Keep collage readable on small screens; reduce extra chrome */
@media(max-width:800px){
  .product-card:nth-child(n) .product-image{border-radius:22px !important}
  .product-main-frame{border-radius:22px !important}
  .hero-image-note,.new-arrivals-photo-note{border-radius:22px !important}
  .product-card::after{display:none}
  .shop-section::before,.catalogue-main::before,.contact-main::before,.new-section::before{letter-spacing:.35em}
}
@media(prefers-reduced-motion:reduce){
  .product-card:hover .about-visual-img,
  .about-piece:hover .about-visual-img{transform:none}
}


/* =========================================================
   Cat logo (V25) — blink + face zoom
   - Blink: scaleY on .cat-eyes-wrap only
   - Zoom: scale on .cat-zoom-stage only (wordmark stays put)
   - Pupils / ears / whiskers: static
   ========================================================= */

.logo-wrap.cat-rig{
  position:relative!important;
  display:block!important;
  width:122px!important;
  height:101px!important;
  flex:0 0 122px!important;
  overflow:visible!important;
  animation:none!important;
  transform:none!important;
  opacity:1!important;
  will-change:auto;
  isolation:isolate;
}
.site-header{overflow:visible!important}
.brand{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  overflow:visible!important;
  text-align:center!important;
}
.brand .wordmark{
  position:relative!important;
  z-index:1!important;
  text-align:center!important;
  margin:0!important;
  transform:none!important;
  animation:none!important;
}

.logo-wrap.cat-rig .cat-zoom-stage{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  transform-origin:50% 72%!important;
  animation:catFaceZoomV25 6.8s ease-in-out infinite!important;
  will-change:transform;
}
@keyframes catFaceZoomV25{
  0%{transform:scale(1)}
  8%{transform:scale(.88)}
  22%{transform:scale(1.3)}
  34%{transform:scale(1.3)}
  48%{transform:scale(1)}
  100%{transform:scale(1)}
}

.logo-wrap.cat-rig .cat-rig-inner{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  animation:none!important;
  transform:none!important;
  will-change:auto;
}

.logo-wrap.cat-rig .cat-layer{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  display:block!important;
  pointer-events:none!important;
  filter:none!important;
}

/* Everything static — including pupils (no glance) */
.logo-wrap.cat-rig .cat-head-layer,
.logo-wrap.cat-rig .cat-ear-tips-left,
.logo-wrap.cat-rig .cat-ear-tips-right,
.logo-wrap.cat-rig .cat-eyes-layer,
.logo-wrap.cat-rig .cat-pupils-layer,
.logo-wrap.cat-rig .cat-nose-layer,
.logo-wrap.cat-rig .cat-cheeks-layer,
.logo-wrap.cat-rig .cat-whisker-left,
.logo-wrap.cat-rig .cat-whisker-right{
  animation:none!important;
  transform:none!important;
}

.logo-wrap.cat-rig .cat-head-layer{z-index:1!important}
.logo-wrap.cat-rig .cat-ear-tips-left,
.logo-wrap.cat-rig .cat-ear-tips-right{z-index:2!important}
.logo-wrap.cat-rig .cat-ear-tips-left{clip-path:inset(0 48% 0 0)}
.logo-wrap.cat-rig .cat-ear-tips-right{clip-path:inset(0 0 0 48%)}

.logo-wrap.cat-rig .cat-eyes-wrap{
  position:absolute!important;
  inset:0!important;
  z-index:3!important;
  display:block!important;
  transform-origin:50% 56%!important;
}
.logo-wrap.cat-rig .cat-eyes-wrap .cat-layer{
  position:absolute!important;
  inset:0!important;
}
.logo-wrap.cat-rig .cat-eyes-layer{z-index:1!important}
.logo-wrap.cat-rig .cat-pupils-layer{z-index:2!important}

.logo-wrap.cat-rig .cat-nose-layer,
.logo-wrap.cat-rig .cat-cheeks-layer{z-index:4!important}
.logo-wrap.cat-rig .cat-whisker-left,
.logo-wrap.cat-rig .cat-whisker-right{z-index:5!important}

/* Blink: close only the eye artwork (not head/ears/whiskers) */
.logo-wrap.cat-rig.cat-blinking .cat-eyes-wrap{
  animation:catBlinkOnceV24 .28s cubic-bezier(.4,0,.2,1) both!important;
}
.logo-wrap.cat-rig.cat-double-blink .cat-eyes-wrap{
  animation:catBlinkDoubleV24 .52s cubic-bezier(.4,0,.2,1) both!important;
}
@keyframes catBlinkOnceV24{
  0%{transform:scaleY(1)}
  40%{transform:scaleY(.08)}
  70%{transform:scaleY(.08)}
  100%{transform:scaleY(1)}
}
@keyframes catBlinkDoubleV24{
  0%{transform:scaleY(1)}
  18%{transform:scaleY(.08)}
  32%{transform:scaleY(1)}
  48%{transform:scaleY(1)}
  64%{transform:scaleY(.08)}
  78%{transform:scaleY(.08)}
  100%{transform:scaleY(1)}
}

@media(max-width:800px){
  .logo-wrap.cat-rig{
    width:86px!important;
    height:73px!important;
    flex:0 0 86px!important;
  }
  .site-header{min-height:148px!important}
  .brand{flex-direction:column!important;gap:6px!important}
}
@media(max-width:430px){
  .logo-wrap.cat-rig{
    width:62px!important;
    height:55px!important;
    flex:0 0 62px!important;
  }
  .site-header{min-height:132px!important}
  .brand{flex-direction:column!important;gap:5px!important}
}

@media(prefers-reduced-motion:reduce){
  .logo-wrap.cat-rig,
  .logo-wrap.cat-rig .cat-zoom-stage,
  .logo-wrap.cat-rig .cat-rig-inner,
  .logo-wrap.cat-rig .cat-layer,
  .logo-wrap.cat-rig .cat-eyes-wrap,
  .logo-wrap.cat-rig.cat-blinking .cat-eyes-wrap,
  .logo-wrap.cat-rig.cat-double-blink .cat-eyes-wrap{
    animation:none!important;
    transform:none!important;
  }
}

