/* Sampler layer (Stitchmark) — stitched seasons: autumn · winter · spring · summer. Everything decorative is thread and fabric:
   a running stitch under the header, a stitched frame, embroidery hoops, woven labels, a needle cursor that sews. */
:root{--sm-thread:var(--tm-sec);--sm-fabric:#f4ece0;--sm-deep:#2b2723;--sm-ink:var(--tm-ink);--sm-wood:#b8895a;--sm-wood2:#8d6a44}
html.sm-autumn{--sm-thread:#b5651d;--sm-fabric:#f4ece0;--sm-deep:#3b2614}
html.sm-winter{--sm-thread:#3e6b8a;--sm-fabric:#eef1f3;--sm-deep:#1d2d3a}
html.sm-spring{--sm-thread:#c9748c;--sm-fabric:#f7eef0;--sm-deep:#3d222b}
html.sm-summer{--sm-thread:#d9a441;--sm-fabric:#f7f1e2;--sm-deep:#3a2c12}
html.sm-mood-autumn{--sm-thread:#b5651d;--sm-fabric:#f4ece0;--sm-deep:#3b2614}
html.sm-mood-winter{--sm-thread:#3e6b8a;--sm-fabric:#eef1f3;--sm-deep:#1d2d3a}
html.sm-mood-spring{--sm-thread:#c9748c;--sm-fabric:#f7eef0;--sm-deep:#3d222b}
html.sm-mood-summer{--sm-thread:#d9a441;--sm-fabric:#f7f1e2;--sm-deep:#3a2c12}
html.sm-mood-pets{--sm-thread:#c9713f;--sm-fabric:#f6ede4;--sm-deep:#3a2416}
html.sm-mood-brand{--sm-thread:#a8794a;--sm-fabric:#f4ece0;--sm-deep:#2b2723}
html[class*="sm-"] .tm-btn{background:var(--sm-thread)}
html[class*="sm-"] .tm-seg-ind,html[class*="sm-"] .tm-hs-bar i,html[class*="sm-"] .tm-prog{background:var(--sm-thread)}
html[class*="sm-"] .tm-by2,html[class*="sm-"] .tm-hs-no,html[class*="sm-"] .tm-jr-no{color:var(--sm-thread);-webkit-text-stroke-color:var(--sm-thread)}
.sm-ico{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:3 2;flex:0 0 auto}
.sm-fabric{background-color:var(--sm-fabric);background-image:repeating-linear-gradient(0deg,rgba(0,0,0,.028) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgba(0,0,0,.028) 0 1px,transparent 1px 3px)}
/* ---------- site-wide: strip · running stitch · stitched frame · drifting motifs ---------- */
.sm-strip{position:relative;z-index:1021;background:var(--sm-deep);color:#fff;text-align:center;font:500 11px/1 var(--tm-disp);letter-spacing:.2em;text-transform:uppercase;padding:9px 12px;display:flex;justify-content:center;gap:12px;align-items:center;flex-wrap:wrap;border-bottom:2px dashed rgba(255,255,255,.35)}
.sm-strip b{color:var(--sm-thread);font-weight:600;filter:brightness(1.35)}.sm-strip a{color:#fff!important;text-decoration:underline!important;text-underline-offset:3px}
.sm-strip .sm-ico{color:var(--sm-thread);filter:brightness(1.35)}
.sm-stitch{position:sticky;top:0;z-index:1019;height:0;overflow:visible;pointer-events:none}
.sm-stitch svg{position:absolute;left:0;top:0;width:100%;height:34px;overflow:visible}
.sm-stitch .st{fill:none;stroke:var(--sm-thread);stroke-width:2.2;stroke-linecap:round;stroke-dasharray:8 6}
.sm-stitch .rv{fill:none;stroke:#fff;stroke-width:8}
.sm-stitch .needle{fill:none;stroke:#5a4a3a;stroke-width:2.2;stroke-linecap:round}
.sm-stitch .needle .e{fill:#fff;stroke-width:1.2}
html.sm-inner .sm-stitch svg{height:26px}
html.sm-inner.sm-stitched main.lencam-platform-body{padding-top:26px}
.sm-frame{position:fixed;inset:12px;z-index:1015;pointer-events:none}
.sm-frame svg{width:100%;height:100%;display:block;overflow:visible}
.sm-frame rect{fill:none;stroke:var(--sm-thread);stroke-width:2;stroke-dasharray:8 6;opacity:.55}
.sm-frame text{font:500 9px var(--tm-disp);letter-spacing:.3em;fill:rgba(var(--tm-ink-rgb),.55);text-transform:uppercase}
@media (max-width:1100px){.sm-frame{display:none}}
.sm-canvas{position:fixed;inset:0;z-index:1018;pointer-events:none}
html.tm-calm .sm-canvas,html.tm-calm .sm-frame{display:none}
/* product cards: a running stitch sews under the title on hover */
html[class*="sm-"] .product-card h3{position:relative}
html[class*="sm-"] .product-card h3:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:0;border-bottom:2px dashed var(--sm-thread);transform:scaleX(0);transform-origin:0 50%;transition:transform .5s cubic-bezier(.2,.8,.2,1);pointer-events:none}
html[class*="sm-"] .product-card:hover h3:after{transform:scaleX(1)}
/* ---------- the needle cursor ---------- */
html.sm-cur,html.sm-cur body,html.sm-cur a,html.sm-cur button,html.sm-cur [role=button],html.sm-cur label,html.sm-cur summary,html.sm-cur .tm-stage,html.sm-cur .tm-sc,html.sm-cur .product-card,html.sm-cur .sm-hoop{cursor:none!important}
html.sm-cur :where(input,textarea,select,[contenteditable="true"]){cursor:auto!important}
html.sm-cur .tm-cur,html.sm-cur .tm-trail{display:none!important}
.sm-ink{position:fixed;inset:0;z-index:99988;pointer-events:none}
.sm-curw{position:fixed;left:0;top:0;z-index:99990;pointer-events:none;opacity:0;transition:opacity .25s}
.sm-curw.on{opacity:1}.sm-curw.hide{opacity:0}
.sm-curw .sm-cur-ic{position:absolute;left:-20px;top:-20px;width:40px;height:40px;display:block;transform-origin:50% 50%}
.sm-curw .sm-cur-ic svg{width:100%;height:100%;overflow:visible;display:block;filter:drop-shadow(1px 2px 2px rgba(0,0,0,.25))}
.sm-curw .ring{fill:none;stroke:#8d6a44;stroke-width:3}
.sm-curw .ring2{fill:none;stroke:#e9d3ad;stroke-width:1.6}
.sm-curw .th{fill:none;stroke:var(--sm-thread);stroke-width:3.2;stroke-linecap:round}
.sm-curw .dot{fill:var(--sm-thread)}
.sm-cur-lab{position:absolute;left:26px;top:-6px;white-space:nowrap;font:600 10px/1 var(--tm-disp);letter-spacing:.2em;text-transform:uppercase;color:var(--sm-ink);background:var(--sm-fabric);border:1px dashed rgba(var(--tm-ink-rgb),.5);padding:5px 8px;opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s}
.sm-curw.lift.lab .sm-cur-lab{opacity:1;transform:none}
/* ---------- homepage: the hoop hero ---------- */
.sm-hero{position:relative;color:var(--sm-ink);overflow:hidden;min-height:min(86vh,800px);display:flex;align-items:center}
.sm-hero-in{position:relative;z-index:2;width:min(1180px,92vw);margin:0 auto;padding:clamp(70px,9vh,110px) 8px clamp(90px,10vw,130px);display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,5vw,72px);align-items:center}
.sm-kicker{display:inline-flex;align-items:center;gap:12px;font:500 11px/1 var(--tm-disp);letter-spacing:.26em;text-transform:uppercase;color:var(--sm-thread);margin:0 0 18px}
.sm-kicker:before{content:"";width:34px;border-top:2px dashed var(--sm-thread)}
.sm-h1{font-size:clamp(40px,6.2vw,92px);line-height:.98;margin:0 0 6px;color:var(--sm-ink);font-family:var(--tm-disp);font-weight:400;letter-spacing:-.01em;max-width:12ch}
.sm-h1 .tm-ch{display:inline-block}
.sm-under{display:block;width:min(420px,70%);height:14px;margin:0 0 18px}
.sm-under path{fill:none;stroke:var(--sm-thread);stroke-width:2.4;stroke-linecap:round;stroke-dasharray:9 6}
.sm-under .rv{stroke:#fff;stroke-width:8;stroke-dasharray:none}
.sm-sub{font-size:clamp(16px,1.35vw,19px);line-height:1.55;max-width:46ch;opacity:.85;margin:0 0 26px}
.sm-cta{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;margin-bottom:30px}
.sm-hero .tm-ghost,.sm-season .tm-ghost,.sm-pets .tm-ghost{color:var(--sm-ink)!important}
.sm-threads{display:flex;align-items:center;gap:14px;font:500 10px/1.6 var(--tm-disp);letter-spacing:.2em;text-transform:uppercase;opacity:.8}
.sm-spools{display:flex;gap:8px}
.sm-spool{width:22px;height:30px;border-radius:4px;background:linear-gradient(90deg,rgba(0,0,0,.18),rgba(255,255,255,.25) 40%,rgba(0,0,0,.2));position:relative;border-top:4px solid #c9a074;border-bottom:4px solid #c9a074;box-shadow:0 3px 6px -3px rgba(0,0,0,.5)}
.sm-hoop{position:relative;aspect-ratio:1;border-radius:50%;padding:12px;background:linear-gradient(135deg,#d2ab7e,#8d6a44);box-shadow:0 30px 50px -30px rgba(0,0,0,.6),inset 0 0 0 3px rgba(255,255,255,.25);will-change:transform}
.sm-hoop:after{content:"";position:absolute;top:-10px;left:50%;width:26px;height:20px;margin-left:-13px;background:linear-gradient(#a37b52,#6d5034);border-radius:5px;box-shadow:0 3px 5px -2px rgba(0,0,0,.5)}
.sm-hoop-in{position:relative;border-radius:50%;overflow:hidden;background:var(--sm-fabric);box-shadow:inset 0 0 0 7px #e9d3ad;aspect-ratio:1}
.sm-hoop-in video,.sm-hoop-in img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sm-hoop-in .sh{position:absolute;inset:0;box-shadow:inset 0 0 60px rgba(0,0,0,.25);border-radius:50%}
.sm-hero .sm-hoop{width:min(440px,80%);margin:0 auto;transform:rotate(-4deg)}
.sm-needle{position:absolute;right:-6%;top:6%;width:clamp(70px,8vw,110px);transform-origin:50% 0;will-change:transform}
.sm-needle svg{width:100%;height:auto;overflow:visible}
.sm-needle .nd{fill:none;stroke:#4a3d31;stroke-width:2.6;stroke-linecap:round}.sm-needle .eye{fill:#fff;stroke:#4a3d31;stroke-width:1.4}.sm-needle .th{fill:none;stroke:var(--sm-thread);stroke-width:2.2;stroke-linecap:round;stroke-dasharray:none}
.sm-cap{margin-top:16px;text-align:center;font:500 10px/1.5 var(--tm-disp);letter-spacing:.22em;text-transform:uppercase;opacity:.75}
.sm-cap i{font-style:normal;color:var(--sm-thread)}
.sm-switch{position:absolute;z-index:4;right:clamp(14px,3vw,40px);bottom:clamp(18px,3vw,36px);display:flex;gap:8px}
.sm-switch button{border:1px dashed rgba(var(--tm-ink-rgb),.5);background:#fff;color:var(--sm-ink);font:500 10px/1 var(--tm-disp);letter-spacing:.18em;text-transform:uppercase;padding:9px 12px 9px 10px;cursor:pointer;opacity:.7;display:inline-flex;align-items:center;gap:8px;position:relative;transition:opacity .25s,background .25s,transform .25s}
.sm-switch button i{width:10px;height:10px;border-radius:50%;background:var(--c,var(--sm-thread));box-shadow:0 0 0 2px #fff,0 0 0 3px var(--c,var(--sm-thread))}
.sm-switch button:before{content:"";position:absolute;left:-1px;top:50%;width:8px;height:8px;margin-top:-4px;background:#fff;border:1px dashed rgba(var(--tm-ink-rgb),.5);border-radius:50%}
.sm-switch button.on{opacity:1;background:var(--sm-ink);color:#fff;border-style:solid}.sm-switch button:hover{opacity:1;transform:translateY(-2px)}
/* ---------- seasonal feed ---------- */
.sm-feed{position:relative}
/* ---------- the sampler: six hoops on a fabric board ---------- */
.sm-sampler{position:relative;padding:clamp(40px,6vw,90px) 0;overflow:hidden}
.sm-sampler-in{position:relative;width:min(1180px,92vw);margin:0 auto}
.sm-shead{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:clamp(22px,3vw,40px)}
.sm-shead h2{font-size:clamp(30px,4.2vw,60px);line-height:1;margin:0}
.sm-board{position:relative;padding:clamp(22px,3vw,40px);border:2px dashed var(--sm-thread);display:grid;grid-template-columns:repeat(7,1fr);gap:clamp(12px,1.8vw,26px)}
.sm-board:before{content:"";position:absolute;inset:8px;border:1px dashed rgba(var(--tm-ink-rgb),.3);pointer-events:none}
.sm-hcard{text-decoration:none!important;color:var(--sm-ink)!important;text-align:center;display:block;will-change:transform}
.sm-hcard .sm-hoop{padding:8px;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.sm-hcard:hover .sm-hoop{transform:rotate(-5deg) scale(1.05)}
.sm-hcard .sm-hoop-in{box-shadow:inset 0 0 0 5px #e9d3ad}
.sm-hcard b{display:block;margin:14px 0 4px;font:400 clamp(14px,1.2vw,18px)/1.15 var(--tm-disp)}
.sm-hcard small{display:block;font:500 9px/1.4 var(--tm-disp);letter-spacing:.2em;text-transform:uppercase;opacity:.65}
.sm-hcard .n{display:inline-block;margin-top:6px;font:600 9px/1 var(--tm-disp);letter-spacing:.14em;background:var(--sm-thread);color:#fff;padding:5px 8px}
/* ---------- stitch notes: four woven labels on a thread ---------- */
.sm-notes{position:relative;padding:clamp(40px,6vw,90px) 0;overflow:hidden}
.sm-notes-in{width:min(1180px,92vw);margin:0 auto}
.sm-nhead{text-align:center;margin-bottom:clamp(26px,4vw,50px)}
.sm-nhead h2{font-size:clamp(30px,4.2vw,60px);line-height:1;margin:0 0 10px}.sm-nhead p{opacity:.75;margin:0}
.sm-thread-line{height:20px;margin:0 -2%;position:relative}
.sm-thread-line svg{width:100%;height:100%;overflow:visible}.sm-thread-line path{fill:none;stroke:var(--sm-thread);stroke-width:2;stroke-linecap:round}
.sm-ngrid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,2vw,26px);margin-top:-6px}
.sm-label{position:relative;background:#fff;border:1px solid rgba(var(--tm-ink-rgb),.25);padding:30px 22px 24px;box-shadow:0 26px 40px -34px rgba(var(--tm-ink-rgb),.6);will-change:transform;transform-origin:50% -20px}
.sm-label:before{content:"";position:absolute;left:10px;top:10px;right:10px;bottom:10px;border:1px dashed var(--sm-thread);pointer-events:none;opacity:.7}
.sm-label .pin{position:absolute;left:50%;top:-9px;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--sm-thread);box-shadow:0 0 0 2px #fff,0 2px 4px rgba(0,0,0,.35)}
.sm-label .no{position:absolute;left:22px;top:16px;font:500 9px/1 var(--tm-disp);letter-spacing:.3em;text-transform:uppercase;opacity:.5}
.sm-label .sm-ico{width:54px;height:54px;stroke-width:1.3;color:var(--sm-thread);display:block;margin:10px 0 16px;stroke-dasharray:none}
.sm-label b{display:block;font:400 clamp(16px,1.4vw,20px)/1.2 var(--tm-disp);margin-bottom:8px}
.sm-label p{margin:0;font-size:14px;line-height:1.5;opacity:.8}
@media (max-width:1100px){.sm-board{grid-template-columns:repeat(4,1fr)}}
@media (max-width:900px){.sm-ngrid{grid-template-columns:1fr 1fr}.sm-board{grid-template-columns:repeat(3,1fr)}.sm-hero-in{grid-template-columns:1fr;padding-bottom:120px}.sm-hero .sm-hoop{width:min(360px,78%)}.sm-switch{right:50%;transform:translateX(50%);bottom:16px;flex-wrap:wrap;justify-content:center}.sm-h1{max-width:none}}
@media (max-width:520px){.sm-ngrid{grid-template-columns:1fr}.sm-board{grid-template-columns:repeat(2,1fr)}.sm-strip{font-size:10px;letter-spacing:.12em}.sm-switch button{padding:8px 9px;letter-spacing:.1em}}
/* ---------- About: scroll story (thread on fabric) ---------- */
.page-editorial:has(.tm-story) header,.page-editorial:has(.tm-story) figure,.page-editorial:has(.tm-story) .text-center.mt-5{display:none}
.page-editorial:has(.tm-story) .container{padding-top:0!important;padding-bottom:0!important;max-width:none}
.page-editorial:has(.tm-story) .row>div{flex:0 0 100%;max-width:100%}
.page-editorial:has(.tm-story) .page-content{margin:0!important}
.tm-story{overflow:clip}
.tm-story .ch{position:relative;left:50%;width:100vw;margin-left:-50vw;padding:clamp(60px,9vw,130px) 0}
.tm-story .in{width:min(1100px,90vw);margin:0 auto}
.tm-story .k{font:500 12px/1 var(--tm-disp);letter-spacing:.26em;text-transform:uppercase;color:var(--sm-thread);margin:0 0 14px;display:flex;align-items:center;gap:12px}
.tm-story .k:before{content:"";width:30px;border-top:2px dashed var(--sm-thread)}
.tm-story h2{font-size:clamp(34px,5.4vw,80px);line-height:.98;margin:0 0 18px;font-family:var(--tm-disp);font-weight:400}
.tm-story p.lead{font-size:clamp(17px,1.6vw,22px);line-height:1.55;max-width:56ch;margin:0}
.tm-story .num{position:absolute;left:4vw;top:clamp(20px,3vw,40px);font:400 clamp(50px,9vw,150px)/1 var(--tm-disp);color:transparent;-webkit-text-stroke:1.2px rgba(var(--tm-ink-rgb),.18);pointer-events:none}
.sm-s-hero{min-height:88vh;display:flex;align-items:center;color:var(--sm-ink)}
.sm-s-hero .in{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,5vw,72px);align-items:center}
.sm-s-hero h1{font-size:clamp(46px,8vw,120px);line-height:.92;margin:0 0 18px;font-family:var(--tm-disp);font-weight:400;color:var(--sm-ink);max-width:10ch}
.sm-s-hero .sm-hoop{width:min(420px,86%);margin:0 auto;transform:rotate(4deg)}
.sm-s-hero .cue{position:absolute;z-index:2;right:6vw;bottom:36px;font:500 10px/1 var(--tm-disp);letter-spacing:.3em;text-transform:uppercase;writing-mode:vertical-rl;opacity:.7}
.sm-sew{margin-top:34px}.sm-sew svg{width:100%;height:auto;overflow:visible;display:block}
.sm-sew .ghost{fill:none;stroke:rgba(var(--tm-ink-rgb),.15);stroke-width:1.5;stroke-dasharray:3 6}
.sm-sew .st{fill:none;stroke:var(--sm-thread);stroke-width:3;stroke-linecap:round;stroke-dasharray:14 9}
.sm-sew .rv{fill:none;stroke:#fff;stroke-width:10}
.sm-sew .needle .nd{fill:none;stroke:#4a3d31;stroke-width:3;stroke-linecap:round}.sm-sew .needle .eye{fill:#fff;stroke:#4a3d31;stroke-width:1.5}
.sm-three{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,26px);margin-top:34px;perspective:900px}
.sm-three .sm-label{padding-top:34px}
.sm-hoops{position:relative;min-height:clamp(320px,52vh,600px);margin-top:20px}
.sm-spec{position:absolute;width:clamp(96px,11vw,170px);text-decoration:none!important;color:var(--sm-ink)!important;will-change:transform;text-align:center}
.sm-spec .sm-hoop{padding:7px}.sm-spec .sm-hoop-in{box-shadow:inset 0 0 0 4px #e9d3ad}
.sm-spec small{display:block;font:500 9px/1.3 var(--tm-disp);letter-spacing:.14em;text-transform:uppercase;margin-top:10px;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sm-field{position:relative;margin:clamp(40px,6vw,80px) auto 0;max-width:900px;background:#fff;padding:12px 12px 14px;border:1px solid rgba(var(--tm-ink-rgb),.25);box-shadow:0 40px 60px -44px rgba(var(--tm-ink-rgb),.7);transform:rotate(1deg)}
.sm-field:before{content:"";position:absolute;inset:6px;border:1px dashed var(--sm-thread);pointer-events:none;opacity:.7}
.sm-field .fr{aspect-ratio:16/9;overflow:hidden;background:var(--sm-deep);position:relative}
.sm-field video,.sm-field img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sm-field .cap{display:flex;justify-content:space-between;gap:10px;margin-top:12px;font:500 10px/1.4 var(--tm-disp);letter-spacing:.2em;text-transform:uppercase;opacity:.75}
.sm-field .cap i{font-style:normal;color:var(--sm-thread)}
.sm-tl{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,70px);align-items:start;margin-top:30px}
.sm-steps{position:relative;padding-left:64px}
.sm-steps svg.tm-draw{position:absolute;left:24px;top:0;width:2px;height:100%;inset:auto}
.sm-step{position:relative;margin:0 0 clamp(26px,4vw,44px)}
.sm-step .ic{position:absolute;left:-64px;top:0;width:48px;height:48px;border-radius:50%;background:#fff;border:1px dashed rgba(var(--tm-ink-rgb),.5);display:grid;place-items:center}
.sm-step .ic .sm-ico{width:24px;height:24px;stroke-width:1.4;stroke-dasharray:none;color:var(--sm-thread)}
.sm-step b{display:block;font:400 clamp(18px,1.7vw,24px)/1.2 var(--tm-disp);margin-bottom:6px}
.sm-step p{margin:0;opacity:.8}
.sm-craft{position:sticky;top:110px}
.sm-craft .sm-hoop{width:min(420px,100%);margin:0 auto}
.sm-craft .cap{margin-top:14px;text-align:center;font:500 10px/1.4 var(--tm-disp);letter-spacing:.2em;text-transform:uppercase;opacity:.75}
.sm-map{position:relative;margin-top:32px;aspect-ratio:2/1;border:2px dashed var(--sm-thread);overflow:hidden;background:repeating-linear-gradient(0deg,rgba(var(--tm-ink-rgb),.06) 0 1px,transparent 1px 28px),repeating-linear-gradient(90deg,rgba(var(--tm-ink-rgb),.06) 0 1px,transparent 1px 28px),#fff}
.sm-map svg.tm-draw path{stroke:var(--sm-thread);stroke-width:2.5;stroke-dasharray:10 7!important}
.sm-pin{position:absolute;transform:translate(-50%,-100%);text-align:center;will-change:transform}
.sm-pin i{display:block;width:16px;height:16px;margin:0 auto;border-radius:50%;background:var(--sm-thread);box-shadow:0 0 0 3px #fff,0 0 0 4px var(--sm-thread)}
.sm-pin b{display:block;margin-top:10px;font:400 13px/1.2 var(--tm-disp);background:#fff;border:1px dashed rgba(var(--tm-ink-rgb),.5);padding:6px 12px;white-space:nowrap}
.sm-pin small{display:block;font-size:11px;opacity:.7;margin-top:4px}
.sm-labels{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.sm-lbl{font:500 12px/1.3 var(--tm-disp);letter-spacing:.14em;text-transform:uppercase;color:var(--sm-ink);border:1px solid rgba(var(--tm-ink-rgb),.35);background:#fff;padding:12px 16px;position:relative;box-shadow:0 10px 20px -16px rgba(var(--tm-ink-rgb),.6)}
.sm-lbl:before{content:"";position:absolute;left:5px;top:5px;right:5px;bottom:5px;border:1px dashed var(--sm-thread);pointer-events:none;opacity:.8}
.sm-season{display:grid;grid-template-columns:1fr auto;gap:clamp(20px,4vw,60px);align-items:center;background:#fff;border:2px dashed var(--sm-thread);padding:clamp(24px,4vw,56px);margin-top:26px}
.sm-season h3{font:400 clamp(26px,3.2vw,46px)/1.05 var(--tm-disp);margin:0 0 12px}
.sm-season .sm-hoop{width:clamp(160px,18vw,240px)}
.sm-acc details{border:1px dashed rgba(var(--tm-ink-rgb),.35);padding:14px 18px;margin:0 0 10px;background:#fff}
.sm-acc summary{font-weight:600;cursor:pointer}
@media (max-width:820px){.sm-tl,.sm-season,.sm-s-hero .in{grid-template-columns:1fr}.sm-craft{position:relative;top:0}.sm-three{grid-template-columns:1fr}.sm-hoops{min-height:280px}.sm-spec{width:80px}.tm-story .num{display:none}.sm-s-hero h1{max-width:none}}
/* story typography (beats the theme's .ql-editor rules) */
.page-editorial .ql-editor .tm-story h2{font-size:clamp(34px,5.4vw,80px)!important;line-height:.98!important;margin:0 0 18px!important;font-family:var(--tm-disp)!important;font-weight:400!important;color:var(--sm-ink)!important}
.page-editorial .ql-editor .tm-story .sm-s-hero h1{font-size:clamp(46px,8vw,120px)!important;line-height:.92!important;color:var(--sm-ink)!important;font-family:var(--tm-disp)!important;font-weight:400!important;margin:0 0 18px!important}
.page-editorial .ql-editor .tm-story p.lead{font-size:clamp(17px,1.6vw,22px)!important;line-height:1.55!important;max-width:56ch;margin:0!important}
.page-editorial .ql-editor .tm-story .k{font:500 12px/1 var(--tm-disp)!important;letter-spacing:.26em!important;text-transform:uppercase!important;margin:0 0 14px!important}
.page-editorial .ql-editor .tm-story .sm-step b,.page-editorial .ql-editor .tm-story .sm-label b{font-size:clamp(18px,1.7vw,24px)!important;line-height:1.2!important}
.page-editorial .ql-editor .tm-story .sm-step p,.page-editorial .ql-editor .tm-story .sm-label p{font-size:clamp(15px,1.3vw,18px)!important;line-height:1.45!important}
.page-editorial .ql-editor .tm-story .sm-season h3{font-size:clamp(26px,3.2vw,46px)!important}
.page-editorial .ql-editor .tm-story .sm-pin b{font-size:13px!important;margin-top:10px!important}
.page-editorial .ql-editor .tm-story .sm-lbl{font-size:12px!important}
.page-editorial .ql-editor .tm-story .tm-outro-big{margin-bottom:clamp(20px,3vw,40px)!important}
.page-editorial .ql-editor .tm-story .sm-spec small,.page-editorial .ql-editor .tm-story .sm-field .cap,.page-editorial .ql-editor .tm-story .sm-craft .cap{font-size:10px!important}

/* ---------- your pet, stitched: a photo hoop joined by a thread to the stitched hoop ---------- */
.sm-pets{position:relative;padding:clamp(40px,6vw,90px) 0;overflow:hidden}
.sm-pets-in{width:min(1180px,92vw);margin:0 auto;display:grid;grid-template-columns:1fr 1.15fr;gap:clamp(24px,5vw,72px);align-items:center}
.sm-pets-txt h2{font-size:clamp(30px,4.2vw,60px);line-height:1;margin:0 0 14px}
.sm-pets-txt p.lead{font-size:clamp(16px,1.3vw,19px);line-height:1.55;opacity:.85;margin:0 0 22px;max-width:44ch}
.sm-pets-steps{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:12px}
.sm-pets-steps li{display:flex;gap:14px;align-items:flex-start;font-size:15px;line-height:1.45}
.sm-pets-steps li .ic{flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:#fff;border:1px dashed rgba(var(--tm-ink-rgb),.5);display:grid;place-items:center}
.sm-pets-steps li .ic .sm-ico{width:20px;height:20px;stroke-width:1.5;stroke-dasharray:none;color:var(--sm-thread)}
.sm-pets-steps li b{display:block;font:400 17px/1.2 var(--tm-disp)}
.sm-pets-pair{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,50px);align-items:center}
.sm-pets-pair .sm-hoop{width:100%}
.sm-pets-pair .cap{margin-top:12px;text-align:center;font:500 10px/1.5 var(--tm-disp);letter-spacing:.22em;text-transform:uppercase;opacity:.75}
.sm-pets-pair .cap i{font-style:normal;color:var(--sm-thread)}
.sm-pets-thread{position:absolute;left:38%;right:38%;top:22%;height:60px;pointer-events:none}
.sm-pets-thread svg{width:100%;height:100%;overflow:visible}
.sm-pets-thread .st{fill:none;stroke:var(--sm-thread);stroke-width:2.4;stroke-linecap:round;stroke-dasharray:9 6}
.sm-pets-thread .rv{fill:none;stroke:#fff;stroke-width:10}
.sm-pets-badge{position:absolute;left:50%;top:-14px;transform:translateX(-50%) rotate(-3deg);background:var(--sm-thread);color:#fff;font:600 10px/1 var(--tm-disp);letter-spacing:.2em;text-transform:uppercase;padding:7px 10px;z-index:3}
@media (max-width:900px){.sm-pets-in{grid-template-columns:1fr}.sm-pets-pair{max-width:520px;margin:0 auto}}
