:root {
  --store-black: #0c0d12;
  --store-cream: #f3eddf;
  --store-lime: #c7ff2f;
  --store-pink: #ff3d9a;
  --store-cyan: #2be4ff;
  --store-violet: #7457ff;
  --store-coral: #ff6247;
  --store-yellow: #ffd84a;
  --store-blue: #4b6cff;
  --store-notice-neutral: #e7e1d7;
}

.page-store { background: var(--store-black); color: var(--store-cream); }
.page-store .site-header { z-index: 80; color: var(--ink); }
.store-notice {
  position: relative;
  z-index: 79;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  min-height: 3.4rem;
  padding-inline: clamp(1rem, 3vw, 2.5rem);
  border-bottom: 1px solid var(--store-black);
  background: var(--store-notice-neutral);
  color: var(--store-black);
}
.store-notice-code, .store-notice p { font: 760 .68rem/1.2 monospace; letter-spacing: .13em; text-transform: uppercase; }
.store-notice p {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .55rem;
  margin: 0;
  text-align: center;
}
.store-notice-icon { width: 1.25rem; height: 1.25rem; flex: 0 0 auto; }
.store-notice[hidden] { display: none; }
.store-notice button {
  justify-self: end;
  width: 2rem;
  height: 2rem;
  border: 1px solid currentColor;
  background: transparent;
  color: inherit;
  font: 400 1.45rem/1 sans-serif;
  cursor: pointer;
  transition: background 180ms, color 180ms, transform 180ms;
}
.store-notice button:hover { background: var(--store-black); color: var(--store-notice-neutral); transform: rotate(90deg); }
.store-main { position: relative; overflow: clip; background: var(--store-black); }
.store-main a { text-decoration: none; }
.store-kicker, .store-code, .store-intro-meta, .portal-index, .portal-action, .lab-status, .sticker-palette > p, .lab-controls > p {
  font-size: .72rem;
  font-weight: 760;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.store-hud {
  position: fixed;
  z-index: 70;
  top: 50%;
  right: 1rem;
  display: grid;
  width: 4.6rem;
  justify-items: center;
  gap: 1rem;
  padding: 1rem .45rem;
  border: 1px solid rgba(255, 255, 255, .25);
  background: rgba(9, 9, 13, .76);
  color: #fff;
  backdrop-filter: blur(14px);
  transform: translateY(-50%);
}
.store-hud::before, .store-hud::after { content: ""; position: absolute; background: rgba(255, 255, 255, .18); pointer-events: none; }
.store-hud::before { inset: 2.6rem 0 auto; height: 1px; }
.store-hud::after { inset: auto 0 4.8rem; height: 1px; }
.store-hud-label { font-size: .55rem; font-weight: 760; letter-spacing: .12em; writing-mode: vertical-rl; }
.store-hud-jump { display: grid; justify-items: center; font: 700 .65rem/1.5 monospace; }
.store-hud-jump a { padding: .25rem; color: var(--store-lime); }
.store-hud-jump span { color: #777; }
.store-sound { display: grid; justify-items: center; gap: .2rem; padding: .2rem; border: 0; background: transparent; color: #fff; cursor: pointer; }
.store-sound span:first-child { font-size: 1.25rem; color: var(--store-pink); }
.store-sound span:last-child { font: 650 .48rem/1 monospace; letter-spacing: .08em; white-space: nowrap; }
.store-sound[aria-pressed="true"] span:first-child { color: var(--store-lime); }
.store-progress { width: 2.35rem; height: 2.35rem; transform: rotate(-90deg); }
.store-progress circle { fill: none; stroke: rgba(255, 255, 255, .25); stroke-width: 1.5; }
.store-progress .store-progress-value { stroke: var(--store-cyan); stroke-dasharray: 100; stroke-dashoffset: 100; stroke-linecap: square; }

.store-entrance { height: 160svh; background: var(--store-black); }
.sticker-lab, .poster-gallery { scroll-margin-top: 4.85rem; }
.store-portal { --portal-progress: 0; position: sticky; top: 0; display: flex; height: 100svh; overflow: hidden; }
.portal-panel {
  position: relative;
  isolation: isolate;
  flex: 1 1 50%;
  min-width: 0;
  overflow: hidden;
  padding: clamp(1.5rem, 4vw, 4.5rem);
  color: inherit;
  transition: flex-grow 700ms cubic-bezier(.16, 1, .3, 1), filter 500ms;
  will-change: transform, flex-grow;
}
.portal-panel:hover { flex-grow: 1.86; }
.portal-panel--posters { border-bottom: 1px solid var(--store-coral); background: #11131a; color: var(--store-cream); transform: translate3d(0, calc(var(--portal-progress) * 108%), 0); }
.portal-panel--stickers { border-bottom: 1px solid var(--store-lime); background: #171322; color: var(--store-cream); transform: translate3d(0, calc(var(--portal-progress) * -108%), 0); }
.portal-panel::before { content: ""; position: absolute; z-index: -1; inset: 0; opacity: .45; pointer-events: none; }
.portal-panel--posters::before { background: linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px); background-size: 4rem 4rem; }
.portal-panel--stickers::before { background: radial-gradient(circle at 20% 20%, rgba(43,228,255,.16), transparent 22%), linear-gradient(135deg, transparent 52%, rgba(255,61,154,.18) 52% 66%, transparent 66%); }
.portal-index {
  position: absolute;
  z-index: 3;
  top: clamp(1.5rem, 3vw, 3rem);
  right: clamp(1.5rem, 3vw, 3rem);
}
.portal-title {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: clamp(1.5rem, 4vw, 4.5rem);
  font: 840 clamp(4.6rem, 10vw, 11rem)/.8 var(--display);
  font-stretch: 68%;
  letter-spacing: -.075em;
  text-transform: uppercase;
  transform: translateY(-50%) rotate(-90deg) translateY(42%);
  transform-origin: left center;
}
.portal-action { position: absolute; z-index: 4; right: clamp(1.5rem, 4vw, 4.5rem); bottom: clamp(1.5rem, 3vw, 3rem); display: flex; align-items: center; gap: 1rem; }
.portal-action b { font-size: 1.5rem; }
.portal-poster {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 58%;
  display: grid;
  width: clamp(14rem, 24vw, 24rem);
  aspect-ratio: 2 / 3;
  place-items: center;
  border: clamp(.65rem, 1.2vw, 1rem) solid #2d2b29;
  background: linear-gradient(165deg, var(--store-coral) 0 34%, var(--store-cream) 34% 67%, var(--store-violet) 67%);
  box-shadow: 0 2.5rem 6rem rgba(0,0,0,.55), inset 0 0 0 1px #777;
  color: #0b0b0f;
  transform: translate(-50%, -50%) rotate(3deg);
  transition: transform 800ms cubic-bezier(.16, 1, .3, 1);
}
.portal-panel:hover .portal-poster { transform: translate(-50%, -50%) rotate(0) scale(1.04); }
.portal-poster span { font: 820 clamp(2rem, 4.6vw, 5rem)/.78 var(--display); font-stretch: 70%; letter-spacing: -.07em; }
.portal-poster i { position: absolute; inset: 6% 7%; border: 1px solid currentColor; }
.portal-sticker-cloud { position: absolute; top: 50%; left: 56%; width: min(70%, 34rem); height: min(58vw, 32rem); transform: translate(-50%, -50%); }
.portal-sticker { position: absolute; display: grid; place-items: center; border: .55rem solid #fff; box-shadow: 0 1rem 2rem rgba(0,0,0,.22); font: 850 clamp(1.6rem, 4vw, 4.5rem)/.8 var(--display); font-style: normal; font-stretch: 70%; text-align: center; transition: transform 700ms cubic-bezier(.16, 1, .3, 1); }
.portal-sticker--one { inset: 10% auto auto 3%; width: 43%; aspect-ratio: 1; border-radius: 50%; background: var(--store-pink); transform: rotate(-12deg); }
.portal-sticker--two { inset: 2% 4% auto auto; width: 38%; aspect-ratio: 1; clip-path: polygon(50% 0,61% 35%,98% 35%,68% 56%,80% 95%,50% 71%,20% 95%,32% 56%,2% 35%,39% 35%); background: var(--store-violet); color: var(--store-lime); transform: rotate(9deg); }
.portal-sticker--three { inset: auto auto 2% 9%; width: 48%; aspect-ratio: 1.4; border-radius: 1.4rem; background: var(--store-cyan); transform: rotate(8deg); }
.portal-sticker--four { inset: auto 2% 10% auto; width: 38%; aspect-ratio: 1; border-radius: 42% 58% 48% 52%; background: var(--store-yellow); transform: rotate(-7deg); }
.portal-panel:hover .portal-sticker--one { transform: translate(-1rem,-1rem) rotate(-17deg); }
.portal-panel:hover .portal-sticker--two { transform: translate(1rem,-1.2rem) rotate(15deg); }
.portal-panel:hover .portal-sticker--three { transform: translate(-1rem,1rem) rotate(3deg); }
.portal-panel:hover .portal-sticker--four { transform: translate(1rem,1rem) rotate(-13deg); }

.store-intro { display: grid; grid-template-columns: .45fr 1.2fr; gap: clamp(2rem, 7vw, 8rem); padding: clamp(5rem, 10vw, 10rem) max(var(--gutter), calc((100vw - var(--shell)) / 2 + var(--gutter))); border-block: 1px solid var(--store-pink); background: #12131b; color: var(--store-cream); }
.store-code { padding-top: .5rem; }
.store-intro-copy { max-width: 15ch; font: 760 clamp(2.7rem, 6.5vw, 7rem)/.9 var(--display); font-stretch: 74%; letter-spacing: -.06em; }
.store-intro-meta { grid-column: 2; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; padding-top: 2rem; border-top: 1px solid currentColor; }

.sticker-lab { background: #10121a; color: #fff; }
.store-section-head { display: grid; grid-template-columns: .45fr 1.1fr .65fr; gap: clamp(2rem, 5vw, 6rem); align-items: end; padding: clamp(5rem, 9vw, 9rem) max(var(--gutter), calc((100vw - var(--shell)) / 2 + var(--gutter))); }
.store-section-head h2 { font-size: clamp(5.5rem, 12vw, 13rem); color: inherit; }
.store-section-head h2 em { font-style: normal; }
.store-section-head > p:last-of-type { max-width: 15rem; font-size: clamp(1.15rem, 1.8vw, 1.65rem); line-height: 1.15; }
.store-section-head--stickers { border-bottom: 1px solid var(--store-violet); background: #151326; }
.store-section-head--stickers h1 em { color: var(--store-lime); }

.lab-workspace { display: grid; grid-template-columns: 8.2rem minmax(0, 1fr) 5.5rem; min-height: 54rem; border-block: 1px solid rgba(255,255,255,.35); background: #17151f; }
.sticker-palette, .lab-controls { position: relative; z-index: 4; display: flex; flex-direction: column; align-items: center; gap: .85rem; padding: 1rem .75rem; background: #0d0c12; }
.sticker-palette { border-right: 1px solid #47434f; }
.sticker-palette > p, .lab-controls > p { margin-bottom: .5rem; color: #aaa5b5; text-align: center; }
.lab-sticker { width: 5.4rem; min-height: 5.4rem; display: grid; place-items: center; border: 0; background: transparent; cursor: grab; touch-action: none; }
.lab-sticker:active { cursor: grabbing; }
.sticker-art { --sticker-bg: var(--store-coral); display: grid; width: 5rem; aspect-ratio: 1; place-items: center; border: .36rem solid #fff; background: var(--sticker-bg); box-shadow: 0 .6rem 1.1rem rgba(0,0,0,.28); color: #0b0b0f; font: 850 1.25rem/.78 var(--display); font-stretch: 70%; letter-spacing: -.04em; text-align: center; user-select: none; }
.sticker-art--noise { --sticker-bg: var(--store-coral); border-radius: 1rem 2.3rem 1.4rem 2rem; transform: rotate(-7deg); }
.sticker-art--star { --sticker-bg: var(--store-lime); clip-path: polygon(50% 0,61% 33%,97% 35%,68% 56%,79% 94%,50% 71%,20% 94%,32% 56%,3% 35%,39% 33%); font-size: 2.2rem; }
.sticker-art--ctrl { --sticker-bg: var(--store-cyan); aspect-ratio: 1.25; border-radius: .6rem; transform: rotate(5deg); }
.sticker-art--smile { --sticker-bg: var(--store-yellow); border-radius: 50%; font-size: 3.1rem; transform: rotate(8deg); }
.sticker-art--type { --sticker-bg: var(--store-pink); border-radius: 42% 58% 44% 56%; font-size: 2.4rem; transform: rotate(-4deg); }
.sticker-art--wave { --sticker-bg: var(--store-blue); aspect-ratio: 1.35; border-radius: 50%; color: #fff; transform: rotate(4deg); }
.lab-sticker:hover .sticker-art { animation: sticker-peel 520ms cubic-bezier(.16,1,.3,1) both; }

.lab-stage { position: relative; display: grid; overflow: hidden; place-items: center; padding: 4rem clamp(1rem, 5vw, 5rem); background: radial-gradient(circle at 50% 45%, #413f49 0, #22202a 42%, #111017 75%); }
.lab-stage::before { content: ""; position: absolute; inset: 0; background: linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px); background-size: 3rem 3rem; }
.lab-status { position: absolute; z-index: 2; inset: 1.2rem 1.4rem auto; display: flex; justify-content: space-between; color: var(--store-lime); }
.laptop { position: relative; z-index: 2; width: min(90%, 52rem); filter: drop-shadow(0 2.4rem 2.5rem rgba(0,0,0,.55)); }
.laptop-lid { position: relative; isolation: isolate; width: 84%; aspect-ratio: 16 / 10; margin-inline: auto; overflow: hidden; border: .65rem solid #8d8f95; border-radius: 1.5rem 1.5rem .7rem .7rem; background: linear-gradient(145deg, #777981, #c3c4c8 55%, #7c7e85); box-shadow: inset 0 0 0 1px #e6e6e6; touch-action: none; }
.laptop-lid::after { content: ""; position: absolute; z-index: -1; inset: 0; background: linear-gradient(115deg, rgba(255,255,255,.2), transparent 32% 70%, rgba(0,0,0,.15)); pointer-events: none; }
.laptop-mark { position: absolute; top: 50%; left: 50%; color: rgba(20,20,24,.14); font: 850 clamp(4rem, 9vw, 8rem)/1 var(--display); transform: translate(-50%,-50%); }
.laptop-lid > p { position: absolute; right: 1rem; bottom: .8rem; font: 650 .58rem/1 monospace; letter-spacing: .12em; text-transform: uppercase; opacity: .45; }
.laptop-base { width: 100%; height: 2.2rem; border-radius: .2rem .2rem 1.3rem 1.3rem; background: linear-gradient(#bfc0c4, #6f7178); clip-path: polygon(8% 0,92% 0,100% 78%,96% 100%,4% 100%,0 78%); }
.lab-help { position: absolute; z-index: 2; bottom: 1rem; color: #aaa5b5; font-size: .72rem; }
.placed-sticker { position: absolute; z-index: 5; display: grid; padding: 0; background: transparent; cursor: grab; touch-action: none; transform: translate(-50%,-50%) rotate(var(--rotation,0deg)) scale(var(--scale,1)); }
.placed-sticker .sticker-art { width: clamp(4rem, 8vw, 7rem); }
.placed-sticker.is-selected { outline: 1px dashed #fff; outline-offset: .45rem; }
.drag-ghost { position: fixed; z-index: 999; width: 6rem; pointer-events: none; transform: translate(-50%,-50%) rotate(-4deg) scale(1.08); }
.drag-ghost .sticker-art { width: 100%; }
.lab-controls { border-left: 1px solid #47434f; }
.lab-controls button { display: grid; width: 3.4rem; min-height: 3.4rem; place-items: center; border: 1px solid #55515e; background: #18161f; color: #fff; font-weight: 760; cursor: pointer; }
.lab-controls button:nth-last-child(2) { min-height: 2.6rem; font-size: .6rem; letter-spacing: .08em; }
.lab-controls button:disabled { cursor: not-allowed; opacity: .3; }

.sticker-shop { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #121016; background: #121016; gap: 1px; }
.sticker-product { display: grid; min-height: 34rem; grid-template-rows: 1fr auto; background: var(--store-cream); color: var(--store-black); }
.sticker-product--wide { grid-column: span 2; }
.sticker-product:nth-child(2) { background: linear-gradient(var(--store-lime) 0 .55rem, var(--store-cream) .55rem); }
.sticker-product:nth-child(3) { background: linear-gradient(var(--store-cyan) 0 .55rem, var(--store-cream) .55rem); }
.sticker-product:nth-child(4) { background: linear-gradient(var(--store-yellow) 0 .55rem, var(--store-cream) .55rem); }
.sticker-product:nth-child(5) { background: linear-gradient(var(--store-pink) 0 .55rem, var(--store-cream) .55rem); }
.sticker-product:nth-child(6) { background: linear-gradient(var(--store-blue) 0 .55rem, var(--store-cream) .55rem); }
.product-visual { display: grid; min-height: 21rem; place-items: center; overflow: hidden; }
.product-visual .sticker-art { width: clamp(8rem, 14vw, 13rem); font-size: clamp(2rem, 4vw, 3.8rem); transition: transform 600ms cubic-bezier(.16,1,.3,1); }
.sticker-product:hover .product-visual .sticker-art { transform: rotate(0) scale(1.08); }
.product-info, .poster-info { padding: 1.25rem; border-top: 1px solid rgba(0,0,0,.35); }
.product-info > p:first-child, .poster-info > p:first-child { display: flex; justify-content: space-between; align-items: center; font: 650 .65rem/1 monospace; letter-spacing: .08em; text-transform: uppercase; }
.product-status { display: inline-flex; padding: .35rem .55rem; background: #111; color: #fff; }
.product-status--limited { background: var(--store-violet); }
.product-status--sold { background: #656565; }
.product-info h3, .poster-info h3 { margin-block: 1.4rem 2rem; font-size: clamp(2rem, 3.6vw, 3.8rem); }
.product-info > div:last-child, .poster-info > div:last-child { display: flex; align-items: end; justify-content: space-between; gap: 1rem; }
.product-info strong, .poster-info strong { font-size: 1.25rem; }
.product-info a, .poster-info a, .product-unavailable { padding-bottom: .15rem; border-bottom: 1px solid currentColor; font-weight: 720; }
.product-unavailable { opacity: .55; }

.poster-gallery { --room-bg: #ebe2d4; --room-ink: #17151c; --room-glow: rgba(255,177,78,.32); background: var(--room-bg); color: var(--room-ink); transition: background-color 700ms, color 700ms; }
.poster-gallery[data-ambient="night"] { --room-bg: #0b0d18; --room-ink: var(--store-cream); --room-glow: rgba(116,87,255,.4); }
.store-section-head--posters { position: relative; border-bottom: 1px solid currentColor; }
.store-section-head--posters h1 em { color: var(--store-coral); }
.ambient-toggle { justify-self: start; display: inline-flex; align-items: center; gap: .7rem; margin-top: 2rem; padding: .65rem .85rem; border: 1px solid currentColor; background: transparent; color: inherit; cursor: pointer; font-size: .72rem; font-weight: 720; letter-spacing: .08em; text-transform: uppercase; }
.ambient-icon { width: 1rem; aspect-ratio: 1; border-radius: 50%; background: #c49362; box-shadow: 0 0 1rem #c49362; }
.ambient-toggle[aria-pressed="true"] .ambient-icon { background: #776c97; box-shadow: 0 0 1.1rem #776c97; }

.poster-scale-lab { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(18rem, .6fr); min-height: 50rem; border-bottom: 1px solid currentColor; }
.poster-room { --poster-scale: 1; position: relative; display: grid; min-height: 50rem; overflow: hidden; place-items: center; background: radial-gradient(circle at 28% 18%, var(--room-glow), transparent 38%), linear-gradient(120deg, rgba(255,255,255,.12), transparent 45%); perspective: 1200px; }
.poster-room::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.08) 1px, transparent 1px); background-size: 8rem 100%; opacity: .25; }
.poster-frame { position: relative; padding: .7rem; background: #5b3c28; box-shadow: 1.8rem 2.2rem 3.5rem rgba(0,0,0,.28), inset 0 0 0 1px #9f7757; }
.poster-frame--metal { background: #25262d; box-shadow: 1.8rem 2.2rem 3.5rem rgba(0,0,0,.35), inset 0 0 0 1px #777982; }
.poster-frame--scale { z-index: 2; width: calc(18rem * var(--poster-scale)); transition: width 650ms cubic-bezier(.16,1,.3,1), transform 700ms; transform: rotateY(-4deg) rotateX(1deg); }
.poster-art { --px: 0px; --py: 0px; position: relative; isolation: isolate; display: flex; aspect-ratio: 2 / 2.83; overflow: hidden; padding: 8%; background-color: #eee8da; color: #111; }
.poster-art::after { content: ""; position: absolute; z-index: 5; inset: -8%; background: repeating-radial-gradient(circle at calc(50% + var(--px)) calc(50% + var(--py)), rgba(0,0,0,.12) 0 1px, transparent 1px 4px); mix-blend-mode: multiply; opacity: .14; transition: background-position 180ms; pointer-events: none; }
.poster-art--signal { flex-direction: column; justify-content: space-between; background: linear-gradient(155deg, var(--store-coral) 0 39%, var(--store-cream) 39% 70%, var(--store-violet) 70%); }
.poster-art--signal span { font: 860 clamp(2rem, 4.2vw, 4.8rem)/.76 var(--display); font-stretch: 65%; letter-spacing: -.07em; }
.poster-art--signal i { align-self: end; display: grid; width: 32%; aspect-ratio: 1; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-style: normal; }
.scale-phone { position: absolute; z-index: 3; right: 16%; bottom: 11%; width: 4.3rem; height: 8.5rem; padding: .35rem; border-radius: 1rem; background: #181820; box-shadow: .8rem 1rem 1.5rem rgba(0,0,0,.3); }
.scale-phone span { display: block; height: 100%; border-radius: .7rem; background: linear-gradient(145deg, var(--store-blue), var(--store-pink)); }
.room-floor { position: absolute; inset: auto 0 0; height: 16%; border-top: 1px solid rgba(0,0,0,.2); background: linear-gradient(rgba(0,0,0,.07), transparent); }
.scale-controls { align-self: stretch; display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 5vw, 5rem); padding-right: clamp(7rem, 9vw, 9rem); border-left: 1px solid currentColor; }
.scale-controls > p:first-child { display: grid; gap: .6rem; margin-bottom: 3rem; }
.scale-controls > p:first-child span, .scale-note { font: 650 .68rem/1.5 monospace; letter-spacing: .1em; text-transform: uppercase; }
.scale-controls > p:first-child strong { font-size: clamp(1.4rem, 2vw, 2.1rem); }
.scale-controls input { width: 100%; accent-color: var(--store-coral); }
.scale-controls > div { display: flex; justify-content: space-between; margin-top: .75rem; font: 700 .7rem/1 monospace; }
.scale-note { margin-top: 3rem; opacity: .6; }

.poster-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 1px; background: currentColor; }
.poster-product { display: grid; min-height: 55rem; grid-template-rows: minmax(0, 1fr) auto; background: var(--room-bg); color: var(--room-ink); }
.poster-product--hero { grid-row: span 2; min-height: 110rem; }
.poster-product--wide { grid-column: 1 / -1; grid-template-columns: 1.35fr .65fr; grid-template-rows: none; min-height: 48rem; }
.poster-mockup { display: grid; overflow: hidden; place-items: center; padding: clamp(2rem, 7vw, 8rem); background: radial-gradient(circle at 28% 18%, var(--room-glow), transparent 42%), linear-gradient(125deg, rgba(255,255,255,.12), transparent 55%); }
.poster-mockup .poster-frame { width: min(76%, 29rem); transition: transform 600ms cubic-bezier(.16,1,.3,1); }
.poster-product--hero .poster-mockup .poster-frame { width: min(76%, 40rem); }
.poster-product:hover .poster-frame { transform: translateY(-.8rem) rotateX(1deg) rotateY(-1deg); }
.poster-art--grid { align-items: end; background-color: var(--store-lime); background-image: linear-gradient(#111 1px, transparent 1px), linear-gradient(90deg,#111 1px,transparent 1px); background-size: 12.5% 12.5%; }
.poster-art--grid span { font: 840 clamp(2rem, 4vw, 4.8rem)/.76 var(--display); font-stretch: 66%; letter-spacing: -.07em; }
.poster-art--grid i { position: absolute; top: 10%; right: 10%; width: 34%; aspect-ratio: 1; border: 1.5rem solid var(--store-pink); border-radius: 50%; }
.poster-art--after { align-items: end; justify-content: space-between; background: radial-gradient(circle at 75% 25%, var(--store-pink), transparent 22%), linear-gradient(145deg,#16151e 0 55%,var(--store-violet) 55%); color: #fff; }
.poster-art--after span { font: 820 clamp(2rem, 4vw, 4.8rem)/.8 var(--display); font-stretch: 70%; }
.poster-art--after i { writing-mode: vertical-rl; font: 650 .7rem/1 monospace; letter-spacing: .1em; }
.poster-art--tide { align-items: center; justify-content: space-between; background: repeating-linear-gradient(168deg,var(--store-blue) 0 9%,var(--store-cyan) 9% 18%,var(--store-cream) 18% 27%); }
.poster-art--tide::before { content: ""; position: absolute; inset: 15%; border: 2rem solid var(--store-coral); border-radius: 50%; mix-blend-mode: multiply; }
.poster-art--tide span { position: relative; z-index: 2; font: 850 clamp(2.2rem, 5vw, 5rem)/.75 var(--display); font-stretch: 68%; letter-spacing: -.07em; }
.poster-art--tide i { position: relative; z-index: 2; align-self: end; font: 650 .58rem/1 monospace; font-style: normal; writing-mode: vertical-rl; }
.poster-info > p:nth-of-type(2) { font-size: .8rem; letter-spacing: .08em; text-transform: uppercase; opacity: .6; }
.poster-info > div:last-child { margin-top: 2.5rem; }

.store-order-note { display: grid; grid-template-columns: .45fr 1.05fr .5fr; gap: clamp(2rem, 5vw, 6rem); align-items: end; padding: clamp(5rem, 10vw, 10rem) max(var(--gutter), calc((100vw - var(--shell)) / 2 + var(--gutter))); border-top: 1px solid var(--store-lime); background: #101219; color: var(--store-cream); }
.store-order-note h2 { font-size: clamp(4.5rem, 10vw, 11rem); }
.store-order-note > p:nth-of-type(2) { font-size: 1.25rem; line-height: 1.2; }
.store-whatsapp { grid-column: 2 / -1; display: flex; align-items: center; justify-content: space-between; margin-top: 2rem; padding: 1.3rem 0; border-block: 1px solid currentColor; color: var(--store-lime); font-size: clamp(1.5rem, 3vw, 3rem); font-weight: 760; }

@keyframes sticker-peel {
  0%,100% { filter: drop-shadow(0 0 0 transparent); }
  45% { filter: drop-shadow(-.5rem .7rem 0 rgba(0,0,0,.16)); transform: perspective(400px) rotateX(8deg) rotateY(-8deg) translateY(-.3rem); }
}

@media (max-width: 70rem) {
  .store-section-head { grid-template-columns: .35fr 1fr; }
  .store-section-head > p:last-of-type { grid-column: 2; }
  .sticker-shop { grid-template-columns: repeat(2, 1fr); }
  .sticker-product--wide { grid-column: span 1; }
  .store-order-note { grid-template-columns: .35fr 1fr; }
  .store-order-note > p:nth-of-type(2) { grid-column: 2; }
  .store-whatsapp { grid-column: 2; }
}

@media (max-width: 56rem) {
  .store-hud { top: auto; right: 50%; bottom: .8rem; width: auto; grid-template-columns: auto auto auto; padding: .55rem .8rem; transform: translateX(50%); }
  .store-hud::before, .store-hud::after, .store-hud-label { display: none; }
  .store-hud-jump { grid-template-columns: auto auto auto; align-items: center; gap: .35rem; }
  .store-sound { grid-template-columns: auto auto; align-items: center; }
  .store-progress { width: 2rem; height: 2rem; }
  .store-entrance { height: auto; }
  .store-portal { position: relative; display: grid; height: auto; }
  .portal-panel { min-height: 42rem; transform: none; }
  .portal-panel:hover { flex-grow: 1; }
  .portal-title { font-size: clamp(4.7rem, 18vw, 8rem); }
  .portal-poster { left: 62%; width: min(46vw, 20rem); }
  .portal-sticker-cloud { left: 59%; width: min(70vw, 31rem); height: 28rem; }
  .store-intro { grid-template-columns: 1fr; }
  .store-intro-meta { grid-column: 1; }
  .store-section-head { grid-template-columns: 1fr; }
  .store-section-head > p:last-of-type { grid-column: 1; }
  .lab-workspace { grid-template-columns: 1fr; min-height: auto; }
  .sticker-palette { flex-flow: row wrap; justify-content: center; border-right: 0; border-bottom: 1px solid #47434f; }
  .sticker-palette > p { width: 100%; }
  .lab-stage { min-height: 38rem; padding-inline: 1rem; }
  .lab-controls { flex-flow: row wrap; justify-content: center; border-top: 1px solid #47434f; border-left: 0; }
  .lab-controls > p { width: 100%; }
  .poster-scale-lab { grid-template-columns: 1fr; }
  .scale-controls { padding-right: clamp(2rem, 5vw, 5rem); border-top: 1px solid currentColor; border-left: 0; }
  .poster-grid { grid-template-columns: 1fr; }
  .poster-product, .poster-product--hero { min-height: 48rem; grid-row: auto; }
  .poster-product--wide { grid-column: auto; grid-template-columns: 1fr; grid-template-rows: minmax(0,1fr) auto; }
  .store-order-note { grid-template-columns: 1fr; }
  .store-order-note > p:nth-of-type(2), .store-whatsapp { grid-column: 1; }
}

@media (max-width: 38rem) {
  .sticker-lab, .poster-gallery { scroll-margin-top: 4.35rem; }
  .store-notice { grid-template-columns: 1fr auto; min-height: 3.7rem; }
  .store-notice-code { display: none; }
  .store-notice p { justify-content: flex-start; padding-right: .75rem; text-align: left; font-size: .62rem; letter-spacing: .1em; }
  .portal-panel { min-height: 34rem; }
  .portal-title { top: 51%; left: 1.1rem; }
  .portal-index { top: 1.1rem; right: 1.1rem; max-width: 14rem; }
  .portal-poster { left: 64%; width: 52vw; }
  .portal-sticker-cloud { left: 61%; width: 74vw; height: 22rem; }
  .portal-action { right: 1.1rem; bottom: 1.2rem; }
  .store-intro-copy { font-size: clamp(2.7rem, 13vw, 4.6rem); }
  .store-section-head h2 { font-size: clamp(5rem, 23vw, 8rem); }
  .lab-workspace { border-top: 0; }
  .lab-sticker { width: 4.2rem; min-height: 4.2rem; }
  .lab-sticker .sticker-art { width: 3.8rem; border-width: .28rem; font-size: 1rem; }
  .lab-stage { min-height: 30rem; }
  .laptop { width: 100%; }
  .laptop-lid { width: 94%; border-width: .42rem; }
  .laptop-base { height: 1.5rem; }
  .lab-help { max-width: 16rem; text-align: center; }
  .sticker-shop { grid-template-columns: 1fr; }
  .sticker-product { min-height: 31rem; }
  .poster-room { min-height: 38rem; }
  .poster-frame--scale { width: calc(13rem * var(--poster-scale)); }
  .scale-phone { right: 8%; bottom: 12%; width: 3.5rem; height: 7rem; }
  .poster-product, .poster-product--hero { min-height: 42rem; }
  .poster-mockup { padding: 3rem 1rem; }
  .poster-mockup .poster-frame, .poster-product--hero .poster-mockup .poster-frame { width: min(76%, 20rem); }
  .store-whatsapp { font-size: 1.35rem; }
}

@media (prefers-reduced-motion: reduce) {
  .store-entrance { height: auto; }
  .store-portal { position: relative; height: 100svh; }
  .portal-panel--posters, .portal-panel--stickers { transform: none; }
  .portal-panel, .portal-poster, .portal-sticker, .poster-frame--scale { transition: none; }
  .lab-sticker:hover .sticker-art { animation: none; }
}
