.landing-body{
  overflow:auto; height:auto; min-height:100%;
  background: var(--cream);
}

.promo-bar{
  background: linear-gradient(90deg, var(--pink-dark), var(--pink));
  color:#fff; text-align:center; font-size:.78rem;
  padding:8px 12px;
}

/* ---------------- HERO ---------------- */
.hero{
  background: linear-gradient(160deg, #f7d9e3 0%, #f3e3c8 55%, #e9d6a8 100%);
  padding-bottom:40px;
}
.hero-nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 20px;
  max-width:1100px; margin:0 auto;
}
.hero-brand{ font-weight:600; font-size:.95rem; color:var(--pink-dark); }
.nav-auth-area{ display:flex; align-items:center; gap:14px; }
.hero-nav-link{ font-size:.8rem; color:var(--ink); text-decoration:none; font-weight:500; }
.hero-nav-cta{
  background:#fff; color:var(--pink-dark); text-decoration:none;
  padding:8px 16px; border-radius:20px; font-size:.78rem; font-weight:500;
  border:1px solid var(--gold);
}

.hero-content{
  max-width:640px; margin:20px auto 0; text-align:center; padding:0 20px;
}
.hero-content h1{
  font-size:1.9rem; line-height:1.25; margin:0 0 14px; color:var(--ink);
}
.hero-content h1 span{
  font-family:'Great Vibes', cursive; font-size:1.3em; color:var(--pink-dark);
}
.hero-sub{ font-size:.9rem; line-height:1.6; opacity:.85; margin:0 0 22px; }
.hero-cta-row{
  display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-bottom:10px;
}
.btn-primary{
  background:var(--pink-dark); color:#fff; text-decoration:none;
  padding:13px 26px; border-radius:26px; font-size:.88rem; font-weight:500;
  box-shadow:0 6px 16px rgba(201,111,140,.35);
}
.btn-ghost{
  background:#fff; color:var(--ink); text-decoration:none;
  padding:13px 26px; border-radius:26px; font-size:.88rem; font-weight:500;
  border:1px solid var(--gold);
}
.hero-note{ font-size:.72rem; opacity:.6; }

.hero-preview{
  max-width:900px; margin:30px auto 0; padding:0 20px;
}
.hero-preview img{
  width:100%; display:block; border-radius:14px;
  border:3px solid #fff; box-shadow:0 20px 45px rgba(0,0,0,.2);
  image-rendering: pixelated;
}

/* ---------------- SECTIONS ---------------- */
.section-title{
  text-align:center; font-size:1.3rem; margin:0 0 28px; color:var(--ink);
}
.features, .how{
  max-width:1000px; margin:0 auto; padding:56px 20px;
}

.feature-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:18px;
}
@media (max-width:760px){ .feature-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:480px){ .feature-grid{ grid-template-columns:1fr; } }

.feature-card{
  background:#fff; border:1px solid #ecdcc0; border-radius:14px;
  padding:20px 18px; text-align:center;
  box-shadow:0 4px 14px rgba(0,0,0,.04);
}
.feature-icon{ font-size:1.8rem; margin-bottom:8px; }
.feature-card h3{ font-size:.92rem; margin:0 0 6px; }
.feature-card p{ font-size:.78rem; opacity:.75; line-height:1.5; margin:0; }

.how{
  background:#fff8ec;
  border-radius:24px;
}
.how-steps{
  display:flex; gap:20px; justify-content:center; flex-wrap:wrap; margin-bottom:30px;
}
.how-step{ max-width:220px; text-align:center; }
.how-num{
  width:36px; height:36px; border-radius:50%; background:var(--pink-dark); color:#fff;
  display:flex; align-items:center; justify-content:center; font-weight:600;
  margin:0 auto 10px;
}
.how-step h3{ font-size:.88rem; margin:0 0 6px; }
.how-step p{ font-size:.76rem; opacity:.75; line-height:1.5; margin:0; }
.how-cta{ text-align:center; }

.landing-footer{
  text-align:center; padding:30px 20px 40px; font-size:.78rem; opacity:.65;
}
.landing-footer-small{ font-size:.68rem; margin-top:4px; }
