:root {
  --ink: #24112f;
  --plum: #562579;
  --purple: #7c3aa3;
  --lilac: #d7a6eb;
  --mist: #f4ecf8;
  --paper: #fffdf8;
  --coral: #ff806d;
  --lime: #d8ed65;
  --line: rgba(36, 17, 47, .17);
  --radius: 28px;
  --header-h: 82px;
  --shadow: 0 28px 70px rgba(54, 24, 70, .18);
  --ease: cubic-bezier(.22, 1, .36, 1);
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: "Avenir Next", Avenir, "Trebuchet MS", sans-serif; overflow-x: hidden; }
body.is-locked { overflow: hidden; }
button, input, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
img { display: block; max-width: 100%; }
a { color: inherit; }
:focus-visible { outline: 3px solid var(--coral); outline-offset: 4px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.skip-link { position: fixed; z-index: 999; top: 10px; left: 10px; transform: translateY(-150%); background: white; padding: 12px 18px; border-radius: 999px; }
.skip-link:focus { transform: none; }

.intro { position: fixed; z-index: 500; inset: 0; display: grid; place-items: center; color: white; background: var(--ink); overflow: hidden; transition: opacity .8s var(--ease), visibility .8s; }
.skip-intro .intro { display: none; }
.intro::before, .intro::after { content: ""; position: absolute; border-radius: 50%; filter: blur(2px); opacity: .9; }
.intro::before { width: 58vw; aspect-ratio: 1; left: -18vw; bottom: -30vw; background: var(--purple); }
.intro::after { width: 42vw; aspect-ratio: 1; right: -15vw; top: -21vw; background: var(--lime); }
.intro.is-gone { opacity: 0; visibility: hidden; pointer-events: none; }
.intro__brand { position: absolute; z-index: 5; top: 20px; left: 28px; width: 168px; opacity: 0; transform: translateY(-12px); animation: introFade .65s .15s forwards; }
.intro__brand img { width: 100%; height: auto; filter: brightness(1.35) saturate(1.08) drop-shadow(0 8px 16px rgba(15,2,23,.35)); }
.intro__skip { position: absolute; z-index: 4; top: 24px; right: 28px; border: 0; border-bottom: 1px solid currentColor; padding: 4px 0; color: white; background: none; cursor: pointer; }
.intro__stage { position: relative; z-index: 2; display: grid; justify-items: center; width: min(92vw, 760px); padding-top: 42px; text-align: center; transform: translateY(20px); }
.intro__eyebrow { margin: 0 0 50px; text-transform: uppercase; letter-spacing: .22em; font-size: .75rem; font-weight: 800; opacity: 0; animation: introFade .6s .15s forwards; }
.intro__reveal { position: relative; width: min(58vw, 320px); height: min(61vw, 340px); }
.intro__box, .intro__lid { position: absolute; left: 14%; width: 72%; background: linear-gradient(145deg, #9d58c4, #5b2579); border: 3px solid #d9aaf0; box-shadow: inset -18px -18px 0 rgba(39, 13, 55, .2), 0 16px 30px rgba(19,4,27,.22); }
.intro__box { bottom: 0; height: 46%; border-radius: 8px 8px 24px 24px; }
.intro__box::before { content: "?"; display: grid; place-items: center; height: 100%; font-weight: 900; font-size: clamp(3rem, 9vw, 5rem); color: #ffe8a3; }
.intro__box { z-index: 4; }
.intro__lid { z-index: 5; bottom: 42%; height: 22%; border-radius: 16px 16px 7px 7px; transform-origin: 8% 80%; animation: lidOpen 1s .55s var(--ease) forwards; }
.intro__mascot-wrap { position: absolute; z-index: 3; left: 18%; bottom: 25%; width: 64%; padding: 0; border: 0; background: transparent; opacity: 0; cursor: pointer; transform: translateY(88px) scale(.62); animation: mascotPop 1s .8s var(--ease) forwards; }
.intro__mascot { width: 100%; height: auto; filter: drop-shadow(0 14px 15px rgba(27,4,37,.28)); transform-origin: 50% 88%; animation: mascotDance 1.6s 1.85s ease-in-out infinite; }
.intro__mascot-wrap:hover .intro__mascot, .intro__mascot-wrap:focus-visible .intro__mascot { filter: brightness(1.08) drop-shadow(0 18px 20px rgba(27,4,37,.42)); }
.intro__confetti { position: absolute; z-index: 6; inset: 0; pointer-events: none; }
.intro__confetti span { position: absolute; left: 50%; bottom: 43%; width: 9px; height: 15px; background: var(--piece-color, var(--coral)); border-radius: 2px; opacity: 0; animation: confettiBurst 1.15s calc(.72s + var(--piece-delay, 0s)) var(--ease) forwards; }
.intro__confetti span:nth-child(3n) { width: 15px; height: 15px; background: var(--lime); clip-path: polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 94%,50% 72%,21% 94%,32% 57%,2% 35%,39% 35%); }
.intro__confetti span:nth-child(4n) { width: 10px; height: 10px; border-radius: 50%; background: #ffe8a3; }
.intro__enter { position: relative; min-height: 58px; margin-top: 28px; padding-inline: 30px; color: var(--ink); border: 2px solid rgba(255,255,255,.78); box-shadow: 0 0 0 0 rgba(197,226,72,.45), 0 18px 35px rgba(15,2,23,.28); opacity: 0; overflow: hidden; animation: introFade .7s 1.65s forwards, buttonPulse 1.8s 2.35s ease-in-out infinite; }
.intro__enter::before { content: ""; position: absolute; inset: -20% auto -20% -35%; width: 28%; background: rgba(255,255,255,.55); transform: skewX(-18deg); animation: buttonShine 1.9s 2.2s ease-in-out infinite; }
.intro__enter span { position: relative; z-index: 1; }
.intro__stars { position: absolute; inset: 0; opacity: .45; background-image: radial-gradient(circle, #fff 1.3px, transparent 1.8px); background-size: 70px 70px; transform: rotate(8deg) scale(1.1); }
@keyframes lidOpen { to { transform: translate(-72%, -72px) rotate(-28deg); } }
@keyframes lidOpenMobile {
  0%, 18% { opacity: 1; transform: translate(0, 0) rotate(0); }
  55% { opacity: 1; transform: translate(28%, 115px) rotate(42deg); }
  100% { opacity: 0; transform: translate(38%, 360px) rotate(105deg); }
}
@keyframes mascotPop { 60% { opacity: 1; transform: translateY(-28px) scale(1.08) rotate(3deg); } 100% { opacity: 1; transform: translateY(-15px) scale(1); } }
@keyframes mascotDance { 0%,100% { transform: translateY(0) rotate(-2deg); } 35% { transform: translateY(-8px) rotate(3deg); } 70% { transform: translateY(-3px) rotate(-1deg) scale(1.025); } }
@keyframes confettiBurst { 0% { opacity: 0; transform: translate(-50%, 15px) rotate(0); } 12% { opacity: 1; } 78% { opacity: 1; } 100% { opacity: 0; transform: translate(calc(-50% + var(--piece-x)), var(--piece-y)) rotate(var(--piece-rotate)); } }
@keyframes buttonPulse { 0%,100% { box-shadow: 0 0 0 0 rgba(202,231,75,.42), 0 18px 35px rgba(15,2,23,.28); } 50% { box-shadow: 0 0 0 12px rgba(202,231,75,0), 0 22px 42px rgba(15,2,23,.36); } }
@keyframes buttonShine { 0%,35% { left: -35%; } 70%,100% { left: 120%; } }
@keyframes introFade { to { opacity: 1; transform: translateY(0); } }

.site-header { position: fixed; z-index: 80; top: 0; left: 0; right: 0; height: var(--header-h); display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 24px; padding: 0 clamp(20px, 4vw, 64px); color: white; background: transparent; border-bottom: 1px solid transparent; transition: background .38s var(--ease), box-shadow .38s var(--ease), border-color .38s var(--ease), backdrop-filter .38s; }
.site-header.is-scrolled { background: linear-gradient(105deg, rgba(171, 73, 146, .94), rgba(84, 31, 117, .96)); border-color: rgba(255,255,255,.14); box-shadow: 0 12px 38px rgba(36,17,47,.19); backdrop-filter: blur(16px); }
.brand { position: relative; z-index: 3; display: flex; align-items: center; justify-self: start; width: 138px; height: 64px; text-decoration: none; touch-action: manipulation; }
.brand img { width: 100%; height: 100%; object-fit: contain; object-position: left center; filter: brightness(1.28) saturate(1.08) drop-shadow(0 5px 12px rgba(20,2,30,.25)); }
.site-nav { justify-self: center; display: flex; align-items: center; gap: clamp(20px, 2.5vw, 36px); font-size: .88rem; font-weight: 800; line-height: 1; text-transform: uppercase; letter-spacing: .075em; }
.site-nav a { position: relative; text-decoration: none; }
.site-nav > a, .site-nav > .nav-account-link { display: inline-flex; align-items: center; min-height: 44px; white-space: nowrap; }
.site-nav a::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -6px; height: 2px; background: var(--coral); transition: right .3s; }
.site-nav a:hover::after, .site-nav a[aria-current="page"]::after { right: 0; }
.header-actions { justify-self: end; display: flex; align-items: center; gap: 10px; }
.header-account-link { display:none;align-items:center;justify-content:center;min-height:40px;padding:0 14px;color:#fff;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.42);border-radius:999px;font-size:.76rem;font-weight:900;line-height:1;cursor:pointer;transition:background .22s,transform .22s var(--ease),border-color .22s; }
.header-account-link:hover { color:var(--plum);background:var(--lime);border-color:var(--lime);transform:translateY(-2px); }
.whatsapp-button { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px 0 11px; color: #11251a; background: #71e99c; border: 1px solid rgba(255,255,255,.65); border-radius: 999px; font-size: .76rem; font-weight: 900; text-decoration: none; box-shadow: 0 7px 18px rgba(16,72,38,.18); transition: transform .25s var(--ease), background .25s, box-shadow .25s; }
.whatsapp-button svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.whatsapp-button svg path:last-child { fill: currentColor; stroke: none; }
.whatsapp-button:hover { background: #9cf3ba; box-shadow: 0 10px 24px rgba(16,72,38,.26); transform: translateY(-2px); }
.social-links { display: flex; align-items: center; gap: 8px; }
.social-links a { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; transition: color .25s, background .25s, border-color .25s, transform .25s var(--ease); }
.social-links svg { width: 18px; height: 18px; fill: currentColor; stroke: none; }
.social-links svg rect, .social-links svg circle:not(.social-dot) { fill: none; stroke: currentColor; stroke-width: 1.8; }
.social-links .social-dot { fill: currentColor; stroke: none; }
.social-links--header a { color: white; border: 1px solid rgba(255,255,255,.42); background: rgba(255,255,255,.08); }
.social-links--header a:hover { color: var(--ink); background: var(--coral); border-color: var(--coral); transform: translateY(-2px) rotate(-4deg); }
.social-links--nav { display: none; }
.cart-button { justify-self: end; display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 7px 7px 7px 16px; color: var(--ink); background: var(--paper); border: 0; border-radius: 999px; font-size: .82rem; font-weight: 800; cursor: pointer; }
.cart-button svg { width: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.cart-button b { display: grid; place-items: center; min-width: 30px; height: 30px; padding: 0 5px; color: white; background: var(--purple); border-radius: 50%; }
.nav-toggle { display: none; }
.nav-account-link { position:relative;padding:0;color:inherit;background:none;border:0;font:inherit;font-weight:inherit;text-transform:inherit;letter-spacing:inherit;cursor:pointer;white-space:nowrap; }
.nav-account-link::after { content:"";position:absolute;left:0;right:100%;bottom:-6px;height:2px;background:var(--coral);transition:right .3s; }
.nav-account-link:hover::after,.nav-account-link:focus-visible::after { right:0; }

.hero { position: relative; min-height: 100svh; display: grid; grid-template-columns: minmax(0, .9fr) minmax(390px, 1.1fr); align-items: center; gap: 4vw; padding: calc(var(--header-h) + 54px) clamp(22px, 6vw, 96px) 100px; color: white; background: var(--plum); overflow: hidden; }
.hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(110deg, rgba(28,5,39,.2), transparent 52%), radial-gradient(circle at 79% 42%, rgba(223,176,244,.27), transparent 30%); }
.hero__copy { position: relative; z-index: 2; max-width: 720px; }
.kicker, .section-index { margin: 0 0 18px; font-size: .76rem; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; }
.hero h1 { max-width: 760px; margin: 0; color: var(--lime); font-size: clamp(3.5rem, 7vw, 7.8rem); line-height: 1.1; letter-spacing: -.065em; text-wrap: balance; }
.hero__text { max-width: 560px; margin: 28px 0 0; font-size: clamp(1rem, 1.45vw, 1.3rem); line-height: 1.55; color: #f0dbf8; }
.hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 24px; margin-top: 34px; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 24px; border: 0; border-radius: 999px; text-decoration: none; font-weight: 900; cursor: pointer; transition: transform .25s var(--ease), box-shadow .25s; }
.button:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(36,17,47,.2); }
.button--coral { color: var(--ink); background: var(--coral); }
.button--lime { color:var(--plum);background:linear-gradient(135deg,#f2ff98 0%,var(--lime) 48%,#b8d83f 100%);background-size:180% 180%;border:1px solid rgba(126,155,35,.55);box-shadow:0 11px 26px rgba(181,217,60,.24),inset 0 1px 0 rgba(255,255,255,.72);transition:transform .25s var(--ease),box-shadow .25s,background-position .35s,filter .25s; }
.button--lime:hover { color:var(--plum);background-position:100% 100%;box-shadow:0 16px 34px rgba(181,217,60,.34),inset 0 1px 0 rgba(255,255,255,.78);filter:saturate(1.08);transform:translateY(-3px) scale(1.015); }
.button--lime:active { transform:translateY(0) scale(.99); }
.button--lime:focus-visible { outline:3px solid #fff;outline-offset:4px; }
.button--light { color: var(--ink); background: white; }
.button--dark { color: white; background: var(--ink); }
.button--wide { width: 100%; }
.hero__shop-button { position: relative; color: white; background: linear-gradient(135deg, #d85fb0, #8b3dac); border: 2px solid rgba(255,255,255,.82); box-shadow: 0 12px 32px rgba(223,126,210,.35); overflow: hidden; text-shadow: 0 1px 2px rgba(37,8,47,.48); animation: heroCtaPulse 2.8s ease-in-out infinite; }
.hero__shop-button::before { content: ""; position: absolute; inset: -30% auto -30% -35%; width: 24%; background: rgba(255,255,255,.62); transform: skewX(-18deg); animation: heroCtaShine 2.6s ease-in-out infinite; }
.hero__shop-button:hover { color: white; background: linear-gradient(135deg, #a84fc4, #d959a3); box-shadow: 0 17px 38px rgba(223,126,210,.42); animation-play-state: paused; }
@keyframes heroCtaPulse { 0%,100% { transform: translateY(0); box-shadow: 0 12px 32px rgba(223,126,210,.3); } 50% { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(223,126,210,.44); } }
@keyframes heroCtaShine { 0%,38% { left: -35%; } 72%,100% { left: 125%; } }
.text-link { display: inline-flex; gap: 20px; align-items: center; padding-bottom: 4px; color: white; border-bottom: 1px solid currentColor; text-decoration: none; font-weight: 800; }
.text-link span { transition: transform .25s; }
.text-link:hover span { transform: translate(4px, 4px); }
.text-link--dark { color: var(--ink); }
.hero__visual { position: relative; z-index: 1; justify-self: end; width: min(48vw, 720px); aspect-ratio: 1; }
.hero__image-wrap { position: absolute; inset: 7% 4% 3% 7%; overflow: hidden; border-radius: 52% 48% 44% 56% / 46% 44% 56% 54%; background: var(--lilac); box-shadow: 0 35px 100px rgba(20,2,30,.3); animation: blobFloat 7s ease-in-out infinite; }
.hero__image-wrap img { width: 100%; height: 100%; object-fit: contain; object-position: 50% 50%; mix-blend-mode: multiply; transform: scale(.86); }
.hero__burst { position: absolute; z-index: 3; top: 2%; right: 0; display: grid; place-items: center; width: 112px; aspect-ratio: 1; color: var(--ink); background: var(--lime); clip-path: polygon(50% 0,61% 22%,81% 8%,82% 31%,100% 34%,85% 51%,100% 66%,78% 70%,80% 94%,60% 81%,49% 100%,39% 80%,18% 94%,20% 70%,0 65%,15% 50%,0 34%,21% 30%,19% 7%,40% 21%); font-weight: 900; line-height: .9; text-align: center; transform: rotate(9deg); }
.hero__note { position: absolute; z-index: 3; right: 7%; bottom: 1%; margin: 0; padding: 11px 18px; color: var(--ink); background: var(--paper); border-radius: 999px; font-size: .78rem; font-weight: 900; transform: rotate(-3deg); }
.hero__note span { color: var(--coral); }
.hero__orbit { position: absolute; border: 1px solid rgba(255,255,255,.22); border-radius: 50%; pointer-events: none; }
.hero__orbit--one { width: 52vw; aspect-ratio: 1; right: -5vw; top: 12vh; }
.hero__orbit--two { width: 30vw; aspect-ratio: 1; right: 9vw; top: 25vh; }
.hero__marquee { position: absolute; left: 0; bottom: -27px; margin: 0; white-space: nowrap; color: rgba(255,255,255,.075); font-size: clamp(5rem, 10vw, 11rem); font-weight: 900; letter-spacing: -.05em; }
@keyframes blobFloat { 0%,100% { transform: translateY(0) rotate(-1deg); } 50% { transform: translateY(-14px) rotate(1deg); } }

.manifesto { display: grid; grid-template-columns: .55fr 1.45fr .75fr; gap: 5vw; padding: 120px clamp(22px, 6vw, 96px); background: var(--lime); }
.manifesto__statement { font-size: clamp(2.8rem, 5.6vw, 6.5rem); line-height: .94; letter-spacing: -.06em; }
.manifesto__statement span, .manifesto__statement strong { display: block; }
.manifesto__statement strong { color: var(--plum); }
.manifesto__details { align-self: end; font-size: 1.08rem; line-height: 1.65; }
.manifesto__details .text-link { margin-top: 16px; }
.manifesto__cta-hug { position: relative; display: grid; place-items: end center; width: min(100%, 280px); min-height: 190px; margin-inline: auto; }
.manifesto__cta-hug img { position: absolute; z-index: 0; left: 50%; bottom: 31px; width: 152px; height: auto; pointer-events: none; filter: drop-shadow(0 14px 20px rgba(74,22,91,.2)); transform: translateX(-50%) rotate(-2deg); transform-origin: 50% 85%; transition: transform .35s var(--ease); }
.manifesto__story-button { position: relative; z-index: 1; min-width: 250px; color: white; background: linear-gradient(135deg, #873ca8 0%, #bd4ca9 54%, #e269b5 100%); border: 2px solid rgba(255,255,255,.72); box-shadow: 0 14px 28px rgba(88,27,105,.24), inset 0 1px 0 rgba(255,255,255,.34); text-shadow: 0 1px 2px rgba(42,8,51,.35); }
.manifesto__cta-hug:hover img { transform: translateX(-50%) translateY(-5px) rotate(2deg); }
.manifesto__story-button:hover { color: white; background: linear-gradient(135deg, #9b45ba 0%, #d257b6 54%, #ee7bc2 100%); box-shadow: 0 18px 36px rgba(88,27,105,.3), inset 0 1px 0 rgba(255,255,255,.4); }

.shop { padding: 120px clamp(22px, 6vw, 96px) 140px; background: var(--paper); }
.section-heading { display: grid; grid-template-columns: 1.5fr .6fr; align-items: end; gap: 6vw; }
.section-heading h2, .about h2, .contact h2, .drop-banner h2 { margin: 0; font-size: clamp(3rem, 6vw, 6.8rem); line-height: .9; letter-spacing: -.065em; }
.section-heading > p { max-width: 430px; margin: 0 0 8px; line-height: 1.6; }
.product-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin: 54px 0 30px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
.filter { min-height: 42px; padding: 0 18px; border: 1px solid var(--line); border-radius: 999px; background: transparent; font-size: .76rem; font-weight: 850; letter-spacing: .035em; text-transform: uppercase; cursor: pointer; transition: .25s; }
.filter:hover, .filter.is-active { color: white; background: var(--plum); border-color: var(--plum); }
.carousel-controls { display: flex; gap: 8px; flex: 0 0 auto; }
.carousel-controls button { width: 46px; height: 46px; border: 1px solid var(--line); border-radius: 50%; background: white; font-size: 1.25rem; cursor: pointer; transition: .25s; }
.carousel-controls button:hover { color: white; background: var(--plum); border-color: var(--plum); transform: translateY(-2px); }
.product-carousel { overflow: hidden; }
.product-grid { display: flex; gap: clamp(16px, 2.4vw, 38px); overflow-x: auto; padding: 0 1px 12px; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-inline: contain; }
.product-grid.is-loop { scroll-snap-type: none; cursor: grab; }
.product-grid.is-loop:active, .product-grid.is-dragging { cursor: grabbing; user-select: none; }
.product-grid.is-dragging img { pointer-events: none; -webkit-user-drag: none; }
.product-grid::-webkit-scrollbar { display: none; }
.product-card { position: relative; flex: 0 0 calc((100% - clamp(32px, 4.8vw, 76px)) / 3); min-width: 0; scroll-snap-align: start; }
.product-card.is-hidden { display: none; }
.product-card__visual { position: relative; aspect-ratio: .92; overflow: hidden; border-radius: var(--radius); background: var(--mist); cursor: pointer; }
.product-card__visual img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--ease); }
.product-card:hover .product-card__visual img { transform: scale(1.055); }
.product-card__badge { position: absolute; top: 14px; left: 14px; padding: 8px 12px; color: var(--ink); background: var(--lime); border-radius: 999px; font-size: .68rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.product-card__meta { display: grid; grid-template-columns: 1fr; gap: 8px; align-items: start; padding: 18px 4px 0; }
.product-card__category { grid-column: 1 / -1; margin: 0; color: var(--purple); font-size: .68rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.product-card h3 { margin: 0; font-size: clamp(1.15rem, 1.5vw, 1.5rem); }
.product-card__price, .price-pair { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; font-weight: 900; }
.product-card__price del, .price-pair del { color: #8c7b94; font-size: .82em; font-weight: 700; text-decoration-thickness: 2px; }
.product-card__price strong, .price-pair strong { color: var(--plum); }
.product-card__add { position: relative; z-index: 2; grid-column: 1 / -1; justify-self: start; padding: 0; border: 0; border-bottom: 1px solid currentColor; background: none; font-weight: 800; cursor: pointer; }
.product-card__add:hover { color: var(--purple); }
.product-card__open { position: absolute; z-index: 1; inset: 0; width: 100%; padding: 0; background: transparent; border: 0; border-radius: var(--radius); cursor: pointer; }
.product-card__open:focus-visible { outline: 3px solid var(--purple); outline-offset: 5px; }
.product-card--interactive { cursor: pointer; }
.shop__all { margin-top: 34px; }

.drop-banner { min-height: 680px; display: grid; grid-template-columns: 1fr 1fr; color: white; background: var(--plum); }
.drop-banner__image { min-height: 580px; overflow: hidden; }
.drop-banner__image img { width: 100%; height: 100%; object-fit: cover; }
.drop-banner__copy { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: clamp(50px, 8vw, 130px); }
.drop-banner h2 { max-width: 780px; margin: 0; color: var(--lime); font-size: clamp(2.7rem, 4.2vw, 5rem); line-height: 1.02; text-wrap: balance; }
.drop-banner__copy > p:not(.kicker) { max-width: 530px; margin: 28px 0; color: #edd9f5; font-size: 1.08rem; line-height: 1.6; }

.about { display: grid; grid-template-columns: 1.1fr .9fr; align-items: stretch; background: var(--mist); }
.about__media { position: relative; min-height: 680px; display: flex; align-items: center; padding: 58px 3vw 58px 7vw; }
.about__illustration { width: min(74%, 540px); height: min(68vh, 590px); object-fit: cover; object-position: 50% 42%; border-radius: 220px 220px 30px 30px; box-shadow: var(--shadow); }
.about__portrait { position: absolute; right: 5%; bottom: 5%; width: 36%; margin: 0; padding: 9px; background: var(--paper); box-shadow: var(--shadow); transform: rotate(4deg); }
.about__portrait img { width: 100%; aspect-ratio: .85; object-fit: cover; object-position: 50% 38%; }
.about__portrait figcaption { padding: 9px 6px 4px; font-size: .72rem; font-weight: 800; }
.about__copy { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 72px 8vw 72px 4vw; }
.about__quote { margin: 0 0 28px; color: var(--purple); font-size: 1rem; font-weight: 900; }
.about h2 { margin-bottom: 30px; color: #4b176a; }
.about__copy > p:not(.section-index):not(.about__quote) { max-width: 590px; margin: 0 0 18px; font-size: 1.06rem; line-height: 1.7; }
.about .button { margin-top: 20px; }
.about__closing-lines { color: var(--plum); font-weight: 850; }
.about__contact-button { min-width: 168px; border: 2px solid rgba(75,23,106,.18); box-shadow: 0 14px 30px rgba(124,58,163,.19); }
.about__contact-button:hover { box-shadow: 0 18px 38px rgba(124,58,163,.27); }

.contact { display: grid; grid-template-columns: 1fr .8fr; gap: 8vw; padding: 130px clamp(22px, 7vw, 120px); color: white; background: linear-gradient(135deg,#4b1d61 0%,#6d2d87 56%,#8b3dac 100%); }
.contact h2 { color: var(--lime); font-size: clamp(2.8rem, 5.2vw, 6rem); line-height: .94; }
.contact__heading > p:not(.section-index) { max-width: 580px; margin: 28px 0; color: var(--lilac); font-size: 1.08rem; line-height: 1.65; }
.contact-business { display: grid; grid-template-columns: minmax(0,1fr) 172px; grid-template-rows: auto auto; align-items: start; gap: 16px 24px; width: 100%; max-width: 580px; margin-top: 34px; padding-top: 28px; border-top: 1px solid rgba(215,166,235,.28); }
.contact-business address { display: grid; gap: 7px; margin: 0; color: #d9cbe0; font-style: normal; line-height: 1.45; }
.contact-business address strong { color: white; font-size: 1.02rem; }
.contact-business address span { font-size: .92rem; }
.contact-map { grid-column: 2; grid-row: 1 / span 2; width: 172px; aspect-ratio: 1; overflow: hidden; background: #3b2146; border: 1px solid rgba(215,166,235,.42); border-radius: 22px; box-shadow: 0 18px 38px rgba(0,0,0,.2); }
.contact-map__preview { display:block;width:100%;height:100%;object-fit:cover; }
.contact-map iframe { position:absolute;z-index:2;inset:0;width:100%;height:100%;border:0;opacity:0;filter:saturate(.8) contrast(1.02);transition:opacity .24s ease; }
.contact-map.is-enabled iframe { opacity:1; }
.contact-map .consent-embed__notice { inset:auto 8px 8px;width:calc(100% - 16px);padding:8px 9px;color:white;background:rgba(57,24,73,.88);border:1px solid rgba(255,255,255,.42);border-radius:11px;box-shadow:0 7px 18px rgba(29,9,38,.24);font-size:.63rem;line-height:1.2;backdrop-filter:blur(8px); }
.contact-map .consent-embed__notice small { margin-top:2px;color:#e8d9ed;font-size:.55rem; }
.contact-channel svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; transition: transform .22s ease; }
.contact-channels { grid-column: 1; grid-row: 2; display: flex; gap: 12px; padding-top: 2px; }
.contact-channel { display: grid; place-items: center; width: 48px; height: 48px; color: var(--lilac); background: rgba(255,255,255,.04); border: 1px solid rgba(215,166,235,.46); border-radius: 50%; cursor: pointer; transition: color .22s ease, background-color .22s ease, border-color .22s ease, box-shadow .22s ease, transform .22s var(--ease); }
.contact-channel:hover { color: var(--plum); background: var(--lime); border-color: var(--lime); box-shadow: 0 10px 26px rgba(196,233,61,.28); transform: translateY(-3px) scale(1.05); }
.contact-channel:hover svg { transform: scale(1.08); }
.contact-channel:active { transform: translateY(-1px) scale(.98); }
.domain-link { color: var(--coral); font-weight: 900; }
.contact-form { display: grid; gap: 24px; align-content: center; }
.contact-form__row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; }
.contact-form label { display: grid; gap: 9px; color: #dfd2e5; font-size: .78rem; font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.contact-form input, .contact-form textarea { width: 100%; padding: 13px 0; color: white; background: transparent; border: 0; border-bottom: 1px solid rgba(255,255,255,.3); border-radius: 0; outline: 0; resize: vertical; text-transform: none; letter-spacing: 0; }
.contact-form input::placeholder, .contact-form textarea::placeholder { color: rgba(255,255,255,.42); }
.contact-form input:focus, .contact-form textarea:focus { border-color: var(--lime); }
.contact-form .button { justify-self: start; }
.contact-form small { color: #9d8fa5; }
.contact-form .contact-form__destination { margin-top:-10px;color:#d8cbe0;font-size:.72rem;line-height:1.45; }
.contact-form__consent { display: grid !important; grid-template-columns: 18px minmax(0,1fr); align-items: center; gap: 10px !important; color: #cfc0d6 !important; font-size: .74rem !important; font-weight: 600 !important; line-height: 1.45; letter-spacing: 0 !important; text-transform: none !important; }
.contact-form__consent input { width: 18px !important; min-width: 18px; min-height: 18px; height: 18px !important; margin: 0 !important; padding: 0 !important; align-self: center; border: 1px solid rgba(255,255,255,.55); accent-color: var(--lime); }
.contact-form__consent span { display: block; min-width: 0; margin: 0; }
.contact-form__consent a { color: var(--lime); font-weight: 850; }
.contact-form__honeypot { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.contact-form .button:disabled { cursor: wait; opacity: .65; }
.contact-form__status { min-height: 1.5em; margin: -10px 0 0; font-size: .82rem; font-weight: 800; line-height: 1.5; }
.contact-form__status.is-success { color: var(--lime); }
.contact-form__status.is-error { color: #ff9eaa; }
.contact__action { position: relative; align-self: center; padding: clamp(28px,4vw,54px); background: linear-gradient(145deg, rgba(124,58,163,.48), rgba(255,255,255,.07)); border: 1px solid rgba(216,237,101,.34); border-radius: var(--radius); box-shadow: 0 28px 70px rgba(0,0,0,.2); overflow: hidden; }
.contact__action::after { content: ""; position: absolute; width: 190px; aspect-ratio: 1; right: -75px; bottom: -100px; background: var(--lilac); border-radius: 50%; opacity: .16; }
.contact__action p { position: relative; z-index: 1; max-width: 500px; margin: 0 0 26px; color: #f4eaf7; font-size: 1.08rem; line-height: 1.65; }
.contact__action .button { position: relative; z-index: 1; }
.contact__spark { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 22px; color: var(--ink); background: var(--lime); border-radius: 50%; font-size: 1.3rem; box-shadow: 0 0 0 9px rgba(216,237,101,.12); }

.contact-dialog { width: min(880px, calc(100vw - 32px)); max-height: none; padding: 0; color: var(--ink); background: transparent; border: 0; border-radius: 30px; box-shadow: 0 34px 110px rgba(22,5,30,.42); overflow: hidden; }
.contact-dialog[open] { animation: contactDialogIn .28s var(--ease); }
.contact-dialog::backdrop { background: rgba(25,7,34,.72); backdrop-filter: blur(8px); }
.contact-dialog__shell { position: relative; min-height: 560px; padding: clamp(28px,5vw,58px); background: linear-gradient(145deg, #fffdf8 0 67%, #f0def6 100%); border: 1px solid rgba(255,255,255,.7); border-radius: 30px; overflow: hidden; }
.contact-dialog__shell::before { content: ""; position: absolute; width: 260px; aspect-ratio: 1; top: -150px; right: -90px; background: linear-gradient(135deg, var(--lilac), var(--purple)); border-radius: 50%; opacity: .24; }
.contact-dialog__close { position: absolute; z-index: 2; top: 20px; right: 20px; color: white; background: var(--plum); border-color: rgba(255,255,255,.4); }
.contact-dialog__intro { position: relative; z-index: 1; max-width: 660px; margin-bottom: 34px; padding-right: 36px; }
.contact-dialog__intro .kicker { color: var(--purple); }
.contact-dialog__intro h2 { margin: 6px 0 12px; color: var(--plum); font-size: clamp(2.35rem,5vw,4.4rem); line-height: .96; letter-spacing: -.05em; }
.contact-dialog__intro > p:last-child { max-width: 580px; margin: 0; color: #695b70; line-height: 1.55; }
.contact-dialog__form { position: relative; z-index: 1; display: grid; gap: 19px; }
.contact-dialog__row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.contact-dialog__form label { display: grid; gap: 8px; color: var(--plum); font-size: .74rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.contact-dialog__form input, .contact-dialog__form textarea { width: 100%; min-height: 52px; padding: 13px 15px; color: var(--ink); background: rgba(255,255,255,.9); border: 1px solid rgba(86,37,121,.22); border-radius: 14px; outline: 0; resize: vertical; text-transform: none; letter-spacing: 0; box-shadow: 0 6px 18px rgba(62,25,80,.05); transition: border-color .2s, box-shadow .2s; }
.contact-dialog__form textarea { min-height: 124px; }
.contact-dialog__form input:focus, .contact-dialog__form textarea:focus { border-color: var(--purple); box-shadow: 0 0 0 4px rgba(124,58,163,.12); }
.contact-dialog__consent { display: grid !important; grid-template-columns: 19px minmax(0,1fr); align-items: center; gap: 11px !important; color: #62536a !important; font-size: .78rem !important; font-weight: 650 !important; line-height: 1.45; letter-spacing: 0 !important; text-transform: none !important; }
.contact-dialog__consent input { width: 19px !important; min-width: 19px; min-height: 19px !important; height: 19px !important; margin: 0 !important; padding: 0 !important; align-self: center; accent-color: var(--purple); box-shadow: none; }
.contact-dialog__consent span { display: block; min-width: 0; margin: 0; }
.contact-dialog__consent a { color: var(--plum); font-weight: 900; }
.contact-dialog__form > .button { justify-self: start; min-width: 138px; }
.contact-dialog__form > .button:disabled { cursor: wait; opacity: .68; }
.contact-dialog__honeypot { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.contact-dialog__error { min-height: 1.4em; margin: -7px 0 0; color: #a3193c; font-size: .82rem; font-weight: 800; }
.contact-thankyou { position: fixed; z-index: 96; top: 50%; left: 50%; width: min(780px,calc(100% - 36px)); pointer-events: none; opacity: 0; transform: translate(-50%,calc(-50% - 18px)) scale(.97); transition: opacity .28s ease, transform .36s var(--ease); }
.contact-thankyou[hidden] { display: none; }
.contact-thankyou.is-visible { opacity: 1; transform: translate(-50%,-50%) scale(1); }
.contact-thankyou__scene { display: grid; grid-template-columns: minmax(170px,250px) minmax(280px,1fr); grid-template-rows: auto auto; align-items: start; gap: 18px clamp(20px,4vw,42px); width: 100%; }
.contact-thankyou__scene img { grid-row: 1 / span 2; width: 100%; filter: drop-shadow(0 20px 28px rgba(31,8,42,.32)); animation: mascotDance 1.8s ease-in-out infinite; }
.contact-thankyou__bubble { position: relative; display: grid; align-self: start; gap: 8px; margin-top: 30px; padding: clamp(24px,3vw,36px); color: white; background: linear-gradient(135deg, var(--plum), #8d43aa); border-radius: 30px 30px 30px 8px; box-shadow: 0 22px 52px rgba(31,8,42,.28); pointer-events: auto; }
.contact-thankyou__bubble::before { content: ""; position: absolute; left: -20px; top: 50%; border: 12px solid transparent; border-right-color: var(--plum); border-bottom-color: var(--plum); transform: translateY(-50%); }
.contact-thankyou__bubble strong { color: var(--lime); font-size: clamp(1.55rem,3vw,2.5rem); line-height: 1; }
.contact-thankyou__bubble span { font-size: 1.02rem; line-height: 1.5; }
.contact-thankyou__scene .button { grid-column: 2; justify-self: center; min-width: 138px; pointer-events: auto; }
@keyframes contactDialogIn { from { opacity: 0; transform: translateY(18px) scale(.98); } to { opacity: 1; transform: none; } }
@media (min-width: 721px) {
  .contact-dialog { width: min(820px, calc(100vw - 48px)); }
  .contact-dialog__shell { min-height: 0; padding: 32px 48px 34px; }
  .contact-dialog__close { top: 16px; right: 16px; }
  .contact-dialog__intro { margin-bottom: 20px; }
  .contact-dialog__intro h2 { max-width: 650px; margin-block: 4px 9px; font-size: clamp(2.8rem, 4.6vw, 3.75rem); line-height: .94; }
  .contact-dialog__intro > p:last-child { font-size: .94rem; line-height: 1.45; }
  .contact-dialog__form { gap: 13px; }
  .contact-dialog__row { gap: 16px; }
  .contact-dialog__form label { gap: 6px; }
  .contact-dialog__form input, .contact-dialog__form textarea { min-height: 46px; padding: 10px 14px; }
  .contact-dialog__form textarea { min-height: 90px; }
  .contact-dialog__consent { margin-top: 2px; }
  .contact-dialog__form > .button { min-height: 46px; }
  .contact-dialog__error { min-height: 1em; margin-top: -5px; }
}
.site-footer { display: grid; grid-template-columns: minmax(210px,1.15fr) minmax(250px,1.25fr) minmax(150px,.7fr) minmax(160px,.7fr); align-items: start; gap: clamp(32px,5vw,78px); padding: 70px clamp(22px,6vw,96px) 28px; color: white; background: var(--ink); font-size: .88rem; font-weight: 600; }
.site-footer__brand img { width: 180px; height: 94px; object-fit: contain; object-position: left center; filter: brightness(1.3) saturate(1.08); }
.site-footer__brand > p { margin: 12px 0 20px; color: var(--lilac); }
.site-footer h2 { margin: 0 0 20px; color: var(--lime); font-size: .78rem; font-weight: 900; letter-spacing: .1em; line-height: 1.45; text-transform: uppercase; }
.site-footer__company address { display: grid; gap: 10px; color: #eadbf0; font-style: normal; line-height: 1.5; }
.site-footer__company a,.site-footer__nav a,.site-footer__nav button { width: fit-content; color: white; text-decoration: none; transition: color .22s,transform .22s; }
.site-footer__nav button { margin:0; padding:0; background:none; border:0; font:inherit; text-align:left; cursor:pointer; }
.site-footer__company a { font-weight: 800; text-decoration: none; }
.site-footer__company a:hover,.site-footer__nav a:hover,.site-footer__nav button:hover { color: var(--lime); transform: translateX(3px); }
.site-footer__nav { display: grid; align-content: start; gap: 11px; }
.site-footer .social-links--footer a { color: white; border: 1px solid rgba(255,255,255,.3); background: rgba(255,255,255,.06); }
.site-footer .social-links--footer a:hover { color: var(--ink); background: var(--lime); border-color: var(--lime); transform: translateY(-3px); }
.site-footer__bottom { grid-column: 1 / -1; display: flex; justify-content: space-between; gap: 20px; margin-top: 8px; padding-top: 24px; color: #cdbbd4; border-top: 1px solid rgba(255,255,255,.16); font-size: .76rem; font-weight: 700; }

body.has-legal-dialog { overflow:hidden; }
.legal-dialog { width:min(900px,calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 32px); margin:auto; padding:0; color:var(--ink); background:transparent; border:0; border-radius:30px; box-shadow:0 36px 120px rgba(23,5,33,.5); overflow:hidden; }
.legal-dialog[open] { display:grid; animation:contactDialogIn .25s var(--ease); }
.legal-dialog::backdrop { background:rgba(24,6,33,.76); backdrop-filter:blur(8px); }
.legal-dialog__panel { position:relative; max-height:calc(100dvh - 32px); display:grid; grid-template-rows:minmax(0,1fr) auto; background:linear-gradient(145deg,#fffdf8 55%,#f3e5f7); overflow:hidden; }
.legal-dialog__close { position:absolute; z-index:2; top:20px; right:20px; width:46px; height:46px; display:grid; place-items:center; padding:0; color:var(--plum); background:rgba(255,255,255,.82); border:1px solid rgba(86,37,121,.22); border-radius:50%; font-size:1.8rem; line-height:1; cursor:pointer; }
.legal-dialog__content { min-height:0; padding:56px clamp(24px,6vw,72px) 28px; overflow-y:auto; overscroll-behavior:contain; }
.legal-dialog__content h2 { max-width:720px; margin:0; color:var(--plum); font-size:clamp(2.8rem,6vw,5.2rem); line-height:.95; }
.legal-dialog__lead { max-width:690px; margin:20px 0 28px; color:#66526e; font-size:1.08rem; line-height:1.65; }
.legal-dialog__notice { display:grid; grid-template-columns:minmax(170px,.45fr) minmax(0,1fr); gap:22px; margin-bottom:18px; padding:20px 0; color:#674978; border-block:1px solid rgba(86,37,121,.18); }
.legal-dialog__notice strong { color:var(--plum); }
.legal-dialog__content section { display:grid; grid-template-columns:minmax(190px,.45fr) minmax(0,1fr); gap:28px; padding:24px 0; border-bottom:1px solid rgba(86,37,121,.14); }
.legal-dialog__content section h3 { margin:0; color:var(--plum); font-size:1.2rem; }
.legal-dialog__content section p { margin:0; color:#66526e; line-height:1.7; }
.legal-dialog__panel > footer { display:flex; justify-content:flex-end; padding:18px clamp(24px,6vw,72px); background:rgba(255,253,248,.92); border-top:1px solid rgba(86,37,121,.14); }
.legal-dialog__panel > footer .button { min-width:145px; }
.legal-dialog__panel > footer { gap:10px; }
.legal-cookie-settings { color:var(--plum);background:#fff;border:1px solid rgba(86,37,121,.3); }

.cookie-banner { position:fixed;z-index:100;right:20px;bottom:20px;width:min(760px,calc(100vw - 40px));display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;padding:28px;color:#fff;background:linear-gradient(135deg,var(--ink),#572573);border:1px solid rgba(255,255,255,.2);border-radius:26px;box-shadow:0 26px 80px rgba(25,6,34,.45); }
.cookie-banner[hidden] { display:none; }
.cookie-banner__close { position:absolute;top:12px;right:12px;width:38px;height:38px;color:#fff;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);border-radius:50%;font-size:1.35rem;cursor:pointer; }
.cookie-banner .kicker { margin:0 0 6px;color:var(--lime); }
.cookie-banner h2 { margin:0 38px 8px 0;font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1; }
.cookie-banner p { max-width:600px;margin:0;color:#eadcf0;line-height:1.55; }
.cookie-banner>div>button { margin-top:12px;padding:0;color:var(--lime);background:none;border:0;font:inherit;font-weight:850;text-decoration:underline;cursor:pointer; }
.cookie-banner__actions { display:grid;align-content:end;gap:8px;min-width:150px; }
.cookie-banner__actions button { min-height:42px;padding:0 15px;border:1px solid rgba(255,255,255,.35);border-radius:999px;font:inherit;font-size:.78rem;font-weight:900;cursor:pointer; }
.cookie-banner__actions button:first-child { color:var(--plum);background:#fff;border-color:#fff; }
.cookie-banner__actions button:nth-child(2) { color:#fff;background:var(--purple); }
.cookie-banner__actions button:last-child { color:var(--plum);background:var(--lime);border-color:var(--lime); }
.cookie-settings { width:min(680px,calc(100vw - 32px));max-width:none;margin:auto;padding:0;color:var(--ink);background:transparent;border:0;border-radius:28px;box-shadow:0 30px 100px rgba(25,6,34,.5); }
.cookie-settings::backdrop { background:rgba(24,6,33,.76);backdrop-filter:blur(8px); }
.cookie-settings__panel { position:relative;display:grid;gap:15px;padding:42px;background:linear-gradient(145deg,#fffdf8,#f3e5f7);border-radius:28px; }
.cookie-settings__close { position:absolute;top:14px;right:14px;width:42px;height:42px;color:var(--plum);background:#fff;border:1px solid var(--line);border-radius:50%;font-size:1.5rem;cursor:pointer; }
.cookie-settings .kicker { margin:0;color:var(--purple); }
.cookie-settings h2 { margin:0;color:var(--plum);font-size:clamp(2.4rem,6vw,4.2rem);line-height:.94; }
.cookie-settings>form>p:not(.kicker) { margin:0 0 8px;color:#6d5974; }
.cookie-settings label { display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px;padding:16px 0;border-top:1px solid rgba(86,37,121,.14);cursor:pointer; }
.cookie-settings label span { display:grid;gap:4px; }
.cookie-settings label strong { color:var(--plum); }
.cookie-settings label small { color:#75617c;line-height:1.4; }
.cookie-settings label input { width:22px;height:22px;accent-color:var(--purple); }
.cookie-settings label input:disabled { opacity:.38;cursor:not-allowed; }
.cookie-settings__actions { display:flex;justify-content:flex-end;gap:10px;padding-top:8px; }
.cookie-settings__actions button { min-height:44px;padding:0 18px;border-radius:999px;font:inherit;font-weight:900;cursor:pointer; }
.cookie-settings__actions button:first-child { color:var(--plum);background:#fff;border:1px solid rgba(86,37,121,.25); }
.cookie-settings__actions button:last-child { color:var(--plum);background:var(--lime);border:1px solid #b6cd45; }
.consent-embed { position:relative; }
.consent-embed__notice { position:absolute;z-index:3;inset:0;width:100%;padding:18px;color:var(--plum);background:linear-gradient(145deg,#f4e8f6,#fffdf8);border:0;font:inherit;font-size:.8rem;font-weight:900;line-height:1.45;cursor:pointer; }
.consent-embed__notice small { display:block;margin-top:5px;color:#765d7f;font-size:.68rem;font-weight:700;line-height:1.35; }
.consent-embed.is-enabled .consent-embed__notice { display:none; }

.shop-page { background: var(--paper); }
.shop-hero { position: relative; min-height: 510px; display: flex; align-items: flex-end; padding: calc(var(--header-h) + 90px) clamp(22px, 6vw, 96px) 72px; color: white; background: linear-gradient(118deg, rgba(36,17,47,.94), rgba(86,37,121,.83)), url("../images/blindbox-celestial.webp") center 42% / cover; overflow: hidden; }
.shop-hero::after { content: "SHOP · COLLECT · REPEAT ·"; position: absolute; right: -3vw; bottom: -35px; color: rgba(255,255,255,.07); font-size: clamp(5rem, 11vw, 11rem); font-weight: 900; white-space: nowrap; letter-spacing: -.06em; }
.shop-hero__copy { position: relative; z-index: 1; max-width: 980px; }
.shop-hero h1 { max-width: 960px; margin: 0; color: var(--lime); font-size: clamp(3.5rem, 7vw, 7.2rem); line-height: 1.02; letter-spacing: -.065em; }
.shop-hero__line, .shop-hero__line > span { white-space: nowrap; }
.shop-hero p:last-child { max-width: 760px; margin: 24px 0 0; color: white; font-size: 1.08rem; line-height: 1.6; }
.catalog-page { padding: 80px clamp(22px, 6vw, 96px) 130px; }
.catalog-heading { display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 34px; }
.catalog-heading h2 { margin: 0; color: var(--plum); font-size: clamp(2.8rem, 5vw, 5.7rem); line-height: .9; letter-spacing: -.055em; }
.catalog-count { margin: 0 0 8px; color: var(--purple); font-size: .78rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.shop-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 34px; padding-bottom: 22px; border-bottom: 1px solid var(--line); }
.shop-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 36px 22px; }
.shop-grid .product-card { min-width: 0; }
.shop-grid .product-card__visual { border-radius: 20px; }
.shop-grid .product-card__meta { gap: 6px 10px; padding-top: 13px; }
.shop-grid .product-card__category { font-size: .6rem; }
.shop-grid .product-card h3 { font-size: clamp(1rem, 1.2vw, 1.28rem); }
.shop-grid .product-card__price { font-size: .9rem; }
.shop-grid .product-card__add { font-size: .82rem; }
.shop-grid .product-card__badge { top: 10px; left: 10px; padding: 6px 9px; font-size: .58rem; }

.drawer-backdrop { position: fixed; z-index: 89; inset: 0; background: rgba(25,6,35,.48); backdrop-filter: blur(4px); }
.cart-drawer { position: fixed; z-index: 90; top: 0; right: 0; width: min(100%, 480px); height: 100dvh; display: flex; flex-direction: column; padding: 30px; background: var(--paper); box-shadow: -20px 0 70px rgba(20,5,28,.2); transform: translateX(105%); transition: transform .45s var(--ease); }
.cart-drawer.is-open { transform: none; }
.drawer__header { display: flex; justify-content: space-between; align-items: flex-start; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.drawer__header h2 { margin: -9px 0 0; font-size: 2.3rem; }
.icon-button { display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--line); border-radius: 50%; background: transparent; font-size: 1.8rem; line-height: 1; cursor: pointer; }
.cart-items { display: grid; gap: 18px; padding: 24px 0; overflow: auto; }
.cart-item { display: grid; grid-template-columns: 78px 1fr auto; gap: 14px; align-items: center; }
.cart-item img { width: 78px; aspect-ratio: 1; object-fit: cover; border-radius: 14px; }
.cart-item h3 { margin: 0 0 5px; font-size: .98rem; }
.cart-item p { margin: 0; color: var(--purple); font-size: .83rem; font-weight: 800; }
.cart-item button { border: 0; background: none; text-decoration: underline; cursor: pointer; }
.cart-empty { display: grid; place-items: center; flex: 1; text-align: center; color: #6f5c78; }
.cart-empty span { color: var(--lilac); font-size: 5rem; }
.cart-summary { margin-top: auto; padding-top: 20px; border-top: 1px solid var(--line); }
.cart-summary > p { display: flex; justify-content: space-between; font-size: 1.25rem; }
.cart-summary small { display: block; margin-top: 12px; text-align: center; color: #796b80; }

.quick-view { width: min(920px, calc(100% - 32px)); max-height: calc(100dvh - 32px); padding: 0; border: 0; border-radius: 30px; background: var(--paper); box-shadow: var(--shadow); overflow: hidden; }
.quick-view::backdrop { background: rgba(25,6,35,.65); backdrop-filter: blur(5px); }
.quick-view[open] { display: grid; grid-template-columns: 1fr 1fr; }
.quick-view__image { min-height: 530px; }
.quick-view__image img { width: 100%; height: 100%; object-fit: cover; }
.quick-view__copy { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; min-height: 530px; padding: clamp(32px, 5vw, 64px); }
.quick-view__price-row { width: 100%; margin-bottom: 22px; padding-right: 42px; }
.quick-view__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 9px; font-size: 1.5rem; font-weight: 900; }
.quick-view__price del { color: #8c7b94; font-size: .72em; font-weight: 700; text-decoration-thickness: 2px; }
.quick-view__price strong { color: var(--plum); }
.quantity-stepper { display: grid; grid-template-columns: 38px 40px 38px; align-items: center; overflow: hidden; color: var(--plum); background: white; border: 1px solid var(--line); border-radius: 999px; box-shadow: 0 7px 18px rgba(57,21,73,.08); }
.quantity-stepper button { display: grid; place-items: center; width: 38px; height: 38px; padding: 0; color: var(--plum); background: transparent; border: 0; font-size: 1.2rem; font-weight: 900; cursor: pointer; }
.quantity-stepper button:hover:not(:disabled) { color: var(--plum); background: var(--lime); }
.quantity-stepper button:disabled { cursor: not-allowed; opacity: .35; }
.quantity-stepper output { text-align: center; font-weight: 900; }
.quick-view__copy .kicker { margin: 0 0 12px; }
.quick-view__copy h2 { margin: 0; font-size: clamp(2.6rem, 5vw, 5rem); line-height: .9; letter-spacing: -.05em; }
.quick-view__description { max-height: 145px; margin: 24px 0; overflow-y: auto; line-height: 1.65; scrollbar-width: thin; }
.quick-view__purchase { display: grid; gap: 14px; width: 100%; margin-top: auto; padding-top: 18px; border-top: 1px solid var(--line); }
.quick-view__quantity-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; color: #76677d; font-size: .82rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.quick-view__purchase > p { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin: 0; color: #76677d; font-size: .82rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.quick-view__purchase > p strong { color: var(--plum); font-size: 1.45rem; letter-spacing: 0; }
.quick-view__purchase .button { width: 100%; }
.quick-view__purchase .button:disabled { cursor: not-allowed; filter: grayscale(.5); opacity: .65; transform: none; }
.quick-view__close { position: absolute; z-index: 2; top: 16px; right: 16px; background: white; }

.chat-launcher { position: fixed; z-index: 70; right: 24px; bottom: 24px; display: flex; align-items: center; gap: 10px; min-height: 54px; padding: 6px 20px 6px 7px; color: #f4ff9f; background: linear-gradient(135deg, #3d1754, var(--plum)); border: 2px solid rgba(244,255,159,.9); border-radius: 999px; box-shadow: 0 12px 36px rgba(36,17,47,.34); cursor: pointer; animation: buddyFloat 3.2s ease-in-out infinite; transition: background .25s, box-shadow .25s, transform .25s; }
.chat-launcher > span:last-child { color: #f4ff9f; font-family: "Trebuchet MS", "Avenir Next", sans-serif; font-size: .86rem; font-weight: 800; letter-spacing: .025em; text-shadow: 0 1px 0 rgba(18,4,26,.35); }
.chat-launcher:hover { background: linear-gradient(135deg, #2d103e, #713196); box-shadow: 0 17px 42px rgba(36,17,47,.42); animation-play-state: paused; transform: translateY(-4px) scale(1.025); }
.chat-launcher__face, .chat-avatar { display: grid; place-items: center; width: 38px; aspect-ratio: 1; color: var(--ink); background: var(--lime); border-radius: 50%; }
@keyframes buddyFloat { 0%,100% { transform: translateY(0) rotate(-.4deg); } 50% { transform: translateY(-8px) rotate(.4deg); } }
.chat-window { position: fixed; z-index: 85; right: 24px; bottom: 90px; display:grid;grid-template-rows:auto minmax(0,1fr) auto auto auto;gap:12px;width:min(400px,calc(100% - 32px));height:min(640px,calc(100svh - 110px));padding:18px;overflow:hidden;background:var(--paper);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(20px) scale(.97);transform-origin:right bottom;transition:.3s var(--ease); }
.chat-window.is-open { opacity: 1; visibility: visible; transform: none; }
.chat-window header, .chat-window header > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.chat-window header strong, .chat-window header small { display: block; }
.chat-window header small { color: #76677d; }
.chat-participant-status { display:flex!important;align-items:center;gap:6px;max-width:245px;margin-top:2px;color:#76677d!important;font-size:.64rem;line-height:1.25; }
.chat-participant-status::before { content:"";flex:0 0 auto;width:7px;height:7px;background:var(--purple);border-radius:50%;box-shadow:0 0 0 3px rgba(139,61,172,.12); }
.chat-participant-status[data-state="queued"]::before { background:#e89526;box-shadow:0 0 0 3px rgba(232,149,38,.14); }
.chat-participant-status[data-state="operator"]::before { background:#32ad62;box-shadow:0 0 0 3px rgba(50,173,98,.14); }
.chat-messages { min-height:0;height:100%;padding:16px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;background:#f7f0f9;border:1px solid #e1d3e6;border-radius:17px;box-shadow:inset 0 1px 0 rgba(255,255,255,.85); }
.chat-messages::-webkit-scrollbar { width:7px; }
.chat-messages::-webkit-scrollbar-thumb { background:#c9afd2;border-radius:999px; }
.bot-message { max-width:90%;margin:0 0 11px;padding:12px 14px;color:var(--ink);background:#fff;border:1px solid #e5d9e9;border-radius:15px 15px 15px 4px;box-shadow:0 4px 12px rgba(56,25,70,.05);line-height:1.45; }
.chat-suggestions { display:flex;flex-wrap:wrap;gap:7px;padding:2px 0; }
.chat-suggestions[hidden] { display:none; }
.chat-suggestions button { padding: 8px 11px; border: 1px solid var(--line); border-radius: 999px; background: white; font-size: .78rem; cursor: pointer; }
.chat-suggestions button:hover { background: var(--lilac); }
.chat-note { margin: 14px 0 0; color: #8d7d94; font-size: .68rem; text-align: center; }
.prechat-form { min-height:0;display:grid;gap:11px;padding:8px 3px 4px;overflow-y:auto; }
.prechat-form>div p { margin:4px 0 2px;color:#76677d;font-size:.76rem;line-height:1.45; }
.prechat-form label { display:grid;gap:5px;color:var(--ink);font-size:.72rem;font-weight:800; }
.prechat-form input:not([type="checkbox"]),.live-chat-form input { width:100%;min-height:44px;padding:10px 13px;border:1px solid #cbb6d2;border-radius:12px;background:#fff;font:inherit;outline:0;transition:border-color .18s ease,box-shadow .18s ease; }
.prechat-form input:not([type="checkbox"]):focus,.live-chat-form input:focus { border-color:var(--purple);box-shadow:0 0 0 4px rgba(139,61,172,.12); }
.prechat-turnstile { display:grid;justify-items:center;gap:8px;min-width:0;padding:11px;background:var(--mist);border:1px solid #e1d3e6;border-radius:13px; }
.prechat-turnstile>[data-captcha-status] { justify-self:start;color:#76677d;font-size:.68rem;line-height:1.35; }
.prechat-turnstile>[data-captcha-status][data-state="success"] { color:#237d49;font-weight:800; }
.prechat-turnstile>[data-captcha-status][data-state="error"] { color:#a12b4b;font-weight:700; }
.prechat-turnstile>[data-turnstile-widget] { display:flex;justify-content:center;width:100%;min-height:65px;overflow:visible; }
.prechat-consent { display:flex!important;grid-template-columns:none!important;flex-direction:row;align-items:flex-start;gap:8px!important;font-weight:500!important;line-height:1.4; }
.prechat-consent input { margin-top:3px; }
.prechat-consent a { color:var(--plum);font-weight:800; }
.prechat-form button,.live-chat-form button { min-height:44px;padding:0 18px;color:#fff;background:linear-gradient(135deg,var(--plum),var(--purple));border:0;border-radius:12px;box-shadow:0 7px 16px rgba(87,37,115,.2);font:inherit;font-weight:900;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease; }
.prechat-form button:hover,.live-chat-form button:hover { filter:brightness(1.08);box-shadow:0 10px 21px rgba(87,37,115,.28);transform:translateY(-1px); }
.prechat-form button:disabled { opacity:.55;cursor:wait; }
.prechat-error,.chat-send-error { margin:0;color:#a12b4b;font-size:.72rem;line-height:1.4; }
.live-chat-form { display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;margin:0;padding-top:12px;border-top:1px solid var(--line); }
.live-chat-form button { min-width:78px;color:var(--plum);background:linear-gradient(135deg,var(--lime),#f0fa9b);border:1px solid #bfd447;box-shadow:0 7px 16px rgba(159,185,48,.2); }
.live-chat-form .chat-send-error { grid-column:1/-1; }
.user-message { max-width:90%;margin:0 0 11px auto;padding:12px 14px;color:#fff;background:linear-gradient(135deg,var(--plum),#754094);border:1px solid #6d3289;border-radius:15px 15px 4px 15px;box-shadow:0 5px 14px rgba(56,25,70,.12);line-height:1.45; }
.toast { position: fixed; z-index: 200; left: 50%; bottom: 24px; max-width: calc(100% - 32px); padding: 12px 18px; color: white; background: var(--ink); border-radius: 999px; box-shadow: var(--shadow); opacity: 0; pointer-events: none; transform: translate(-50%, 20px); transition: .3s; text-align: center; }
.toast.is-visible { opacity: 1; transform: translate(-50%, 0); }

.reveal { opacity: 0; transform: translateY(35px); transition: opacity .8s var(--ease), transform .8s var(--ease); }
.reveal.is-visible { opacity: 1; transform: none; }

@media (min-width: 981px) and (max-width: 1180px) {
  .site-nav { gap: 15px; font-size: .79rem; letter-spacing: .055em; }
  .social-links--header { display: none; }
}

@media (max-width: 980px) {
  :root { --header-h: 70px; }
  .site-header { grid-template-columns: 1fr auto auto; padding-inline: 20px; }
  .site-nav { position: absolute; top: 72px; left: 16px; right: 16px; display: grid; gap: 0; padding: 12px; color: var(--ink); background: var(--paper); border-radius: 20px; box-shadow: var(--shadow); opacity: 0; visibility: hidden; transform: translateY(-10px); transition: .25s; }
  .site-nav.is-open { opacity: 1; visibility: visible; transform: none; }
  .site-nav a { padding: 14px; }
  .nav-toggle { display: grid; gap: 4px; width: 44px; height: 44px; place-content: center; border: 1px solid rgba(255,255,255,.4); border-radius: 50%; background: transparent; }
  .nav-toggle span:not(.sr-only) { display: block; width: 18px; height: 2px; background: white; }
  .cart-button span { display: none; }
  .cart-button { padding-left: 10px; }
  .header-actions { gap: 9px; }
  .header-account-link { display:inline-flex; }
  .site-nav > .nav-account-link { display:none; }
  .hero { grid-template-columns: 1fr 1fr; padding-inline: 30px; }
  .manifesto { grid-template-columns: 1fr; }
  .manifesto__statement { max-width: 760px; }
  .manifesto__details { max-width: 580px; }
  .product-card { flex-basis: calc((100% - 28px) / 2); }
  .shop-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .drop-banner { min-height: auto; }
  .drop-banner__copy { padding: 60px 40px; }
  .about { grid-template-columns: 1fr 1fr; }
  .about__media { padding-left: 4vw; }
  .about__copy { padding-right: 4vw; }
  .contact { gap: 5vw; }
}

@media (max-width: 720px) {
  .intro__brand { top: 14px; left: 14px; width: 116px; }
  .intro__skip { top: 20px; right: 18px; }
  .intro__stage { padding-top: 62px; transform: translateY(18px); }
  .intro__eyebrow { max-width: 260px; margin-bottom: 20px; font-size: .66rem; line-height: 1.5; }
  .intro__reveal { width: 250px; height: 285px; }
  .intro__lid { z-index: 2; animation-name: lidOpenMobile; animation-timing-function: cubic-bezier(.42, 0, 1, 1); }
  .intro__enter { min-height: 54px; margin-top: 20px; font-size: .86rem; }
  .brand { width: 104px; min-width: 104px; height: 56px; pointer-events: auto; }
  .brand:active { transform: scale(.97); }
  .social-links--header { display: none; }
  .whatsapp-button { width: 44px; min-height: 44px; justify-content: center; padding: 0; }
  .whatsapp-button span { display: none; }
  .site-nav .social-links--nav { display: flex; gap: 9px; margin-top: 6px; padding: 14px 12px 8px; border-top: 1px solid var(--line); }
  .site-nav .nav-account-link { display:block;width:100%;padding:14px;color:var(--ink);background:transparent;border:0;border-radius:0;font:inherit;font-weight:800;text-align:left;text-decoration:none;cursor:pointer; }
  .site-nav .nav-account-link::after { display:none; }
  .site-nav .social-links--nav a { width: 40px; height: 40px; padding: 0; color: white; background: var(--plum); border-radius: 50%; }
  .site-nav .social-links--nav a::after { display: none; }
  .hero { min-height: 900px; grid-template-columns: 1fr; align-content: start; gap: 25px; padding: 120px 20px 70px; }
  .hero h1 { font-size: clamp(3.55rem, 16vw, 5.3rem); }
  .hero__text { margin-top: 20px; }
  .hero__actions { margin-top: 25px; }
  .hero__visual { justify-self: center; width: min(94vw, 520px); }
  .hero__burst { width: 82px; }
  .hero__note { right: 0; font-size: .64rem; }
  .hero__orbit--one { width: 100vw; right: -33vw; top: 50%; }
  .hero__orbit--two { display: none; }
  .hero__marquee { bottom: -10px; }
  .manifesto, .shop { padding-block: 84px; }
  .manifesto__statement { font-size: clamp(3.1rem, 15vw, 5.4rem); }
  .section-heading { grid-template-columns: 1fr; }
  .section-heading h2, .about h2 { font-size: clamp(3.15rem, 14vw, 5.2rem); }
  .contact h2 { font-size: clamp(2.85rem, 11vw, 4.7rem); }
  .product-toolbar { display: block; margin-top: 36px; padding-bottom: 15px; }
  .product-toolbar .filters, .shop-filters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; overflow: visible; }
  .product-toolbar .filter, .shop-filters .filter { width: 100%; min-width: 0; padding-inline: 8px; font-size: .68rem; }
  .carousel-controls { display: none; }
  .product-card { flex-basis: min(84vw, 360px); }
  .product-card__visual { aspect-ratio: 1; }
  .drop-banner { grid-template-columns: 1fr; }
  .drop-banner__image { min-height: 420px; }
  .drop-banner__copy { padding: 65px 24px 75px; }
  .drop-banner h2 { font-size: clamp(2.45rem, 10vw, 4rem); }
  .about { grid-template-columns: 1fr; }
  .about__media { min-height: 510px; padding: 42px 20px 34px; }
  .about__illustration { width: 78%; height: 440px; border-radius: 170px 170px 24px 24px; }
  .about__portrait { right: 3%; bottom: 4%; width: 34%; }
  .about__copy { padding: 58px 22px 72px; }
  .contact { grid-template-columns: 1fr; padding-block: 90px; }
  .contact-business { grid-template-columns: minmax(0,1fr) 132px; gap: 14px; margin-top: 30px; padding-top: 24px; }
  .contact-map { width: 132px; border-radius: 18px; }
  .contact-form { margin-top: 24px; }
  .contact-form__row { grid-template-columns: 1fr; }
  .contact-dialog { max-height: calc(100dvh - 24px); overflow-x: hidden; overflow-y: auto; }
  .contact-dialog__row { grid-template-columns: 1fr; }
  .legal-dialog { width:calc(100vw - 20px); max-height:calc(100dvh - 20px); border-radius:22px; }
  .legal-dialog__panel { max-height:calc(100dvh - 20px); }
  .legal-dialog__close { top:12px; right:12px; width:42px; height:42px; }
  .legal-dialog__content { padding:48px 20px 22px; }
  .legal-dialog__content h2 { padding-right:40px; font-size:clamp(2.35rem,12vw,3.7rem); }
  .legal-dialog__notice,.legal-dialog__content section { grid-template-columns:1fr; gap:9px; }
  .legal-dialog__panel > footer { padding:14px 20px; }
  .legal-dialog__panel > footer .button { width:100%; }
  .legal-dialog__panel > footer { flex-direction:column; }
  .cookie-banner { right:10px;bottom:10px;width:calc(100vw - 20px);grid-template-columns:1fr;gap:18px;padding:24px 18px 18px;border-radius:22px; }
  .cookie-banner__actions { grid-template-columns:1fr 1fr;min-width:0; }
  .cookie-banner__actions button:last-child { grid-column:1/-1; }
  .cookie-settings { width:calc(100vw - 18px);max-height:calc(100dvh - 18px);overflow:auto; }
  .cookie-settings__panel { padding:54px 20px 22px;border-radius:22px; }
  .cookie-settings__actions { display:grid;grid-template-columns:1fr; }
  .contact-thankyou { top: 50%; width: calc(100% - 20px); }
  .contact-thankyou__scene { grid-template-columns: minmax(105px,34vw) minmax(0,1fr); gap: 10px 12px; }
  .contact-thankyou__scene img { width: 100%; }
  .contact-thankyou__bubble { gap: 5px; margin-top: 18px; padding: 18px 16px; border-radius: 22px 22px 22px 7px; }
  .contact-thankyou__bubble::before { left: -14px; border-width: 9px; }
  .contact-thankyou__bubble strong { font-size: clamp(1.2rem,6vw,1.65rem); }
  .contact-thankyou__bubble span { font-size: .82rem; }
  .contact-thankyou__scene .button { grid-column: 2; min-width: 120px; }
  .site-footer { grid-template-columns: 1fr; gap: 38px; padding: 54px 20px 24px; }
  .site-footer__brand > p { margin: 8px 0 18px; }
  .site-footer__bottom { grid-column: 1; flex-direction: column; gap: 7px; }
  .social-links--footer { margin: 6px 0; }
  .shop-hero { min-height: 430px; padding: calc(var(--header-h) + 60px) 20px 58px; }
  .shop-hero h1 { font-size: clamp(2.1rem, 9.4vw, 4.6rem); }
  .catalog-page { padding: 64px 16px 90px; }
  .catalog-heading { display: block; }
  .catalog-count { margin-top: 18px; }
  .shop-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 12px; }
  .shop-grid .product-card__visual { aspect-ratio: .9; border-radius: 16px; }
  .shop-grid .product-card__meta { display: grid; padding-inline: 1px; }
  .shop-grid .product-card__category { margin-bottom: 5px; }
  .shop-grid .product-card__price { display: block; margin: 5px 0 8px; }
  .quick-view[open] { display: block; overflow: auto; }
  .quick-view__image { min-height: 0; aspect-ratio: 1; }
  .quick-view__copy { min-height: 0; padding: 30px 24px 36px; }
  .quick-view__price-row { padding-right: 42px; }
  .quick-view__description { max-height: none; overflow: visible; }
  .quick-view__purchase { margin-top: 22px; }
  .cart-drawer { padding: 22px 18px; }
  .chat-launcher { right: 16px; bottom: 16px; }
  .chat-launcher > span:last-child { display: none; }
  .chat-launcher { padding: 6px; }
  .chat-window { right: 16px; bottom: 80px; }
}

@media (max-width: 420px) {
  .site-header { gap: 5px; padding-inline: 8px; }
  .brand { width:82px;min-width:82px;height:52px; }
  .header-actions { gap: 4px; }
  .header-account-link { min-height:40px;padding:0 10px;font-size:.7rem; }
  .whatsapp-button { width: 40px; min-height: 40px; }
  .cart-button { position:relative;width:40px;min-height:40px;padding:0;justify-content:center;gap:0; }
  .cart-button b { position:absolute;top:-3px;right:-3px;min-width:18px;height:18px;padding:0 3px;font-size:.6rem;box-shadow:0 2px 7px rgba(36,17,47,.25); }
  .nav-toggle { width: 42px; height: 42px; }
  .contact-business { grid-template-columns: minmax(0,1fr) 112px; gap: 12px; }
  .contact-map { width: 112px; border-radius: 16px; }
}

@supports (content-visibility:auto) {
  .manifesto,.shop,.drop-banner,.about,.contact,.site-footer { content-visibility:auto;contain-intrinsic-size:auto 760px; }
}

body:not(.admin-app) h1,
body:not(.admin-app) h2,
body:not(.admin-app) h3 { letter-spacing: -.01em; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
  .intro__confetti { display: none; }
  .chat-launcher { animation: none; }
}
