/* ==========================================================
   LOGO SECTION — Cinematic Showcase Redesign
   ========================================================== */

/* ── Hero Card (full-width primary) ── */
.logo-hero {
  border-radius: var(--r-lg);
  overflow: hidden;
  margin-bottom: 16px;
  position: relative;
  background: var(--c-black);
  border: 1px solid var(--g-border);
  box-shadow: var(--g-shadow-card);
}

/* Subtle dot mesh pattern */
.logo-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(255, 255, 255, 0.06) 1px, transparent 1px);
  background-size: 28px 28px;
  pointer-events: none;
}

/* Aurora ambient glow */
.logo-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 80% at 90% 10%, color-mix(in srgb, var(--c-purple) 18%, transparent) 0%, transparent 60%),
    radial-gradient(ellipse 50% 60% at 10% 90%, color-mix(in srgb, var(--c-blue) 14%, transparent) 0%, transparent 55%);
  pointer-events: none;
}

.logo-hero__preview {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 72px 32px 56px;
  min-height: 240px;
}

.logo-hero__wordmark {
  font-family: var(--f-display);
  font-weight: 800;
  font-size: 32px;
  letter-spacing: -0.03em;
  color: var(--c-cream);
  line-height: 1;
}

.logo-hero__badge {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 3;
  padding: 10px 20px;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-top: 1px solid var(--g-border-dim);
  font-family: var(--f-mono);
  font-size: 10.5px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-3);
}

/* ── Logo Grid ── */
.logo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 12px;
  margin-bottom: 48px;
}

/* ── Logo Card Base ── */
.logo-card {
  border-radius: var(--r-lg);
  overflow: hidden;
  position: relative;
  box-shadow: var(--g-shadow-card);
  transition: transform 380ms cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 380ms ease;
}

.logo-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--g-shadow-hover);
}

/* Specular edge */
.logo-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 4%;
  right: 4%;
  height: 1px;
  background: var(--g-specular);
  z-index: 3;
  pointer-events: none;
}

.logo-card__preview {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 52px 28px 40px;
  min-height: 180px;
  position: relative;
}

.logo-card__label {
  padding: 10px 16px;
  background: rgba(0, 0, 0, 0.42);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-top: 1px solid var(--g-border-dim);
  font-family: var(--f-mono);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-3);
}

/* ── Card Background Variants ── */
.logo-card--dark {
  background: var(--c-black);
  border: 1px solid var(--g-border);
}

.logo-card--light {
  background: var(--c-cream);
  border: 1px solid rgba(0, 0, 0, 0.10);
}

.logo-card--light .logo-card__label {
  background: rgba(245, 240, 232, 0.88);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: color-mix(in srgb, var(--c-black) 60%, transparent);
  border-top-color: rgba(0, 0, 0, 0.07);
}

.logo-card--purple {
  background: color-mix(in srgb, var(--c-purple) 8%, var(--c-black));
  border: 1px solid color-mix(in srgb, var(--c-purple) 28%, transparent);
}

.logo-card--gradient {
  background:
    radial-gradient(ellipse 80% 90% at 88% 8%, color-mix(in srgb, var(--c-purple) 24%, transparent) 0%, transparent 58%),
    radial-gradient(ellipse 65% 65% at 12% 88%, color-mix(in srgb, var(--c-blue) 20%, transparent) 0%, transparent 55%),
    var(--c-black);
  border: 1px solid color-mix(in srgb, var(--c-blue) 28%, transparent);
  position: relative;
}

/* ── Inline Logo (symbol + wordmark) ── */
.logo-inline {
  display: flex;
  align-items: center;
  gap: 10px;
}

.logo-wordmark {
  font-family: var(--f-display);
  font-weight: 800;
  font-size: 18px;
  letter-spacing: -0.02em;
  line-height: 1;
}

.logo-wordmark--white  { color: var(--c-cream); }
.logo-wordmark--dark   { color: var(--c-black); }
.logo-wordmark--purple { color: var(--c-purple); }

/* ── Logo Rules Grid ── */
.logo-rules {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 8px;
  margin-bottom: 20px;
}

.logo-rule {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 16px;
  border-radius: var(--r-md);
  font-size: 13.5px;
  font-weight: 500;
  line-height: 1.45;
}

.logo-rule i { flex-shrink: 0; width: 16px; height: 16px; margin-top: 2px; }

.logo-rule--correct {
  background: var(--rule-ok-bg);
  color: var(--rule-ok-text);
  border: 1px solid var(--rule-ok-border);
}

.logo-rule--correct i { color: var(--rule-ok-text); }

.logo-rule--wrong {
  background: var(--rule-no-bg);
  color: var(--rule-no-text);
  border: 1px solid var(--rule-no-border);
}

.logo-rule--wrong i { color: var(--rule-no-text); }

/* ── Clearspace Note ── */
.logo-note {
  margin-top: 0;
  padding: 18px 22px;
  font-size: 13.5px;
  color: var(--text-2);
  line-height: 1.65;
  border-radius: var(--r-lg);
  background: var(--g-1);
  backdrop-filter: var(--g-blur);
  -webkit-backdrop-filter: var(--g-blur);
  border: 1px solid var(--g-border-dim);
  box-shadow: var(--g-shadow-card);
}

.logo-note strong {
  color: var(--text);
  font-weight: 700;
}

/* ── Responsive ── */
@media (max-width: 600px) {
  .logo-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .logo-hero__preview {
    padding: 48px 24px 40px;
  }

  .logo-hero__wordmark {
    font-size: 24px;
  }
}
