@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700;800;900&display=swap");

/* One visual language for browsing, saving, and exploring a complete look. */
body.cs-experience {
    --font-body: "Montserrat", "Segoe UI", sans-serif;
    --font-title: "Montserrat", "Segoe UI", sans-serif;
    --cs-gold: #ffbd6c;
    --cs-cream: #fff0da;
    --cs-line: #ba8e6b38;
    --cs-panel: #21162d;
    --cs-soft: #bba5c6;
    background: radial-gradient(ellipse at 90% 4%, #522b583d, transparent 38%), radial-gradient(ellipse at 0 38%, #7c442522, transparent 40%), #100b19;
    font-family: var(--font-body);
}
.cs-experience .cs-halloween-strip { display: none; }
.cs-experience .cs-reading-progress { position: fixed; inset: 0 0 auto; z-index: 49; height: 2px; background: linear-gradient(90deg, #9c65ba, #ffc071); transform: scaleX(var(--cs-reading-progress, 0)); transform-origin: left; pointer-events: none; }
.cs-experience .cs-motion-tools { position: relative; z-index: 10; display: flex; align-items: center; justify-content: space-between; gap: 16px; width: min(1280px, calc(100% - 48px)); min-height: 32px; margin: 0 auto 10px; border-bottom: 1px solid #b68a6a20; }
.cs-season-label { display: flex; align-items: center; gap: 9px; color: #aa8eb6; font-size: 8px; font-weight: 600; letter-spacing: .13em; }
.cs-season-label > span { color: var(--cs-gold); font-size: 13px; }
.cs-experience .haunt-motion-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 30px; padding: 5px 0 5px 10px; border: 0; background: none; color: #c7b3cf; font: 500 9px var(--font-body); cursor: pointer; }
.cs-experience .haunt-motion-toggle svg { width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.cs-experience .haunt-motion-toggle:disabled { opacity: .6; cursor: default; }
.cs-experience :is(.haunt-motion-toggle, .favorites-empty, .favorites-clear-btn, [data-favorites-count])[hidden] { display: none !important; }
.cs-experience main :is(a, button, input, select, summary):focus-visible { outline: 2px solid var(--cs-gold); outline-offset: 4px; }
.cs-experience .site-footer-link-group strong { color: #d1a76c; }

/* All campaign decoration is pointer-transparent, with a shared pause setting. */
.cs-experience .haunt-definitions { position: absolute; width: 0; height: 0; overflow: hidden; pointer-events: none; }
.cs-experience .haunt-atmosphere { position: fixed; inset: 0; z-index: 8; overflow: hidden; contain: strict; pointer-events: none; }
.cs-experience .haunt-web { position: absolute; top: -15px; width: 205px; height: 190px; background: url('../img/halloween/web.svg') top left / contain no-repeat; opacity: .12; }
.cs-experience .haunt-web-left { left: -30px; }
.cs-experience .haunt-web-right { right: -30px; transform: scaleX(-1); }
.cs-experience .haunt-bat { position: absolute; width: 76px; overflow: visible; filter: drop-shadow(0 5px 7px #0007); opacity: .6; }
.cs-experience .haunt-bat-one { top: 16%; left: 3%; width: 64px; rotate: -14deg; }
.cs-experience .haunt-bat-two { top: 14%; right: 9%; width: 88px; rotate: 17deg; }
.cs-experience .haunt-bat-three { top: 55%; right: 3%; width: 46px; rotate: -15deg; opacity: .45; }
.cs-experience .haunt-bat-four { top: 81%; left: 42%; width: 38px; rotate: 12deg; opacity: .3; }
.cs-experience .haunt-bat-five { top: 28%; left: -120px; width: 62px; }
.cs-experience .haunt-bat-six { top: 66%; right: -120px; width: 45px; }
.cs-experience .haunt-leaf { position: absolute; top: -60px; left: var(--x); width: var(--size); height: auto; opacity: .35; backface-visibility: visible; }
.cs-experience .haunt-leaf:nth-of-type(3n) { filter: hue-rotate(-12deg); opacity: .22; }
.cs-hanging-spider { position: absolute; top: -45px; right: 4.5%; width: 27px; transform-origin: 50% 0; opacity: .6; }
.cs-hanging-spider i { display: block; width: 1px; height: 190px; margin: 0 auto; background: linear-gradient(transparent, #d7bcd266); }
.cs-hanging-spider svg { display: block; width: 27px; height: 30px; margin-top: -4px; filter: drop-shadow(0 5px 5px #0008); }
.cs-ember { position: absolute; top: 100%; left: var(--x); width: 3px; height: 3px; border-radius: 50%; background: #ffd097; box-shadow: 0 0 12px #ff9d49; opacity: 0; }

/* Secondary pages get the same art, typography, and warm glass surfaces. */
.cs-experience.cs-halloween :is(.rg-products-page, .favorites-page) { background: transparent; overflow: clip; }
.cs-experience.cs-halloween :is(.rg-products-page, .favorites-page)::before { display: none; }
.cs-experience.cs-halloween :is(.outfits-page, .outfit-detail-page, .favorites-shell) { max-width: 1320px; margin-inline: auto; padding: 8px 24px 48px; }
.cs-experience.cs-halloween .rg-products-page:not(.favorites-page) { max-width: 1320px; margin-inline: auto; padding: 8px 24px 50px; }
.cs-experience.cs-halloween .favorites-page { min-height: 70vh; padding: 0; }
.cs-experience.cs-halloween .cs-page-hero { position: relative; z-index: 1; display: flex; align-items: center; min-height: 262px; margin: 0 0 25px; padding: 34px 38px; overflow: hidden; border: 1px solid var(--cs-line); border-radius: 27px; background: radial-gradient(ellipse at 90% 40%, #6d3d5440, transparent 62%), linear-gradient(115deg, #281b34, #191222); text-align: left; isolation: isolate; }
.cs-page-hero-copy { position: relative; z-index: 2; width: min(67%, 730px); }
.cs-experience.cs-halloween .cs-page-hero h1 { margin: 0; color: var(--cs-cream); font: 900 clamp(37px, 4.5vw, 64px)/.98 var(--font-title); letter-spacing: -.055em; text-transform: none; text-shadow: none; overflow-wrap: anywhere; }
.cs-experience .cs-page-hero h1 em { color: var(--cs-gold); font-style: normal; }
.cs-experience.cs-halloween .cs-page-hero :is(.outfits-kicker, .favorites-kicker, .cs-detail-kicker) { margin: 0 0 15px; color: #b695c6; font-size: 8px; line-height: 1.6; font-weight: 700; letter-spacing: .14em; }
.cs-experience.cs-halloween .cs-page-hero-copy > p:not(:first-child) { max-width: 485px; margin: 17px 0 0; color: #bfaacb; font-size: 12px; line-height: 1.8; }
.cs-page-art { position: absolute; z-index: 0; top: -12%; right: 2%; width: 36%; height: 125%; transform: perspective(1000px) rotateX(var(--haunt-tilt-x, 0deg)) rotateY(var(--haunt-tilt-y, 0deg)); transform-style: preserve-3d; transition: transform .4s ease-out; pointer-events: none; }
.cs-page-art .haunt-stage-float { position: absolute; inset: 0; z-index: 1; }
.cs-page-art :is(picture, img) { display: block; width: 100%; height: 100%; object-fit: contain; }
.cs-page-art img { filter: drop-shadow(0 18px 25px #05020a66); }
.cs-page-moon { position: absolute; top: 18%; left: 12%; width: 76%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 30% 25%, #ffe7b5, #c68c52); box-shadow: 0 0 70px #ba773326; opacity: .3; }
.cs-page-orbit { position: absolute; inset: 17% 0; border: 1px solid #dca96b30; border-radius: 50%; transform: rotate(-25deg); }
.cs-page-orbit::before { content: "✦"; position: absolute; top: 10%; left: 13%; color: #eac18e; font-size: 17px; }
.cs-experience .cs-text-action { display: inline-flex; align-items: center; gap: 15px; min-height: 40px; margin-top: 13px; color: var(--cs-gold); font-size: 10px; font-weight: 700; text-decoration: none; }
.cs-text-action > span { font-size: 17px; }
.cs-community-inline { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 15px; }
.cs-community-inline a { min-height: 28px; color: #ddbd99; font-size: 9px; font-weight: 600; text-decoration: none; }
.cs-experience.cs-halloween .gender-filter { max-width: none; margin: 18px 0; padding: 0; justify-content: flex-start; gap: 8px; }
.cs-experience.cs-halloween .gender-btn { min-height: 42px; padding: 12px 23px; border: 1px solid #ad85ba4d; border-radius: 13px; background: #261b32; color: #d4bedf; font: 700 10px var(--font-body); letter-spacing: .04em; box-shadow: none; }
.cs-experience.cs-halloween .gender-btn.active { border-color: #ffd29888; background: linear-gradient(135deg, #ffdc9f, #f4b35b); color: #291b2c; box-shadow: 0 5px 20px #ffb65718; }
.cs-experience.cs-halloween .category-filter { max-width: none; padding: 0; margin-bottom: 18px; }
.cs-experience.cs-halloween .category-options { gap: 7px; }
.cs-experience.cs-halloween .category-btn { min-height: 34px; padding: 9px 12px; border: 1px solid #a37eaf38; border-radius: 11px; background: #21172d; color: #baa5c8; font: 600 9px var(--font-body); letter-spacing: .01em; text-transform: none; box-shadow: none; }
.cs-experience.cs-halloween .category-btn.active { border-color: #c3966580; background: #4a3035; color: #ffd292; }
.cs-experience.cs-halloween .category-load-more { border-color: #ad85ba4d; border-radius: 10px; background: #30213d; color: #e7cfeb; box-shadow: none; }
.cs-experience.cs-halloween .search-line { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; align-items: center; gap: 13px; max-width: none; min-height: 62px; margin: 0 0 25px; padding: 6px 7px 6px 18px; border: 1px solid #c18c5477; border-radius: 16px; background: #1c1428; box-shadow: 0 7px 25px #0003; }
.cs-experience.cs-halloween .search-line input[type="search"] { width: 100%; min-height: 42px; padding: 0; border: 0; border-radius: 0; outline: none; background: none; box-shadow: none; color: #f1e1e9; font: 500 13px var(--font-body); }
.cs-experience .cs-search-icon { width: 21px; height: 21px; fill: none; stroke: #bda5c8; stroke-width: 1.7; stroke-linecap: round; }
.cs-experience.cs-halloween .cs-catalog-search-submit { display: inline-flex; align-items: center; justify-content: center; gap: 15px; min-height: 46px; padding: 0 22px; border: 1px solid #ffdb9c88; border-radius: 11px; background: linear-gradient(135deg, #ffdc9f, #f4b35b); color: #291b2c; font: 800 10px var(--font-body); cursor: pointer; }
.cs-experience.cs-halloween .search-line:focus-within { outline: 2px solid var(--cs-gold); outline-offset: 4px; }
.cs-experience.cs-halloween .search-empty-state { grid-column: 1 / -1; padding: 32px; border: 1px solid var(--cs-line); border-radius: 20px; background: #281c34; }
.cs-experience.cs-halloween .search-empty-state h2 { color: var(--cs-cream); font: 800 25px var(--font-title); letter-spacing: -.03em; }
.cs-experience.cs-halloween .search-empty-state p { color: #bca3ca; line-height: 1.8; }
.cs-experience.cs-halloween .search-empty-state strong { color: #edd4b0; }
.cs-experience.cs-halloween .search-empty-action { min-height: 44px; padding: 12px 18px; border: 1px solid #eec08d66; border-radius: 12px; background: #513540; color: #ffd49b; box-shadow: none; }
.cs-experience.cs-halloween .loader-pill { border-color: #ad85ba44; border-radius: 12px; background: #281a35; color: #bda6cb; box-shadow: none; font-size: 10px; }
.cs-experience.cs-halloween #infinite-loader.loading .loader-pill { border-color: #e2b67977; box-shadow: 0 0 20px #b18b481a; }
.cs-experience.cs-halloween .scroll-top-btn { border-color: #b58c6b55; border-radius: 12px; background: #36233f; color: #e8c99d; box-shadow: 0 7px 24px #0005; }
.cs-experience.cs-halloween :is(.product-grid, .outfit-products-grid, .similar-products-grid) { max-width: none; gap: 18px; padding: 0; }

/* Product cards remain stable; light and perspective move over the surface. */
.cs-experience.cs-halloween :is(.product-card, .outfit-card, .cs-featured-card) { position: relative; isolation: isolate; min-width: 0; border: 1px solid var(--cs-line); border-radius: 21px; background: linear-gradient(145deg, #2b1e37, #1b1327); box-shadow: 0 12px 30px #0003, inset 0 1px 0 #ffffff08; animation: none; transform: none; transition: transform .35s, border-color .3s, box-shadow .3s, opacity .5s, translate .5s; }
.cs-experience.cs-halloween .product-card { display: flex; flex-direction: column; }
.cs-experience .product-card > .product-link { display: block; flex: 1; min-width: 0; color: inherit; text-decoration: none; }
.cs-experience.cs-halloween :is(.product-card, .outfit-card, .cs-featured-card)::after { content: ""; position: absolute; z-index: 3; inset: 0; padding: 1px; border-radius: inherit; background: conic-gradient(from var(--cs-orbit-angle), transparent 0deg 265deg, #c98bd75c 305deg, #ffcf8d 334deg, transparent 355deg); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); mask-composite: exclude; opacity: .42; pointer-events: none; }
.cs-experience.cs-halloween :is(.product-card, .outfit-card, .cs-featured-card)::before { content: ""; position: absolute; z-index: 2; inset: 0; border-radius: inherit; background: radial-gradient(250px circle at var(--cs-pointer-x, 50%) var(--cs-pointer-y, 20%), #ffe8bf13, transparent 65%); opacity: 0; transition: opacity .3s; pointer-events: none; }
.cs-experience.cs-halloween .product-card .product-image { width: calc(100% - 16px); margin: 8px; aspect-ratio: 1; border: 1px solid #b78bc526; border-radius: 15px; background: radial-gradient(ellipse at 50% 78%, #51395c, #2b1d38); box-shadow: none; }
.cs-experience.cs-halloween .product-card .product-image img { width: 100%; height: 100%; object-fit: contain; padding: 9px; transition: transform .5s cubic-bezier(.22, 1, .36, 1); }
.cs-experience.cs-halloween .product-card .product-image::after { background: none; }
.cs-experience.cs-halloween .product-card .product-info { padding: 12px 15px 6px; text-align: left; }
.cs-experience.cs-halloween .product-card .product-info h3 { display: -webkit-box; min-height: 36px; margin: 0 0 8px; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; color: #f1e2e9; font: 700 12px/1.5 var(--font-body); letter-spacing: 0; text-transform: none; overflow-wrap: anywhere; }
.cs-experience.cs-halloween .product-card .product-price { margin: 0 0 5px; color: var(--cs-gold); font-size: 18px; font-weight: 800; letter-spacing: -.02em; }
.cs-experience.cs-halloween .product-card .card-actions { display: flex; gap: 0; padding: 7px 14px 15px; border: 0; background: none; }
.cs-experience.cs-halloween .product-card .card-actions .card-btn { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 41px; padding: 10px; border: 1px solid #ffd29866; border-radius: 11px; background: linear-gradient(135deg, #ffdc9f, #f4b35b); color: #2d1b2e; font: 800 10px var(--font-body); letter-spacing: 0; text-decoration: none; text-transform: none; box-shadow: none; }
.cs-experience.cs-halloween .product-card .card-actions .favorite-toggle { position: absolute; z-index: 5; top: 17px; right: 17px; width: 34px; height: 34px; min-height: 34px; padding: 0; border: 1px solid #bc97cc66; border-radius: 11px; background: #24182fde; color: #efdbf5; box-shadow: 0 5px 12px #0003; }
.cs-experience .product-card .favorite-toggle-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.cs-experience.cs-halloween .product-card .favorite-toggle-icon { font-size: 22px; line-height: 1; }
.cs-experience.cs-halloween .product-card .favorite-toggle.is-active { border-color: #ffc780aa; background: #51303c; color: #ffcf89; }
.cs-experience.cs-halloween .hot-badge { top: 12px; left: 12px; padding: 5px 8px; border-color: #ffd39666; background: #f6b65d; color: #291b2c; font-size: 8px; box-shadow: 0 4px 12px #0003; }
.cs-experience .cs-flying-heart { position: fixed; z-index: 1300; display: grid; place-items: center; width: 30px; height: 30px; color: #ffcc86; font-size: 27px; text-shadow: 0 0 18px #ffb95188; pointer-events: none; }
.cs-experience .cs-click-ripple { position: fixed; z-index: 1100; width: 12px; height: 12px; border: 1px solid #ffce8daa; border-radius: 50%; background: #ffd18a11; pointer-events: none; }

.cs-experience.cs-halloween .outfit-grid { gap: 20px; }
.cs-experience.cs-halloween .outfit-card { padding: 8px; overflow: hidden; }
.cs-experience.cs-halloween .outfit-image { width: 100%; margin: 0; aspect-ratio: 4 / 5; border: 1px solid #b58cc52b; border-radius: 15px; background: radial-gradient(ellipse at 50% 75%, #4b3454, #21182e); }
.cs-experience.cs-halloween .outfit-image img { width: 100%; max-width: 100%; height: 100%; object-fit: contain; transition: transform .5s; }
.cs-experience.cs-halloween .outfit-info { padding: 17px 10px 11px; }
.cs-experience.cs-halloween .outfit-info h3 { display: -webkit-box; min-height: 42px; overflow: hidden; -webkit-line-clamp: 2; -webkit-box-orient: vertical; color: #f1e1ed; font: 700 14px/1.5 var(--font-body); letter-spacing: 0; text-transform: none; }
.cs-experience.cs-halloween .outfit-info p { color: #ad95ba; font-size: 11px; line-height: 1.6; }
.cs-experience.cs-halloween .pieces-count { display: inline-flex; width: fit-content; padding: 7px 11px; border: 1px solid #caa16a40; border-radius: 9px; background: #aa753114; color: #d9b68d; font-size: 9px; font-weight: 600; letter-spacing: .02em; text-transform: none; }
.cs-experience.cs-halloween .outfit-card .card-actions { padding: 5px 9px 11px; border: 0; }
.cs-experience.cs-halloween .outfit-card .outfit-view-btn { display: flex; justify-content: space-between; min-height: 44px; padding: 12px 15px; border: 1px solid #ffd49955; border-radius: 11px; background: linear-gradient(135deg, #ffdc9f, #f4b35b); box-shadow: none; color: #2d1b2e; font: 800 10px var(--font-body); letter-spacing: 0; text-transform: none; }

/* The same card treatment continues inside an individual outfit and product. */
.cs-experience.cs-halloween .outfit-detail-layout { gap: 30px; margin-top: 22px; align-items: start; }
.cs-experience.cs-halloween :is(.outfit-gallery, .gallery) { position: relative; min-width: 0; padding: 10px; border: 1px solid var(--cs-line); border-radius: 25px; background: linear-gradient(150deg, #30203b, #1b1427); box-shadow: 0 14px 35px #0003, inset 0 1px 0 #ffffff07; }
.cs-experience.cs-halloween .gallery-track { border-radius: 17px; background: #21172f; scrollbar-width: thin; scrollbar-color: #9d729b #21172f; }
.cs-experience.cs-halloween :is(.outfit-gallery, .gallery) .gallery-track img { height: clamp(320px, 48vw, 600px); border: 0; border-radius: 17px; background: radial-gradient(ellipse at 50% 70%, #3d2b4b, #1c1428); box-shadow: none; object-fit: contain; }
.cs-experience .cs-gallery-count { position: absolute; z-index: 3; top: 24px; right: 24px; padding: 8px 11px; border: 1px solid #d5b18055; border-radius: 10px; background: #20162cdd; color: #f1d6b3; font-size: 9px; font-weight: 700; pointer-events: none; }
.cs-experience.cs-halloween :is(.outfit-details, .details) { min-width: 0; padding: 30px; border: 1px solid var(--cs-line); border-radius: 25px; background: radial-gradient(ellipse at 100% 0, #8d536521, transparent 65%), linear-gradient(135deg, #291d35, #1b1326); box-shadow: 0 12px 30px #0002; }
.cs-experience.cs-halloween :is(.outfit-details, .details) h1 { margin: 0 0 18px; color: var(--cs-cream); font: 800 clamp(25px, 2.6vw, 39px)/1.18 var(--font-title); letter-spacing: -.035em; text-transform: none; overflow-wrap: anywhere; }
.cs-experience.cs-halloween :is(.outfit-details, .details) > p { color: #bea8ca; font-size: 13px; line-height: 1.85; }
.cs-experience.cs-halloween :is(.outfit-details, .details) > :is(.outfit-kicker, .cs-detail-kicker) { margin: 0 0 17px; color: #b58cc5; font-size: 9px; font-weight: 700; line-height: 1.6; letter-spacing: .13em; text-transform: uppercase; }
.cs-experience .cs-look-actions { display: grid; gap: 10px; margin: 27px 0; }
.cs-experience :is(.cs-primary-action, .cs-secondary-action) { display: flex; align-items: center; justify-content: space-between; gap: 15px; min-height: 48px; padding: 13px 17px; border: 1px solid #ffd49977; border-radius: 13px; background: linear-gradient(135deg, #ffdc9f, #f4b35b); color: #2d1b2e; font-size: 11px; font-weight: 800; text-decoration: none; }
.cs-experience .cs-secondary-action { border-color: #ab83b449; background: #36223f; color: #d9c1e3; font-weight: 600; }
.cs-look-guide { display: grid; gap: 16px; margin: 20px 0; padding: 22px 0; border-block: 1px solid #b695bf29; }
.cs-look-guide > span { display: flex; align-items: center; gap: 13px; color: #bda6c7; font-size: 11px; line-height: 1.5; }
.cs-look-guide b { display: grid; flex: 0 0 auto; place-items: center; width: 29px; height: 29px; border: 1px solid #bd906b33; border-radius: 9px; background: #b3835112; color: #d7a971; font-size: 9px; }
.cs-experience.cs-halloween .outfit-details .cs-look-note { margin: 0; font-size: 10px; line-height: 1.8; color: #a78bb4; }
.cs-experience .cs-collection-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin: 55px 0 24px; }
.cs-experience.cs-halloween .cs-collection-heading h2 { margin: 0; color: var(--cs-cream); font: 800 clamp(28px, 3.3vw, 44px)/1.05 var(--font-title); letter-spacing: -.045em; text-transform: none; }
.cs-collection-heading h2 em { color: var(--cs-gold); font-style: normal; }
.cs-collection-heading > span { color: #a88eb5; font-size: 10px; }
.cs-experience.cs-halloween .back-btn { min-height: 38px; padding: 10px 15px; border-color: #ac85ba3d; border-radius: 11px; background: #281b33; color: #cfb8db; font-size: 9px; letter-spacing: .02em; text-transform: none; }
.cs-experience.cs-halloween .product-page { max-width: 1320px; margin-inline: auto; gap: 27px; padding: 16px 24px 45px; align-items: start; }
.cs-experience.cs-halloween .product-price.detail { color: var(--cs-gold); font-size: 39px; letter-spacing: -.04em; }
.cs-experience .cs-agent-shortcut { margin: 0 0 18px; }
.cs-experience.cs-halloween .detail-favorite-btn { min-height: 44px; padding: 11px 16px; border-color: #be94ca55; border-radius: 12px; background: #38233f; color: #e6cbee; font: 600 11px var(--font-body); letter-spacing: 0; text-transform: none; }
.cs-experience.cs-halloween .detail-favorite-btn.is-active { border-color: #efb46b88; background: #51313b; color: #ffce8d; }
.cs-experience.cs-halloween .product-link-disclaimer { padding: 16px; border: 1px solid #ad8bb530; border-radius: 14px; background: #160f20; color: #b7a2c2; font: 400 11px/1.8 var(--font-body); }
.cs-experience.cs-halloween .product-link-disclaimer p { margin-top: 9px; color: #b7a2c2; font-size: 11px; line-height: 1.8; }
.cs-experience.cs-halloween .product-link-disclaimer a { color: #dfb981; }
.cs-experience.cs-halloween .buy-buttons { gap: 10px; padding: 0; border: 0; background: none; box-shadow: none; scroll-margin-top: 120px; }
.cs-experience.cs-halloween .buy-buttons .buy-btn { min-height: 48px; border-color: #f2d3ac66; border-radius: 13px; background: linear-gradient(135deg, #fff0dd, #e4cfdd); color: #36203e; font-size: 12px; letter-spacing: .01em; box-shadow: 0 6px 17px #0002; }
.cs-experience.cs-halloween .buy-btn :is(img, span) { position: relative; z-index: 1; }
.cs-experience.cs-halloween .buy-btn::before { opacity: .35; }
.cs-experience.cs-halloween .copy-link-btn { width: 46px; height: 48px; border-color: #ad84ba49; border-radius: 12px; background: #34213e; color: #debae6; box-shadow: none; }
.cs-experience.cs-halloween .gallery-thumb { border-color: #a67bb43d; border-radius: 12px; background: #261b33; transition: border-color .2s, transform .2s; }
.cs-experience.cs-halloween .gallery-thumb.active { border-color: var(--cs-gold); box-shadow: 0 0 0 2px #ffbf6c14; }
.cs-experience.cs-halloween .gallery-thumb img { background: #261b33; }
.cs-experience.cs-halloween .qc-data-note { margin: 5px 4px; color: #a58aad; font-size: 9px; font-weight: 500; letter-spacing: 0; text-transform: none; line-height: 1.75; }
.cs-experience.cs-halloween .similar-products-section { max-width: 1320px; padding: 10px 24px 35px; margin-inline: auto; }
.cs-experience.cs-halloween .similar-products-header h2 { color: var(--cs-cream); font: 800 32px var(--font-title); letter-spacing: -.04em; text-transform: none; }
.cs-experience.cs-halloween .image-lightbox-shell { border: 1px solid #b68bc149; border-radius: 22px; background: #191222; }
.cs-experience.lightbox-open main { z-index: 1500; }
.cs-experience.cs-halloween :is(.image-lightbox-btn, .image-lightbox-nav) { border-color: #b68bc155; border-radius: 11px; background: #31213e; color: #f2dbb7; }

/* Shared dialogs keep the same palette as the page beneath them. */
.cs-experience.cs-halloween :is(.marketing-popup-dialog, .purchase-disclaimer-dialog) { border: 1px solid #c09ac153; border-radius: 25px; background: radial-gradient(ellipse at 100% 0, #8d53652b, transparent 65%), #21162e; color: #d9c2e1; box-shadow: 0 25px 90px #0008; }
.cs-experience.cs-halloween :is(.marketing-popup-kicker, .purchase-disclaimer-kicker) { color: #d5a66d; font-size: 9px; letter-spacing: .12em; }
.cs-experience.cs-halloween :is(#marketing-popup-title, #purchase-disclaimer-title) { color: var(--cs-cream); font-family: var(--font-title); letter-spacing: -.035em; }
.cs-experience.cs-halloween :is(.marketing-popup-copy, .purchase-disclaimer-copy) { color: #bea5cb; line-height: 1.8; }
.cs-experience.cs-halloween :is(.marketing-popup-close, .purchase-disclaimer-close) { border-color: #b38ab44d; background: #34213e; color: #e3c9e8; }
.cs-experience.cs-halloween .marketing-popup-field input { min-height: 46px; border: 1px solid #b48ab44d; border-radius: 12px; background: #171020; color: #f3e0eb; box-shadow: none; font-size: 16px; }
.cs-experience.cs-halloween :is(.marketing-popup-field, .marketing-popup-consent) { color: #c7aed2; }
.cs-experience.cs-halloween :is(.marketing-popup-submit, .purchase-disclaimer-continue) { min-height: 46px; border: 1px solid #ffcd8b88; border-radius: 12px; background: linear-gradient(135deg, #ffdc9f, #f4b35b); color: #2d1b2e; font-weight: 800; box-shadow: none; }
.cs-experience.cs-halloween .purchase-disclaimer-cancel { border-color: #b08bb34d; border-radius: 12px; background: #38253f; color: #dcc1e4; }
.cs-experience.cs-halloween .purchase-disclaimer-icon { border-color: #d4a36b44; background: #cc95441a; color: #edc18b; }
.cs-experience.cs-halloween .site-notice { border-color: #a87d9e55; border-radius: 13px; background: #281b34f5; box-shadow: 0 8px 28px #0005; color: #dac0df; }
.cs-experience.cs-halloween .site-notice-dot { background: #f5bb70; box-shadow: 0 0 12px #eab47477; }

/* Favorites show the saved products first, followed by the optional email form. */
.cs-experience.cs-halloween .favorites-toolbar { margin: 0 0 23px; padding: 15px 18px; border: 1px solid var(--cs-line); border-radius: 15px; background: #281b33; }
.cs-experience.cs-halloween .favorites-count-copy { color: #bea8c9; font-size: 11px; }
.cs-experience.cs-halloween #favorites-count-label { display: inline-block; color: #ffca87; font-size: 19px; margin-left: 5px; }
.cs-experience.cs-halloween .favorites-clear-btn { min-height: 36px; padding: 9px 12px; border: 1px solid #af7e9e44; border-radius: 10px; background: #3c253d; box-shadow: none; color: #d9b5cf; font-size: 9px; }
.cs-experience.cs-halloween :is(.favorites-capture, .favorites-empty) { margin: 35px 0 0; padding: 30px; border: 1px solid var(--cs-line); border-radius: 24px; background: radial-gradient(ellipse at 80% 10%, #9d5e5c1c, transparent 60%), #21162c; color: #bca4c8; }
.cs-experience.cs-halloween .favorites-empty { display: grid; justify-items: center; min-height: 310px; padding: 27px 25px 40px; text-align: center; }
.cs-experience.cs-halloween :is(.favorites-empty, .favorites-capture) h2 { margin-bottom: 13px; color: var(--cs-cream); font: 800 clamp(24px, 2.6vw, 34px)/1.1 var(--font-title); letter-spacing: -.035em; }
.cs-experience.cs-halloween :is(.favorites-capture-copy, .favorites-empty) p { max-width: 460px; color: #b69bc5; font-size: 11px; line-height: 1.8; }
.cs-experience.cs-halloween :is(.favorites-capture-kicker, .favorites-empty .favorites-capture-kicker) { margin: 0 0 12px; color: #b18bc3; font-size: 8px; font-weight: 700; letter-spacing: .13em; }
.cs-experience.cs-halloween :is(.favorites-empty-link, .favorites-signup-btn) { display: inline-flex; justify-content: center; align-items: center; gap: 15px; min-height: 45px; padding: 12px 19px; border: 1px solid #ffcf8b88; border-radius: 12px; background: linear-gradient(135deg, #ffdc9f, #f4b35b); box-shadow: none; color: #2d1b2e; font: 800 10px var(--font-body); text-decoration: none; }
.cs-experience.cs-halloween .favorites-field input { min-height: 47px; padding: 12px 15px; border: 1px solid #bb95c54d; border-radius: 12px; background: #171021; color: #f1dfed; font-size: 14px; box-shadow: none; }
.cs-experience.cs-halloween :is(.favorites-field span, .favorites-consent) { color: #bda4c9; font-size: 10px; line-height: 1.7; }
.cs-experience.cs-halloween .favorites-signup-btn:disabled { opacity: .5; cursor: default; }
.cs-experience.cs-list-empty .favorites-capture { display: none; }
.cs-empty-orbit { position: relative; display: grid; place-items: center; width: 116px; height: 105px; margin: 0 auto 18px; }
.cs-empty-orbit > svg { width: 50px; height: 50px; fill: #b5733b15; stroke: #ffd092; stroke-width: 1.2; filter: drop-shadow(0 0 14px #dc9a4633); }
.cs-empty-orbit > span { position: absolute; inset: 4px; border: 1px solid #c4a07040; border-radius: 50%; transform: rotateX(50deg) rotateZ(-25deg); }
.cs-empty-orbit > span::before { content: ""; position: absolute; top: 14px; left: 3px; width: 5px; height: 5px; border-radius: 50%; background: #ffce8a; box-shadow: 0 0 10px #ffbf6b; }
.cs-empty-orbit i { position: absolute; top: 2px; right: 2px; color: #bd8ebd; font-size: 14px; font-style: normal; }

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .cs-experience.cs-halloween:not([data-effects-paused]) :is(.product-card, .outfit-card, .cs-featured-card):hover { transform: perspective(900px) rotateX(var(--cs-tilt-x, 2deg)) rotateY(var(--cs-tilt-y, -3deg)) translateY(-6px); border-color: #d5a77199; box-shadow: 0 18px 38px #0005, 0 0 22px #ac699421; }
    .cs-experience.cs-halloween :is(.product-card, .outfit-card, .cs-featured-card):hover::before { opacity: 1; }
    .cs-experience.cs-halloween:not([data-effects-paused]) .product-card:hover .product-image img { transform: scale(1.035); }
    .cs-experience.cs-halloween:not([data-effects-paused]) .outfit-card:hover .outfit-image img { transform: scale(1.025); }
    .cs-experience.cs-halloween .gallery-thumb:hover { transform: translateY(-3px); border-color: #d0a173; }
}
@media (prefers-reduced-motion: no-preference) {
    html:has(.cs-experience) { scroll-behavior: smooth; }
    .cs-experience .haunt-stage-float { animation: cs-exp-float 7s ease-in-out infinite; }
    .cs-experience .haunt-bat { animation: cs-exp-bat 12s ease-in-out infinite alternate; }
    .cs-experience .haunt-bat-two { animation-delay: -7s; animation-duration: 15s; }
    .cs-experience .haunt-bat-three { animation-delay: -3s; animation-duration: 18s; }
    .cs-experience .haunt-bat-five { animation: cs-exp-bat-cross 24s linear -9s infinite; }
    .cs-experience .haunt-bat-six { animation: cs-exp-bat-cross-back 29s linear -19s infinite; }
    .cs-experience .haunt-wing-left { transform-origin: 48px 23px; animation: cs-exp-wing-left .36s ease-in-out infinite alternate; }
    .cs-experience .haunt-wing-right { transform-origin: 48px 23px; animation: cs-exp-wing-right .36s ease-in-out infinite alternate; }
    .cs-experience .haunt-leaf { animation: cs-exp-leaf var(--fall) linear var(--delay) infinite; }
    .cs-hanging-spider { animation: cs-exp-spider 8s ease-in-out infinite alternate; }
    .cs-ember { animation: cs-exp-ember 18s linear var(--delay) infinite; }
    .cs-experience .haunt-chip-one { animation: cs-exp-chip 6s ease-in-out infinite alternate; }
    .cs-experience .haunt-chip-two { animation: cs-exp-chip 7s ease-in-out -3s infinite alternate-reverse; }
    .cs-experience .cs-page-orbit { animation: cs-exp-orbit 27s linear infinite; }
    .cs-experience .cs-empty-orbit > svg { animation: cs-exp-heart 4s ease-in-out infinite; }
    .cs-experience .cs-empty-orbit > span { animation: cs-exp-empty-orbit 12s linear infinite; }
    .cs-experience.cs-halloween :is(.product-card, .outfit-card, .cs-featured-card)::after { animation: cs-exp-edge 12s linear infinite; animation-play-state: paused; }
    .cs-experience.cs-halloween :is(.product-card, .outfit-card, .cs-featured-card).cs-in-view::after { animation-play-state: running; }
    .cs-experience .cs-page-hero-copy { animation: cs-exp-arrive .7s cubic-bezier(.22, 1, .36, 1) both; }
    .cs-experience [data-cs-reveal] { opacity: 0; translate: 0 18px; transition: opacity .6s, translate .6s cubic-bezier(.22, 1, .36, 1); transition-delay: var(--cs-reveal-delay, 0ms); }
    .cs-experience [data-cs-reveal].cs-revealed { opacity: 1; translate: 0 0; }
    .cs-experience .cs-gallery-flash { animation: cs-exp-gallery .55s ease-out; }
    .cs-experience .image-lightbox.is-open .image-lightbox-shell { animation: cs-exp-arrive .25s ease-out; }
}
@keyframes cs-exp-edge { to { --cs-orbit-angle: 360deg; } }
@keyframes cs-exp-arrive { from { opacity: 0; translate: 0 12px; } to { opacity: 1; translate: 0 0; } }
@keyframes cs-exp-float { 50% { translate: 0 -12px; rotate: 1deg; } }
@keyframes cs-exp-chip { to { translate: 0 -8px; } }
@keyframes cs-exp-heart { 50% { transform: translateY(-7px) scale(1.04); } }
@keyframes cs-exp-orbit { to { transform: rotate(335deg); } }
@keyframes cs-exp-empty-orbit { to { transform: rotateX(50deg) rotateZ(335deg); } }
@keyframes cs-exp-bat { to { translate: 26px 17px; transform: rotate(8deg); } }
@keyframes cs-exp-bat-cross { 0% { translate: -100px 9vh; opacity: 0; } 8%, 82% { opacity: .5; } 100% { translate: calc(100vw + 250px) -18vh; opacity: 0; } }
@keyframes cs-exp-bat-cross-back { 0% { translate: 100px 0; opacity: 0; } 8%, 84% { opacity: .4; } 100% { translate: calc(-100vw - 250px) -17vh; opacity: 0; } }
@keyframes cs-exp-wing-left { to { transform: scaleX(.58) skewY(15deg); } }
@keyframes cs-exp-wing-right { to { transform: scaleX(.58) skewY(-15deg); } }
@keyframes cs-exp-spider { to { transform: rotate(6deg) translateY(25px); } }
@keyframes cs-exp-leaf { 0% { transform: translate3d(0, -30px, 0) rotate3d(1, .4, .7, 0deg); } 50% { transform: translate3d(calc(var(--sway) * .5), 50vh, 0) rotate3d(.5, 1, .7, 250deg); } 100% { transform: translate3d(var(--sway), calc(100vh + 100px), 0) rotate3d(1, .5, .7, 540deg); } }
@keyframes cs-exp-ember { 0%, 100% { opacity: 0; } 15%, 75% { opacity: .65; } 100% { translate: 45px -110vh; } }
@keyframes cs-exp-gallery { 50% { border-color: #f5c27eaa; box-shadow: 0 0 0 4px #e9ad6513, 0 15px 35px #0003; } }
.cs-experience[data-effects-paused] :is(.haunt-atmosphere *, .haunt-definitions *, .haunt-stage-float, .haunt-scene-chip, .cs-page-orbit, .cs-empty-orbit *),
.cs-experience[data-effects-idle] :is(.haunt-atmosphere *, .haunt-definitions *, .haunt-stage-float, .haunt-scene-chip, .cs-page-orbit, .cs-empty-orbit *) { animation-play-state: paused !important; }
.cs-experience[data-effects-paused] :is(.product-card, .outfit-card, .cs-featured-card, .nav-frame)::after,
.cs-experience[data-effects-idle] :is(.product-card, .outfit-card, .cs-featured-card)::after,
.cs-experience[data-effects-paused] .nav-frame::before { animation-play-state: paused !important; }
.cs-experience[data-effects-paused] [data-cs-reveal] { opacity: 1; translate: 0 0; }

@media (min-width: 1101px) {
    .cs-experience.cs-halloween :is(.product-grid, .favorites-grid) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .cs-experience.cs-halloween .outfit-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .cs-experience.cs-halloween .product-page { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); }
    .cs-experience.cs-halloween .product-page > .back-btn { grid-column: 1 / -1; }
    .cs-experience.cs-halloween .product-page > .gallery { position: sticky; top: 112px; }
    .cs-experience.cs-halloween .outfit-details { position: sticky; top: 112px; }
    .cs-experience.cs-halloween .favorites-capture { grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
}
@media (min-width: 651px) and (max-width: 1100px) {
    .cs-experience.cs-halloween :is(.product-grid, .favorites-grid) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .cs-experience.cs-halloween .cs-page-hero h1 { font-size: 42px; }
    .cs-experience.cs-halloween .cs-page-hero { min-height: 245px; padding: 28px; }
    .cs-experience .cs-page-art { width: 38%; }
    .cs-experience.cs-halloween .outfit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
    .cs-experience .cs-motion-tools { width: calc(100% - 36px); min-height: 31px; margin-bottom: 5px; }
    .cs-season-label { font-size: 6px; letter-spacing: .09em; }
    .cs-experience .haunt-motion-toggle { font-size: 7px; }
    .cs-experience .haunt-web { width: 135px; height: 140px; opacity: .1; }
    .cs-experience .haunt-bat-one { top: 17%; left: 1%; width: 38px; opacity: .45; }
    .cs-experience .haunt-bat-two { top: 38%; right: 2%; width: 43px; opacity: .45; }
    .cs-experience :is(.haunt-bat-three, .haunt-bat-four, .haunt-bat-six) { display: none; }
    .cs-experience .haunt-bat-five { width: 38px; top: 22%; }
    .cs-experience .haunt-leaf:nth-of-type(even) { display: none; }
    .cs-hanging-spider { right: 3%; width: 18px; opacity: .4; }
    .cs-hanging-spider i { height: 170px; }
    .cs-hanging-spider svg { width: 18px; height: 22px; }
    .cs-experience.cs-halloween :is(.outfits-page, .outfit-detail-page, .favorites-shell) { padding: 8px 16px 35px; }
    .cs-experience.cs-halloween .rg-products-page:not(.favorites-page) { padding: 8px 16px 38px; }
    .cs-experience.cs-halloween .cs-page-hero { min-height: 207px; margin-bottom: 20px; padding: 25px 20px; border-radius: 21px; }
    .cs-experience .cs-page-hero-copy { width: 71%; }
    .cs-experience.cs-halloween .cs-page-hero h1 { font-size: clamp(27px, 8.2vw, 43px); line-height: 1.02; }
    .cs-experience.cs-halloween .cs-page-hero :is(.outfits-kicker, .favorites-kicker, .cs-detail-kicker) { max-width: 230px; margin-bottom: 12px; font-size: 6px; letter-spacing: .09em; }
    .cs-experience.cs-halloween .cs-page-hero-copy > p:not(:first-child) { max-width: 205px; margin-top: 13px; font-size: 10px; line-height: 1.7; }
    .cs-experience .cs-page-art { top: 2%; right: -14%; width: 59%; height: 100%; opacity: .65; -webkit-mask-image: linear-gradient(90deg, transparent, #000 28%); mask-image: linear-gradient(90deg, transparent, #000 28%); }
    .cs-experience.cs-halloween .cs-page-hero-copy > p:not(:first-child) { text-shadow: 0 1px 5px #191222, 0 0 12px #191222; }
    .cs-community-inline { gap: 7px 12px; margin-top: 12px; }
    .cs-community-inline a { font-size: 7px; min-height: 22px; }
    .cs-experience .cs-text-action { min-height: 38px; margin-top: 7px; font-size: 9px; }
    .cs-experience.cs-halloween .gender-filter { margin: 14px 0; }
    .cs-experience.cs-halloween .gender-btn { min-height: 40px; padding: 11px 20px; font-size: 9px; }
    .cs-experience.cs-halloween .category-options { gap: 6px; }
    .cs-experience.cs-halloween .category-btn { min-height: 32px; padding: 8px 10px; font-size: 8px; }
    .cs-experience.cs-halloween .search-line { gap: 9px; min-height: 56px; margin-bottom: 20px; padding: 5px 6px 5px 12px; grid-template-columns: 18px minmax(0, 1fr) auto; border-radius: 14px; }
    .cs-experience.cs-halloween .search-line input[type="search"] { font-size: 16px; }
    .cs-experience.cs-halloween .search-line input::placeholder { font-size: 11px; }
    .cs-experience.cs-halloween .cs-catalog-search-submit { min-height: 44px; padding-inline: 14px; font-size: 9px; }
    .cs-catalog-search-submit > span { display: none; }
    .cs-experience.cs-halloween :is(.product-grid, .outfit-products-grid, .similar-products-grid, .favorites-grid) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .cs-experience.cs-halloween :is(.product-card, .cs-featured-card) { border-radius: 17px; }
    .cs-experience.cs-halloween .product-card .product-image { width: calc(100% - 12px); margin: 6px; border-radius: 12px; }
    .cs-experience.cs-halloween .product-card .product-image img { padding: 6px; }
    .cs-experience.cs-halloween .product-card .product-info { padding: 9px 10px 5px; }
    .cs-experience.cs-halloween .product-card .product-info h3 { min-height: 32px; margin-bottom: 5px; font-size: 10px; line-height: 1.6; }
    .cs-experience.cs-halloween .product-card .product-price { font-size: 15px; }
    .cs-experience.cs-halloween .product-card .card-actions { padding: 5px 9px 10px; }
    .cs-experience.cs-halloween .product-card .card-actions .card-btn { min-height: 38px; padding: 10px 5px; border-radius: 10px; font-size: 9px; }
    .cs-experience.cs-halloween .product-card .card-actions .favorite-toggle { top: 13px; right: 13px; width: 30px; height: 30px; min-height: 30px; padding: 0; border-radius: 9px; }
    .cs-experience.cs-halloween .product-card .favorite-toggle-icon { font-size: 21px; }
    .cs-experience.cs-halloween .hot-badge { top: 10px; left: 10px; padding: 4px 6px; font-size: 6px; }
    .cs-experience.cs-halloween .outfit-grid { gap: 12px; }
    .cs-experience.cs-halloween .outfit-card { padding: 6px; border-radius: 18px; }
    .cs-experience.cs-halloween .outfit-image { border-radius: 12px; }
    .cs-experience.cs-halloween .outfit-info { padding: 12px 7px 8px; }
    .cs-experience.cs-halloween .outfit-info h3 { min-height: 47px; font-size: 10px; line-height: 1.55; -webkit-line-clamp: 3; }
    .cs-experience.cs-halloween .outfit-info p { font-size: 10px; }
    .cs-experience.cs-halloween .outfit-card .card-actions { padding: 3px 4px 7px; }
    .cs-experience.cs-halloween .outfit-card .outfit-view-btn { min-height: 40px; padding: 11px 9px; font-size: 8px; border-radius: 10px; }
    .cs-experience.cs-halloween .pieces-count { padding: 6px 8px; font-size: 8px; }
    .cs-experience.cs-halloween .outfit-detail-layout { gap: 17px; margin-top: 16px; }
    .cs-experience.cs-halloween :is(.outfit-gallery, .gallery) { padding: 7px; border-radius: 21px; }
    .cs-experience.cs-halloween :is(.outfit-gallery, .gallery) .gallery-track img { height: clamp(330px, 112vw, 475px); border-radius: 15px; }
    .cs-experience .cs-gallery-count { top: 18px; right: 18px; padding: 6px 9px; font-size: 8px; }
    .cs-experience.cs-halloween :is(.outfit-details, .details) { padding: 24px 20px; border-radius: 21px; }
    .cs-experience.cs-halloween :is(.outfit-details, .details) h1 { font-size: 28px; }
    .cs-experience.cs-halloween :is(.outfit-details, .details) > p { font-size: 12px; }
    .cs-experience.cs-halloween :is(.outfit-kicker, .cs-detail-kicker) { font-size: 7px; }
    .cs-experience .cs-look-actions { margin: 23px 0; }
    .cs-experience .cs-collection-heading { gap: 15px; margin-top: 36px; }
    .cs-experience .cs-collection-heading > span { max-width: 80px; font-size: 9px; text-align: right; line-height: 1.6; }
    .cs-experience.cs-halloween .product-page { gap: 17px; padding: 10px 16px 30px; }
    .cs-experience.cs-halloween .product-price.detail { font-size: 35px; }
    .cs-experience.cs-halloween .buy-buttons { position: static; padding: 0; }
    .cs-experience.cs-halloween .similar-products-section { padding-inline: 16px; }
    .cs-experience.cs-halloween .similar-products-header h2 { font-size: 29px; }
    .cs-experience.cs-halloween .favorites-toolbar { margin-bottom: 20px; padding: 13px 14px; border-radius: 13px; }
    .cs-experience.cs-halloween :is(.favorites-empty, .favorites-capture) { padding: 25px 20px; border-radius: 21px; }
    .cs-experience.cs-halloween .favorites-empty { margin-top: 25px; }
    .cs-experience.cs-halloween .favorites-field input { font-size: 16px; }
    .cs-experience.cs-halloween .favorites-clear-btn { font-size: 8px; }
    .cs-experience.cs-halloween .scroll-top-btn { bottom: calc(var(--dock-clearance) + 14px); min-height: 38px; border-radius: 12px; background: #36233f; color: #e8c99d; border-color: #b58c6b55; box-shadow: 0 7px 24px #0005; }
}
@media (max-width: 360px) {
    .cs-experience.cs-halloween :is(.outfits-page, .outfit-detail-page, .favorites-shell, .rg-products-page:not(.favorites-page)) { padding-inline: 12px; }
    .cs-experience.cs-halloween .cs-page-hero { padding-inline: 17px; }
    .cs-experience.cs-halloween .cs-page-hero h1 { font-size: 8.1vw; }
    .cs-experience .cs-page-hero-copy { width: 74%; }
    .cs-experience.cs-halloween .cs-page-hero-copy > p:not(:first-child) { font-size: 9px; }
    .cs-experience.cs-halloween .product-card .product-info h3 { font-size: 9px; }
}
@media (prefers-reduced-motion: reduce) {
    html:has(.cs-experience) { scroll-behavior: auto; }
    .cs-experience *, .cs-experience *::before, .cs-experience *::after { animation: none !important; transition: none !important; }
    .cs-experience [data-cs-reveal] { opacity: 1; translate: 0 0; }
    .cs-experience :is(.haunt-leaf, .cs-ember, .haunt-bat-five, .haunt-bat-six) { display: none; }
}
@media print {
    .haunt-atmosphere, .cs-motion-tools, .cs-reading-progress, .cs-flying-heart { display: none !important; }
    .cs-experience [data-cs-reveal] { opacity: 1; translate: 0 0; }
}

/* Mobile discovery: products first, with controls kept directly on the page. */
.cs-experience .cs-small-label { display: block; margin: 0 0 7px; color: #b98bc8; font: 700 8px/1.5 var(--font-body); letter-spacing: .12em; }
.cs-experience.cs-halloween :is(.cs-catalog-heading, .cs-sheet-header) { position: static; top: auto; width: auto; padding: 0; border: 0; background: none; box-shadow: none; backdrop-filter: none; z-index: auto; }
.cs-experience.cs-halloween .cs-catalog-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin: 5px 0 20px; }
.cs-experience.cs-halloween .cs-catalog-heading h1 { margin: 0; color: var(--cs-cream); font: 800 clamp(25px, 3vw, 39px)/1.1 var(--font-title); letter-spacing: -.045em; text-transform: none; }
.cs-catalog-heading h1 em { color: var(--cs-gold); font-style: normal; }
.cs-collection-reset { color: #ddbd94; font-size: 10px; text-decoration: none; }
.cs-experience.cs-halloween .cs-catalog-tools { margin: 0 0 15px; }
.cs-experience.cs-halloween .cs-catalog-tools .search-line { margin-bottom: 10px; min-height: 55px; }
.cs-inline-controls { display: grid; grid-template-columns: minmax(100px, .7fr) minmax(170px, 1fr) auto; gap: 10px; }
.cs-experience.cs-halloween :is(.cs-budget-control, .cs-sort-control) { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 12px; min-width: 0; min-height: 48px; padding: 7px 13px; border: 1px solid #b58bc037; border-radius: 12px; background: #24192f; }
.cs-inline-controls label > span { color: #b69ac5; font: 600 8px/1.4 var(--font-body); letter-spacing: .04em; }
.cs-experience.cs-halloween .cs-inline-controls :is(input[type="number"], select) { display: block; width: 100%; min-width: 0; height: 30px; padding: 0; border: 0; background: transparent; color: #efdeeb; box-shadow: none; font: 600 12px var(--font-body); }
.cs-inline-controls select option { background: #24192f; color: #efdeeb; }
.cs-experience.cs-halloween .cs-qc-control { display: flex; align-items: center; gap: 9px; padding: 10px 14px; border: 1px solid #b58bc037; border-radius: 12px; background: #24192f; cursor: pointer; }
.cs-qc-control input { width: 17px; height: 17px; margin: 0; accent-color: #efbd7c; }
.cs-experience.cs-halloween .cs-qc-control > span { color: #dcc5e5; font-size: 10px; letter-spacing: 0; white-space: nowrap; }
.cs-experience.cs-halloween .cs-catalog-browse { display: flex; align-items: center; gap: 16px; min-width: 0; margin-bottom: 7px; }
.cs-experience.cs-halloween .cs-catalog-browse .gender-filter { flex: 0 0 auto; margin: 0; gap: 5px; }
.cs-experience.cs-halloween .cs-catalog-browse .gender-btn { min-height: 35px; padding: 9px 16px; border-radius: 10px; font-size: 9px; }
.cs-experience.cs-halloween .cs-catalog-browse .category-filter { flex: 1; min-width: 0; margin: 0; padding: 0; }
.cs-experience.cs-halloween .cs-catalog-browse .category-options { display: flex; flex-wrap: nowrap; justify-content: flex-start; gap: 6px; margin: 0; padding: 3px 2px 9px; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: thin; scrollbar-color: #76527c transparent; }
.cs-experience.cs-halloween .cs-catalog-browse .category-btn { flex: 0 0 auto; display: inline-flex; align-items: center; min-height: 33px; padding: 8px 12px; white-space: nowrap; }
.cs-result-line { display: flex; align-items: center; gap: 10px; min-height: 26px; margin: 0 0 12px; color: #ae93bd; font-size: 10px; }
.cs-result-line p { margin: 0; }
.cs-result-line > span { margin-left: auto; color: #8f789f; font-size: 9px; }
.cs-result-line button { padding: 5px 8px; border: 1px solid #b68cc53a; border-radius: 7px; background: #32203d; color: #f1c78c; cursor: pointer; }
.cs-experience.cs-halloween .cs-quick-view { display: flex; align-items: center; justify-content: space-between; width: calc(100% - 26px); min-height: 30px; margin: 0 13px 2px; padding: 4px 0; border: 0; border-bottom: 1px solid #ba8dc22b; background: transparent; color: #c7a4d2; font: 600 9px var(--font-body); cursor: pointer; }
.cs-experience.cs-halloween .cs-quick-view:hover { color: #f4c889; }
.cs-experience.cs-halloween :is(#infinite-loader[hidden], #cs-catalog-retry[hidden], #cs-shop-toast[hidden], #cs-shared-list[hidden], .cs-list-hub [hidden], .cs-sheet [hidden], .cs-shared-list [hidden]) { display: none !important; }

/* Quick view uses the browser's modal layer, above navigation and page effects. */
.cs-sheet:not([open]) { display: none !important; }
.cs-sheet { box-sizing: border-box; width: min(620px, calc(100vw - 40px)); max-height: min(890px, calc(100dvh - 40px)); margin: auto; padding: 22px; overflow-y: auto; overscroll-behavior: contain; border: 1px solid #b78fc566; border-radius: 26px; background: radial-gradient(ellipse at 100% 0, #7e4d682b, transparent 60%), #21162e; color: #e3cde9; box-shadow: 0 25px 100px #0009; font-family: var(--font-body); color-scheme: dark; }
.cs-sheet::backdrop { background: #08040dc9; backdrop-filter: blur(6px); }
.cs-sheet-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 15px; }
.cs-sheet-header .cs-small-label { margin: 0; }
.cs-experience .cs-icon-button { display: grid; flex: 0 0 auto; place-items: center; width: 38px; height: 38px; border: 1px solid #bd93c140; border-radius: 12px; background: #34213e; color: #eacfe9; font: 500 15px var(--font-body); cursor: pointer; }
.cs-sheet h2 { margin: 0 0 15px; color: #fff0da; font: 800 27px/1.18 var(--font-title); letter-spacing: -.035em; text-transform: none; }
.cs-sheet-header h2 { margin: 0; font-size: 23px; }
.cs-sheet p { color: #bda4cb; font-size: 12px; line-height: 1.75; }
.cs-sheet-handle { display: none; }
.cs-preview-tabs { display: flex; gap: 8px; margin-bottom: 10px; }
.cs-preview-tabs button { min-height: 36px; padding: 9px 12px; border: 1px solid #ad80b537; border-radius: 10px; background: #2a1c35; color: #ac90ba; font: 600 10px var(--font-body); cursor: pointer; }
.cs-preview-tabs [aria-selected="true"] { border-color: #f0c18970; background: #51343f; color: #ffcf92; }
.cs-preview-gallery { position: relative; overflow: hidden; border: 1px solid #b68cbd2e; border-radius: 18px; background: radial-gradient(ellipse at 50% 60%, #513c5f, #1a1225); }
.cs-preview-track { display: flex; align-items: stretch; min-height: 220px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none; }
.cs-preview-track::-webkit-scrollbar { display: none; }
.cs-preview-track > img { display: block; flex: 0 0 100%; width: 100%; height: min(340px, 42dvh); min-height: 220px; object-fit: contain; scroll-snap-align: start; }
.cs-preview-count { position: absolute; top: 12px; right: 12px; padding: 6px 9px; border: 1px solid #e2ba8655; border-radius: 8px; background: #21152cdc; color: #f4d3a8; font-size: 9px; }
.cs-preview-gallery > button { position: absolute; top: calc(50% - 19px); display: grid; place-items: center; width: 35px; height: 38px; border: 1px solid #c394c342; border-radius: 11px; background: #25172edc; color: #f0d4b0; font-size: 23px; cursor: pointer; }
.cs-preview-prev { left: 9px; }.cs-preview-next { right: 9px; }
.cs-preview-gallery > button:disabled { opacity: .35; cursor: default; }
.cs-preview-no-images { display: grid; place-items: center; width: 100%; padding: 30px; text-align: center; }
.cs-sheet .cs-preview-note { margin: 10px 2px 17px; font-size: 9px; line-height: 1.6; }
.cs-sheet .cs-preview-price { margin: 7px 0 20px; color: #ffcb89; font: 800 29px var(--font-title); }
.cs-preview-actions { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px; }
.cs-experience .cs-preview-save { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 47px; padding: 12px 15px; border: 1px solid #b68bc24d; border-radius: 13px; background: #39233f; color: #ddc0e7; font: 600 10px var(--font-body); cursor: pointer; }
.cs-preview-save .favorite-toggle-icon { font-size: 20px; }
.cs-preview-save.is-active { color: #ffce8c; border-color: #d4a56888; }
.cs-experience .cs-preview-actions .cs-primary-action { justify-content: center; text-align: center; font-size: 10px; }
#cs-shop-toast { position: fixed; z-index: 2000; bottom: calc(var(--dock-clearance, 0px) + 18px); left: 50%; translate: -50% 0; width: max-content; max-width: calc(100vw - 38px); padding: 13px 19px; border: 1px solid #eac18b70; border-radius: 13px; background: #30203cf5; box-shadow: 0 12px 35px #0006; color: #f5d7ac; font: 600 11px/1.6 var(--font-body); text-align: center; pointer-events: none; }
.cs-sheet #cs-shop-toast { bottom: 16px; }

/* Save a complete look without replacing or duplicating existing favorites. */
.cs-outfit-summary { display: grid; gap: 15px; margin-top: 24px; padding: 20px; border: 1px solid #d0a76f40; border-radius: 16px; background: #d69b4810; }
.cs-outfit-summary > div { display: flex; justify-content: space-between; align-items: center; gap: 15px; }
.cs-outfit-summary .cs-small-label { max-width: 140px; margin: 0; color: #bc9aab; }
.cs-outfit-summary strong { color: #ffcc88; font: 800 29px var(--font-title); }
.cs-experience .cs-outfit-summary .cs-primary-action { width: 100%; cursor: pointer; }
.cs-outfit-summary button:disabled { border-color: #bc96c14d; background: #3a2945; color: #cdb3da; cursor: default; }
.cs-outfit-summary > small { color: #a88eb4; font-size: 9px; line-height: 1.7; }

/* Collections are actual, current catalog items rather than campaign artwork. */
.cs-home-collections { margin-top: 55px; }
.cs-experience .cs-home-collections h2 { margin: 0; color: var(--cs-cream); font: 800 clamp(30px, 3vw, 42px)/1.1 var(--font-title); letter-spacing: -.045em; }
.cs-home-collections h2 em { color: var(--cs-gold); font-style: normal; }
.cs-collection-rail { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.cs-edit-card { display: block; min-width: 0; padding: 13px; border: 1px solid #b18bba3a; border-radius: 21px; background: linear-gradient(140deg, #2b1e37, #1b1227); color: #f1e0eb; text-decoration: none; transition: border-color .25s, transform .25s; }
.cs-edit-photos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.cs-edit-photos > div { position: relative; min-width: 0; overflow: hidden; border-radius: 11px; background: radial-gradient(ellipse at 50% 70%, #5b426245, #1e152b); }
.cs-edit-photos img { display: block; width: 100%; height: 105px; padding: 5px 5px 17px; object-fit: contain; }
.cs-edit-photos span { position: absolute; right: 6px; bottom: 5px; padding: 3px 5px; border-radius: 5px; background: #21162cbd; color: #efd2a4; font-size: 8px; font-weight: 700; }
.cs-edit-copy { display: flex; justify-content: space-between; align-items: center; gap: 13px; padding: 18px 7px 8px; }
.cs-edit-copy strong { display: block; color: var(--cs-cream); font-size: 18px; font-weight: 800; letter-spacing: -.03em; }
.cs-edit-copy small { display: block; margin-top: 6px; color: #b39ac2; font-size: 10px; line-height: 1.6; }
.cs-edit-copy b { color: #eec086; font-size: 20px; font-weight: 400; }

/* Browser-local lists and portable, signed links to public catalog items. */
.cs-list-hub, .cs-shared-list { margin: 0 0 22px; padding: 23px; border: 1px solid #bc91c33a; border-radius: 21px; background: #25192f; }
.cs-list-heading { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-bottom: 17px; }
.cs-experience .cs-list-hub h2, .cs-experience .cs-shared-list h2 { margin: 0; color: var(--cs-cream); font: 800 29px/1.1 var(--font-title); letter-spacing: -.035em; }
.cs-list-hub .cs-small-label { font-size: 7px; }
.cs-experience .cs-small-button { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; min-height: 36px; padding: 9px 12px; border: 1px solid #bc91c347; border-radius: 10px; background: #38253f; color: #d9bde3; font: 600 10px var(--font-body); text-decoration: none; cursor: pointer; }
.cs-small-button:disabled { opacity: .45; cursor: default; }
.cs-list-tabs { display: flex; align-items: center; gap: 7px; padding: 0 0 8px; overflow-x: auto; scrollbar-width: thin; scrollbar-color: #78537e transparent; }
.cs-list-tabs button { flex: 0 0 auto; min-height: 37px; padding: 9px 12px; border: 1px solid #b388bf30; border-radius: 10px; background: #302039; color: #bca0c8; font: 600 10px var(--font-body); white-space: nowrap; cursor: pointer; }
.cs-list-tabs [aria-selected="true"] { border-color: #eabd8290; background: #51333c; color: #ffcf91; }
.cs-list-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.cs-list-hub > p { margin: 13px 0 0; color: #ac91ba; font-size: 10px; line-height: 1.8; }
.cs-experience .cs-list-choose { display: flex; align-items: center; justify-content: space-between; width: calc(100% - 22px); min-height: 33px; margin: 1px 11px 10px; padding: 8px 10px; border: 1px solid #b68bbf32; border-radius: 9px; background: #35223d; color: #c4a7d2; font: 600 9px var(--font-body); cursor: pointer; }
.cs-list-dialog { width: min(470px, calc(100vw - 32px)); padding: 25px; }
.cs-list-form > label, .cs-share-link-label { display: grid; gap: 9px; color: #ceb4da; font-size: 11px; }
.cs-experience.cs-halloween :is(.cs-list-form, .cs-share-link-label) input { box-sizing: border-box; width: 100%; min-width: 0; min-height: 48px; padding: 13px; border: 1px solid #bb91c34a; border-radius: 12px; background: #171021; box-shadow: none; color: #f0dfec; font: 500 16px var(--font-body); }
.cs-share-link-label { margin: 17px 0; }
.cs-list-form > button, .cs-list-dialog > .cs-primary-action { width: 100%; margin-top: 15px; cursor: pointer; }
#cs-list-checkboxes { display: grid; gap: 8px; max-height: 40dvh; overflow-y: auto; margin: 20px 0; }
#cs-list-checkboxes label { display: flex; align-items: center; gap: 12px; min-height: 47px; padding: 12px; border: 1px solid #b58bc13b; border-radius: 11px; background: #302039; color: #dec4e6; font-size: 12px; cursor: pointer; }
#cs-list-checkboxes input { width: 19px; height: 19px; accent-color: #eabd7c; }
.cs-shared-list > p:not(.cs-small-label) { color: #b99fc6; font-size: 11px; line-height: 1.8; }
.cs-shared-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin: 17px 0 25px; }
.cs-shared-actions button { cursor: pointer; }
.cs-shared-actions button:disabled { background: #382c41; border-color: #b28bbf55; color: #cbb5d5; cursor: default; }
.cs-experience.cs-halloween .cs-shared-list .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .cs-edit-card:hover { border-color: #ddad7877; transform: translateY(-4px); }
}
@media (prefers-reduced-motion: no-preference) {
    .cs-sheet[open] { animation: cs-shop-open .2s ease-out; }
    @keyframes cs-shop-open { from { opacity: 0; translate: 0 14px; } to { opacity: 1; translate: 0 0; } }
}
@media (max-width: 650px) {
    .cs-experience.cs-halloween .cs-catalog-heading { margin: 3px 0 13px; gap: 8px; }
    .cs-experience.cs-halloween .cs-catalog-heading h1 { font-size: clamp(22px, 6.1vw, 27px); }
    .cs-catalog-heading .cs-small-label { font-size: 6px; margin-bottom: 5px; }
    .cs-experience.cs-halloween .cs-catalog-heading:has(.cs-collection-reset) { align-items: start; flex-direction: column; }
    .cs-collection-reset { font-size: 9px; }
    .cs-experience.cs-halloween .cs-catalog-tools { margin-bottom: 10px; }
    .cs-experience.cs-halloween .cs-catalog-tools .search-line { min-height: 49px; margin-bottom: 8px; padding-block: 4px; }
    .cs-experience.cs-halloween .cs-catalog-tools .cs-catalog-search-submit { min-height: 39px; }
    .cs-inline-controls { grid-template-columns: minmax(72px, .65fr) minmax(115px, 1.2fr) auto; gap: 6px; }
    .cs-experience.cs-halloween :is(.cs-budget-control, .cs-sort-control) { grid-template-columns: minmax(0, 1fr); gap: 4px; min-height: 54px; padding: 8px 9px; }
    .cs-inline-controls label > span { font-size: 6px; }
    .cs-experience.cs-halloween .cs-inline-controls :is(input[type="number"], select) { height: 24px; font-size: 16px; }
    .cs-experience.cs-halloween .cs-sort-control select { font-size: 11px; }
    .cs-experience.cs-halloween .cs-qc-control { gap: 5px; padding: 9px 8px; }
    .cs-experience.cs-halloween .cs-qc-control > span { max-width: 35px; white-space: normal; font-size: 8px; }
    .cs-qc-control input { width: 15px; height: 15px; }
    .cs-experience.cs-halloween .cs-catalog-browse { display: block; margin-bottom: 2px; }
    .cs-experience.cs-halloween .cs-catalog-browse .gender-filter { justify-content: flex-start; margin-bottom: 6px; }
    .cs-experience.cs-halloween .cs-catalog-browse .gender-btn { flex: 0 0 auto; width: auto; min-height: 30px; padding: 7px 16px; font-size: 8px; border-radius: 9px; }
    .cs-experience.cs-halloween .cs-catalog-browse .category-btn { min-height: 30px; padding: 7px 10px; font-size: 8px; border-radius: 9px; }
    .cs-result-line { min-height: 21px; margin-bottom: 8px; font-size: 9px; }
    .cs-result-line > span { font-size: 7px; }
    .cs-sheet { width: 100%; max-width: 100%; max-height: 94dvh; margin: auto 0 0; padding: 13px 18px max(22px, env(safe-area-inset-bottom)); border-radius: 24px 24px 0 0; }
    .cs-sheet-handle { display: block; width: 35px; height: 4px; margin: 0 auto 13px; border-radius: 9px; background: #a584b357; }
    .cs-sheet-header { margin-bottom: 10px; }
    .cs-sheet h2 { font-size: 23px; }
    .cs-preview-track > img { height: clamp(210px, 34dvh, 290px); min-height: 210px; }
    .cs-preview-track { min-height: 210px; }
    .cs-preview-actions { grid-template-columns: 1fr; gap: 8px; }
    .cs-experience .cs-preview-save { min-height: 42px; padding: 10px; }
    .cs-experience .cs-preview-actions .cs-primary-action { min-height: 45px; }
    .cs-preview-tabs button { padding: 8px 10px; font-size: 9px; }
    .cs-sheet .cs-preview-note { margin-bottom: 12px; }
    .cs-sheet .cs-preview-price { margin-bottom: 15px; font-size: 27px; }
    .cs-list-dialog { padding: 23px 20px max(25px, env(safe-area-inset-bottom)); }
    .cs-list-dialog .cs-sheet-header h2 { font-size: 22px; }
    .cs-home-collections { margin-top: 42px; }
    .cs-home-collections .haunt-section-heading { align-items: center; }
    .cs-experience .cs-home-collections h2 { max-width: 220px; font-size: 29px; }
    .cs-collection-rail { display: flex; gap: 12px; padding: 0 0 12px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: #78537e transparent; }
    .cs-edit-card { flex: 0 0 83%; scroll-snap-align: start; padding: 11px; border-radius: 18px; }
    .cs-edit-photos img { height: 94px; }
    .cs-edit-copy strong { font-size: 17px; }
    .cs-edit-copy small { font-size: 9px; }
    .cs-list-hub, .cs-shared-list { margin-bottom: 17px; padding: 18px 15px; border-radius: 18px; }
    .cs-list-heading { gap: 10px; margin-bottom: 13px; }
    .cs-experience .cs-list-hub h2 { font-size: 25px; }
    .cs-list-hub .cs-small-label { font-size: 6px; }
    .cs-list-hub > p { font-size: 9px; }
    .cs-list-tabs button { min-height: 35px; padding: 8px 10px; font-size: 9px; }
    .cs-experience .cs-small-button { min-height: 34px; padding: 8px 10px; font-size: 9px; }
    .cs-experience.cs-halloween .favorites-hero.cs-page-hero { min-height: 150px; padding: 22px 20px; }
    .cs-experience.cs-halloween .favorites-hero.cs-page-hero h1 { font-size: 30px; }
    .cs-experience.cs-halloween .cs-shared-list .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
    .cs-outfit-summary { padding: 16px; }
    .cs-outfit-summary strong { font-size: 25px; }
}
@media (max-width: 360px) {
    .cs-inline-controls { grid-template-columns: minmax(64px, .65fr) minmax(100px, 1fr) auto; gap: 5px; }
    .cs-experience.cs-halloween .cs-sort-control select { font-size: 10px; }
    .cs-experience.cs-halloween .cs-catalog-heading h1 { font-size: 21px; }
    .cs-result-line > span { display: none; }
}
@media print { .cs-sheet, #cs-shop-toast, .cs-list-actions, .cs-list-choose, .cs-quick-view { display: none !important; } }

/* China Spreadsheets: a consistent, mobile-first after-dark experience. */
body.cs-experience { --font-body: 'Manrope', sans-serif; --font-title: 'Sora', sans-serif; --cs-gold:#ffc47e; --cs-cream:#fff1de; --cs-soft:#c0a7cd; --dock-clearance:0px; margin:0; color:#ead9ef; background:radial-gradient(ellipse at 90% 8%,#703c602b,transparent 45%),radial-gradient(ellipse at 0 30%,#703b2520,transparent 40%),#140e1e; font-family:var(--font-body); color-scheme:dark; overflow-x:clip; }
.cs-experience *, .cs-experience *::before, .cs-experience *::after { box-sizing:border-box; }
.cs-experience [hidden] { display:none!important; }
.cs-experience a { text-decoration:none; }
.cs-experience :focus-visible { outline:2px solid #ffd39b; outline-offset:4px; }
.cs-experience button, .cs-experience input, .cs-experience select { font:inherit; }
.cs-experience button, .cs-experience a { -webkit-tap-highlight-color:transparent; }
.cs-experience :is(main,.site-footer) { position:relative; z-index:1; }
.cs-experience .halloween-ribbon, .cs-experience .halloween-banner { display:none; }
.cs-main { width:min(1280px,calc(100% - 64px)); margin:0 auto; padding:20px 0 60px; }
.cs-topline { width:min(1280px,calc(100% - 64px)); margin:0 auto; display:flex; justify-content:space-between; align-items:center; min-height:34px; color:#ac8db9; font-size:9px; letter-spacing:.12em; }
.cs-topline button { padding:8px 0 8px 12px; color:#c6adce; border:0; background:none; font-size:10px; cursor:pointer; letter-spacing:0; }
.cs-header { position:sticky; top:12px; z-index:40; width:min(1320px,calc(100% - 40px)); margin:0 auto 14px; }
.cs-nav-frame { position:relative; isolation:isolate; display:flex; align-items:center; gap:25px; min-height:80px; padding:12px 22px; border:1px solid #b88dba50; border-radius:25px; background:#21162deF; box-shadow:0 15px 45px #0003; backdrop-filter:blur(16px); }
.cs-nav-frame::before { content:''; position:absolute; z-index:-1; inset:-2px; padding:2px; border-radius:inherit; background:conic-gradient(from var(--cs-border-angle),transparent 20%,#c486cd55 35%,#ffd29b 40%,transparent 47%,transparent 70%,#9463ad 85%,transparent 92%); mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); mask-composite:exclude; pointer-events:none; animation:cs-border-lap 10s linear infinite; }
@property --cs-border-angle { syntax:'<angle>'; initial-value:0deg; inherits:false; }
@keyframes cs-border-lap { to { --cs-border-angle:360deg; } }
.cs-brand { display:flex; align-items:center; gap:10px; color:#fff2dd; margin-right:auto; min-width:0; }
.cs-brand img { flex:0 0 auto; filter:drop-shadow(0 4px 8px #f0b85b22); }
.cs-brand strong { display:block; font:800 16px/1.1 var(--font-title); letter-spacing:-.04em; }
.cs-brand strong span { color:#ffc47e; }
.cs-brand small { display:block; margin-top:6px; color:#b194bb; font-size:7px; letter-spacing:.18em; }
.cs-desktop-nav { display:flex; gap:6px; }
.cs-desktop-nav a { display:flex; align-items:center; gap:6px; padding:13px 16px; border-radius:13px; color:#bfa4cb; font-size:11px; font-weight:700; transition:background .2s,color .2s,transform .2s; }
.cs-desktop-nav a:hover { transform:translateY(-2px); color:#ffe0ad; background:#3e2a47; }
.cs-desktop-nav a[aria-current] { color:#ffd49a; background:#5f3d442e; box-shadow:inset 0 0 0 1px #ffce8a26; }
.cs-desktop-nav b, .cs-mobile-dock b { display:grid; place-items:center; min-width:16px; height:16px; padding:0 3px; border-radius:50px; background:#ffc47e; color:#28182c; font:800 8px var(--font-body); }
.cs-menu-trigger { display:flex; align-items:center; gap:9px; border:1px solid #c89dc136; border-radius:13px; background:#33213d; color:#f4d2b1; padding:11px 14px; font-size:11px!important; cursor:pointer; }
.cs-menu-trigger svg { width:17px; height:17px; }
.cs-mobile-dock { display:none; }
.cs-menu-links { display:grid; gap:8px; margin:20px 0 30px; }
.cs-menu-links a { display:flex; gap:14px; align-items:center; padding:14px; border:1px solid #b68ac22a; border-radius:12px; background:#2b1d36; color:#ecd5e8; font-weight:700; }
.cs-menu-links a>span { margin-left:auto; color:var(--cs-gold); }
.cs-menu-links svg { width:20px; height:20px; color:var(--cs-gold); }
.cs-agent-switch { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.cs-agent-switch a, .cs-menu-secondary a { color:#d5bbdf; padding:10px 12px; border:1px solid #bd92bb2c; border-radius:10px; font-size:12px; }
.cs-menu-secondary { display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }
.cs-kicker { font:700 9px/1.6 var(--font-body); letter-spacing:.14em; text-transform:uppercase; color:#c4a1ce; margin:0 0 15px; }
.cs-kicker>span { color:#ffc47e; margin-right:6px; }
.cs-experience h1, .cs-experience h2, .cs-experience h3 { font-family:var(--font-title); color:var(--cs-cream); }
.cs-experience h1 em, .cs-experience h2 em { color:var(--cs-gold); font-style:normal; }
.cs-home-hero { display:grid; grid-template-columns:1.05fr 1fr; align-items:center; min-height:560px; gap:35px; padding:25px 0 40px; overflow:clip; }
.cs-hero-copy h1 { margin:0 0 22px; font:800 clamp(45px,5.6vw,76px)/1.04 var(--font-title); letter-spacing:-.065em; }
.cs-hero-copy h1 em { color:#ffc47e; background:linear-gradient(#ffe4b4,#ffa856); background-clip:text; -webkit-text-fill-color:transparent; }
.cs-hero-copy>p:not(.cs-kicker) { margin:0 0 25px; color:#bca3c7; font-size:14px; line-height:1.9; }
.cs-home-search,.search-line { display:flex; align-items:center; gap:10px; border:1px solid #bc94bb44; border-radius:15px; background:#24182f; padding:7px; }
.cs-home-search input,.search-line input { min-width:0; width:100%; height:42px; padding:0 13px; background:transparent; border:0; box-shadow:none; color:#ecd9ed; font-size:13px; }
.cs-home-search button,.search-line button { flex:0 0 auto; min-width:46px; min-height:42px; padding:0 15px; border:0; border-radius:10px; background:#ffca8c; color:#2c1a25; font-weight:800; cursor:pointer; }
.cs-home-search button { font-size:24px; }
.cs-hero-actions { display:flex; align-items:center; flex-wrap:wrap; gap:25px; margin-top:20px; }
.cs-experience .cs-primary-action { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:46px; padding:13px 20px; border:1px solid #ffe1ad66; border-radius:12px; background:linear-gradient(130deg,#ffd69d,#efae65); box-shadow:0 4px 0 #91603f,0 10px 25px #ed9e4d14; color:#2d1b28; font:800 11px var(--font-body); cursor:pointer; transition:transform .25s,box-shadow .25s; }
.cs-experience .cs-primary-action:hover { transform:translateY(-3px); box-shadow:0 6px 0 #91603f,0 14px 28px #ed9e4d25; }
.cs-experience .cs-primary-action:disabled { opacity:.6; cursor:default; }
.cs-text-action { color:#edc69d; font-size:11px; font-weight:700; }
.cs-hero-stats { display:flex; gap:25px; padding-top:25px; margin-top:28px; border-top:1px solid #b78aaf25; }
.cs-hero-stats span { display:grid; gap:5px; color:#9f83ad; font-size:9px; }
.cs-hero-stats b { color:#ddbb94; font:800 20px var(--font-title); }
.cs-hero-scene { position:relative; height:470px; transform:perspective(900px) rotateX(var(--cs-tilt-x,0deg)) rotateY(var(--cs-tilt-y,0deg)); transition:transform .5s ease-out; transform-style:preserve-3d; }
.cs-scene-moon { position:absolute; inset:5% 10% 9%; border-radius:50%; background:radial-gradient(circle at 35% 27%,#ffe2ad,#d6a875 57%,#98623f); box-shadow:inset -25px -20px 40px #65452e55,0 0 100px #ffaa4933; opacity:.8; }
.cs-scene-moon::after { content:''; position:absolute; width:24%; aspect-ratio:1; top:15%; left:18%; border-radius:50%; background:#86582c12; box-shadow:110px 100px 0 20px #86582c0e,140px 10px 0 -15px #86582c12; }
.cs-scene-orbit { position:absolute; inset:20% -6%; border:1px solid #e1b17c55; border-radius:50%; transform:rotate(-25deg); }
.cs-scene-orbit::after { content:'✦'; position:absolute; top:20%; left:8%; color:#ffd695; font-size:25px; }
.cs-scene-float { position:absolute; inset:4% -6% -8%; transform:translateZ(50px); animation:cs-scene-hover 7s ease-in-out infinite; }
.cs-scene-float img { width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 28px 30px #08030d99); }
.cs-pumpkin { display:none; }
.cs-scene-star { position:absolute; top:8%; right:4%; color:#ffda99; font-size:45px; animation:cs-star 5s ease-in-out infinite; }
.cs-floating-note { position:absolute; bottom:4%; right:1%; padding:15px 20px; border:1px solid #c99cc257; border-radius:13px; background:#35223feb; box-shadow:0 14px 30px #0005; color:#ac8ab7; font-size:8px; line-height:1.9; letter-spacing:.13em; transform:rotate(-7deg) translateZ(70px); animation:cs-note 8s ease-in-out infinite; }
.cs-floating-note strong { color:#f3cd9b; font-size:12px; }
@keyframes cs-scene-hover { 50% { transform:translateY(-14px) translateZ(50px) rotate(-2deg); } }
@keyframes cs-note { 50% { transform:rotate(-3deg) translateY(-10px) translateZ(70px); } }
@keyframes cs-star { 50% { transform:rotate(30deg) scale(.7); opacity:.6; } }
.cs-section { margin:35px 0 60px; }
.cs-section-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:22px; }
.cs-section-heading .cs-kicker { margin-bottom:8px; }
.cs-section-heading h2,.cs-fit-banner h2 { margin:0; font-size:clamp(24px,3.1vw,40px); letter-spacing:-.055em; line-height:1.15; }
.cs-section-heading>span { font-size:10px; color:#9d81ac; }
.cs-agent-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; }
.cs-agent-card { display:flex; align-items:center; gap:15px; min-height:100px; padding:20px; border:1px solid #b88ac037; border-radius:17px; background:linear-gradient(135deg,#302039,#21172d); box-shadow:0 6px 0 #0e0a16; transition:transform .3s,border-color .3s,box-shadow .3s; }
.cs-agent-card:hover { transform:translateY(-6px) rotate(-.5deg); border-color:var(--agent-accent); box-shadow:0 12px 0 #0e0a16,0 15px 30px #0003; }
.cs-agent-logo { display:grid; flex:0 0 auto; place-items:center; width:48px; height:48px; padding:8px; border-radius:13px; background:#fff; box-shadow:0 0 25px color-mix(in srgb,var(--agent-accent),transparent 85%); }
.cs-agent-logo img { width:100%; height:100%; object-fit:contain; }
.cs-agent-card strong { color:#f8e9dd; font:700 16px var(--font-title); }
.cs-agent-card small { display:block; margin-top:6px; color:#a98cb8; font-size:10px; }
.cs-agent-card>b { margin-left:auto; color:var(--cs-gold); font-size:20px; }
.cs-poison-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.cs-poison-card { position:relative; display:grid; overflow:hidden; border:1px solid #b38cc239; border-radius:19px; padding:20px; background:radial-gradient(ellipse at 50% 40%,#5c3b5d55,#281c34 70%); color:var(--cs-cream); box-shadow:0 7px 0 #0c0912; transition:transform .3s; }
.cs-poison-card:nth-child(2) { background:radial-gradient(ellipse at 50% 40%,#b36d3433,#281c34 70%); }
.cs-poison-card>span { color:#aa8db9; font-size:8px; letter-spacing:.14em; }
.cs-poison-card img { display:block; width:100%; height:170px; object-fit:contain; filter:drop-shadow(0 17px 13px #0005); transform:rotate(-9deg); transition:transform .5s cubic-bezier(.2,.7,.2,1); }
.cs-poison-card:hover { transform:translateY(-5px); }
.cs-poison-card:hover img { transform:translateY(-7px) rotate(3deg) scale(1.08); }
.cs-poison-card strong { display:flex; justify-content:space-between; align-items:center; font:700 18px var(--font-title); }
.cs-poison-card b { display:grid; place-items:center; width:29px; height:29px; border:1px solid #caa2a14f; border-radius:50%; font-size:15px; color:#ffcd93; }
.cs-experience .product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:17px; width:100%; }
.cs-experience .product-card { position:relative; min-width:0; overflow:hidden; border:1px solid #b58ab73b; border-radius:18px; background:linear-gradient(160deg,#30213b,#20162c); box-shadow:0 5px 0 #100b18; transition:transform .3s,border-color .3s,box-shadow .3s; }
.cs-experience .product-card:hover { transform:translateY(-5px); border-color:#d2a4b475; box-shadow:0 10px 0 #100b18,0 15px 30px #0003; }
.cs-experience .product-link { display:block; color:#fff0dd; }
.cs-experience .product-image { position:relative; display:grid; place-items:center; aspect-ratio:1; margin:9px; border-radius:12px; overflow:hidden; background:radial-gradient(circle at 50% 40%,#4c375c55,#21182d); }
.cs-experience .product-image img { display:block; width:100%; height:100%; position:absolute; inset:0; padding:6px; object-fit:contain; transition:transform .5s; }
.cs-experience .product-card:hover .product-image img { transform:scale(1.06) rotate(-2deg); }
.cs-experience .product-info { min-height:83px; padding:7px 14px 10px; }
.cs-experience .product-info h3 { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin:0 0 9px; font:700 12px/1.5 var(--font-body); color:#e6d3eb; overflow-wrap:anywhere; }
.cs-experience .product-price { color:#ffd097; font:800 16px var(--font-title); }
.cs-experience .card-actions { display:flex; align-items:center; gap:7px; padding:10px; }
.cs-experience .card-btn { display:flex; flex:1; align-items:center; justify-content:center; min-height:36px; padding:8px; border:1px solid #cfa58f40; border-radius:10px; background:#5a3b4233; color:#e3bd9b; font-size:10px; font-weight:700; }
.cs-experience .card-actions .favorite-toggle { flex:0 0 38px; width:38px; height:36px; border:1px solid #b78cbd3d; border-radius:10px; background:#3a2545; color:#c8a2d3; cursor:pointer; }
.cs-experience .card-actions .favorite-toggle-label { display:none; }
.cs-experience .favorite-toggle-icon { font-size:20px; line-height:1; }
.cs-experience .favorite-toggle.is-active { color:#ffd098; border-color:#d8a76e70; background:#64413f44; }
.cs-qc-badge { position:absolute; left:7px; top:7px; color:#efd8b7; background:#35233ee6; border:1px solid #cda37d50; border-radius:7px; padding:4px 7px; font-size:8px; }
.cs-fit-banner { display:grid; grid-template-columns:1fr auto; align-items:center; gap:30px; padding:40px 50px; border:1px solid #d1a27640; border-radius:25px; background:radial-gradient(ellipse at 80% 50%,#76434c3d,transparent 60%),#271b33; box-shadow:0 7px 0 #0f0a17; }
.cs-fit-banner p:not(.cs-kicker) { color:#b598c2; font-size:12px; line-height:1.7; margin:15px 0 23px; }
.cs-fit-orbit { display:flex; gap:25px; align-items:center; justify-content:center; width:260px; height:220px; border:1px solid #d1a17466; border-radius:50%; color:#f1bd7c; transform:rotate(-15deg); font-size:33px; }
.cs-fit-orbit span { font:800 31px/1.05 var(--font-title); color:#e2b899; transform:rotate(10deg); }
.cs-how-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.cs-how-grid article { padding:25px; border-top:1px solid #b88bbb40; }
.cs-how-grid b { color:#b18bbf; font-size:10px; }
.cs-how-grid h3 { margin:17px 0 10px; font-size:17px; }
.cs-how-grid p { margin:0; color:#af91bc; font-size:12px; line-height:1.8; }
.cs-directory-links { display:flex; flex-wrap:wrap; gap:12px 22px; border-top:1px solid #b285b32a; padding-top:22px; }
.cs-directory-links a { color:#9c7eaa; font-size:10px; }
.cs-experience .site-footer { background:#100c18; border-top:1px solid #b28bb02e; color:#b397c0; }
.cs-experience .site-footer a { color:#c1a1cc; }
.cs-agent-tabs { display:flex; gap:6px; margin-bottom:17px; padding:4px 1px 8px; overflow-x:auto; scrollbar-width:thin; }
.cs-agent-tabs a { flex:0 0 auto; padding:9px 12px; border:1px solid #af85b237; border-radius:9px; color:#bca0c8; font-size:10px; }
.cs-agent-tabs a[aria-current] { color:#ffd097; background:#6d464239; border-color:#d6aa715c; }
.cs-experience.cs-halloween .cs-catalog-heading { margin:6px 0 18px; }
.cs-experience.cs-halloween .cs-catalog-browse .category-btn, .cs-experience .gender-btn { border:1px solid #b18bb53b; color:#bca0cb; background:#261b31; border-radius:9px; font:600 10px var(--font-body); text-decoration:none; }
.cs-experience .gender-filter { display:flex; }
.cs-experience.cs-halloween .cs-catalog-browse .category-btn.active, .cs-experience .gender-btn.active { color:#ffcf98; background:#62434044; border-color:#dda96d66; }
.cs-experience .cs-empty { grid-column:1/-1; padding:45px 20px; border:1px solid #bc8fbd35; border-radius:18px; text-align:center; background:#25192f; }
.cs-empty>span { display:block; font-size:40px; color:#ffcd94; margin-bottom:20px; }
.cs-empty h2 { margin-bottom:15px; }
.cs-empty p { color:#a98ab7; font-size:12px; }
.cs-load-more { text-align:center; padding:30px; }
.cs-catalog-note { margin-top:30px; padding-top:20px; border-top:1px solid #b78cb630; color:#a589b3; font-size:11px; line-height:1.8; }
.cs-catalog-note>a { color:#e3bb96; }
.cs-experience .listing-notice { background:#2c1e36; border-color:#bd93bc3b; color:#b699c3; box-shadow:none; font-size:10px; }
.cs-experience .listing-notice a { color:#d2b1db; }
.cs-back-link { display:inline-block; color:#b89cc5; margin:0 0 25px; font-size:11px; }
.cs-product-detail { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:55px; }
.cs-detail-image { aspect-ratio:1; display:grid; place-items:center; background:radial-gradient(ellipse,#50355877,#21172d); border:1px solid #c59cbe3a; border-radius:25px; overflow:hidden; }
.cs-detail-image img { width:100%; height:100%; object-fit:contain; }
.cs-detail-thumbs { display:flex; overflow-x:auto; gap:9px; padding:14px 2px; }
.cs-detail-thumbs button { flex:0 0 70px; width:70px; height:70px; overflow:hidden; padding:0; border:1px solid #bb8fc13d; border-radius:12px; background:#281c33; cursor:pointer; }
.cs-detail-thumbs button[aria-pressed=true] { border-color:#ffcd94; }
.cs-detail-thumbs img { width:100%; height:100%; object-fit:contain; }
.cs-detail-copy { padding-top:20px; }
.cs-detail-copy h1 { font-size:clamp(27px,3.4vw,44px); letter-spacing:-.05em; line-height:1.15; margin:0 0 25px; }
.cs-detail-price { font:800 38px var(--font-title); color:#ffd196; margin:0 0 25px; }
.cs-detail-price small { display:block; margin-top:8px; color:#a58aaf; font:500 9px var(--font-body); }
.cs-detail-actions { display:flex; gap:10px; }
.cs-detail-intro { color:#b397c0; font-size:12px; line-height:1.9; margin:27px 0; }
.cs-detail-agents { padding:20px 0; border-block:1px solid #b58eb32b; margin-bottom:22px; }
.cs-detail-agents>a { display:inline-flex; margin:0 6px 7px 0; padding:8px 11px; border:1px solid #b78abd36; border-radius:8px; color:#c3a6cf; font-size:10px; }
.cs-detail-agents>a[aria-current] { color:#ffcf94; border-color:#d7a16a77; }
.cs-qc-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-top:20px; }
.cs-qc-grid img { width:100%; height:240px; object-fit:contain; border-radius:14px; background:#241a30; }
.cs-detail-qc>p { color:#aa8eb9; font-size:11px; }
.cs-experience .favorites-page { background:none; padding:15px 0; }
.cs-experience .favorites-shell { width:100%; }
.cs-experience .favorites-hero { margin:0 0 30px; }
.cs-experience .favorites-kicker { color:#b58fc3; font-size:9px; letter-spacing:.12em; }
.cs-experience .favorites-hero h1 { font-size:clamp(35px,5vw,60px); margin:15px 0; letter-spacing:-.055em; line-height:1.05; }
.cs-experience .favorites-copy { color:#b89fc3; font-size:12px; line-height:1.9; }
.cs-experience .favorites-toolbar { display:flex; justify-content:space-between; gap:20px; align-items:center; margin:25px 0 20px; }
.cs-experience .favorites-count-copy { color:#b99dc5; font-size:11px; }
.cs-experience .favorites-clear-btn { border:1px solid #bd91bc45; border-radius:10px; padding:10px 13px; background:#302039; color:#bca0c6; font-size:10px; cursor:pointer; }
.cs-experience .favorites-empty { padding:35px; margin:20px 0; text-align:center; border:1px solid #b78db33b; border-radius:20px; background:#24192f; }
.cs-experience .favorites-empty h2 { font-size:27px; }
.cs-experience .favorites-empty p { color:#b79bc4; font-size:12px; line-height:1.8; }
.cs-experience .favorites-empty-link { color:#f3c690; display:inline-block; margin-top:10px; font-size:12px; }
.cs-experience .favorites-capture-kicker { color:#bd96cb; font-size:9px!important; letter-spacing:.1em; }
.cs-experience .outfit-detail-main { width:min(1280px,calc(100% - 64px)); padding:20px 0 60px; margin:0 auto; }
.cs-experience .outfit-detail-main>.container { max-width:none; width:100%; padding:0; }
.cs-experience .outfit-detail-copy h1 { font-size:clamp(27px,3vw,42px); }
.cs-experience .outfit-detail-layout { gap:35px; }
.cs-experience .outfit-product-card { background:#2b1e36; border:1px solid #bf96be3e; border-radius:16px; overflow:hidden; transition:transform .3s; }
.cs-experience .outfit-product-card:hover { transform:translateY(-4px); }
.cs-experience .outfit-product-copy .favorite-toggle { display:flex; align-items:center; justify-content:center; gap:7px; width:100%; min-height:36px; margin-bottom:10px; padding:8px; border:1px solid #b88fbc44; border-radius:9px; color:#d1b1da; background:#3c2844; font-size:10px; cursor:pointer; }
.cs-experience .outfit-product-copy .favorite-toggle-label { font-size:9px; }
.cs-experience .outfits-hero { padding-top:20px; }
.cs-experience :is(.outfits-main,.outfit-detail-main) { background:transparent; }
.haunt-symbols { position:absolute; width:0; height:0; overflow:hidden; pointer-events:none; }
.haunt-atmosphere { position:fixed; z-index:2; inset:0; overflow:hidden; pointer-events:none; contain:strict; }
.haunt-atmosphere svg { position:absolute; pointer-events:none; }
.haunt-bat { width:70px; top:12%; left:-100px; opacity:.45; animation:cs-bat-fly 31s linear infinite; color:#090612; filter:drop-shadow(0 5px 3px #0005); }
.haunt-bat-two { animation-duration:40s; animation-delay:-17s; top:26%; width:45px; }
.haunt-bat-three { animation-duration:36s; animation-delay:-9s; top:6%; width:35px; }
.haunt-bat-four { animation-duration:48s; animation-delay:-35s; top:36%; width:55px; }
.haunt-bat-five { animation-duration:43s; animation-delay:-25s; top:17%; width:25px; }
.haunt-bat-six { animation-duration:51s; animation-delay:-6s; top:41%; width:35px; }
.haunt-leaf { left:var(--x); top:-50px; width:var(--size); height:calc(var(--size) * 1.2); opacity:.4; animation:cs-leaf-fall var(--fall) linear var(--delay) infinite; }
.haunt-firefly { width:3px; height:3px; border-radius:50%; background:#ffd19b; box-shadow:0 0 10px #e8a65e; left:var(--x); top:var(--y); opacity:.3; animation:cs-star 5s ease-in-out infinite; }
@keyframes cs-bat-fly { 0% { transform:translate(-5vw,0) rotate(-8deg) scaleY(.8); } 40% { transform:translate(42vw,65px) rotate(4deg) scaleY(1); } 70% { transform:translate(80vw,-25px) rotate(-5deg) scaleY(.75); } 100% { transform:translate(120vw,30px) rotate(8deg); } }
@keyframes cs-leaf-fall { 0% { transform:translate3d(0,-30px,0) rotate(0deg); opacity:0; } 7% { opacity:.4; } 94% { opacity:.4; } 100% { transform:translate3d(var(--sway),110dvh,0) rotate(430deg); opacity:0; } }
.cs-reveal { opacity:0; transform:translateY(22px); transition:opacity .8s,transform .8s cubic-bezier(.2,.8,.2,1); }
.cs-reveal.is-visible { opacity:1; transform:none; }
.cs-experience[data-effects-paused] *, .cs-experience[data-effects-paused] *::before, .cs-experience[data-effects-paused] *::after, .cs-experience[data-page-hidden] *, .cs-experience[data-page-hidden] *::before, .cs-experience[data-page-hidden] *::after { animation-play-state:paused!important; }
.cs-experience[data-effects-paused] .cs-reveal { opacity:1; transform:none; }
@media(min-width:1500px) { .cs-home-hero { min-height:600px; } }
@media(max-width:1000px) { .cs-desktop-nav a { padding:12px; } .cs-brand strong { font-size:13px; } .cs-nav-frame { gap:12px; } .cs-home-hero { gap:12px; min-height:490px; } .cs-hero-copy h1 { font-size:54px; } .cs-hero-scene { height:380px; } .cs-poison-card { padding:15px; } .cs-poison-card img { height:140px; } .cs-agent-card { padding:15px; gap:10px; } }
@media(max-width:760px) {
    body.cs-experience { --dock-clearance:83px; padding-bottom:calc(83px + env(safe-area-inset-bottom)); }
    .cs-main,.cs-experience .outfit-detail-main { width:calc(100% - 30px); padding-top:12px; }
    .cs-topline { width:calc(100% - 38px); min-height:31px; font-size:7px; }
    .cs-topline button { font-size:8px; min-height:30px; }
    .cs-header { width:calc(100% - 24px); top:8px; margin-bottom:9px; }
    .cs-nav-frame { min-height:66px; padding:11px 15px; border-radius:21px; }
    .cs-brand img { width:35px; height:35px; }
    .cs-brand strong { font-size:12px; }
    .cs-brand small { font-size:6px; margin-top:5px; }
    .cs-brand { gap:8px; }
    .cs-desktop-nav { display:none; }
    .cs-menu-trigger { padding:9px; border-radius:11px; }
    .cs-menu-trigger>span { display:none; }
    .cs-menu-trigger svg { width:17px; height:17px; }
    .cs-mobile-dock { position:fixed; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:2px; z-index:60; left:12px; right:12px; bottom:calc(10px + env(safe-area-inset-bottom)); min-height:65px; padding:5px; border:1px solid #b88cbc5d; border-radius:22px; background:#261a32ef; box-shadow:0 -6px 40px #0004,0 10px 25px #0005; backdrop-filter:blur(18px); }
    .cs-mobile-dock>a,.cs-mobile-dock>button { position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; min-width:0; min-height:53px; padding:5px 1px; border:0; border-radius:16px; background:none; color:#ad8fbc; font:600 8px var(--font-body); cursor:pointer; }
    .cs-mobile-dock svg { width:19px; height:19px; transition:transform .25s; }
    .cs-mobile-dock [aria-current] { background:linear-gradient(150deg,#79514755,#48304455); color:#ffd096; box-shadow:inset 0 0 0 1px #e9ba7d2b; }
    .cs-mobile-dock a:active svg,.cs-mobile-dock button:active svg { transform:translateY(-3px) scale(1.1); }
    .cs-mobile-dock b { position:absolute; top:2px; right:calc(50% - 21px); font-size:7px; min-width:14px; height:14px; }
    .cs-home-hero { display:flex; flex-direction:column; gap:0; padding:22px 0 10px; min-height:0; }
    .cs-hero-copy { width:100%; }
    .cs-hero-copy .cs-kicker { font-size:8px; margin-bottom:14px; }
    .cs-hero-copy h1 { font-size:clamp(39px,10.8vw,70px); margin-bottom:18px; }
    .cs-hero-copy>p:not(.cs-kicker) { font-size:11px; line-height:1.9; margin-bottom:21px; }
    .cs-home-search { border-radius:14px; }
    .cs-home-search input { font-size:11px; }
    .cs-hero-actions { gap:19px; margin-top:17px; }
    .cs-hero-actions .cs-primary-action { font-size:10px; padding:12px 15px; }
    .cs-hero-actions .cs-text-action { font-size:10px; }
    .cs-hero-stats { gap:0; justify-content:space-between; margin-top:25px; padding-top:19px; }
    .cs-hero-stats span { font-size:8px; }
    .cs-hero-stats b { font-size:17px; }
    .cs-hero-scene { width:min(420px,100%); height:310px; margin:22px 0 7px; }
    .cs-scene-float { inset:0 -3% -7%; }
    .cs-floating-note { right:0; font-size:6px; padding:11px 14px; }
    .cs-floating-note strong { font-size:10px; }
    .cs-section { margin:25px 0 43px; }
    .cs-section-heading { gap:12px; margin-bottom:17px; }
    .cs-section-heading h2 { font-size:27px; }
    .cs-section-heading .cs-kicker { font-size:7px; }
    .cs-section-heading>span { display:none; }
    .cs-section-heading>a { font-size:9px; flex:0 0 auto; }
    .cs-agent-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
    .cs-agent-card { padding:13px 11px; min-height:80px; gap:9px; border-radius:14px; }
    .cs-agent-logo { width:35px; height:35px; border-radius:10px; padding:6px; }
    .cs-agent-card strong { font-size:12px; }
    .cs-agent-card small { font-size:7px; margin-top:4px; }
    .cs-agent-card>b { font-size:15px; }
    .cs-poison-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .cs-poison-card { padding:14px; border-radius:15px; }
    .cs-poison-card>span { font-size:6px; }
    .cs-poison-card img { height:125px; }
    .cs-poison-card strong { font-size:14px; }
    .cs-poison-card b { width:24px; height:24px; font-size:13px; }
    .cs-experience .product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .cs-experience .product-card { border-radius:14px; }
    .cs-experience .product-image { margin:6px; border-radius:10px; }
    .cs-experience .product-info { padding:6px 11px; min-height:75px; }
    .cs-experience .product-info h3 { font-size:10px; margin-bottom:8px; }
    .cs-experience .product-price { font-size:15px; }
    .cs-experience .card-actions { padding:8px; gap:6px; }
    .cs-experience .card-btn { font-size:9px; min-height:34px; }
    .cs-experience .card-actions .favorite-toggle { flex-basis:33px; width:33px; height:34px; }
    .cs-home-collection .product-grid .product-card:nth-child(n+3) { display:none; }
    .cs-fit-banner { padding:25px 21px; gap:10px; }
    .cs-fit-banner h2 { font-size:26px; }
    .cs-fit-banner p:not(.cs-kicker) { font-size:10px; }
    .cs-fit-banner .cs-primary-action { font-size:9px; padding:11px 13px; }
    .cs-fit-orbit { width:80px; height:165px; gap:5px; font-size:14px; }
    .cs-fit-orbit span { font-size:16px; }
    .cs-how-grid { grid-template-columns:1fr; gap:5px; }
    .cs-how-grid article { padding:20px 10px; }
    .cs-how-grid h3 { font-size:16px; margin-top:10px; }
    .cs-how-grid p { font-size:11px; }
    .cs-experience .cs-catalog-heading { align-items:center; gap:10px; }
    .cs-experience.cs-halloween .cs-catalog-heading h1 { font-size:25px; }
    .cs-experience .cs-catalog-heading .cs-text-action { font-size:9px; white-space:nowrap; }
    .cs-agent-tabs { margin-bottom:12px; }
    .cs-agent-tabs a { font-size:8px; padding:8px 10px; }
    .cs-experience.cs-halloween .cs-catalog-browse { gap:10px; }
    .cs-experience.cs-halloween .cs-catalog-browse .gender-btn { padding:8px 10px; font-size:8px; }
    .cs-experience.cs-halloween .cs-catalog-browse .category-btn { font-size:8px; }
    .cs-experience .cs-catalog-tools .search-line { min-height:48px; }
    .search-line input { height:34px; font-size:11px; }
    .search-line button { min-height:34px; font-size:10px; padding:0 13px; }
    .cs-product-detail { grid-template-columns:1fr; gap:15px; }
    .cs-detail-gallery { min-width:0; }
    .cs-detail-copy { padding-top:7px; }
    .cs-detail-copy h1 { font-size:29px; margin-bottom:20px; }
    .cs-detail-price { font-size:32px; }
    .cs-detail-actions { display:grid; grid-template-columns:auto minmax(0,1fr); }
    .cs-detail-actions .cs-primary-action { font-size:10px; padding:12px; }
    .cs-qc-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
    .cs-qc-grid img { height:190px; }
    .cs-experience .favorites-hero h1 { font-size:40px; }
    .cs-experience .favorites-toolbar { gap:10px; }
    .cs-experience .favorites-empty { padding:25px 17px; }
    .cs-experience .favorites-empty h2 { font-size:23px; }
    .cs-experience .outfit-detail-layout { grid-template-columns:1fr; gap:20px; }
    .cs-experience .outfit-hero-image { position:relative; top:auto; }
    .cs-experience .site-footer { padding-bottom:20px; }
    .haunt-bat-four,.haunt-bat-five,.haunt-bat-six,.haunt-leaf:nth-of-type(n+12) { display:none; }
}
.cs-experience.cs-halloween .cs-catalog-tools .search-line { display:flex; padding:7px; }
.cs-experience.cs-halloween .cs-catalog-tools .search-line input { flex:1; width:100%; min-width:0; padding:0 10px; }
.cs-experience.cs-halloween .cs-catalog-tools .search-line button { flex:0 0 auto; width:auto; }
.cs-saved-agent { display:block; color:#a589b4; font-size:9px; margin-top:5px; }
@media(max-width:350px) { .cs-brand strong { font-size:10px; } .cs-hero-copy h1 { font-size:37px; } .cs-agent-card { gap:7px; padding:10px 8px; } .cs-agent-logo { width:30px; height:30px; } .cs-agent-card strong { font-size:11px; } .cs-hero-actions { gap:12px; } .cs-fit-banner { padding:20px 16px; } .cs-fit-orbit { display:none; } .cs-fit-banner { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .cs-experience *, .cs-experience *::before,.cs-experience *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } .cs-reveal { opacity:1; transform:none; } .haunt-atmosphere { display:none; } }

.haunt-definitions { position:absolute; width:0; height:0; overflow:hidden; pointer-events:none; }
