/* Home 2 — Soft Luxe (white, rounded, soft shadows) */
body.theme-home2 {
  background:
    radial-gradient(ellipse 70% 50% at 10% 0%, rgba(232,240,233,.9), transparent 55%),
    radial-gradient(ellipse 60% 40% at 90% 10%, rgba(247,241,232,.95), transparent 50%),
    #fbfaf7;
  color: #1e293b;
}
body.theme-home2 .reveal { opacity: 0; transform: translateY(28px); }
body.theme-home2 .reveal.is-visible {
  opacity: 1; transform: none;
  transition: opacity .8s cubic-bezier(.22,1,.36,1), transform .8s cubic-bezier(.22,1,.36,1);
}

.h2-hero {
  min-height: 100vh; min-height: 100dvh;
  padding-top: 7rem; padding-bottom: 4rem;
  position: relative; overflow: hidden;
}
.h2-blob {
  position: absolute; border-radius: 50%; filter: blur(40px); pointer-events: none;
}
.h2-blob.a { width: 320px; height: 320px; background: #e8f0e9; top: 10%; right: 8%; opacity: .9; animation: float 9s ease-in-out infinite; }
.h2-blob.b { width: 260px; height: 260px; background: #f0e6d6; bottom: 12%; left: 5%; opacity: .85; animation: float 11s ease-in-out infinite reverse; }

.h2-shell {
  max-width: 72rem; margin: 0 auto; padding: 0 1.25rem;
}
.h2-hero-card {
  position: relative;
  border-radius: 2.75rem;
  background: linear-gradient(160deg, #fff 0%, #fbf7f0 55%, #f3f7f3 100%);
  border: 1px solid rgba(15,23,42,.06);
  box-shadow:
    0 30px 80px rgba(15,23,42,.08),
    0 2px 0 rgba(255,255,255,.9) inset;
  padding: clamp(2rem, 5vw, 4rem);
  overflow: hidden;
}
.h2-hero-card::after {
  content: '';
  position: absolute; inset: auto -20% -40% 40%;
  height: 70%;
  background: radial-gradient(circle, rgba(212,184,150,.25), transparent 60%);
  pointer-events: none;
}
.h2-pill {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .45rem .9rem; border-radius: 999px;
  background: #fff; border: 1px solid rgba(184,149,106,.25);
  color: #7c6245; font-size: .75rem; font-weight: 600;
  box-shadow: 0 8px 20px rgba(15,23,42,.05);
}
.h2-title {
  font-family: Fraunces, Georgia, serif;
  font-size: clamp(2.8rem, 7vw, 5rem);
  line-height: 1.02; color: #0f172a; letter-spacing: -.02em;
}
.h2-title em {
  font-style: italic; color: #b8956a;
  background: linear-gradient(90deg, #b8956a, #6b8f71);
  -webkit-background-clip: text; background-clip: text;
  color: transparent;
}

.h2-card {
  background: #fff;
  border: 1px solid rgba(15,23,42,.06);
  border-radius: 1.75rem;
  box-shadow: 0 16px 40px rgba(15,23,42,.06);
  transition: transform .4s cubic-bezier(.22,1,.36,1), box-shadow .4s;
}
.h2-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 28px 60px rgba(15,23,42,.12);
}
.h2-icon {
  width: 3.25rem; height: 3.25rem; border-radius: 1.1rem;
  display: grid; place-items: center;
  background: linear-gradient(145deg, #f7f1e8, #e8f0e9);
  color: #8b7355; box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}
.h2-icon svg { width: 1.35rem; height: 1.35rem; }

.h2-stat {
  border-radius: 1.5rem;
  background: #fff;
  border: 1px solid rgba(15,23,42,.05);
  box-shadow: 0 12px 30px rgba(15,23,42,.05);
  padding: 1.35rem 1.25rem;
}
.h2-stat strong {
  display: block; font-family: Fraunces, Georgia, serif;
  font-size: 2.4rem; color: #b8956a; line-height: 1;
}

.h2-panel {
  border-radius: 2.25rem;
  background: #fff;
  border: 1px solid rgba(15,23,42,.06);
  box-shadow: 0 24px 60px rgba(15,23,42,.08);
  overflow: hidden;
}
.h2-quote {
  border-radius: 1.75rem;
  background: linear-gradient(180deg, #fff, #fbf8f3);
  border: 1px solid rgba(184,149,106,.18);
  box-shadow: 0 14px 36px rgba(15,23,42,.06);
  padding: 1.75rem;
}
.h2-cta-band {
  border-radius: 2.5rem;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.5), transparent 40%),
    linear-gradient(135deg, #efe4d4, #e7f0e8 55%, #dceadf);
  border: 1px solid rgba(255,255,255,.7);
  box-shadow: 0 25px 60px rgba(15,23,42,.08);
}

.h2-float-badge {
  position: absolute;
  right: 8%; bottom: 12%;
  background: #fff;
  border-radius: 1.25rem;
  padding: 1rem 1.15rem;
  box-shadow: 0 18px 40px rgba(15,23,42,.12);
  border: 1px solid rgba(15,23,42,.05);
  animation: float 6s ease-in-out infinite;
}
@media (max-width: 768px) {
  .h2-float-badge { display: none; }
}
