/* ============================================
   CEC THEME — MAIN STYLESHEET
   ============================================ */

:root {
  --black:   #080808;
  --dark:    #0d0d0d;
  --card:    #111111;
  --border:  #1e1e1e;
  --silver:  #d0d0d0;
  --silver2: #909090;
  --green:   #3dff70;
  --text:    #f0f0f0;
  --muted:   #888888;
  --red:     #cc3333;

  /* Aliases for compatibility */
  --accent:  var(--silver);
  --accent2: var(--silver2);
  --neon:    var(--green);

  --mono:    'DM Mono', 'Courier New', monospace;
  --sans:    'Assistant', sans-serif;
  --display: 'Syne', 'Arial Black', sans-serif;
  --heading: 'Montserrat', sans-serif;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
  background-color: #060a06;
  background-image:
    linear-gradient(rgba(61,255,112,.13) 1px, transparent 1px),
    linear-gradient(90deg, rgba(61,255,112,.13) 1px, transparent 1px);
  background-size: 28px 28px;
  color: var(--text);
  font-family: var(--sans);
  overflow-x: hidden;
  padding-top: 0;
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }

/* ============================================
   ANNOUNCEMENT BAR
   ============================================ */
.cec-announce {
  background: #050505;
  color: #909090;
  border-bottom: 1px solid #1a1a1a;
  padding: 8px 0;
  overflow: hidden;
  position: relative;
  z-index: 200;
}
.cec-announce-track {
  display: inline-flex;
  gap: 0;
  animation: cec-announce 35s linear infinite;
  white-space: nowrap;
}
.cec-announce-track span {
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  padding: 0 24px;
}
.cec-announce-sep { opacity: .4; }
.cec-announce-neon {
  color: #3dff70 !important;
  text-shadow: 0 0 14px rgba(61,255,112,.9), 0 0 30px rgba(61,255,112,.4);
}
@keyframes cec-announce {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ============================================
   TICKER
   ============================================ */
.cec-ticker {
  background: var(--card);
  border-bottom: 1px solid var(--border);
  padding: 7px 0;
  overflow: hidden;
  position: relative;
  z-index: 199;
}
.cec-ticker-track {
  display: inline-flex;
  animation: cec-ticker 30s linear infinite;
  white-space: nowrap;
}
.cec-ticker-track span {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .15em;
  color: #c0c0c0;
  padding: 0 32px;
}
@keyframes cec-ticker {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ============================================
   HEADER / NAV
   ============================================ */
.cec-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(8,8,8,.92);
  backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--border);
  transition: border-color .3s;
}
.cec-header.scrolled { border-color: rgba(192,192,192,.15); }

.cec-header-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 48px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}

.cec-logo {
  font-family: var(--mono);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .25em;
  color: var(--accent);
  text-shadow: 0 0 20px rgba(192,192,192,.35);
  flex-shrink: 0;
}

.cec-nav {
  display: flex;
  gap: 32px;
  align-items: center;
}
.cec-nav a {
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: .18em;
  color: #f0f0f0;
  transition: color .2s;
}
.cec-nav a:hover { color: var(--green); }
.cec-nav li.current-menu-item > a,
.cec-nav li.current-menu-parent > a,
.cec-nav li.current-menu-ancestor > a { color: var(--green); }

.cec-header-right {
  display: flex;
  align-items: center;
  gap: 24px;
  flex-shrink: 0;
}

.cec-cart-btn {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .15em;
  color: var(--text);
  transition: color .2s;
  cursor: pointer;
}
.cec-cart-btn:hover { color: var(--silver2); }

.cec-menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
}
.cec-menu-toggle span {
  display: block;
  width: 22px;
  height: 1px;
  background: var(--text);
  transition: all .3s;
}

.cec-mobile-menu {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(6,8,6,.97);
  background-image:
    linear-gradient(rgba(61,255,112,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(61,255,112,.05) 1px, transparent 1px);
  background-size: 28px 28px;
  z-index: 99;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.cec-mobile-menu.open { display: flex; }
.cec-mobile-menu-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  width: 100%;
}
.cec-mobile-menu a {
  font-family: var(--mono);
  font-size: 18px;
  letter-spacing: .22em;
  color: rgba(255,255,255,.75);
  padding: 18px 24px;
  width: 100%;
  text-align: center;
  border-bottom: 1px solid rgba(255,255,255,.05);
  transition: color .2s, background .2s;
  text-transform: uppercase;
}
.cec-mobile-menu a:hover,
.cec-mobile-menu a:active { color: var(--green); background: rgba(61,255,112,.04); }
.cec-mobile-menu .cec-mobile-dna { color: var(--green); }
.cec-mobile-menu .cec-mobile-cart {
  font-size: 12px;
  letter-spacing: .18em;
  color: rgba(255,255,255,.35);
  border-bottom: none;
  padding: 24px;
}

/* ============================================
   HERO
   ============================================ */
.cec-hero {
  min-height: 88vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
  padding: 50px 0 60px;
  text-align: center;
}

.cec-hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
  opacity: .5;
  filter: saturate(.7) brightness(.65);
  pointer-events: none;
}

.cec-hero-bg {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 80% 60% at 50% 40%, #141414 0%, #0a0a0a 40%, var(--black) 100%);
}

.cec-hero-grid {
  position: absolute;
  inset: 0;
  z-index: 2;
  /* canvas injected by JS replaces static CSS grid */
}

#cec-warp-canvas {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 2;
}

.cec-hero-stamp {
  position: absolute;
  top: 120px;
  right: 60px;
  font-family: var(--mono);
  font-size: 60px;
  font-weight: 700;
  letter-spacing: .1em;
  color: var(--red);
  opacity: .08;
  transform: rotate(-20deg);
  border: 7px solid var(--red);
  padding: 6px 14px;
  line-height: 1;
  pointer-events: none;
}

.cec-hero-hud {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  gap: 24px;
  padding: 16px 48px;
  justify-content: center;
  flex-wrap: wrap;
  z-index: 3;
}
.cec-hero-hud span {
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: .2em;
  color: rgba(192,192,192,.22);
}

.cec-hero-content {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 680px;
  padding: 0 24px;
}

.cec-hero-coords {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .25em;
  color: var(--accent2);
  margin-bottom: 16px;
}

.cec-hero-kicker {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .3em;
  color: var(--silver);
  margin-bottom: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  opacity: .8;
}
.cec-hero-kicker::before,
.cec-hero-kicker::after {
  content: '';
  width: 40px;
  height: 1px;
  background: var(--accent2);
}

.cec-hero-title {
  font-family: var(--display);
  font-size: clamp(38px, 6.5vw, 82px);
  font-weight: 800;
  line-height: .88;
  letter-spacing: -.02em;
  margin-bottom: 28px;
  color: var(--text);
}

.cec-hero-glow {
  font-style: normal;
  color: var(--green);
  display: block;
  text-shadow: 0 0 40px rgba(61,255,112,.55), 0 0 100px rgba(61,255,112,.25), 0 0 200px rgba(61,255,112,.1);
}

.cec-hero-sub {
  font-family: var(--mono);
  font-size: 13px;
  font-weight: 400;
  letter-spacing: .18em;
  color: rgba(255,255,255,.8);
  margin-bottom: 6px;
  line-height: 1.8;
  text-shadow: none;
}
.cec-hero-sub strong {
  display: block;
  font-family: var(--display);
  font-size: clamp(16px, 1.8vw, 22px);
  font-weight: 800;
  color: #3dff70;
  text-shadow: 0 0 20px rgba(61,255,112,.45), 0 0 50px rgba(61,255,112,.15);
  letter-spacing: -.01em;
  margin-top: 10px;
  margin-bottom: 40px;
  line-height: 1.1;
  text-transform: uppercase;
}

.cec-hero-ctas {
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
}

.cec-hero-bottom {
  position: absolute;
  bottom: 32px;
  left: 0;
  right: 0;
  display: flex;
  justify-content: space-between;
  padding: 0 48px;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .15em;
  color: #2a2a2a;
  z-index: 2;
}
.cec-hero-scroll {
  animation: cec-blink 2s ease-in-out infinite;
}
@keyframes cec-blink {
  0%, 100% { opacity: 1; }
  50%       { opacity: .3; }
}

/* ============================================
   BUTTONS
   ============================================ */
.cec-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .2em;
  padding: 16px 36px;
  transition: all .2s;
  cursor: pointer;
  border: none;
  text-decoration: none;
}
.cec-btn-primary {
  background: #3dff70;
  color: #040804;
  box-shadow: 0 0 28px rgba(61,255,112,.35);
}
.cec-btn-primary:hover {
  background: #5fff8a;
  box-shadow: 0 0 48px rgba(61,255,112,.55);
  gap: 16px;
}
.cec-btn-ghost {
  background: transparent;
  color: #3dff70;
  border: 1px solid rgba(61,255,112,.4);
}
.cec-btn-ghost:hover {
  color: #3dff70;
  border-color: #3dff70;
  background: rgba(61,255,112,.06);
}
.cec-btn-outline {
  background: transparent;
  color: var(--silver);
  border: 1px solid rgba(192,192,192,.22);
}
.cec-btn-outline:hover {
  background: rgba(192,192,192,.06);
  border-color: var(--silver);
}

/* ============================================
   SECTIONS
   ============================================ */
.cec-section { padding: 100px 0; }

.cec-container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 48px;
}

.cec-section-header {
  text-align: center;
  margin-bottom: 64px;
}
.cec-section-header--row {
  text-align: left;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 48px;
}

.cec-section-label {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .3em;
  color: var(--silver);
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  opacity: .8;
}
.cec-section-label::before,
.cec-section-label::after {
  content: '';
  flex: 0 0 40px;
  height: 1px;
  background: var(--border);
}
.cec-section-header--row .cec-section-label::before,
.cec-section-header--row .cec-section-label::after { display: none; }

.cec-section-title {
  font-family: var(--display);
  font-size: clamp(32px, 5vw, 64px);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.02em;
  color: var(--text);
  margin-bottom: 16px;
}

.cec-section-sub {
  font-size: 14px;
  color: var(--muted);
  font-family: var(--mono);
  letter-spacing: .08em;
}

.cec-section-cta { text-align: center; margin-top: 56px; }

/* ============================================
   PRODUCTS GRID
   ============================================ */
.cec-products-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2px;
}
.cec-products-grid--3 {
  grid-template-columns: repeat(3, 1fr);
}
.cec-products-grid--2 {
  grid-template-columns: repeat(2, 1fr);
  max-width: 700px;
}

/* ============================================
   PRODUCT CARD — Shopify-style
   ============================================ */
.cec-product-card {
  background: #050505;
  border: 1px solid var(--border);
  transition: border-color .3s, box-shadow .3s;
  display: flex;
  flex-direction: column;
}
.cec-product-card:hover {
  border-color: rgba(61,255,112,.45);
  box-shadow: 0 0 40px rgba(61,255,112,.15), 0 0 80px rgba(61,255,112,.07), inset 0 0 0 1px rgba(61,255,112,.1);
}

/* Artifact code label */
.cec-product-artifact {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .18em;
  color: #404040;
  padding: 10px 18px 8px;
  border-bottom: 1px solid #161616;
  transition: color .3s;
}
.cec-product-card:hover .cec-product-artifact { color: rgba(61,255,112,.4); }

/* Image wrap */
.cec-product-img-wrap {
  aspect-ratio: 1;
  display: block;
  position: relative;
  overflow: hidden;
  background: #050505;
}
.cec-product-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
}
.cec-product-card:hover .cec-product-img-wrap img { transform: scale(1.03); }

/* SCAN LINE */
.cec-product-img-wrap::before {
  content: '';
  position: absolute;
  left: 0; top: -4px;
  width: 100%; height: 2px;
  background: linear-gradient(90deg, transparent 0%, rgba(61,255,112,.4) 25%, #3dff70 50%, rgba(61,255,112,.4) 75%, transparent 100%);
  box-shadow: 0 0 12px rgba(61,255,112,.9), 0 0 28px rgba(61,255,112,.4);
  z-index: 10; pointer-events: none; opacity: 0;
}
.cec-product-card:hover .cec-product-img-wrap::before {
  animation: cec-img-scan .85s ease-out forwards;
}
@keyframes cec-img-scan {
  0%   { top: -2px; opacity: 1; }
  72%  { opacity: 1; }
  100% { top: 100%; opacity: 0; }
}

/* GREEN AURA — outer glow on hover */
.cec-product-card:hover .cec-product-img-wrap {
  box-shadow: 0 0 50px rgba(61,255,112,.22), 0 0 100px rgba(61,255,112,.09);
}

/* CORNER MARKERS */
.cec-corner {
  position: absolute;
  width: 10px; height: 10px;
  pointer-events: none; z-index: 15;
  opacity: 0; transition: opacity .25s;
}
.cec-corner--tl { top: 8px; left: 8px;   border-top: 1.5px solid #3dff70; border-left: 1.5px solid #3dff70; }
.cec-corner--tr { top: 8px; right: 8px;  border-top: 1.5px solid #3dff70; border-right: 1.5px solid #3dff70; }
.cec-corner--bl { bottom: 8px; left: 8px;  border-bottom: 1.5px solid #3dff70; border-left: 1.5px solid #3dff70; }
.cec-corner--br { bottom: 8px; right: 8px; border-bottom: 1.5px solid #3dff70; border-right: 1.5px solid #3dff70; }
.cec-product-card:hover .cec-corner { opacity: 1; }

/* Placeholder for products without image */
.cec-product-img-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .15em;
  color: #2a2a2a;
}

/* SALE badge — top right, classified-stamp style */
.cec-product-badge {
  position: absolute;
  top: 10px; right: 10px; left: auto;
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: .2em;
  background: rgba(4, 8, 4, 0.9);
  color: #3dff70;
  border: 1px solid rgba(61,255,112,.55);
  padding: 4px 10px;
  font-weight: 700;
  z-index: 2;
}

/* Product info section */
.cec-product-info {
  padding: 16px 18px 18px;
  display: flex;
  flex-direction: column;
  flex: 1;
}

.cec-product-name {
  font-family: var(--heading);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -.01em;
  margin-bottom: 8px;
  line-height: 1.2;
  color: #ffffff;
}
.cec-product-name a { transition: color .2s; }
.cec-product-name a:hover { color: #3dff70; }

/* GREEN price — matches Shopify */
.cec-product-price {
  font-family: var(--mono);
  font-size: 18px;
  color: #3dff70;
  letter-spacing: .02em;
  margin-bottom: 10px;
}
.cec-product-price del {
  color: rgba(61,255,112,.38);
  margin-left: 8px;
  font-size: 14px;
  text-decoration: line-through;
}
.cec-product-price ins { text-decoration: none; color: #3dff70; }
.woocommerce-Price-amount bdi { color: inherit; }

/* Status label */
.cec-product-status {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .18em;
  color: #707070;
  margin-bottom: 12px;
}
.cec-product-status span { color: #3dff70; }

/* Size / Color swatches */
.cec-swatches-wrap { margin-bottom: 12px; }
.cec-swatches-label {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .15em;
  color: #606060;
  margin-bottom: 6px;
}
.cec-swatches-list { display: flex; flex-wrap: wrap; gap: 5px; }
.cec-swatch {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .06em;
  color: #707070;
  border: 1px solid #252525;
  padding: 4px 8px;
  cursor: pointer;
  transition: border-color .15s, color .15s, background .15s;
  user-select: none;
}
.cec-swatch.active, .cec-swatch:hover {
  border-color: #3dff70;
  color: #3dff70;
  background: rgba(61,255,112,.06);
}
.cec-swatch-more {
  font-family: var(--mono);
  font-size: 9px;
  color: #404040;
  padding: 4px 6px;
  border: 1px solid #1e1e1e;
}

/* Action buttons */
.cec-product-btns {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: auto;
  padding-top: 14px;
}
.cec-atc-btn {
  display: block;
  width: 100%;
  background: transparent;
  border: 1px solid #3dff70;
  color: #3dff70;
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .22em;
  padding: 13px 16px;
  text-align: center;
  cursor: pointer;
  transition: background .2s, color .2s;
  text-decoration: none;
}
.cec-atc-btn:hover { background: #3dff70; color: #040804; }
.cec-atc-btn:disabled { opacity: .5; cursor: not-allowed; }

.cec-btn-view-details {
  display: block;
  width: 100%;
  text-align: center;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .22em;
  color: #606060;
  border: 1px solid #1e1e1e;
  padding: 12px 16px;
  transition: border-color .2s, color .2s;
  text-decoration: none;
}
.cec-btn-view-details:hover { color: #c0c0c0; border-color: #404040; }

/* Old overlay — kept for compatibility but hidden in new cards */
.cec-product-overlay { display: none; }
.cec-product-case { display: none; }

/* ============================================
   CASE FILES
   ============================================ */
.cec-cases-meta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .1em;
  color: var(--muted);
  margin-top: 12px;
}
.cec-dot { opacity: .3; }
.cec-signal-badge { color: var(--silver2); }

.cec-cases-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
}

.cec-case-card {
  background: var(--card);
  border: 1px solid var(--border);
  padding: 40px 36px;
  position: relative;
  overflow: hidden;
  transition: border-color .3s, background .3s;
  cursor: pointer;
}
.cec-case-card:hover { border-color: var(--accent2); background: #161616; }
.cec-case-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: var(--silver);
  box-shadow: 0 0 12px rgba(192,192,192,.45);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .4s;
}
.cec-case-card:hover::before { transform: scaleX(1); }

.cec-case-top {
  display: flex;
  justify-content: space-between;
  margin-bottom: 28px;
}
.cec-case-num {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .2em;
  color: var(--muted);
}
.cec-case-class {
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: .15em;
  color: var(--red);
  border: 1px solid rgba(204,51,51,.3);
  padding: 3px 8px;
}

.cec-case-tag {
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: .15em;
  color: var(--silver);
  background: rgba(192,192,192,.06);
  border: 1px solid rgba(192,192,192,.14);
  padding: 4px 10px;
  display: inline-block;
  margin-bottom: 16px;
}

.cec-case-title {
  font-size: 26px;
  font-weight: 700;
  letter-spacing: -.01em;
  margin-bottom: 8px;
  line-height: 1.1;
  color: var(--text);
}

.cec-case-coords {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .15em;
  color: var(--muted);
  margin-bottom: 20px;
}

.cec-case-desc {
  font-size: 13px;
  color: #808080;
  line-height: 1.7;
  margin-bottom: 28px;
}

.cec-case-link {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .15em;
  color: var(--silver);
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: gap .2s;
}
.cec-case-card:hover .cec-case-link { gap: 14px; }

/* ============================================
   ARCHIVE / BLOG
   ============================================ */
.cec-archive { background: var(--black); }

.cec-archive-hud {
  display: flex;
  justify-content: center;
  gap: 40px;
  padding: 20px 48px;
  border-bottom: 1px solid var(--border);
  flex-wrap: wrap;
}
.cec-archive-hud span {
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: .25em;
  color: var(--muted);
  opacity: .5;
}

.cec-archive-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2px;
}

.cec-archive-card {
  background: var(--card);
  border: 1px solid var(--border);
  overflow: hidden;
  transition: border-color .3s;
}
.cec-archive-card:hover { border-color: var(--accent2); }

.cec-archive-img {
  aspect-ratio: 16/9;
  background-color: #111111;
  background-size: cover;
  background-position: center;
  position: relative;
}
.cec-archive-img--empty {
  display: flex;
  align-items: center;
  justify-content: center;
}
.cec-archive-img--empty span {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .15em;
  color: #2a2a2a;
}

.cec-archive-body { padding: 24px; }

.cec-archive-meta {
  display: flex;
  gap: 12px;
  align-items: center;
  margin-bottom: 12px;
}
.cec-archive-class {
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: .12em;
  color: var(--red);
  border: 1px solid rgba(204,51,51,.25);
  padding: 2px 8px;
}
.cec-archive-file {
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: .12em;
  color: var(--muted);
}

.cec-archive-title {
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -.01em;
  line-height: 1.3;
  margin-bottom: 10px;
  color: var(--text);
}

.cec-archive-excerpt {
  font-size: 12px;
  color: var(--muted);
  line-height: 1.7;
  margin-bottom: 20px;
}

/* ============================================
   REVIEWS
   ============================================ */
.cec-reviews-rating {
  font-family: var(--mono);
  font-size: 13px;
  color: var(--silver);
  letter-spacing: .1em;
  margin-top: 8px;
}

.cec-reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
}

.cec-review-card {
  background: var(--card);
  border: 1px solid var(--border);
  padding: 28px 24px;
  transition: border-color .3s;
  display: flex;
  flex-direction: column;
}
.cec-review-card:hover { border-color: var(--accent); }

.cec-review-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 18px;
}
.cec-review-signal {
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: .18em;
  color: var(--accent);
  opacity: .7;
}
.cec-review-stars {
  color: var(--silver);
  font-size: 11px;
  letter-spacing: 2px;
}

.cec-review-text {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.8;
  margin-bottom: 20px;
  font-style: italic;
}

.cec-review-author {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid var(--border);
  padding-top: 16px;
}
.cec-review-name {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .12em;
  color: var(--text);
}
.cec-review-date {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .08em;
  color: var(--muted);
}

/* ============================================
   COLLECTOR'S EDITION
   ============================================ */
.cec-collector { background: var(--black); }

/* ============================================
   LIMITED RELEASE ROSWELL 47
   ============================================ */
.cec-limited-release {
  position: relative;
  min-height: 70vh;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  overflow: hidden;
}
.cec-lr-bg {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 90% 70% at 50% 50%, #1a0a0a 0%, #0a0a0a 60%, #000 100%);
  z-index: 0;
}
.cec-lr-overlay {
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(0deg, transparent, transparent 28px, rgba(230,53,88,.04) 29px),
    repeating-linear-gradient(90deg, transparent, transparent 28px, rgba(230,53,88,.04) 29px);
  z-index: 1;
  pointer-events: none;
}
.cec-lr-content {
  position: relative;
  z-index: 2;
  padding: 80px 24px;
  max-width: 680px;
}
.cec-lr-eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .26em;
  color: rgba(230,53,88,.6);
  margin-bottom: 28px;
}
.cec-lr-rule {
  flex: 1;
  max-width: 60px;
  height: 1px;
  background: rgba(230,53,88,.3);
}
.cec-lr-title {
  font-family: var(--display);
  font-size: clamp(36px, 6vw, 80px);
  font-weight: 800;
  line-height: .88;
  letter-spacing: -.04em;
  color: var(--text);
  margin-bottom: 20px;
}
.cec-lr-title em {
  font-style: normal;
  color: transparent;
  -webkit-text-stroke: 1.5px #e63558;
  text-shadow: 0 0 30px rgba(230,53,88,.3), 0 0 60px rgba(230,53,88,.1);
  display: block;
}
.cec-lr-sub {
  font-family: var(--mono);
  font-size: 13px;
  letter-spacing: .14em;
  color: rgba(255,255,255,.55);
  margin-bottom: 36px;
}

/* ============================================
   FAQ
   ============================================ */
.cec-faq { background: #0c160c !important; }

.cec-faq-header { text-align: center; margin-bottom: 48px; }

.cec-faq-eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .2em;
  color: #3dff70;
  margin-bottom: 20px;
}
.cec-faq-rule-line {
  display: inline-block;
  width: 50px;
  height: 1px;
  background: rgba(61,255,112,.5);
  flex-shrink: 0;
}
.cec-faq-main-title {
  font-family: var(--display);
  font-size: clamp(36px, 5.5vw, 70px);
  font-weight: 800;
  color: #ffffff;
  letter-spacing: -.02em;
  line-height: 1;
}

.cec-faq-list {
  max-width: 720px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.cec-faq-item {
  border: 1px solid rgba(61,255,112,.14);
  background: rgba(6,14,6,.8);
  transition: border-color .25s;
}
.cec-faq-item.open {
  border-color: rgba(61,255,112,.4);
  border-left-width: 2px;
  border-left-color: #3dff70;
}

.cec-faq-q {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  background: none;
  border: none;
  color: rgba(255,255,255,.82);
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .14em;
  cursor: pointer;
  text-align: left;
  transition: color .2s;
}
.cec-faq-q:hover { color: #ffffff; }
.cec-faq-q-text { flex: 1; }

.cec-faq-icon {
  font-family: var(--mono);
  font-size: 20px;
  color: #3dff70;
  transition: none;
  flex-shrink: 0;
  margin-left: 20px;
  line-height: 1;
}

.cec-faq-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height .4s ease;
}
.cec-faq-item.open .cec-faq-a { max-height: 300px; }

.cec-faq-a p {
  padding: 0 24px 24px;
  font-family: var(--sans);
  font-size: 14px;
  color: rgba(255,255,255,.6);
  line-height: 1.78;
}

/* ============================================
   CASE FILES SLIDER (homepage)
   ============================================ */
.cec-caseslider {
  position: relative;
  height: 100vh;
  overflow: hidden;
  background: #050505;
  user-select: none;
}
.cec-cs-wrap { position: relative; height: 100%; }

.cec-cs-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity .8s ease;
  pointer-events: none;
}
.cec-cs-slide--active { opacity: 1; pointer-events: auto; }

.cec-cs-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transform: scale(1.06);
  transition: transform 8s ease;
}
.cec-cs-slide--active .cec-cs-bg { transform: scale(1); }

.cec-cs-overlay {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 55%, rgba(0,0,0,.25) 0%, rgba(0,0,0,.72) 100%);
}

/* HUD corners */
.cec-cs-hud-tl,
.cec-cs-hud-tr {
  position: absolute;
  top: 28px;
  z-index: 3;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .15em;
  color: rgba(61,255,112,.6);
  display: flex;
  flex-direction: column;
  gap: 4px;
  pointer-events: none;
}
.cec-cs-hud-tl { left: 40px; }
.cec-cs-hud-tr { right: 40px; text-align: right; }

/* Center content */
.cec-cs-content {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 2;
  text-align: center;
  padding: 0 48px;
}
.cec-cs-badge {
  display: inline-block;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .2em;
  color: #3dff70;
  border: 1px solid rgba(61,255,112,.55);
  padding: 5px 14px;
  background: rgba(4,14,4,.7);
  margin-bottom: 14px;
}
.cec-cs-file {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .22em;
  color: rgba(61,255,112,.65);
  margin-bottom: 18px;
}
.cec-cs-title {
  font-family: 'Press Start 2P', monospace;
  font-size: clamp(11px, 1.1vw, 16px);
  font-weight: 400;
  color: #ffffff;
  line-height: 1.6;
  letter-spacing: .02em;
  margin-bottom: 18px;
  max-width: 760px;
}
.cec-cs-meta {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .22em;
  color: #3dff70;
  margin-bottom: 30px;
}
.cec-cs-cta {
  display: inline-block;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .2em;
  color: #3dff70;
  border: 1px solid rgba(61,255,112,.5);
  padding: 14px 32px;
  background: rgba(4,14,4,.5);
  transition: background .2s, border-color .2s, color .2s;
}
.cec-cs-cta:hover { background: rgba(61,255,112,.12); border-color: #3dff70; color: #fff; }

/* Nav buttons */
.cec-cs-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 4;
  background: rgba(4,14,4,.6);
  border: 1px solid rgba(61,255,112,.3);
  color: #3dff70;
  font-family: var(--mono);
  font-size: 18px;
  width: 48px;
  height: 48px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .2s, border-color .2s;
  flex-shrink: 0;
}
.cec-cs-nav:hover { background: rgba(61,255,112,.14); border-color: #3dff70; }
.cec-cs-nav--prev { left: 24px; }
.cec-cs-nav--next { right: 24px; }

/* Footer (dots + counter) */
.cec-cs-footer {
  position: absolute;
  bottom: 28px;
  left: 0; right: 0;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 0 40px;
}
.cec-cs-dots {
  display: flex;
  gap: 8px;
  align-items: center;
}
.cec-cs-dot {
  width: 20px;
  height: 3px;
  background: rgba(61,255,112,.28);
  cursor: pointer;
  transition: background .3s, width .3s;
}
.cec-cs-dot.active { background: #3dff70; width: 34px; }
.cec-cs-counter {
  position: absolute;
  right: 40px;
  bottom: 0;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .14em;
  color: rgba(61,255,112,.5);
}

@media (max-width: 768px) {
  .cec-caseslider { height: 85vh; }
  .cec-cs-hud-tl, .cec-cs-hud-tr { display: none; }
  .cec-cs-title { font-size: clamp(9px, 2.4vw, 13px) !important; line-height: 1.7; }
  .cec-cs-nav { width: 38px; height: 38px; font-size: 14px; }
}

/* ============================================
   LIMITED RELEASE CTA
   ============================================ */
.cec-limited {
  position: relative;
  padding: 120px 48px;
  text-align: center;
  overflow: hidden;
}
.cec-limited-bg {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 80% at 50% 50%, #141414 0%, var(--black) 70%);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.cec-limited-content { position: relative; z-index: 2; }
.cec-limited-title {
  font-family: var(--display);
  font-size: clamp(40px, 7vw, 96px);
  font-weight: 800;
  line-height: .92;
  letter-spacing: -.02em;
  margin: 16px 0 24px;
}
.cec-limited-title em {
  font-style: normal;
  color: var(--silver);
  text-shadow: 0 0 40px rgba(192,192,192,.28);
  display: block;
}
.cec-limited-sub {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .2em;
  color: var(--muted);
  margin-bottom: 40px;
}

/* ============================================
   NEWSLETTER
   ============================================ */
.cec-newsletter {
  position: relative;
  padding: 120px 0;
  text-align: center;
  overflow: hidden;
  background: var(--dark);
}

.cec-newsletter-rings {
  position: absolute;
  top: 50%;
  left: 50%;
}
.cec-ring {
  position: absolute;
  border: 1px solid rgba(192,192,192,.06);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  animation: cec-ring 3s ease-in-out infinite;
}
.cec-ring:nth-child(1) { width: 600px; height: 600px; }
.cec-ring:nth-child(2) { width: 400px; height: 400px; animation-delay: 1s; }
.cec-ring:nth-child(3) { width: 200px; height: 200px; animation-delay: 2s; border-color: rgba(192,192,192,.12); }
@keyframes cec-ring {
  0%, 100% { opacity: 1; transform: translate(-50%,-50%) scale(1); }
  50%       { opacity: .3; transform: translate(-50%,-50%) scale(1.04); }
}

.cec-newsletter-inner { position: relative; z-index: 2; max-width: 560px; margin: 0 auto; padding: 0 48px; }

.cec-newsletter-title {
  font-size: clamp(28px, 4vw, 48px);
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1.05;
  margin: 16px 0 16px;
}

.cec-newsletter-sub {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .1em;
  color: var(--muted);
  line-height: 2;
  margin-bottom: 36px;
}
.cec-newsletter-sub strong { color: var(--silver2); }

.cec-newsletter-form {
  display: flex;
  max-width: 440px;
  margin: 0 auto;
}
.cec-newsletter-input {
  flex: 1;
  background: var(--card);
  border: 1px solid var(--border);
  border-right: 0;
  padding: 14px 20px;
  font-family: var(--mono);
  font-size: 11px;
  color: var(--text);
  outline: none;
  transition: border-color .2s;
}
.cec-newsletter-input:focus { border-color: var(--accent2); }
.cec-newsletter-input::placeholder { color: #2a2a2a; }

.cec-newsletter-confirm {
  display: none;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 32px;
  border: 1px solid rgba(192,192,192,.18);
  background: rgba(192,192,192,.04);
}
.cec-newsletter-confirm.visible { display: flex; }
.cec-confirm-icon { font-size: 32px; color: var(--silver2); }
.cec-confirm-title { font-family: var(--mono); font-size: 14px; letter-spacing: .2em; color: var(--silver2); }
.cec-confirm-code { font-family: var(--mono); font-size: 20px; letter-spacing: .15em; color: var(--text); }
.cec-confirm-code strong { color: var(--silver2); }
.cec-newsletter-confirm p { font-size: 13px; color: var(--muted); }
.cec-newsletter-confirm p strong { color: var(--silver2); }

/* ============================================
   FOOTER
   ============================================ */
.cec-footer {
  background: var(--black);
  border-top: 1px solid var(--border);
}
.cec-footer-inner {
  max-width: 1400px;
  margin: 0 auto;
  padding: 48px 48px 36px;
}

/* Signal decoration */
.cec-footer-signal {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 48px;
}
.cec-footer-signal-line {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(61,255,112,.2), transparent);
}
.cec-footer-signal span {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .28em;
  color: rgba(61,255,112,.35);
  white-space: nowrap;
}

.cec-footer-top {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 48px;
  margin-bottom: 40px;
  padding-bottom: 40px;
  border-bottom: 1px solid var(--border);
}

.cec-footer-logo {
  font-family: var(--mono);
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .25em;
  color: var(--accent);
  text-shadow: 0 0 20px rgba(192,192,192,.3);
  margin-bottom: 14px;
}
.cec-footer-brand p { font-size: 13px; color: #505050; line-height: 1.9; max-width: 260px; margin-bottom: 20px; }

/* Social links in brand col */
.cec-footer-socials {
  display: flex;
  gap: 10px;
}
.cec-footer-social-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  color: rgba(255,255,255,.28);
  border: 1px solid rgba(255,255,255,.1);
  transition: color .2s, border-color .2s, background .2s;
}
.cec-footer-social-btn:hover {
  color: var(--green);
  border-color: rgba(61,255,112,.35);
  background: rgba(61,255,112,.05);
}

.cec-footer-col h4 {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .3em;
  color: var(--silver);
  opacity: .5;
  margin-bottom: 18px;
}
.cec-footer-col a {
  display: block;
  font-size: 13px;
  color: #484848;
  margin-bottom: 10px;
  transition: color .2s;
}
.cec-footer-col a:hover { color: var(--text); }

.cec-footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}
.cec-footer-bottom span {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .1em;
  color: #282828;
}
.cec-footer-coords { color: rgba(61,255,112,.2) !important; }

/* ============================================
   WOOCOMMERCE NOTICES (cart messages)
   ============================================ */
.woocommerce-notices-wrapper {
  position: sticky;
  top: 60px;
  z-index: 999;
  width: 100%;
}
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
  background: #0d1a0d !important;
  border: none !important;
  border-bottom: 1px solid rgba(61,255,112,.25) !important;
  border-top: 2px solid var(--green) !important;
  color: rgba(255,255,255,.75) !important;
  font-family: var(--mono) !important;
  font-size: 11px !important;
  letter-spacing: .08em !important;
  padding: 14px 48px !important;
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  margin: 0 !important;
  border-radius: 0 !important;
}
.woocommerce-message::before { display: none !important; }
.woocommerce-message a.button,
.woocommerce-message .button,
.woocommerce-error a.button,
.woocommerce-info a.button {
  background: transparent !important;
  border: 1px solid rgba(61,255,112,.45) !important;
  color: var(--green) !important;
  font-family: var(--mono) !important;
  font-size: 10px !important;
  letter-spacing: .14em !important;
  padding: 6px 16px !important;
  border-radius: 0 !important;
  float: none !important;
  white-space: nowrap !important;
  margin: 0 !important;
}
.woocommerce-message a.button:hover { background: rgba(61,255,112,.1) !important; }

/* ADD TO CART in product grid — override WooCommerce .button defaults */
.woocommerce a.cec-sp-cart,
.woocommerce a.cec-sp-cart.button,
.woocommerce .cec-sp-cart.button,
.woocommerce ul.products li.product a.cec-sp-cart,
.cec-shop-grid a.cec-sp-cart,
.cec-sp-cart {
  background: rgba(61,255,112,.08) !important;
  border: 1px solid rgba(61,255,112,.6) !important;
  color: var(--green) !important;
  font-family: var(--mono) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  padding: 9px 10px !important;
  width: 100% !important;
  text-align: center !important;
  display: block !important;
  box-sizing: border-box !important;
  transition: background .2s, border-color .2s !important;
  line-height: normal !important;
}
.woocommerce a.cec-sp-cart:hover,
.woocommerce a.cec-sp-cart.button:hover,
.woocommerce .cec-sp-cart.button:hover,
.cec-shop-grid a.cec-sp-cart:hover,
.cec-sp-cart:hover {
  background: rgba(61,255,112,.18) !important;
  border-color: var(--green) !important;
  color: var(--green) !important;
}

/* ============================================
   WOOCOMMERCE WRAPPERS
   ============================================ */
.cec-woo-wrap {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 48px 80px;
}

/* Shop archive title */
.cec-woo-wrap .woocommerce-products-header {
  padding: 60px 0 0;
  margin-bottom: 0;
}

.cec-woo-wrap .woocommerce-products-header__title,
.cec-woo-wrap h1.page-title {
  font-family: var(--heading);
  font-size: clamp(28px, 4vw, 52px);
  font-weight: 900;
  letter-spacing: -.02em;
  color: var(--text);
  margin-bottom: 32px;
}

/* Result count + ordering bar */
.cec-woo-wrap .woocommerce-result-count,
.woocommerce-result-count {
  display: none !important;
}

.cec-woo-wrap .woocommerce-ordering {
  display: none;
}

/* Filter bar (from functions.php hook) */
.cec-shop-filters {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  margin-bottom: 36px;
  border-bottom: 1px solid var(--border);
}

.cec-shop-filters::-webkit-scrollbar { display: none; }

.cec-shop-filters-inner {
  display: flex;
  gap: 0;
  min-width: max-content;
}

.cec-filter-btn {
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--muted);
  padding: 12px 24px;
  border-bottom: 2px solid transparent;
  transition: color .2s, border-color .2s;
  white-space: nowrap;
  cursor: pointer;
}

.cec-filter-btn:hover { color: var(--text); }
.cec-filter-btn.active { color: var(--green); border-bottom-color: var(--green); }

/* ============================================
   SHOP GRID — SHOPIFY STYLE (3 col)
   ============================================ */
.cec-shop-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  background: transparent;
  border: none;
}

/* ── SHOP PRODUCT CARD (Shopify clone) ── */
.cec-sp-artifact {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .18em;
  color: rgba(61,255,112,.5);
  padding: 10px 12px 0;
  text-transform: uppercase;
}

.cec-sp-status {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .12em;
  color: rgba(61,255,112,.7);
  text-transform: uppercase;
}
.cec-sp-status--oos { color: #666; }

.cec-sp-card {
  background: var(--black);
  display: flex;
  flex-direction: column;
  border: 1px solid #1c2b1c;
  transition: background .2s, border-color .2s;
}

.cec-sp-card:hover { background: #090909; border-color: rgba(61,255,112,.35); }

/* Image */
.cec-sp-img-wrap {
  display: block;
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #080808;
}

.cec-sp-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: transform .6s ease;
  padding: 0;
}

.cec-sp-card:hover .cec-sp-img-wrap img { transform: scale(1.04); }

.cec-sp-no-img {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #0d0d0d;
}

.cec-sp-no-img span {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .15em;
  color: #2a2a2a;
  text-transform: uppercase;
}

/* Badges */
.cec-sp-sale,
.cec-sp-soldout {
  position: absolute;
  bottom: 12px;
  left: 12px;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .18em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 3px;
  font-weight: 700;
  z-index: 5;
}

.cec-sp-sale {
  background: rgba(0,0,0,.85);
  color: var(--green);
  border: 1px solid rgba(61,255,112,.45);
}

.cec-sp-soldout {
  background: rgba(0,0,0,.85);
  color: #888;
  border: 1px solid #333;
}

/* Scan on hover */
.cec-sp-img-wrap::after {
  content: '';
  position: absolute;
  left: 0; top: -2px;
  width: 100%; height: 2px;
  background: linear-gradient(90deg, transparent 0%, rgba(61,255,112,.5) 30%, #3dff70 50%, rgba(61,255,112,.5) 70%, transparent 100%);
  box-shadow: 0 0 14px rgba(61,255,112,.8);
  z-index: 10; opacity: 0; pointer-events: none;
}

.cec-sp-card:hover .cec-sp-img-wrap::after {
  animation: cec-sp-scan .7s ease-out forwards;
}

@keyframes cec-sp-scan {
  0%   { top: -2px; opacity: 1; }
  70%  { opacity: 1; }
  100% { top: 101%; opacity: 0; }
}

/* Info below image */
.cec-sp-info {
  padding: 14px 14px 8px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.cec-sp-name {
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .10em;
  line-height: 1.35;
  margin: 0;
}

.cec-sp-name a {
  color: var(--text);
  text-decoration: none;
  transition: color .2s;
}

.cec-sp-name a:hover { color: var(--green); }

/* Price */
.cec-sp-price {
  font-family: var(--mono);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
}

.cec-sp-price .woocommerce-Price-amount {
  color: var(--green);
}

.cec-sp-price del .woocommerce-Price-amount {
  color: #555;
  text-decoration: line-through;
}

.cec-sp-price del { margin-right: 4px; }

.cec-sp-price ins {
  text-decoration: none;
  font-style: normal;
}

/* CHOOSE OPTIONS / ADD TO CART button */
.cec-sp-btn {
  display: block;
  width: 100%;
  padding: 12px 16px;
  border: 1px solid rgba(61,255,112,.4);
  color: var(--green);
  background: transparent;
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none;
  border-radius: 4px;
  transition: background .2s, border-color .2s, color .2s;
  margin-top: auto;
  cursor: pointer;
}

.cec-sp-btn:hover {
  background: rgba(61,255,112,.08);
  border-color: var(--green);
  color: var(--green);
}

/* Two-button actions row */
.cec-sp-actions {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 0 14px 14px;
}

.cec-sp-view {
  display: block;
  width: 100%;
  padding: 9px 10px;
  border: 1px solid rgba(255,255,255,.14);
  color: rgba(255,255,255,.45);
  background: transparent;
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none;
  transition: color .2s, border-color .2s;
  box-sizing: border-box;
}
.cec-sp-view:hover { color: #fff; border-color: rgba(255,255,255,.35); }

.cec-sp-cart {
  display: block;
  width: 100%;
  padding: 9px 10px;
  border: 1px solid rgba(61,255,112,.6);
  color: var(--green);
  background: rgba(61,255,112,.08);
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background .2s, border-color .2s;
  box-sizing: border-box;
  border-radius: 0;
}
.cec-sp-cart:hover,
.cec-sp-cart:focus { background: rgba(61,255,112,.08); border-color: var(--green); color: var(--green); }
.cec-sp-cart--oos { opacity: .4; cursor: default; }
.cec-sp-cart.loading { opacity: .6; pointer-events: none; }

/* =============================================
   QUICK ADD MODAL
   ============================================= */
.cec-quick-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.cec-quick-modal[hidden] { display: none; }
.cec-quick-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.88);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.cec-quick-panel {
  position: relative;
  z-index: 1;
  background: #080808;
  border: 1px solid rgba(61,255,112,.2);
  max-width: 700px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
}
.cec-quick-close {
  position: absolute;
  top: 14px;
  right: 14px;
  background: none;
  border: none;
  color: rgba(255,255,255,.35);
  font-size: 22px;
  cursor: pointer;
  z-index: 2;
  padding: 4px 8px;
  line-height: 1;
  transition: color .2s;
}
.cec-quick-close:hover { color: #fff; }
.cec-quick-body {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.cec-quick-loading {
  grid-column: 1 / -1;
  padding: 60px 40px;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .16em;
  color: rgba(61,255,112,.35);
  text-align: center;
}
.cec-quick-img {
  background: #050505;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1/1;
  overflow: hidden;
}
.cec-quick-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 24px;
}
.cec-quick-info {
  padding: 36px 28px 28px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.cec-quick-name {
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1em;
  color: #fff;
  text-transform: uppercase;
  margin: 0;
  padding-right: 28px;
  line-height: 1.4;
}
.cec-quick-price { font-family: var(--mono); font-size: 14px; }
.cec-quick-price .woocommerce-Price-amount { color: var(--green); }
.cec-quick-price del .woocommerce-Price-amount { color: #555; }
.cec-quick-price ins { text-decoration: none; }

/* WooCommerce form inside modal */
.cec-quick-info .variations_form .variations { width: 100%; border: none; }
.cec-quick-info .variations_form .variations td,
.cec-quick-info .variations_form .variations th { padding: 5px 0; border: none; }
.cec-quick-info .variations_form label {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .16em;
  color: rgba(255,255,255,.4);
  text-transform: uppercase;
  display: block;
  margin-bottom: 4px;
}
.cec-quick-info .variations_form select,
.cec-quick-info .cart .qty {
  width: 100%;
  background: #111;
  border: 1px solid rgba(255,255,255,.12);
  color: #fff;
  font-family: var(--mono);
  font-size: 12px;
  padding: 10px 12px;
  -webkit-appearance: auto;
  appearance: auto;
}
.cec-quick-info .woocommerce-variation-add-to-cart,
.cec-quick-info .cart { display: flex; flex-direction: column; gap: 8px; margin-top: 4px; }
.cec-quick-info .cart .qty { display: none; }
.cec-quick-info .single_add_to_cart_button,
.cec-quick-info button[type="submit"] {
  display: block;
  width: 100%;
  padding: 13px;
  background: transparent;
  border: 1px solid var(--green);
  color: var(--green);
  font-family: var(--mono);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background .2s;
}
.cec-quick-info .single_add_to_cart_button:hover { background: rgba(61,255,112,.08); }
.cec-quick-info .reset_variations { font-size: 9px; color: rgba(255,255,255,.25); font-family: var(--mono); text-decoration: none; letter-spacing: .1em; }

body.cec-no-scroll { overflow: hidden; }

@media (max-width: 600px) {
  .cec-quick-body { grid-template-columns: 1fr; }
  .cec-quick-img { max-height: 240px; }
  .cec-quick-info { padding: 20px; }
}

/* Nav Alien DNA link */
.cec-nav-dna {
  position: relative;
}

.cec-nav-dna::before {
  content: '✦';
  font-size: 8px;
  margin-right: 4px;
  opacity: .7;
}

/* Pagination */
.cec-woo-wrap .woocommerce-pagination {
  margin-top: 48px;
  display: flex;
  justify-content: center;
}

.cec-woo-wrap .woocommerce-pagination ul {
  display: flex;
  gap: 4px;
  list-style: none;
  padding: 0; margin: 0;
}

.cec-woo-wrap .woocommerce-pagination ul li a,
.cec-woo-wrap .woocommerce-pagination ul li span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px; height: 36px;
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: .05em;
  color: var(--muted);
  border: 1px solid var(--border);
  border-radius: 4px;
  transition: border-color .2s, color .2s;
}

.cec-woo-wrap .woocommerce-pagination ul li a:hover { color: var(--green); border-color: rgba(61,255,112,.4); }
.cec-woo-wrap .woocommerce-pagination ul li span.current { color: var(--green); border-color: var(--green); }

/* ============================================
   RESPONSIVE
   ============================================ */
@media (max-width: 1024px) {
  .cec-products-grid { grid-template-columns: repeat(2, 1fr); }
  .cec-cases-grid    { grid-template-columns: 1fr 1fr; }
  .cec-archive-grid  { grid-template-columns: repeat(2, 1fr); }
  .cec-reviews-grid  { grid-template-columns: repeat(2, 1fr); }
  .cec-footer-top    { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 960px) {
  .cec-ufo-scene { width: 230px; }
}

@media (max-width: 768px) {
  .cec-header-inner { padding: 0 20px; }
  .cec-nav { display: none; }
  .cec-menu-toggle { display: flex; }
  .cec-container { padding: 0 20px; }

  /* Hero */
  .cec-hero { padding: 80px 0 60px; min-height: 90vh; }
  .cec-hero-hud { display: none; }
  .cec-hero-bottom { padding: 0 20px; font-size: 7px; }
  .cec-hero-ctas { flex-direction: column; align-items: center; }
  .cec-hero-ctas .cec-btn { width: 100%; max-width: 320px; justify-content: center; }
  .cec-ufo-scene { width: 200px; }

  /* Sections */
  .cec-section { padding: 60px 0; }
  .cec-section-header { margin-bottom: 40px; }
  .cec-section-header--row { flex-direction: column; align-items: flex-start; gap: 16px; }

  /* Grids */
  .cec-products-grid { grid-template-columns: repeat(2, 1fr); }
  .cec-products-grid--3 { grid-template-columns: 1fr 1fr; }
  .cec-cases-grid { grid-template-columns: 1fr; }
  .cec-archive-grid { grid-template-columns: 1fr 1fr; }
  .cec-reviews-grid { grid-template-columns: 1fr; }

  /* Capsules */
  .cec-capsula { padding: 48px 0; }
  .cec-capsula-header { flex-direction: column; align-items: flex-start; gap: 12px; }
  .cec-capsula-label { flex-direction: column; gap: 6px; }
  .cec-capsula-link { align-self: flex-end; }

  /* Case cards */
  .cec-case-card { padding: 28px 20px; }

  /* Limited */
  .cec-limited { padding: 80px 20px; }

  /* Newsletter */
  .cec-newsletter { padding: 80px 0; }
  .cec-newsletter-inner { padding: 0 20px; }
  .cec-newsletter-form { flex-direction: column; }
  .cec-newsletter-input { border-right: 1px solid var(--border); border-bottom: 0; }

  /* Footer */
  .cec-footer-inner { padding: 40px 20px 28px; }
  .cec-footer-signal { margin-bottom: 36px; }
  .cec-footer-top { grid-template-columns: 1fr 1fr 1fr; gap: 32px 20px; }
  .cec-footer-brand { grid-column: 1 / -1; padding-bottom: 28px; border-bottom: 1px solid rgba(255,255,255,.05); }
  .cec-footer-brand p { max-width: none; font-size: 12px; }
  .cec-footer-bottom { flex-direction: column; align-items: flex-start; gap: 8px; }

  /* WooCommerce notices — fix 48px side padding on mobile */
  .woocommerce-message,
  .woocommerce-error,
  .woocommerce-info {
    padding: 12px 16px !important;
    font-size: 10px !important;
    flex-wrap: wrap;
    gap: 8px !important;
  }
  .woocommerce-notices-wrapper { top: 56px; }

  /* WooCommerce */
  .cec-woo-wrap { padding: 0 12px 60px; }
  .cec-shop-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .cec-sp-info { padding: 10px 12px 12px; gap: 5px; }
  .cec-sp-name { font-size: 10px; }
  .cec-sp-price { font-size: 11px; }
  .cec-sp-btn { padding: 9px 12px; font-size: 10px; }

  /* Archive */
  .cec-archive-hud { padding: 16px 20px; gap: 20px; }
}

@media (max-width: 480px) {
  .cec-products-grid { grid-template-columns: 1fr; }
  .cec-products-grid--3 { grid-template-columns: 1fr; }
  .cec-archive-grid { grid-template-columns: 1fr; }
  .cec-footer-top { grid-template-columns: 1fr 1fr; gap: 24px 16px; }
  .cec-footer-col h4 { margin-bottom: 12px; }
  .cec-footer-col a { font-size: 12px; margin-bottom: 8px; }
  .cec-hero-title { letter-spacing: -.03em; }
  .cec-hero-kicker { font-size: 9px; }
  .cec-hero-sub { font-size: 10px; }
  .cec-section-title { font-size: clamp(26px, 8vw, 48px); }
  .cec-limited-title { font-size: clamp(32px, 10vw, 60px); }
  .cec-case-card { padding: 24px 16px; }
  .cec-product-info { padding: 16px; }
  /* Shop grid 2 cols on mobile */
  .cec-shop-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 8px !important; }
}

@media (max-width: 360px) {
  .cec-mobile-menu a { font-size: 15px; letter-spacing: .18em; padding: 15px 20px; }
  .cec-footer-top { grid-template-columns: 1fr; }
}

/* ============================================
   CAPSULAS
   ============================================ */
.cec-capsulas { background: var(--black); }

.cec-capsula { padding: 72px 0; }

.cec-capsula-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 40px;
  gap: 24px;
}

.cec-capsula-label {
  display: flex;
  align-items: baseline;
  gap: 20px;
  flex-wrap: wrap;
}

.cec-capsula-num {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .2em;
  color: var(--silver2);
}

.cec-capsula-title {
  font-family: var(--display);
  font-size: clamp(20px, 3vw, 36px);
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--text);
  line-height: 1;
}

/* Per-incident capsule title colors */
.cec-capsula--roswell          .cec-capsula-title { color: transparent; -webkit-text-stroke: 1.5px #e63558; text-shadow: 0 0 16px rgba(230,53,88,.4), 0 0 38px rgba(230,53,88,.12); }
.cec-capsula--rendlesham       .cec-capsula-title { color: transparent; -webkit-text-stroke: 1.5px #3dff70; text-shadow: 0 0 16px rgba(61,255,112,.4), 0 0 38px rgba(61,255,112,.12); }
.cec-capsula--reptilian        .cec-capsula-title { color: transparent; -webkit-text-stroke: 1.5px #3dff70; text-shadow: 0 0 16px rgba(61,255,112,.4), 0 0 38px rgba(61,255,112,.12); }
.cec-capsula--grey             .cec-capsula-title { color: transparent; -webkit-text-stroke: 1.5px #c0c0c0; text-shadow: 0 0 16px rgba(192,192,192,.4), 0 0 38px rgba(192,192,192,.12); }
.cec-capsula--closeencounters  .cec-capsula-title { color: transparent; -webkit-text-stroke: 1.5px #e8e8e8; text-shadow: 0 0 16px rgba(230,230,230,.4), 0 0 38px rgba(230,230,230,.12); }

@keyframes cec-abduct {
  0%   { transform: translateY(0)    scale(1);   opacity: 1; }
  100% { transform: translateY(-140px) scale(0.1); opacity: 0; }
}

.cec-capsula-year {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .18em;
  color: var(--silver2);
  white-space: nowrap;
}

.cec-capsula-link {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .18em;
  color: var(--silver2);
  transition: color .2s;
  white-space: nowrap;
  flex-shrink: 0;
}
.cec-capsula-link:hover { color: var(--text); }

.cec-capsula-divider {
  height: 1px;
  background: var(--border);
}

/* Remove old section labels from capsula sections */
.cec-capsulas .cec-section-label { display: none; }

/* Tighten product cards in capsule context */
.cec-capsula .cec-product-info { padding: 16px 0; }
.cec-capsula .cec-product-case { display: none; }

/* Archive adjustments */
.cec-archive-card .cec-archive-body { padding: 20px 0; }
.cec-archive-img--empty {
  background: #111;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #2a2a2a;
  font-size: 32px;
}

/* Newsletter adjustments */
.cec-newsletter-title {
  font-family: var(--display);
  font-size: clamp(26px, 3.2vw, 42px);
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: .95;
  margin: 20px 0 20px;
  color: var(--text);
}

/* ============================================
   NEWSLETTER POPUP
   ============================================ */
#cec-popup {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .35s ease;
}
#cec-popup.is-open {
  opacity: 1;
  pointer-events: all;
}
#cec-popup .cec-popup-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.78);
  backdrop-filter: blur(4px);
}
.cec-popup-box {
  position: relative;
  z-index: 1;
  background: #0a0e0a;
  border: 1px solid rgba(61,255,112,.25);
  padding: 52px 48px 44px;
  max-width: 460px;
  width: 100%;
  text-align: center;
  transform: translateY(20px);
  transition: transform .35s ease;
}
#cec-popup.is-open .cec-popup-box { transform: translateY(0); }
.cec-popup-close {
  position: absolute;
  top: 16px; right: 18px;
  background: none; border: none;
  color: var(--muted);
  font-size: 16px;
  cursor: pointer;
  line-height: 1;
  transition: color .2s;
}
.cec-popup-close:hover { color: var(--text); }
.cec-popup-eyebrow {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .22em;
  color: rgba(61,255,112,.6);
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.cec-popup-rule {
  flex: 1;
  height: 1px;
  background: rgba(61,255,112,.25);
  max-width: 40px;
}
.cec-popup-title {
  font-family: var(--display);
  font-size: clamp(30px, 6vw, 48px);
  font-weight: 800;
  line-height: .9;
  letter-spacing: -.03em;
  color: var(--text);
  margin-bottom: 16px;
}
.cec-popup-sub {
  font-size: 12px;
  color: var(--muted);
  line-height: 1.7;
  margin-bottom: 28px;
}
.cec-popup-input {
  width: 100%;
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.12);
  color: var(--text);
  padding: 12px 16px;
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: .06em;
  outline: none;
  transition: border-color .2s;
}
.cec-popup-input:focus { border-color: rgba(61,255,112,.45); }
.cec-popup-input::placeholder { color: rgba(255,255,255,.3); }
.cec-popup-error {
  font-family: var(--mono);
  font-size: 10px;
  color: #ff5555;
  letter-spacing: .06em;
  margin-top: 4px;
}
.cec-popup-fine {
  font-size: 9px;
  color: rgba(255,255,255,.25);
  letter-spacing: .1em;
  margin-top: 14px;
}
.cec-popup-success-label {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .2em;
  color: rgba(61,255,112,.7);
  margin-bottom: 10px;
}
.cec-popup-code {
  font-family: var(--display);
  font-size: clamp(40px, 9vw, 72px);
  font-weight: 800;
  letter-spacing: .05em;
  color: #3dff70;
  line-height: 1;
  margin: 8px 0 20px;
}

/* ============================================
   DOCUMENTED ENCOUNTERS SECTION
   ============================================ */
.cec-enc-cases {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 2px;
  margin-bottom: 48px;
}
.cec-enc-case {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 28px 24px;
  border: 1px solid var(--border);
  text-align: center;
}
.cec-enc-year {
  font-family: var(--mono);
  font-size: 32px;
  font-weight: 500;
  color: var(--text);
  letter-spacing: -.02em;
  line-height: 1;
}
.cec-enc-name {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .18em;
  color: var(--text);
  margin-top: 8px;
}
.cec-enc-loc {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .12em;
  color: var(--muted);
}
.cec-enc-stats {
  display: flex;
  justify-content: center;
  gap: 64px;
  padding: 28px 0 0;
  border-top: 1px solid var(--border);
}
.cec-enc-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}
.cec-enc-stat-num {
  font-family: var(--mono);
  font-size: 18px;
  font-weight: 500;
  color: var(--text);
  letter-spacing: .04em;
}
.cec-enc-stat-label {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .14em;
  color: var(--muted);
}

/* ============================================
   ABOUT PAGE
   ============================================ */
/* ============================================
   ABOUT PAGE — REDESIGNED
   ============================================ */
.cec-about-page { background: var(--black); }

/* Hero */
.cec-about-hero {
  position: relative;
  min-height: 80vh;
  display: flex; align-items: flex-end;
  overflow: hidden;
}
.cec-about-eyebrow {
  display: flex;
  align-items: center;
  gap: 16px;
  justify-content: center;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .22em;
  color: rgba(61,255,112,.6);
  margin-bottom: 24px;
}
.cec-about-rule {
  flex: 1;
  max-width: 60px;
  height: 1px;
  background: rgba(61,255,112,.3);
}
.cec-about-title {
  font-family: var(--display);
  font-size: clamp(36px, 6vw, 80px);
  font-weight: 800;
  letter-spacing: -.03em;
  line-height: .9;
  margin-bottom: 20px;
}
.cec-about-sub {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .2em;
  color: var(--muted);
}
.cec-about-body {
  max-width: 1100px;
  margin: 0 auto;
  padding: 64px 24px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
}
.cec-about-lead {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.5;
  margin-bottom: 20px;
  color: var(--text);
}
.cec-about-col--main p {
  font-size: 14px;
  color: var(--muted);
  line-height: 1.8;
  margin-bottom: 14px;
}
.cec-about-col--stats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
}
.cec-about-stat {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 24px;
  border: 1px solid var(--border);
}
.cec-about-stat-num {
  font-family: var(--display);
  font-size: 28px;
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--text);
}
.cec-about-stat-label {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .14em;
  color: var(--muted);
}
.cec-about-incidents {
  background: var(--black);
  padding: 64px 24px;
}
.cec-about-incidents-grid {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 2px;
}
.cec-about-incident-card {
  padding: 28px 24px;
  border: 1px solid var(--border);
  transition: border-color .3s;
}
.cec-about-incident-card:hover { border-color: rgba(61,255,112,.3); }
.cec-about-inc-year {
  font-family: var(--mono);
  font-size: 28px;
  font-weight: 500;
  color: var(--text);
  display: block;
  margin-bottom: 8px;
}
.cec-about-inc-name {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .14em;
  color: var(--text);
  margin-bottom: 4px;
}
.cec-about-inc-loc {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .1em;
  color: rgba(61,255,112,.6);
  margin-bottom: 12px;
}
.cec-about-inc-desc {
  font-size: 12px;
  color: var(--muted);
  line-height: 1.7;
}
.cec-about-cta {
  text-align: center;
  padding: 64px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}
.cec-about-cta h2 {
  font-family: var(--display);
  font-size: clamp(28px,4vw,52px);
  font-weight: 800;
  letter-spacing: -.03em;
}
.cec-about-cta .cec-btn { display: inline-block; }

.cec-about-hero-bg {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse 100% 80% at 50% 0%, rgba(61,255,112,.06), transparent 70%),
              linear-gradient(180deg, rgba(6,10,6,.3) 0%, rgba(6,10,6,.92) 100%);
}
.cec-about-hero-grid {
  position: absolute; inset: 0;
  background-image: linear-gradient(rgba(61,255,112,.04) 1px, transparent 1px),
                    linear-gradient(90deg, rgba(61,255,112,.04) 1px, transparent 1px);
  background-size: 40px 40px;
}
.cec-about-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to bottom, transparent 40%, var(--black) 100%);
}
.cec-about-hero-inner {
  position: relative; z-index: 2;
  padding: 140px 48px 80px;
  max-width: 1100px; margin: 0 auto; width: 100%;
}
.cec-about-hud {
  display: flex; gap: 32px; margin-bottom: 32px;
  font-family: var(--mono); font-size: 9px; letter-spacing: .22em;
  color: rgba(61,255,112,.45);
}
.cec-about-title {
  font-family: var(--display);
  font-size: clamp(52px, 9vw, 130px);
  font-weight: 900; letter-spacing: -.04em; line-height: .85;
  color: var(--text); margin-bottom: 28px;
}
.cec-about-coords {
  font-family: var(--mono); font-size: 10px; letter-spacing: .18em;
  color: rgba(61,255,112,.4); margin-top: 16px;
}

/* Manifesto */
.cec-about-manifesto {
  padding: 80px 48px;
  border-top: 1px solid rgba(61,255,112,.1);
  border-bottom: 1px solid rgba(61,255,112,.1);
  background: rgba(61,255,112,.02);
}
.cec-about-manifesto-inner { max-width: 760px; margin: 0 auto; }
.cec-about-manifesto-label {
  font-family: var(--mono); font-size: 9px; letter-spacing: .24em;
  color: rgba(61,255,112,.5); margin-bottom: 28px;
}
.cec-about-manifesto-text {
  font-family: var(--display); font-size: clamp(32px, 4vw, 56px);
  font-weight: 900; letter-spacing: -.03em; line-height: .9;
  color: var(--text); margin-bottom: 32px;
}
.cec-about-manifesto-body {
  font-size: 16px; line-height: 1.85; color: rgba(255,255,255,.65);
  margin-bottom: 16px;
}
.cec-about-manifesto-body strong { color: var(--text); }

/* Stats */
.cec-about-stats { padding: 0; }
.cec-about-stats-grid {
  display: grid; grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--border);
}
.cec-about-stat {
  display: flex; flex-direction: column; gap: 8px;
  padding: 40px 32px;
  border-right: 1px solid var(--border);
}
.cec-about-stat:last-child { border-right: none; }
.cec-about-stat-num {
  font-family: var(--display); font-size: clamp(28px, 3.5vw, 48px);
  font-weight: 900; letter-spacing: -.02em; color: var(--text);
}
.cec-about-stat-active { color: #3dff70 !important; }
.cec-about-stat-label {
  font-family: var(--mono); font-size: 9px; letter-spacing: .16em; color: var(--muted);
}

/* Incidents */
.cec-about-incidents {
  background: var(--dark); padding: 96px 48px;
}
.cec-about-incidents-header {
  text-align: center; max-width: 700px; margin: 0 auto 64px;
}
.cec-about-incidents-title {
  font-family: var(--display); font-size: clamp(28px, 4vw, 52px);
  font-weight: 900; letter-spacing: -.03em; color: var(--text); margin-top: 20px;
}
.cec-about-incidents-grid {
  max-width: 1100px; margin: 0 auto;
  display: grid; grid-template-columns: repeat(3,1fr); gap: 2px;
}
.cec-about-incident-card {
  padding: 32px 28px; border: 1px solid var(--border);
  background: rgba(255,255,255,.01);
  transition: border-color .3s, background .3s; position: relative; overflow: hidden;
}
.cec-about-incident-card:hover {
  border-color: rgba(61,255,112,.35); background: rgba(61,255,112,.03);
}
.cec-about-inc-top {
  display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 12px;
}
.cec-about-inc-year {
  font-family: var(--display); font-size: 40px; font-weight: 900;
  letter-spacing: -.04em; color: var(--text);
}
.cec-about-inc-num {
  font-family: var(--mono); font-size: 9px; letter-spacing: .16em;
  color: rgba(61,255,112,.4);
}
.cec-about-inc-name {
  font-family: var(--display); font-size: 13px; font-weight: 800;
  letter-spacing: .04em; color: var(--text); margin-bottom: 6px;
}
.cec-about-inc-loc {
  font-family: var(--mono); font-size: 9px; letter-spacing: .12em;
  color: rgba(61,255,112,.6); margin-bottom: 14px;
}
.cec-about-inc-desc {
  font-size: 12px; color: var(--muted); line-height: 1.75;
}
.cec-about-inc-bar {
  position: absolute; bottom: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, rgba(61,255,112,.4), transparent);
  transform: scaleX(0); transform-origin: left; transition: transform .4s ease;
}
.cec-about-incident-card:hover .cec-about-inc-bar { transform: scaleX(1); }

/* Mission CTA */
.cec-about-mission {
  padding: 96px 48px;
  text-align: center;
  border-top: 1px solid rgba(61,255,112,.1);
  background: radial-gradient(ellipse 80% 60% at 50% 50%, rgba(61,255,112,.04), transparent 70%);
}
.cec-about-mission-inner { max-width: 700px; margin: 0 auto; }
.cec-about-mission-label {
  font-family: var(--mono); font-size: 9px; letter-spacing: .24em;
  color: rgba(61,255,112,.5); margin-bottom: 24px;
}
.cec-about-mission-title {
  font-family: var(--display); font-size: clamp(40px, 7vw, 96px);
  font-weight: 900; letter-spacing: -.04em; line-height: .85;
  color: var(--text); margin-bottom: 28px;
}
.cec-about-mission-body {
  font-size: 15px; color: rgba(255,255,255,.55); line-height: 1.85; margin-bottom: 40px;
}
.cec-about-mission-ctas { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }

/* About responsive */
@media (max-width: 768px) {
  .cec-about-hero-inner { padding: 120px 20px 64px; }
  .cec-about-title { font-size: clamp(44px, 12vw, 80px); }
  .cec-about-hud { flex-direction: column; gap: 6px; }
  .cec-about-manifesto { padding: 60px 20px; }
  .cec-about-stats-grid { grid-template-columns: repeat(2, 1fr); }
  .cec-about-stat { border-bottom: 1px solid var(--border); padding: 28px 20px; }
  .cec-about-stat:nth-child(2) { border-right: none; }
  .cec-about-incidents { padding: 64px 20px; }
  .cec-about-incidents-grid { grid-template-columns: 1fr; gap: 2px; }
  .cec-about-incident-card { padding: 24px 20px; }
  .cec-about-inc-year { font-size: 32px; }
  .cec-about-mission { padding: 64px 20px; }
  .cec-about-mission-ctas { flex-direction: column; align-items: center; }
  .cec-about-mission-ctas .cec-btn { width: 100%; max-width: 300px; text-align: center; justify-content: center; }
}
@media (max-width: 480px) {
  .cec-about-stats-grid { grid-template-columns: 1fr 1fr; }
  .cec-about-stat:nth-child(odd) { border-right: 1px solid var(--border); }
  .cec-about-stat:nth-child(even) { border-right: none; }
}

/* ============================================
   CART DRAWER
   ============================================ */
.cec-cart-drawer-overlay {
  position: fixed; inset: 0; background: rgba(0,0,0,.6);
  z-index: 9998; opacity: 0; pointer-events: none;
  transition: opacity .3s ease;
}
.cec-cart-drawer-overlay.open { opacity: 1; pointer-events: auto; }

.cec-cart-drawer {
  position: fixed; top: 0; right: 0; bottom: 0;
  width: min(420px, 100vw);
  background: #0a0f0a;
  border-left: 1px solid rgba(61,255,112,.15);
  z-index: 9999;
  display: flex; flex-direction: column;
  transform: translateX(100%);
  transition: transform .35s cubic-bezier(.4,0,.2,1);
}
.cec-cart-drawer.open { transform: translateX(0); }

.cec-cart-drawer-head {
  display: flex; align-items: center; justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid rgba(61,255,112,.1);
  flex-shrink: 0;
}
.cec-cart-drawer-title {
  font-family: var(--mono); font-size: 11px; letter-spacing: .22em;
  color: rgba(61,255,112,.8);
}
.cec-cart-drawer-close {
  background: none; border: none; cursor: pointer;
  font-size: 18px; color: var(--muted); line-height: 1;
  padding: 4px 8px; transition: color .2s;
}
.cec-cart-drawer-close:hover { color: var(--text); }

.cec-cart-drawer-body {
  flex: 1; overflow-y: auto; padding: 0;
}
.cec-cart-drawer-body::-webkit-scrollbar { width: 4px; }
.cec-cart-drawer-body::-webkit-scrollbar-track { background: transparent; }
.cec-cart-drawer-body::-webkit-scrollbar-thumb { background: rgba(61,255,112,.2); }

.cec-drawer-item {
  display: grid; grid-template-columns: 80px 1fr auto;
  gap: 14px; align-items: start;
  padding: 18px 24px;
  border-bottom: 1px solid rgba(255,255,255,.05);
}
.cec-drawer-item-img {
  width: 80px; height: 80px; object-fit: cover;
  background: rgba(255,255,255,.04);
}
.cec-drawer-item-name {
  font-family: var(--mono); font-size: 10px; letter-spacing: .1em;
  color: var(--text); margin-bottom: 6px; text-transform: uppercase;
}
.cec-drawer-item-meta {
  font-family: var(--mono); font-size: 9px; letter-spacing: .08em;
  color: var(--muted); margin-bottom: 10px;
}
.cec-drawer-item-price {
  font-family: var(--mono); font-size: 11px; color: rgba(61,255,112,.9);
}
.cec-drawer-item-remove {
  background: none; border: none; cursor: pointer;
  font-size: 14px; color: var(--muted); padding: 0; transition: color .2s;
}
.cec-drawer-item-remove:hover { color: #e63558; }

.cec-cart-drawer-empty {
  display: flex; flex-direction: column; align-items: center;
  justify-content: center; height: 200px; gap: 12px;
  font-family: var(--mono); font-size: 10px; letter-spacing: .18em;
  color: var(--muted); text-align: center; padding: 24px;
}

.cec-cart-drawer-foot {
  padding: 20px 24px; border-top: 1px solid rgba(61,255,112,.1);
  flex-shrink: 0; background: rgba(6,10,6,.95);
}
.cec-cart-drawer-subtotal {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 16px;
}
.cec-cart-drawer-subtotal-label {
  font-family: var(--mono); font-size: 9px; letter-spacing: .18em; color: var(--muted);
}
.cec-cart-drawer-subtotal-val {
  font-family: var(--mono); font-size: 14px; letter-spacing: .06em;
  font-weight: 600; color: var(--text);
}
.cec-cart-drawer-foot .cec-btn {
  width: 100%; text-align: center; justify-content: center; margin-bottom: 10px;
}
.cec-cart-drawer-foot .cec-cart-drawer-view {
  display: block; text-align: center;
  font-family: var(--mono); font-size: 9px; letter-spacing: .18em;
  color: var(--muted); text-decoration: none; transition: color .2s;
  padding: 6px;
}
.cec-cart-drawer-foot .cec-cart-drawer-view:hover { color: var(--text); }

/* ============================================
   STICKY ATC — MOBILE PRODUCT PAGE
   ============================================ */
.cec-sticky-atc {
  display: none;
  position: fixed; bottom: 0; left: 0; right: 0;
  background: rgba(6,10,6,.97);
  border-top: 1px solid rgba(61,255,112,.2);
  padding: 12px 16px;
  z-index: 8000;
  gap: 12px; align-items: center;
  backdrop-filter: blur(12px);
}
@media (max-width: 768px) {
  .cec-sticky-atc { display: flex; }
}
.cec-sticky-atc-name {
  flex: 1; font-family: var(--mono); font-size: 10px;
  letter-spacing: .1em; color: rgba(255,255,255,.6);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.cec-sticky-atc-price {
  font-family: var(--mono); font-size: 12px; color: rgba(61,255,112,.9);
  font-weight: 600; white-space: nowrap;
}
.cec-sticky-atc .cec-btn {
  padding: 11px 20px; font-size: 10px; white-space: nowrap; flex-shrink: 0;
}

/* ============================================
   CONTACT PAGE
   ============================================ */
.cec-contact-page { padding-bottom: 80px; }
.cec-contact-hero {
  text-align: center;
  padding: 80px 24px 64px;
  border-bottom: 1px solid var(--border);
}
.cec-contact-eyebrow {
  display: flex;
  align-items: center;
  gap: 16px;
  justify-content: center;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .22em;
  color: rgba(61,255,112,.6);
  margin-bottom: 24px;
}
.cec-contact-title {
  font-family: var(--display);
  font-size: clamp(48px,8vw,100px);
  font-weight: 800;
  letter-spacing: -.04em;
  line-height: .9;
  margin-bottom: 16px;
}
.cec-contact-sub {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .22em;
  color: var(--muted);
}
.cec-contact-body {
  max-width: 1100px;
  margin: 0 auto;
  padding: 64px 24px;
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 64px;
  align-items: start;
}
.cec-contact-channel {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 20px 0;
  border-bottom: 1px solid var(--border);
}
.cec-contact-channel-label {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .18em;
  color: rgba(61,255,112,.6);
}
.cec-contact-channel-val {
  font-family: var(--mono);
  font-size: 13px;
  color: var(--text);
  text-decoration: none;
  transition: color .2s;
}
.cec-contact-channel-val:hover { color: #3dff70; }
.cec-contact-note {
  margin-top: 28px;
}
.cec-contact-note p {
  font-size: 12px;
  color: var(--muted);
  line-height: 1.7;
  margin-bottom: 10px;
}
.cec-contact-form-wrap {
  background: var(--card);
  border: 1px solid var(--border);
  padding: 36px 32px;
}
.cec-cf-field { margin-bottom: 20px; }
.cec-cf-label {
  display: block;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .18em;
  color: var(--muted);
  margin-bottom: 8px;
}
.cec-cf-input {
  width: 100%;
  background: transparent;
  border: 1px solid var(--border);
  color: var(--text);
  font-family: var(--mono);
  font-size: 12px;
  padding: 12px 14px;
  outline: none;
  transition: border-color .2s;
  box-sizing: border-box;
}
.cec-cf-input:focus { border-color: rgba(61,255,112,.5); }
.cec-cf-textarea { resize: vertical; min-height: 140px; }

/* ============================================
   POLICY PAGES
   ============================================ */
.cec-policy-page {
  max-width: 800px;
  margin: 0 auto;
  padding: 64px 24px 80px;
}
.cec-policy-hero {
  margin-bottom: 48px;
  border-bottom: 1px solid var(--border);
  padding-bottom: 36px;
}
.cec-policy-eyebrow {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .22em;
  color: rgba(61,255,112,.6);
  margin-bottom: 16px;
}
.cec-policy-title {
  font-family: var(--display);
  font-size: clamp(32px, 5vw, 56px);
  font-weight: 800;
  letter-spacing: -.03em;
}
.cec-policy-content h2 {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .18em;
  color: var(--green);
  margin: 36px 0 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--border);
  font-weight: 400;
  text-transform: uppercase;
}
.cec-policy-content h2::before {
  content: "// ";
  opacity: 0.5;
}
.cec-policy-content ul {
  list-style: none;
  padding: 0;
  margin: 0 0 14px;
}
.cec-policy-content ul li {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.8;
  padding-left: 18px;
  position: relative;
}
.cec-policy-content ul li::before {
  content: ">";
  color: var(--green);
  position: absolute;
  left: 0;
  opacity: 0.7;
}
.cec-policy-content p {
  font-size: 13px;
  color: var(--muted);
  line-height: 1.8;
  margin-bottom: 14px;
}
.cec-policy-content strong { color: var(--text); }

@media (max-width: 768px) {
  .cec-popup-box { padding: 44px 24px 36px; }
  .cec-enc-cases { grid-template-columns: 1fr; }
  .cec-enc-stats { gap: 28px; flex-wrap: wrap; justify-content: center; }
  .cec-about-body { grid-template-columns: 1fr; gap: 40px; }
  .cec-about-incidents-grid { grid-template-columns: 1fr; }
  .cec-contact-body { grid-template-columns: 1fr; gap: 40px; }
}

/* ============================================
   UFO HERO SCENE (SVG-based)
   ============================================ */
.cec-ufo-scene {
  display: block;
  width: 300px;
  margin: 0 auto 28px;
  cursor: crosshair;
  animation: ufo-hover 6s ease-in-out infinite;
  user-select: none;
}
.cec-ufo-svg { width: 100%; height: auto; display: block; }
.cec-ufo-hint {
  text-align: center;
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: .28em;
  color: rgba(61,255,112,.35);
  margin: 0 0 8px;
  transition: color .3s;
}
.cec-ufo-scene:hover .cec-ufo-hint { color: rgba(61,255,112,.7); }

/* Running lights */
.cec-la { animation: lb 1.2s ease-in-out infinite; }
.cec-lb { animation: lb 1.6s .5s ease-in-out infinite; }
@keyframes lb { 0%,100%{opacity:1}50%{opacity:.08} }

/* Laser: hidden by default */
.cec-laser-beam  { opacity: 0; pointer-events: none; }
.cec-impact-rings { pointer-events: none; }
.cec-r1,.cec-r2,.cec-r3 { opacity: 0; }

/* Laser FIRING state */
.cec-ufo-scene.cec-firing .cec-laser-beam {
  animation: laser-on 1.5s ease-out forwards;
}
.cec-ufo-scene.cec-firing .cec-r1 {
  animation: ring-exp 1.5s .08s ease-out forwards;
}
.cec-ufo-scene.cec-firing .cec-r2 {
  animation: ring-exp 1.5s .22s ease-out forwards;
}
.cec-ufo-scene.cec-firing .cec-r3 {
  animation: ring-exp 1.5s .38s ease-out forwards;
}

@keyframes laser-on {
  0%   { opacity: 0; }
  8%   { opacity: 1; }
  75%  { opacity: 1; }
  100% { opacity: 0; }
}
@keyframes ring-exp {
  0%   { opacity: 0;   transform: scale(.05); }
  20%  { opacity: .9;  transform: scale(.05); }
  65%  { opacity: .55; transform: scale(1); }
  100% { opacity: 0;   transform: scale(1.35); }
}
@keyframes ufo-hover {
  0%,100% { transform: translateY(0); }
  50%     { transform: translateY(-14px); }
}
/* ============================================
   UFO MINI-GAME
   ============================================ */

/* Persistent tractor beam under UFO */
.cec-tractor-beam {
  position: absolute;
  width: 100px;
  height: 300px;
  pointer-events: none;
  z-index: 7;
  clip-path: polygon(22% 0%, 78% 0%, 100% 100%, 0% 100%);
  background: linear-gradient(to bottom,
    rgba(61,255,112,.22) 0%,
    rgba(61,255,112,.08) 55%,
    transparent 100%);
  transition: background .15s ease, box-shadow .15s ease;
}
.cec-tractor-beam--fire {
  background: linear-gradient(to bottom,
    rgba(255,255,255,.95)  0%,
    rgba(61,255,112,.90)  5%,
    rgba(61,255,112,.55) 40%,
    rgba(61,255,112,.15) 80%,
    transparent          100%) !important;
  box-shadow: 0 0 40px rgba(61,255,112,.6), 0 0 80px rgba(61,255,112,.2);
  animation: cec-beam-blaze .65s ease-out;
}
@keyframes cec-beam-blaze {
  0%   { opacity: 1; }
  40%  { opacity: .85; }
  100% { opacity: 1; }
}

/* Score HUD */
.cec-game-hud {
  position: absolute;
  bottom: 96px;
  right: 28px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  z-index: 11;
  pointer-events: none;
}
.cec-game-hud-label {
  font-family: var(--mono);
  font-size: 7px;
  letter-spacing: .22em;
  color: rgba(61,255,112,.4);
}
.cec-game-hud-score {
  font-family: var(--mono);
  font-size: 38px;
  font-weight: 700;
  color: rgba(61,255,112,.75);
  line-height: 1;
  text-shadow: 0 0 18px rgba(61,255,112,.45);
  transition: transform .18s ease, color .18s ease, text-shadow .18s ease;
}
.cec-score-bump {
  transform: scale(1.45) !important;
  color: #ffffff !important;
  text-shadow: 0 0 28px rgba(61,255,112,.95) !important;
}
.cec-game-hud-hint {
  font-family: var(--mono);
  font-size: 7px;
  letter-spacing: .16em;
  color: rgba(255,255,255,.18);
  animation: cec-blink 2.8s ease-in-out infinite;
}

/* Hit ring on abduction */
.cec-hit-ring {
  position: absolute;
  width: 48px;
  height: 48px;
  border: 1.5px solid rgba(61,255,112,.9);
  border-radius: 50%;
  transform: translate(-50%, -50%) scale(0);
  pointer-events: none;
  z-index: 12;
  animation: cec-hit-expand .42s ease-out forwards;
}
@keyframes cec-hit-expand {
  0%   { transform: translate(-50%,-50%) scale(0);   opacity: 1; }
  100% { transform: translate(-50%,-50%) scale(3.8); opacity: 0; }
}

/* ============================================
   MOBILE MENU CLOSE BUTTON
   ============================================ */
.cec-mobile-close {
  position: absolute;
  top: 24px;
  right: 24px;
  background: none;
  border: none;
  color: var(--muted);
  font-size: 20px;
  cursor: pointer;
  padding: 8px;
  line-height: 1;
  transition: color .2s;
}
.cec-mobile-close:hover { color: var(--text); }

/* ============================================
   TRUST BADGES
   ============================================ */
.cec-trust-badges {
  display: flex;
  gap: 20px;
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid var(--border);
  flex-wrap: wrap;
}
.cec-trust-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .1em;
  color: var(--muted);
}
.cec-trust-icon {
  color: var(--silver2);
  font-size: 14px;
}

/* ============================================
   SIZE GUIDE LINK
   ============================================ */
.cec-size-guide-link {
  display: inline-block;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .15em;
  color: #808080;
  margin-bottom: 16px;
  transition: color .2s;
  border-bottom: 1px solid #2a2a2a;
  padding-bottom: 2px;
}
.cec-size-guide-link:hover { color: #f0f0f0; border-color: #606060; }

/* ============================================
   SINGLE PRODUCT PAGE
   ============================================ */

/* Single product: let the inner div handle layout, neutralize wrapper padding */
.woocommerce.single-product .cec-woo-wrap {
  padding: 0;
  max-width: none;
}

/* Layout: CSS Grid — gallery col 1, summary col 2, related full width */
.woocommerce div.product {
  display: grid !important;
  grid-template-columns: 55fr 45fr;
  grid-template-rows: auto auto;
  max-width: 1300px;
  margin: 0 auto;
  padding: 24px 24px 0;
  align-items: start;
}

.woocommerce div.product div.images,
.woocommerce div.product .woocommerce-product-gallery {
  grid-column: 1;
  grid-row: 1;
  float: none !important;
  width: auto !important;
  padding-right: 24px;
  position: sticky;
  top: 80px;
  min-width: 0;
}
.woocommerce div.product div.summary,
.woocommerce div.product .summary.entry-summary {
  grid-column: 2;
  grid-row: 1;
  float: none !important;
  width: auto !important;
  padding-bottom: 64px;
  min-width: 0;
}
.woocommerce div.product .related.products,
.woocommerce div.product .up-sells {
  grid-column: 1 / -1;
  grid-row: 2;
  width: 100%;
  flex-basis: 100%;
}

/* Gallery: outer container fills column; FlexSlider controls inner widths */
.woocommerce div.product .flexslider {
  width: 100%;
}
/* Kill WooCommerce white backgrounds on all gallery elements */
.woocommerce div.product .woocommerce-product-gallery,
.woocommerce div.product .woocommerce-product-gallery__wrapper,
.woocommerce div.product .flexslider,
.woocommerce div.product .woocommerce-product-gallery__image,
.woocommerce div.product .woocommerce-product-gallery__image--placeholder {
  background: transparent !important;
  border-color: rgba(255,255,255,.06) !important;
}
.woocommerce div.product .flex-viewport {
  background: transparent !important;
}
/* Gallery wrapper */
.woocommerce div.product .woocommerce-product-gallery__wrapper {
  border: 1px solid rgba(255,255,255,.06);
}
.woocommerce div.product .woocommerce-product-gallery__image img,
.woocommerce div.product .woocommerce-product-gallery__image--placeholder img {
  width: 100% !important;
  height: auto !important;
  object-fit: contain;
  display: block;
}
/* Kill the white zoom overlay */
.woocommerce div.product .woocommerce-product-gallery__wrapper .zoomImg {
  background: #060a06 !important;
}

/* Thumbnails */
.woocommerce div.product .flex-control-nav {
  display: flex;
  gap: 6px;
  margin-top: 8px;
  list-style: none;
  padding: 0;
}
.woocommerce div.product .flex-control-nav li { width: 72px; }
.woocommerce div.product .flex-control-nav li img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: contain;
  background: #050505;
  border: 1px solid rgba(255,255,255,.08);
  opacity: .6;
  transition: opacity .2s;
  cursor: pointer;
}
.woocommerce div.product .flex-control-nav li.flex-active img { opacity: 1; border-color: var(--green); }

/* Title */
.woocommerce div.product .product_title {
  font-family: var(--display, 'Syne', sans-serif);
  font-size: clamp(18px, 1.8vw, 26px);
  font-weight: 800;
  letter-spacing: -.01em;
  line-height: 1.15;
  color: #fff;
  margin: 8px 0 12px;
}

/* Price */
.woocommerce div.product .price {
  font-family: var(--mono);
  font-size: 22px;
  font-weight: 700;
  color: var(--green);
  margin-bottom: 16px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.woocommerce div.product .price del {
  font-size: 15px;
  color: #555;
  text-decoration: line-through;
  font-weight: 400;
}
.woocommerce div.product .price ins { text-decoration: none; }
.woocommerce div.product .price .woocommerce-Price-amount { color: inherit; }
.woocommerce div.product .price del .woocommerce-Price-amount { color: #555; }
.woocommerce span.onsale { display: none; }

/* Status line */
.cec-single-status {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .18em;
  color: var(--green);
  margin-bottom: 20px;
}
.cec-single-status--oos { color: #666; }

/* Meta (artifact/brand) */
.cec-single-meta {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 8px;
  flex-wrap: wrap;
}
.cec-single-artifact {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .16em;
  color: var(--green);
}
.cec-single-brand {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .18em;
  color: rgba(255,255,255,.3);
}

/* Hide unwanted WC elements */
.product_meta,
.woocommerce-product-rating,
.woocommerce-tabs,
.woocommerce-product-details__short-description { display: none; }

/* Variations form (size select → styled) */
.woocommerce div.product form.cart .variations {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 16px;
}
.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th { padding: 0; border: none; }
.woocommerce div.product form.cart .variations .label {
  padding-bottom: 8px;
  padding-right: 12px;
}
.woocommerce div.product form.cart .variations .label label {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .16em;
  color: rgba(255,255,255,.4);
  text-transform: uppercase;
}
.woocommerce div.product form.cart .variations select {
  width: 100%;
  background: #0d0d0d;
  border: 1px solid rgba(255,255,255,.14);
  color: #fff;
  font-family: var(--mono);
  font-size: 13px;
  padding: 12px 16px;
  -webkit-appearance: auto;
  appearance: auto;
  cursor: pointer;
}

/* Qty + ATC row */
.woocommerce div.product form.cart {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 20px;
}

/* Custom +/- stepper */
.cec-qty-wrap {
  display: inline-flex;
  align-items: stretch;
  border: 1px solid rgba(255,255,255,.18);
  width: fit-content;
}
.cec-qty-btn {
  background: transparent;
  border: none;
  color: rgba(255,255,255,.6);
  font-family: var(--mono);
  font-size: 18px;
  width: 44px;
  cursor: pointer;
  transition: color .15s, background .15s;
  line-height: 1;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cec-qty-btn:hover { color: #fff; background: rgba(255,255,255,.06); }
.cec-qty-minus { border-right: 1px solid rgba(255,255,255,.18); }
.cec-qty-plus  { border-left:  1px solid rgba(255,255,255,.18); }
.cec-qty-wrap .qty {
  width: 48px;
  text-align: center;
  background: transparent;
  border: none;
  color: #fff;
  font-family: var(--mono);
  font-size: 14px;
  padding: 12px 0;
  -moz-appearance: textfield;
}
.cec-qty-wrap .qty::-webkit-inner-spin-button,
.cec-qty-wrap .qty::-webkit-outer-spin-button { -webkit-appearance: none; }

/* ADD TO CART button */
.woocommerce div.product form.cart .single_add_to_cart_button {
  display: block;
  width: 100%;
  padding: 16px;
  background: rgba(61,255,112,.12);
  border: 1px solid var(--green);
  color: var(--green);
  font-family: var(--mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  text-align: center;
  cursor: pointer;
  transition: background .2s;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover {
  background: rgba(61,255,112,.22);
}

/* "// CLASSIFIED FILE NOTES" */
.cec-single-file-notes {
  margin-top: 28px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.07);
}
.cec-single-file-label {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .22em;
  color: rgba(61,255,112,.5);
  margin-bottom: 14px;
}
.cec-single-file-body {
  font-family: var(--sans, 'Inter', sans-serif);
  font-size: 14px;
  line-height: 1.8;
  color: rgba(255,255,255,.55);
}
.cec-single-file-body p { margin-bottom: 10px; }
.cec-single-file-body ul {
  padding-left: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.cec-single-file-body ul li::before {
  content: '— ';
  color: rgba(61,255,112,.4);
}

/* Related products section — full width row below image+summary */
.woocommerce div.product .related.products {
  width: 100%;
  flex-basis: 100%;
  padding: 48px;
  border-top: 1px solid rgba(255,255,255,.06);
  margin-top: 0;
}
.woocommerce div.product .related.products > h2 {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .2em;
  color: rgba(255,255,255,.3);
  margin-bottom: 28px;
  font-weight: 400;
}
.woocommerce div.product .related.products .cec-shop-grid {
  grid-template-columns: repeat(4, 1fr) !important;
}

/* Mobile single product */
@media (max-width: 768px) {
  .woocommerce div.product {
    grid-template-columns: 1fr !important;
    padding: 0;
  }
  .woocommerce div.product div.images,
  .woocommerce div.product .woocommerce-product-gallery {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    padding-right: 0;
    position: static;
  }
  .woocommerce div.product div.summary,
  .woocommerce div.product div.summary,
  .woocommerce div.product .summary.entry-summary {
    grid-column: 1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    padding: 24px 20px 48px;
  }
  .woocommerce div.product .related.products,
  .woocommerce div.product .up-sells {
    grid-row: 3 !important;
  }
  .woocommerce div.product .related.products {
    padding: 32px 20px;
  }
  .woocommerce div.product .related.products .cec-shop-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ============================================
   SHOP FILTERS
   ============================================ */
.cec-shop-filters {
  border-bottom: 1px solid var(--border);
  margin-bottom: 40px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  position: relative;
}
.cec-shop-filters::-webkit-scrollbar { display: none; }
.cec-shop-filters::after {
  content: '';
  position: absolute;
  top: 0; right: 0; bottom: 1px;
  width: 48px;
  background: linear-gradient(to right, transparent, var(--black));
  pointer-events: none;
  z-index: 1;
}
.cec-shop-filters-inner {
  display: flex;
  gap: 0;
  min-width: max-content;
}
.cec-filter-btn {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .2em;
  color: var(--muted);
  padding: 16px 28px;
  border-bottom: 2px solid transparent;
  transition: color .2s, border-color .2s;
  white-space: nowrap;
}
.cec-filter-btn:hover { color: var(--text); }
.cec-filter-btn.active {
  color: var(--text);
  border-bottom-color: var(--silver);
}

@media (max-width: 600px) {
  .cec-shop-filters { margin-bottom: 24px; }
  .cec-filter-btn { padding: 11px 16px; font-size: 9px; letter-spacing: .14em; }
}

/* ============================================
   STICKY ADD-TO-BAG (mobile single product)
   ============================================ */
.cec-sticky-atc {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(8,8,8,.97);
  border-top: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 20px 20px;
  z-index: 500;
  transform: translateY(100%);
  transition: transform .3s ease;
  backdrop-filter: blur(12px);
}
.cec-sticky-atc.visible { transform: translateY(0); }
.cec-sticky-atc-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
}
.cec-sticky-atc-btn {
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .2em;
  background: var(--silver);
  color: #080808;
  border: none;
  padding: 12px 24px;
  cursor: pointer;
  white-space: nowrap;
  flex-shrink: 0;
  transition: background .2s;
}
.cec-sticky-atc-btn:hover { background: #fff; }

/* ============================================
   UFO PLASMA BOLTS — multi-direction on click
   ============================================ */
.cec-plasma-bolt {
  position: fixed;
  width: 2px;
  height: 0;
  transform-origin: top center;
  z-index: 9998;
  pointer-events: none;
  background: linear-gradient(to bottom, #ffffff 0%, #3dff70 15%, rgba(61,255,112,.5) 60%, transparent 100%);
  box-shadow: 0 0 8px rgba(61,255,112,.9), 0 0 20px rgba(61,255,112,.4);
  animation: cec-bolt-out 700ms ease-out forwards;
}
@keyframes cec-bolt-out {
  0%   { height: 0; opacity: 1; }
  25%  { opacity: 1; }
  100% { height: var(--bolt-len, 280px); opacity: 0; }
}

/* ============================================
   404
   ============================================ */
.cec-404 {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  text-align: center;
  padding: 80px 48px;
}
.cec-404-content { position: relative; z-index: 2; }
.cec-404-code {
  font-family: var(--mono);
  font-size: clamp(80px, 15vw, 200px);
  font-weight: 700;
  letter-spacing: -.04em;
  color: var(--border);
  line-height: 1;
  margin-bottom: 24px;
}
.cec-404-title {
  font-size: clamp(28px, 5vw, 60px);
  font-weight: 700;
  letter-spacing: -.02em;
  margin-bottom: 16px;
  color: var(--text);
}
.cec-404-sub {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .25em;
  color: var(--silver2);
  margin-bottom: 48px;
  line-height: 2;
}
.cec-404-actions { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
/* ============================================
   CASE FILES — BLOG ARCHIVE (overlay card design)
   ============================================ */

/* ── Page shell ── */
.cec-cf-page { background: #000; min-height: 100vh; }

/* ── Hero ── */
.cec-cf-hero {
  position: relative;
  padding: 120px 24px 80px;
  text-align: center;
  overflow: hidden;
  border-bottom: 1px solid rgba(61,255,112,.08);
}
.cec-cf-grid-bg {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(61,255,112,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(61,255,112,.025) 1px, transparent 1px);
  background-size: 48px 48px;
  pointer-events: none;
}
.cec-cf-grid-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 80% 80% at 50% 50%, transparent 40%, #000 100%);
}
.cec-cf-hero-inner { position: relative; z-index: 2; }
.cec-cf-hero-tag {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .22em;
  color: var(--green);
  margin-bottom: 24px;
}
.cec-cf-line { flex: 0 0 40px; height: 1px; background: rgba(61,255,112,.3); display: inline-block; }
.cec-cf-hero-title {
  font-family: var(--display);
  font-size: clamp(52px, 10vw, 112px);
  font-weight: 900;
  letter-spacing: -.03em;
  line-height: .9;
  color: #fff;
  margin-bottom: 24px;
}
.cec-cf-hero-title em { font-style: normal; color: var(--green); }
.cec-cf-hero-sub {
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: .1em;
  color: var(--silver2);
  max-width: 480px;
  margin: 0 auto;
  line-height: 1.7;
}

/* ── Grid section ── */
.cec-cf-grid-section {
  padding: 60px 24px 100px;
  max-width: 1200px;
  margin: 0 auto;
}
.cec-cf-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

/* ── Overlay cards ── */
.cec-cf-card {
  position: relative;
  aspect-ratio: 2/3;
  overflow: hidden;
  background: #111;
  cursor: pointer;
}
.cec-cf-card-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(.55) saturate(.65);
  transition: transform .6s ease, filter .4s;
  display: block;
}
.cec-cf-card:hover .cec-cf-card-img {
  transform: scale(1.04);
  filter: brightness(.68) saturate(.8);
}
.cec-cf-card-img--empty {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, #0a0a0a 0%, #141414 100%);
}
.cec-cf-card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,.08) 0%, rgba(0,0,0,.3) 35%, rgba(0,0,0,.92) 75%, #000 100%);
}

/* Top row */
.cec-cf-card-top {
  position: absolute;
  top: 0; left: 0; right: 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 16px;
  z-index: 2;
}
.cec-cf-badge {
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: .2em;
  color: rgba(61,255,112,.9);
  border: 1px solid rgba(61,255,112,.4);
  padding: 3px 8px;
  background: rgba(0,0,0,.55);
  backdrop-filter: blur(4px);
}
.cec-cf-filenum {
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: .14em;
  color: rgba(255,255,255,.22);
}

/* Bottom body */
.cec-cf-card-body {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 20px;
  z-index: 2;
}
.cec-cf-card-coords {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .12em;
  margin-bottom: 8px;
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
  align-items: center;
}
.cec-cf-coord-label { color: rgba(61,255,112,.5); }
.cec-cf-coord-val   { color: rgba(61,255,112,.9); }
.cec-cf-coord-sep   { color: rgba(255,255,255,.2); }

.cec-cf-card-title {
  font-family: var(--display);
  font-size: clamp(13px, 1.3vw, 17px);
  font-weight: 800;
  letter-spacing: -.01em;
  line-height: 1.15;
  color: #fff;
  margin-bottom: 14px;
}
.cec-cf-card-title a { color: inherit; text-decoration: none; }
.cec-cf-cta {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .18em;
  color: var(--green);
  text-decoration: none;
  transition: color .2s, letter-spacing .2s;
  display: inline-block;
}
.cec-cf-cta:hover { color: #fff; letter-spacing: .24em; }

/* Full-card click overlay */
.cec-cf-card-link {
  position: absolute;
  inset: 0;
  z-index: 3;
}

/* ── Responsive ── */
@media (max-width: 900px) {
  .cec-cf-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
}
@media (max-width: 600px) {
  .cec-cf-hero { padding: 100px 20px 60px; }
  .cec-cf-hero-title { font-size: clamp(44px, 13vw, 80px); }
  .cec-cf-grid-section { padding: 36px 16px 80px; }
  .cec-cf-grid { grid-template-columns: 1fr; gap: 12px; }
  .cec-cf-card { aspect-ratio: 4/5; }
  .cec-cf-card-title { font-size: 15px; }
}

/* ── Homepage slider header ── */
.cec-cs-header {
  background: #000;
  border-top: 1px solid rgba(61,255,112,.08);
  padding: 48px 24px 0;
}
.cec-cs-header-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.cec-cs-eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .2em;
  color: rgba(61,255,112,.6);
  margin-bottom: 10px;
}
.cec-cs-section-title {
  font-family: var(--display);
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 900;
  letter-spacing: -.02em;
  color: #fff;
}
.cec-cs-view-all {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .16em;
  color: var(--green);
  text-decoration: none;
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(61,255,112,.3);
  transition: color .2s, border-color .2s;
  white-space: nowrap;
}
.cec-cs-view-all:hover { color: #fff; border-color: rgba(255,255,255,.4); }

@media (max-width: 600px) {
  .cec-cs-header { padding: 36px 16px 0; }
  .cec-cs-header-inner { flex-direction: column; align-items: flex-start; gap: 12px; }
  .cec-cs-section-title { font-size: clamp(24px, 7vw, 36px); }
}


/* ============================================
   SIZE GUIDE PAGE
   ============================================ */
.cec-sg-page {
  background: var(--black);
  min-height: 80vh;
  padding-bottom: 100px;
}

.cec-sg-hero {
  padding: 72px 40px 48px;
  max-width: 1100px;
  margin: 0 auto;
}
.cec-sg-eyebrow {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .2em;
  color: rgba(61,255,112,.5);
  text-transform: uppercase;
  margin-bottom: 20px;
}
.cec-sg-title {
  font-family: var(--display);
  font-size: clamp(52px, 8vw, 100px);
  font-weight: 800;
  color: #3dff70;
  text-transform: uppercase;
  letter-spacing: .06em;
  line-height: 1;
  margin-bottom: 32px;
}
.cec-sg-rule {
  border: none;
  border-top: 1px solid rgba(61,255,112,.25);
  margin: 0;
}

.cec-sg-wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 40px;
}

.cec-sg-block {
  margin-top: 56px;
}
.cec-sg-intro {
  margin-top: 48px;
}

.cec-sg-section-head {
  font-family: var(--mono);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .15em;
  color: #3dff70;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.cec-sg-body {
  font-family: var(--mono);
  font-size: 13px;
  font-style: italic;
  color: rgba(61,255,112,.7);
  line-height: 1.8;
  max-width: 760px;
}

.cec-sg-note {
  font-family: var(--mono);
  font-size: 12px;
  font-style: italic;
  color: rgba(61,255,112,.6);
  margin-bottom: 16px;
  line-height: 1.6;
}

.cec-sg-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.cec-sg-list li {
  font-family: var(--mono);
  font-size: 13px;
  color: rgba(61,255,112,.7);
  line-height: 1.9;
  padding-left: 16px;
  position: relative;
}
.cec-sg-list li::before {
  content: '•';
  position: absolute;
  left: 0;
  color: #3dff70;
}
.cec-sg-list li strong {
  color: #3dff70;
  font-style: normal;
}

/* Table with corner brackets */
.cec-sg-table-wrap {
  position: relative;
  border: 1px solid rgba(61,255,112,.18);
  overflow: hidden;
}
.cec-sg-table-wrap::before,
.cec-sg-table-wrap::after {
  content: '';
  position: absolute;
  width: 14px;
  height: 14px;
  border-color: #3dff70;
  border-style: solid;
  z-index: 2;
}
.cec-sg-table-wrap::before {
  top: 0; left: 0;
  border-width: 2px 0 0 2px;
}
.cec-sg-table-wrap::after {
  bottom: 0; right: 0;
  border-width: 0 2px 2px 0;
}

.cec-sg-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--mono);
  font-size: 13px;
}
.cec-sg-table thead tr {
  background: rgba(61,255,112,.1);
}
.cec-sg-table thead th {
  padding: 14px 20px;
  text-align: left;
  color: #3dff70;
  font-weight: 600;
  letter-spacing: .12em;
  font-size: 11px;
  border-bottom: 1px solid rgba(61,255,112,.2);
}
.cec-sg-table tbody tr {
  border-bottom: 1px solid rgba(61,255,112,.1);
  transition: background .15s;
}
.cec-sg-table tbody tr:last-child { border-bottom: none; }
.cec-sg-table tbody tr:hover { background: rgba(61,255,112,.04); }
.cec-sg-table tbody td {
  padding: 13px 20px;
  color: rgba(61,255,112,.75);
  font-size: 13px;
}
.cec-sg-table tbody td:first-child {
  color: #3dff70;
  font-weight: 600;
}

@media (max-width: 680px) {
  .cec-sg-hero { padding: 48px 20px 32px; }
  .cec-sg-wrap { padding: 0 20px; }
  .cec-sg-table thead th,
  .cec-sg-table tbody td { padding: 11px 14px; font-size: 12px; }
}

/* ============================================
   CAPSULE SECTIONS — STANDALONE FULL-WIDTH
   ============================================ */

.cec-cap-section {
  padding: 80px 0 100px;
  position: relative;
}
.cec-cap-section--roswell  { background: var(--black); }
.cec-cap-section--reptilian { background: #080b08; }
.cec-cap-section--ce       { background: var(--dark); }

.cec-cap-intro {
  max-width: 1200px;
  margin: 0 auto 56px;
  padding: 0 40px;
  display: flex;
  align-items: flex-start;
  gap: 48px;
}
.cec-cap-intro-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  padding-top: 8px;
  min-width: 80px;
}
.cec-cap-num {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .22em;
  color: var(--muted);
}
.cec-cap-badge {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .18em;
  padding: 5px 10px;
  border: 1px solid;
}
.cec-cap-badge--red   { border-color: #cc3333; color: #cc3333; }
.cec-cap-badge--green { border-color: var(--green); color: var(--green); }
.cec-cap-badge--white { border-color: rgba(240,240,240,.35); color: rgba(240,240,240,.6); }

.cec-cap-intro-text { flex: 1; }
.cec-cap-intro-sub {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .14em;
  color: var(--muted);
  margin-bottom: 18px;
  text-transform: uppercase;
}
.cec-cap-intro-desc {
  font-family: var(--sans);
  font-size: 15px;
  line-height: 1.65;
  color: rgba(240,240,240,.65);
  max-width: 560px;
  margin-bottom: 24px;
}

@media (max-width: 768px) {
  .cec-cap-intro {
    flex-direction: column;
    gap: 20px;
    padding: 0 20px;
    margin-bottom: 36px;
  }
  .cec-cap-intro-meta { flex-direction: row; align-items: center; min-width: auto; }
  .cec-cap-section { padding: 60px 0 72px; }
}

/* ============================================
   INTERACTIVE TIMELINE
   ============================================ */

.cec-timeline-section {
  background: var(--black);
  padding: 96px 0 112px;
  position: relative;
}
.cec-timeline-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 80% 60% at 50% 100%, rgba(61,255,112,.04), transparent 70%);
  pointer-events: none;
}

.cec-tl-header {
  text-align: center;
  margin-bottom: 64px;
}
.cec-tl-eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .22em;
  color: var(--muted);
  margin-bottom: 18px;
}
.cec-tl-rule {
  flex: 1;
  max-width: 80px;
  height: 1px;
  background: var(--border);
}
.cec-tl-main-title {
  font-family: var(--display);
  font-size: clamp(28px, 4.5vw, 60px);
  font-weight: 700;
  letter-spacing: .04em;
  color: var(--silver);
}

/* Track row */
.cec-tl-track {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 0 20px;
}
.cec-tl-line {
  position: absolute;
  top: 22px;
  left: 80px;
  right: 80px;
  height: 1px;
  background: var(--border);
  z-index: 0;
}

/* Individual node */
.cec-tl-node {
  position: relative;
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 1;
}
.cec-tl-node-btn {
  background: none;
  border: none;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 0 8px 12px;
}
.cec-tl-node-btn:focus { outline: none; }
.cec-tl-dot {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 2px solid var(--border);
  background: var(--black);
  transition: border-color .25s, box-shadow .25s, background .25s;
  position: relative;
}
.cec-tl-dot::after {
  content: '';
  position: absolute;
  inset: 10px;
  border-radius: 50%;
  background: var(--border);
  transition: background .25s;
}
.cec-tl-node-btn:hover .cec-tl-dot,
.cec-tl-node--active .cec-tl-dot {
  border-color: #3dff70;
  box-shadow: 0 0 0 4px rgba(61,255,112,.15), 0 0 18px rgba(61,255,112,.25);
}
.cec-tl-node-btn:hover .cec-tl-dot::after,
.cec-tl-node--active .cec-tl-dot::after { background: #3dff70; }

.cec-tl-year-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.cec-tl-year-label {
  font-family: var(--mono);
  font-size: 13px;
  font-weight: 500;
  color: var(--muted);
  letter-spacing: .08em;
  transition: color .2s;
}
.cec-tl-node-short {
  display: none;
}
.cec-tl-node-btn:hover .cec-tl-year-label,
.cec-tl-node--active .cec-tl-year-label { color: #3dff70; }
.cec-tl-node-btn:hover .cec-tl-node-short,
.cec-tl-node--active .cec-tl-node-short { color: rgba(61,255,112,.7); }

/* Panel area — flows in document below the track, no clipping */
.cec-tl-panel-area {
  position: relative;
  margin-top: 0;
  padding-top: 14px;
}

/* Arrow indicator pointing to active node */
.cec-tl-panel-arrow {
  position: absolute;
  top: -7px;
  width: 13px;
  height: 13px;
  background: var(--card);
  border-top: 1px solid rgba(61,255,112,.35);
  border-left: 1px solid rgba(61,255,112,.35);
  transform: rotate(45deg);
  left: 50%;
  margin-left: -7px;
  transition: left .3s cubic-bezier(.4,0,.2,1);
  z-index: 1;
}

/* Two-column body: panels left, map right */
.cec-tl-panel-body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border: 1px solid rgba(61,255,112,.25);
  background: var(--card);
  min-height: 240px;
}

.cec-tl-panels-col {
  position: relative;
}

.cec-tl-map-col {
  border-left: 1px solid rgba(61,255,112,.15);
  display: flex;
  flex-direction: column;
}

#cec-tl-map {
  flex: 1;
  min-height: 240px;
  background: #040a04;
}

.cec-map-hud {
  padding: 8px 14px;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .18em;
  color: rgba(61,255,112,.35);
  border-top: 1px solid rgba(61,255,112,.1);
  background: rgba(0,0,0,.4);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Leaflet overrides */
.leaflet-container { background: #040a04 !important; font-family: var(--mono) !important; }
.leaflet-control-attribution { display: none !important; }
.leaflet-control-zoom { display: none !important; }
.leaflet-tile-pane { filter: invert(1) hue-rotate(180deg) brightness(.7) contrast(1.05) saturate(.4); }

/* Location tooltip */
.cec-map-tooltip {
  background: rgba(4,10,4,.92) !important;
  border: 1px solid rgba(61,255,112,.5) !important;
  border-radius: 0 !important;
  color: #3dff70 !important;
  font-family: 'DM Mono', monospace !important;
  font-size: 9px !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  padding: 5px 10px !important;
  box-shadow: 0 0 12px rgba(61,255,112,.2) !important;
  white-space: nowrap !important;
}
.cec-map-tooltip::before { display: none !important; }

/* Pulsing incident marker */
.cec-map-dot {
  width: 14px;
  height: 14px;
  background: #3dff70;
  border-radius: 50%;
  box-shadow: 0 0 0 0 rgba(61,255,112,.5), 0 0 12px rgba(61,255,112,.8);
  animation: cec-map-pulse 2.2s infinite;
}
@keyframes cec-map-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(61,255,112,.5), 0 0 12px rgba(61,255,112,.8); }
  60%  { box-shadow: 0 0 0 14px rgba(61,255,112,0), 0 0 28px rgba(61,255,112,.3); }
  100% { box-shadow: 0 0 0 0 rgba(61,255,112,0), 0 0 12px rgba(61,255,112,.8); }
}

/* Individual panels — hidden by default */
.cec-tl-panel {
  display: none;
  padding: 24px 28px;
  gap: 28px;
}
.cec-tl-panel--active {
  display: flex;
}
@keyframes cec-tl-fadein {
  from { opacity: 0; transform: translateY(-10px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Two-column panel layout */
.cec-tl-panel-left {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  min-width: 90px;
  padding-right: 24px;
  border-right: 1px solid rgba(61,255,112,.15);
}
.cec-tl-panel-year {
  font-family: var(--mono);
  font-size: clamp(22px, 2.5vw, 32px);
  font-weight: 700;
  color: #3dff70;
  letter-spacing: .04em;
  line-height: 1;
}
.cec-tl-panel-right {
  flex: 1;
  min-width: 0;
}

.cec-tl-panel-badge {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .2em;
  color: var(--muted);
  border: 1px solid var(--border);
  padding: 4px 10px;
  display: inline-block;
  margin-bottom: 6px;
}
.cec-tl-panel-loc {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .14em;
  color: rgba(61,255,112,.5);
  margin-bottom: 4px;
}
.cec-tl-panel-name {
  font-family: var(--display);
  font-size: clamp(14px, 1.8vw, 19px);
  font-weight: 800;
  letter-spacing: -.01em;
  color: var(--text);
  margin-bottom: 8px;
}
.cec-tl-panel-desc {
  font-family: var(--sans);
  font-size: 12px;
  line-height: 1.5;
  color: rgba(240,240,240,.6);
  margin-bottom: 12px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.cec-tl-panel-ctas {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.cec-tl-cta {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .12em;
  text-decoration: none;
  padding: 7px 13px;
  border: 1px solid;
  transition: background .2s, color .2s;
}
.cec-tl-cta--file {
  border-color: rgba(61,255,112,.5);
  color: #3dff70;
}
.cec-tl-cta--file:hover {
  background: rgba(61,255,112,.1);
}
.cec-tl-cta--shop {
  border-color: var(--border);
  color: rgba(240,240,240,.7);
}
.cec-tl-cta--shop:hover {
  background: rgba(240,240,240,.06);
  color: var(--text);
}

/* Stats row */
.cec-tl-stats {
  display: flex;
  justify-content: center;
  gap: 0;
  margin-top: 64px;
  border-top: 1px solid var(--border);
  padding-top: 48px;
}
.cec-tl-stat {
  flex: 1;
  max-width: 240px;
  text-align: center;
  padding: 0 24px;
}
.cec-tl-stat + .cec-tl-stat { border-left: 1px solid var(--border); }
.cec-tl-stat-n {
  display: block;
  font-family: var(--mono);
  font-size: clamp(18px, 2vw, 26px);
  font-weight: 500;
  color: var(--silver);
  letter-spacing: .08em;
  margin-bottom: 6px;
}
.cec-tl-stat-l {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .16em;
  color: var(--muted);
  text-transform: uppercase;
}

@media (max-width: 900px) {
  .cec-tl-track {
    flex-direction: column;
    gap: 0;
    padding: 0;
  }
  .cec-tl-line { display: none; }
  .cec-tl-node {
    flex-direction: row;
    align-items: center;
    width: 100%;
  }
  .cec-tl-node-btn {
    flex-direction: row;
    align-items: center;
    width: 100%;
    padding: 10px 0;
    border-bottom: 1px solid var(--border);
    gap: 14px;
  }
  .cec-tl-node--active .cec-tl-node-btn {
    border-bottom-color: rgba(61,255,112,.3);
  }
  .cec-tl-dot {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
  }
  .cec-tl-dot::after { inset: 7px; }
  .cec-tl-year-wrap { align-items: flex-start; gap: 2px; }
  .cec-tl-year-label { font-size: 13px; }
  .cec-tl-node-short {
    display: block;
    font-family: var(--mono);
    font-size: 9px;
    letter-spacing: .14em;
    color: var(--muted);
    transition: color .2s;
  }
  .cec-tl-panel-arrow { display: none; }
  .cec-tl-panel-body { grid-template-columns: 1fr; }
  .cec-tl-map-col { display: flex; border-left: none; border-top: 1px solid rgba(61,255,112,.12); }
  #cec-tl-map { min-height: 160px; }
  .cec-map-hud { display: none; }
  .cec-tl-panel {
    flex-direction: column;
    gap: 12px;
    padding: 20px 16px;
    animation: none;
  }
  .cec-tl-panel--active { display: flex; }
  .cec-tl-panel-left {
    flex-direction: row;
    align-items: center;
    border-right: none;
    padding-right: 0;
    gap: 12px;
  }
  .cec-tl-panel-year { font-size: 18px; }
  .cec-tl-stats { margin-top: 48px; gap: 0; }
  .cec-tl-stat { max-width: none; }
}
@media (max-width: 600px) {
  .cec-tl-stats { flex-direction: column; gap: 24px; }
  .cec-tl-stat + .cec-tl-stat { border-left: none; border-top: 1px solid var(--border); padding-top: 24px; }
  .cec-timeline-section { padding: 60px 0 72px; }
}

/* ============================================
   BLOG CAROUSEL
   ============================================ */

.cec-blog-carousel-section {
  background: var(--dark);
  padding: 80px 0 0;
}
.cec-bc-header {
  margin-bottom: 40px;
}
.cec-bc-eyebrow {
  display: flex;
  align-items: center;
  gap: 16px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .22em;
  color: var(--muted);
  margin-bottom: 18px;
}
.cec-bc-title-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}
.cec-bc-title {
  font-family: var(--display);
  font-size: clamp(28px, 4vw, 52px);
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--text);
}

.cec-bc-track-wrap {
  position: relative;
  overflow: hidden;
  padding-bottom: 60px;
}
.cec-bc-track {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  padding: 4px 40px 32px;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  cursor: grab;
}
.cec-bc-track::-webkit-scrollbar { display: none; }
.cec-bc-track.is-dragging { cursor: grabbing; user-select: none; }

.cec-bc-card {
  flex: 0 0 320px;
  scroll-snap-align: start;
}
.cec-bc-card-link {
  text-decoration: none;
  display: block;
  background: var(--card);
  border: 1px solid var(--border);
  transition: border-color .25s, transform .25s;
}
.cec-bc-card-link:hover {
  border-color: rgba(61,255,112,.3);
  transform: translateY(-4px);
}
.cec-bc-img {
  position: relative;
  height: 220px;
  background-size: cover;
  background-position: center;
}
.cec-bc-img-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 40%, rgba(8,8,8,.85) 100%);
}
.cec-bc-card-badge {
  position: absolute;
  top: 14px;
  left: 14px;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .18em;
  color: #3dff70;
  border: 1px solid rgba(61,255,112,.4);
  padding: 4px 9px;
  background: rgba(8,8,8,.7);
  backdrop-filter: blur(4px);
}
.cec-bc-card-body {
  padding: 20px 22px 24px;
}
.cec-bc-card-meta {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .14em;
  color: var(--muted);
  margin-bottom: 10px;
}
.cec-bc-card-title {
  font-family: var(--display);
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -.01em;
  color: var(--text);
  line-height: 1.3;
  margin-bottom: 16px;
}
.cec-bc-card-cta {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .14em;
  color: rgba(61,255,112,.8);
}

/* Arrow nav */
.cec-bc-arrow {
  position: absolute;
  bottom: 14px;
  width: 48px;
  height: 48px;
  background: var(--card);
  border: 1px solid var(--border);
  color: var(--text);
  font-size: 18px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color .2s, background .2s;
  z-index: 2;
}
.cec-bc-arrow:hover { border-color: rgba(61,255,112,.5); background: rgba(61,255,112,.06); }
.cec-bc-arrow--prev { right: 110px; }
.cec-bc-arrow--next { right: 50px; }

@media (max-width: 600px) {
  .cec-bc-card { flex: 0 0 280px; }
  .cec-bc-track { padding: 4px 20px 28px; }
  .cec-bc-arrow--prev { right: 80px; }
  .cec-bc-arrow--next { right: 20px; }
}

/* ============================================
   ALIEN DNA QUIZ SECTION
   ============================================ */

.cec-quiz-section {
  background: #050505;
  border-top: 1px solid #1a1a1a;
  border-bottom: 1px solid #1a1a1a;
  padding: 96px 0 100px;
  position: relative;
  overflow: hidden;
}

/* Scanline background texture */
.cec-quiz-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    0deg,
    transparent,
    transparent 3px,
    rgba(61, 255, 112, 0.012) 3px,
    rgba(61, 255, 112, 0.012) 4px
  );
  pointer-events: none;
}

/* Glowing orb background */
.cec-quiz-section::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 600px;
  height: 600px;
  background: radial-gradient(circle, rgba(61,255,112,0.04) 0%, transparent 70%);
  pointer-events: none;
}

.cec-quiz-inner {
  max-width: 680px;
  margin: 0 auto;
  padding: 0 24px;
  position: relative;
  z-index: 1;
}

/* Header */
.cec-quiz-eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .2em;
  color: var(--green);
  margin-bottom: 20px;
  text-transform: uppercase;
}

.cec-quiz-eyebrow-line {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(61,255,112,.3));
  max-width: 80px;
}

.cec-quiz-eyebrow-line:last-child {
  background: linear-gradient(270deg, transparent, rgba(61,255,112,.3));
}

.cec-quiz-title {
  font-family: var(--display);
  font-size: clamp(36px, 7vw, 72px);
  font-weight: 800;
  text-align: center;
  letter-spacing: -.02em;
  line-height: 1;
  margin-bottom: 12px;
  color: var(--text);
}

.cec-quiz-subtitle {
  text-align: center;
  font-family: var(--mono);
  font-size: 13px;
  color: var(--muted);
  letter-spacing: .04em;
  margin-bottom: 48px;
  line-height: 1.6;
}

/* Progress bar */
.cec-quiz-progress {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 32px;
  justify-content: center;
}

.cec-quiz-prog-dot {
  width: 28px;
  height: 3px;
  border-radius: 2px;
  background: #1e1e1e;
  transition: background .3s, width .3s;
}

.cec-quiz-prog-dot.active { background: var(--green); }
.cec-quiz-prog-dot.done { background: rgba(61,255,112,.4); }

/* Question card */
.cec-quiz-card {
  background: #0d0d0d;
  border: 1px solid #1e1e1e;
  border-radius: 16px;
  padding: 32px 28px;
  margin-bottom: 16px;
  animation: cec-quiz-in .3s ease;
}

@keyframes cec-quiz-in {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}

.cec-quiz-q-num {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .2em;
  color: var(--green);
  margin-bottom: 10px;
  text-transform: uppercase;
}

.cec-quiz-q-text {
  font-family: var(--heading);
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -.01em;
  line-height: 1.25;
  color: var(--text);
  margin-bottom: 24px;
}

/* Options grid */
.cec-quiz-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.cec-quiz-opt {
  background: #111;
  border: 1.5px solid #1e1e1e;
  border-radius: 12px;
  padding: 16px 14px;
  cursor: pointer;
  transition: border-color .15s, background .15s, transform .1s;
  text-align: left;
  font-family: var(--sans);
  color: var(--text);
  position: relative;
  overflow: hidden;
}

.cec-quiz-opt::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--opt-color, var(--green));
  opacity: 0;
  transition: opacity .15s;
}

.cec-quiz-opt:hover { border-color: #333; transform: translateY(-1px); }
.cec-quiz-opt:hover::before { opacity: .04; }

.cec-quiz-opt.selected {
  border-color: var(--opt-color, var(--green));
  background: rgba(61,255,112,.05);
}

.cec-quiz-opt.selected::before { opacity: .06; }

.cec-quiz-opt-letter {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .15em;
  color: var(--muted);
  margin-bottom: 6px;
  display: block;
  position: relative;
}

.cec-quiz-opt-text {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
  color: var(--text);
  position: relative;
}

/* Next button */
.cec-quiz-next {
  width: 100%;
  padding: 16px;
  background: var(--green);
  color: #000;
  font-family: var(--heading);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  border: none;
  border-radius: 12px;
  cursor: pointer;
  transition: opacity .2s, transform .1s;
  display: none;
}

.cec-quiz-next.visible { display: block; }
.cec-quiz-next:hover { opacity: .88; }
.cec-quiz-next:active { transform: scale(.98); }

/* ── RESULT SCREEN ── */
.cec-quiz-result {
  display: none;
  text-align: center;
  animation: cec-quiz-in .4s ease;
}

.cec-quiz-result.visible { display: block; }

.cec-quiz-result-scan {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .2em;
  color: var(--green);
  margin-bottom: 16px;
  text-transform: uppercase;
}

.cec-quiz-result-alien-name {
  font-family: var(--display);
  font-size: clamp(52px, 12vw, 96px);
  font-weight: 800;
  line-height: .9;
  letter-spacing: -.03em;
  margin-bottom: 8px;
}

.cec-quiz-result-type {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .2em;
  color: var(--muted);
  margin-bottom: 28px;
  text-transform: uppercase;
}

.cec-quiz-result-icon {
  font-size: 72px;
  margin-bottom: 24px;
  display: block;
  filter: drop-shadow(0 0 24px currentColor);
  line-height: 1;
}

.cec-quiz-result-desc {
  font-size: 15px;
  color: #aaa;
  line-height: 1.7;
  max-width: 520px;
  margin: 0 auto 32px;
  font-style: italic;
}

.cec-quiz-result-cta {
  display: inline-block;
  padding: 16px 36px;
  font-family: var(--heading);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  border-radius: 8px;
  transition: opacity .2s, transform .1s;
  margin-bottom: 12px;
}

.cec-quiz-result-cta:hover { opacity: .85; transform: translateY(-1px); }

.cec-quiz-retake {
  display: block;
  font-family: var(--mono);
  font-size: 11px;
  color: var(--muted);
  letter-spacing: .1em;
  cursor: pointer;
  margin-top: 16px;
  text-decoration: underline;
  text-underline-offset: 3px;
  background: none;
  border: none;
  text-transform: uppercase;
}

.cec-quiz-retake:hover { color: var(--text); }

/* Alien type specific colors */
.cec-quiz-result[data-alien="nordic"] .cec-quiz-result-alien-name { color: #a8d8ff; }
.cec-quiz-result[data-alien="nordic"] .cec-quiz-result-cta { background: #a8d8ff; color: #000; }
.cec-quiz-result[data-alien="grey"]   .cec-quiz-result-alien-name { color: #c0c8d8; }
.cec-quiz-result[data-alien="grey"]   .cec-quiz-result-cta { background: #c0c8d8; color: #000; }
.cec-quiz-result[data-alien="mantis"] .cec-quiz-result-alien-name { color: var(--green); }
.cec-quiz-result[data-alien="mantis"] .cec-quiz-result-cta { background: var(--green); color: #000; }
.cec-quiz-result[data-alien="reptilian"] .cec-quiz-result-alien-name { color: #7dffb3; }
.cec-quiz-result[data-alien="reptilian"] .cec-quiz-result-cta { background: #cc3333; color: #fff; }

@media (max-width: 600px) {
  .cec-quiz-options { grid-template-columns: 1fr; }
  .cec-quiz-card { padding: 24px 18px; }
  .cec-quiz-inner { padding: 0 16px; }
}

/* ============================================
   SPECIES COLLECTIONS
   ============================================ */
.cec-species-section {
  padding: 96px 0 0;
  background: var(--black);
  overflow-x: hidden;
}
.cec-species-header {
  text-align: center;
  margin-bottom: 56px;
  padding: 0 20px;
}
.cec-species-eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .22em;
  color: var(--muted);
  margin-bottom: 16px;
}
.cec-species-title {
  font-family: var(--display);
  font-size: clamp(24px, 5vw, 64px);
  font-weight: 800;
  letter-spacing: -.02em;
  color: var(--silver);
  margin-bottom: 12px;
}
.cec-species-sub {
  font-family: var(--mono);
  font-size: 14px;
  letter-spacing: .08em;
  color: var(--silver2);
  max-width: 480px;
  margin: 0 auto;
  line-height: 1.8;
}
.cec-species-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  background: transparent;
}
.cec-species-card {
  position: relative;
  min-height: 500px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  text-decoration: none;
}
.cec-species-card-bg {
  position: absolute;
  inset: 0;
  transition: transform .6s ease;
}
.cec-species-card:hover .cec-species-card-bg { transform: scale(1.04); }
.cec-species-card--grey .cec-species-card-bg {
  background: radial-gradient(ellipse 100% 70% at 50% 0%, #1a2030 0%, #0c1018 55%, #060810 100%);
}
.cec-species-card--reptilian .cec-species-card-bg {
  background: radial-gradient(ellipse 100% 70% at 50% 0%, #0a1e0a 0%, #060f06 55%, #030806 100%);
}
.cec-species-card--nordic .cec-species-card-bg {
  background: radial-gradient(ellipse 100% 70% at 50% 0%, #081428 0%, #050a18 55%, #03060e 100%);
}
.cec-species-card--mantis .cec-species-card-bg {
  background: radial-gradient(ellipse 100% 70% at 50% 0%, #061814 0%, #050f0c 55%, #030806 100%);
}
.cec-species-card-glow {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 240px;
  pointer-events: none;
}
.cec-species-card--grey .cec-species-card-glow {
  background: radial-gradient(ellipse 70% 100% at 50% -10%, rgba(192,200,216,.3), transparent 70%);
}
.cec-species-card--reptilian .cec-species-card-glow {
  background: radial-gradient(ellipse 70% 100% at 50% -10%, rgba(61,255,112,.2), transparent 70%);
}
.cec-species-card--nordic .cec-species-card-glow {
  background: radial-gradient(ellipse 70% 100% at 50% -10%, rgba(100,180,255,.2), transparent 70%);
}
.cec-species-card--mantis .cec-species-card-glow {
  background: radial-gradient(ellipse 70% 100% at 50% -10%, rgba(64,255,204,.2), transparent 70%);
}
.cec-species-card-content {
  position: relative;
  z-index: 2;
  padding: 32px 28px;
  width: 100%;
  background: linear-gradient(to top, rgba(0,0,0,.85) 0%, transparent 100%);
  display: flex;
  flex-direction: column;
}
.cec-species-card-icon {
  display: block;
  font-size: 26px;
  margin-bottom: 14px;
  opacity: .75;
}
.cec-species-card-coming {
  display: inline-block;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .2em;
  border: 1px solid rgba(255,255,255,.28);
  color: rgba(255,255,255,.58);
  padding: 4px 10px;
  margin-bottom: 14px;
}
.cec-species-card-name {
  font-family: var(--display);
  font-size: clamp(26px, 2.5vw, 38px);
  font-weight: 800;
  letter-spacing: -.01em;
  line-height: 1;
  margin-bottom: 6px;
}
.cec-species-card--grey .cec-species-card-name      { color: #c0c8d8; }
.cec-species-card--reptilian .cec-species-card-name { color: #3dff70; }
.cec-species-card--nordic .cec-species-card-name    { color: #88c8ff; }
.cec-species-card--mantis .cec-species-card-name    { color: #40ffcc; }
.cec-species-card-type {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .16em;
  color: rgba(255,255,255,.62);
  margin-bottom: 12px;
}
.cec-species-card-desc {
  font-size: 14px;
  line-height: 1.65;
  color: rgba(255,255,255,.72);
  margin-bottom: 16px;
}
.cec-species-card-cta {
  display: inline-block;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .18em;
  color: #fff;
  border: 1px solid rgba(255,255,255,.35);
  padding: 8px 14px;
  transition: border-color .25s, color .25s, background .25s;
  margin-top: auto;
}
.cec-species-card:hover .cec-species-card-cta {
  border-color: #fff;
  background: rgba(255,255,255,.08);
}
.cec-species-card--reptilian .cec-species-card-cta { color: #3dff70; border-color: rgba(61,255,112,.4); }
.cec-species-card--reptilian:hover .cec-species-card-cta { border-color: #3dff70; background: rgba(61,255,112,.08); }
.cec-species-card--nordic .cec-species-card-cta { color: #88c8ff; border-color: rgba(136,200,255,.4); }
.cec-species-card--nordic:hover .cec-species-card-cta { border-color: #88c8ff; background: rgba(136,200,255,.08); }
.cec-species-card--mantis .cec-species-card-cta { color: #40ffcc; border-color: rgba(64,255,204,.4); }
.cec-species-card--mantis:hover .cec-species-card-cta { border-color: #40ffcc; background: rgba(64,255,204,.08); }

/* ============================================
   CAPSULE DROPS — SIDE BY SIDE
   ============================================ */
.cec-capsule-drops {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.cec-capsule-drops .cec-limited-release { min-height: 75vh; }

/* Rendlesham variant */
.cec-limited-release--rendlesham .cec-lr-bg {
  background: radial-gradient(ellipse 90% 70% at 50% 50%, #041208 0%, #050e05 60%, #000 100%);
}
.cec-limited-release--rendlesham .cec-lr-overlay {
  background:
    repeating-linear-gradient(0deg, transparent, transparent 28px, rgba(61,255,112,.04) 29px),
    repeating-linear-gradient(90deg, transparent, transparent 28px, rgba(61,255,112,.04) 29px);
}
.cec-limited-release--rendlesham .cec-lr-eyebrow { color: rgba(61,255,112,.7); }
.cec-limited-release--rendlesham .cec-lr-rule { background: rgba(61,255,112,.35); }
.cec-limited-release--rendlesham .cec-lr-title em {
  -webkit-text-stroke: 1.5px #3dff70;
  text-shadow: 0 0 30px rgba(61,255,112,.35), 0 0 60px rgba(61,255,112,.12);
}

/* Green CTA button variant */
.cec-btn-green {
  background: var(--green) !important;
  color: #080808 !important;
}
.cec-btn-green:hover { background: #5fffaa !important; }

@media (max-width: 900px) {
  .cec-species-grid { grid-template-columns: repeat(2, 1fr); }
  .cec-species-card { min-height: 360px; }
  .cec-capsule-drops { grid-template-columns: 1fr; }
  .cec-capsule-drops .cec-limited-release { min-height: 60vh; }
}
@media (max-width: 560px) {
  .cec-species-grid { grid-template-columns: repeat(2, 1fr); }
  .cec-species-card { min-height: 240px; }
  .cec-species-card-content { padding: 18px 14px; }
  .cec-species-card-name { font-size: clamp(18px, 5vw, 28px) !important; }
  .cec-species-card-desc { font-size: 11px; line-height: 1.5; }
  .cec-species-card-type { font-size: 9px; }
}
@media (max-width: 360px) {
  .cec-species-grid { grid-template-columns: 1fr; }
  .cec-species-card { min-height: 200px; }
}


/* ============================================
   CASE FILES PAGE
   ============================================ */

/* ── Hero ── */
.cec-cf-page { background: #000; min-height: 100vh; }

.cec-cf-hero {
  position: relative;
  padding: 140px 40px 80px;
  text-align: center;
  overflow: hidden;
  border-bottom: 1px solid rgba(61,255,112,.12);
}

.cec-cf-grid-bg {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(61,255,112,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(61,255,112,.04) 1px, transparent 1px);
  background-size: 60px 60px;
  pointer-events: none;
}

.cec-cf-hero-inner { position: relative; z-index: 2; max-width: 700px; margin: 0 auto; }

.cec-cf-hero-tag {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .22em;
  color: var(--green);
  margin-bottom: 28px;
}
.cec-cf-line {
  display: block;
  width: 40px;
  height: 1px;
  background: var(--green);
  opacity: .4;
}

.cec-cf-hero-title {
  font-family: var(--display);
  font-size: clamp(56px, 10vw, 120px);
  font-weight: 900;
  letter-spacing: -.03em;
  line-height: .9;
  color: var(--silver);
  margin-bottom: 28px;
}
.cec-cf-hero-title em {
  font-style: normal;
  -webkit-text-stroke: 1.5px var(--green);
  color: transparent;
  text-shadow: 0 0 40px rgba(61,255,112,.3);
}

.cec-cf-hero-sub {
  font-family: var(--mono);
  font-size: 14px;
  letter-spacing: .08em;
  color: rgba(208,208,208,.85);
  line-height: 1.85;
  max-width: 520px;
  margin: 0 auto;
}

.cec-cf-hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  opacity: .45;
  filter: saturate(.35) brightness(.55);
  pointer-events: none;
}

/* ── Grid ── */
.cec-cf-grid-section { padding: 80px 40px 120px; max-width: 1200px; margin: 0 auto; }

.cec-cf-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2px;
  background: rgba(61,255,112,.08);
}

/* ── Card ── */
.cec-cf-card {
  background: #040404;
  display: flex;
  flex-direction: column;
  aspect-ratio: unset;
  overflow: visible;
}

.cec-cf-card-img-wrap {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 16/10;
  text-decoration: none;
}

.cec-cf-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: brightness(.75) saturate(.6);
  transition: filter .5s ease, transform .5s ease;
}
.cec-cf-card-img--placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #0a120a 0%, #050f07 100%);
}

.cec-cf-card:hover .cec-cf-card-img {
  filter: brightness(.9) saturate(.8);
  transform: scale(1.03);
}

/* Badge overlay */
.cec-cf-badge {
  position: absolute;
  top: 18px;
  left: 18px;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .18em;
  background: rgba(0,0,0,.75);
  border: 1px solid rgba(61,255,112,.4);
  color: rgba(61,255,112,.9);
  padding: 4px 10px;
  pointer-events: none;
}

.cec-cf-file-num {
  position: absolute;
  top: 18px;
  right: 18px;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .14em;
  color: rgba(255,255,255,.35);
  pointer-events: none;
}

/* Card body */
.cec-cf-card-body {
  padding: 28px 28px 32px;
  flex: 1;
  display: flex;
  flex-direction: column;
  border-top: 1px solid rgba(61,255,112,.1);
  position: static;
}

.cec-cf-card-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .14em;
  margin-bottom: 14px;
}
.cec-cf-meta-label { color: var(--green); }
.cec-cf-meta-val   { color: var(--silver2); }
.cec-cf-meta-sep   { width: 20px; }

.cec-cf-card-title {
  font-family: var(--display);
  font-size: clamp(20px, 2.2vw, 28px);
  font-weight: 800;
  letter-spacing: -.01em;
  line-height: 1.15;
  margin-bottom: 8px;
}
.cec-cf-card-title a { color: var(--silver); text-decoration: none; }
.cec-cf-card-title a:hover { color: #fff; }

.cec-cf-card-loc-line {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .1em;
  color: var(--green);
  margin-bottom: 14px;
  text-transform: uppercase;
}

.cec-cf-card-excerpt {
  font-size: 14px;
  line-height: 1.65;
  color: rgba(255,255,255,.58);
  flex: 1;
  margin-bottom: 24px;
}

.cec-cf-cta {
  display: inline-block;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .16em;
  color: var(--green);
  text-decoration: none;
  border-bottom: 1px solid rgba(61,255,112,.3);
  padding-bottom: 2px;
  transition: border-color .2s, color .2s;
  align-self: flex-start;
}
.cec-cf-cta:hover {
  color: #fff;
  border-color: rgba(255,255,255,.5);
}

/* ── Responsive ── */
@media (max-width: 768px) {
  .cec-cf-grid { grid-template-columns: 1fr; }
  .cec-cf-grid-section { padding: 60px 20px 80px; }
  .cec-cf-hero { padding: 120px 20px 60px; }
}


/* ============================================
   RESPONSIVE — MOBILE COMPREHENSIVE
   ============================================ */

/* ── 768px (phones + tablet portrait) ── */
@media (max-width: 768px) {

  /* Global */
  .cec-container { padding: 0 20px !important; }
  .cec-section   { padding: 64px 0 !important; }
  .cec-section-header { margin-bottom: 36px !important; }

  /* ── Hero ── */
  .cec-hero { padding: 52px 0 48px; min-height: 82vh; }
  .cec-ufo-scene { width: 180px !important; margin-bottom: 12px; }
  .cec-hero-content { padding: 0 20px; }
  .cec-hero-title {
    font-size: clamp(38px, 9.5vw, 60px) !important;
    margin-bottom: 18px;
    line-height: .92;
  }
  .cec-hero-sub {
    font-size: 11px !important;
    letter-spacing: .1em !important;
    margin-bottom: 6px;
  }
  .cec-hero-ctas {
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100%;
  }
  .cec-hero-ctas .cec-btn {
    width: 100% !important;
    max-width: 300px !important;
    justify-content: center !important;
    text-align: center;
  }
  .cec-hero-bottom {
    padding: 0 20px !important;
    font-size: 7px;
  }
  .cec-hero-hud { display: none; }

  /* ── Species collections ── */
  .cec-species-section { padding: 64px 0 0 !important; }
  .cec-species-header { padding: 0 4px !important; margin-bottom: 36px !important; }
  .cec-species-title { font-size: clamp(18px, 5.5vw, 52px) !important; }
  .cec-species-sub { font-size: 12px; max-width: 100%; padding: 0 4px; }
  .cec-species-grid { grid-template-columns: repeat(2,1fr) !important; }
  .cec-species-card { min-height: 260px !important; }
  .cec-species-card-content { padding: 20px 16px; }
  .cec-species-card-name { font-size: clamp(20px, 5.5vw, 36px) !important; }
  .cec-species-card-desc { font-size: 12px; }
  .cec-species-card-icon { font-size: 28px !important; }

  /* ── Capsule drops ── */
  .cec-capsule-drops { grid-template-columns: 1fr !important; }
  .cec-capsule-drops .cec-limited-release { min-height: 58vh !important; }
  .cec-lr-content { padding: 64px 20px; }
  .cec-lr-title { font-size: clamp(36px, 9vw, 72px); }

  /* ── Timeline ── */
  .cec-timeline-section { padding: 64px 20px 80px !important; }
  .cec-tl-header { text-align: center; margin-bottom: 40px; }
  .cec-tl-main-title { font-size: clamp(24px, 6vw, 42px) !important; }

  /* ── Case slider ── */
  .cec-caseslider { height: 80vh; }
  .cec-cs-hud-tl, .cec-cs-hud-tr { display: none; }
  .cec-cs-title { font-size: clamp(9px, 2.4vw, 13px) !important; line-height: 1.7; }

  /* ── Collector's Edition ── */
  .cec-section.cec-collector .cec-capsula-header { flex-direction: column; gap: 12px; }
  .cec-products-grid--3 { grid-template-columns: repeat(2, 1fr) !important; }
  .cec-product-info { padding: 14px; }
  .cec-product-name { font-size: 12px; }

  /* ── Reviews ── */
  .cec-reviews-grid { grid-template-columns: 1fr !important; }

  /* ── FAQ ── */
  .cec-faq-main-title { font-size: clamp(28px, 8vw, 48px); }
  .cec-faq-list { padding: 0 !important; }
  .cec-faq-q { padding: 20px 0; font-size: 13px; }
  .cec-faq-a p { font-size: 13px; line-height: 1.7; }

  /* ── Newsletter ── */
  .cec-newsletter { padding: 80px 0; }
  .cec-newsletter-inner { padding: 0 20px; }
  .cec-newsletter-title { font-size: clamp(40px, 10vw, 72px); }
  .cec-newsletter-form { flex-direction: column; }
  .cec-newsletter-input {
    border-right: 1px solid var(--border) !important;
    border-bottom: none;
    width: 100%;
  }
  .cec-newsletter-sub { font-size: 12px; }

  /* ── Footer ── */
  .cec-footer-top { grid-template-columns: 1fr 1fr; gap: 32px; }
  .cec-footer-inner { padding: 48px 20px 32px; }
  .cec-footer-bottom { flex-direction: column; align-items: flex-start; gap: 12px; }
  .cec-footer-coords { display: none; }

  /* ── Case Files PAGE ── */
  .cec-cf-hero { padding: 110px 20px 60px !important; }
  .cec-cf-hero-title { font-size: clamp(44px, 11vw, 80px); }
  .cec-cf-hero-sub { font-size: 12px; }
  .cec-cf-grid-section { padding: 48px 16px 80px !important; }
  .cec-cf-grid { grid-template-columns: 1fr !important; }
  .cec-cf-card-body { padding: 24px 20px 28px; }
  .cec-cf-card-title { font-size: clamp(18px, 4.5vw, 24px); }
  .cec-cf-card-excerpt { font-size: 13px; }

  /* ── Single post ── */
  .cec-post-header { padding: 100px 20px 40px !important; }
  .cec-post-thumb { padding: 0 0 48px !important; }
  .cec-post-body { padding: 0 20px 80px !important; font-size: 16px !important; line-height: 1.85 !important; }
  .cec-post-title { font-size: clamp(24px, 6vw, 40px); }
  .cec-post-back { padding: 32px 20px 60px !important; }
}

/* ── 480px (phone portrait) ── */
@media (max-width: 480px) {

  /* Hero */
  .cec-hero { padding: 40px 0 36px; min-height: 88vh; }
  .cec-ufo-scene { width: 150px !important; }
  .cec-hero-title { font-size: clamp(38px, 11vw, 62px) !important; }
  .cec-hero-kicker { font-size: 8px; letter-spacing: .18em; }
  .cec-hero-sub { font-size: 10px !important; letter-spacing: .08em !important; }

  /* Species */
  .cec-species-header { padding: 0 4px !important; }
  .cec-species-title { font-size: clamp(18px, 5.5vw, 38px) !important; }
  .cec-species-card { min-height: 260px !important; }
  .cec-species-card-name { font-size: clamp(18px, 5.5vw, 28px) !important; }
  .cec-species-card-desc { font-size: 11px; line-height: 1.5; }
  .cec-species-card-type { font-size: 9px; }
  .cec-species-card-content { padding: 16px 12px; }

  /* Capsule drops */
  .cec-capsule-drops .cec-limited-release { min-height: 60vh !important; }
  .cec-lr-title { font-size: clamp(32px, 10vw, 56px); }
  .cec-lr-sub { font-size: 11px; }

  /* Products */
  .cec-products-grid--3 { grid-template-columns: repeat(2, 1fr) !important; }

  /* Section titles */
  .cec-section-title { font-size: clamp(24px, 8vw, 42px); }
  .cec-capsula-title { font-size: clamp(20px, 6vw, 32px); }

  /* FAQ */
  .cec-faq-q { font-size: 12px; }

  /* Case Files */
  .cec-cf-hero-title { font-size: clamp(38px, 11vw, 64px); }
  .cec-cf-card-img-wrap { aspect-ratio: 4/3; }
}

/* ── 390px (iPhone 14 / small phones) ── */
@media (max-width: 390px) {

  /* Hero */
  .cec-ufo-scene { width: 130px !important; }
  .cec-hero-title { font-size: 36px !important; }

  /* Species → 1 col on very small phones */
  .cec-species-grid { grid-template-columns: 1fr !important; }
  .cec-species-card { min-height: 260px !important; }

  /* Products → 1 col */
  .cec-products-grid { grid-template-columns: 1fr !important; }
  .cec-products-grid--3 { grid-template-columns: 1fr !important; }

  /* Case Files */
  .cec-cf-card-body { padding: 20px 16px 24px; }

  /* Single post */
  .cec-post-body { font-size: 15px !important; padding: 0 16px 60px !important; }
  .cec-post-header { padding: 80px 16px 32px !important; }
}

/* ============================================
   RESPONSIVE — MOBILE COMPREHENSIVE
   ============================================ */

/* ── 768px (phones + tablet portrait) ── */
@media (max-width: 768px) {

  /* Global */
  .cec-container { padding: 0 20px !important; }
  .cec-section   { padding: 64px 0 !important; }
  .cec-section-header { margin-bottom: 36px !important; }

  /* ── Hero ── */
  .cec-hero { padding: 52px 0 48px; min-height: 82vh; }
  .cec-ufo-scene { width: 180px !important; margin-bottom: 12px; }
  .cec-hero-content { padding: 0 20px; }
  .cec-hero-title {
    font-size: clamp(38px, 9.5vw, 60px) !important;
    margin-bottom: 18px;
    line-height: .92;
  }
  .cec-hero-sub {
    font-size: 11px !important;
    letter-spacing: .1em !important;
    margin-bottom: 6px;
  }
  .cec-hero-ctas {
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
    width: 100%;
  }
  .cec-hero-ctas .cec-btn {
    width: 100% !important;
    max-width: 300px !important;
    justify-content: center !important;
    text-align: center;
  }
  .cec-hero-bottom {
    padding: 0 20px !important;
    font-size: 7px;
  }
  .cec-hero-hud { display: none; }

  /* ── Species collections ── */
  .cec-species-section { padding: 64px 0 0 !important; }
  .cec-species-header { padding: 0 4px !important; margin-bottom: 36px !important; }
  .cec-species-title { font-size: clamp(18px, 5.5vw, 52px) !important; }
  .cec-species-sub { font-size: 12px; max-width: 100%; padding: 0 4px; }
  .cec-species-grid { grid-template-columns: repeat(2,1fr) !important; }
  .cec-species-card { min-height: 260px !important; }
  .cec-species-card-content { padding: 20px 16px; }
  .cec-species-card-name { font-size: clamp(20px, 5.5vw, 36px) !important; }
  .cec-species-card-desc { font-size: 12px; }
  .cec-species-card-icon { font-size: 28px !important; }

  /* ── Capsule drops ── */
  .cec-capsule-drops { grid-template-columns: 1fr !important; }
  .cec-capsule-drops .cec-limited-release { min-height: 58vh !important; }
  .cec-lr-content { padding: 64px 20px; }
  .cec-lr-title { font-size: clamp(36px, 9vw, 72px); }

  /* ── Timeline ── */
  .cec-timeline-section { padding: 64px 20px 80px !important; }
  .cec-tl-header { text-align: center; margin-bottom: 40px; }
  .cec-tl-main-title { font-size: clamp(24px, 6vw, 42px) !important; }

  /* ── Case slider ── */
  .cec-caseslider { height: 80vh; }
  .cec-cs-hud-tl, .cec-cs-hud-tr { display: none; }
  .cec-cs-title { font-size: clamp(9px, 2.4vw, 13px) !important; line-height: 1.7; }

  /* ── Collector's Edition ── */
  .cec-section.cec-collector .cec-capsula-header { flex-direction: column; gap: 12px; }
  .cec-products-grid--3 { grid-template-columns: repeat(2, 1fr) !important; }
  .cec-product-info { padding: 14px; }
  .cec-product-name { font-size: 12px; }

  /* ── Reviews ── */
  .cec-reviews-grid { grid-template-columns: 1fr !important; }

  /* ── FAQ ── */
  .cec-faq-main-title { font-size: clamp(28px, 8vw, 48px); }
  .cec-faq-list { padding: 0 !important; }
  .cec-faq-q { padding: 20px 0; font-size: 13px; }
  .cec-faq-a p { font-size: 13px; line-height: 1.7; }

  /* ── Newsletter ── */
  .cec-newsletter { padding: 80px 0; }
  .cec-newsletter-inner { padding: 0 20px; }
  .cec-newsletter-title { font-size: clamp(40px, 10vw, 72px); }
  .cec-newsletter-form { flex-direction: column; }
  .cec-newsletter-input {
    border-right: 1px solid var(--border) !important;
    border-bottom: none;
    width: 100%;
  }
  .cec-newsletter-sub { font-size: 12px; }

  /* ── Footer ── */
  .cec-footer-top { grid-template-columns: 1fr 1fr; gap: 32px; }
  .cec-footer-inner { padding: 48px 20px 32px; }
  .cec-footer-bottom { flex-direction: column; align-items: flex-start; gap: 12px; }
  .cec-footer-coords { display: none; }

  /* ── Case Files PAGE ── */
  .cec-cf-hero { padding: 110px 20px 60px !important; }
  .cec-cf-hero-title { font-size: clamp(44px, 11vw, 80px); }
  .cec-cf-hero-sub { font-size: 12px; }
  .cec-cf-grid-section { padding: 48px 16px 80px !important; }
  .cec-cf-grid { grid-template-columns: 1fr !important; }
  .cec-cf-card-body { padding: 24px 20px 28px; }
  .cec-cf-card-title { font-size: clamp(18px, 4.5vw, 24px); }
  .cec-cf-card-excerpt { font-size: 13px; }

  /* ── Single post ── */
  .cec-post-header { padding: 100px 20px 40px !important; }
  .cec-post-thumb { padding: 0 0 48px !important; }
  .cec-post-body { padding: 0 20px 80px !important; font-size: 16px !important; line-height: 1.85 !important; }
  .cec-post-title { font-size: clamp(24px, 6vw, 40px); }
  .cec-post-back { padding: 32px 20px 60px !important; }
}

/* ── 480px (phone portrait) ── */
@media (max-width: 480px) {

  /* Hero */
  .cec-hero { padding: 40px 0 36px; min-height: 88vh; }
  .cec-ufo-scene { width: 150px !important; }
  .cec-hero-title { font-size: clamp(38px, 11vw, 62px) !important; }
  .cec-hero-kicker { font-size: 8px; letter-spacing: .18em; }
  .cec-hero-sub { font-size: 10px !important; letter-spacing: .08em !important; }

  /* Species */
  .cec-species-header { padding: 0 4px !important; }
  .cec-species-title { font-size: clamp(18px, 5.5vw, 38px) !important; }
  .cec-species-card { min-height: 260px !important; }
  .cec-species-card-name { font-size: clamp(18px, 5.5vw, 28px) !important; }
  .cec-species-card-desc { font-size: 11px; line-height: 1.5; }
  .cec-species-card-type { font-size: 9px; }
  .cec-species-card-content { padding: 16px 12px; }

  /* Capsule drops */
  .cec-capsule-drops .cec-limited-release { min-height: 60vh !important; }
  .cec-lr-title { font-size: clamp(32px, 10vw, 56px); }
  .cec-lr-sub { font-size: 11px; }

  /* Products */
  .cec-products-grid--3 { grid-template-columns: repeat(2, 1fr) !important; }

  /* Section titles */
  .cec-section-title { font-size: clamp(24px, 8vw, 42px); }
  .cec-capsula-title { font-size: clamp(20px, 6vw, 32px); }

  /* FAQ */
  .cec-faq-q { font-size: 12px; }

  /* Case Files */
  .cec-cf-hero-title { font-size: clamp(38px, 11vw, 64px); }
  .cec-cf-card-img-wrap { aspect-ratio: 4/3; }
}

/* ── 390px (iPhone 14 / small phones) ── */
@media (max-width: 390px) {

  /* Hero */
  .cec-ufo-scene { width: 130px !important; }
  .cec-hero-title { font-size: 36px !important; }

  /* Species → 1 col on very small phones */
  .cec-species-grid { grid-template-columns: 1fr !important; }
  .cec-species-card { min-height: 260px !important; }

  /* Products → 1 col */
  .cec-products-grid { grid-template-columns: 1fr !important; }
  .cec-products-grid--3 { grid-template-columns: 1fr !important; }

  /* Case Files */
  .cec-cf-card-body { padding: 20px 16px 24px; }

  /* Single post */
  .cec-post-body { font-size: 15px !important; padding: 0 16px 60px !important; }
  .cec-post-header { padding: 80px 16px 32px !important; }
}

/* ============================================
   SINGLE POST v3 — FULL-BLEED EDITORIAL
   ============================================ */

.cec-single-post { background: #000; min-height: 100vh; }

/* ── Hero ── */
.cec-sp-hero {
  position: relative;
  min-height: 88vh;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
}

/* Image version */
.cec-sp-hero--img .cec-sp-hero-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  filter: brightness(.6) saturate(.6);
  display: block;
}

/* Grid fallback */
.cec-sp-hero--grid {
  background: #000;
  min-height: 72vh;
}
.cec-sp-grid-bg {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(61,255,112,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(61,255,112,.03) 1px, transparent 1px);
  background-size: 48px 48px;
  pointer-events: none;
}
.cec-sp-grid-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 90% 70% at 50% 40%, transparent 30%, #000 90%);
}

/* Overlay gradient — stronger at bottom so text is always readable */
.cec-sp-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,.15) 0%,
    rgba(0,0,0,.08) 25%,
    rgba(0,0,0,.55) 60%,
    rgba(0,0,0,.92) 85%,
    #000 100%
  );
  pointer-events: none;
}
.cec-sp-hero--grid .cec-sp-hero-overlay { display: none; }

/* Inner content — sits at the bottom of the hero */
.cec-sp-hero-inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 860px;
  margin: 0 auto;
  padding: 0 40px 56px;
}

/* Topbar */
.cec-sp-topbar {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
.cec-sp-cat {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .22em;
  color: var(--green);
}
.cec-sp-badge {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .18em;
  border: 1px solid rgba(61,255,112,.4);
  color: rgba(61,255,112,.9);
  padding: 3px 10px;
  background: rgba(0,0,0,.4);
  backdrop-filter: blur(4px);
}
.cec-sp-filenum {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .18em;
  color: rgba(255,255,255,.2);
}

/* Coords */
.cec-sp-coords {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .14em;
  margin-bottom: 20px;
}
.cec-sp-coords-label { color: rgba(61,255,112,.6); }
.cec-sp-coords-val   { color: var(--silver2); }
.cec-sp-coords-sep   { color: rgba(255,255,255,.2); }

/* Title — the centrepiece */
.cec-sp-title {
  font-family: var(--display);
  font-size: clamp(28px, 3.8vw, 54px);
  font-weight: 900;
  letter-spacing: -.03em;
  line-height: 1.06;
  color: #fff;
  margin-bottom: 24px;
  text-shadow: 0 2px 40px rgba(0,0,0,.6);
}

/* Meta row */
.cec-sp-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .16em;
  color: rgba(255,255,255,.35);
  flex-wrap: wrap;
}
.cec-sp-sep { color: rgba(255,255,255,.15); }

/* ── Grid-fallback hero inner padding ── */
.cec-sp-hero--grid .cec-sp-hero-inner {
  padding-top: 140px;
  padding-bottom: 64px;
}

/* ── Content column ── */
.cec-sp-content-wrap {
  max-width: 720px;
  margin: 0 auto;
  padding: 64px 40px 96px;
}

/* ── Body typography ── */
.cec-sp-body {
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.82;
  color: rgba(255,255,255,.82);
  letter-spacing: 0.012em;
}

/* Lede — first paragraph */
.cec-sp-body > p:first-child {
  font-size: 21px;
  line-height: 1.68;
  color: rgba(255,255,255,.96);
  margin-bottom: 44px;
  padding-bottom: 40px;
  font-weight: 400;
  border-bottom: 1px solid rgba(61,255,112,.15);
}

.cec-sp-body p { margin-bottom: 14px; }
.cec-sp-body p + p { margin-top: 0; }

.cec-sp-body strong { color: #fff; font-weight: 700; }
.cec-sp-body em { color: rgba(255,255,255,.88); font-style: italic; }

/* Blockquote */
.cec-sp-body blockquote {
  margin: 52px 0;
  padding: 24px 28px;
  background: rgba(61,255,112,.04);
  border-left: 3px solid var(--green);
  font-family: var(--sans);
  font-size: 20px;
  font-weight: 400;
  font-style: italic;
  line-height: 1.65;
  color: rgba(255,255,255,.9);
  letter-spacing: 0;
}
.cec-sp-body blockquote p { margin-bottom: 0; font-size: inherit; line-height: inherit; }
.cec-sp-body blockquote cite {
  display: block;
  margin-top: 12px;
  font-family: var(--mono);
  font-size: 10px;
  font-style: normal;
  letter-spacing: .14em;
  color: rgba(61,255,112,.5);
}

/* In-content images */
.cec-sp-body img {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
  margin: 52px 0 8px;
  border: 1px solid rgba(255,255,255,.07);
}
.cec-sp-body figure { margin: 52px 0; }
.cec-sp-body figure img { width: 100%; max-width: 100%; margin: 0; }
.cec-sp-body figcaption {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .12em;
  color: rgba(255,255,255,.28);
  padding: 10px 0 0;
  line-height: 1.6;
}

/* HR — section divider */
.cec-sp-body hr {
  border: none;
  border-top: 1px solid rgba(61,255,112,.12);
  margin: 56px 0;
  position: relative;
}
.cec-sp-body hr::after {
  content: '· · ·';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #000;
  padding: 0 18px;
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .35em;
  color: rgba(61,255,112,.35);
}

/* Lists — CEC style */
.cec-sp-body ul,
.cec-sp-body ol {
  margin: 28px 0 36px;
  padding: 0;
  list-style: none;
}
.cec-sp-body ul li,
.cec-sp-body ol li {
  position: relative;
  padding: 12px 0 12px 28px;
  border-bottom: 1px solid rgba(255,255,255,.04);
  color: rgba(255,255,255,.8);
  line-height: 1.7;
}
.cec-sp-body ul li::before {
  content: '//';
  position: absolute;
  left: 0;
  top: 14px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .06em;
  color: var(--green);
}
.cec-sp-body ol { counter-reset: cec-list; }
.cec-sp-body ol li::before {
  counter-increment: cec-list;
  content: counter(cec-list, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 14px;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .06em;
  color: var(--green);
}

/* In-content headings */
.cec-sp-body h2 {
  font-family: var(--display);
  font-size: clamp(26px, 3vw, 36px);
  font-weight: 900;
  letter-spacing: -.03em;
  color: #fff;
  margin: 72px 0 20px;
  line-height: 1.08;
}
.cec-sp-body h2::before {
  content: '';
  display: block;
  width: 36px;
  height: 3px;
  background: var(--green);
  box-shadow: 0 0 10px rgba(61,255,112,.5);
  margin-bottom: 16px;
}
.cec-sp-body h3 {
  font-family: var(--display);
  font-size: clamp(20px, 2.2vw, 28px);
  font-weight: 800;
  color: #fff;
  margin: 60px 0 16px;
  line-height: 1.1;
  letter-spacing: -.02em;
  padding-left: 14px;
  border-left: 3px solid var(--green);
}
.cec-sp-body h4 {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .22em;
  color: var(--green);
  margin: 44px 0 14px;
  text-transform: uppercase;
}

/* Lists */
.cec-sp-body ul, .cec-sp-body ol {
  padding-left: 28px;
  margin-bottom: 28px;
}
.cec-sp-body li {
  color: rgba(255,255,255,.78);
  margin-bottom: 12px;
  line-height: 1.85;
  font-size: inherit;
}

/* ── Divider ── */
.cec-sp-divider {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 64px 0 48px;
}
.cec-sp-div-line {
  flex: 1;
  height: 1px;
  background: rgba(61,255,112,.15);
}
.cec-sp-div-label {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .22em;
  color: rgba(61,255,112,.4);
  white-space: nowrap;
}

/* ── Footer: back link + share ── */
.cec-sp-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}
.cec-sp-back-link {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .16em;
  color: var(--green);
  text-decoration: none;
  transition: color .2s;
}
.cec-sp-back-link:hover { color: #fff; }
.cec-sp-share {
  display: flex;
  align-items: center;
  gap: 10px;
}
.cec-sp-share-label {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .2em;
  color: rgba(255,255,255,.25);
}
.cec-sp-share-btn {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .16em;
  color: rgba(255,255,255,.4);
  border: 1px solid rgba(255,255,255,.1);
  padding: 4px 10px;
  text-decoration: none;
  transition: color .2s, border-color .2s;
}
.cec-sp-share-btn:hover { color: var(--green); border-color: rgba(61,255,112,.4); }

/* ── Related posts ── */
.cec-sp-related {
  background: #050505;
  border-top: 1px solid rgba(255,255,255,.05);
  padding: 64px 40px 80px;
}
.cec-sp-related-inner { max-width: 1100px; margin: 0 auto; }
.cec-sp-related-header {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 40px;
}
.cec-sp-related-label {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .22em;
  color: rgba(61,255,112,.5);
  white-space: nowrap;
}
.cec-sp-related-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.cec-sp-rel-card {
  position: relative;
  aspect-ratio: 3/4;
  overflow: hidden;
  background: #111;
  text-decoration: none;
  display: block;
}
.cec-sp-rel-img {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  filter: brightness(.5) saturate(.6);
  transition: transform .5s, filter .3s;
}
.cec-sp-rel-card:hover .cec-sp-rel-img { transform: scale(1.04); filter: brightness(.6) saturate(.7); }
.cec-sp-rel-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 30%, rgba(0,0,0,.95) 100%);
}
.cec-sp-rel-body {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  padding: 18px;
  z-index: 2;
}
.cec-sp-rel-badge {
  display: inline-block;
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: .18em;
  color: rgba(61,255,112,.85);
  border: 1px solid rgba(61,255,112,.35);
  padding: 2px 7px;
  margin-bottom: 6px;
}
.cec-sp-rel-year {
  display: block;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .14em;
  color: rgba(255,255,255,.28);
  margin-bottom: 8px;
}
.cec-sp-rel-title {
  font-family: var(--display);
  font-size: clamp(13px, 1.3vw, 16px);
  font-weight: 800;
  color: #fff;
  line-height: 1.2;
  margin-bottom: 10px;
  letter-spacing: -.01em;
}
.cec-sp-rel-cta {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .16em;
  color: var(--green);
}

/* ── Mobile ── */
@media (max-width: 768px) {
  .cec-sp-hero { min-height: 75vh; }
  .cec-sp-hero-inner { padding: 0 20px 44px; }
  .cec-sp-hero--grid .cec-sp-hero-inner { padding-top: 110px; padding-bottom: 48px; }
  .cec-sp-title { font-size: clamp(24px, 6vw, 40px); }
  .cec-sp-content-wrap { padding: 48px 20px 72px; }
  .cec-sp-body { font-size: 16px; line-height: 1.9; }
  .cec-sp-body > p:first-child { font-size: 19px; }
  .cec-sp-body h2 { font-size: 20px; margin: 44px 0 14px; }
  .cec-sp-related { padding: 48px 20px 64px; }
  .cec-sp-related-grid { grid-template-columns: 1fr; gap: 12px; }
  .cec-sp-rel-card { aspect-ratio: 16/9; }
}

@media (max-width: 480px) {
  .cec-sp-hero { min-height: 70vh; }
  .cec-sp-title { font-size: clamp(22px, 7vw, 36px); }
  .cec-sp-content-wrap { padding: 36px 16px 60px; }
  .cec-sp-body { font-size: 15px; }
  .cec-sp-body > p:first-child { font-size: 17px; }
  .cec-sp-body blockquote { font-size: 17px; padding-left: 20px; }
  .cec-sp-footer { flex-direction: column; align-items: flex-start; }
  .cec-sp-related-grid { grid-template-columns: repeat(2, 1fr); }
  .cec-sp-rel-card { aspect-ratio: 3/4; }
}

/* ── Reading progress bar ── */
.cec-read-progress {
  position: fixed; top: 0; left: 0; height: 3px; width: 0%;
  background: var(--green);
  box-shadow: 0 0 8px rgba(61,255,112,.7), 0 0 20px rgba(61,255,112,.3);
  z-index: 99999; transition: width .08s linear; pointer-events: none;
}

/* ── Scroll reveal ── */
.cec-reveal { opacity: 0; transform: translateY(18px); transition: opacity .55s ease, transform .55s ease; }
.cec-reveal.cec-visible { opacity: 1; transform: translateY(0); }

/* ── Prev / Next post navigation ── */
.cec-sp-postnav {
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
  margin: 48px 0 0; padding-top: 32px;
  border-top: 1px solid rgba(255,255,255,.07);
}
.cec-sp-postnav-link {
  display: flex; flex-direction: column; gap: 8px;
  padding: 20px 22px; background: rgba(255,255,255,.025);
  border: 1px solid rgba(255,255,255,.07); text-decoration: none;
  transition: background .2s, border-color .2s;
}
.cec-sp-postnav-link:hover { background: rgba(61,255,112,.04); border-color: rgba(61,255,112,.2); }
.cec-sp-postnav-next { text-align: right; }
.cec-sp-postnav-label {
  font-family: var(--mono); font-size: 9px; letter-spacing: .25em;
  color: rgba(61,255,112,.6); text-transform: uppercase;
}
.cec-sp-postnav-title {
  font-family: var(--display); font-size: clamp(13px, 1.4vw, 16px);
  font-weight: 800; color: rgba(255,255,255,.8); line-height: 1.25;
  letter-spacing: -.01em;
}
@media (max-width: 640px) {
  .cec-sp-postnav { grid-template-columns: 1fr; }
  .cec-sp-postnav-next { text-align: left; }
}

/* ============================================
   RESPONSIVE — HOME MOBILE FIXES
   ============================================ */

/* ── 768px ── */
@media (max-width: 768px) {

  /* Case slider content */
  .cec-cs-content { padding: 0 20px; }
  .cec-cs-title { font-size: clamp(17px, 4.5vw, 26px) !important; max-width: 100%; }
  .cec-cs-meta { font-size: 10px; letter-spacing: .14em; margin-bottom: 20px; }
  .cec-cs-cta { padding: 11px 22px; font-size: 10px; letter-spacing: .16em; }
  .cec-cs-badge { font-size: 9px; padding: 4px 10px; margin-bottom: 10px; }
  .cec-cs-file { font-size: 10px; letter-spacing: .16em; margin-bottom: 12px; }

  /* Case slider footer — arrows inline with dots on mobile */
  .cec-cs-footer {
    position: absolute;
    bottom: 0; left: 0; right: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    background: rgba(4,10,4,.85);
    border-top: 1px solid rgba(61,255,112,.15);
    gap: 12px;
  }
  .cec-cs-dots { flex-wrap: wrap; justify-content: center; gap: 5px; max-width: 160px; flex: 1; }
  .cec-cs-dot { width: 5px; height: 5px; border-radius: 50%; }
  .cec-cs-dot.active { width: 14px; border-radius: 3px; }
  .cec-cs-counter { position: static; font-size: 9px; white-space: nowrap; }

  /* Nav arrows — static in footer flow, no absolute positioning */
  .cec-cs-nav {
    position: static;
    transform: none;
    width: 36px;
    height: 36px;
    font-size: 14px;
    top: auto;
    left: auto;
    right: auto;
  }

  /* Case slider header */
  .cec-cs-header { padding: 48px 20px 0; }
  .cec-cs-header-inner { flex-direction: column; align-items: flex-start; gap: 10px; }
  .cec-cs-section-title { font-size: clamp(32px, 9vw, 52px); }
  .cec-cs-eyebrow { font-size: 9px; }
  .cec-cs-view-all { font-size: 10px; }

  /* Limited release title em (ROSWELL 47, RENDLESHAM 80) */
  .cec-lr-title { font-size: clamp(20px, 7vw, 60px) !important; line-height: .88; }
  .cec-lr-title em { letter-spacing: -.03em; }
  .cec-lr-eyebrow { font-size: 9px; gap: 10px; }
  .cec-lr-sub { font-size: 11px; letter-spacing: .1em; margin-bottom: 28px; }

  /* Newsletter button full-width on mobile */
  .cec-newsletter-form .cec-btn { width: 100%; justify-content: center; }

  /* Collector products — prevent overflow */
  .cec-capsula { padding: 0 20px 48px; }
  .cec-capsula-num { font-size: clamp(60px, 15vw, 100px); }

  /* Announce bar — avoid text cut */
  .cec-announce-track span { font-size: 9px; letter-spacing: .18em; }

  /* Reviews padding */
  .cec-section.cec-reviews { padding: 64px 20px !important; }
  .cec-review-card { padding: 22px 18px; }
  .cec-review-text { font-size: 13px; line-height: 1.6; }

  /* FAQ padding */
  .cec-section.cec-faq { padding: 64px 20px !important; }
}

/* ── 480px ── */
@media (max-width: 480px) {

  /* Case slider */
  .cec-caseslider { height: 75vh; }
  .cec-cs-title { font-size: clamp(8px, 2.2vw, 11px) !important; line-height: 1.8; }
  .cec-cs-content { padding: 0 16px; }
  .cec-cs-nav { width: 32px; height: 32px; font-size: 13px; }

  /* Limited release */
  .cec-lr-title { font-size: clamp(20px, 7vw, 48px) !important; }
  .cec-lr-content { padding: 48px 16px; }

  /* Newsletter */
  .cec-newsletter-title { font-size: clamp(36px, 11vw, 60px); }

  /* Collector capsule title */
  .cec-capsula-num { font-size: clamp(50px, 14vw, 80px); }
  .cec-capsula-title { font-size: clamp(18px, 5.5vw, 28px) !important; }

  /* Reviews — single column confirmed */
  .cec-reviews-grid { grid-template-columns: 1fr !important; gap: 12px; }

  /* FAQ */
  .cec-faq-q { font-size: 12px; padding: 18px 0; }
}

/* ── 390px (iPhone 14) ── */
@media (max-width: 390px) {

  /* Case slider */
  .cec-cs-title { font-size: 8px !important; line-height: 1.8; }
  .cec-cs-cta { padding: 10px 18px; font-size: 9px; }

  /* Limited release */
  .cec-lr-title { font-size: clamp(24px, 9.5vw, 40px); }
  .cec-lr-title em { letter-spacing: -.04em; }

  /* Newsletter */
  .cec-newsletter-title { font-size: clamp(32px, 12vw, 52px); }

  /* Footer */
  .cec-footer-top { grid-template-columns: 1fr !important; }
  .cec-footer-col h4 { font-size: 9px; margin-bottom: 10px; }
}

/* ── FREE SHIPPING PROGRESS BAR (Cart Drawer) ── */
.cec-free-ship-wrap {
  margin-bottom: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.cec-free-ship-msg {
  font-family: var(--mono, 'DM Mono', monospace);
  font-size: 9px;
  letter-spacing: .12em;
  color: rgba(255,255,255,.45);
  text-transform: uppercase;
  margin-bottom: 8px;
}
.cec-fs-unlocked { color: var(--green); }
.cec-free-ship-track {
  height: 3px;
  background: rgba(255,255,255,.1);
  border-radius: 2px;
  overflow: hidden;
}
.cec-free-ship-fill {
  height: 100%;
  background: var(--green);
  border-radius: 2px;
  transition: width .5s ease;
  width: 0%;
}


/* ══════════════════════════════════════════
   SIZE GUIDE MODAL
══════════════════════════════════════════ */
#cec-sg-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.72);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index: 99999;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
#cec-sg-overlay.open { display: flex; }

#cec-sg-modal {
  background: #fff;
  border-radius: 12px;
  width: 100%;
  max-width: 720px;
  height: min(85vh, 820px);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 24px 80px rgba(0,0,0,.5);
  animation: sgIn .22s cubic-bezier(.4,0,.2,1);
}
@keyframes sgIn {
  from { opacity:0; transform:translateY(16px) scale(.97); }
  to   { opacity:1; transform:none; }
}

#cec-sg-close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 34px;
  height: 34px;
  background: rgba(0,0,0,.55);
  border: none;
  border-radius: 50%;
  color: #fff;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .15s;
}
#cec-sg-close:hover { background: rgba(0,0,0,.82); }

#cec-sg-frame {
  width: 100%;
  flex: 1;
  border: none;
  min-height: 0;
}

@media (max-width: 480px) {
  #cec-sg-overlay { align-items: flex-end; padding: 0; }
  #cec-sg-modal   { border-radius: 14px 14px 0 0; height: 90vh; max-width: 100%; }
}


/* == CEC UX v8.7 == */

/* ── Imagen secundaria en hover de card de producto ── */
.cec-sp-img-wrap { position: relative; overflow: hidden; }
.cec-sp-img-wrap > img { display: block; width: 100%; height: 100%; object-fit: cover; transition: opacity .32s ease; }
.cec-sp-img2 {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity .32s ease;
  z-index: 1;
}
.cec-sp-img-wrap:hover .cec-sp-img2 { opacity: 1; }
.cec-sp-img-wrap:hover > img:not(.cec-sp-img2) { opacity: 0; }
.cec-sp-sale, .cec-sp-soldout { z-index: 2; }

/* ── Low stock badge ── */
.cec-stock-low {
  display: inline-block;
  font-family: var(--mono, "DM Mono", monospace);
  font-size: 10px;
  letter-spacing: .18em;
  color: #e04030;
  background: rgba(224,64,48,.1);
  border: 1px solid rgba(224,64,48,.3);
  border-radius: 4px;
  padding: 4px 10px;
  margin: 0 0 14px;
}

/* ── Boton ATC confirmacion ── */
.cec-atc-done {
  background: rgba(30,180,80,.18) !important;
  color: #3aba60 !important;
  border-color: rgba(30,180,80,.35) !important;
}

/* ── Campo cupon en drawer ── */
.cec-coupon-wrap {
  padding: 10px 0 0;
}
.cec-coupon-row {
  display: flex;
  gap: 6px;
}
.cec-coupon-input {
  flex: 1;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 6px;
  color: #fff;
  font-family: var(--mono, "DM Mono", monospace);
  font-size: 11px;
  letter-spacing: .1em;
  padding: 9px 12px;
  outline: none;
  transition: border-color .18s;
}
.cec-coupon-input::placeholder { color: rgba(255,255,255,.3); }
.cec-coupon-input:focus { border-color: rgba(255,255,255,.35); }
.cec-coupon-btn {
  background: rgba(255,255,255,.1);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 6px;
  color: #fff;
  font-family: var(--mono, "DM Mono", monospace);
  font-size: 10px;
  letter-spacing: .15em;
  padding: 9px 14px;
  cursor: pointer;
  transition: background .18s;
  white-space: nowrap;
}
.cec-coupon-btn:hover { background: rgba(255,255,255,.2); }
.cec-coupon-msg {
  font-family: var(--mono, "DM Mono", monospace);
  font-size: 10px;
  letter-spacing: .12em;
  margin-top: 6px;
  min-height: 16px;
}
.cec-coupon-ok  { color: #3aba60; }
.cec-coupon-err { color: #e04030; }

/* ── Visual swatches ── */
.cec-sw-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}
.cec-sw {
  cursor: pointer;
  border: none;
  outline: none;
  transition: transform .14s, box-shadow .14s, opacity .14s;
  font-family: var(--mono, "DM Mono", monospace);
}
/* Tamano */
.cec-sw-s {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 4px;
  color: rgba(255,255,255,.7);
  font-size: 11px;
  letter-spacing: .14em;
  padding: 7px 13px;
  min-width: 44px;
}
.cec-sw-s:hover    { border-color: rgba(255,255,255,.55) !important; color: #fff; }
.cec-sw-s.active   { background: #fff; color: #000; border-color: #fff !important; }
/* Color */
.cec-sw-c {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  box-shadow: 0 0 0 1px rgba(255,255,255,.2);
  border: 2px solid transparent !important;
  flex-shrink: 0;
}
.cec-sw-c.cec-sw-light {
  box-shadow: 0 0 0 1px rgba(0,0,0,.22), 0 0 0 3px transparent;
}
.cec-sw-c:hover    { transform: scale(1.12); }
.cec-sw-c.active   { box-shadow: 0 0 0 2px #fff, 0 0 0 4px rgba(255,255,255,.3); }
.cec-sw-c.cec-sw-light.active { box-shadow: 0 0 0 1px rgba(0,0,0,.22), 0 0 0 3px #fff, 0 0 0 5px rgba(255,255,255,.3); }

/* ── Transicion de imagen de variacion ── */
.woocommerce-product-gallery .wp-post-image {
  transition: opacity .18s ease;
}


/* ── FAQ CTA button — centrado ── */
.cec-faq-cta {
  text-align: center;
  margin-top: 36px;
}
.cec-faq-cta .cec-btn {
  display: inline-block;
  min-width: 200px;
}

/* ---- Image Zoom ---- */
#cec-zoom-ovr {
  display: none;
  position: fixed; inset: 0;
  background: rgba(0,0,0,.96);
  z-index: 99999;
  align-items: center;
  justify-content: center;
}
#cec-zoom-ovr.open { display: flex; }
#cec-zoom-img { max-width: 88vw; max-height: 88vh; object-fit: contain; }
#cec-zoom-close {
  position: absolute; top: 16px; right: 24px;
  background: none; border: none; color: #fff;
  font-size: 2.4rem; cursor: pointer; line-height: 1; z-index: 2;
}
#cec-zoom-prev, #cec-zoom-next {
  position: absolute; top: 50%; transform: translateY(-50%);
  background: none; border: none; color: #fff;
  font-size: 2rem; cursor: pointer; padding: 16px 20px;
  opacity: .5; transition: opacity .15s;
}
#cec-zoom-prev:hover, #cec-zoom-next:hover { opacity: 1; }
#cec-zoom-prev { left: 8px; }
#cec-zoom-next { right: 8px; }

/* ================================================================
   CEC PHASE 2 FEATURES
   ================================================================ */

/* ---- QUICK VIEW BUTTON (hover sobre card) ---- */
.cec-product-card,
.cec-sp-card,
li.product { position: relative; }

/* ---- QUICK VIEW OVERLAY ---- */
#cec-qv-overlay {
  display: none;
  position: fixed; inset: 0;
  background: rgba(0,0,0,.78);
  z-index: 9999;
  align-items: center; justify-content: center;
  padding: 16px;
}
#cec-qv-overlay.open { display: flex; }

#cec-qv-modal {
  position: relative;
  background: #0d0d0d;
  border: 1px solid #2a2a2a;
  max-width: 860px; width: 100%;
  max-height: 90vh; overflow-y: auto;
  display: flex; flex-direction: column;
  animation: qvFadeIn .22s ease;
}
@keyframes qvFadeIn { from { opacity:0; transform:scale(.97); } to { opacity:1; transform:scale(1); } }

#cec-qv-close {
  position: absolute; top: 10px; right: 14px;
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12);
  color: #ccc; font-size: 1.4rem; cursor: pointer; line-height: 1;
  z-index: 2; width: 36px; height: 36px; display: flex;
  align-items: center; justify-content: center; border-radius: 4px;
  transition: background .15s, color .15s;
}
#cec-qv-close:hover { background: rgba(255,255,255,.14); color: #fff; }

#cec-qv-inner {
  display: flex; flex-wrap: wrap;
}

.cec-qv-loading {
  width: 100%; padding: 60px; text-align: center;
  color: #666; letter-spacing: .15em; font-size: .75rem;
}

.cec-qv-gallery {
  flex: 0 0 48%; padding: 24px;
}
.cec-qv-gallery > img#cec-qv-main-img {
  width: 100%; aspect-ratio: 1; object-fit: cover;
  border: 1px solid #1a1a1a;
}
.cec-qv-thumbs {
  display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap;
}
.cec-qv-thumb {
  width: 56px; height: 56px; object-fit: cover;
  border: 1px solid #2a2a2a; cursor: pointer; opacity: .6;
  transition: opacity .15s, border-color .15s;
}
.cec-qv-thumb.active, .cec-qv-thumb:hover { opacity: 1; border-color: #fff; }

.cec-qv-info {
  flex: 0 0 52%; padding: 32px 24px 24px;
  display: flex; flex-direction: column; gap: 12px;
}

.cec-qv-artifact {
  font-size: .65rem; letter-spacing: .2em; color: #555; margin: 0;
}
.cec-qv-name {
  font-size: 1.15rem; letter-spacing: .08em; margin: 0; line-height: 1.25;
}
.cec-qv-price { font-size: 1rem; color: #ccc; }
.cec-qv-desc  { font-size: .8rem; color: #888; line-height: 1.55; margin: 0; }

.cec-qv-btn-wrap { margin-top: 4px; }
.cec-qv-btn-wrap .cec-btn { width: 100%; text-align: center; }

.cec-qv-full-link {
  font-size: .7rem; color: #555; letter-spacing: .1em;
  text-decoration: none; margin-top: auto;
}
.cec-qv-full-link:hover { color: #fff; }

.cec-qv-view-file {
  width: 100%; justify-content: center; text-align: center;
  margin-top: 10px;
}

/* Variaciones dentro del Quick View */
#cec-qv-inner .variations { width: 100%; border: none; margin-bottom: 12px; }
#cec-qv-inner .variations th.label { width: 90px; font-size: .7rem; letter-spacing: .1em; color: #888; padding-bottom: 6px; }
#cec-qv-inner .variations td { padding-bottom: 10px; }
#cec-qv-inner .variations select { display: none; }
#cec-qv-inner .cec-sw-wrap { display: flex; flex-wrap: wrap; gap: 6px; }

@media (max-width: 640px) {
  #cec-qv-inner { flex-direction: column; }
  .cec-qv-gallery, .cec-qv-info { flex: 0 0 100%; padding: 16px; }
}

/* ============================================
   MOBILE RESPONSIVE - Touch fixes
   ============================================ */
@media (hover: none), (max-width: 768px) {
  /* Touch targets mas grandes para swatches de color */
  .cec-sw-c {
    width: 34px;
    height: 34px;
  }

  /* Talles mas altos para toque facil */
  .cec-sw-s {
    padding: 10px 14px;
    min-width: 48px;
  }

  /* Size guide overlay fullscreen en mobile */
  #cec-sg-modal {
    width: 100vw;
    height: 100vh;
    max-width: none;
    border-radius: 0;
  }
  #cec-sg-frame {
    width: 100%;
    height: calc(100vh - 48px);
  }

  /* Zoom overlay: flechas mas grandes para touch */
  #cec-zoom-prev, #cec-zoom-next {
    padding: 20px 16px;
    font-size: 1.6rem;
    opacity: .8;
  }
  #cec-zoom-img {
    max-width: 96vw;
    max-height: 80vh;
  }

  /* Variations table: evitar overflow en pantallas chicas */
  .variations_form .variations { display: block; width: 100%; }
  .variations_form .variations tbody,
  .variations_form .variations tr { display: block; width: 100%; }
  .variations_form .variations th.label {
    display: block;
    padding-bottom: 6px;
    font-size: .68rem;
  }
  .variations_form .variations td {
    display: block;
    padding-bottom: 14px;
  }

  /* Producto single: columnas apiladas */
  .woocommerce div.product { display: block !important; }
  .woocommerce div.product .woocommerce-product-gallery,
  .woocommerce div.product .summary { width: 100% !important; float: none !important; }
}


/* ---- BACK-IN-STOCK FORM (renderizado por PHP en producto agotado) ---- */
#cec-backstock-form {
  margin-top: 20px;
  padding: 20px;
  border: 1px solid #2a2a2a;
  background: #0d0d0d;
}
#cec-backstock-form p {
  font-size: .75rem; color: #888; letter-spacing: .08em; margin-bottom: 12px;
}
#cec-backstock-form input[type="email"] {
  background: #111; border: 1px solid #2a2a2a; color: #fff;
  padding: 10px 12px; font-family: inherit; font-size: .8rem;
  width: 100%; margin-bottom: 8px; outline: none;
}
#cec-backstock-form input[type="email"]:focus { border-color: #555; }
#cec-bs-msg {
  font-size: .72rem; letter-spacing: .1em; color: #aaa;
  margin-top: 8px; min-height: 1.2em;
}

/* ---- UPSELL EN CART DRAWER ---- */
#cec-upsell-slot {
  border-top: 1px solid #1e1e1e;
  padding: 16px;
  margin-top: 8px;
}
.cec-upsell-heading {
  font-size: .62rem; letter-spacing: .2em; color: #555;
  margin: 0 0 12px;
}
.cec-upsell-item {
  display: flex; align-items: center; gap: 12px;
  margin-bottom: 12px;
}
.cec-upsell-item img {
  width: 56px; height: 56px; object-fit: cover;
  border: 1px solid #1e1e1e; flex-shrink: 0;
}
.cec-upsell-details {
  flex: 1; display: flex; flex-direction: column; gap: 4px;
}
.cec-upsell-name { font-size: .72rem; letter-spacing: .06em; }
.cec-upsell-price { font-size: .7rem; color: #888; }
.cec-upsell-atc {
  font-size: .62rem; padding: 6px 12px; white-space: nowrap;
  flex-shrink: 0;
}

/* ---- Forzar ocultar selects WC en producto — swatches los reemplazan ---- */
.single-product .variations .value select {
  position: absolute !important;
  width: 1px !important; height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  clip: rect(0,0,0,0) !important;
}


/* ---- WC Blocks Checkout dark ---- */

/* Contenedor principal */
.wp-block-woocommerce-checkout {
  background: #040804;
  color: #e0e0e0;
}

/* Inputs y selects */
.wc-block-components-text-input input,
.wc-block-components-select select,
.wc-block-components-country-input input,
.wc-block-components-state-input input,
.wc-block-checkout__add-note textarea,
.wc-block-components-combobox input {
  background: #111 !important;
  color: #e0e0e0 !important;
  border: 1px solid #2a2a2a !important;
  border-radius: 0 !important;
  font-family: var(--mono) !important;
  font-size: 11px !important;
  letter-spacing: .08em !important;
  padding: 14px 16px !important;
  box-shadow: none !important;
  outline: none !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-select select:focus,
.wc-block-components-combobox input:focus {
  border-color: rgba(61,255,112,.5) !important;
  box-shadow: 0 0 0 1px rgba(61,255,112,.18) !important;
}
.wc-block-components-text-input input::placeholder,
.wc-block-components-combobox input::placeholder {
  color: #555 !important;
  font-family: var(--mono) !important;
  font-size: 11px !important;
  letter-spacing: .08em !important;
}

/* Labels */
.wc-block-components-text-input label,
.wc-block-components-select label,
.wc-block-components-combobox label,
.wc-block-components-country-input label,
.wc-block-components-state-input label {
  color: #666 !important;
  font-family: var(--mono) !important;
  font-size: 10px !important;
  letter-spacing: .15em !important;
}

/* Titulos de sección */
.wc-block-components-checkout-step__heading,
.wc-block-checkout__main .wc-block-components-checkout-step__heading-content {
  font-family: var(--mono) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .2em !important;
  color: #3dff70 !important;
  text-transform: uppercase !important;
  border-bottom: 1px solid #1a1a1a !important;
  padding-bottom: 12px !important;
  margin-bottom: 20px !important;
}

/* Panel derecho: Order Summary */
.wc-block-checkout__sidebar .wc-block-components-order-summary,
.wc-block-checkout__sidebar {
  background: #0d0d0d !important;
  border: 1px solid #1a1a1a !important;
  color: #e0e0e0 !important;
}
.wc-block-components-order-summary__button,
.wc-block-components-panel__button {
  font-family: var(--mono) !important;
  font-size: 10px !important;
  letter-spacing: .18em !important;
  color: #aaa !important;
  background: none !important;
  border: none !important;
}
.wc-block-components-order-summary-item__description,
.wc-block-components-order-summary-item__quantity,
.wc-block-components-order-summary-item__full-price,
.wc-block-components-order-summary-item__individual-prices {
  font-family: var(--mono) !important;
  font-size: 10px !important;
  color: #aaa !important;
  letter-spacing: .06em !important;
}
.wc-block-components-order-summary-item__name {
  font-family: var(--mono) !important;
  font-size: 11px !important;
  letter-spacing: .1em !important;
  color: #ddd !important;
}

/* Totales */
.wc-block-components-totals-wrapper {
  background: #0d0d0d !important;
  border-top: 1px solid #1a1a1a !important;
}
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value {
  font-family: var(--mono) !important;
  font-size: 11px !important;
  letter-spacing: .1em !important;
  color: #ccc !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 13px !important;
  color: #fff !important;
  font-weight: 700 !important;
}

/* Checkbox */
.wc-block-components-checkbox input[type="checkbox"] {
  accent-color: #3dff70;
}
.wc-block-components-checkbox .wc-block-components-checkbox__label {
  font-family: var(--mono) !important;
  font-size: 10px !important;
  letter-spacing: .1em !important;
  color: #999 !important;
}

/* "Or continue below" y textos auxiliares */
.wc-block-checkout__main p,
.wc-block-checkout__main small,
.wc-block-checkout__main span:not([class*="cec"]) {
  font-family: var(--mono) !important;
  font-size: 10px !important;
  letter-spacing: .08em !important;
  color: #666 !important;
}

/* Shipping options */
.wc-block-components-radio-control__input {
  accent-color: #3dff70;
}
.wc-block-components-radio-control .wc-block-components-radio-control__label,
.wc-block-components-radio-control .wc-block-components-radio-control__description {
  font-family: var(--mono) !important;
  font-size: 10px !important;
  letter-spacing: .1em !important;
  color: #aaa !important;
}

/* Botón Place Order */
.wc-block-components-checkout-place-order-button,
.wc-block-checkout__place-order .wc-block-components-checkout-place-order-button {
  background: #3dff70 !important;
  color: #040804 !important;
  font-family: var(--mono) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .2em !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 18px 36px !important;
  box-shadow: 0 0 28px rgba(61,255,112,.35) !important;
  transition: all .2s !important;
  text-transform: uppercase !important;
}
.wc-block-components-checkout-place-order-button:hover {
  background: #5fff8a !important;
  box-shadow: 0 0 48px rgba(61,255,112,.55) !important;
}

/* Separadores y bordes internos */
.wc-block-components-checkout-step {
  border-bottom: 1px solid #111 !important;
  padding-bottom: 28px !important;
  margin-bottom: 28px !important;
}

/* Express checkout separator text */
.wc-block-components-express-payment-continue-rule {
  color: #444 !important;
  font-family: var(--mono) !important;
  font-size: 10px !important;
  letter-spacing: .15em !important;
}

/* Coupon input */
.wc-block-components-totals-coupon__input input {
  background: #111 !important;
  color: #e0e0e0 !important;
  border: 1px solid #2a2a2a !important;
  font-family: var(--mono) !important;
  font-size: 11px !important;
  letter-spacing: .08em !important;
}
.wc-block-components-totals-coupon__button {
  font-family: var(--mono) !important;
  font-size: 10px !important;
  letter-spacing: .15em !important;
  color: #3dff70 !important;
  background: none !important;
  border: 1px solid rgba(61,255,112,.3) !important;
}

/* Numero de badge en items */
.wc-block-components-order-summary-item__quantity {
  background: #1a1a1a !important;
  border: 1px solid #2a2a2a !important;
  color: #aaa !important;
  font-family: var(--mono) !important;
}


/* ---- WC Notices dark theme ---- */

/* Notices PHP clásicos (shop, product, cart) */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
  background: #111 !important;
  color: #ccc !important;
  border-top: 2px solid #2a2a2a !important;
  font-family: var(--mono) !important;
  font-size: 10px !important;
  letter-spacing: .12em !important;
  box-shadow: none !important;
}
.woocommerce-error {
  border-top-color: rgba(255,80,80,.4) !important;
}
.woocommerce-message {
  border-top-color: rgba(61,255,112,.3) !important;
}
.woocommerce-message a,
.woocommerce-error a,
.woocommerce-info a {
  color: #3dff70 !important;
  font-family: var(--mono) !important;
}
.woocommerce-message .button,
.woocommerce-error .button,
.woocommerce-info .button {
  background: #111 !important;
  color: #aaa !important;
  border: 1px solid #2a2a2a !important;
  font-family: var(--mono) !important;
  font-size: 10px !important;
  letter-spacing: .15em !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Notices en WooCommerce Blocks (checkout) */
.wc-block-components-notice-banner,
.wc-block-components-notices .wc-block-components-notice-banner {
  background: #111 !important;
  color: #ccc !important;
  border: 1px solid #2a2a2a !important;
  border-left: 3px solid rgba(255,80,80,.5) !important;
  border-radius: 0 !important;
  font-family: var(--mono) !important;
  font-size: 10px !important;
  letter-spacing: .1em !important;
  box-shadow: none !important;
}
.wc-block-components-notice-banner.is-error {
  border-left-color: rgba(255,80,80,.6) !important;
}
.wc-block-components-notice-banner.is-success {
  border-left-color: rgba(61,255,112,.6) !important;
}
.wc-block-components-notice-banner.is-info {
  border-left-color: rgba(100,160,255,.5) !important;
}
.wc-block-components-notice-banner__content {
  color: #bbb !important;
  font-family: var(--mono) !important;
  font-size: 10px !important;
  letter-spacing: .1em !important;
}
.wc-block-components-notice-banner button.is-link {
  color: #666 !important;
}
.wc-block-components-notice-banner button.is-link:hover {
  color: #aaa !important;
}

/* Icono del notice */
.wc-block-components-notice-banner svg {
  fill: rgba(255,80,80,.7) !important;
}
.wc-block-components-notice-banner.is-success svg {
  fill: rgba(61,255,112,.8) !important;
}


/* ---- Checkout: titulo de pagina ---- */
.woocommerce-checkout .cec-section-title,
.woocommerce-page .cec-section-title {
  font-family: var(--mono) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .3em !important;
  color: #3a3a3a !important;
  text-transform: uppercase !important;
  margin-bottom: 40px !important;
}
.woocommerce-checkout .cec-section-title::before {
  content: "// ";
  color: #2a2a2a;
}
.woocommerce-checkout .cec-section-title::after {
  content: " //";
  color: #2a2a2a;
}

/* ---- Checkout: dropdowns de estado/pais (WC Blocks combobox) ---- */
.wc-block-components-select__select,
.wc-block-components-country-input .wc-block-components-select__select,
.wc-block-components-state-input .wc-block-components-select__select,
.wc-block-components-combobox .components-combobox-control__input,
.wc-block-components-select select {
  background: #111 !important;
  background-color: #111 !important;
  color: #e0e0e0 !important;
  border: 1px solid #2a2a2a !important;
  border-radius: 0 !important;
  font-family: var(--mono) !important;
  font-size: 11px !important;
  letter-spacing: .08em !important;
  padding: 14px 16px !important;
  box-shadow: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
.wc-block-components-select__select option,
.wc-block-components-select select option {
  background: #111 !important;
  color: #e0e0e0 !important;
}
.wc-block-components-select {
  background: #111 !important;
  border: 1px solid #2a2a2a !important;
  border-radius: 0 !important;
}
.wc-block-components-select svg,
.wc-block-components-select__expand-icon {
  fill: #555 !important;
  color: #555 !important;
}

/* Wrapper del select con flecha custom */
.wc-block-components-country-input,
.wc-block-components-state-input {
  background: #111 !important;
}

/* ---- Checkout: shipping options (radio) ---- */
.wc-block-components-radio-control__option {
  background: #0d0d0d !important;
  border: 1px solid #1a1a1a !important;
  padding: 14px 16px !important;
  margin-bottom: 8px !important;
  border-radius: 0 !important;
}
.wc-block-components-radio-control__option:has(input:checked),
.wc-block-components-radio-control__option--checked {
  border-color: rgba(61,255,112,.3) !important;
  background: #0a120a !important;
}

/* ---- Checkout: payment methods area ---- */
.wc-block-components-payment-methods,
.wc-block-components-payment-method-options {
  background: #0d0d0d !important;
  border: 1px solid #1a1a1a !important;
  border-radius: 0 !important;
  padding: 0 !important;
}
.wc-block-components-payment-method-label,
.wc-block-components-payment-methods__title {
  font-family: var(--mono) !important;
  font-size: 11px !important;
  letter-spacing: .1em !important;
  color: #ccc !important;
}

/* "Secure, fast checkout with Link" */
.wc-block-components-payment-method-icons,
.wc-block-components-payment-method__icon {
  opacity: .7;
}
.wc-block-components-payment-method__body {
  background: #111 !important;
}
.wc-block-components-payment-method__name {
  font-family: var(--mono) !important;
  font-size: 10px !important;
  letter-spacing: .1em !important;
  color: #999 !important;
}

/* ---- Checkout: "Add a note" checkbox ---- */
.wc-block-checkout__add-note .wc-block-components-checkbox {
  margin: 12px 0 !important;
}
.wc-block-checkout__add-note textarea {
  background: #111 !important;
  color: #e0e0e0 !important;
  border: 1px solid #2a2a2a !important;
  font-family: var(--mono) !important;
  font-size: 11px !important;
  border-radius: 0 !important;
}

/* ---- Checkout: "By proceeding..." terms text ---- */
.wc-block-checkout__terms {
  font-family: var(--mono) !important;
  font-size: 9px !important;
  letter-spacing: .1em !important;
  color: #444 !important;
}
.wc-block-checkout__terms a {
  color: #3dff70 !important;
  text-decoration: none !important;
}

/* ---- Checkout: Add coupons expandible ---- */
.wc-block-components-totals-coupon__content {
  background: #0d0d0d !important;
}

/* ---- Checkout: Express checkout separador ---- */
.wc-block-components-express-payment-continue-rule__border {
  border-color: #1a1a1a !important;
}

/* ---- Order summary: "Order summary" titulo ---- */
.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block h2,
.wc-block-checkout__sidebar h2,
.wc-block-components-order-summary > summary,
.wc-block-components-panel__button {
  font-family: var(--mono) !important;
  font-size: 10px !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
  color: #555 !important;
}

/* ---- Delivery/Subtotal labels mas legibles ---- */
.wc-block-components-totals-item {
  border-top: 1px solid #111 !important;
  padding: 10px 0 !important;
}
.wc-block-components-totals-footer-item {
  border-top: 1px solid #2a2a2a !important;
  padding-top: 16px !important;
  margin-top: 8px !important;
}


/* ---- WC Blocks Cart page dark ---- */

.wc-block-cart,
.wp-block-woocommerce-cart {
  background: #040804;
  color: #e0e0e0;
}

/* Titulo "Your cart" */
.wc-block-cart__main-heading,
.wc-block-cart h1,
.woocommerce-cart .cec-section-title {
  font-family: var(--mono) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .3em !important;
  color: #3a3a3a !important;
  text-transform: uppercase !important;
}
.woocommerce-cart .cec-section-title::before { content: "// "; color: #2a2a2a; }
.woocommerce-cart .cec-section-title::after  { content: " //"; color: #2a2a2a; }

/* Items del carrito */
.wc-block-cart-items__header-label {
  font-family: var(--mono) !important;
  font-size: 9px !important;
  letter-spacing: .18em !important;
  color: #444 !important;
  text-transform: uppercase !important;
}
.wc-block-cart-item__product-name,
.wc-block-cart-item__title {
  font-family: var(--mono) !important;
  font-size: 11px !important;
  letter-spacing: .1em !important;
  color: #ddd !important;
}
.wc-block-cart-item__product-metadata,
.wc-block-cart-item__product-details {
  font-family: var(--mono) !important;
  font-size: 9px !important;
  letter-spacing: .08em !important;
  color: #666 !important;
}
.wc-block-cart-item__prices .wc-block-formatted-money-amount {
  font-family: var(--mono) !important;
  font-size: 11px !important;
  color: #ccc !important;
}

/* Remove item button */
.wc-block-cart-item__remove-link {
  color: #444 !important;
  font-family: var(--mono) !important;
  font-size: 9px !important;
  letter-spacing: .1em !important;
}
.wc-block-cart-item__remove-link:hover { color: #888 !important; }

/* Separador entre items */
.wc-block-cart-items table,
.wc-block-cart-items thead th {
  border-color: #1a1a1a !important;
}

/* Quantity input */
.wc-block-components-quantity-selector {
  background: #111 !important;
  border: 1px solid #2a2a2a !important;
  border-radius: 0 !important;
}
.wc-block-components-quantity-selector input,
.wc-block-components-quantity-selector__button {
  background: transparent !important;
  color: #ccc !important;
  font-family: var(--mono) !important;
  font-size: 11px !important;
  border: none !important;
}
.wc-block-components-quantity-selector__button:hover {
  background: #1a1a1a !important;
  color: #fff !important;
}

/* Proceed to checkout button */
.wc-block-cart__submit-button,
.wc-block-cart__submit .wc-block-components-checkout-place-order-button {
  background: #3dff70 !important;
  color: #040804 !important;
  font-family: var(--mono) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .2em !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 18px 36px !important;
  box-shadow: 0 0 28px rgba(61,255,112,.35) !important;
  transition: all .2s !important;
  text-transform: uppercase !important;
  width: 100% !important;
}
.wc-block-cart__submit-button:hover {
  background: #5fff8a !important;
  box-shadow: 0 0 48px rgba(61,255,112,.55) !important;
}

/* Totales en sidebar del cart */
.wc-block-cart__sidebar .wc-block-components-totals-wrapper,
.wc-block-cart__sidebar {
  background: #0d0d0d !important;
  border: 1px solid #1a1a1a !important;
}

/* ---- Order Confirmation / Thank You page dark ---- */

.woocommerce-order,
.wc-block-order-confirmation,
.wp-block-woocommerce-order-confirmation-summary,
.wp-block-woocommerce-order-confirmation-totals,
.wp-block-woocommerce-order-confirmation-downloads,
.woocommerce-order-received .cec-woo-wrap {
  background: #040804;
  color: #e0e0e0;
}

/* Heading "Order received" */
.wc-block-order-confirmation-summary__title,
.woocommerce-order .woocommerce-thankyou-order-details li,
.woocommerce-thankyou-order-received {
  font-family: var(--mono) !important;
  letter-spacing: .1em !important;
  color: #ccc !important;
}

/* Order details table */
.wc-block-order-confirmation-totals table,
.woocommerce-table--order-details {
  background: #0d0d0d !important;
  border: 1px solid #1a1a1a !important;
  font-family: var(--mono) !important;
  font-size: 10px !important;
  letter-spacing: .08em !important;
  color: #ccc !important;
}
.wc-block-order-confirmation-totals table th,
.wc-block-order-confirmation-totals table td,
.woocommerce-table--order-details th,
.woocommerce-table--order-details td {
  border-color: #1a1a1a !important;
  color: #ccc !important;
  font-family: var(--mono) !important;
}
.wc-block-order-confirmation-totals table tfoot tr:last-child td,
.wc-block-order-confirmation-totals table tfoot tr:last-child th {
  color: #fff !important;
  font-weight: 700 !important;
}

/* Order summary blocks */
.wc-block-order-confirmation-summary-block {
  background: #0d0d0d !important;
  border: 1px solid #1a1a1a !important;
  padding: 24px !important;
  font-family: var(--mono) !important;
}
.wc-block-order-confirmation-summary-block__title {
  font-family: var(--mono) !important;
  font-size: 10px !important;
  letter-spacing: .2em !important;
  color: #3dff70 !important;
  text-transform: uppercase !important;
}
.wc-block-order-confirmation-summary-block__content {
  font-family: var(--mono) !important;
  font-size: 11px !important;
  color: #aaa !important;
  letter-spacing: .06em !important;
}

/* Texto "Thank you. Your order has been received." */
.wc-block-order-confirmation-status p,
.woocommerce-thankyou-order-received {
  font-family: var(--mono) !important;
  font-size: 12px !important;
  letter-spacing: .1em !important;
  color: #888 !important;
}

/* Order number highlight */
.wc-block-order-confirmation-status strong,
.woocommerce-thankyou-order-details .woocommerce-order-overview__order strong {
  color: #3dff70 !important;
  font-family: var(--mono) !important;
}


/* ---- Currency Switcher en header ---- */
.cec-currency-wrap {
  display: flex;
  align-items: center;
}
.cec-currency-wrap .wmc-switcher,
.cec-currency-wrap form,
.cec-currency-wrap .wmc-frontend-dropdown {
  display: flex;
  align-items: center;
}

/* Select nativo del plugin */
.cec-currency-wrap select,
.cec-currency-wrap .wmc-select {
  background: transparent !important;
  color: #aaa !important;
  border: none !important;
  font-family: var(--mono) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .15em !important;
  padding: 4px 20px 4px 4px !important;
  cursor: pointer !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  outline: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23555'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 2px center !important;
  background-size: 8px !important;
}
.cec-currency-wrap select:hover,
.cec-currency-wrap .wmc-select:hover {
  color: #fff !important;
}
.cec-currency-wrap select option {
  background: #0d0d0d !important;
  color: #ccc !important;
  font-family: var(--mono) !important;
}

/* Estilo dropdown tipo link list */
.cec-currency-wrap .wmc-dropdown-wrap {
  position: relative;
}
.cec-currency-wrap .wmc-current-currency {
  font-family: var(--mono) !important;
  font-size: 10px !important;
  letter-spacing: .15em !important;
  color: #aaa !important;
  cursor: pointer;
  padding: 4px 8px;
  transition: color .15s;
}
.cec-currency-wrap .wmc-current-currency:hover { color: #fff; }
.cec-currency-wrap .wmc-dropdown {
  position: absolute;
  top: 100%;
  right: 0;
  background: #0d0d0d;
  border: 1px solid #2a2a2a;
  min-width: 80px;
  z-index: 9999;
  display: none;
}
.cec-currency-wrap .wmc-dropdown-wrap:hover .wmc-dropdown { display: block; }
.cec-currency-wrap .wmc-dropdown a {
  display: block;
  padding: 8px 14px;
  font-family: var(--mono) !important;
  font-size: 10px !important;
  letter-spacing: .12em !important;
  color: #888 !important;
  text-decoration: none;
  transition: color .15s, background .15s;
}
.cec-currency-wrap .wmc-dropdown a:hover,
.cec-currency-wrap .wmc-dropdown a.active {
  color: #3dff70 !important;
  background: #111;
}

/* Mobile: ocultar el switcher en mobile si ocupa mucho espacio */
@media (max-width: 480px) {
  .cec-currency-wrap { display: none; }
}

/* ---- iOS input zoom fix: font-size >= 16px evita autozoom en Safari ---- */
@media (max-width: 768px) {
  input[type='text'],
  input[type='email'],
  input[type='tel'],
  input[type='number'],
  input[type='password'],
  input[type='search'],
  select,
  textarea,
  .wc-block-components-text-input input,
  .wc-block-components-select select,
  .wc-block-components-combobox input,
  .wc-block-components-select__select {
    font-size: 16px !important;
  }
}

/* ---- Mobile: tap highlight y touch suave ---- */
* { -webkit-tap-highlight-color: transparent; }
button, a, [role='button'] { touch-action: manipulation; }


/* ---- WC Notice: VIEW CART button override agresivo ---- */
.woocommerce-message a.button,
.woocommerce-message a.button.wc-forward,
.woocommerce-error a.button,
.woocommerce ul.woocommerce-message a.button,
.wc-block-cart-notices__cart-link,
.wc-block-components-notice-banner a.button,
.woocommerce-notices-wrapper a.button {
  background: transparent !important;
  background-color: transparent !important;
  border: 1px solid rgba(61,255,112,.4) !important;
  color: #3dff70 !important;
  font-family: var(--mono) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
  padding: 10px 20px !important;
  border-radius: 0 !important;
  display: inline-block !important;
  width: auto !important;
  margin: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
.woocommerce-message a.button:hover,
.wc-block-cart-notices__cart-link:hover {
  background: rgba(61,255,112,.08) !important;
  color: #3dff70 !important;
}

/* Wrapper de la notice clasica: quitar padding raro */
.woocommerce-notices-wrapper {
  padding: 0 !important;
}
.woocommerce-notices-wrapper ul.woocommerce-message {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}

/* ---- BUY NOW button ---- */
.cec-buy-now {
  display: block;
  width: 100%;
  padding: 14px 20px;
  margin-top: 10px;
  background: transparent;
  border: 1px solid #3dff70;
  color: #3dff70;
  font-family: 'Space Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.cec-buy-now:hover:not(:disabled) {
  background: rgba(61,255,112,0.08);
}
.cec-buy-now:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Flash cuando no hay variacion seleccionada */
.cec-swatch-wrap.cec-swatch-required {
  outline: 1px solid #ff4444;
  transition: outline 0.2s;
}


/* ============================================
   CASE FILES - SCI-FI UPGRADES
   ============================================ */

/* Scanning line sweep animation */
@keyframes cec-cf-sweep {
  0%   { top: -2px; opacity: 0; }
  8%   { opacity: 1; }
  92%  { opacity: 0.7; }
  100% { top: 100%; opacity: 0; }
}
.cec-cf-scan {
  position: absolute;
  left: 0; right: 0; top: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(61,255,112,.35) 15%, rgba(61,255,112,.95) 50%, rgba(61,255,112,.35) 85%, transparent 100%);
  box-shadow: 0 0 14px rgba(61,255,112,.5), 0 0 32px rgba(61,255,112,.12);
  animation: cec-cf-sweep 5s ease-in-out infinite;
  z-index: 3;
  pointer-events: none;
}

/* Stats bar */
@keyframes cec-cf-blink {
  0%, 100% { opacity: 1; box-shadow: 0 0 5px var(--green); }
  50%       { opacity: 0.15; box-shadow: none; }
}
.cec-cf-statsbar {
  display: flex;
  align-items: stretch;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .2em;
  color: rgba(61,255,112,.85);
  border-bottom: 1px solid rgba(61,255,112,.1);
  background: rgba(0,2,0,.6);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.cec-cf-sb-item {
  padding: 14px 32px;
  border-right: 1px solid rgba(61,255,112,.08);
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 8px;
}
.cec-cf-sb-dot {
  display: inline-block;
  width: 5px; height: 5px;
  border-radius: 50%;
  background: var(--green);
  flex-shrink: 0;
  animation: cec-cf-blink 1.8s ease-in-out infinite;
}
.cec-cf-statsbar strong { color: #fff; font-weight: 700; }

/* Card: relative for reticle pseudo-elements */
.cec-cf-card { position: relative; }

/* Reticle corners on hover */
.cec-cf-card::before,
.cec-cf-card::after {
  content: "";
  position: absolute;
  width: 18px; height: 18px;
  z-index: 10;
  opacity: 0;
  transition: opacity .35s;
  pointer-events: none;
}
.cec-cf-card::before {
  top: 10px; left: 10px;
  border-top: 1px solid rgba(61,255,112,.85);
  border-left: 1px solid rgba(61,255,112,.85);
}
.cec-cf-card::after {
  bottom: 10px; right: 10px;
  border-bottom: 1px solid rgba(61,255,112,.85);
  border-right: 1px solid rgba(61,255,112,.85);
}
.cec-cf-card:hover::before,
.cec-cf-card:hover::after { opacity: 1; }

/* Scanlines texture on card image */
.cec-cf-scanlines {
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    180deg,
    transparent,
    transparent 3px,
    rgba(0,0,0,.06) 3px,
    rgba(0,0,0,.06) 4px
  );
  pointer-events: none;
  z-index: 2;
}

/* Image wrap: green border on hover */
.cec-cf-card-img-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(61,255,112,0);
  transition: border-color .3s;
  z-index: 3;
  pointer-events: none;
}
.cec-cf-card:hover .cec-cf-card-img-wrap::after {
  border-color: rgba(61,255,112,.3);
}

/* Badge: glow on card hover */
.cec-cf-card:hover .cec-cf-badge {
  border-color: rgba(61,255,112,.75);
  box-shadow: 0 0 10px rgba(61,255,112,.2);
  color: var(--green);
}

/* ── Blog post CTA block ── */
.cec-post-cta {
  margin-top: 72px;
  padding: 40px 32px;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.03);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
.cec-post-cta-line {
  width: 40px;
  height: 2px;
  background: var(--green);
  margin-bottom: 4px;
}
.cec-post-cta-label {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .12em;
  color: var(--green);
  margin: 0;
}
.cec-post-cta-capsule {
  font-family: var(--syne);
  font-size: 26px;
  font-weight: 800;
  letter-spacing: .06em;
  color: #fff;
  margin: 0;
}
.cec-post-cta-btn {
  margin-top: 8px;
  text-decoration: none;
}
@media (max-width: 600px) {
  .cec-post-cta { padding: 28px 20px; }
  .cec-post-cta-capsule { font-size: 20px; }
}

/* ── Hero sound toggle ── */
.cec-hero-mute {
  position: absolute;
  bottom: 28px;
  right: 32px;
  z-index: 4;
  display: flex;
  align-items: center;
  gap: 7px;
  background: rgba(0,0,0,.55);
  border: 1px solid rgba(61,255,112,.3);
  color: rgba(61,255,112,.8);
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .18em;
  padding: 7px 14px;
  cursor: pointer;
  transition: border-color .2s, color .2s, background .2s;
  backdrop-filter: blur(4px);
}
.cec-hero-mute:hover {
  border-color: rgba(61,255,112,.7);
  color: #3dff70;
  background: rgba(0,0,0,.75);
}
.cec-hero-mute.is-on {
  border-color: rgba(61,255,112,.6);
  color: #3dff70;
}
.cec-mute-icon { font-size: 11px; line-height: 1; }

/* ══════════════════════════════════════════
   SIGNAL REPORTS SECTION
══════════════════════════════════════════ */

.cec-sr-section {
  padding: 80px 40px 120px;
  max-width: 1200px;
  margin: 0 auto;
}

/* Header */
.cec-sr-header {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-bottom: 56px;
}
.cec-sr-header-line {
  flex: 1;
  height: 1px;
  background: rgba(61,255,112,.15);
}
.cec-sr-header-inner {
  display: flex;
  align-items: center;
  gap: 12px;
  white-space: nowrap;
}
.cec-sr-beacon {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 8px rgba(61,255,112,.8);
  animation: cec-cf-blink 1.2s ease-in-out infinite;
  flex-shrink: 0;
}
.cec-sr-header-label {
  font-family: var(--display);
  font-size: clamp(18px, 2.2vw, 26px);
  font-weight: 900;
  letter-spacing: -.01em;
  color: #fff;
}
.cec-sr-header-sub {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .18em;
  color: rgba(61,255,112,.5);
}

/* Grid */
.cec-sr-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
  background: rgba(61,255,112,.06);
}

/* Card base */
.cec-sr-card {
  background: #020602;
  display: flex;
  flex-direction: column;
  position: relative;
  transition: background .3s;
}
.cec-sr-card:hover { background: #040d04; }

/* Video / image */
.cec-sr-video-wrap {
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
  background: #000;
}
.cec-sr-video {
  width: 100%;
  height: 100%;
  border: none;
  display: block;
}
.cec-sr-img-wrap {
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
}
.cec-sr-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: brightness(.7) saturate(.5);
  transition: filter .4s;
}
.cec-sr-card:hover .cec-sr-img { filter: brightness(.85) saturate(.7); }

/* Body */
.cec-sr-body {
  padding: 24px 24px 28px;
  flex: 1;
  display: flex;
  flex-direction: column;
  border-top: 1px solid rgba(61,255,112,.08);
}

/* Top row */
.cec-sr-toprow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}
.cec-sr-type-badge {
  font-family: var(--mono);
  font-size: 8px;
  letter-spacing: .2em;
  color: rgba(61,255,112,.7);
  border: 1px solid rgba(61,255,112,.25);
  padding: 3px 8px;
}
.cec-sr-card--viral .cec-sr-type-badge {
  color: rgba(255,180,0,.8);
  border-color: rgba(255,180,0,.3);
}
.cec-sr-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(61,255,112,.4);
  animation: cec-cf-blink 1.8s ease-in-out infinite;
  flex-shrink: 0;
}
.cec-sr-card--viral .cec-sr-dot { background: rgba(255,180,0,.5); }

/* Title */
.cec-sr-title {
  font-family: var(--display);
  font-size: clamp(17px, 1.8vw, 22px);
  font-weight: 800;
  letter-spacing: -.01em;
  line-height: 1.18;
  margin-bottom: 12px;
}
.cec-sr-title a { color: var(--silver); text-decoration: none; }
.cec-sr-title a:hover { color: #fff; }

/* Excerpt */
.cec-sr-excerpt {
  font-size: 13px;
  line-height: 1.65;
  color: rgba(255,255,255,.5);
  flex: 1;
  margin-bottom: 20px;
}

/* Meta */
.cec-sr-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 20px;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: .14em;
}
.cec-sr-meta-item { color: rgba(255,255,255,.45); }
.cec-sr-meta-label { color: rgba(61,255,112,.6); }

/* CTA */
.cec-sr-cta {
  display: inline-block;
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: .16em;
  color: rgba(61,255,112,.7);
  text-decoration: none;
  border-bottom: 1px solid rgba(61,255,112,.25);
  padding-bottom: 2px;
  align-self: flex-start;
  transition: color .2s, border-color .2s;
}
.cec-sr-cta:hover { color: var(--green); border-color: rgba(61,255,112,.6); }
.cec-sr-card--viral .cec-sr-cta { color: rgba(255,180,0,.7); border-color: rgba(255,180,0,.25); }
.cec-sr-empty { display: flex; flex-direction: column; align-items: center; gap: 20px; padding: 80px 20px; text-align: center; }.cec-sr-empty-icon { font-family: var(--mono); font-size: 13px; color: rgba(61,255,112,.25); letter-spacing: .2em; }.cec-sr-empty-msg { font-family: var(--mono); font-size: 12px; color: rgba(255,255,255,.3); letter-spacing: .15em; line-height: 2; text-transform: uppercase; }.cec-sr-empty-msg span { color: rgba(255,255,255,.18); }

/* Responsive */
@media (max-width: 900px) {
  .cec-sr-grid { grid-template-columns: repeat(2, 1fr); }
  .cec-sr-section { padding: 60px 20px 80px; }
  .cec-sr-header-sub { display: none; }
}
@media (max-width: 600px) {
  .cec-sr-grid { grid-template-columns: 1fr; }
}
