/* ── Hero ── */
.hero {
  background: linear-gradient(135deg, var(--burgundy-dark) 0%, #9b082a 60%, #903245 100%);
  padding: 5rem 3rem 4rem;
  position: relative; overflow: hidden;
}
.hero::before {
  content:  '';/*'🍱';*/
  position: absolute; right: 4%; top: 50%; transform: translateY(-50%);
  font-size: 100px; opacity: 0.07; pointer-events: none; user-select: none;
  /* Image as background so you can resize */
  background-image: url('http://desiswaad.ca/images/logo.png');
  background-size: contain;   /* keeps proportions */
  background-repeat: no-repeat;
  background-position: right;
  width: 100%;     /* adjust to resize */
  height: 100%;
}

/* Gold top border */
.hero::after {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, transparent, var(--gold), var(--saffron), var(--gold), transparent);
}
.hero-content { position: relative; z-index: 1; max-width: 680px; }

.hero-tag {
  display: inline-flex; align-items: center; gap: 6px;
  background: rgba(212,175,55,0.15);
  border: 1px solid rgba(212,175,55,0.4);
  color: var(--gold); font-size: 12px; font-weight: 700;
  letter-spacing: 2px; padding: 6px 16px; border-radius: 30px;
  text-transform: uppercase; margin-bottom: 1.4rem;
}
.hero h1 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(32px, 5vw, 52px);
  color: #FFF8EE; line-height: 1.15; margin-bottom: 1.2rem;
}
.hero h1 em { color: var(--saffron); font-style: italic;}
.hero-desc {
  color: #D4A882; font-size: clamp(15px, 2vw, 17px);
  line-height: 1.75; margin-bottom: 2rem; max-width: 520px;
}
.hero-btns { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 3rem; }
.hero p{ color: #FFF8EE;}
.hero-stats {
  display: flex; gap: clamp(1.5rem, 4vw, 3rem); flex-wrap: wrap;
  padding-top: 2rem;
  border-top: 1px solid rgba(212,175,55,0.2);
}
.stat { display: flex; flex-direction: column; gap: 3px; }
.stat-val {
  font-family: 'Playfair Display', serif;
  font-size: clamp(22px, 3vw, 30px); color: var(--gold); font-weight: 700; line-height: 1;
}
.stat-label {
  font-size: 11px; color: #C5A882;
  letter-spacing: 1.2px; text-transform: uppercase;
}

/* ── Shared section ── */
.section { padding: clamp(2.5rem, 5vw, 4rem) clamp(1.5rem, 4vw, 3rem);}
.section-title {
  font-family: 'Playfair Display', serif;
  font-size: clamp(24px, 4vw, 32px); color: var(--burgundy); margin-bottom: 0.4rem;
}
.section-sub { color: var(--text-mid); margin-bottom: 2.5rem; font-size: 15px; }

/* ── Plans ── */
.plans-section { background: var(--gold-light); align-items: center;}
.plans-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 230px), 1fr));
  gap: 20px;
}
.plan-card {
  background: var(--white);
  border: 1.5px solid var(--border);
  border-radius: var(--radius-lg); padding: 24px 20px 22px;
  position: relative; transition: transform 0.2s, box-shadow 0.2s;
}
.plan-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 32px rgba(128,0,32,0.12);
}
.plan-card.popular {
  border-color: var(--gold);
  box-shadow: 0 4px 20px rgba(212,175,55,0.22);
}
.popular-badge {
  position: absolute; top: -12px; left: 50%; transform: translateX(-50%);
  background: linear-gradient(90deg, var(--gold), var(--saffron));
  color: var(--text-dark); font-size: 11px; font-weight: 700;
  padding: 4px 16px; border-radius: 20px; white-space: nowrap; letter-spacing: 0.5px;
}
.plan-emoji { font-size: 38px; margin-bottom: 10px; }
.plan-name {
  font-family: 'Playfair Display', serif;
  font-size: 20px; color: var(--burgundy); margin-bottom: 4px;
}
.plan-tagline { font-size: 13px; color: var(--text-mid); margin-bottom: 14px; }
.plan-meals { list-style: none; margin-bottom: 18px; display: flex; flex-direction: column; gap: 5px; }
.plan-meals li { font-size: 13px; color: var(--copper); font-weight: 600; }
.plan-pricing {
  background: var(--cream); border-radius: var(--radius-sm);
  padding: 12px 14px; margin-bottom: 18px;
  display: flex; flex-direction: column; gap: 7px;
}
.price-row { display: flex; justify-content: space-between; align-items: center; font-size: 13px; }
.price-label { color: var(--text-mid); }
.price-val { font-weight: 700; color: var(--text-dark); font-size: 14px; }
.price-row.highlight .price-label { color: var(--burgundy); font-weight: 700; }
.price-row.highlight .price-val { color: var(--burgundy); font-size: 16px; }
.plan-btn {
  width: 100%; background: var(--burgundy); border: none;
  border-radius: var(--radius-sm); color: #FFF8EE;
  font-family: 'Lato', sans-serif; font-size: 14px; font-weight: 700;
  padding: 11px; cursor: pointer; transition: background 0.2s;
}
.plan-card.popular .plan-btn {
  background: linear-gradient(90deg, var(--saffron), var(--marigold));
  color: var(--text-dark);
}
.plan-btn:hover { background: var(--saffron); color: var(--text-dark); }

/* ── How it works ── */
.how-section {
  background: linear-gradient(135deg, var(--burgundy-dark) 0%, #9b082a 60%, #903245 100%);
  padding: clamp(2.5rem, 5vw, 4rem) clamp(1.5rem, 4vw, 3rem);
  position: relative; overflow: hidden;
}
.how-section::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}
.how-section::after {
  content: '';
  position: absolute; bottom: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}
.how-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr));
  gap: 20px; margin-top: 2rem;
}
.how-card {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(212,175,55,0.2);
  border-radius: var(--radius-lg); padding: 24px 20px;
  transition: background 0.2s;
}
.how-card:hover { background: rgba(212,175,55,0.08); }
.how-icon { font-size: 32px; margin-bottom: 10px; }
.how-step {
  font-size: 11px; font-weight: 700; color: var(--gold);
  letter-spacing: 1.5px; text-transform: uppercase; margin-bottom: 6px;
}
.how-title {
  font-family: 'Playfair Display', serif;
  font-size: 18px; color: #FFF8EE; margin-bottom: 8px;
}
.how-desc { font-size: 13px; color: #D4A882; line-height: 1.7; }

/* ── Testimonials ── */
.testimonials-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
  gap: 20px;
}
.testimonial-card {
  background: var(--white);
  border: 1px solid var(--border);
  border-top: 3px solid var(--gold);
  border-radius: var(--radius-lg); padding: 24px;
}
.testimonial-stars { color: var(--gold); font-size: 16px; margin-bottom: 12px; }
.testimonial-quote {
  font-size: 14px; color: var(--text-mid);
  line-height: 1.75; margin-bottom: 18px; font-style: italic;
}
.testimonial-author { display: flex; align-items: center; gap: 12px; }
.testimonial-avatar {
  width: 42px; height: 42px; border-radius: 50%;
  background: linear-gradient(135deg, var(--saffron), var(--gold));
  color: var(--text-dark); font-weight: 700; font-size: 17px;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.testimonial-name { font-size: 14px; font-weight: 700; color: var(--text-dark); }
.testimonial-role { font-size: 12px; color: var(--text-mid); }

/* ── CTA banner ── */
.cta-banner {
  background: linear-gradient(90deg, var(--gold-light), #FDF0D5, var(--gold-light));
  border-top: 1.5px solid var(--gold);
  border-bottom: 1.5px solid var(--gold);
  padding: clamp(1.5rem, 3vw, 2.5rem) clamp(1.5rem, 4vw, 3rem);
  display: flex; align-items: center;
  justify-content: space-between; gap: 2rem; flex-wrap: wrap;
}
.cta-text h3 {
  font-family: 'Playfair Display', serif;
  font-size: clamp(18px, 3vw, 22px); color: var(--burgundy); margin-bottom: 4px;
}
.cta-text p { font-size: 14px; color: var(--text-mid); }
