:root{--pink:#ffdfeb;--pink-dark:#f67cac;--purple:#7047a5;--purple-deep:#4a2778;--yellow:#ffd95a;--cream:#fffaf1;--ink:#412b57;--white:#fff;--shadow:0 12px 28px rgba(85,47,111,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",sans-serif;line-height:1.6}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;z-index:5;background:white;padding:.6rem 1rem;border-radius:.5rem}.site-header{min-height:84px;padding:14px clamp(1.25rem,5vw,5rem);display:flex;align-items:center;justify-content:space-between;background:rgba(255,250,241,.92);backdrop-filter:blur(8px);position:sticky;top:0;z-index:4;border-bottom:1px solid rgba(112,71,165,.1)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--purple-deep);line-height:1}.brand-mark{width:62px;height:52px}.brand svg{width:100%;height:100%}.ear,.bunny{fill:var(--pink)}.ear{stroke:var(--purple-deep);stroke-width:3;stroke-linecap:round}.bunny{stroke:var(--purple-deep);stroke-width:3}.smile{fill:none;stroke:var(--purple-deep);stroke-width:2;stroke-linecap:round}.shelf{fill:var(--yellow);stroke:var(--purple-deep);stroke-width:2}.brand strong,h1,h2{font-family:Fredoka,sans-serif}.brand strong{display:block;font-size:1.28rem}.brand small{font-size:.72rem;font-weight:bold;color:var(--pink-dark)}nav{display:flex;gap:clamp(.8rem,2.5vw,2rem);align-items:center}nav a{color:var(--ink);text-decoration:none;font-weight:700}.nav-cta{background:var(--purple);color:white;padding:.55rem 1rem;border-radius:100px}.menu-button{display:none;border:0;background:var(--yellow);font-weight:bold;padding:.55rem .9rem;border-radius:8px}.hero{padding:clamp(3.5rem,8vw,7rem) clamp(1.25rem,8vw,9rem);display:grid;grid-template-columns:1.2fr .8fr;gap:3rem;align-items:center;overflow:hidden;background:linear-gradient(120deg,var(--pink) 0%,#f8d9ff 55%,#fff4bd 100%)}.eyebrow{font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--pink-dark);font-size:.78rem;margin:0 0 .45rem}h1{font-size:clamp(2.6rem,5.5vw,5.3rem);line-height:.98;letter-spacing:-.045em;margin:0 0 1.2rem;color:var(--purple-deep)}h1 span{display:block;color:var(--pink-dark)}.hero-text{font-size:1.12rem;max-width:600px;margin-bottom:1.8rem}.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem}.button{display:inline-block;text-decoration:none;padding:.78rem 1.25rem;border-radius:100px;font-weight:700;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.primary{background:var(--purple);color:white}.secondary{background:white;color:var(--purple-deep);border:2px solid var(--purple)}.hero-art{height:340px;position:relative}.rainbow{width:230px;height:115px;border:24px solid var(--purple);border-bottom:0;border-radius:230px 230px 0 0;position:absolute;right:15%;top:10%;box-shadow:0 -24px 0 #f680b5,0 -48px 0 var(--yellow)}.cloud{width:115px;height:34px;background:white;border-radius:50px;position:absolute}.cloud:before,.cloud:after{content:"";position:absolute;background:white;border-radius:50%}.cloud:before{width:48px;height:48px;left:20px;bottom:14px}.cloud:after{width:62px;height:62px;right:14px;bottom:10px}.c1{left:5%;top:44%}.c2{right:0;top:62%;transform:scale(.68)}.art-shelf{position:absolute;bottom:12%;right:8%;width:300px;height:88px;background:#c38a5c;border-radius:8px 8px 0 0;border-bottom:12px solid #8e5a35;display:flex;align-items:end;justify-content:space-around;padding:0 22px;font-size:5rem;filter:drop-shadow(0 10px 8px rgba(65,43,87,.13))}.art-shelf span:nth-child(2){font-size:3.8rem}.art-shelf span:nth-child(3){font-size:3rem}.star{position:absolute;color:var(--yellow);font-size:2.2rem}.s1{top:15%;left:10%}.s2{bottom:20%;left:30%;color:var(--pink-dark)}.yarn-ball{position:absolute;right:5%;top:4%;font-size:3rem}.section{padding:clamp(3.8rem,7vw,6rem) clamp(1.25rem,8vw,9rem)}.section-heading{text-align:center;max-width:650px;margin:0 auto 2rem}.section-heading h2,.about h2,.contact h2{font-size:clamp(2rem,3.5vw,3.3rem);line-height:1.05;margin:.1rem 0 .8rem;color:var(--purple-deep)}.filters{display:flex;justify-content:center;flex-wrap:wrap;gap:.6rem;margin-bottom:2rem}.filter{cursor:pointer;border:2px solid var(--purple);border-radius:100px;background:transparent;color:var(--purple-deep);padding:.48rem .85rem;font-family:inherit;font-weight:700}.filter.active,.filter:hover{background:var(--purple);color:white}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem;max-width:1250px;margin:auto}.product{background:white;border-radius:18px;overflow:hidden;box-shadow:0 5px 15px rgba(85,47,111,.08);transition:transform .2s}.product:hover{transform:translateY(-5px)}.product-image{height:160px;display:grid;place-items:center;font-size:5rem;background:var(--pink)}.product:nth-child(2n) .product-image{background:#efe0ff}.product:nth-child(3n) .product-image{background:#fff0a8}.product-details{padding:1rem}.product-type{color:var(--pink-dark);font-size:.75rem;font-weight:bold;text-transform:uppercase;letter-spacing:.08em}.product h3{margin:.2rem 0;font-size:1.1rem}.price{font-weight:700;color:var(--purple-deep);margin:0}.inquire{border:0;background:none;padding:0;margin-top:.6rem;color:var(--purple);cursor:pointer;font:inherit;font-weight:bold;text-decoration:underline}.shop-note{text-align:center;margin:2rem auto 0;max-width:630px;background:#fff4b6;padding:1rem 1.5rem;border-radius:12px}.about{background:#f0e0ff;display:grid;grid-template-columns:.6fr 1fr;gap:clamp(2rem,6vw,6rem);align-items:center}.portrait{min-height:280px;border-radius:50% 50% 43% 43%;background:linear-gradient(145deg,#ffe36f,#f893be);display:flex;align-items:center;justify-content:center;gap:.6rem;font-size:4rem;box-shadow:inset 0 -18px rgba(255,255,255,.28)}.portrait span:nth-child(2){font-size:3rem;align-self:flex-end;margin-bottom:4rem}.portrait span:nth-child(3){font-size:3rem;align-self:flex-start;margin-top:4rem}.text-link{color:var(--purple);font-weight:bold}.notes{background:var(--cream)}.note-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;max-width:1100px;margin:auto}.note{background:white;padding:1.4rem;border-radius:16px;border-top:7px solid var(--yellow);box-shadow:0 5px 15px rgba(85,47,111,.07)}.note:nth-child(2){border-color:var(--pink-dark)}.note:nth-child(3){border-color:var(--purple)}.note time{color:var(--pink-dark);font-size:.8rem;font-weight:700}.note h3{margin:.3rem 0}.note p{margin:0}.contact{background:var(--purple-deep);color:#fff;display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:center}.contact h2{color:white}.contact .eyebrow{color:var(--yellow)}.contact-actions{text-align:center}.contact .secondary{border-color:white}.tiny{font-size:.78rem;max-width:250px;opacity:.8;margin:1rem auto 0}.tiny code{color:#fff4b6}footer{background:#34204c;color:white;padding:1.4rem clamp(1.25rem,8vw,9rem);display:flex;justify-content:space-between;gap:1rem;font-size:.88rem}@media(max-width:800px){.menu-button{display:block}nav{display:none;position:absolute;top:83px;left:0;right:0;background:var(--cream);padding:1rem 1.25rem;flex-direction:column;align-items:stretch;gap:1rem;border-bottom:1px solid #ddd}nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-art{height:250px}.product-grid{grid-template-columns:repeat(2,1fr)}.about{grid-template-columns:1fr}.portrait{min-height:190px;max-width:310px;margin:auto;width:100%}.note-grid{grid-template-columns:1fr}.contact{grid-template-columns:1fr;text-align:center}footer{flex-direction:column;text-align:center}}@media(max-width:440px){.product-grid{grid-template-columns:1fr}.art-shelf{right:0;transform:scale(.8);transform-origin:bottom right}.rainbow{right:5%;transform:scale(.8);transform-origin:top right}}
