/* ============ Sections ============ */
section { margin-top: 36px; }
h2.section-title {
  font-size: 1.32rem;
  font-weight: 800;
  letter-spacing: -0.025em;
  margin-bottom: 4px;
}
p.section-subtitle {
  color: var(--soft);
  font-size: 0.86rem;
  line-height: 1.5;
  margin-bottom: 14px;
  font-weight: 450;
}

/* Story */
.story-card {
  padding: 18px 20px;
  border-radius: 20px;
  font-size: 0.9rem;
  line-height: 1.56;
}
.story-card p + p { margin-top: 12px; }
.story-card .soft-text { color: var(--soft); }

/* How it works */
.cards-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.feature-card {
  padding: 14px 18px;
  border-radius: 18px;
}
.feature-card h3 {
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: -0.015em;
}
.feature-card p {
  color: var(--soft);
  font-size: 0.84rem;
  line-height: 1.45;
  margin-top: 3px;
}

/* Gentle Reminders */
.reminders-card {
  padding: 18px 20px;
  border-radius: 20px;
}
.reminders-header {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 14px;
}
.reminders-badge { display: none; }
.reminders-title-group h3 {
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.reminders-title-group .soft-text {
  font-size: 0.9rem;
  margin-top: 4px;
  color: var(--soft);
  line-height: 1.5;
}
.reminders-interactive-card {
  background: rgba(255, 255, 255, 0.5);
  border: 1px solid var(--edge);
  border-radius: 16px;
  padding: 12px;
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
[data-theme="dark"] .reminders-interactive-card {
  background: rgba(14, 15, 20, 0.65);
}
.reminder-sample-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 11px 14px;
  border-radius: 14px;
  background: var(--glass-strong);
  border: 1px solid var(--edge);
  margin-bottom: 10px;
}
.reminder-sample-title {
  font-size: 0.92rem;
  font-weight: 700;
}
.reminder-sample-desc {
  font-size: 0.78rem;
  color: var(--soft);
  margin-top: 2px;
}
.reminder-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.reminder-chip {
  font-size: 0.78rem;
  font-weight: 600;
  padding: 6px 12px;
  border-radius: 999px;
  background: var(--glass);
  border: 1px solid var(--edge);
  color: var(--text);
}
.reminder-chip.active {
  background: var(--accent);
  color: var(--on-accent);
  border-color: transparent;
}

/* Steps */
.steps-container {
  padding: 6px 18px;
  border-radius: 20px;
}
.step-row {
  display: flex;
  gap: 12px;
  padding: 12px 0;
  align-items: flex-start;
}
.step-row + .step-row { border-top: 1px solid var(--line); }
.step-number {
  flex: none;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--accent);
  color: var(--on-accent);
  display: grid;
  place-items: center;
  font-size: 0.76rem;
  font-weight: 800;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15);
}
.step-content h4 {
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: -0.01em;
}
.step-content p {
  font-size: 0.8rem;
  line-height: 1.45;
  color: var(--soft);
  margin-top: 4px;
}
.step-content p b {
  color: var(--text);
  font-weight: 600;
}
.optional-tag {
  display: inline-block;
  font-size: 0.66rem;
  font-weight: 700;
  padding: 2px 7px;
  border-radius: 999px;
  background: var(--glass-strong);
  border: 1px solid var(--edge);
  margin-left: 6px;
  vertical-align: 1px;
  color: var(--soft);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.info-note {
  color: var(--soft);
  font-size: 0.82rem;
  line-height: 1.55;
  margin-top: 14px;
  padding-left: 4px;
}

/* Privacy */
.privacy-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.privacy-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 13px;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--text);
}
.privacy-tag svg {
  width: 14px;
  height: 14px;
  color: var(--text);
  opacity: 0.85;
}

.reminder-sample-time { font-size: 0.8rem; font-weight: 700; }
