.language-toggle{display:flex;align-items:center;border:1px solid currentColor;border-radius:4px;overflow:hidden;flex:0 0 auto}.language-toggle button{min-width:34px;height:30px;padding:0 8px;border:0;background:transparent;color:inherit;font:700 11px/1 DM Sans,sans-serif;cursor:pointer}.language-toggle button.active{background:var(--ink);color:var(--paper-light)}:root{--ink:#30352f;--paper:#f4eee2;--paper-light:#fbf7ef;--coral:#c76058;--red:#a94742;--mustard:#d5a93e;--sage:#778f79;--blue:#7799a5;--line:#cbbda8;--display:"Gaegu",cursive;--sans:"DM Sans",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);overflow-x:hidden}.grain{position:fixed;inset:0;pointer-events:none;z-index:20;opacity:.18;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E")}.site-header{height:78px;padding:0 clamp(24px,5vw,76px);display:flex;align-items:center;justify-content:space-between;position:absolute;width:100%;z-index:10}.brand{display:flex;align-items:center;gap:10px;font-family:var(--display);font-size:22px;font-weight:700;color:var(--ink);text-decoration:none}.brand-mark{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--coral);color:#fff;border:2px dashed rgba(255,255,255,.7);box-shadow:0 0 0 2px var(--coral)}nav{display:flex;gap:34px}nav a,.text-link,.socials a,footer a{color:inherit;text-decoration:none;font-size:13px;font-weight:700}nav a:hover,.text-link:hover{text-decoration:underline;text-decoration-style:wavy;text-underline-offset:5px}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:15px 23px;border:0;background:var(--ink);color:#fff;text-decoration:none;font:700 13px var(--sans);cursor:pointer;box-shadow:4px 4px 0 var(--mustard);transition:transform .2s,box-shadow .2s}.button:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--mustard)}.button-small{padding:10px 18px;box-shadow:3px 3px 0 var(--mustard)}.section{position:relative;min-height:100vh;padding:110px clamp(24px,7vw,110px)}.eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:2.4px;font-weight:700;color:var(--red)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--display);letter-spacing:0;line-height:.88}h1{font-size:clamp(64px,8.2vw,126px);max-width:740px;margin:18px 0 30px}h2{font-size:clamp(50px,6vw,88px);margin:15px 0 24px}h1 em,h2 em{color:var(--coral);font-weight:400}p{line-height:1.75}.hero{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;padding-top:105px;background:linear-gradient(105deg,#f7f1e6 0 58%,#dfe7df 58%);overflow:hidden}.hero:before{content:"";position:absolute;width:420px;height:220px;left:-80px;bottom:-85px;background:#d7a73c;transform:rotate(9deg);clip-path:polygon(0 18%,100% 0,93% 100%,5% 88%);opacity:.35}.hero-intro{font-size:17px;max-width:510px}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:35px}.text-link span{color:var(--coral);margin-left:7px}.hero-scene{position:relative;width:min(42vw,570px);height:min(42vw,570px);margin:auto;background:#e5d6be;border-radius:50%;box-shadow:inset 0 0 0 2px #d5c3aa}.hoop{position:absolute;width:66%;height:66%;border-radius:50%;left:15%;top:13%;background:#bc823f;box-shadow:inset 0 0 0 10px #d6a45e,0 10px 20px #70542d33;display:grid;place-items:center;transform:rotate(-7deg)}.hoop:before{content:"";position:absolute;top:-35px;width:52px;height:44px;border:8px solid #9a6b35;border-bottom:0}.hoop-art{width:88%;height:88%;border-radius:50%;background:#f0e5d5;position:relative;display:grid;place-items:center;border:1px solid #c7b59b}.hoop-art:before{content:"";position:absolute;inset:0;border-radius:50%;background:repeating-linear-gradient(0deg,transparent 0 7px,#b8a98d28 7px 8px)}.hoop-art p{z-index:1;text-align:center;font:700 clamp(30px,4vw,58px)/.8 var(--display);transform:rotate(5deg)}.flower{position:absolute;color:var(--coral);font-size:30px}.flower-one{top:19%;left:22%}.flower-two{right:19%;bottom:28%;color:var(--mustard)}.flower-three{left:27%;bottom:17%;font-size:18px;color:var(--sage)}.spool{position:absolute;width:77px;height:72px;border-top:13px solid #806b50;border-bottom:13px solid #806b50;box-shadow:4px 5px 8px #4b382833}.spool:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 5px,#ffffff55 5px 7px)}.spool-coral{right:0;bottom:18%;background:var(--coral);transform:rotate(14deg)}.spool-mustard{left:1%;top:15%;background:var(--mustard);transform:rotate(-17deg) scale(.78)}.pin-cushion{position:absolute;right:7%;top:9%;width:80px;height:50px;border-radius:50% 50% 30% 30%;background:#9eaaa0;transform:rotate(10deg);box-shadow:inset 0 -8px #7b8c80}.pin-cushion span{position:absolute;width:2px;height:50px;bottom:35px;background:#777}.pin-cushion span:after{content:"";position:absolute;width:8px;height:8px;border-radius:50%;background:var(--coral);left:-3px}.pin-cushion span:nth-child(1){left:20px;transform:rotate(-15deg)}.pin-cushion span:nth-child(2){left:43px}.pin-cushion span:nth-child(3){left:62px;transform:rotate(18deg)}.loose-thread{position:absolute;width:140px;height:80px;border:3px solid var(--coral);border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;right:-40px;bottom:6%;transform:rotate(22deg)}.scene-note{position:absolute;bottom:-8px;left:5%;font:700 20px/1.1 var(--display);transform:rotate(-6deg)}.scroll-cue{position:absolute;left:50%;bottom:20px;font:700 13px var(--display);display:flex;align-items:center;gap:10px;transform:translate(-50%) rotate(-3deg)}.scroll-cue span{width:48px;height:2px;background:var(--coral);display:block}.thread-story{position:absolute;top:90vh;left:0;width:100%;height:540vh;z-index:4;pointer-events:none}.thread-story svg{position:absolute;width:100%;height:100%;overflow:visible}.thread-shadow,.thread-line{fill:none;vector-effect:non-scaling-stroke}.thread-shadow{stroke:#fff8;stroke-width:8}.thread-line{stroke:var(--coral);stroke-width:3;stroke-dasharray:7 7;stroke-linecap:round}.needle{position:absolute;width:64px;height:18px;z-index:5;filter:drop-shadow(2px 3px 2px #3334);transform-origin:center}.needle span{display:block;width:64px;height:5px;background:linear-gradient(#fff,#888);clip-path:polygon(0 42%,87% 0,100% 50%,87% 100%,0 58%);transform:rotate(10deg)}.needle span:after{content:"";position:absolute;width:8px;height:2px;border:1px solid #555;border-radius:50%;left:4px;top:1px}.creations{background:var(--paper-light);padding-top:150px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:70px}.section-heading>p{width:340px;margin-bottom:25px}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,4vw,60px)}.product-card-lower{margin-top:70px}.product-image{position:relative;width:100%;aspect-ratio:.78;border:0;padding:0;background:#ddd;cursor:pointer;box-shadow:8px 10px #d8cdbb;transform:rotate(-1.5deg);overflow:visible}.product-card:nth-child(2) .product-image{transform:rotate(1.8deg)}.product-card:nth-child(3) .product-image{transform:rotate(-.5deg)}.product-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.7) sepia(.1);display:block}.product-image:after{content:"";position:absolute;inset:10px;border:2px dashed #fff9;pointer-events:none}.pin{position:absolute;width:9px;height:9px;border-radius:50%;background:var(--red);top:-8px;z-index:2;box-shadow:0 4px #777}.pin-left{left:18%}.pin-right{right:18%;background:var(--mustard)}.view-label{position:absolute;inset:auto 20px 20px;background:var(--paper-light);padding:11px;font:700 15px var(--display);transform:translateY(15px);opacity:0;transition:.25s}.product-image:hover .view-label{transform:none;opacity:1}.product-info{display:flex;justify-content:space-between;gap:15px;margin-top:23px}.product-info h3{font:700 24px var(--display);margin-bottom:2px}.product-info p{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#696b65}.product-info strong{color:var(--red)}.custom{background:#ced9cf;overflow:hidden;padding-top:130px}.pattern-grid{position:absolute;inset:0;opacity:.23;background-image:linear-gradient(#66806d 1px,transparent 1px),linear-gradient(90deg,#66806d 1px,transparent 1px);background-size:34px 34px}.custom-intro{position:relative;max-width:700px;margin:0 auto 60px;text-align:center}.custom-intro>p:last-child{max-width:570px;margin:auto}.custom-workbench{position:relative;max-width:1050px;margin:auto;background:var(--paper-light);display:grid;grid-template-columns:1.05fr .95fr;box-shadow:12px 15px #708577;padding:52px}.custom-controls{padding-right:48px;border-right:2px dashed var(--line)}fieldset{border:0;margin:0 0 30px;padding:0}legend{font:700 21px var(--display);margin-bottom:14px}legend span{color:var(--coral);font:700 12px var(--sans);margin-right:9px}.choice-row{display:flex;gap:9px;flex-wrap:wrap}.choice{border:1px solid var(--line);background:#f7f1e7;padding:11px 15px;font:600 12px var(--sans);cursor:pointer;min-width:88px}.choice span{font-size:16px;margin-right:7px}.choice.active{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:3px 3px 0 var(--mustard)}.swatch-row{display:flex;gap:14px}.swatch{width:34px;height:34px;border-radius:50%;border:4px solid var(--paper-light);outline:1px solid var(--line);background:var(--swatch);cursor:pointer}.swatch.active{outline:3px dashed var(--ink);outline-offset:3px}.submit-button{margin-top:3px;width:100%}.creation-preview{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:440px}.preview-label{position:absolute;top:-12px;right:-22px;background:var(--mustard);padding:8px 13px;font:700 16px var(--display);transform:rotate(5deg)}.doll{position:relative;width:220px;height:300px;z-index:2;filter:drop-shadow(5px 7px 2px #554b3b22);animation:float 4s ease-in-out infinite}.doll-head{position:absolute;width:132px;height:118px;border-radius:48% 48% 45% 45%;background:var(--doll-color);left:44px;top:54px;border:2px dashed #fff9;z-index:2}.doll-ear{position:absolute;background:var(--doll-color);width:45px;height:105px;border-radius:55% 55% 30% 30%;top:0;border:2px dashed #fff9}.ear-left{left:47px;transform:rotate(-10deg)}.ear-right{right:47px;transform:rotate(10deg)}.doll-head i{position:absolute}.eye{width:7px;height:9px;background:var(--ink);border-radius:50%;top:50px}.eye.left{left:38px}.eye.right{right:38px}.nose{width:12px;height:9px;background:#edb7a4;border-radius:50%;left:59px;top:69px}.doll-body{position:absolute;width:150px;height:145px;border-radius:47% 47% 37% 37%;background:var(--doll-color);left:35px;top:152px;border:2px dashed #fff9}.doll-arm{position:absolute;width:42px;height:120px;border-radius:50%;background:var(--doll-color);top:163px}.arm-left{left:17px;transform:rotate(18deg)}.arm-right{right:17px;transform:rotate(-18deg)}.doll-detail{position:absolute;font:700 55px var(--display);color:var(--mustard);left:49px;top:2px}.doll.bear .doll-ear{width:55px;height:55px;border-radius:50%;top:34px}.doll.bear .ear-left{left:30px}.doll.bear .ear-right{right:30px}.doll.kitty .doll-ear{width:58px;height:65px;top:29px;border-radius:8px;clip-path:polygon(50% 0,100% 100%,0 100%)}.doll.kitty .ear-left{left:31px}.doll.kitty .ear-right{right:31px}.stitch-ring{position:absolute;width:310px;height:310px;border:2px dashed var(--coral);border-radius:50%;animation:spin 24s linear infinite}.creation-preview p{font:700 22px var(--display);margin:15px 0 0;z-index:2}.about{background:#eadfcd;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10vw}.about-photo{position:relative;max-width:520px}.photo-frame{background:#fff;padding:16px 16px 65px;box-shadow:10px 13px #c8b89f;transform:rotate(-3deg);position:relative}.photo-frame img{width:100%;aspect-ratio:.95;object-fit:cover;filter:saturate(.65) sepia(.12);display:block}.tape{position:absolute;width:100px;height:28px;background:#d4a943bb;top:-15px}.tape-one{left:30%;transform:rotate(3deg)}.tape-two{display:none}.scribble{position:absolute;right:-35px;bottom:15px;font:700 24px var(--display);transform:rotate(9deg)}.about-copy{max-width:600px}.about-copy .lead{font:700 24px/1.3 var(--display)}.signature{font:700 23px var(--display);color:var(--red);margin-top:30px;transform:rotate(-2deg)}.contact{min-height:70vh;background:var(--coral);color:#fff;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.contact .eyebrow{color:#ffe2c2}.contact h2{max-width:900px}.contact h2 em{color:#f7c44f}.contact>p:not(.eyebrow){font-size:17px}.button-light{background:var(--paper-light);color:var(--ink);margin:20px 0 45px}.socials{display:flex;gap:18px;align-items:center}.contact-stitches{position:absolute;width:80vw;height:80vw;border:3px dashed #fff5;border-radius:50%;pointer-events:none}.contact-stitches:after{content:"";position:absolute;inset:10%;border:2px dashed #fff3;border-radius:50%}footer{height:95px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,7vw,110px);font-size:12px}footer span{font:700 20px var(--display)}footer p{margin:0}.product-dialog{width:min(880px,90vw);padding:0;border:0;background:var(--paper-light);color:var(--ink);box-shadow:0 30px 80px #0007;grid-template-columns:1fr 1fr}.product-dialog[open]{display:grid}.product-dialog::backdrop{background:#273028aa;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.product-dialog>img{width:100%;height:100%;min-height:540px;object-fit:cover}.dialog-copy{padding:70px 45px;display:flex;flex-direction:column;justify-content:center}.dialog-copy h2{font-size:58px}.dialog-copy>div{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:25px}.dialog-copy strong{font-size:20px;color:var(--red)}.dialog-close{position:absolute;right:15px;top:12px;background:none;border:0;font-size:32px;cursor:pointer}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,100px);padding:15px 22px;background:var(--ink);color:#fff;z-index:30;font-size:13px;transition:.35s;box-shadow:5px 5px 0 var(--mustard)}.toast.show{transform:translate(-50%)}.reveal{opacity:0;transform:translateY(35px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}@keyframes float{50%{transform:translateY(-8px) rotate(1deg)}}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:800px){.site-header{height:70px;padding:0 20px}.site-header nav{display:none}.brand{font-size:18px}.section{padding:95px 22px;min-height:auto}.hero{min-height:100svh;grid-template-columns:1fr;padding-top:100px;padding-bottom:70px;background:linear-gradient(170deg,#f7f1e6 0 62%,#dfe7df 62%)}h1{font-size:61px}.hero-copy{z-index:2}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px}.hero-scene{width:88vw;height:88vw;margin-top:58px}.scroll-cue,.thread-story{display:none}.section-heading{display:block;margin-bottom:45px}.section-heading>p{width:auto}.product-grid{grid-template-columns:1fr;gap:65px}.product-card-lower{margin-top:0}.product-card{max-width:480px;margin-left:auto;margin-right:auto}.custom-workbench{grid-template-columns:1fr;padding:30px 22px}.custom-controls{padding:0 0 40px;border-right:0;border-bottom:2px dashed var(--line)}.creation-preview{min-height:430px;padding-top:40px}.about{grid-template-columns:1fr;gap:75px}.about-photo{width:90%}.about-copy h2{font-size:63px}.contact{min-height:75vh}.contact-stitches{width:150vw;height:150vw}footer{height:auto;padding:30px 22px;gap:15px;flex-direction:column}.product-dialog[open]{display:block}.product-dialog>img{height:280px;min-height:0}.dialog-copy{padding:35px 25px}.dialog-copy h2{font-size:46px}.dialog-copy>div{align-items:flex-start;flex-direction:column}.dialog-close{color:#fff;text-shadow:0 1px 4px #000}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.doll,.stitch-ring{animation:none}}.empty-products{padding:80px 20px;text-align:center;border:2px dashed var(--line);font:700 25px var(--display)}.thread-story{top:0;height:100%;z-index:3}.thread-story svg{width:100%;height:100%}.thread-line{stroke-width:3;stroke-dasharray:none}.thread-shadow{stroke-width:7}.needle{opacity:0;transition:opacity .2s}.needle.is-visible{opacity:1}.needle span{height:4px;background:linear-gradient(180deg,#fff 0,#9d9d9d 45%,#555 55%,#ddd)}.doll.tote .doll-ear,.doll.tote .doll-head,.doll.tote .doll-arm,.doll.pouch .doll-ear,.doll.pouch .doll-head,.doll.pouch .doll-arm{display:none}.doll.tote .doll-body{width:180px;height:180px;left:20px;top:92px;border-radius:8px 8px 24px 24px}.doll.tote .doll-body:before{content:"";position:absolute;width:100px;height:80px;border:18px solid var(--doll-color);border-bottom:0;border-radius:60px 60px 0 0;left:22px;top:-72px}.doll.pouch .doll-body{width:190px;height:150px;left:15px;top:105px;border-radius:14px 14px 28px 28px;border-top:8px solid #565b54}.doll.tote .doll-detail,.doll.pouch .doll-detail{left:62px;top:38px}.contact-actions{display:flex;gap:18px;margin:20px 0 45px}.contact-actions .button{margin:0}.button-outline{background:transparent;color:#fff;border:1px solid #fff;box-shadow:4px 4px 0 var(--mustard)}@media(max-width:800px){.contact-actions{flex-direction:column;width:100%;max-width:320px}.contact-actions .button{width:100%}}.request-tabs{position:relative;display:flex;justify-content:center;gap:8px;margin:-25px auto 28px}.request-tab{border:1px solid #819184;background:#e8eee8;padding:11px 18px;font:700 13px var(--sans);cursor:pointer}.request-tab span{color:var(--red);margin-right:7px}.request-tab.active{background:var(--ink);color:#fff;box-shadow:3px 3px 0 var(--mustard)}.choice-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.choice-grid.techniques{grid-template-columns:repeat(3,1fr)}.choice-grid .choice{min-width:0;padding:10px 7px}.design-row{display:grid;grid-template-columns:.8fr 1.2fr;gap:20px}.request-details[hidden],.request-panel[hidden]{display:none}.request-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.request-fields label{display:flex;flex-direction:column;gap:7px}.request-fields label>span,.reference-block strong{font:700 17px var(--display)}.request-fields input,.request-fields textarea,.link-entry input{width:100%;border:1px solid var(--line);border-radius:0;background:#fffdf8;padding:11px 13px;color:var(--ink);outline:none}.request-fields textarea{resize:vertical;min-height:120px}.request-fields .field-wide{grid-column:1/-1}.reference-block{margin-top:25px;padding-top:22px;border-top:2px dashed var(--line)}.reference-block>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:15px}.reference-block p{font-size:10px;margin:0}.link-entry{display:flex;margin-top:10px}.link-entry button{border:0;background:var(--ink);color:#fff;padding:0 15px;font-size:11px;font-weight:700;cursor:pointer}.link-previews,.file-previews{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}.link-card{position:relative;display:block;padding:12px 34px 12px 12px;background:#e9dfd0;color:inherit;text-decoration:none;font-size:11px;overflow:hidden}.link-card strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.remove-reference{position:absolute!important;right:5px;top:5px;width:24px;height:24px;border:0;background:transparent;cursor:pointer}.reference-upload{margin-top:18px;min-height:90px;border:2px dashed var(--line);display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;position:relative}.reference-upload input{position:absolute;inset:0;opacity:0;cursor:pointer}.reference-upload>span{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:#fff}.reference-upload strong{font:700 17px var(--display)}.reference-upload small{font-size:9px;text-transform:uppercase}.file-preview{position:relative;height:82px;background:#ddd}.file-preview img{width:100%;height:100%;object-fit:cover}.request-status{min-height:20px;margin:14px 0 0;font-size:11px;font-weight:700;color:var(--red);text-align:center}.request-summary{margin-top:20px;padding:12px 16px;border:1px dashed var(--line);text-align:center;z-index:2;max-width:310px}.request-summary span{font-size:9px;text-transform:uppercase;letter-spacing:1.4px;color:var(--red)}.request-summary p{font:700 15px/1.3 var(--display);margin:4px 0 0}.doll.tablecloth .doll-ear,.doll.tablecloth .doll-head,.doll.tablecloth .doll-arm,.doll.runner .doll-ear,.doll.runner .doll-head,.doll.runner .doll-arm,.doll.blanket .doll-ear,.doll.blanket .doll-head,.doll.blanket .doll-arm,.doll.cushion .doll-ear,.doll.cushion .doll-head,.doll.cushion .doll-arm,.doll.napkins .doll-ear,.doll.napkins .doll-head,.doll.napkins .doll-arm{display:none}.doll.tablecloth .doll-body{width:210px;height:170px;left:5px;top:70px;border-radius:2px;clip-path:polygon(8% 0,92% 0,100% 100%,0 100%)}.doll.runner .doll-body{width:100px;height:245px;left:60px;top:25px;border-radius:3px}.doll.blanket .doll-body{width:190px;height:230px;left:15px;top:35px;border-radius:8px;background:repeating-linear-gradient(135deg,var(--doll-color) 0 18px,#ffffff35 18px 22px)}.doll.cushion .doll-body{width:180px;height:180px;left:20px;top:65px;border-radius:28px}.doll.napkins .doll-body{width:145px;height:145px;left:30px;top:72px;border-radius:3px;box-shadow:12px 12px color-mix(in srgb,var(--doll-color),white 18%),24px 24px color-mix(in srgb,var(--doll-color),white 35%)}.doll.tablecloth .doll-detail,.doll.runner .doll-detail,.doll.blanket .doll-detail,.doll.cushion .doll-detail,.doll.napkins .doll-detail{left:50%;top:50%;transform:translate(-50%,-50%)}@media(max-width:800px){.request-tabs{margin-top:0}.request-tab{flex:1;padding:10px 8px}.choice-grid,.choice-grid.techniques{grid-template-columns:repeat(2,1fr)}.design-row,.request-fields{grid-template-columns:1fr}.request-fields .field-wide{grid-column:auto}.reference-block>div:first-child{display:block}.link-previews,.file-previews{grid-template-columns:1fr}.reference-upload{flex-wrap:wrap;padding:18px;text-align:center}.creation-preview{min-height:500px}}.menu-button,.mobile-nav{display:none}.turnstile-container{min-height:65px;margin:22px 0 4px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--coral);outline-offset:3px}.request-fields input:focus,.request-fields textarea:focus,.link-entry input:focus{border-color:var(--coral)}@media(max-width:800px){.site-header>.button{display:none}.menu-button{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--ink);background:var(--paper-light);color:var(--ink);font-size:23px;line-height:1;cursor:pointer}.mobile-nav{position:fixed;z-index:19;inset:70px 0 auto;display:grid;padding:10px 22px 22px;background:var(--paper-light);border-bottom:2px dashed var(--line);box-shadow:0 10px 20px #30352f20}.mobile-nav[hidden]{display:none}.mobile-nav a{padding:14px 4px;border-bottom:1px solid var(--line);font-size:15px;text-decoration:none;color:var(--ink)}.mobile-nav a:last-child{border-bottom:0}}.hero-scene{isolation:isolate;transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}.hero-scene.visible .hoop{animation:hoop-place .9s cubic-bezier(.2,.9,.25,1.25) both}.hero-scene.visible .hoop-art p{animation:stitch-title .7s .48s cubic-bezier(.2,.9,.3,1.2) both}.hero-scene.visible .flower{animation:flower-stitch .55s cubic-bezier(.2,1.4,.45,1) both}.hero-scene.visible .flower-one{animation-delay:.62s}.hero-scene.visible .flower-two{animation-delay:.76s}.hero-scene.visible .flower-three{animation-delay:.9s}.hero-scene.visible .spool-coral{animation:spool-coral-in 1s .18s cubic-bezier(.16,.9,.28,1.15) both,spool-coral-rest 3.8s 1.3s ease-in-out infinite}.hero-scene.visible .spool-mustard{animation:spool-mustard-in .95s .3s cubic-bezier(.16,.9,.28,1.15) both,spool-mustard-rest 4.4s 1.4s ease-in-out infinite}.hero-scene.visible .pin-cushion{animation:cushion-drop .75s .52s cubic-bezier(.2,1.25,.4,1) both}.hero-scene.visible .pin-cushion span{transform-origin:bottom;animation:pin-stitch .42s cubic-bezier(.2,1.5,.4,1) both}.hero-scene.visible .pin-cushion span:nth-child(1){animation-delay:.96s}.hero-scene.visible .pin-cushion span:nth-child(2){animation-delay:1.08s}.hero-scene.visible .pin-cushion span:nth-child(3){animation-delay:1.2s}.hero-scene.visible .loose-thread{animation:thread-unfurl 1.15s .72s cubic-bezier(.2,.8,.2,1) both,thread-breathe 3.4s 2s ease-in-out infinite}.wool-ball{position:absolute;border-radius:50%;z-index:3;box-shadow:inset -8px -9px #30352f17,3px 6px 9px #4b38282b;background-color:var(--wool);background-image:repeating-radial-gradient(ellipse at 26% 22%,transparent 0 5px,#fff5 6px 7px,transparent 8px 12px);cursor:default}.wool-ball:before,.wool-ball:after,.wool-ball span:before{content:"";position:absolute;border:2px solid #fff7;border-left-color:transparent;border-right-color:transparent;border-radius:50%;inset:12% 7%;transform:rotate(24deg)}.wool-ball:after{inset:24% 4%;transform:rotate(-32deg)}.wool-ball span:before{inset:35% 8%;transform:rotate(72deg)}.wool-ball span:after{content:"";position:absolute;width:74px;height:34px;border:3px solid var(--wool);border-left-color:transparent;border-top-color:transparent;border-radius:0 0 60% 60%;left:60%;top:65%;transform:rotate(13deg);transform-origin:left top}.wool-ball-sage{--wool:#738e79;width:66px;height:66px;right:14%;bottom:2%}.wool-ball-coral{--wool:#c76058;width:48px;height:48px;left:2%;bottom:27%}.hero-scene.visible .wool-ball-sage{animation:wool-sage-in 1.05s .36s cubic-bezier(.16,.9,.25,1.2) both,wool-sage-rest 4.2s 1.5s ease-in-out infinite}.hero-scene.visible .wool-ball-coral{animation:wool-coral-in .9s .55s cubic-bezier(.16,.9,.25,1.2) both,wool-coral-rest 3.6s 1.5s ease-in-out infinite}.hero-scene:hover .wool-ball-sage span:after{animation:yarn-tug .75s ease-in-out}.hero-scene:hover .loose-thread{border-color:var(--mustard);border-left-color:transparent;border-bottom-color:transparent}@keyframes hoop-place{0%{opacity:0;transform:translateY(-34px) rotate(-18deg) scale(.72)}65%{opacity:1;transform:translateY(5px) rotate(-4deg) scale(1.03)}to{opacity:1;transform:rotate(-7deg) scale(1)}}@keyframes stitch-title{0%{opacity:0;clip-path:inset(0 100% 0 0);transform:rotate(5deg) translate(-8px)}to{opacity:1;clip-path:inset(0);transform:rotate(5deg)}}@keyframes flower-stitch{0%{opacity:0;transform:scale(0) rotate(-35deg)}70%{transform:scale(1.28) rotate(8deg)}to{opacity:1;transform:scale(1)}}@keyframes spool-coral-in{0%{opacity:0;transform:translate(95px,28px) rotate(160deg)}to{opacity:1;transform:rotate(14deg)}}@keyframes spool-coral-rest{50%{transform:translateY(-4px) rotate(18deg)}}@keyframes spool-mustard-in{0%{opacity:0;transform:translate(-85px,-20px) rotate(-170deg) scale(.62)}to{opacity:1;transform:rotate(-17deg) scale(.78)}}@keyframes spool-mustard-rest{50%{transform:translateY(4px) rotate(-12deg) scale(.78)}}@keyframes cushion-drop{0%{opacity:0;transform:translateY(-55px) rotate(-8deg) scale(.8)}70%{transform:translateY(4px) rotate(13deg) scale(1.04)}to{opacity:1;transform:rotate(10deg)}}@keyframes pin-stitch{0%{opacity:0;scale:.5;translate:0 -22px}to{opacity:1;scale:1;translate:0 0}}@keyframes thread-unfurl{0%{opacity:0;clip-path:inset(0 100% 0 0);transform:rotate(22deg) scale(.7)}to{opacity:1;clip-path:inset(-20%);transform:rotate(22deg) scale(1)}}@keyframes thread-breathe{50%{transform:rotate(19deg) scale(1.04,.94)}}@keyframes wool-sage-in{0%{opacity:0;transform:translate(90px,45px) rotate(220deg) scale(.55)}to{opacity:1;transform:rotate(0) scale(1)}}@keyframes wool-sage-rest{50%{transform:translateY(-6px) rotate(8deg)}}@keyframes wool-coral-in{0%{opacity:0;transform:translate(-70px,24px) rotate(-180deg) scale(.5)}to{opacity:1;transform:rotate(0) scale(1)}}@keyframes wool-coral-rest{50%{transform:translateY(5px) rotate(-10deg)}}@keyframes yarn-tug{50%{transform:rotate(7deg) scaleX(1.18)}}@media(max-width:800px){.wool-ball-sage{width:58px;height:58px;right:11%;bottom:1%}.wool-ball-coral{width:43px;height:43px;left:0;bottom:24%}}@media(prefers-reduced-motion:reduce){.hero-scene.visible .hoop,.hero-scene.visible .hoop-art p,.hero-scene.visible .flower,.hero-scene.visible .spool,.hero-scene.visible .pin-cushion,.hero-scene.visible .pin-cushion span,.hero-scene.visible .loose-thread,.hero-scene.visible .wool-ball,.hero-scene:hover .wool-ball-sage span:after{animation:none}.hero-scene .hoop,.hero-scene .hoop-art p,.hero-scene .flower,.hero-scene .spool,.hero-scene .pin-cushion,.hero-scene .pin-cushion span,.hero-scene .loose-thread,.hero-scene .wool-ball{opacity:1}}.creations .section-heading .eyebrow{position:relative;display:inline-block}.creations .section-heading .eyebrow:after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2px;background:repeating-linear-gradient(90deg,var(--coral) 0 7px,transparent 7px 11px);transform:scaleX(0);transform-origin:left}.creations .section-heading.visible .eyebrow:after{animation:worktable-thread .8s .2s ease-out both}.creations .section-heading.visible h2 em{display:inline-block;animation:lovingly-stitch .75s .32s cubic-bezier(.2,.9,.3,1.15) both}.product-grid{align-items:start;grid-auto-flow:row;grid-auto-rows:auto}.product-card{--card-tilt:-1.5deg;min-width:0}.product-card:nth-child(3n+2){--card-tilt:1.8deg}.product-card:nth-child(3n){--card-tilt:-.5deg}.product-card .product-image{transform:rotate(var(--card-tilt))}.product-card.visible .product-image{animation:keepsake-pin-in .8s cubic-bezier(.2,.85,.25,1.18) both}.product-card.visible:nth-child(3n+2) .product-image{animation-delay:.12s}.product-card.visible:nth-child(3n) .product-image{animation-delay:.24s}.product-card.visible .pin{animation:pin-pop .38s .55s cubic-bezier(.2,1.6,.45,1) both}.product-card.visible .pin-right{animation-delay:.68s}@keyframes worktable-thread{to{transform:scaleX(1)}}@keyframes lovingly-stitch{0%{opacity:0;clip-path:inset(0 100% 0 0);transform:translate(-10px)}to{opacity:1;clip-path:inset(0);transform:none}}@keyframes keepsake-pin-in{0%{opacity:0;transform:translateY(45px) rotate(calc(var(--card-tilt) - 5deg)) scale(.92)}65%{opacity:1;transform:translateY(-5px) rotate(calc(var(--card-tilt) + 1deg)) scale(1.01)}to{opacity:1;transform:rotate(var(--card-tilt)) scale(1)}}@keyframes pin-pop{0%{opacity:0;transform:translateY(-18px) scale(.5)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.creations .section-heading.visible .eyebrow:after,.creations .section-heading.visible h2 em,.product-card.visible .product-image,.product-card.visible .pin{animation:none}.creations .section-heading .eyebrow:after{transform:scaleX(1)}}.product-image:before{content:"";position:absolute;z-index:2;inset:-35%;pointer-events:none;opacity:0;background:repeating-linear-gradient(90deg,transparent 0 9px,#fff8 10px 11px,transparent 12px 18px),repeating-linear-gradient(0deg,transparent 0 7px,#f7d6caaa 8px 9px,transparent 10px 16px);mix-blend-mode:screen;transform:translate(-55%) rotate(10deg)}.product-image img{transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .45s ease}.product-info{transition:transform .35s ease}@media(hover:hover)and (pointer:fine){.product-card.visible:hover .product-image,.product-card.visible:focus-within .product-image{animation:woven-keepsake-lift .55s cubic-bezier(.2,.9,.25,1.18) forwards;box-shadow:8px 13px #30352f16}.product-card:hover .product-image:before,.product-card:focus-within .product-image:before{animation:weave-across .9s cubic-bezier(.2,.7,.25,1) both}.product-card:hover .product-image:after,.product-card:focus-within .product-image:after{animation:stitch-round .7s steps(5,end) infinite}.product-card:hover .product-image img,.product-card:focus-within .product-image img{transform:scale(1.045);filter:saturate(.95) sepia(.04)}.product-card:hover .pin,.product-card:focus-within .pin{animation:pin-wiggle .48s cubic-bezier(.2,1.5,.45,1) both}.product-card:hover .pin-right,.product-card:focus-within .pin-right{animation-delay:.07s}.product-card:hover .product-info,.product-card:focus-within .product-info{transform:translateY(-3px)}}@keyframes woven-keepsake-lift{0%{transform:rotate(var(--card-tilt)) translateY(0)}55%{transform:rotate(calc(var(--card-tilt) * -.35)) translateY(-10px) scale(1.012)}to{transform:rotate(0) translateY(-7px) scale(1.008)}}@keyframes weave-across{0%{opacity:0;transform:translate(-55%) rotate(10deg)}30%{opacity:.7}70%{opacity:.45}to{opacity:0;transform:translate(55%) rotate(10deg)}}@keyframes stitch-round{50%{border-color:#fff;transform:scale(.985)}}@keyframes pin-wiggle{0%{transform:none}45%{transform:translateY(-7px) rotate(9deg)}to{transform:translateY(0) rotate(-2deg)}}@media(prefers-reduced-motion:reduce){.product-image img,.product-info{transition:none}.product-card.visible:hover .product-image,.product-card.visible:focus-within .product-image,.product-card:hover .product-image:before,.product-card:focus-within .product-image:before,.product-card:hover .product-image:after,.product-card:focus-within .product-image:after,.product-card:hover .pin,.product-card:focus-within .pin{animation:none}.product-card:hover .product-image:before,.product-card:focus-within .product-image:before{opacity:0}}.catalog-label{width:max-content;max-width:100%;margin:-34px 0 42px;padding:8px 12px;border:1px dashed var(--coral);background:#fffaf1;color:var(--red);font:700 11px var(--sans);text-transform:uppercase;letter-spacing:1px}.choice{position:relative;isolation:isolate}.choice:after{content:"";position:absolute;z-index:1;inset:3px;border:1px dashed transparent;pointer-events:none}.choice.active:after{border-color:var(--mustard);animation:choice-stitch-in .42s steps(6,end) both}.swatch.active{animation:swatch-thread-in .42s cubic-bezier(.2,.9,.3,1.2)}.contact .contact-stitches{clip-path:inset(0 100% 0 0)}.contact.visible .contact-stitches{animation:contact-seam-in 1.2s .12s steps(12,end) both}@keyframes choice-stitch-in{0%{clip-path:inset(0 100% 100% 0)}to{clip-path:inset(0)}}@keyframes swatch-thread-in{50%{transform:scale(1.16)}to{transform:scale(1)}}@keyframes contact-seam-in{to{clip-path:inset(0)}}@media(max-width:420px){.site-header{padding:0 12px;gap:8px}.site-header .brand{font-size:16px}.site-header .brand-mark{width:36px;height:36px}.site-header .language-toggle button{min-width:29px;padding:0 6px}}@media(prefers-reduced-motion:reduce){.button{transition:none}.choice.active:after,.swatch.active,.contact.visible .contact-stitches{animation:none}.contact .contact-stitches{clip-path:inset(0)}}
