/* First-time visitors page (first-time.html) — page-specific styles */
/* This page uses a light beige theme, distinct from the rest of the (dark) site. */

body.page-first-time { background: var(--color-light-bg); color: var(--color-light-text); }

/* ===== Welcome ===== */
.ft-welcome { padding: 80px 0; text-align: center; }
.ft-welcome__inner { max-width: 700px; margin: 0 auto; }
.ft-welcome__eyebrow { font-family: var(--font-display); font-size: 0.7rem; letter-spacing: 0.3em; text-transform: uppercase; color: #8a7a5e; font-weight: 400; margin-bottom: 12px; }
.ft-welcome__title { font-size: clamp(1.6rem, 4vw, 2.2rem); font-weight: 500; letter-spacing: 0.1em; line-height: 1.6; margin-bottom: 20px; color: var(--color-light-text); }
.ft-welcome__rule { width: 1px; height: 40px; background: var(--color-gold); margin: 0 auto 32px; }
.ft-welcome__lead { font-size: 1rem; line-height: 2.4; color: #4a3f30; font-weight: 300; }
.ft-welcome__lead + .ft-welcome__lead { margin-top: 16px; }

/* ===== Worry voices ===== */
.ft-worry { padding: 60px 0 80px; background: linear-gradient(180deg, #ede6da 0%, var(--color-light-bg) 100%); }
.ft-worry__inner { max-width: 640px; margin: 0 auto; text-align: center; }
.ft-worry__bubbles { display: flex; flex-direction: column; gap: 16px; margin-bottom: 32px; }
.ft-worry__bubble { padding: 20px 28px; background: rgba(255, 255, 255, 0.6); border: 1px solid rgba(160, 130, 80, 0.2); border-radius: 12px; }
.ft-worry__bubble p { font-size: 0.92rem; color: #5a4f40; font-weight: 400; font-style: italic; letter-spacing: 0.04em; }
.ft-worry__quote { font-size: 0.95rem; line-height: 2.2; color: #5a4f40; font-weight: 300; font-style: italic; margin-bottom: 20px; }
.ft-worry__rule { width: 40px; height: 1px; background: var(--color-gold-dark); margin: 0 auto 24px; }
.ft-worry__body { font-size: 0.92rem; line-height: 2.2; color: #4a3f30; font-weight: 300; }

/* ===== Promises ===== */
.ft-promises { padding: 80px 0; background: linear-gradient(180deg, var(--color-light-bg) 0%, #faf8f4 100%); }
.ft-promises__inner { max-width: 720px; margin: 0 auto; }
.ft-promises__head { text-align: center; margin-bottom: 48px; }
.ft-promises__eyebrow { font-family: var(--font-display); font-size: 0.7rem; letter-spacing: 0.3em; text-transform: uppercase; color: #8a7a5e; font-weight: 400; margin-bottom: 12px; }
.ft-promises__title { font-size: 1.4rem; font-weight: 500; letter-spacing: 0.08em; line-height: 1.6; color: var(--color-light-text); margin-bottom: 12px; }
.ft-promises__rule { width: 40px; height: 1px; background: var(--color-gold); margin: 0 auto 24px; }
.ft-promises__list { display: flex; flex-direction: column; gap: 32px; }
.ft-promise-card { background: rgba(255, 255, 255, 0.7); border-radius: 16px; padding: 36px 32px; border: 1px solid rgba(160, 130, 80, 0.15); box-shadow: 0 2px 16px rgba(0, 0, 0, 0.04); }
.ft-promise-card__head { display: flex; align-items: flex-start; gap: 16px; margin-bottom: 16px; }
.ft-promise-card__icon { flex-shrink: 0; display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; background: rgba(160, 130, 80, 0.1); }
.ft-promise-card__num { font-family: var(--font-display); font-size: 1.1rem; font-weight: 600; color: var(--color-gold); margin-right: 10px; }
.ft-promise-card__title { font-size: 0.95rem; font-weight: 500; letter-spacing: 0.05em; color: var(--color-light-text); display: inline; }
.ft-promise-card__list { padding-left: 20px; margin-bottom: 16px; }
.ft-promise-card__list li { font-size: 0.82rem; color: #5a4f40; line-height: 2; font-weight: 300; list-style-type: disc; }
.ft-promise-card__note { font-size: 0.85rem; color: #4a3f30; line-height: 2; font-weight: 300; padding-top: 8px; border-top: 1px solid rgba(160, 130, 80, 0.12); }
.ft-promise-card__body { font-size: 0.85rem; color: #5a4f40; line-height: 2; font-weight: 300; padding-left: 62px; }

/* ===== Therapists (dark bg) ===== */
.ft-therapists {
  position: relative;
  padding: 100px 0;
  background-image: url('../../img/marble-dark.jpg');
  background-size: cover;
  background-position: center;
}
.ft-therapists__overlay { position: absolute; inset: 0; background: rgba(12, 12, 12, 0.88); }
.ft-therapists__inner { position: relative; z-index: 10; max-width: 700px; margin: 0 auto; text-align: center; }
.ft-therapists__eyebrow { font-family: var(--font-display); font-size: 0.7rem; letter-spacing: 0.3em; text-transform: uppercase; color: var(--color-gold); font-weight: 400; margin-bottom: 12px; }
.ft-therapists__title { font-size: 1.4rem; font-weight: 500; letter-spacing: 0.08em; line-height: 1.8; color: var(--color-text-white); margin-bottom: 12px; }
.ft-therapists__rule { width: 40px; height: 1px; background: var(--color-gold); margin: 0 auto 32px; }
.ft-therapists__body { font-size: 0.92rem; line-height: 2.4; color: var(--color-text-cream); font-weight: 300; }
.ft-therapists__body + .ft-therapists__body { margin-top: 16px; }
.ft-therapists__cta { margin-top: 40px; }

/* ===== Flow ===== */
.ft-flow { padding: 80px 0; background: linear-gradient(180deg, #faf8f4 0%, var(--color-light-bg) 100%); }
.ft-flow__inner { max-width: 700px; margin: 0 auto; }
.ft-flow__head { text-align: center; margin-bottom: 48px; }
.ft-flow__eyebrow { font-family: var(--font-display); font-size: 0.7rem; letter-spacing: 0.3em; text-transform: uppercase; color: #8a7a5e; font-weight: 400; margin-bottom: 12px; }
.ft-flow__title { font-size: 1.4rem; font-weight: 500; letter-spacing: 0.08em; line-height: 1.6; color: var(--color-light-text); margin-bottom: 12px; }
.ft-flow__rule { width: 40px; height: 1px; background: var(--color-gold); margin: 0 auto 24px; }

.ft-timeline { position: relative; }
.ft-timeline__spine { position: absolute; left: 24px; top: 0; bottom: 0; width: 1px; background: linear-gradient(180deg, transparent, var(--color-gold), transparent); }
.ft-timeline__step { position: relative; display: flex; align-items: flex-start; gap: 20px; margin-bottom: 40px; }
.ft-timeline__step:last-child { margin-bottom: 0; }
.ft-timeline__icon {
  flex-shrink: 0;
  position: relative;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--color-gold-dark), var(--color-gold));
  box-shadow: 0 4px 20px rgba(201, 169, 110, 0.3);
  font-family: var(--font-display);
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--color-black);
}
.ft-timeline__card { flex: 1; background: rgba(255, 255, 255, 0.7); border-radius: 14px; padding: 24px 28px; border: 1px solid rgba(160, 130, 80, 0.15); box-shadow: 0 2px 12px rgba(0, 0, 0, 0.04); }
.ft-timeline__card-head { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.ft-timeline__card-title { font-size: 0.95rem; font-weight: 500; letter-spacing: 0.05em; color: var(--color-light-text); }
.ft-timeline__card-time { font-size: 0.65rem; color: #8a7a5e; letter-spacing: 0.08em; background: rgba(160, 130, 80, 0.1); padding: 2px 10px; border-radius: 20px; }
.ft-timeline__card-desc { font-size: 0.82rem; color: #5a4f40; line-height: 2; font-weight: 300; }

/* ===== Price + Support cards ===== */
.ft-cards { padding: 60px 0 80px; background: linear-gradient(180deg, var(--color-light-bg) 0%, #ede6da 100%); }
.ft-cards__grid { display: grid; grid-template-columns: 1fr; gap: 24px; max-width: 800px; margin: 0 auto; }
@media (min-width: 768px) { .ft-cards__grid { grid-template-columns: repeat(2, 1fr); } }
.ft-info-card { background: rgba(255, 255, 255, 0.7); border-radius: 16px; padding: 36px 28px; border: 1px solid rgba(160, 130, 80, 0.15); box-shadow: 0 2px 16px rgba(0, 0, 0, 0.04); }
.ft-info-card__eyebrow { font-family: var(--font-display); font-size: 0.7rem; letter-spacing: 0.3em; text-transform: uppercase; color: #8a7a5e; font-weight: 400; margin-bottom: 12px; }
.ft-info-card__title { font-size: 1.05rem; font-weight: 500; letter-spacing: 0.06em; color: var(--color-light-text); margin-bottom: 16px; }
.ft-info-card__desc { font-size: 0.82rem; color: #5a4f40; line-height: 2; font-weight: 300; margin-bottom: 20px; }
.ft-info-card__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 24px;
  background: var(--color-gold);
  color: var(--color-black);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  border-radius: 30px;
  font-weight: 600;
  text-decoration: none;
  transition: transform 0.3s ease;
}
.ft-info-card__link:hover { transform: translateY(-2px); }
.ft-info-card__link--outline { background: transparent; color: #8a6e30; font-weight: 500; border: 1px solid rgba(160, 130, 80, 0.3); }

/* ===== CTA ===== */
.ft-cta { padding: 80px 0; background: linear-gradient(180deg, #ede6da 0%, #e8e0d2 100%); text-align: center; }
.ft-cta__inner { max-width: 640px; margin: 0 auto; }
.ft-cta__title { font-size: 1.3rem; font-weight: 500; letter-spacing: 0.08em; line-height: 1.8; color: var(--color-light-text); margin-bottom: 24px; }
.ft-cta__rule { width: 40px; height: 1px; background: var(--color-gold-dark); margin: 0 auto 28px; }
.ft-cta__body { font-size: 0.92rem; line-height: 2.4; color: #4a3f30; font-weight: 300; }
.ft-cta__body + .ft-cta__body { margin-top: 16px; }
.ft-cta__actions { margin-top: 40px; }
