.experience-progress {
  position: fixed;
  inset: 0 0 auto;
  z-index: 1200;
  height: 3px;
  transform: scaleX(0);
  transform-origin: left;
  background: linear-gradient(90deg, var(--orange), var(--ember));
  pointer-events: none;
}

.cinematic-intro { position:fixed; inset:0; z-index:2200; display:grid; place-items:center; overflow:hidden; color:#f5ead4; background:#050606; transition:opacity .75s ease,visibility .75s ease; }
.cinematic-intro.closing { opacity:0; visibility:hidden; }
.intro-world { position:absolute; inset:-4%; background:linear-gradient(90deg,rgba(3,4,5,.12),rgba(4,5,4,.3) 52%,rgba(3,4,5,.48)),url("halloween-20-norwegian-forest-graveyard.webp") center 8%/cover no-repeat; transform:scale(1.08); animation:intro-world 8s ease-out both; }
.intro-moon { position:absolute; top:3%; right:4%; width:clamp(230px,38vw,620px); aspect-ratio:1; background:url("luna.png") center/contain no-repeat; filter:drop-shadow(0 0 52px rgba(191,222,229,.2)); opacity:.76; animation:moon-rise 4.5s ease-out both; }
.intro-fog { position:absolute; inset:40% -30% -20%; opacity:.32; filter:blur(18px); background:repeating-radial-gradient(ellipse at 50% 70%,rgba(220,225,218,.55) 0 7%,transparent 15% 22%); animation:fog-drift 12s linear infinite alternate; }
.intro-content { position:relative; z-index:2; width:min(960px,calc(100% - 40px)); text-align:center; text-shadow:0 4px 28px #000; }
.intro-kicker { margin:0 0 14px; color:var(--ember); font-size:clamp(.95rem,1.25vw,1.18rem); font-weight:900; letter-spacing:.22em; line-height:1.25; text-transform:uppercase; opacity:0; animation:copy-rise .8s 1.3s forwards; }
.intro-title { max-width:900px; margin:0 auto; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.6rem,7vw,6.25rem); line-height:.86; letter-spacing:-.045em; text-transform:uppercase; opacity:0; animation:copy-rise 1s 2s forwards; }
.intro-tagline { max-width:680px; margin:24px auto; color:#ddcfb8; font-size:clamp(1rem,2vw,1.3rem); opacity:0; animation:copy-rise .8s 2.55s forwards; }
.intro-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; opacity:0; animation:copy-rise .8s 3s forwards; }
.intro-enter,.intro-skip { min-height:48px; padding:0 20px; border:1px solid var(--ember); color:var(--night); background:var(--ember); cursor:pointer; font:inherit; font-size:.73rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.intro-skip { color:var(--ink); background:rgba(8,9,8,.72); }
@keyframes intro-world { from{transform:scale(1.18)} to{transform:scale(1.03)} }
@keyframes moon-rise { from{transform:translateY(60px);opacity:0} }
@keyframes fog-drift { to{transform:translateX(18%)} }
@keyframes copy-rise { from{transform:translateY(22px);opacity:0} to{transform:none;opacity:1} }

.hero.parallax-ready::before { transform:translate3d(var(--hero-x,0),var(--hero-y,0),0) scale(1.035); transition:transform .35s ease-out; }
.card.reveal-pending { opacity:0; transform:translateY(34px) scale(.985); }
.card.reveal-visible { opacity:1; transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(var(--lift,0)); transition:opacity .65s ease,transform .65s cubic-bezier(.2,.75,.2,1); }

.filter.has-thumb {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px 6px 7px;
}
.filter-thumb { width: 31px; height: 31px; border-radius: 50%; object-fit: cover; border: 1px solid rgba(241,230,207,.35); }
.favorite-filter { gap: 7px; }
.favorite-count { min-width: 22px; padding: 2px 6px; border-radius: 999px; color: var(--night); background: var(--ember); text-align: center; }

.discovery-tools {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(190px, .55fr) auto auto;
  gap: 10px;
  margin: -8px 0 28px;
  padding: 15px;
  border: 1px solid var(--line);
  background: rgba(17,18,15,.82);
  backdrop-filter: blur(14px);
}
.discovery-tools input,
.discovery-tools select,
.discovery-tools button {
  min-height: 46px;
  border: 1px solid #4a4237;
  border-radius: 0;
  color: var(--ink);
  background: #0d0e0c;
  padding: 0 14px;
  font: inherit;
}
.discovery-tools button { cursor: pointer; color: var(--ember); font-size: .76rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.discovery-tools button:hover { color: var(--night); background: var(--ember); }
.result-count { align-self: center; color: var(--muted); font-size: .78rem; text-align: right; }
.no-results { display: none; margin: -64px 0 96px; padding: 42px; border: 1px dashed #655846; color: var(--muted); text-align: center; }
.no-results.visible { display: block; }

.card { position: relative; transform: perspective(1100px) rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg)) translateY(var(--lift, 0)); transform-style: preserve-3d; }
.card:hover { --lift: -5px; }
.card { border-color:rgba(185,151,93,.22)!important; background:#171813!important; box-shadow:0 18px 42px rgba(0,0,0,.22); transition:border-color .35s ease,box-shadow .35s ease,opacity .65s ease,transform .65s cubic-bezier(.2,.75,.2,1); }
.card:hover { border-color:rgba(233,160,75,.58)!important; box-shadow:0 22px 55px rgba(0,0,0,.42),0 0 28px rgba(185,151,93,.12); }
.image-wrap { position:relative; overflow:hidden; background:linear-gradient(110deg,#12130f 20%,#28251e 38%,#12130f 56%); background-size:220% 100%; animation:skeleton-shimmer 1.6s linear infinite; }
.image-wrap.image-loaded { animation:none; background:#10110e; }
.image-wrap img { opacity:0; transition:opacity .55s ease,transform .55s ease!important; }
.image-wrap.image-loaded img { opacity:1; }
.ios-safe .image-wrap { animation:none; background:#10110e; }
.ios-safe .image-wrap img { opacity:1!important; }
@keyframes skeleton-shimmer { to { background-position:-220% 0; } }
.card .image-wrap img { transform: scale(1.02) translate3d(var(--image-x, 0), var(--image-y, 0), 0); }
.card:hover .image-wrap img { transform: scale(1.045) translate3d(var(--image-x, 0), var(--image-y, 0), 0); }
.favorite-button {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 5;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(241,230,207,.45);
  border-radius: 50%;
  color: #fff;
  background: rgba(7,8,7,.72);
  backdrop-filter: blur(9px);
  cursor: pointer;
  font-size: 1.15rem;
  transition: transform .2s ease, color .2s ease, background .2s ease;
}
.favorite-button:hover { transform: scale(1.08); }
.favorite-button.active { color: #ff7b63; background: rgba(91,16,18,.9); border-color: #d86855; }

.lightbox { --ambient: 120, 46, 20; background: radial-gradient(circle at 76% 38%, rgba(var(--ambient), .2), transparent 34%), rgba(5,6,5,.98); }
.lightbox[data-mood="mysterious"] { --ambient: 71, 54, 112; }
.lightbox[data-mood="funny"] { --ambient: 184, 93, 42; }
.lightbox[data-mood="elegant"] { --ambient: 123, 70, 59; }
.lightbox[data-mood="adventure"] { --ambient: 67, 99, 63; }
.lightbox:not([hidden]) { animation: veil-in .34s ease both; }
.lightbox:not([hidden]) .lightbox-panel { animation: campaign-in .52s cubic-bezier(.2,.8,.2,1) both; }
@keyframes veil-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes campaign-in { from { opacity: 0; transform: translateY(18px) scale(.985); } to { opacity: 1; transform: none; } }

.lightbox-image-wrap { position: relative; }
.lightbox-counter { display: block; margin-bottom: 12px; color: var(--muted); font-size: .74rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.lightbox-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 16px; }
.lightbox-action {
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid var(--line);
  color: var(--ink);
  background: #11120f;
  cursor: pointer;
  font: inherit;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.lightbox-action:hover, .lightbox-action.active { border-color: var(--ember); color: var(--ember); }
.lightbox-nav {
  position: fixed;
  top: 50%;
  z-index: 1002;
  width: 54px;
  height: 54px;
  border: 1px solid #665746;
  border-radius: 50%;
  color: var(--ink);
  background: rgba(12,13,11,.82);
  backdrop-filter: blur(10px);
  cursor: pointer;
  font-size: 1.7rem;
}
.lightbox-nav:hover { color: var(--night); background: var(--ember); }
.lightbox-prev { left: 18px; }
.lightbox-next { right: 18px; }
.hotspot-layer { --hotspot-accent:#e9a04b; --hotspot-surface:10,11,9; position: absolute; inset: 0; pointer-events: none; }
.hotspot {
  position: absolute;
  width: 28px;
  height: 28px;
  margin: -14px;
  border: 2px solid color-mix(in srgb,var(--hotspot-accent),white 55%);
  border-radius: 50%;
  color: var(--night);
  background: var(--hotspot-accent);
  box-shadow: 0 0 0 7px color-mix(in srgb,var(--hotspot-accent),transparent 76%);
  cursor: pointer;
  pointer-events: auto;
  font-weight: 900;
}
.hotspot::after { content: ""; position: absolute; inset: -8px; border: 1px solid var(--hotspot-accent); border-radius: 50%; animation: hotspot-pulse 2s infinite; }
@keyframes hotspot-pulse { 50% { transform: scale(1.25); opacity: 0; } }
.hotspot-note {
  position: absolute;
  z-index: 3;
  width: min(280px, 72vw);
  padding: 15px 16px;
  border: 1px solid var(--hotspot-accent);
  color: var(--ink);
  background: rgba(var(--hotspot-surface),.94);
  box-shadow: 0 12px 35px rgba(0,0,0,.5);
  font-size: .79rem;
  line-height: 1.45;
  pointer-events: none;
  transform: translate(18px, 16px);
}
.hotspot-note strong { display:block; margin-bottom:6px; color:var(--hotspot-accent); font-family:Georgia,"Times New Roman",serif; font-size:1.02rem; line-height:1.05; }
.hotspot-note span { display:block; }
.hotspot-layer[data-variant="1"] .hotspot-note { border-radius:18px 2px 18px 2px; backdrop-filter:blur(14px); }
.hotspot-layer[data-variant="2"] .hotspot-note { border-width:1px 1px 5px; transform:translate(-96%,16px) rotate(-.5deg); }
.hotspot-layer[data-variant="3"] .hotspot-note { border-style:double; border-width:3px; box-shadow:inset 0 0 26px rgba(255,255,255,.04),0 12px 35px #000; }
.hotspot-layer[data-variant="4"] .hotspot-note { clip-path:polygon(0 0,94% 0,100% 14%,100% 100%,6% 100%,0 86%); }
.hotspot-layer[data-variant="5"] .hotspot-note { border-radius:3px; background:linear-gradient(135deg,rgba(var(--hotspot-surface),.98),rgba(var(--hotspot-surface),.82)); letter-spacing:.015em; }
.hotspot-note[hidden] { display: none; }
.sticky-personalize {
  position: fixed;
  z-index: 900;
  right: 18px;
  bottom: 18px;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 18px;
  border: 1px solid var(--ember);
  border-radius: 999px;
  color: var(--ink);
  background: rgba(15,16,14,.82);
  backdrop-filter: blur(18px) saturate(1.25);
  box-shadow: 0 14px 40px rgba(0,0,0,.42);
  font-size: .76rem;
  font-weight: 900;
  letter-spacing: .05em;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform .2s ease;
}
.sticky-personalize::before { content:"✦"; color:var(--ember); }
.sticky-personalize:hover { color:var(--night); background:var(--ember); transform: translateY(-3px); }
.sticky-personalize:hover::before { color:var(--night); }
.sticky-personalize,.viewed-meter { transition:opacity .28s ease,transform .28s ease,visibility .28s ease; }
.sticky-personalize.context-hidden { opacity:0; visibility:hidden; pointer-events:none; transform:translateY(24px); }
.viewed-meter.context-hidden { opacity:0; visibility:hidden; pointer-events:none; transform:translateY(18px); }

@media (max-width: 900px) {
  .discovery-tools { grid-template-columns: 1fr 1fr; }
  .result-count { text-align: left; }
  .lightbox-nav { top: auto; bottom: 84px; }
}
@media (max-width: 560px) {
  .discovery-tools { grid-template-columns: 1fr; }
  .filter-thumb { width: 26px; height: 26px; }
  .lightbox-nav { width: 46px; height: 46px; bottom: 76px; }
  .lightbox-prev { left: 12px; }
  .lightbox-next { right: 12px; }
  .sticky-personalize { left: 12px; right: 12px; bottom: 12px; justify-content: center; }
  .lightbox-copy { padding-bottom: 84px !important; }
  .hotspot { width: 24px; height: 24px; margin: -12px; }
}
@media (prefers-reduced-motion: reduce) {
  .lightbox:not([hidden]), .lightbox:not([hidden]) .lightbox-panel, .hotspot::after { animation: none; }
  .card, .card .image-wrap img { transform: none !important; transition: none !important; }
}

.experience-controls { position: fixed; z-index: 1100; top: 18px; right: 18px; display: flex; gap: 8px; }
.language-switch { left:18px!important; right:auto!important; z-index:1150!important; }
.language-switch-replaced { display:none!important; }
body.lightbox-open .language-switch { top:18px!important; left:auto!important; right:18px!important; }
.experience-control { min-height: 46px; padding: 0 17px; border: 1px solid var(--ember); border-radius: 999px; color: var(--ink); background: rgba(10,11,9,.94); box-shadow: 0 10px 34px rgba(0,0,0,.48); backdrop-filter: blur(12px); cursor: pointer; font: inherit; font-size: .72rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.experience-control.active { border-color: var(--ember); color: var(--night); background: var(--ember); }
.sound-icon { display:inline-grid; width:24px; height:24px; margin-right:5px; place-items:center; border-radius:50%; color:var(--night); background:var(--ember); font-size:.9rem; }
.experience-control.active .sound-icon { color:var(--ember); background:var(--night); }
.sound-discovery { animation: sound-discovery 1.15s ease-in-out 4; }
@keyframes sound-discovery { 50% { transform:translateY(3px) scale(1.045); box-shadow:0 0 0 8px rgba(233,160,75,.15),0 12px 36px rgba(0,0,0,.55); } }
.viewed-meter { position: fixed; z-index: 700; left: 18px; bottom: 22px; width: 180px; padding:10px 12px; border:1px solid rgba(185,151,93,.18); border-radius:999px; color: #b8ad9d; background:rgba(15,16,14,.78); backdrop-filter:blur(14px); font-size: .68rem; letter-spacing: .06em; text-transform: uppercase; }
.viewed-track { height: 3px; margin-top: 7px; overflow: hidden; background: #332e27; }
.viewed-fill { height: 100%; width: 0; background: var(--ember); transition: width .35s ease; }
.card.viewed::after { content: "✓"; position: absolute; z-index: 4; top: 18px; left: 18px; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; color: var(--night); background: rgba(233,160,75,.9); font-weight: 900; }

.ambient-particles { position: fixed; inset: 0; z-index: 2; overflow: hidden; pointer-events: none; opacity: .3; }
.ambient-particle { position: absolute; top: -10vh; width: 3px; height: 3px; border-radius: 50%; background: #e9a04b; animation: ember-fall linear infinite; }
@keyframes ember-fall { to { transform: translate3d(8vw,115vh,0) rotate(180deg); opacity: 0; } }

.compare-tray { position: fixed; z-index: 920; left: 50%; bottom: 18px; width: min(580px, calc(100vw - 32px)); padding: 10px 12px; display: none; align-items: center; gap: 10px; border: 1px solid #665746; background: rgba(9,10,8,.94); backdrop-filter: blur(14px); transform: translateX(-50%); box-shadow: 0 16px 45px rgba(0,0,0,.5); }
.compare-tray.visible { display: flex; }
.compare-thumbs { display: flex; gap: 6px; flex: 1; }
.compare-thumbs img { width: 42px; height: 50px; object-fit: cover; }
.compare-button, .compare-share, .compare-clear { min-height: 38px; padding: 0 12px; border: 1px solid var(--line); color: var(--ink); background: #171712; cursor: pointer; font: inherit; font-size: .67rem; font-weight: 850; text-transform: uppercase; }
.compare-button { color: var(--night); background: var(--ember); }
.compare-toggle.active { color: var(--ember); }

.recommendations { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line); }
.recommendations h3 { margin: 0 0 10px; color: var(--muted); font-size: .69rem; letter-spacing: .12em; text-transform: uppercase; }
.recommendation-row { display: flex; gap: 8px; }
.recommendation { width: 72px; padding: 0; border: 1px solid #4b4237; background: none; cursor: pointer; }
.recommendation img { display: block; width: 100%; aspect-ratio: 5/6; object-fit: cover; }

.personalization-lab { margin: 92px auto 30px; padding: clamp(22px,4vw,50px); border: 1px solid var(--line); background: radial-gradient(circle at 80% 10%, rgba(116,39,25,.25), transparent 34%), #11120f; }
.lab-kicker { color: var(--ember); font-size: .72rem; font-weight: 900; letter-spacing: .17em; text-transform: uppercase; }
.lab-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(300px,.75fr); gap: clamp(24px,5vw,64px); align-items: center; }
.lab-copy h2 { margin: 8px 0 14px; font-size: clamp(2rem,5vw,4.4rem); line-height: .95; }
.lab-copy p { color: var(--muted); line-height: 1.7; }
.upload-label { display: inline-flex; margin-top: 12px; padding: 14px 18px; border: 1px solid var(--ember); color: var(--night); background: var(--ember); cursor: pointer; font-size: .75rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.upload-label input { display: none; }
.privacy-note { display: block; margin-top: 10px; color: #8d867b; font-size: .68rem; }
.product-stage { position: relative; min-height: 480px; display: grid; place-items: center; overflow: hidden; background: radial-gradient(circle, #38312a, #090a08 67%); }
.shirt-carousel { min-height:0; padding:18px 54px 54px; background:radial-gradient(circle at 50% 42%,rgba(233,160,75,.18),transparent 44%),#090a08; }
.shirt-frame { position:relative; width:min(100%,580px); margin:0; overflow:hidden; border:1px solid #655642; background:#0b0c0a; box-shadow:0 28px 65px rgba(0,0,0,.6); }
.shirt-cover { display:block; width:100%; aspect-ratio:1; object-fit:cover; transition:opacity .18s ease,transform .45s ease; }
.shirt-cover.changing { opacity:.15; transform:scale(.985); }
.shirt-frame figcaption { position:absolute; left:14px; bottom:14px; padding:8px 11px; color:#f2e6d0; background:rgba(7,8,7,.78); border:1px solid rgba(233,160,75,.6); font-size:.67rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; backdrop-filter:blur(8px); }
.shirt-arrow { position:absolute; z-index:2; top:50%; width:42px; height:52px; border:1px solid var(--ember); color:var(--ink); background:rgba(8,9,8,.88); cursor:pointer; font-size:1.7rem; transform:translateY(-50%); }
.shirt-arrow:hover { color:var(--night); background:var(--ember); }
.shirt-prev { left:8px; }.shirt-next { right:8px; }
.shirt-dots { position:absolute; left:0; right:0; bottom:20px; display:flex; justify-content:center; gap:9px; }
.shirt-dot { width:9px; height:9px; padding:0; border:1px solid var(--ember); border-radius:50%; background:transparent; cursor:pointer; }
.shirt-dot.active { background:var(--ember); box-shadow:0 0 0 5px rgba(233,160,75,.13); }
.shirt-status { display:flex; flex-direction:column; gap:6px; margin-top:22px; padding:15px 17px; border-left:3px solid var(--ember); background:rgba(233,160,75,.06); }
.shirt-status span { color:var(--ember); font-size:.68rem; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.shirt-status strong { font-family:Georgia,"Times New Roman",serif; font-size:1.08rem; }
.product-silhouette { position: relative; width: min(78%,330px); height: 390px; border-radius: 40px 40px 24px 24px; background: #ece6d8; clip-path: polygon(18% 0,36% 0,41% 7%,59% 7%,64% 0,82% 0,100% 18%,87% 34%,78% 27%,78% 100%,22% 100%,22% 27%,13% 34%,0 18%); filter: drop-shadow(0 24px 26px rgba(0,0,0,.55)); transition: background .25s ease, border-radius .25s ease; }
.product-silhouette.hoodie { background:#222; border-radius: 70px 70px 24px 24px; }
.product-silhouette.poster { background:#e9dfc9; border-radius:0; clip-path:none; height:410px; box-shadow:0 0 0 12px #2b2119,0 28px 38px #000; }
.product-art { position: absolute; top: 25%; left: 24%; width: 52%; aspect-ratio: 5/6; object-fit: cover; mix-blend-mode: multiply; }
.product-pet { position: absolute; top: 35%; left: 37%; width: 26%; aspect-ratio: 1; object-fit: cover; border-radius: 50%; border: 2px solid rgba(255,255,255,.7); box-shadow: 0 8px 20px rgba(0,0,0,.3); }
.product-tabs { position: absolute; inset: auto 12px 12px; display: flex; justify-content: center; gap: 7px; }
.product-tab { padding: 9px 11px; border: 1px solid #74624e; color: var(--ink); background: rgba(8,9,7,.82); cursor:pointer; font:inherit; font-size:.66rem; font-weight:850; text-transform:uppercase; }
.product-tab.active { color:var(--night); background:var(--ember); }

.quiz-panel { margin: 30px auto 96px; padding: clamp(24px,4vw,48px); text-align: center; border: 1px solid var(--line); background: #0e0f0d; }
.quiz-panel h2 { margin: 8px auto 12px; max-width: 720px; font-size: clamp(1.8rem,4vw,3.5rem); }
.trust-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:24px 0; }
.trust-grid span { display:flex; gap:10px; align-items:center; min-height:52px; padding:10px 12px; color:#d8d1c5; font-size:.76rem; line-height:1.3; border:1px solid rgba(185,151,93,.2); background:rgba(255,255,255,.025); }
.trust-grid b { color:#aa9676; font-size:.65rem; letter-spacing:.12em; }
.lab-cta { display:inline-flex; align-items:center; gap:12px; padding:14px 18px; color:#0b0c0a; background:#d7b576; border-radius:999px; font-size:.72rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; text-decoration:none; }
.lab-cta i { font-style:normal; font-size:1rem; }
.quiz-collapsed { padding:0; text-align:left; }
.quiz-collapsed > summary { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:22px 26px; cursor:pointer; list-style:none; }
.quiz-collapsed > summary::-webkit-details-marker { display:none; }
.quiz-collapsed > summary::after { content:'+'; color:#d7b576; font-size:2rem; line-height:1; }
.quiz-collapsed[open] > summary::after { content:'−'; }
.quiz-collapsed summary span { display:grid; gap:5px; }
.quiz-collapsed summary strong { color:#f2eee5; font-family:Georgia,serif; font-size:clamp(1.2rem,2.3vw,2rem); }
.quiz-collapsed summary em { color:#9f9a90; font-size:.78rem; font-style:normal; }
.quiz-inner { padding:0 26px 26px; text-align:center; border-top:1px solid rgba(185,151,93,.15); }
.quiz-options { display:flex; flex-wrap:wrap; justify-content:center; gap:9px; margin-top:22px; }
.quiz-option { padding:12px 15px; border:1px solid #5d5142; color:var(--ink); background:#151611; cursor:pointer; font:inherit; }
.quiz-option:hover { border-color:var(--ember); color:var(--ember); }
.quiz-result { max-width:600px; margin:22px auto 0; color:var(--ember); font-size:1.08rem; font-weight:800; line-height:1.5; }
.faq-section { margin:30px auto 96px; padding:clamp(24px,4vw,48px); border:1px solid rgba(185,151,93,.22); background:#171813; }
.faq-section h2 { margin:8px 0 26px; font-size:clamp(2rem,4.5vw,4rem); line-height:.95; }
.faq-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.faq-list details { border:1px solid rgba(185,151,93,.2); background:#10110e; }
.faq-list summary { display:flex; justify-content:space-between; gap:14px; padding:18px; cursor:pointer; color:#eee6d8; font-weight:800; list-style:none; }
.faq-list summary::after { content:'+'; color:var(--ember); }
.faq-list details[open] summary::after { content:'−'; }
.faq-list p { margin:0; padding:0 18px 18px; color:#aaa397; line-height:1.65; }
.request-modal { position:fixed; inset:0; z-index:1500; display:grid; place-items:center; padding:20px; background:rgba(4,5,4,.92); backdrop-filter:blur(14px); }
.request-modal[hidden] { display:none; }
.request-panel { position:relative; width:min(900px,100%); max-height:92vh; overflow:auto; padding:clamp(24px,4vw,46px); border:1px solid #6a5841; background:radial-gradient(circle at 90% 0,rgba(198,92,38,.18),transparent 35%),#12130f; box-shadow:0 30px 90px #000; }
.request-panel h2 { margin:8px 0 12px; font-size:clamp(2rem,5vw,4rem); line-height:.95; }
.request-panel>p { color:#aaa397; line-height:1.6; }
.request-close { position:absolute; top:12px; right:12px; width:42px; height:42px; border:1px solid #665746; color:#eee6d8; background:#0b0c0a; cursor:pointer; font-size:1.5rem; }
.request-form { display:grid; gap:15px; margin-top:24px; }
.request-row { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.request-form label { display:grid; gap:7px; color:#c7bda9; font-size:.7rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.request-form input,.request-form select,.request-form textarea { width:100%; padding:13px; border:1px solid #514638; border-radius:0; color:#f0e9dc; background:#090a08; font:inherit; }
.request-form textarea { resize:vertical; }
.request-form .photo-confirm { display:flex; grid-template-columns:none; align-items:flex-start; gap:10px; color:#a8a194; font-weight:600; line-height:1.5; letter-spacing:0; text-transform:none; }
.photo-confirm input { width:18px; margin-top:2px; accent-color:var(--ember); }
.photo-upload input[type="file"] { padding:10px; color:#c7bda9; border:1px dashed #806a4e; background:#0d0e0b; }
.request-form button { padding:15px 18px; border:0; border-radius:999px; color:#0b0c0a; background:linear-gradient(135deg,#f0b25e,var(--ember)); cursor:pointer; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.request-form button:disabled { cursor:wait; filter:saturate(.35); opacity:.72; }
.request-form .buy-now { color:#c9c0b1; background:transparent; border:1px solid #665746; }
.purchase-step,.order-summary { display:grid; gap:14px; padding:18px; border:1px solid rgba(185,151,93,.22); background:rgba(8,9,7,.45); }
.step-label { color:var(--ember); font-size:.7rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.request-row-three { grid-template-columns:repeat(3,1fr); }
.personalization-toggle { display:flex!important; grid-template-columns:none!important; align-items:center; gap:13px!important; padding:15px; border:1px solid rgba(233,160,75,.35); cursor:pointer; background:rgba(233,160,75,.06); }
.personalization-toggle input { width:20px; height:20px; padding:0; accent-color:var(--ember); }
.personalization-toggle span { display:grid; gap:2px; }
.personalization-toggle strong { color:#f2e9da; font-size:.9rem; }
.personalization-toggle small,.photo-help { color:#9f9688; font-size:.75rem; font-weight:500; letter-spacing:0; text-transform:none; }
.personalization-fields { display:grid; gap:14px; }
.personalization-fields[hidden] { display:none; }
.order-summary>div { display:flex; justify-content:space-between; gap:18px; color:#bcb2a3; }
.order-summary>div strong { color:#f3eadc; text-align:right; }
.order-summary .summary-total { margin-top:4px; padding-top:14px; border-top:1px solid rgba(185,151,93,.3); color:#f3eadc; font-size:1.05rem; font-weight:900; }
.order-summary .summary-total strong { color:var(--ember); font-size:1.35rem; }
.card-price,.product-price { display:flex; align-items:baseline; gap:8px; margin:16px 0 10px; }
.card-price strong,.product-price strong { color:#f5ead9; font-family:Georgia,serif; font-size:1.65rem; }
.card-price span,.product-price span { color:#978e80; font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.product-price { display:grid; gap:4px; }
.product-price strong { font-size:2.25rem; }
.card-personalize,.lightbox-personalize,.lab-personalize { width:100%; margin-top:8px; padding:8px 4px; border:0; color:#c2b8aa; background:transparent; cursor:pointer; font:inherit; font-size:.75rem; font-weight:750; text-decoration:underline; text-underline-offset:4px; }
.card-personalize:hover,.lightbox-personalize:hover,.lab-personalize:hover { color:var(--ember); }
.lab-personalize { width:auto; display:block; text-align:left; }
.request-error { margin:0; padding:11px 13px; border:1px solid #a84c43; color:#ffd8d2; background:rgba(133,34,29,.24); font-size:.84rem; line-height:1.45; }
.payment-confirmation { position:fixed; z-index:1200; inset:0; display:grid; place-items:center; padding:20px; background:rgba(4,5,4,.88); backdrop-filter:blur(16px); }
.payment-confirmation[hidden] { display:none; }
.payment-confirmation-card { width:min(560px,100%); padding:clamp(28px,6vw,54px); text-align:center; border:1px solid rgba(233,160,75,.48); background:radial-gradient(circle at 50% 0,rgba(58,145,90,.22),transparent 38%),#12130f; box-shadow:0 34px 100px #000; }
.payment-confirmation-mark { display:grid; width:72px; height:72px; margin:0 auto 20px; place-items:center; border:2px solid #69cc8b; border-radius:50%; color:#69cc8b; font-size:2.25rem; }
.payment-confirmation h2 { margin:0 0 14px; font-family:Georgia,serif; font-size:clamp(2rem,6vw,3.4rem); line-height:.95; text-transform:uppercase; }
.payment-confirmation p { color:#c6bdaf; line-height:1.65; }
.payment-confirmation strong { color:#f0b25e; }
.payment-confirmation button { margin-top:18px; padding:14px 22px; border:0; border-radius:999px; color:#090a08; background:linear-gradient(135deg,#f0b25e,var(--ember)); cursor:pointer; font:inherit; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
body.request-open { overflow:hidden; }
.shop-header { position:fixed; z-index:940; top:0; left:0; right:0; display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:68px; padding:10px 410px 10px 180px; border-bottom:1px solid rgba(185,151,93,.2); background:rgba(8,9,7,.82); backdrop-filter:blur(16px); }
.shop-logo { color:#f2e8d8; font:1.35rem Georgia,serif; letter-spacing:.18em; text-decoration:none; }
.shop-header nav { display:flex; align-items:center; gap:20px; }
.shop-header nav a,.shop-search { color:#bdb3a5; background:transparent; border:0; cursor:pointer; font:inherit; font-size:.72rem; font-weight:800; letter-spacing:.07em; text-decoration:none; text-transform:uppercase; }
.shop-header nav a:hover,.shop-search:hover { color:var(--ember); }
.shopping-preferences-trigger { padding:8px 11px; border:1px solid rgba(185,151,93,.35); border-radius:999px; color:#ddd2c1; background:rgba(255,255,255,.03); cursor:pointer; font:inherit; font-size:.67rem; font-weight:850; letter-spacing:.05em; }
.shopping-preferences-trigger:hover { color:var(--ember); border-color:rgba(233,160,75,.7); }
.shopping-preferences { position:fixed; z-index:1900; inset:0; opacity:0; transition:opacity .22s ease; }
.shopping-preferences.open { opacity:1; }
.shopping-preferences[hidden] { display:none; }
.preferences-backdrop { position:absolute; inset:0; width:100%; border:0; background:rgba(2,3,2,.72); backdrop-filter:blur(10px); }
.preferences-panel { position:absolute; top:76px; right:24px; width:min(390px,calc(100% - 32px)); display:grid; gap:16px; padding:28px; border:1px solid rgba(185,151,93,.35); border-radius:14px; color:#eee6d8; background:#141510; box-shadow:0 28px 90px rgba(0,0,0,.68); transform:translateY(-8px); transition:transform .22s ease; }
.shopping-preferences.open .preferences-panel { transform:translateY(0); }
.preferences-panel h2 { margin:0 0 4px; font:2rem/1 Georgia,serif; }
.preferences-panel label { display:grid; gap:7px; color:#bdb3a5; font-size:.72rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.preferences-panel select { width:100%; padding:12px; border:1px solid #574b3a; border-radius:8px; color:#eee6d8; background:#090a08; font:inherit; font-size:.88rem; text-transform:none; }
.preferences-close { position:absolute; top:14px; right:14px; width:38px; height:38px; border:1px solid #574b3a; border-radius:50%; color:#eee6d8; background:transparent; cursor:pointer; font-size:1.35rem; }
.preferences-save { min-height:48px; border:0; border-radius:8px; color:#090a08; background:linear-gradient(135deg,#f0b25e,var(--ember)); cursor:pointer; font:inherit; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.localized-trust { display:flex; flex-wrap:wrap; gap:8px 14px; margin:12px 0 4px; color:#bdb3a5; font-size:.68rem; }
.cart-button { position:fixed; z-index:950; top:13px; right:280px; padding:11px 16px; border:1px solid rgba(240,178,94,.55); border-radius:999px; color:#f4ead9; background:rgba(10,11,9,.82); backdrop-filter:blur(14px); cursor:pointer; font:inherit; font-size:.75rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.cart-button span { display:inline-grid; min-width:23px; height:23px; margin-left:6px; place-items:center; border-radius:50%; color:#0a0b09; background:var(--ember); }
.cart-drawer { position:fixed; z-index:1600; inset:0 0 0 auto; width:min(520px,100%); padding:24px; overflow:auto; color:#eee6d8; background:#10110e; border-left:1px solid #705b40; box-shadow:-30px 0 90px rgba(0,0,0,.72); transform:translateX(100%); transition:transform .25s ease; }
.cart-drawer.open { transform:translateX(0); }
.cart-drawer.full-cart { width:min(920px,100%); }
.cart-drawer[hidden] { display:none; }
.cart-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding-bottom:18px; border-bottom:1px solid rgba(185,151,93,.24); }
.cart-head h2 { margin:5px 0 0; font:2.2rem Georgia,serif; }
.cart-close { width:42px; height:42px; border:1px solid #665746; color:#eee6d8; background:#090a08; cursor:pointer; font-size:1.5rem; }
.cart-added { padding:11px 13px; color:#b8edc7; border:1px solid rgba(105,204,139,.4); background:rgba(55,130,78,.18); }
.cart-items { display:grid; gap:12px; margin:20px 0; }
.cart-item { display:grid; gap:14px; padding:16px; border:1px solid rgba(185,151,93,.22); background:#151611; }
.cart-item>img { width:86px; aspect-ratio:5/6; object-fit:cover; border:1px solid #4f4434; }
.cart-item-copy { display:grid; gap:5px; }
.cart-item-copy strong { font-family:Georgia,serif; }
.cart-item-copy span,.cart-empty,.cart-footer small { color:#a9a092; font-size:.78rem; }
.cart-variants { display:flex; gap:8px; margin-top:6px; }
.cart-variants select { min-width:92px; padding:8px; border:1px solid #5d4f3c; color:#eee6d8; background:#090a08; }
.cart-item-controls { display:grid; grid-template-columns:34px 30px 34px 1fr auto; align-items:center; gap:6px; }
.cart-item-controls button { height:34px; border:1px solid #665746; color:#eee6d8; background:#090a08; cursor:pointer; }
.cart-item-controls>strong { text-align:right; }
.cart-item-controls .cart-remove { width:auto; padding:0 8px; color:#d5a397; font-size:.68rem; }
.cart-footer { position:sticky; bottom:-24px; display:grid; gap:12px; margin:28px -24px -24px; padding:20px 24px 24px; border-top:1px solid #705b40; background:rgba(16,17,14,.96); backdrop-filter:blur(12px); }
.cart-footer>div { display:flex; justify-content:space-between; font-size:1.15rem; }
.cart-footer .shipping-progress { position:relative; display:block; padding-bottom:9px; color:#d8cbb8; font-size:.75rem; }
.shipping-progress::after,.shipping-progress i { content:""; position:absolute; left:0; right:0; bottom:0; height:3px; border-radius:3px; background:#3d372f; }
.shipping-progress i { right:auto; width:0; background:var(--ember); transition:width .25s ease; }
.cart-footer button { padding:14px 18px; border:0; border-radius:999px; color:#090a08; background:linear-gradient(135deg,#f0b25e,var(--ember)); cursor:pointer; font:inherit; font-weight:900; text-transform:uppercase; }
.cart-footer .cart-continue,.cart-footer .cart-view { color:#c9c0b1; background:transparent; border:1px solid #665746; }

/* Keep the discovery path focused: category → design → photo → Etsy. */
.discovery-tools,.favorite-filter,.favorite-button,.compare-tray,.compare-modal,.quiz-panel,.viewed-meter,.intro-replay { display:none!important; }

/* Premium depth, readable photography and restrained hierarchy. */
.hero::after { content:""; position:absolute; inset:0; z-index:0; pointer-events:none; background:radial-gradient(ellipse at 18% 72%,rgba(0,0,0,.12) 0,rgba(0,0,0,.58) 68%,rgba(0,0,0,.48) 100%),linear-gradient(0deg,rgba(0,0,0,.72),transparent 62%); }
.hero::before { background:linear-gradient(90deg,rgba(11,12,12,.96) 0%,rgba(11,12,12,.78) 30%,rgba(11,12,12,.16) 52%,rgba(11,12,12,.05) 78%),url("stray-hero-midnight-garage-v2.jpg") center / cover!important; filter:saturate(.86)!important; }
.hero::after { background:radial-gradient(ellipse at 38% 57%,transparent 0,rgba(0,0,0,.12) 25%,rgba(0,0,0,.48) 72%),linear-gradient(0deg,rgba(0,0,0,.68),transparent 58%)!important; }
.hero>.wrap { position:relative; z-index:1; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr); gap:clamp(24px,4vw,76px); align-items:center; }
.hero-copy-block { position:relative; z-index:3; }
.hero-shirts { position:relative; min-height:clamp(520px,62vh,700px); align-self:end; pointer-events:none; }
.hero-shirt { position:absolute; left:50%; bottom:-7%; width:min(70%,540px); height:auto; filter:drop-shadow(0 24px 30px rgba(0,0,0,.62)); transform-origin:50% 85%; }
.hero-shirt-moss { z-index:1; transform:translateX(-88%) rotate(-8deg) scale(.78); opacity:.83; }
.hero-shirt-chili { z-index:1; transform:translateX(-12%) rotate(8deg) scale(.78); opacity:.83; }
.hero-shirt-black { z-index:2; transform:translateX(-50%) scale(1); }
.hero-shirt-navy,.hero-shirt-blue { display:none; }
.hero h1 { max-width:1050px!important; margin-right:auto!important; font-size:clamp(3rem,6vw,6.2rem)!important; line-height:.9!important; text-align:left!important; text-wrap:balance; }
.hero-copy { max-width:620px!important; margin-top:24px!important; }
.hero-promise { max-width:620px!important; }
.hero-product-line { display:flex; flex-wrap:wrap; gap:8px 18px; align-items:center; margin-top:20px!important; font-family:Inter,Arial,sans-serif!important; font-size:clamp(.92rem,1.3vw,1.08rem)!important; font-style:normal!important; line-height:1.35!important; }
.hero-product-line strong { color:#fff7e8; font-weight:850; }
.hero-product-line span { color:#d7c9b3; }
.hero-product-line span::before { content:'·'; margin-right:18px; color:var(--ember); }
.hero-cta { display:inline-flex; align-items:center; gap:14px; margin-top:24px; padding:15px 20px; border:1px solid var(--ember); border-radius:999px; color:var(--night); background:linear-gradient(135deg,#f0b25e,var(--ember)); box-shadow:0 14px 36px rgba(0,0,0,.34),0 0 24px rgba(233,160,75,.12); font-size:.76rem; font-weight:900; letter-spacing:.07em; text-decoration:none; text-transform:uppercase; transition:transform .25s ease,box-shadow .25s ease; }
.hero-cta span { font-size:1rem; transition:transform .25s ease; }
.hero-cta:hover { transform:translateY(-3px); box-shadow:0 18px 42px rgba(0,0,0,.44),0 0 30px rgba(233,160,75,.2); }
.hero-cta:hover span { transform:translate(2px,-2px); }
#gallery { scroll-margin-top:86px; }
.hero .stats { margin-top:22px!important; }
.hero-copy { color:#f1e5d0!important; text-shadow:0 2px 18px rgba(0,0,0,.88); }
.hero h1,.hero-promise,.hero .eyebrow { text-shadow:0 4px 24px rgba(0,0,0,.92); }
.intro,.process,.featured,.worlds,.principles,.gallery { border-top:1px solid rgba(185,151,93,.12); }
.process,.worlds,.gallery { background:linear-gradient(180deg,rgba(255,255,255,.018),transparent 26rem); }
.step,.world-card,.personalization-lab,.quiz-panel,.discovery-tools { border-color:rgba(185,151,93,.22)!important; background-color:#171813!important; box-shadow:0 18px 44px rgba(0,0,0,.2); }
.featured-card { border-color:rgba(185,151,93,.3)!important; box-shadow:0 20px 48px rgba(0,0,0,.3); transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease; }
.featured-card:hover { transform:translateY(-6px); border-color:rgba(233,160,75,.62)!important; box-shadow:0 26px 58px rgba(0,0,0,.46),0 0 26px rgba(185,151,93,.12); }
.featured-card::after { background:linear-gradient(180deg,rgba(5,6,5,.08) 24%,rgba(5,6,5,.38) 58%,rgba(5,6,5,.97) 100%)!important; }
.story-details summary { color:#b5a58d!important; transition:color .25s ease; }
.story-details summary:hover,.story-details[open] summary { color:var(--ember)!important; }
.story-details[open] p { animation:detail-reveal .32s ease both; }
@keyframes detail-reveal { from { opacity:0; transform:translateY(-7px); } }
.card-cta,.lightbox-cta { position:relative; gap:10px; border:0!important; border-radius:999px; color:var(--night)!important; background:linear-gradient(135deg,#f0b25e,var(--ember)); box-shadow:0 10px 26px rgba(233,160,75,.18); transition:transform .24s ease,box-shadow .24s ease!important; }
.card-cta::before,.lightbox-cta::before { content:"✦"; }
.card-cta:hover,.lightbox-cta:hover { transform:translateY(-2px); box-shadow:0 14px 34px rgba(233,160,75,.3); }
.number,.club,.featured-copy span,.step-number,.lab-kicker { color:#aa9676!important; }

.compare-modal { position:fixed; inset:0; z-index:1300; display:grid; place-items:center; padding:24px; background:rgba(4,5,4,.96); }
.compare-modal[hidden] { display:none; }
.compare-panel { width:min(980px,100%); max-height:90vh; overflow:auto; }
.compare-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; }
.compare-item { border:1px solid var(--line); background:#11120f; }
.compare-item img { width:100%; aspect-ratio:5/6; object-fit:cover; }
.compare-item div { padding:14px; }
.compare-close { float:right; margin-bottom:12px; }

@media (max-width: 760px) {
  body { padding-bottom:86px; }
  .shop-header { min-height:58px; padding:8px 112px 8px 12px; }
  .shop-header nav { gap:12px; }
  .shop-header nav a:nth-child(2),.shop-header nav a:nth-child(3),.shop-search { display:none; }
  .shop-logo { display:none; }
  .cart-button { top:10px; right:10px; }
  .cart-drawer { padding:18px; }
  .cart-item-controls { grid-template-columns:34px 24px 34px 1fr; }
  .cart-item-controls .cart-remove { grid-column:1/-1; }
  .hero h1 { font-size:clamp(2.35rem,12vw,3.8rem)!important; line-height:.9!important; overflow-wrap:normal; word-break:normal; hyphens:none; }
  html[lang="es"] .hero h1 { font-size:clamp(2.2rem,11.5vw,3.55rem)!important; }
  .hero { min-height:92svh; padding-bottom:42px!important; }
  .hero>.wrap { display:flex; flex-direction:column; gap:12px; align-items:stretch; }
  .hero-shirts { order:-1; width:100%; min-height:42svh; margin:-24px auto 0; }
  .hero-shirt { left:50%; bottom:-8%; width:min(92vw,450px); opacity:0; transform:translateX(-50%) scale(.96); animation:hero-shirt-cycle 15s infinite; }
  .hero-shirt-moss { z-index:1; animation-delay:0s; }
  .hero-shirt-chili { z-index:1; animation-delay:3s; }
  .hero-shirt-black { z-index:1; animation-delay:6s; }
  .hero-shirt-navy { display:block; z-index:1; animation-delay:9s; }
  .hero-shirt-blue { display:block; z-index:1; animation-delay:12s; }
  .hero-copy { font-size:1rem!important; line-height:1.52!important; }
  .hero-cta { width:100%; justify-content:center; margin-top:20px; }
  .hero-product-line { display:grid; gap:5px; }
  .hero-product-line span::before { content:none; }
  .lab-grid { grid-template-columns: 1fr; }
  .product-stage { min-height: 430px; }
  .experience-controls { position:absolute!important; top: 10px; right: 10px; max-width:calc(100% - 132px); }
  .language-switch { position:absolute!important; top:10px!important; left:10px!important; max-width:112px; overflow:hidden; white-space:nowrap; }
  .experience-control { min-height:42px; padding:0 12px; font-size:.65rem; }
  .intro-replay { display:none; }
  .intro-moon { top:8%; right:-24%; width:105vw; opacity:.5; }
  .viewed-meter { display:none; }
  .compare-tray { bottom: 68px; }
  .sticky-personalize { bottom:max(10px,env(safe-area-inset-bottom)); box-shadow:0 10px 32px rgba(0,0,0,.62); }
  .card:hover,.featured-card:hover { transform:none; }
  .trust-grid { grid-template-columns:1fr; }
  .lab-cta { width:100%; justify-content:center; text-align:center; }
  .quiz-collapsed > summary { padding:18px; }
  .quiz-inner { padding:0 18px 20px; }
  .faq-list,.request-row,.request-row-three { grid-template-columns:1fr; }
  .request-modal { padding:10px; }
  .request-panel { max-height:96vh; padding:24px 18px; }
}

@keyframes hero-shirt-cycle {
  0%,16% { opacity:1; transform:translateX(-50%) translateY(0) scale(1); }
  20%,96% { opacity:0; transform:translateX(-50%) translateY(10px) scale(.96); }
  100% { opacity:1; transform:translateX(-50%) translateY(0) scale(1); }
}
@media (prefers-reduced-motion:reduce) {
  .hero-shirt { animation:none!important; }
  .hero-shirt-black { opacity:1; }
  .hero-shirt-moss,.hero-shirt-chili,.hero-shirt-navy,.hero-shirt-blue { opacity:0; }
}
@media (prefers-reduced-motion: reduce) { .ambient-particles,.cinematic-intro { display:none; } .card.reveal-pending { opacity:1; transform:none; } }

/* Premium Editorial Design System */
:root { --premium-surface:#121310; --premium-elevated:#181916; --premium-line:rgba(241,230,207,.14); }
html { scroll-behavior:smooth; }
body { background:#0b0c0b; }
.wrap { width:min(1320px,calc(100% - 48px)); }
.shop-header { background:rgba(9,10,9,.92); border-color:var(--premium-line); }
.shop-header nav a:nth-child(4),.shop-search { display:none; }
.experience-control { box-shadow:none; }
.sound-toggle { width:48px; padding:0; overflow:hidden; font-size:0; }
.sound-toggle .sound-icon { width:28px; height:28px; margin:0; font-size:.9rem; }
.hero { min-height:86vh; }
.hero .stats { display:none; }
.hero-copy { max-width:560px!important; }
.intro,.process,.featured,.worlds,.principles,.gallery { padding-top:clamp(72px,8vw,118px); padding-bottom:clamp(64px,7vw,100px); }
.principles { margin-bottom:0; }
.section-heading,.collection-title { max-width:13ch; letter-spacing:-.035em; text-wrap:balance; }
.featured-grid,.world-grid,.steps { gap:24px; }
.step,.world-card { padding:32px!important; border:1px solid var(--premium-line)!important; border-radius:12px; background:var(--premium-surface)!important; box-shadow:0 16px 42px rgba(0,0,0,.16); }
.gallery .grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; }
.card { border:1px solid var(--premium-line)!important; border-radius:12px; background:var(--premium-surface)!important; box-shadow:0 14px 36px rgba(0,0,0,.16)!important; transform:none; transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease!important; }
.card:hover { transform:translateY(-5px); border-color:rgba(233,160,75,.38)!important; box-shadow:0 22px 48px rgba(0,0,0,.28)!important; }
.card .content { padding:24px; }
.card .description,.card .story-details { display:none; }
.card .quote { min-height:0; margin:12px 0 2px; color:#aaa397; font-size:.82rem; font-weight:500; }
.card-price { margin-top:18px; }
.card-personalize,.lightbox-personalize,.lab-personalize,.sticky-personalize { display:none!important; }
.card-cta,.lightbox-cta,.lab-cta,.hero-cta { min-height:48px; border-radius:8px!important; box-shadow:none!important; }
.filter { border-radius:999px; border-color:var(--premium-line); }
.personalization-lab { margin:120px auto 48px; padding:clamp(28px,5vw,72px); border:1px solid var(--premium-line); border-radius:16px; background:var(--premium-surface); }
.lab-grid { grid-template-columns:minmax(0,.72fr) minmax(460px,1.28fr); gap:clamp(48px,7vw,96px); }
.lab-copy h2 { max-width:9ch; font-size:clamp(2.7rem,5vw,5rem); letter-spacing:-.045em; }
.shirt-carousel { padding:0; border-radius:12px; background:#090a09; }
.shirt-frame { width:100%; border:0; box-shadow:none; }
.shirt-frame figcaption { border:0; border-radius:6px; }
.faq-section { border:0; border-top:1px solid var(--premium-line); background:transparent; }
.faq-list { grid-template-columns:1fr; max-width:900px; }
.faq-list details { border-width:0 0 1px; border-color:var(--premium-line); background:transparent; }
.request-modal { background:rgba(5,6,5,.82); backdrop-filter:blur(22px); }
.request-panel { display:grid; grid-template-columns:minmax(440px,1.55fr) minmax(360px,.85fr); column-gap:clamp(34px,5vw,72px); width:min(1240px,100%); padding:24px; border:1px solid var(--premium-line); border-radius:16px; background:var(--premium-surface); }
.request-panel>.request-product-visual { grid-column:1; grid-row:1 / span 4; position:sticky; top:0; align-self:start; min-height:680px; margin:0; overflow:hidden; border-radius:12px; background:#111; }
.request-mockup-stage { position:absolute; inset:0; overflow:hidden; }
.request-mockup-background { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.request-mockup-shirt { position:absolute; z-index:1; left:50%; top:49%; width:92%; height:92%; object-fit:contain; transform:translate(-50%,-50%); filter:drop-shadow(0 28px 30px rgba(0,0,0,.62)); transition:opacity .2s ease,transform .25s ease; }
.request-mockup-shirt.loading { opacity:.35; }
.request-mockup-design { position:absolute; z-index:2; left:50%; top:27%; width:30%; height:48%; object-fit:contain; transform:translateX(-50%); border-radius:2px; mix-blend-mode:normal; filter:brightness(.9) contrast(1.02); transition:transform .25s ease; }
.request-product-visual:hover .request-mockup-shirt { transform:translate(-50%,-50%) scale(1.015); }
.request-product-visual:hover .request-mockup-design { transform:translateX(-50%) scale(1.015); }
.request-product-visual figcaption { position:absolute; left:18px; bottom:18px; padding:8px 11px; border-radius:6px; color:#eee8dc; background:rgba(9,10,9,.72); font-size:.67rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; backdrop-filter:blur(8px); }
.request-panel>.lab-kicker,.request-panel>h2,.request-panel>p,.request-panel>.request-form { grid-column:2; }
.request-panel h2 { margin-top:4px; font-size:clamp(2.2rem,3.5vw,3.4rem); letter-spacing:-.04em; }
.request-panel>p { margin-top:0; }
.purchase-step,.order-summary { padding:0 0 20px; border:0; border-bottom:1px solid var(--premium-line); background:transparent; }
.request-form { margin-top:12px; gap:20px; }
.request-form input,.request-form select,.request-form textarea { border-color:var(--premium-line); border-radius:8px; background:#0b0c0b; }
.request-row-three { grid-template-columns:1fr 1fr; }
.request-row-three>label:first-child { grid-column:1 / -1; }
.color-swatches { display:grid; grid-template-columns:repeat(auto-fill,minmax(32px,1fr)); gap:10px; max-height:158px; margin-top:8px; padding:6px 4px 8px; overflow-y:auto; }
.color-swatches button { width:32px!important; height:32px; min-height:0!important; padding:0!important; border:2px solid transparent!important; border-radius:50%!important; background:var(--swatch)!important; box-shadow:0 0 0 1px rgba(255,255,255,.2)!important; }
.color-swatches button.active { border-color:#fff!important; box-shadow:0 0 0 2px #111,0 0 0 4px var(--ember)!important; }
.color-swatches button:not([data-color="Navy"]):not([data-color="Orchid"]):not([data-color="Blossom"]):not([data-color="Neo Pink"]):not([data-color="Black"]):not([data-color="Blue Jean"]):not([data-color="Chambray"]):not([data-color="Chili"]):not([data-color="Graphite"]):not([data-color="Grey"]):not([data-color="Ivory"]):not([data-color="Moss"]):not([data-color="Mustard"]):not([data-color="Pepper"]):not([data-color="Red"]):not([data-color="White"]) { display:none!important; }
.blackwater-legend { margin-top:20px; border-top:1px solid rgba(226,169,88,.28); }
.blackwater-legend summary { display:flex; justify-content:space-between; align-items:center; gap:18px; padding:18px 0; color:var(--ember); font-size:.78rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.blackwater-legend[open] summary span { transform:rotate(90deg); }
.legend-body { padding:4px 0 12px; color:#c9c0b1; }
.legend-body header { margin-bottom:26px; padding:20px; border:1px solid rgba(226,169,88,.28); background:linear-gradient(135deg,rgba(226,169,88,.09),rgba(255,255,255,.02)); }
.legend-body header>span,.legend-body h4 { display:block; margin:0 0 9px; color:var(--ember); font-size:.68rem; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.legend-body header>strong { display:block; color:#f4ead9; font-family:var(--display); font-size:clamp(1.5rem,2.4vw,2.3rem); line-height:1; }
.legend-body header>div { display:flex; flex-wrap:wrap; gap:10px 18px; margin-top:15px; }
.legend-body header em { padding:5px 9px; border:1px solid var(--ember); border-radius:999px; color:var(--ember); font-size:.65rem; font-style:normal; font-weight:900; text-transform:uppercase; }
.legend-body header small { align-self:center; color:#a99d8b; }
.legend-narrative p { margin:0 0 16px; font-size:.92rem; line-height:1.75; }
.legend-columns { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:28px; }
.legend-body ul { margin:0; padding-left:18px; }
.legend-body li { margin:0 0 8px; line-height:1.5; }
.legend-body blockquote { margin:28px 0; padding:4px 0 4px 18px; border-left:2px solid var(--ember); color:#f4ead9; font:italic 1.2rem/1.45 var(--display); }
.legend-more p { display:flex; flex-wrap:wrap; gap:8px; }
.legend-more span { padding:7px 10px; border:1px solid rgba(226,169,88,.25); border-radius:999px; font-size:.72rem; }
.lightbox-legend { margin-top:22px; }
@media (max-width:700px) { .legend-columns { grid-template-columns:1fr; } .legend-body header { padding:16px; } }
.personalization-toggle { border-radius:10px; }
.purchase-trust { display:grid; gap:8px; color:#aaa397; font-size:.72rem; line-height:1.4; }
.request-form>button[type="submit"] { min-height:52px; border-radius:8px; }
.request-form .buy-now { border:0; min-height:42px; padding:8px; text-decoration:underline; text-underline-offset:4px; }
.cart-drawer { padding:32px; border-color:var(--premium-line); background:var(--premium-surface); transition:transform .25s ease; }
.cart-item { padding:20px; border-color:var(--premium-line); border-radius:10px; background:var(--premium-elevated); }
.cart-footer button { border-radius:8px; }
@media (max-width:1100px) { .gallery .grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.request-panel { grid-template-columns:1fr 1fr; }.request-panel>.request-product-visual { min-height:560px; } }
@media (max-width:760px) {
  .shopping-preferences-trigger { padding:7px 9px; }
  .preferences-panel { top:auto; right:0; bottom:0; width:100%; border-radius:18px 18px 0 0; }
  body.lightbox-open .language-switch { top:10px!important; left:auto!important; right:10px!important; }
  .wrap { width:min(100% - 28px,680px); }.shop-header nav,.experience-controls { display:none; }.language-switch { position:fixed!important; }
  .gallery .grid { grid-template-columns:1fr; gap:28px; }.card .content { padding:22px; }
  .intro,.process,.featured,.worlds,.principles,.gallery { padding-top:64px; padding-bottom:56px; }
  .personalization-lab { margin-top:76px; padding:20px; }.lab-grid { grid-template-columns:1fr; gap:34px; }.lab-copy { order:2; }.product-stage { order:1; }
  .request-modal { align-items:end; padding:0; }.request-panel { display:block; width:100%; max-height:94svh; padding:16px; border-radius:18px 18px 0 0; }
  .request-panel>.request-product-visual { position:relative; min-height:390px; margin:0 0 24px; }.request-mockup-shirt { width:94%; height:94%; }.request-mockup-design { top:27%; width:30%; height:48%; }.request-panel h2 { padding-right:48px; }
  .request-row,.request-row-three { grid-template-columns:1fr; }.request-row-three>label:first-child { grid-column:auto; }.request-form>button[type="submit"] { position:sticky; bottom:0; z-index:2; }.cart-drawer { padding:20px; }
}

/* Immersive editorial worlds */
.ambient-particles { opacity:.46; mix-blend-mode:screen; }
.ambient-particle { width:var(--dust-size); height:var(--dust-size); background:rgba(221,190,133,.88); filter:blur(.25px); box-shadow:0 0 7px rgba(233,160,75,.45); }
@keyframes ember-fall { 0% { transform:translate3d(0,-8vh,0); opacity:0; } 12% { opacity:.75; } 72% { opacity:.34; } 100% { transform:translate3d(var(--dust-drift),112vh,0); opacity:0; } }
.intro,.process,.worlds,.principles { position:relative; isolation:isolate; overflow:hidden; border:1px solid var(--premium-line); border-radius:16px; }
.intro>* ,.process>* ,.worlds>* ,.principles>* { position:relative; z-index:1; }
.intro { margin-top:72px; padding:clamp(64px,7vw,96px) clamp(32px,6vw,80px); background:#0d0e0c; }
.intro::before { content:""; position:absolute; inset:0; z-index:0; background:linear-gradient(90deg,rgba(8,9,8,.96) 0%,rgba(8,9,8,.82) 45%,rgba(8,9,8,.3) 100%),url("halloween-26-observatory.webp") 58% 27%/cover no-repeat; filter:saturate(.72); }
.intro p { color:#d4c9b7!important; text-shadow:0 2px 14px #000; }
.process { margin-top:28px; padding:clamp(64px,7vw,94px) clamp(28px,5vw,68px); background:#0d0e0c; }
.process::before { content:""; position:absolute; inset:0; z-index:0; background:linear-gradient(180deg,rgba(8,9,8,.72),rgba(8,9,8,.92)),url("halloween-09-bombay-apothecary.webp") center 45%/cover no-repeat; filter:saturate(.6); }
.process .steps { margin-top:42px; }
.process .step { background:rgba(14,15,13,.74)!important; border-color:rgba(241,230,207,.22)!important; backdrop-filter:blur(12px); }
.worlds { margin-top:76px; padding:clamp(64px,7vw,94px) clamp(28px,5vw,68px); background:linear-gradient(145deg,#11120f,#090a09); }
.world-grid { margin-top:40px; }
.world-card { position:relative; min-height:330px; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; isolation:isolate; border:0!important; border-radius:12px; background:#111!important; }
.world-card::before,.world-card::after { content:""; position:absolute; inset:0; z-index:-2; }
.world-card::after { z-index:-1; background:linear-gradient(180deg,rgba(5,6,5,.05) 15%,rgba(5,6,5,.3) 50%,rgba(5,6,5,.97) 100%); }
.world-card:nth-child(1)::before { background:url("halloween-07-rottweiler-garage-reconstructed.webp") center/cover no-repeat; }
.world-card:nth-child(2)::before { background:url("halloween-11-siamese-museum.webp") center 34%/cover no-repeat; }
.world-card:nth-child(3)::before { background:url("halloween-21-zombie-picture-club.webp") center 30%/cover no-repeat; }
.world-card strong,.world-card h3,.world-card p { text-shadow:0 3px 18px #000; }
.world-card p { color:#e2d8c7!important; }
.principles { margin-top:28px; margin-bottom:88px; padding:clamp(56px,7vw,88px) clamp(24px,5vw,60px); background:#0c0d0b; }
.principles::before { content:""; position:absolute; inset:0; z-index:0; background:linear-gradient(90deg,rgba(7,8,7,.88),rgba(7,8,7,.62),rgba(7,8,7,.88)),url("halloween-23-poison-garden.webp") center 45%/cover no-repeat; filter:saturate(.65); }
.principle { margin:0 8px; border:1px solid rgba(241,230,207,.18)!important; border-radius:10px; background:rgba(12,13,11,.7); backdrop-filter:blur(12px); }
.principle+.principle { border-left:1px solid rgba(241,230,207,.18)!important; }
.principle span { color:#ddd2c1!important; }
@media (max-width:760px) {
  .intro,.process,.worlds,.principles { border-radius:12px; }
  .intro { margin-top:48px; padding:56px 24px; }
  .intro::before { background:linear-gradient(180deg,rgba(8,9,8,.7),rgba(8,9,8,.96)),url("halloween-26-observatory.webp") 46% 20%/cover no-repeat; }
  .process,.worlds { padding:54px 20px; }
  .world-card { min-height:400px; }
  .principles { gap:12px; padding:46px 18px; }
  .principle { margin:0; }
  .principle+.principle { border-left:1px solid rgba(241,230,207,.18)!important; border-top:1px solid rgba(241,230,207,.18)!important; }
}
