
/* ===== NEW LANDING PAGE LAYOUT STYLES ===== */
:root {
  --lp-green-deep:  #1a3d2b;
  --lp-green-mid:   var(--primary-green);
  --lp-green-light: var(--primary-green);
  --lp-green-pale:  var(--light-green);
  --lp-gold:        var(--primary-gold);
  --lp-gold-light:  var(--light-gold);
  --lp-cream:       var(--bg-cream);
  --lp-ink:         var(--text-dark);
  --lp-muted:       var(--text-light);
  --lp-radius:      16px;
  --lp-radius-lg:   28px;
  --lp-shadow:      0 8px 32px rgba(30,80,50,.10);
  --lp-shadow-lg:   0 20px 60px rgba(30,80,50,.16);
  --lp-transition:  .5s cubic-bezier(.22,1,.36,1);
}

/* Floating Particles */
.particles {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
}
.particles span {
  position: absolute;
  display: block;
  width: 14px;
  height: 14px;
  background: var(--lp-green-light);
  border-radius: 50%;
  opacity: .12;
  animation: lpFloatUp linear infinite;
}

@keyframes lpFloatUp {
  0%   { bottom: -20px; opacity: 0; transform: translateX(0) scale(.8); }
  10%  { opacity: .15; }
  90%  { opacity: .12; }
  100% { bottom: 110vh; opacity: 0; transform: translateX(40px) scale(1.1); }
}

/* Typography Overrides for Landing Page */
.lp-title { font-family: 'Playfair Display', serif; line-height: 1.18; }
.lp-body { font-family: 'Manrope', sans-serif; }

/* Buttons */
.lp-btn {
  display: inline-block;
  font-family: 'Manrope', sans-serif;
  font-weight: 600;
  font-size: .95rem;
  padding: .85rem 2.2rem;
  border-radius: 100px;
  cursor: pointer;
  transition: transform .25s ease, box-shadow .25s ease;
  position: relative;
  z-index: 1;
  text-decoration: none;
}
.lp-btn--primary {
  background: var(--lp-green-deep);
  color: var(--white);
  box-shadow: 0 4px 20px rgba(26,61,43,.3);
}
.lp-btn--gold {
  background: var(--lp-gold);
  color: white;
  box-shadow: 0 4px 20px rgba(184, 134, 11, 0.4);
  font-weight: 700;
}

/* Hero Section */
.lp-hero {
  position: relative;
  z-index: 1;
  min-height: 90vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 4rem 1.5rem;
  background:
    radial-gradient(ellipse 80% 60% at 50% 0%, rgba(107, 191, 89, 0.18) 0%, transparent 70%),
    radial-gradient(ellipse 60% 40% at 20% 80%, rgba(184, 134, 11, 0.10) 0%, transparent 60%),
    var(--lp-cream);
  overflow: hidden;
}
.lp-hero__badge {
  background: var(--lp-green-pale);
  color: var(--lp-green-mid);
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .08em;
  padding: .4rem 1rem;
  border-radius: 100px;
  border: 1px solid rgba(107, 191, 89, 0.3);
  margin-bottom: 1.5rem;
}
.lp-hero__title {
  font-size: clamp(2.6rem, 7vw, 5.5rem);
  font-weight: 900;
  color: var(--lp-ink);
  margin-bottom: 1.2rem;
  line-height: 1.1;
}
.lp-hero__title em {
  font-style: italic;
  color: var(--lp-green-light);
  position: relative;
}
.lp-hero__title em::after {
  content: '';
  position: absolute;
  left: 0; right: 0; bottom: 4px;
  height: 4px;
  background: var(--lp-gold);
  border-radius: 4px;
  transform-origin: left;
}
.lp-hero__sub {
  max-width: 580px;
  font-size: 1.15rem;
  color: var(--lp-muted);
  margin: 0 auto 2rem;
}
.lp-hero__stats {
  display: flex;
  gap: 2.5rem;
  margin-top: 2.5rem;
}
.lp-hero__stats .stat { display: flex; flex-direction: column; align-items: center; }
.lp-hero__stats .stat__num { font-family: 'Playfair Display', serif; font-size: 2rem; font-weight: 900; color: var(--lp-green-deep); }
.lp-hero__stats .stat__label { font-size: .8rem; font-weight: 600; color: var(--lp-muted); text-transform: uppercase; }

/* Sections */
.lp-section { position: relative; z-index: 1; padding: 6rem 0; }
.lp-section--alt { background: var(--lp-green-pale); }
.lp-section--dark { background: var(--lp-green-deep); color: white; }
.lp-section--cta { background: linear-gradient(135deg, var(--lp-green-deep) 0%, var(--dark-green) 100%); color: white; }

.lp-container { max-width: 1100px; margin: 0 auto; padding: 0 1.5rem; }

.lp-label {
  display: inline-block;
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--lp-green-mid);
  background: var(--lp-green-pale);
  padding: .3rem .8rem;
  border-radius: 100px;
  margin-bottom: .9rem;
}

/* Reveal Animation */
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: all .7s cubic-bezier(.22,1,.36,1);
}
.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Grid & Cards */
.lp-two-col { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
.lp-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.lp-card {
  background: var(--white);
  border-radius: var(--lp-radius-lg);
  padding: 2rem 1.5rem;
  box-shadow: var(--lp-shadow);
  transition: transform var(--lp-transition), box-shadow var(--lp-transition);
  color: var(--text-dark);
}
.lp-card:hover { transform: translateY(-8px); box-shadow: var(--lp-shadow-lg); }
.lp-card .card__icon { font-size: 2.5rem; margin-bottom: 1rem; }

.lp-icon-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.lp-icon-tile {
  display: flex; flex-direction: column; align-items: center; gap: .5rem;
  padding: 1.5rem 1rem; background: var(--lp-green-pale); border-radius: var(--lp-radius);
  font-size: 2rem; transition: transform var(--lp-transition);
}
.lp-icon-tile span { font-size: .78rem; font-weight: 600; color: var(--lp-green-mid); }

.lp-convo-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; }
.lp-convo-card {
  background: var(--white); border-radius: var(--lp-radius-lg); padding: 1.8rem 1.5rem;
  box-shadow: var(--lp-shadow); text-align: center; transition: transform var(--lp-transition);
}
.lp-convo-card span { font-size: 2rem; display: block; margin-bottom: .8rem; }

.lp-audience-row { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; }
.lp-audience-pill {
  background: var(--white); color: var(--lp-green-deep); font-weight: 600;
  padding: .75rem 1.5rem; border-radius: 100px; box-shadow: var(--lp-shadow);
}

.lp-steps { position: relative; max-width: 700px; margin: 0 auto; }
.lp-steps::before {
  content: ''; position: absolute; left: 2.4rem; top: 1.5rem; bottom: 1.5rem;
  width: 2px; background: linear-gradient(to bottom, var(--lp-green-light), var(--lp-gold));
}
.lp-step { display: flex; gap: 2rem; align-items: flex-start; padding: 1.5rem 0; }
.lp-step__num {
  width: 4.8rem; height: 4.8rem; background: var(--lp-green-deep); color: var(--lp-gold);
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  font-family: 'Playfair Display', serif; font-size: 1.1rem; font-weight: 900; z-index: 1; flex-shrink: 0;
}

.lp-benefits { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; margin-bottom: 2.5rem; }
.lp-benefit {
  background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12);
  border-radius: var(--lp-radius-lg); padding: 2rem 1.3rem; text-align: center;
}
.lp-benefit .benefit__icon { font-size: 2rem; margin-bottom: .8rem; }

.lp-tips-list { display: flex; flex-direction: column; gap: 1rem; max-width: 750px; margin: 0 auto; }
.lp-tip {
  display: flex; gap: 1.5rem; align-items: flex-start; background: var(--white);
  border-radius: var(--lp-radius); padding: 1.4rem 1.8rem; box-shadow: var(--lp-shadow);
}
.lp-tip__num {
  width: 2.6rem; height: 2.6rem; background: var(--lp-green-pale); color: var(--lp-green-deep);
  border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}

.check-list { list-style: none; padding: 0; margin-top: 1.5rem; }
.check-list li { position: relative; padding-left: 1.8rem; margin-bottom: .8rem; }
.check-list li::before { content: '✓'; position: absolute; left: 0; color: var(--lp-green-mid); font-weight: 900; }

.section-head { text-align: center; margin-bottom: 3rem; }

@media (max-width: 900px) {
  .lp-two-col, .lp-cards, .lp-benefits, .lp-convo-grid { grid-template-columns: 1fr; }
  .lp-hero__stats { gap: 1.5rem; flex-wrap: wrap; justify-content: center; }
  .lp-hero__title { font-size: 3rem; }
  .lp-section { padding: 4rem 0; }
}

/* --- Shared Landing Page Utilities --- */
.lp-schedule-table {
  max-width: 900px;
  margin: 3rem auto;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.lp-schedule-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: var(--white);
  padding: 1.5rem 2rem;
  border-radius: var(--lp-radius);
  box-shadow: var(--lp-shadow);
  transition: transform var(--lp-transition);
}
.lp-schedule-row:hover { transform: scale(1.02); box-shadow: var(--lp-shadow-lg); }
.lp-session-time { font-weight: 700; color: var(--lp-green-deep); display: flex; align-items: center; gap: .8rem; }

.lp-topic-pills { display: flex; flex-wrap: wrap; gap: 1rem; justify-content: center; margin: 2rem 0; }
.lp-topic-pill {
  background: var(--white);
  border: 1px solid var(--lp-green-light);
  padding: .7rem 1.5rem;
  border-radius: 100px;
  font-weight: 600;
  color: var(--lp-green-mid);
  display: flex;
  align-items: center;
  gap: .6rem;
  transition: all .3s ease;
}
.lp-topic-pill:hover { background: var(--lp-green-pale); transform: translateY(-3px); }

.lp-cert-card {
  background: var(--white);
  border: 2px dashed var(--lp-gold);
  border-radius: var(--lp-radius-lg);
  padding: 3.5rem 2rem;
  text-align: center;
  box-shadow: var(--lp-shadow-lg);
  margin: 4rem 0;
}

@media (max-width: 768px) {
  .lp-schedule-row { flex-direction: column; gap: 1rem; text-align: center; }
  .lp-benefit { padding: 1.5rem 1rem; }
}
