/* Sections */
section { padding: 7rem 5rem; }

/* Pill label & section heading */
.pill-label {
  display: inline-block; font-size: 0.68rem; letter-spacing: 0.15em; text-transform: uppercase;
  background: var(--rose-dim); color: var(--rose); padding: 0.3rem 1rem; border-radius: 100px;
  margin-bottom: 1.2rem; border: 1px solid var(--border);
}
.section-title { font-family: 'Playfair Display', serif; font-size: clamp(2rem, 4vw, 3.5rem); font-weight: 700; line-height: 1.1; margin-bottom: 1rem; }
.section-title em { font-style: italic; color: var(--rose); }
.accent-line { width: 50px; height: 3px; border-radius: 100px; background: linear-gradient(90deg, var(--rose), var(--violet)); margin-bottom: 2rem; }

/* Buttons */
.btn-rose {
  font-size: 0.8rem; letter-spacing: 0.1em; padding: 0.9rem 2.2rem; border-radius: 100px;
  background: linear-gradient(135deg, var(--rose), #c73060); color: #fff; border: none;
  cursor: pointer; text-decoration: none; display: inline-block;
  transition: transform 0.2s, opacity 0.2s; font-family: 'DM Sans', sans-serif;
}
.btn-rose:hover { transform: translateY(-2px); opacity: 0.9; }
.btn-outline {
  font-size: 0.8rem; letter-spacing: 0.1em; padding: 0.9rem 2.2rem; border-radius: 100px;
  background: transparent; color: var(--cream); border: 1px solid rgba(245,240,247,0.2);
  cursor: pointer; text-decoration: none; display: inline-block;
  transition: border-color 0.2s, transform 0.2s; font-family: 'DM Sans', sans-serif;
}
.btn-outline:hover { border-color: var(--rose); transform: translateY(-2px); }

/* Form shared elements */
.fg { margin-bottom: 1.1rem; }
.fg label { display: block; font-size: 0.68rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(--muted); margin-bottom: 0.45rem; }
.fg input, .fg select, .fg textarea {
  width: 100%; background: rgba(255,255,255,0.04); border: 1px solid rgba(232,80,122,0.2);
  border-radius: 10px; color: var(--cream); font-family: 'DM Sans', sans-serif;
  font-size: 0.88rem; padding: 0.75rem 1rem; outline: none;
  transition: border-color 0.2s, background 0.2s; appearance: none;
}
.fg input:focus, .fg select:focus, .fg textarea:focus { border-color: var(--rose); background: var(--rose-dim); }
.fg textarea { resize: vertical; min-height: 85px; }
.fg select option { background: var(--card); color: var(--cream); }

.consent-box {
  display: flex; gap: 0.7rem; align-items: flex-start; padding: 1rem 1.2rem;
  border-radius: 12px; background: var(--rose-dim); border: 1px solid var(--border); margin: 1.3rem 0;
}
.consent-box input { flex-shrink: 0; margin-top: 2px; accent-color: var(--rose); }
.consent-box span { font-size: 0.78rem; line-height: 1.6; color: var(--muted); }

.btn-submit {
  width: 100%; font-family: 'DM Sans', sans-serif; font-size: 0.85rem; font-weight: 500;
  letter-spacing: 0.08em; padding: 1rem; border-radius: 12px; border: none; cursor: pointer;
  background: linear-gradient(135deg, var(--rose), #c73060); color: #fff;
  transition: opacity 0.2s, transform 0.2s;
}
.btn-submit:hover { opacity: 0.88; transform: translateY(-2px); }
