/* Home page styles */
.hero{
  background:var(--lavender-deep);
  color:var(--white);
  text-align:center;
  padding:22px 0 40px;
}
.hero .container{position:relative;z-index:1}
.hero::before{
  content:"";
  position:absolute;top:-30%;right:-6%;
  width:280px;height:280px;
  background:radial-gradient(circle,rgba(255,255,255,.12) 0%,transparent 70%);
  border-radius:50%;
  pointer-events:none;
}
.hero-logo{height:110px;width:auto;margin:0 auto 22px}
.hero h1{letter-spacing:.05em;text-transform:uppercase}
.hero .tagline{
  font-size:1.15rem;color:rgba(255,255,255,.92);
  max-width:560px;margin:8px auto 0;
}
.trust-badges{
  list-style:none;
  display:flex;flex-wrap:wrap;justify-content:center;
  gap:10px 28px;margin-top:18px;
  color:var(--white);font-weight:600;
}
.trust-badges li::before{content:"✓ ";color:#BFE6B4}

/* Keep side-by-side photos balanced with the text column */
.split .rounded-img{max-height:440px;object-fit:cover}

.services-preview{
  display:grid;grid-template-columns:1fr;gap:18px;
  margin:38px 0 34px;text-align:left;
}
@media(min-width:640px){.services-preview{grid-template-columns:1fr 1fr}}
@media(min-width:1080px){.services-preview{grid-template-columns:repeat(4,1fr)}}
.svc-card{
  background:linear-gradient(180deg,#FFFFFF 0%,#FBFAFD 100%);
  border-radius:var(--radius-lg);
  border:1px solid rgba(58,63,68,.07);
  border-top:4px solid var(--sage);
  padding:28px 26px;
  box-shadow:var(--shadow-sm);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.svc-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-top-color:var(--lavender-deep)}
.svc-card p{color:var(--gray);font-size:.94rem;margin:0}

.why-grid{
  display:grid;grid-template-columns:1fr;gap:22px;margin-top:var(--sp-6);
}
@media(min-width:720px){.why-grid{grid-template-columns:1fr 1fr}}
.why-item{
  background:linear-gradient(180deg,#FFFFFF 0%,#FBFAFD 100%);
  border-radius:var(--radius-lg);
  border:1px solid rgba(58,63,68,.07);
  border-left:4px solid transparent;
  padding:28px 28px 28px 25px;
  box-shadow:var(--shadow-sm);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.why-item:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);border-left-color:var(--sage)}
.why-item p{color:var(--gray);margin:0;font-size:.96rem}

/* Testimonials */
.quote-card{
  max-width:640px;margin:var(--sp-4) auto 0;
  background:linear-gradient(180deg,#FFFFFF 0%,#FBFAFD 100%);
  border-radius:var(--radius-lg);
  border:1px solid rgba(58,63,68,.07);
  border-top:4px solid var(--lavender-deep);
  padding:36px 38px;
  /* Layered shadow simulates a card stacked behind this one — depth without
     an extra element that would get clipped by the horizontal-scroll row */
  box-shadow:var(--shadow-sm),7px 7px 0 -3px rgba(123,111,168,.22);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.quote-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg),9px 9px 0 -3px rgba(123,111,168,.28);border-top-color:var(--sage)}
.quote-text{font-family:var(--font-serif);font-size:1.15rem;color:var(--ink);line-height:1.6}
.quote-who{color:var(--gray);font-weight:600;margin:0}

/* Testimonials — horizontal swipe row */
.quote-row{
  display:flex;gap:20px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  padding:36px 4px 14px;
  scrollbar-width:thin;
}
.quote-row .quote-card{
  flex:0 0 min(85%,460px);
  margin:0;
  scroll-snap-align:center;
  text-align:left;
}
.scroll-hint{color:var(--gray);font-size:.85rem;margin-top:4px}
/* 7 cards no longer fit on one screen, so the swipe hint stays visible at all widths */