/* ============================================
   Home Newsletter Section — dark card, 2-col (copy + visual form)
   Mobile: stacked / PC: 2-col grid
   ============================================ */

.newsletter-section {
  padding: var(--sp-8) var(--sp-6);
  background: var(--gx-bg-page);
}

.newsletter-section__inner {
  max-width: var(--gx-content-max);
  margin: 0 auto;
}

/* ── Dark card ──────────────────────────────── */

.newsletter {
  background: var(--gx-ink);
  color: var(--gx-bg-page);
  border-radius: var(--gx-r-xl);
  padding: var(--sp-8) var(--sp-8);
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sp-8);
  align-items: center;
  position: relative;
  overflow: hidden;
}

/* ── Decorative radial gradient circle ───────── */

.newsletter__deco {
  position: absolute;
  top: -80px;
  right: -80px;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 69, 0, .4), transparent 70%);
  pointer-events: none;
}

/* ── Copy column ─────────────────────────────── */

.newsletter__copy {
  position: relative;
}

.newsletter__label {
  font-size: var(--fs-xs);
  font-weight: 700;
  color: var(--gx-accent);
  letter-spacing: .08em;
  text-transform: uppercase;
  margin: 0 0 var(--sp-2);
}

.newsletter__headline {
  font-size: var(--fs-lg);
  font-weight: 700;
  letter-spacing: -.025em;
  line-height: 1.3;
  color: var(--gx-bg-page);
  margin: 0;
}

.newsletter__desc {
  font-size: var(--fs-sm);
  color: #a1a1a6;
  line-height: 1.7;
  margin: var(--sp-4) 0 0;
}

/* ── Visual form ─────────────────────────────── */

.newsletter__form {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3, 12px);
  position: relative;
}

.newsletter__input-wrap {
  flex: 1;
  padding: 15px 18px;
  border-radius: 999px;
  background: var(--gx-mid);
  color: #a1a1a6;
  font-size: var(--fs-sm);
}

.newsletter__btn {
  padding: 15px var(--sp-6);
  border-radius: 999px;
  background: var(--gx-accent);
  color: var(--gx-white);
  font-size: var(--fs-sm);
  font-weight: 600;
  text-align: center;
  white-space: nowrap;
  box-shadow: 0 8px 22px rgba(255, 69, 0, .35);
  cursor: default;
}

/* ── PC (min-width: 768px) ────────────────────── */

@media (min-width: 768px) {
  .newsletter-section {
    padding: var(--sp-12) var(--sp-8);
  }

  .newsletter {
    grid-template-columns: 1fr 1fr;
    padding: var(--sp-12) var(--sp-12);
    gap: var(--sp-8);
  }

  .newsletter__headline {
    font-size: 28px;
  }

  .newsletter__form {
    flex-direction: row;
    align-items: center;
  }
}
