/* Seasonal layer — homepage seasonal hero/feed/holiday grid + site-wide decorations (halloween · christmas · newyear) */
:root{--sn-accent:var(--tm-sec)}
html.sn-halloween{--sn-accent:#e8781b;--sn-deep:#1a0f24;--sn-glow:255,140,40}
html.sn-christmas{--sn-accent:#c8322b;--sn-deep:#0f2a1f;--sn-glow:255,214,120}
html.sn-newyear{--sn-accent:#d4a83a;--sn-deep:#0b0b17;--sn-glow:255,224,150}
html[class*="sn-"] .tm-btn{background:var(--sn-accent)}
html[class*="sn-"] .tm-seg-ind,html[class*="sn-"] .tm-hs-bar i,html[class*="sn-"] .tm-prog{background:var(--sn-accent)}
html[class*="sn-"] .tm-by2,html[class*="sn-"] .tm-hs-no,html[class*="sn-"] .tm-jr-no{color:var(--sn-accent);-webkit-text-stroke-color:var(--sn-accent)}
/* ---------- site-wide decorations ---------- */
.sn-strip{position:relative;z-index:1021;background:var(--sn-deep);color:#fff;text-align:center;font:700 11px/1 var(--tm-disp);letter-spacing:.18em;text-transform:uppercase;padding:9px 12px;display:flex;justify-content:center;gap:16px;align-items:center;flex-wrap:wrap}
.sn-strip b{color:var(--sn-accent)}.sn-strip a{color:#fff!important;text-decoration:underline!important;text-underline-offset:3px}
.sn-garland{position:sticky;top:0;z-index:1019;height:0;overflow:visible;pointer-events:none}
.sn-garland svg{position:absolute;left:0;top:0;width:100%;height:44px;overflow:visible;opacity:.9}
body:not(.tm-home) .sn-garland svg{opacity:.6}
.sn-web{position:fixed;z-index:1022;top:0;width:150px;height:150px;pointer-events:none;opacity:.55}
.sn-web.l{left:0}.sn-web.r{right:0;transform:scaleX(-1)}
.sn-web path{fill:none;stroke:rgba(255,255,255,.9);stroke-width:1.1}
html.sn-halloween body{--sn-web-ink:#2a2230}html.sn-halloween .sn-web path{stroke:rgba(42,34,48,.55)}
.sn-canvas{position:fixed;inset:0;z-index:1018;pointer-events:none}
.sn-bat{position:fixed;z-index:1023;width:46px;height:26px;pointer-events:none;will-change:transform;opacity:0}
.sn-bat svg{width:100%;height:100%;fill:#1a0f24;transform-origin:50% 50%}
.sn-bat .w{transform-origin:50% 60%;animation:snFlap .18s ease-in-out infinite alternate}
.sn-fog{position:fixed;left:-20%;right:-20%;bottom:0;height:34vh;z-index:1017;pointer-events:none;background:radial-gradient(ellipse at 30% 100%,rgba(255,255,255,.45),rgba(255,255,255,0) 60%),radial-gradient(ellipse at 75% 100%,rgba(255,255,255,.35),rgba(255,255,255,0) 55%);filter:blur(18px);opacity:.7;animation:snFog 40s ease-in-out infinite alternate}
html.sn-halloween .tm-hero .tm-shade{background:linear-gradient(90deg,rgba(26,15,36,.85) 0%,rgba(26,15,36,.5) 46%,rgba(26,15,36,.1) 100%),linear-gradient(0deg,rgba(26,15,36,.6),rgba(26,15,36,0) 42%)}
/* ---------- seasonal hero ---------- */
.sn-hero{position:relative;min-height:min(92vh,860px);display:flex;align-items:center;color:#fff;background:var(--sn-deep);overflow:hidden}
.sn-hero .tm-bgv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.9}
.sn-hero .sn-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.35) 50%,rgba(0,0,0,.05) 100%),linear-gradient(0deg,rgba(0,0,0,.65),rgba(0,0,0,0) 45%)}
.sn-hero-in{position:relative;z-index:3;width:min(1180px,92vw);margin:0 auto;padding:clamp(70px,10vh,120px) 8px clamp(80px,10vw,130px)}
.sn-kicker{display:inline-flex;align-items:center;gap:10px;font:700 12px/1 var(--tm-disp);letter-spacing:.24em;text-transform:uppercase;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:8px 14px;margin-bottom:18px;backdrop-filter:blur(6px)}
.sn-kicker i{width:9px;height:9px;border-radius:50%;background:var(--sn-accent);box-shadow:0 0 12px var(--sn-accent);animation:snPulse 1.6s ease-in-out infinite}
.sn-h1{font-size:clamp(42px,7.2vw,104px);line-height:.94;margin:0 0 18px;color:#fff;max-width:11ch}
.sn-h1 .tm-ch{display:inline-block}
.sn-sub{font-size:clamp(16px,1.5vw,20px);max-width:48ch;opacity:.92;margin:0 0 26px}
.sn-count{display:flex;gap:clamp(10px,2vw,22px);margin:0 0 28px;flex-wrap:wrap}
.sn-count div{min-width:74px;text-align:center;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.22);border-radius:14px;padding:10px 8px 8px;backdrop-filter:blur(6px)}
.sn-count b{display:block;font:700 clamp(26px,3.4vw,44px)/1 var(--tm-disp);color:var(--sn-accent)}
.sn-count small{font-size:10px;letter-spacing:.2em;text-transform:uppercase;opacity:.8}
.sn-cta{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center}
.sn-switch{position:absolute;z-index:4;right:clamp(14px,3vw,40px);top:clamp(14px,3vw,30px);display:flex;gap:6px;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:4px;backdrop-filter:blur(8px)}
.sn-switch button{border:0;background:transparent;color:#fff;font-size:18px;line-height:1;padding:7px 9px;border-radius:999px;cursor:pointer;opacity:.6;transition:opacity .25s,background .25s,transform .25s}
.sn-switch button.on{opacity:1;background:rgba(255,255,255,.18)}.sn-switch button:hover{opacity:1;transform:scale(1.12)}
.sn-hero-fx{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.sn-hero canvas.sn-fx{position:absolute;inset:0;width:100%;height:100%}
.sn-lantern{position:absolute;bottom:0;right:4%;width:clamp(120px,18vw,260px);opacity:.9;filter:drop-shadow(0 0 40px rgba(var(--sn-glow),.55));animation:snFlicker 3.2s ease-in-out infinite}
.sn-lights{position:absolute;left:-2%;right:-2%;top:0;height:70px;pointer-events:none}
.sn-lights svg{width:100%;height:100%;overflow:visible}
.sn-lights circle{animation:snTwinkle 1.4s ease-in-out infinite alternate}
.sn-lights circle:nth-child(3n){animation-delay:.4s}.sn-lights circle:nth-child(3n+1){animation-delay:.9s}
.sn-year{position:absolute;right:3%;bottom:6%;font:700 clamp(90px,20vw,320px)/.85 var(--tm-disp);color:transparent;-webkit-text-stroke:2px rgba(255,255,255,.35);letter-spacing:-.02em;pointer-events:none;background:linear-gradient(90deg,var(--sn-accent) 50%,rgba(0,0,0,0) 50%) 100% 0/200% 100% no-repeat;-webkit-background-clip:text;background-clip:text}
/* ---------- seasonal feed / holiday grid ---------- */
.sn-feed{background:var(--tm-sand)}
html.sn-halloween .sn-feed{background:#f4e9df}html.sn-christmas .sn-feed{background:#eef4ee}html.sn-newyear .sn-feed{background:#f3efe4}
.sn-hol{padding:clamp(40px,6vw,90px) 0;background:#fff}
.sn-hol-in{width:min(1180px,92vw);margin:0 auto}
.sn-hol-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:clamp(18px,3vw,34px)}
.sn-hol-head h2{font-size:clamp(30px,4.4vw,64px);line-height:1;margin:0}
.sn-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,2vw,22px)}
.sn-card{position:relative;display:block;border-radius:22px;overflow:hidden;aspect-ratio:4/3;color:#fff!important;text-decoration:none!important;background:var(--tm-ink);transform-style:preserve-3d;will-change:transform}
.sn-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.sn-card:hover img{transform:scale(1.08)}
.sn-card .sh{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.72),rgba(0,0,0,.05) 60%)}
.sn-card .t{position:absolute;z-index:2;left:18px;right:18px;bottom:16px}
.sn-card .t b{display:block;font-size:clamp(20px,2vw,28px);line-height:1.05;margin-bottom:6px}
.sn-card .t small{display:block;opacity:.85;font-size:13px}
.sn-card .ic{position:absolute;z-index:2;left:16px;top:14px;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;font-size:22px;box-shadow:0 8px 20px -10px rgba(0,0,0,.6);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.sn-card:hover .ic{transform:rotate(-12deg) scale(1.12)}
.sn-card .n{position:absolute;z-index:2;right:14px;top:16px;font:700 11px/1 var(--tm-disp);letter-spacing:.14em;background:var(--sn-accent);color:#fff;border-radius:999px;padding:6px 10px}
.sn-card.wide{grid-column:span 2;aspect-ratio:auto;min-height:230px}
/* christmas: gift-card wobble · halloween: spider on hover · newyear: sparkle */
html.sn-christmas .sn-card:hover,html.sn-christmas .product-card:hover{animation:snWobble .7s ease-in-out}
html.sn-halloween .product-card:before,html.sn-halloween .sn-card:before{content:"";position:absolute;z-index:6;left:22px;top:0;width:1px;height:0;background:rgba(0,0,0,.5);transition:height .55s cubic-bezier(.2,.8,.2,1);pointer-events:none}
html.sn-halloween .product-card:after,html.sn-halloween .sn-card:after{content:"";position:absolute;z-index:6;left:17px;top:-6px;width:11px;height:11px;border-radius:50%;background:#1a0f24;opacity:0;transition:top .55s cubic-bezier(.2,.8,.2,1),opacity .2s;pointer-events:none}
html.sn-halloween .product-card:hover:before,html.sn-halloween .sn-card:hover:before{height:64px}
html.sn-halloween .product-card:hover:after,html.sn-halloween .sn-card:hover:after{top:58px;opacity:1}
html.sn-halloween .product-card{overflow:visible}
@keyframes snFlap{from{transform:rotateX(0)}to{transform:rotateX(60deg)}}
@keyframes snFog{from{transform:translateX(-4%)}to{transform:translateX(5%)}}
@keyframes snPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(.7);opacity:.6}}
@keyframes snFlicker{0%,100%{opacity:.92;filter:drop-shadow(0 0 40px rgba(var(--sn-glow),.55))}45%{opacity:.8;filter:drop-shadow(0 0 26px rgba(var(--sn-glow),.35))}55%{opacity:.95}70%{opacity:.85}}
@keyframes snTwinkle{from{opacity:.35}to{opacity:1}}
@keyframes snWobble{0%,100%{transform:rotate(0)}25%{transform:rotate(-1.6deg)}75%{transform:rotate(1.6deg)}}
@media (max-width:820px){.sn-grid{grid-template-columns:1fr 1fr}.sn-card.wide{grid-column:span 2}.sn-switch{top:auto;bottom:14px;right:14px}.sn-web{width:90px;height:90px}.sn-year{font-size:22vw}.sn-hero-in{padding-bottom:110px}.sn-strip{font-size:10px;letter-spacing:.12em}}
html.tm-calm .sn-canvas,html.tm-calm .sn-bat,html.tm-calm .sn-fog,html.tm-calm .sn-hero canvas{display:none}

/* ---------- continuity: the blocks flow into each other ---------- */
.sn-hero{min-height:min(84vh,780px)}
.sn-hero-in{padding-bottom:clamp(90px,12vw,150px)}
.sn-switch{top:auto;bottom:clamp(20px,4vw,44px);right:clamp(14px,3vw,40px)}
.sn-wave{position:absolute;left:0;right:0;bottom:-1px;height:clamp(50px,7vw,110px);z-index:5;pointer-events:none}
.sn-wave svg{display:block;width:100%;height:100%}
.sn-hero .sn-wave path{fill:var(--sn-feedbg,#f7f1ea)}
.sn-feed{position:relative;padding-bottom:clamp(60px,8vw,120px)}
.sn-feed .sn-wave path{fill:#fff}
.sn-hol{position:relative;padding-bottom:clamp(70px,9vw,130px)}
.sn-hol .sn-wave path{fill:var(--tm-sand)}
html.sn-halloween{--sn-feedbg:#f4e9df}html.sn-christmas{--sn-feedbg:#eef4ee}html.sn-newyear{--sn-feedbg:#f3efe4}
.sn-feed .tm-stage-head,.sn-hol-head{position:relative}
.sn-feed .tm-stage-head:before,.sn-hol-head:before{content:"";position:absolute;left:0;top:-30px;width:2px;height:22px;background:var(--sn-accent);opacity:.7}
/* a thin seasonal thread runs down the left of the homepage sections to tie them together */
.sn-thread{position:fixed;left:clamp(10px,2vw,28px);top:0;bottom:0;width:2px;z-index:1016;pointer-events:none;background:rgba(var(--tm-ink-rgb),.08)}
.sn-thread b{position:absolute;left:0;top:0;width:100%;height:100%;background:var(--sn-accent);transform-origin:50% 0;transform:scaleY(0)}
.sn-thread i{position:absolute;left:-5px;width:12px;height:12px;border-radius:50%;background:var(--sn-accent);box-shadow:0 0 12px var(--sn-accent);margin-top:-6px}
@media (max-width:1100px){.sn-thread{display:none}}
/* ---------- pages (About / policies): same palette + seasonal banner ---------- */
.page-editorial figure{border-radius:22px;overflow:hidden;position:relative}
.page-editorial figure img{will-change:transform}
.page-editorial figure.sn-banner{aspect-ratio:21/9;background:var(--sn-deep,var(--tm-ink))}
.page-editorial figure.sn-banner video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.85}
.page-editorial figure.sn-banner .sn-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.65),rgba(0,0,0,.05) 60%)}
.page-editorial figure.sn-banner .sn-cap{position:absolute;left:24px;right:24px;bottom:20px;color:#fff;font:700 12px/1.3 var(--tm-disp);letter-spacing:.2em;text-transform:uppercase}
.page-editorial figure.sn-banner .sn-cap b{display:block;font-size:clamp(22px,3vw,40px);letter-spacing:0;text-transform:none;font-family:var(--tm-disp);margin-top:6px}

/* ---------- the promise: a clothesline of matching tees ---------- */
.sn-line{position:relative;padding:clamp(40px,6vw,90px) 0 clamp(30px,5vw,70px);background:var(--tm-sand);overflow:hidden}
.sn-line-in{width:min(1180px,92vw);margin:0 auto}
.sn-line-head{text-align:center;margin-bottom:clamp(30px,4vw,54px)}
.sn-line-head h2{font-size:clamp(30px,4.4vw,64px);line-height:1;margin:0 0 10px}
.sn-line-head p{opacity:.8;margin:0}
.sn-rope{position:relative;height:clamp(40px,5vw,70px)}
.sn-rope svg{position:absolute;left:-2%;top:0;width:104%;height:100%;overflow:visible}
.sn-rope path{fill:none;stroke:rgba(var(--tm-ink-rgb),.55);stroke-width:3;stroke-linecap:round}
.sn-tees{display:flex;justify-content:space-between;gap:clamp(8px,1.5vw,18px);margin-top:-8px}
.sn-tee{position:relative;flex:1 1 0;max-width:230px;transform-origin:50% -20px;will-change:transform;text-decoration:none!important;color:var(--tm-ink)!important}
.sn-tee .peg{position:absolute;left:50%;top:-16px;width:12px;height:26px;margin-left:-6px;border-radius:4px;background:var(--sn-accent);box-shadow:0 2px 4px rgba(0,0,0,.25);z-index:3}
.sn-tee svg{display:block;width:100%;height:auto;filter:drop-shadow(0 18px 24px rgba(var(--tm-ink-rgb),.18))}
.sn-tee .txt{position:absolute;left:12%;right:12%;top:30%;text-align:center}
.sn-tee .ic{font-size:clamp(22px,2.6vw,34px);line-height:1;display:block;margin-bottom:10px}
.sn-tee b{display:block;font:700 clamp(14px,1.35vw,19px)/1.15 var(--tm-disp);margin-bottom:8px}
.sn-tee small{display:block;font-size:clamp(11px,.95vw,13px);line-height:1.35;opacity:.8}
.sn-tee:hover{z-index:2}
.sn-line .sn-deco{position:absolute;pointer-events:none}
@media (max-width:820px){.sn-tees{overflow-x:auto;justify-content:flex-start;padding:0 4vw 20px;scroll-snap-type:x mandatory;scrollbar-width:none}.sn-tees::-webkit-scrollbar{display:none}.sn-tee{flex:0 0 66vw;max-width:none;scroll-snap-align:center}.sn-rope{display:none}.sn-tee .peg{display:none}}

/* ---------- About: scroll story ---------- */
.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:700 12px/1 var(--tm-disp);letter-spacing:.24em;text-transform:uppercase;color:var(--sn-accent);margin:0 0 14px}
.tm-story h2{font-size:clamp(34px,5.4vw,80px);line-height:.98;margin:0 0 18px;font-family:var(--tm-disp)}
.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:700 clamp(50px,9vw,150px)/1 var(--tm-disp);color:transparent;-webkit-text-stroke:1.5px rgba(var(--tm-ink-rgb),.14);pointer-events:none}
/* intro */
.st-hero{min-height:88vh;display:flex;align-items:flex-end;color:#fff;background:var(--sn-deep,var(--tm-ink));padding-bottom:clamp(60px,8vw,110px)}
.st-hero video,.st-hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.8}
.st-hero .sh{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.8),rgba(0,0,0,.15) 60%)}
.st-hero .in{position:relative;z-index:2}
.st-hero h1{font-size:clamp(44px,8vw,120px);line-height:.92;margin:0 0 16px;color:#fff;font-family:var(--tm-disp);max-width:12ch}
.st-hero .cue{position:absolute;z-index:2;right:6vw;bottom:36px;font:700 10px/1 var(--tm-disp);letter-spacing:.3em;text-transform:uppercase;writing-mode:vertical-rl;opacity:.8}
/* patches */
.st-patches{position:relative;min-height:clamp(320px,50vh,560px)}
.st-patch{position:absolute;width:clamp(90px,10vw,150px);aspect-ratio:1;border-radius:50%;overflow:hidden;border:5px solid #fff;box-shadow:0 20px 34px -18px rgba(var(--tm-ink-rgb),.55);will-change:transform;background:#fff}
.st-patch img{width:100%;height:100%;object-fit:cover;transform:scale(2.6);transform-origin:50% 46%}
.st-patch i{position:absolute;inset:0;border-radius:50%;border:2px dashed rgba(var(--tm-ink-rgb),.35);margin:6px}
/* chat */
.st-chat{max-width:640px;margin:36px auto 0;display:flex;flex-direction:column;gap:12px}
.st-msg{max-width:78%;padding:12px 16px;border-radius:20px;font-size:clamp(15px,1.3vw,18px);line-height:1.4;background:#fff;box-shadow:0 10px 24px -16px rgba(var(--tm-ink-rgb),.5);transform-origin:0 100%;position:relative}
.st-msg.me{align-self:flex-end;background:var(--sn-accent);color:#fff;transform-origin:100% 100%}
.st-msg small{display:block;font-size:11px;opacity:.6;margin-bottom:4px;letter-spacing:.06em;text-transform:uppercase}
.st-msg.typing{width:70px;padding:14px}.st-msg.typing i{display:inline-block;width:8px;height:8px;border-radius:50%;background:rgba(var(--tm-ink-rgb),.4);margin-right:5px;animation:stDot 1s infinite}.st-msg.typing i:nth-child(2){animation-delay:.2s}.st-msg.typing i:nth-child(3){animation-delay:.4s}
.st-photo{margin:40px auto 0;max-width:820px;border-radius:26px;overflow:hidden;aspect-ratio:16/9;box-shadow:0 40px 60px -40px rgba(var(--tm-ink-rgb),.6)}
.st-photo img{width:100%;height:100%;object-fit:cover;will-change:transform}
/* timeline */
.st-tl{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,70px);align-items:start}
.st-steps{position:relative;padding-left:56px}
.st-steps svg.tm-draw{left:20px;width:2px;height:100%;inset:auto;top:0}
.st-step{position:relative;margin:0 0 clamp(26px,4vw,44px)}
.st-step i{position:absolute;left:-56px;top:2px;width:42px;height:42px;border-radius:50%;background:#fff;border:2px solid var(--sn-accent);display:grid;place-items:center;font-size:18px;box-shadow:0 8px 18px -10px rgba(var(--tm-ink-rgb),.6)}
.st-step b{display:block;font:700 clamp(18px,1.7vw,24px)/1.2 var(--tm-disp);margin-bottom:6px}
.st-step p{margin:0;opacity:.8}
.st-craft{position:sticky;top:110px;border-radius:26px;overflow:hidden;aspect-ratio:1;box-shadow:0 40px 60px -40px rgba(var(--tm-ink-rgb),.6)}
.st-craft img{width:100%;height:100%;object-fit:cover;will-change:transform}
/* map */
.st-map{position:relative;margin-top:32px;aspect-ratio:2/1;border-radius:26px;overflow:hidden;background:radial-gradient(circle at 30% 40%,rgba(var(--tm-sec-rgb),.18),transparent 45%),repeating-linear-gradient(0deg,rgba(var(--tm-ink-rgb),.06) 0 1px,transparent 1px 40px),repeating-linear-gradient(90deg,rgba(var(--tm-ink-rgb),.06) 0 1px,transparent 1px 40px),var(--tm-sand)}
.st-map svg.tm-draw path{stroke:var(--sn-accent);stroke-width:2.5;stroke-dasharray:6 8!important}
.st-pin{position:absolute;transform:translate(-50%,-100%);text-align:center;will-change:transform}
.st-pin i{display:block;width:22px;height:22px;margin:0 auto;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--sn-accent);box-shadow:0 8px 16px -8px rgba(0,0,0,.6)}
.st-pin b{display:block;margin-top:8px;font:700 13px/1.2 var(--tm-disp);background:#fff;border-radius:999px;padding:6px 12px;white-space:nowrap;box-shadow:0 8px 20px -12px rgba(var(--tm-ink-rgb),.6)}
.st-pin small{display:block;font-size:11px;opacity:.7;margin-top:4px}
/* stamps */
.st-stamps{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.st-stamp{font:700 clamp(14px,1.3vw,18px)/1.2 var(--tm-disp);letter-spacing:.06em;text-transform:uppercase;color:var(--sn-accent);border:3px solid var(--sn-accent);border-radius:12px;padding:12px 18px;transform:rotate(-6deg);opacity:.9;mix-blend-mode:multiply;background:rgba(255,255,255,.4);box-shadow:inset 0 0 0 2px #fff}
/* season card */
.st-season{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,60px);align-items:center;background:var(--sn-deep,var(--tm-ink));color:#fff;border-radius:26px;overflow:hidden;padding:clamp(24px,4vw,56px)}
.st-season .sn-count b{color:var(--sn-accent)}
.st-season h3{font:700 clamp(26px,3.2vw,46px)/1.05 var(--tm-disp);margin:0 0 12px;color:#fff}
/* confidence */
.st-acc details{border:1px solid rgba(var(--tm-ink-rgb),.14);border-radius:14px;padding:14px 18px;margin:0 0 10px;background:#fff}
.st-acc summary{font-weight:700;cursor:pointer}
@keyframes stDot{0%,80%,100%{transform:translateY(0)}40%{transform:translateY(-6px)}}
@media (max-width:820px){.st-tl,.st-season{grid-template-columns:1fr}.st-craft{position:relative;top:0}.st-patches{min-height:260px}.st-patch{width:70px;border-width:3px}.tm-story .num{display:none}}

/* story typography (beats .ql-editor) */
.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:700!important;color:var(--tm-ink)!important}
.page-editorial .ql-editor .tm-story .st-hero h1{font-size:clamp(44px,8vw,120px)!important;line-height:.92!important;color:#fff!important;font-family:var(--tm-disp)!important;font-weight:700!important;margin:0 0 16px!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:700 12px/1 var(--tm-disp)!important;letter-spacing:.24em!important;text-transform:uppercase!important;margin:0 0 14px!important}
.page-editorial .ql-editor .tm-story .st-step b{font-size:clamp(18px,1.7vw,24px)!important;line-height:1.2!important}
.page-editorial .ql-editor .tm-story .st-step p,.page-editorial .ql-editor .tm-story .st-msg{font-size:clamp(15px,1.3vw,18px)!important;line-height:1.45!important}
.page-editorial .ql-editor .tm-story .st-season h3{font-size:clamp(26px,3.2vw,46px)!important;color:#fff!important}
.page-editorial .ql-editor .tm-story .tm-jr-head h2{font-size:clamp(30px,4.4vw,64px)!important}
.page-editorial .ql-editor .tm-story .tm-jr-panel h3{font-size:clamp(22px,2.2vw,32px)!important;margin:0!important}
.page-editorial .ql-editor .tm-story .tm-outro-big{margin-bottom:clamp(20px,3vw,40px)!important}
.page-editorial .ql-editor .tm-story .st-pin b{font-size:13px!important;margin-top:8px!important}
.page-editorial .ql-editor .tm-story .st-stamp{font-size:clamp(14px,1.3vw,18px)!important}

/* inner pages: smaller garland that hangs from the header without covering the breadcrumb; neutral look for non-seasonal collections */
html.sn-inner .sn-garland svg{height:30px;opacity:.85}
html.sn-inner .sn-garland .sn-gbat{transform-box:fill-box}
html.sn-inner main.lencam-platform-body{padding-top:30px}
html.sn-inner .sn-web{width:110px;height:110px;opacity:.4}
html.sn-inner .sn-fog{height:22vh;opacity:.5}
html.sn-mood-brand .sn-strip{display:none}
html.sn-mood-valentine .tm-btn,html.sn-mood-fall .tm-btn,html.sn-mood-usa .tm-btn,html.sn-mood-spring .tm-btn,html.sn-mood-winter .tm-btn,html.sn-mood-gameday .tm-btn,html.sn-mood-western .tm-btn{background:var(--tm-sec)}
html.sn-mood-valentine .sn-strip{background:#4a1230}html.sn-mood-fall .sn-strip{background:#3d2411}html.sn-mood-usa .sn-strip{background:#1f2a4d}html.sn-mood-spring .sn-strip{background:#2f4a2a}html.sn-mood-winter .sn-strip{background:#1c2f45}html.sn-mood-gameday .sn-strip{background:#14204a}html.sn-mood-western .sn-strip{background:#3b2314}
html.sn-inner .tm-stage-col{border-radius:22px}

/* ---------- seasonal cursor: ghost · star wand · sparkler · party popper ---------- */
html.sn-cur,html.sn-cur body,html.sn-cur a,html.sn-cur button,html.sn-cur [role=button],html.sn-cur label,html.sn-cur summary,html.sn-cur .tm-stage,html.sn-cur .tm-sc,html.sn-cur .product-card,html.sn-cur .sn-tee,html.sn-cur .sn-card{cursor:none!important}
html.sn-cur :where(input,textarea,select,[contenteditable="true"]){cursor:auto!important}
html.sn-cur .tm-cur,html.sn-cur .tm-trail{display:none!important}
.sn-ink{position:fixed;inset:0;z-index:99988;pointer-events:none}
.sn-curw{position:fixed;left:0;top:0;z-index:99990;pointer-events:none;opacity:0;transition:opacity .25s}
.sn-curw.on{opacity:1}.sn-curw.hide{opacity:0}
.sn-cur-ic{position:absolute;display:block;width:34px;height:34px;left:-17px;top:-17px;transform-origin:50% 50%}
.sn-cur-ic svg{width:100%;height:100%;overflow:visible;display:block}
.sn-cur-ghost .sn-cur-ic{width:30px;height:34px;left:-15px;top:-4px;transform-origin:50% 0}
.sn-cur-ghost .sn-cur-ic svg{animation:snGhostBob 1.6s ease-in-out infinite;filter:drop-shadow(0 6px 10px rgba(0,0,0,.25))}
.sn-cur-ghost .gb{fill:#fff;stroke:#1a0f24;stroke-width:1.5;stroke-linejoin:round}.sn-cur-ghost .ge circle{fill:#1a0f24}.sn-cur-ghost .gm{fill:none;stroke:#1a0f24;stroke-width:1.4;stroke-linecap:round}
.sn-cur-star .sn-cur-ic{left:-17px;top:-4px;transform-origin:50% 12%}
.sn-cur-star .sn-cur-ic svg{animation:snTwirl 3s ease-in-out infinite;transform-origin:50% 12%}
.sn-cur-star .st{fill:#ffd23f;stroke:#b8862b;stroke-width:1;filter:drop-shadow(0 0 6px rgba(255,210,63,.9))}.sn-cur-star .wand{stroke:#1a0f24;stroke-width:2.2;stroke-linecap:round}
.sn-cur-sparkler .stick{stroke:#3b2a1d;stroke-width:2.4;stroke-linecap:round}.sn-cur-sparkler .tip{fill:#fff;filter:drop-shadow(0 0 8px #ffd23f) drop-shadow(0 0 16px #ff8a5c);animation:snSizzle .12s steps(2) infinite}
.sn-cur-popper .sn-cur-ic{left:-6px;top:-28px;transform-origin:18% 82%}
.sn-cur-popper .cone{fill:var(--sn-accent);stroke:#1a0f24;stroke-width:1.3;stroke-linejoin:round}.sn-cur-popper .rim{stroke:#1a0f24;stroke-width:1.3}.sn-cur-popper .c1{fill:#e0555b}.sn-cur-popper .c2{fill:#3d9a70}.sn-cur-popper .c3{stroke:#f2c14e;stroke-width:2;stroke-linecap:round}
.sn-cur-lab{position:absolute;left:20px;top:10px;white-space:nowrap;font:700 10px/1 var(--tm-disp);letter-spacing:.2em;text-transform:uppercase;color:#fff;background:var(--sn-accent);border-radius:999px;padding:6px 10px;opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s;box-shadow:0 6px 14px -6px rgba(0,0,0,.4)}
.sn-curw.lab .sn-cur-lab{opacity:1;transform:none}
@keyframes snGhostBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes snTwirl{0%,100%{transform:rotate(-8deg) scale(1)}50%{transform:rotate(8deg) scale(1.08)}}
@keyframes snSizzle{from{r:3px}to{r:4px}}
