:root{
  --ai-green: #1B5E3A;
  --ai-green-dark: #123F27;
  --ai-gold: #B08D57;
  --ai-cream: #F8F8F5;
}

body{
  font-family:'Poppins',sans-serif;
  background:var(--ai-cream);
  color:#333;
}

h1, h2, h3, .font-display{
  font-family:'Playfair Display',serif;
}

a{
  color: var(--ai-green);
}

/* ---------- Navbar ---------- */
.navbar .nav-link{
  font-weight:500;
  color:#333;
}
.navbar .nav-link:hover{
  color: var(--ai-green);
}

/* ---------- Hero ---------- */
.hero{
  padding:100px 0 60px;
}
.hero h1{
  font-size:3.2rem;
  color: var(--ai-green);
  font-weight:700;
  line-height:1.15;
}
.hero-tagline{
  font-size:1.2rem;
  margin:22px 0 30px;
  color:#555;
}
.hero-logo{
  max-width:340px;
}

.btn-success{
  background: var(--ai-green);
  border-color: var(--ai-green);
}
.btn-success:hover{
  background: var(--ai-green-dark);
  border-color: var(--ai-green-dark);
}
.btn-outline-success{
  color: var(--ai-green);
  border-color: var(--ai-green);
}
.btn-outline-success:hover{
  background: var(--ai-green);
  border-color: var(--ai-green);
}

/* ---------- Brand strip ---------- */
.brand-strip{
  background: var(--ai-gold);
  color:#fff;
  text-align:center;
  padding:14px 0;
  letter-spacing:1px;
  font-weight:600;
  text-transform:uppercase;
  font-size:.95rem;
}
.brand-strip .dot{
  margin:0 12px;
  opacity:.7;
}

/* ---------- Section titles ---------- */
.section-title{
  text-align:center;
  color: var(--ai-green);
  font-weight:700;
  font-size:2.1rem;
}
.section-subtitle{
  text-align:center;
  color:#666;
  max-width:560px;
  margin:10px auto 0;
}

/* ---------- Services ---------- */
.services-section{
  padding:80px 0;
}
.service-card{
  background:#fff;
  border-radius:16px;
  padding:36px 24px;
  text-align:center;
  height:100%;
  box-shadow:0 8px 24px rgba(27,94,58,.08);
  transition:transform .25s ease, box-shadow .25s ease;
}
.service-card:hover{
  transform:translateY(-6px);
  box-shadow:0 14px 32px rgba(27,94,58,.14);
}
.service-icon{
  font-size:2.4rem;
  color: var(--ai-gold);
  margin-bottom:16px;
  display:block;
}
.service-card h3{
  font-size:1.15rem;
  color: var(--ai-green);
  margin-bottom:10px;
}
.service-card p{
  font-size:.92rem;
  color:#666;
  margin-bottom:0;
}

/* ---------- Pricing ---------- */
.pricing-section{
  padding:80px 0;
}
.pricing-card{
  background:#fff;
  border-radius:16px;
  padding:36px;
  box-shadow:0 8px 24px rgba(27,94,58,.08);
}
.pricing-card-title{
  color: var(--ai-green);
  font-size:1.4rem;
  margin-bottom:24px;
  padding-bottom:14px;
  border-bottom:2px solid var(--ai-cream);
}
.price-item{
  margin-bottom:22px;
}
.price-item h4{
  font-family:'Playfair Display',serif;
  color: var(--ai-green);
  font-size:1.05rem;
  margin-bottom:6px;
}
.price-item-head{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:12px;
  font-family:'Playfair Display',serif;
  color: var(--ai-green);
  font-size:1.05rem;
  font-weight:700;
  margin-bottom:6px;
}
.price-tag{
  color: var(--ai-gold);
  white-space:nowrap;
}
.price-item p{
  font-size:.92rem;
  color:#666;
  margin-bottom:0;
}
.pricing-flat{
  background: var(--ai-cream);
  border-radius:12px;
  padding:18px 20px;
  margin-top:10px;
}
.pricing-flat .price-item-head{
  margin-bottom:12px;
}

/* ---------- Kabbalah section ---------- */
.kabbalah-section{
  background: var(--ai-green);
  color:#f3f3ef;
  padding:80px 0;
}
.kabbalah-section .section-title{
  color:#fff;
}
.kabbalah-section p{
  color:#e6ede8;
}
.kabbalah-badge{
  display:inline-block;
  background:#fff;
  padding:28px;
  border-radius:20px;
  box-shadow:0 14px 32px rgba(0,0,0,.25);
}
.kabbalah-tree{
  max-width:250px;
  display:block;
}

/* ---------- Videos ---------- */
.videos-section{
  padding:80px 0;
}
.video-card{
  background:#fff;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(27,94,58,.08);
}
.video-card video{
  width:100%;
  display:block;
  max-height:480px;
  background:#000;
}

.space-section{
  padding:0 0 80px;
}
.space-photo{
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(27,94,58,.08);
}
.space-photo img{
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
  display:block;
}

/* ---------- Contact ---------- */
.contact-section{
  padding:80px 0;
}
.contact-card{
  background:#fff;
  border-radius:16px;
  padding:32px;
  box-shadow:0 8px 24px rgba(27,94,58,.08);
}
.contact-card p{
  margin-bottom:14px;
}
.contact-card a{
  color:#333;
  text-decoration:none;
}
.contact-card a:hover{
  color: var(--ai-green);
}
.qr-code{
  width:120px;
  display:block;
}
.qr-caption{
  font-size:.85rem;
  color:#777;
  margin-top:8px;
}
.map-frame{
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(27,94,58,.08);
  min-height:320px;
}

/* ---------- Footer ---------- */
.site-footer{
  background: var(--ai-green-dark);
  color:#e6ede8;
  margin-top:0;
}
.footer-logo-badge{
  width:140px;
  height:140px;
  border-radius:50%;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px;
  box-shadow:0 8px 20px rgba(0,0,0,.2);
}
.footer-logo-badge img{
  max-width:100%;
  max-height:100%;
}
.footer-title{
  color: var(--ai-gold);
  font-weight:600;
  margin-bottom:14px;
}
.site-footer a{
  color:#e6ede8;
}
.site-footer a:hover{
  color: var(--ai-gold);
}
.footer-social{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  margin-right:10px;
  font-size:1.1rem;
}
.footer-social:hover{
  background: var(--ai-gold);
  color:#fff;
}
.footer-divider{
  border-color:rgba(255,255,255,.15);
  margin:32px 0 20px;
}

/* ---------- WhatsApp floating button ---------- */
.whatsapp-float{
  position:fixed;
  right:22px;
  bottom:22px;
  width:58px;
  height:58px;
  background:#25D366;
  color:#fff;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.8rem;
  box-shadow:0 6px 18px rgba(0,0,0,.25);
  z-index:1000;
  transition:transform .2s ease;
}
.whatsapp-float:hover{
  transform:scale(1.08);
  color:#fff;
}

@media (max-width: 991px){
  .hero{ padding:70px 0 40px; text-align:center; }
  .hero .d-flex{ justify-content:center; }
}
