/*
 * Keepsake seasonal theme controller
 * Current theme: Halloween 2026
 * Remove this stylesheet link to restore the permanent site exactly as-is.
 * Replace only this file when changing to the next seasonal theme.
 * Treatments are intentionally scoped by audience and page type.
 */

:root {
  --season-accent: #ff7a00;
  --season-accent-light: #ff9f2f;
  --season-accent-dark: #9a3e00;
  --season-accent-rgb: 255, 122, 0;
  --season-blood: #760900;
  --season-blood-bright: #c52a0a;
  --killer-hockey: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 120'%3E%3Cpath fill='%23120b0a' d='M3 118c3-30 20-46 39-51h17c20 5 36 21 39 51z'/%3E%3Cpath fill='%23680804' d='M75 15l9 2-19 78-10-3z'/%3E%3Cpath fill='%23d6d0c4' d='M50 8c-21 0-31 17-28 43 3 25 14 40 28 41 15-1 26-16 29-41C82 25 71 8 50 8z'/%3E%3Cpath fill='%230a0807' d='M30 40l15 4-5 10-13-5zm40 0l-15 4 5 10 13-5zM43 68h14v11H43z'/%3E%3Cg fill='%238b0d05'%3E%3Ccircle cx='37' cy='28' r='3'/%3E%3Ccircle cx='63' cy='28' r='3'/%3E%3Ccircle cx='34' cy='61' r='3'/%3E%3Ccircle cx='67' cy='61' r='3'/%3E%3C/g%3E%3Cpath stroke='%23b51b0b' stroke-width='3' d='M50 10v22M37 76l26-24'/%3E%3C/svg%3E");
  --killer-ghost: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 120'%3E%3Cpath fill='%23100b0b' d='M5 118c3-33 20-49 38-54h15c20 5 36 21 38 54zM17 65C16 25 30 6 50 6s34 19 33 59L67 83H33z'/%3E%3Cpath fill='%23e1ddd3' d='M50 25c-16 0-24 13-22 32 2 20 11 33 22 34 12-1 21-14 23-34 2-19-7-32-23-32z'/%3E%3Cpath fill='%23070404' d='M33 51c5-6 12-5 16 1-4 10-11 11-16-1zm34 0c-5-6-12-5-16 1 4 10 11 11 16-1zM42 71c6 7 11 7 17 0-2 13-15 15-17 0z'/%3E%3C/svg%3E");
  --killer-blank-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 120'%3E%3Cpath fill='%23131416' d='M4 118c2-31 20-47 39-52h15c20 5 37 21 39 52z'/%3E%3Cpath fill='%23201b19' d='M23 28C27 6 43 2 52 7c12-7 27 6 27 26l-8 13H29z'/%3E%3Cpath fill='%23ded8cc' d='M50 17c-18 0-28 14-27 36 2 24 12 38 27 39 15-1 25-15 27-39 1-22-9-36-27-36z'/%3E%3Cpath fill='%23090707' d='M30 47c5-7 13-8 18-1-3 8-12 9-18 1zm40 0c-5-7-13-8-18-1 3 8 12 9 18 1zM44 66h12l-1 8H45z'/%3E%3Cpath fill='none' stroke='%238f1309' stroke-width='2' d='M38 79c8 4 16 4 24 0'/%3E%3C/svg%3E");
  --killer-puppet: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 120'%3E%3Cpath fill='%230d0a09' d='M4 118c4-30 21-46 40-51h13c20 5 36 21 39 51z'/%3E%3Cpath fill='%23e7e1d5' d='M50 13c-19 0-30 15-29 38 1 25 13 40 29 41 16-1 28-16 29-41 1-23-10-38-29-38z'/%3E%3Cpath fill='%23070505' d='M29 42c6-7 13-7 19 0-5 5-14 5-19 0zm42 0c-6-7-13-7-19 0 5 5 14 5 19 0zM43 67h14c-2 8-12 8-14 0z'/%3E%3Cg fill='none' stroke='%23b3130a' stroke-width='3'%3E%3Cpath d='M28 58c9-9 18 6 6 12-12 5-16-11-6-12zm44 0c-9-9-18 6-6 12 12 5 16-11 6-12z'/%3E%3C/g%3E%3Cpath fill='%238d0d06' d='M50 91l-13 10 13 8 13-8z'/%3E%3C/svg%3E");
  --killer-clown: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 120'%3E%3Cpath fill='%230b0909' d='M4 118c3-30 19-46 39-51h15c20 5 36 21 38 51z'/%3E%3Cpath fill='%230d0b0b' d='M27 20h46l-9-13H37z'/%3E%3Cpath fill='%23eee8dc' d='M50 15c-19 0-30 15-29 38 1 24 13 39 29 40 16-1 28-16 29-40 1-23-10-38-29-38z'/%3E%3Cpath fill='%23060404' d='M28 43c7-9 14-8 20 0-6 7-14 7-20 0zm44 0c-7-9-14-8-20 0 6 7 14 7 20 0zM45 56l5-7 5 7-5 6zM32 72c12 7 24 7 36 0-4 19-32 19-36 0z'/%3E%3Cpath fill='%238f1007' d='M22 30l9-10 3 15zm56 0l-9-10-3 15z'/%3E%3Ccircle cx='50' cy='58' r='3' fill='%23a41409'/%3E%3C/svg%3E");
}

/* Public tattoo booking page: polished Halloween treatment. */
body.seasonal-public .appointment-holder-dark {
  background:
    radial-gradient(circle at 50% 0%, rgba(var(--season-accent-rgb), .11), transparent 34rem),
    linear-gradient(180deg, #151515 0%, #0b0b0b 100%);
}

@keyframes seasonal-spider-descent {
  0%, 3% { transform: translate3d(0, -70vh, 0); opacity: 0; }
  6% { opacity: .82; }
  46% { transform: translate3d(0, 18vh, 0); opacity: .82; }
  64% { transform: translate3d(0, 55vh, 0); opacity: .82; }
  72%, 100% { transform: translate3d(0, 115vh, 0); opacity: 0; }
}

@keyframes seasonal-spider-cross {
  0%, 4% { transform: translate3d(-12vw, 0, 0) rotate(-8deg); opacity: 0; }
  7% { opacity: .78; }
  72% { transform: translate3d(112vw, 9vh, 0) rotate(12deg); opacity: .78; }
  78%, 100% { transform: translate3d(112vw, 9vh, 0) rotate(12deg); opacity: 0; }
}

@keyframes seasonal-spider-descent-left {
  0%, 10% { transform: translate3d(0, -62vh, 0) rotate(5deg); opacity: 0; }
  14% { opacity: .72; }
  68% { transform: translate3d(2vw, 70vh, 0) rotate(-7deg); opacity: .72; }
  76%, 100% { transform: translate3d(2vw, 112vh, 0) rotate(-7deg); opacity: 0; }
}

@keyframes seasonal-killer-peek {
  0%, 18%, 100% { transform: translate3d(0, 0, 0) rotate(2deg); opacity: 0; }
  23% { opacity: .92; }
  34%, 58% { transform: translate3d(38px, 0, 0) rotate(7deg); opacity: .92; }
  66% { transform: translate3d(0, 0, 0) rotate(2deg); opacity: 0; }
}

@keyframes seasonal-popup-bug-crawl {
  0% { left: -34px; top: -30px; transform: rotate(-18deg); opacity: 0; }
  6% { opacity: .82; }
  28% { transform: rotate(12deg); }
  52% { transform: rotate(-9deg); }
  76% { transform: rotate(14deg); opacity: .82; }
  94%, 100% { left: calc(100% + 8px); top: calc(100% + 8px); transform: rotate(-8deg); opacity: 0; }
}

@keyframes seasonal-popup-spider-drop {
  0%, 42% { top: -12px; transform: translateY(0); opacity: .9; }
  70% { top: -12px; transform: translateY(390px); opacity: .9; }
  88% { top: -12px; transform: translateY(650px); opacity: .9; }
  96%, 100% { top: -12px; transform: translateY(720px); opacity: 0; }
}

body.seasonal-piercing::after,
body.seasonal-public::after,
body.seasonal-team::after,
.jewelry-catalog::after,
body.seasonal-artist .box h2::after {
  content: "🕷️";
  position: fixed;
  top: 0;
  right: clamp(18px, 5vw, 72px);
  z-index: 30;
  display: flex;
  width: 42px;
  height: 58vh;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: 2px;
  background: linear-gradient(90deg, transparent calc(50% - .7px), rgba(255, 142, 32, .62) 50%, transparent calc(50% + .7px));
  color: #1b120e;
  font-size: 30px;
  line-height: 1;
  filter: drop-shadow(0 0 5px rgba(var(--season-accent-rgb), .78));
  opacity: 0;
  pointer-events: none;
  animation: seasonal-spider-descent 14s ease-in-out .75s infinite;
  will-change: transform, opacity;
}

body.seasonal-piercing::before,
body.seasonal-public .appointment-holder-dark::before,
body.seasonal-team::before,
.jewelry-catalog .grid-container::before,
body.seasonal-artist .box h2::before {
  content: "🕷️";
  position: fixed;
  top: 34vh;
  left: 0;
  z-index: 29;
  width: 38px;
  height: 38px;
  color: #18100d;
  font-size: 30px;
  line-height: 1;
  opacity: 0;
  filter: drop-shadow(0 0 5px rgba(var(--season-accent-rgb), .72));
  pointer-events: none;
  animation: seasonal-spider-cross 17s ease-in-out 2.25s infinite;
  will-change: transform, opacity;
}

/* Homepage: keep the page unchanged and decorate only its welcome popup. */
body.seasonal-home {
  --home-web: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 150'%3E%3Cg fill='none' stroke='%23ff7a00' stroke-width='1.35' opacity='.6'%3E%3Cpath d='M0 0h145M0 0v145M0 0l130 130M0 0l150 78M0 0l78 150'/%3E%3Cpath d='M32 0A32 32 0 0 1 0 32M64 0A64 64 0 0 1 0 64M97 0A97 97 0 0 1 0 97M130 0A130 130 0 0 1 0 130'/%3E%3Cpath d='M62 0C56 20 44 35 27 45M101 0C89 38 64 67 29 85'/%3E%3C/g%3E%3C/svg%3E");
}

body.seasonal-home .popup-onload .cnt223 {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid rgba(var(--season-accent-rgb), .55);
  background: linear-gradient(165deg, #20150d 0%, #15120f 44%, #0f0d0c 100%);
  box-shadow: 0 0 12px rgba(var(--season-accent-rgb), .38), 0 0 28px rgba(var(--season-accent-rgb), .14), 0 10px 30px rgba(0, 0, 0, .62);
}

body.seasonal-home .popup-onload .cnt223::before,
body.seasonal-home .popup-onload .cnt223::after {
  content: '';
  position: absolute;
  top: 0;
  z-index: 0;
  width: 120px;
  height: 120px;
  background: var(--home-web) no-repeat center / contain;
  opacity: .58;
  filter: drop-shadow(0 0 4px rgba(var(--season-accent-rgb), .25));
  pointer-events: none;
}

body.seasonal-home .popup-onload .cnt223::before { left: 0; }
body.seasonal-home .popup-onload .cnt223::after { right: 0; transform: scaleX(-1); }

body.seasonal-home .popup-onload .cnt223 > * {
  position: relative;
  z-index: 1;
}

body.seasonal-home .popup-onload .popup-head { z-index: 7; }

body.seasonal-home .popup-onload .popup-body {
  position: static;
  z-index: auto;
}

body.seasonal-home .popup-onload .popup-head img {
  filter: drop-shadow(0 0 5px rgba(var(--season-accent-rgb), .46));
}

body.seasonal-home .popup-onload .popup-head::after {
  content: '🕷️';
  position: absolute;
  top: -12px;
  right: 4px;
  z-index: 8;
  color: #16100c;
  font-size: 25px;
  filter: drop-shadow(0 0 4px rgba(var(--season-accent-rgb), .76));
  pointer-events: none;
  animation: seasonal-popup-spider-drop 7s ease-in-out infinite;
}

body.seasonal-home .popup-onload .popup-body h3,
body.seasonal-home .popup-onload .cnt223 > h3 {
  text-shadow: 0 0 8px rgba(var(--season-accent-rgb), .34);
}

body.seasonal-home .popup-onload .popup-footer a {
  background: linear-gradient(90deg, #a83a00 0%, #d75b08 55%, #e98b35 100%);
  box-shadow: 0 0 6px rgba(var(--season-accent-rgb), .2);
}

body.seasonal-home .popup-onload .popup-footer a:hover,
body.seasonal-home .popup-onload .popup-footer a:focus {
  background: linear-gradient(90deg, #e98b35 0%, #d75b08 48%, #a83a00 100%);
  box-shadow: 0 0 10px rgba(var(--season-accent-rgb), .38);
}

body.seasonal-home .popup-onload .popup-body::before {
  content: '🕷️';
  position: absolute;
  top: -30px;
  left: -34px;
  z-index: 8;
  color: #1c0e07;
  font-size: 25px;
  line-height: 1;
  opacity: 0;
  filter: sepia(.65) saturate(1.45) drop-shadow(0 0 4px rgba(var(--season-accent-rgb), .42));
  pointer-events: none;
  animation: seasonal-popup-bug-crawl 4.6s linear .35s infinite;
  will-change: left, transform, opacity;
}

body.seasonal-public .request-header {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(var(--season-accent-rgb), .11), transparent 32%, transparent 68%, rgba(var(--season-accent-rgb), .08)),
    #151515;
}

body.seasonal-public .request-header::before,
body.seasonal-public .request-header::after {
  content: "🕸️";
  position: absolute;
  top: -29px;
  z-index: 1;
  color: var(--season-accent);
  font-size: 108px;
  line-height: 1;
  opacity: .32;
  filter: grayscale(1) sepia(1) saturate(8) hue-rotate(350deg);
  pointer-events: none;
}

body.seasonal-public .request-header::before { left: -24px; transform: rotate(-8deg); }
body.seasonal-public .request-header::after { right: -24px; transform: scaleX(-1) rotate(-8deg); }

body.seasonal-public .header-glow::before,
body.seasonal-public .header-glow::after {
  content: "🕷️";
  position: absolute;
  top: -24px;
  z-index: 4;
  color: var(--season-accent-light);
  font-size: 22px;
  line-height: 1;
  opacity: .78;
  filter: sepia(1) saturate(7) hue-rotate(350deg);
  pointer-events: none;
}

body.seasonal-public .header-glow::before { left: 7%; }
body.seasonal-public .header-glow::after { right: 7%; }

body.seasonal-public .request-kicker {
  text-shadow: 0 0 24px rgba(var(--season-accent-rgb), .28);
  box-shadow: 0 0 18px rgba(var(--season-accent-rgb), .58), 0 0 50px rgba(var(--season-accent-rgb), .35);
}

body.seasonal-public .contact-form input[type="text"]:focus,
body.seasonal-public .contact-form input[type="number"]:focus,
body.seasonal-public .contact-form select:focus,
body.seasonal-public .contact-form textarea:focus {
  border-color: var(--season-accent);
  box-shadow: 0 0 0 3px rgba(var(--season-accent-rgb), .16) !important;
}

body.seasonal-public .detail-choice-options input:focus-visible + span,
body.seasonal-public .detail-choice-options input:checked + span,
body.seasonal-public .image-radio label.artist-selected > span,
body.seasonal-public .image-radio label input:checked + span {
  border-color: var(--season-accent);
  background: rgba(var(--season-accent-rgb), .08);
  box-shadow: 0 0 18px rgba(var(--season-accent-rgb), .38), 0 0 0 1px rgba(var(--season-accent-rgb), .28);
}

body.seasonal-public .file.file--upload:hover,
body.seasonal-public .file.file--upload:focus-within { border-color: rgba(var(--season-accent-rgb), .8); }

body.seasonal-public .file.file--upload > label {
  box-shadow: 0 0 15px 2px rgba(var(--season-accent-rgb), .54), 0 0 8px 2px rgba(255, 159, 47, .34);
}

body.seasonal-public .btn2 {
  background: linear-gradient(90deg, #d94d00, var(--season-accent));
  box-shadow: 0 10px 26px rgba(var(--season-accent-rgb), .3);
}

body.seasonal-public .btn2:hover,
body.seasonal-public .btn2:focus { box-shadow: 0 14px 30px rgba(var(--season-accent-rgb), .42); }

body.seasonal-public .form-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

body.seasonal-public .form-section > * { position: relative; z-index: 1; }

body.seasonal-public .form-section::after {
  content: "";
  position: absolute;
  top: -9px;
  right: -9px;
  z-index: 0;
  width: 112px;
  height: 112px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23ff7a00' stroke-width='1.4' stroke-linecap='round' opacity='.72'%3E%3Cpath d='M120 0H8M120 0v112M120 0L19 101M120 0L0 64M120 0L55 120'/%3E%3Cpath d='M94 0a26 26 0 0 1 26 26M70 0a50 50 0 0 1 50 50M45 0a75 75 0 0 1 75 75M20 0a100 100 0 0 1 100 100'/%3E%3Cpath d='M68 0c4 14 13 25 26 32M43 0c7 27 24 48 49 61M18 0c9 42 36 75 76 94'/%3E%3C/g%3E%3Cg fill='%23ff8a16' stroke='%23ffb15c' stroke-width='.8'%3E%3Cpath d='M55 35v31' fill='none' opacity='.75'/%3E%3Cellipse cx='55' cy='73' rx='5' ry='7'/%3E%3Ccircle cx='55' cy='65' r='3.8'/%3E%3Cpath d='M51 67l-8-6M50 71l-10-1M50 75l-9 5M59 67l8-6M60 71l10-1M60 75l9 5' fill='none' stroke-width='1.8'/%3E%3C/g%3E%3C/svg%3E") no-repeat center / contain;
  opacity: .25;
  pointer-events: none;
}

body.seasonal-public .form-section:nth-child(even)::after {
  right: auto;
  left: -9px;
  transform: scaleX(-1);
}

body.seasonal-public .form-section:hover::after,
body.seasonal-public .form-section:focus-within::after { opacity: .36; }

/* Customer jewelry catalogs: seasonal but product-focused. */
.jewelry-catalog {
  position: relative;
  overflow: visible;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 640'%3E%3Cg fill='none' stroke='%23f27600' stroke-width='1.2' opacity='.29'%3E%3Cpath d='M0 110h105M0 110V5M0 110l92-92M0 110l112 52M0 110l62 108'/%3E%3Cpath d='M25 110a25 25 0 0 0-25-25M48 110A48 48 0 0 0 0 62M73 110A73 73 0 0 0 0 37M98 110A98 98 0 0 0 0 12'/%3E%3C/g%3E%3Cg fill='none' stroke='%23f27600' stroke-width='1.1' opacity='.24' transform='translate(18 395)'%3E%3Cpath d='M0 0h98M0 0v98M0 0l88 88M0 0l106 54M0 0l56 108'/%3E%3Cpath d='M24 0A24 24 0 0 1 0 24M47 0A47 47 0 0 1 0 47M70 0A70 70 0 0 1 0 70M94 0A94 94 0 0 1 0 94'/%3E%3C/g%3E%3C/svg%3E") repeat-y left 180px / 120px 640px,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 720'%3E%3Cg fill='none' stroke='%23f27600' stroke-width='1.15' opacity='.27' transform='translate(120 170) scale(-1 1)'%3E%3Cpath d='M0 0h105M0 0v105M0 0l92 92M0 0l112 52M0 0l62 108'/%3E%3Cpath d='M25 0A25 25 0 0 1 0 25M48 0A48 48 0 0 1 0 48M73 0A73 73 0 0 1 0 73M98 0A98 98 0 0 1 0 98'/%3E%3C/g%3E%3Cg fill='none' stroke='%23f27600' stroke-width='1.1' opacity='.22' transform='translate(102 520) scale(-1 1)'%3E%3Cpath d='M0 0h90M0 0v90M0 0l82 82M0 0l98 48M0 0l52 98'/%3E%3Cpath d='M22 0A22 22 0 0 1 0 22M44 0A44 44 0 0 1 0 44M66 0A66 66 0 0 1 0 66M88 0A88 88 0 0 1 0 88'/%3E%3C/g%3E%3C/svg%3E") repeat-y right 470px / 120px 720px,
    radial-gradient(circle at 0 0, rgba(var(--season-accent-rgb), .09), transparent 260px),
    radial-gradient(circle at 100% 0, rgba(var(--season-accent-rgb), .09), transparent 260px);
}

.jewelry-catalog .grid-container::after {
  content: "🕷️";
  position: fixed;
  top: 0;
  left: clamp(20px, 7vw, 90px);
  z-index: 28;
  display: flex;
  width: 38px;
  height: 48vh;
  align-items: flex-end;
  justify-content: center;
  background: linear-gradient(90deg, transparent calc(50% - .6px), rgba(255, 142, 32, .45) 50%, transparent calc(50% + .6px));
  color: #17100d;
  font-size: 27px;
  line-height: 1;
  opacity: 0;
  filter: drop-shadow(0 0 5px rgba(var(--season-accent-rgb), .65));
  pointer-events: none;
  animation: seasonal-spider-descent-left 19s ease-in-out 5s infinite;
  will-change: transform, opacity;
}

.jewelry-catalog::before {
  content: '';
  position: absolute;
  top: 0;
  z-index: 0;
  width: 168px;
  height: 168px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cg fill='none' stroke='%23f27600' stroke-width='1.4' stroke-linecap='round' opacity='.82'%3E%3Cpath d='M0 0h112M0 0v112M0 0l101 101M0 0l120 64M0 0l65 120'/%3E%3Cpath d='M26 0A26 26 0 0 1 0 26M50 0A50 50 0 0 1 0 50M75 0A75 75 0 0 1 0 75M100 0A100 100 0 0 1 0 100'/%3E%3Cpath d='M52 0C48 14 39 25 26 32M77 0C70 27 53 48 28 61M102 0C93 42 66 75 26 94'/%3E%3C/g%3E%3Cg fill='%23f27600' stroke='%23ffad55' stroke-width='.8'%3E%3Cpath d='M65 35v31' fill='none' opacity='.8'/%3E%3Cellipse cx='65' cy='73' rx='5' ry='7'/%3E%3Ccircle cx='65' cy='65' r='3.8'/%3E%3Cpath d='M61 67l-8-6M60 71l-10-1M60 75l-9 5M69 67l8-6M70 71l10-1M70 75l9 5' fill='none' stroke-width='1.8'/%3E%3C/g%3E%3C/svg%3E") no-repeat center / contain;
  opacity: .58;
  filter: drop-shadow(0 0 5px rgba(var(--season-accent-rgb), .2));
  pointer-events: none;
}

.jewelry-catalog::before { left: 0; }
.jewelry-catalog > * { position: relative; z-index: 1; }

.jewelry-catalog .jewelry-page-title {
  color: #24170d;
  text-shadow: 0 0 16px rgba(var(--season-accent-rgb), .32);
}

.jewelry-catalog .jewelry-page-title::after {
  width: 54px;
  background: linear-gradient(90deg, #c94d00, var(--season-accent-light));
  box-shadow: 0 0 13px rgba(var(--season-accent-rgb), .55);
}

.jewelry-catalog .jewelry-filters {
  border: 1px solid rgba(var(--season-accent-rgb), .18);
  background: #f8eee5;
  box-shadow: 0 0 17px rgba(var(--season-accent-rgb), .14);
}

.jewelry-catalog .jewelry-filters .filter_link:hover,
.jewelry-catalog .jewelry-filters .filter_link:focus,
.jewelry-catalog .jewelry-filters .filter_link:active {
  background: #ffe5ca;
  color: var(--season-accent-dark) !important;
}

.jewelry-catalog .jewelry-filters .filter_link[aria-pressed='true'] {
  background: #fff;
  color: var(--season-accent-dark) !important;
  box-shadow: 0 0 11px rgba(var(--season-accent-rgb), .24);
}

.jewelry-catalog .jewelry-filters .filter_link:focus-visible { outline-color: var(--season-accent); }
/*
 * Shared seasonal card controller. Jewelry and piercing inherit these exact
 * values; neither page family has its own glow implementation anymore.
 */
.jewelry-catalog .grid-item,
body.seasonal-piercing .piercing .grid-item {
  --catalog-glow-start: #c94d00;
  --catalog-glow-middle: var(--season-accent);
  --catalog-glow-end: var(--season-accent-light);
  --catalog-card-shadow: 0 0 16px 3px rgba(var(--season-accent-rgb), .64), 0 0 9px 2px rgba(255, 177, 74, .5), 0 10px 24px rgba(97, 43, 0, .1);
  position: relative;
  box-shadow: var(--catalog-card-shadow) !important;
}

.jewelry-catalog .grid-item::before,
body.seasonal-piercing .piercing .grid-item::before {
  content: none !important;
  display: none !important;
}

.jewelry-catalog .grid-item:nth-child(7n + 2)::after,
.jewelry-catalog .grid-item:nth-child(11n + 6)::after,
.jewelry-catalog .grid-item:nth-child(13n + 9)::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  z-index: 3;
  width: 92px;
  height: 92px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23f27600' stroke-width='1.2' opacity='.72'%3E%3Cpath d='M80 0H8M80 0v72M80 0L14 66M80 0L0 43M80 0L43 80'/%3E%3Cpath d='M62 0a18 18 0 0 1 18 18M44 0a36 36 0 0 1 36 36M25 0a55 55 0 0 1 55 55'/%3E%3Cpath d='M48 0c4 12 12 21 23 27M28 0c7 23 22 41 44 52'/%3E%3C/g%3E%3C/svg%3E") no-repeat center / contain;
  opacity: .62;
  filter: drop-shadow(0 0 4px rgba(var(--season-accent-rgb), .22));
  pointer-events: none;
}

.jewelry-catalog .grid-item:nth-child(11n + 6)::after {
  right: auto;
  left: 0;
  transform: scaleX(-1);
}

.jewelry-catalog .grid-item:nth-child(8n + 3) > .slick-item,
.jewelry-catalog .grid-item:nth-child(9n + 5) > .slick-item,
.jewelry-catalog.jewelry-hub .grid-item:nth-child(4n + 2) > .cta {
  position: relative;
  overflow: visible;
  isolation: isolate;
}

.jewelry-catalog .grid-item:nth-child(8n + 3) > .slick-item > *,
.jewelry-catalog .grid-item:nth-child(9n + 5) > .slick-item > *,
.jewelry-catalog.jewelry-hub .grid-item:nth-child(4n + 2) > .cta > * {
  position: relative;
  z-index: 1;
}

.jewelry-catalog .grid-item:nth-child(8n + 3) > .slick-item::before,
.jewelry-catalog .grid-item:nth-child(9n + 5) > .slick-item::before,
.jewelry-catalog.jewelry-hub .grid-item:nth-child(4n + 2) > .cta::before {
  content: '';
  position: absolute;
  top: 17%;
  right: -4px;
  z-index: 0;
  width: 62px;
  height: 78px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 120'%3E%3Cpath fill='%23120b0a' d='M3 118c3-30 20-46 39-51h17c20 5 36 21 39 51z'/%3E%3Cpath fill='%23680804' d='M75 15l9 2-19 78-10-3z'/%3E%3Cpath fill='%23d6d0c4' d='M50 8c-21 0-31 17-28 43 3 25 14 40 28 41 15-1 26-16 29-41C82 25 71 8 50 8z'/%3E%3Cpath fill='%230a0807' d='M30 40l15 4-5 10-13-5zm40 0l-15 4 5 10 13-5zM43 68h14v11H43z'/%3E%3Cg fill='%238b0d05'%3E%3Ccircle cx='37' cy='28' r='3'/%3E%3Ccircle cx='63' cy='28' r='3'/%3E%3Ccircle cx='34' cy='61' r='3'/%3E%3Ccircle cx='67' cy='61' r='3'/%3E%3C/g%3E%3Cpath stroke='%23b51b0b' stroke-width='3' d='M50 10v22M37 76l26-24'/%3E%3C/svg%3E") no-repeat center / contain;
  opacity: 0;
  filter: drop-shadow(0 0 6px rgba(var(--season-accent-rgb), .7));
  pointer-events: none;
  animation: seasonal-killer-peek 13s ease-in-out 4s infinite;
  will-change: transform, opacity;
}

.jewelry-catalog .grid-item:nth-child(9n + 5) > .slick-item::before,
.jewelry-catalog.jewelry-hub .grid-item:nth-child(4n + 2) > .cta::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 120'%3E%3Cpath fill='%23100b0b' d='M5 118c3-33 20-49 38-54h15c20 5 36 21 38 54zM17 65C16 25 30 6 50 6s34 19 33 59L67 83H33z'/%3E%3Cpath fill='%23e1ddd3' d='M50 25c-16 0-24 13-22 32 2 20 11 33 22 34 12-1 21-14 23-34 2-19-7-32-23-32z'/%3E%3Cpath fill='%23070404' d='M33 51c5-6 12-5 16 1-4 10-11 11-16-1zm34 0c-5-6-12-5-16 1 4 10 11 11 16-1zM42 71c6 7 11 7 17 0-2 13-15 15-17 0z'/%3E%3Cpath fill='%23930e06' d='M31 81c9 9 30 10 39 0-4 19-35 20-39 0z'/%3E%3C/svg%3E");
  animation-delay: 8s;
  animation-duration: 16s;
}

.jewelry-catalog .grid-item:nth-child(16n + 3) > .slick-item::before { background-image: var(--killer-hockey); }
.jewelry-catalog .grid-item:nth-child(16n + 11) > .slick-item::before { background-image: var(--killer-blank-mask); }
.jewelry-catalog .grid-item:nth-child(18n + 5) > .slick-item::before { background-image: var(--killer-ghost); }
.jewelry-catalog .grid-item:nth-child(18n + 14) > .slick-item::before { background-image: var(--killer-puppet); }
.jewelry-catalog.jewelry-hub .grid-item:nth-child(8n + 2) > .cta::before { background-image: var(--killer-clown); }
.jewelry-catalog.jewelry-hub .grid-item:nth-child(8n + 6) > .cta::before { background-image: var(--killer-hockey); }

.jewelry-catalog .grid-item:hover,
body.seasonal-piercing .piercing .grid-item:hover {
  box-shadow: 0 0 25px rgba(var(--season-accent-rgb), .37), 0 12px 27px rgba(97, 43, 0, .14) !important;
}

/* Customer piercing-price pages: match the public Halloween catalog treatment. */
body.seasonal-piercing {
  overflow-x: hidden;
}

body.seasonal-piercing .piercing {
  position: relative;
  overflow: visible;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 680'%3E%3Cg fill='none' stroke='%23f27600' stroke-width='1.35' opacity='.28'%3E%3Cpath d='M0 95h108M0 95V0M0 95l96-90M0 95l116 57M0 95l64 112'/%3E%3Cpath d='M25 95A25 25 0 0 0 0 70M50 95A50 50 0 0 0 0 45M75 95A75 75 0 0 0 0 20'/%3E%3C/g%3E%3Cg fill='none' stroke='%23f27600' stroke-width='1.2' opacity='.22' transform='translate(12 430)'%3E%3Cpath d='M0 0h100M0 0v100M0 0l90 90M0 0l108 52M0 0l58 108'/%3E%3Cpath d='M24 0A24 24 0 0 1 0 24M49 0A49 49 0 0 1 0 49M74 0A74 74 0 0 1 0 74M99 0A99 99 0 0 1 0 99'/%3E%3C/g%3E%3C/svg%3E") repeat-y left 210px / 120px 680px,
    radial-gradient(circle at 50% 0, rgba(var(--season-accent-rgb), .1), transparent 34rem),
    #fff;
}

body.seasonal-piercing .catalog-page-title::after {
  background: linear-gradient(90deg, #c94d00, var(--season-accent-light));
}

body.seasonal-piercing .colored-box {
  background: linear-gradient(90deg, #b84400, var(--season-accent) 55%, #ed8a2d);
  box-shadow: 0 8px 20px rgba(var(--season-accent-rgb), .22);
}

body.seasonal-piercing .piercing .grid-item .cta {
  position: relative;
  overflow: visible;
  isolation: isolate;
}

body.seasonal-piercing .piercing .grid-item .cta > * { position: relative; z-index: 1; }

body.seasonal-piercing .piercing .grid-item:nth-child(7n + 2) .cta::after,
body.seasonal-piercing .piercing .grid-item:nth-child(11n + 6) .cta::after {
  content: '';
  position: absolute;
  top: -12px;
  right: -9px;
  z-index: 3;
  width: 82px;
  height: 82px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23f27600' stroke-width='1.55' opacity='.8'%3E%3Cpath d='M80 0H8M80 0v72M80 0L14 66M80 0L0 43M80 0L43 80'/%3E%3Cpath d='M62 0a18 18 0 0 1 18 18M44 0a36 36 0 0 1 36 36M25 0a55 55 0 0 1 55 55'/%3E%3C/g%3E%3C/svg%3E") no-repeat center / contain;
  opacity: .56;
  pointer-events: none;
}

body.seasonal-piercing .piercing .grid-item:nth-child(8n + 3) .cta::before,
body.seasonal-piercing .piercing .grid-item:nth-child(9n + 5) .cta::before {
  content: '';
  position: absolute;
  top: -72px;
  right: -5px;
  z-index: 0;
  width: 60px;
  height: 76px;
  background: var(--killer-hockey) no-repeat center / contain;
  opacity: 0;
  filter: drop-shadow(0 0 6px rgba(var(--season-accent-rgb), .62));
  pointer-events: none;
  animation: seasonal-killer-peek 14s ease-in-out 4s infinite;
}

body.seasonal-piercing .piercing .grid-item:nth-child(16n + 11) .cta::before { background-image: var(--killer-blank-mask); }
body.seasonal-piercing .piercing .grid-item:nth-child(18n + 5) .cta::before { background-image: var(--killer-ghost); }
body.seasonal-piercing .piercing .grid-item:nth-child(18n + 14) .cta::before { background-image: var(--killer-puppet); }

body.seasonal-piercing .piercing .grid-container::after {
  content: '🕷️';
  position: fixed;
  top: 0;
  left: clamp(18px, 6vw, 80px);
  z-index: 28;
  display: flex;
  width: 36px;
  height: 48vh;
  align-items: flex-end;
  justify-content: center;
  background: linear-gradient(90deg, transparent calc(50% - .6px), rgba(255, 142, 32, .45) 50%, transparent calc(50% + .6px));
  font-size: 26px;
  opacity: 0;
  pointer-events: none;
  animation: seasonal-spider-descent-left 18s ease-in-out 4s infinite;
}

/* Public artist roster: removable Halloween layer over the permanent cards. */
body.seasonal-team {
  overflow-x: hidden;
}

body.seasonal-team .artist-holder {
  position: relative;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 700'%3E%3Cg fill='none' stroke='%23f27600' stroke-width='1.25' opacity='.25'%3E%3Cpath d='M0 85h138M0 85V0M0 85l118-80M0 85l148 64M0 85l78 126'/%3E%3Cpath d='M28 85A28 28 0 0 0 0 57M57 85A57 57 0 0 0 0 28M86 85A86 86 0 0 0 0-1'/%3E%3C/g%3E%3Cg fill='none' stroke='%23f27600' stroke-width='1.15' opacity='.2' transform='translate(8 465)'%3E%3Cpath d='M0 0h130M0 0v130M0 0l112 112M0 0l140 66M0 0l72 138'/%3E%3Cpath d='M31 0A31 31 0 0 1 0 31M63 0A63 63 0 0 1 0 63M95 0A95 95 0 0 1 0 95'/%3E%3C/g%3E%3C/svg%3E") repeat-y left 120px / 150px 700px,
    linear-gradient(180deg, #15100d 0%, #171412 48%, #100d0b 100%);
}

body.seasonal-team .artist-page-heading__eyebrow { color: var(--season-accent-light); }
body.seasonal-team .artist-page-heading h1::after {
  background: linear-gradient(90deg, #c94d00, var(--season-accent-light));
  box-shadow: 0 0 10px rgba(var(--season-accent-rgb), .36);
}

body.seasonal-team .artist-grid .artist {
  position: relative;
  box-shadow: 0 0 16px 3px rgba(var(--season-accent-rgb), .42), 0 12px 30px rgba(0,0,0,.34);
}

body.seasonal-team .artist-card:nth-child(3n + 2) .artist::after,
body.seasonal-team .artist-card:nth-child(4n + 3) .artist::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  z-index: 4;
  width: 88px;
  height: 88px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23f27600' stroke-width='1.3' opacity='.78'%3E%3Cpath d='M80 0H8M80 0v72M80 0L14 66M80 0L0 43M80 0L43 80'/%3E%3Cpath d='M62 0a18 18 0 0 1 18 18M44 0a36 36 0 0 1 36 36M25 0a55 55 0 0 1 55 55'/%3E%3C/g%3E%3C/svg%3E") no-repeat center / contain;
  opacity: .62;
  pointer-events: none;
}

body.seasonal-team .artist-card:nth-child(4n + 1) .artist-white-bg,
body.seasonal-team .artist-card:nth-child(5n + 3) .artist-white-bg {
  position: relative;
  overflow: visible;
}

body.seasonal-team .artist-card:nth-child(4n + 1) .artist-white-bg::after,
body.seasonal-team .artist-card:nth-child(5n + 3) .artist-white-bg::after {
  content: '';
  position: absolute;
  right: -7px;
  bottom: 8px;
  z-index: 5;
  width: 54px;
  height: 68px;
  background: var(--killer-hockey) no-repeat center / contain;
  opacity: 0;
  filter: drop-shadow(0 0 5px rgba(var(--season-accent-rgb), .55));
  pointer-events: none;
  animation: seasonal-killer-peek 15s ease-in-out 5s infinite;
}

body.seasonal-team .artist-card:nth-child(5n + 3) .artist-white-bg::after {
  background-image: var(--killer-ghost);
  animation-delay: 9s;
}

/* Artist-only appointment view: intentionally more aggressive. */
body.seasonal-artist {
  position: relative;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 12% 18%, rgba(120, 0, 0, .28), transparent 30rem),
    radial-gradient(circle at 88% 45%, rgba(168, 35, 0, .18), transparent 34rem),
    linear-gradient(180deg, #080000 0%, #000 34%, #090100 100%);
}

body.seasonal-artist::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 105px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 105' preserveAspectRatio='none'%3E%3Cpath fill='%236d0000' d='M0 0h1200v20c-45 13-77 3-113 14-33 10-19 49-39 55-23 7-17-48-41-54-34-9-54 22-87 13-25-7-20-29-47-34-35-7-61 32-96 25-24-5-22-41-48-45-35-6-49 47-84 43-28-3-31-28-61-30-40-2-56 43-93 35-25-5-24-39-52-40-38-1-50 50-88 43-29-5-32-32-63-30-42 2-58 51-97 40-23-7-20-35-47-39-29-4-47 22-74 13-22-7-20-23-40-32-17-8-32-7-54 0V0z'/%3E%3Cpath fill='%239d0b00' opacity='.7' d='M155 21c16 0 17 23 12 44-5 22-24 20-29 2-6-23 0-46 17-46zm359 5c14 0 17 18 13 37-4 21-21 23-27 5-7-21-3-42 14-42zm421-2c17 0 20 27 13 51-6 21-25 17-29-5-4-25 0-46 16-46z'/%3E%3C/svg%3E") repeat-x top center / 1200px 105px;
  opacity: .83;
  pointer-events: none;
}

body.seasonal-artist::after {
  content: '';
  position: fixed;
  top: 0;
  right: 0;
  z-index: 0;
  width: 190px;
  height: 190px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 160'%3E%3Cg fill='none' stroke='%23ff6a00' stroke-width='1.6' opacity='.68'%3E%3Cpath d='M160 0H10M160 0v150M160 0L24 136M160 0L0 86M160 0L86 160'/%3E%3Cpath d='M128 0a32 32 0 0 1 32 32M96 0a64 64 0 0 1 64 64M63 0a97 97 0 0 1 97 97M30 0a130 130 0 0 1 130 130'/%3E%3C/g%3E%3Cg fill='%23c00000' stroke='%23ff6026'%3E%3Cpath d='M86 43v45' fill='none'/%3E%3Cellipse cx='86' cy='99' rx='8' ry='11'/%3E%3Ccircle cx='86' cy='87' r='6'/%3E%3Cpath d='M80 91L66 80M78 98l-16-1m30-6 14-11m-12 18 16-1M79 104l-13 9m27-9 13 9' fill='none' stroke-width='2.5'/%3E%3C/g%3E%3C/svg%3E") no-repeat top right / contain;
  opacity: .72;
  pointer-events: none;
}

body.seasonal-artist > * { position: relative; z-index: 1; }
body.seasonal-artist .page-logo { filter: drop-shadow(0 0 14px rgba(255, 55, 0, .65)); }


body.seasonal-artist .quick-links-dropdown {
  border-color: #b51609 !important;
  background: linear-gradient(180deg, #170000, #080000) !important;
  box-shadow: 0 0 9px rgba(255, 40, 0, .65), 0 0 28px rgba(125, 0, 0, .62) !important;
}

body.seasonal-artist .tab-btn { border-color: #57100b; background: linear-gradient(180deg, #170302, #090000); }

body.seasonal-artist .tab-btn:hover,
body.seasonal-artist .tab-btn:focus,
body.seasonal-artist .tab-btn.active {
  border-color: #e13b13;
  background: rgba(125, 0, 0, .42);
  box-shadow: 0 0 0 2px rgba(225, 59, 19, .28), 0 0 25px rgba(153, 0, 0, .55);
}

body.seasonal-artist .box { position: relative; }

body.seasonal-artist .box::before,
body.seasonal-artist .box::after {
  content: '';
  position: absolute;
  z-index: -1;
  width: 250px;
  height: 250px;
  background:
    radial-gradient(circle at 24% 20%, rgba(177, 0, 0, .65) 0 5px, transparent 6px),
    radial-gradient(circle at 43% 37%, rgba(118, 0, 0, .6) 0 11px, transparent 12px),
    radial-gradient(circle at 64% 18%, rgba(206, 35, 0, .5) 0 4px, transparent 5px),
    radial-gradient(circle at 72% 58%, rgba(130, 0, 0, .62) 0 16px, transparent 17px),
    radial-gradient(ellipse at 50% 50%, rgba(86, 0, 0, .35), transparent 67%);
  opacity: .58;
  pointer-events: none;
}

body.seasonal-artist .box::before { top: 80px; left: -190px; transform: rotate(-18deg); }
body.seasonal-artist .box::after { top: 48%; right: -190px; transform: rotate(22deg) scaleX(-1); }

body.seasonal-artist .box h2 {
  color: #fff4e7;
  text-shadow: 0 0 9px rgba(255, 62, 0, .8), 0 0 28px rgba(160, 0, 0, .78);
}

body.seasonal-artist .info-table {
  border-color: #54100b;
  background: rgba(16, 0, 0, .74);
  box-shadow: 0 0 0 1px rgba(125, 0, 0, .3), 0 18px 50px rgba(65, 0, 0, .45);
}

body.seasonal-artist .info-table tr td,
body.seasonal-artist .info-table tr td:first-child { border-color: #3a0b08 !important; }

body.seasonal-artist .section-row td {
  position: relative;
  overflow: hidden;
  padding-right: 80px;
  color: #fff1e8;
  background: linear-gradient(90deg, rgba(117, 0, 0, .9), rgba(38, 0, 0, .88) 72%, rgba(177, 45, 0, .48));
  text-shadow: 0 0 8px rgba(255, 72, 0, .35);
}

body.seasonal-artist .section-row td::before {
  content: '';
  position: absolute;
  top: 50%;
  right: 16px;
  width: 56px;
  height: 56px;
  transform: translateY(-50%) rotate(-5deg);
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill='%23120b0a' d='M5 98c2-24 18-38 36-42h18c19 4 35 18 36 42z'/%3E%3Cpath fill='%23680804' d='M73 11l9 2-19 64-9-3z'/%3E%3Cpath fill='%23c9c2b5' d='M50 8c-20 0-30 14-27 35 3 22 13 34 27 35 14-1 24-13 27-35C80 22 70 8 50 8z'/%3E%3Cpath fill='%230a0807' d='M31 34l14 3-5 9-12-4zm38 0l-14 3 5 9 12-4zM43 59h14v10H43z'/%3E%3Cg fill='%23760900'%3E%3Ccircle cx='38' cy='23' r='3'/%3E%3Ccircle cx='62' cy='23' r='3'/%3E%3Ccircle cx='34' cy='54' r='3'/%3E%3Ccircle cx='66' cy='54' r='3'/%3E%3C/g%3E%3Cpath stroke='%23a91b0c' stroke-width='3' d='M50 10v19M38 65l23-19'/%3E%3C/svg%3E") no-repeat center / contain;
  opacity: .8;
  filter: drop-shadow(0 0 6px rgba(190, 22, 0, .72));
  pointer-events: none;
}

body.seasonal-artist .section-row:nth-of-type(3n + 2) td::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill='%23100b0b' d='M8 98c2-28 18-41 34-45h16c17 4 33 17 35 45zM19 53C18 20 31 5 50 5s32 15 31 48L66 69H34z'/%3E%3Cpath fill='%23e1ddd3' d='M50 20c-15 0-23 11-21 27 2 17 10 28 21 29 11-1 19-12 21-29 2-16-6-27-21-27z'/%3E%3Cpath fill='%23070404' d='M34 43c5-5 11-4 14 1-3 8-10 9-14-1zm32 0c-5-5-11-4-14 1 3 8 10 9 14-1zM43 59c5 6 9 6 14 0-1 11-13 13-14 0z'/%3E%3Cpath fill='%23930e06' d='M31 67c8 8 29 9 38 0-4 17-34 18-38 0z'/%3E%3C/svg%3E");
  transform: translateY(-50%) rotate(8deg);
}

body.seasonal-artist .section-row:nth-of-type(3n) td::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill='%23120b0a' d='M6 98c3-25 20-38 37-42h14c18 4 35 17 37 42z'/%3E%3Cpath fill='%23ece6d7' d='M50 9c-18 0-29 13-28 34 1 20 12 34 28 35 16-1 27-15 28-35C79 22 68 9 50 9z'/%3E%3Cpath fill='%23100a09' d='M31 38c1-10 11-12 17-4l-5 13c-7 2-12-2-12-9zm38 0c-1-10-11-12-17-4l5 13c7 2 12-2 12-9zM44 52l6-8 6 8-6 6z'/%3E%3Cpath fill='%23890803' d='M26 17c7-14 18-7 24-13 6 6 17-1 24 13-8-5-13 1-24-4-11 5-16-1-24 4zM33 64c10 7 24 7 34 0-6 17-28 17-34 0z'/%3E%3Ccircle cx='23' cy='43' r='8' fill='none' stroke='%23760900' stroke-width='4'/%3E%3Ccircle cx='77' cy='43' r='8' fill='none' stroke='%23760900' stroke-width='4'/%3E%3C/svg%3E");
  transform: translateY(-50%) rotate(4deg);
}

body.seasonal-artist .section-row:nth-of-type(5n + 1) td::before { background-image: var(--killer-hockey); }
body.seasonal-artist .section-row:nth-of-type(5n + 2) td::before { background-image: var(--killer-ghost); }
body.seasonal-artist .section-row:nth-of-type(5n + 3) td::before { background-image: var(--killer-blank-mask); }
body.seasonal-artist .section-row:nth-of-type(5n + 4) td::before { background-image: var(--killer-puppet); }
body.seasonal-artist .section-row:nth-of-type(5n) td::before { background-image: var(--killer-clown); }

body.seasonal-artist .section-row td::after {
  content: '';
  position: absolute;
  right: 11px;
  bottom: -4px;
  width: 58px;
  height: 22px;
  background:
    radial-gradient(ellipse at 12% 30%, #9f0800 0 5px, transparent 6px),
    radial-gradient(ellipse at 45% 50%, #6d0000 0 8px, transparent 9px),
    radial-gradient(ellipse at 78% 22%, #bd1605 0 4px, transparent 5px);
  opacity: .74;
  pointer-events: none;
}

body.seasonal-artist .grid-image {
  border-color: rgba(191, 32, 8, .48);
  box-shadow: 0 10px 28px rgba(70, 0, 0, .62), 0 0 12px rgba(255, 62, 0, .13);
}

body.seasonal-artist .review-link-box a,
body.seasonal-artist .info-table a { color: #ff8a46; }

@media (max-width: 767.98px) {
  .logo {
    position: absolute;
    left: 12px;
    top: 15px;
    isolation: isolate;
  }

  body.seasonal-artist > .text-center.my-4 {
    position: relative;
    isolation: isolate;
  }

  .logo img {
    filter: drop-shadow(0 0 4px rgba(var(--season-accent-rgb), .5)) drop-shadow(0 0 10px rgba(var(--season-accent-rgb), .26));
  }

  body.seasonal-artist .page-logo {
    filter: drop-shadow(0 0 7px rgba(var(--season-accent-rgb), .9)) drop-shadow(0 0 18px rgba(var(--season-accent-rgb), .58));
  }

  .logo::before,
  .logo::after,
  body.seasonal-artist > .text-center.my-4::before,
  body.seasonal-artist > .text-center.my-4::after {
    content: '';
    position: absolute;
    top: -8px;
    z-index: -1;
    width: 58px;
    height: 58px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23ff7a00' stroke-width='1.45' opacity='.8'%3E%3Cpath d='M0 0h76M0 0v76M0 0l68 68M0 0l80 42M0 0l42 80'/%3E%3Cpath d='M18 0A18 18 0 0 1 0 18M36 0A36 36 0 0 1 0 36M55 0A55 55 0 0 1 0 55M74 0A74 74 0 0 1 0 74'/%3E%3C/g%3E%3C/svg%3E") no-repeat center / contain;
    opacity: .78;
    filter: drop-shadow(0 0 4px rgba(var(--season-accent-rgb), .4));
    pointer-events: none;
  }

  .logo::before,
  body.seasonal-artist > .text-center.my-4::before { left: -12px; }

  .logo::after,
  body.seasonal-artist > .text-center.my-4::after { right: -12px; transform: scaleX(-1); }

  body.seasonal-public .request-header::before,
  body.seasonal-public .request-header::after { top: -17px; font-size: 76px; opacity: .27; }
  body.seasonal-public .request-header::before { left: -19px; }
  body.seasonal-public .request-header::after { right: -19px; }
  body.seasonal-public .header-glow::before,
  body.seasonal-public .header-glow::after { top: -19px; font-size: 18px; }
  body.seasonal-public .form-section::after { top: -7px; right: -7px; width: 82px; height: 82px; opacity: .22; }
  body.seasonal-public .form-section:nth-child(even)::after { right: auto; left: -7px; }

  .jewelry-catalog::before { width: 118px; height: 118px; opacity: .52; }
  .jewelry-catalog .grid-item:nth-child(7n + 2)::after,
  .jewelry-catalog .grid-item:nth-child(11n + 6)::after,
  .jewelry-catalog .grid-item:nth-child(13n + 9)::after { width: 68px; height: 68px; opacity: .52; }

  .jewelry-catalog .grid-container::after {
    left: 5px;
    width: 29px;
    height: 45vh;
    font-size: 22px;
    animation-delay: 3.25s;
    animation-duration: 16s;
  }

  .jewelry-catalog .grid-item:nth-child(8n + 3) > .slick-item::before,
  .jewelry-catalog .grid-item:nth-child(9n + 5) > .slick-item::before,
  .jewelry-catalog.jewelry-hub .grid-item:nth-child(4n + 2) > .cta::before {
    top: 13%;
    width: 52px;
    height: 66px;
  }

  body.seasonal-piercing::after,
  body.seasonal-public::after,
  .jewelry-catalog::after,
  body.seasonal-artist .box h2::after {
    right: 7px;
    width: 32px;
    height: 52vh;
    font-size: 24px;
  }

  body.seasonal-piercing::before,
  body.seasonal-public .appointment-holder-dark::before,
  .jewelry-catalog .grid-container::before,
  body.seasonal-artist .box h2::before {
    font-size: 24px;
    animation-delay: 1.25s;
    animation-duration: 14s;
  }

  body.seasonal-public::after,
  .jewelry-catalog::after,
  body.seasonal-artist .box h2::after {
    animation-delay: .25s;
    animation-duration: 12s;
  }

  body.seasonal-artist::before { height: 72px; background-size: 820px 72px; }
  body.seasonal-artist::after { width: 112px; height: 112px; opacity: .62; }
  body.seasonal-artist .box::before,
  body.seasonal-artist .box::after { width: 160px; height: 160px; opacity: .42; }
  body.seasonal-artist .section-row td { padding-right: 60px; }
  body.seasonal-artist .section-row td::before { right: 7px; width: 44px; height: 44px; }

  body.seasonal-piercing .piercing .grid-item:nth-child(7n + 2) .cta::after,
  body.seasonal-piercing .piercing .grid-item:nth-child(11n + 6) .cta::after {
    width: 62px;
    height: 62px;
    opacity: .48;
  }

  body.seasonal-piercing .piercing .grid-item:nth-child(8n + 3) .cta::before,
  body.seasonal-piercing .piercing .grid-item:nth-child(9n + 5) .cta::before {
    top: -60px;
    width: 50px;
    height: 64px;
  }

  body.seasonal-piercing .piercing .grid-container::after {
    left: 4px;
    width: 29px;
    height: 44vh;
    font-size: 22px;
    animation-delay: 2.75s;
    animation-duration: 15s;
  }

}

@media (prefers-reduced-motion: reduce) {
  body.seasonal-home .popup-onload .popup-head::after { animation: none; }
  body.seasonal-home .popup-onload .popup-body::before,
  body.seasonal-piercing::after,
  body.seasonal-piercing::before,
  body.seasonal-piercing .piercing .grid-container::after,
  body.seasonal-piercing .piercing .grid-item .cta::before,
  body.seasonal-public::after,
  body.seasonal-team::after,
  body.seasonal-team::before,
  body.seasonal-team .artist-white-bg::after,
  .jewelry-catalog::after,
  body.seasonal-artist .box h2::after,
  body.seasonal-public .appointment-holder-dark::before,
  .jewelry-catalog .grid-container::before,
  .jewelry-catalog .grid-container::after,
  .jewelry-catalog .grid-item > .slick-item::before,
  .jewelry-catalog.jewelry-hub .grid-item > .cta::before,
  body.seasonal-artist .box h2::before { display: none; }
}
