/* Home service cards — match the rounded, softly elevated card language used on Services. */
#services .service-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:26px;
  border:0;
  background:transparent;
  align-items:stretch;
}
#services .service-card{
  position:relative;
  isolation:isolate;
  min-width:0;
  min-height:475px;
  height:100%;
  padding:34px 35px 28px;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  gap:0;
  overflow:hidden;
  border:1px solid #d8ead6;
  border-radius:28px;
  background:#fff;
  color:#002b66;
  box-shadow:0 14px 32px rgba(160,236,0,.12),0 5px 18px rgba(0,43,102,.045);
  text-align:left;
  text-decoration:none;
  transition:transform .55s cubic-bezier(.2,.75,.25,1),
             box-shadow .55s ease,
             border-color .4s ease,
             background-color .4s ease;
}
#services .service-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  border-radius:inherit;
  background:linear-gradient(145deg,rgba(160,236,0,.055),transparent 42%);
  opacity:.75;
  pointer-events:none;
}
#services .service-card:hover,
#services .service-card:focus-visible{
  transform:translateY(-6px);
  background:#fbfdf9;
  border-color:#bfe5a9;
  box-shadow:0 20px 42px rgba(160,236,0,.18),0 8px 24px rgba(0,43,102,.07);
  outline:none;
}
#services .service-num{
  display:block;
  align-self:flex-start;
  margin:0;
  color:#8aa0b4;
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
  line-height:1.4;
  text-align:left;
}
#services .service-icon{
  width:58px;
  height:72px;
  margin:27px 0 22px;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  color:#002b66;
  font-size:0;
}
#services .service-leaf{
  display:block;
  width:52px;
  height:52px;
  object-fit:contain;
  transform-origin:50% 55%;
  animation:homeLeafBreeze 7.5s ease-in-out infinite;
  filter:drop-shadow(0 5px 9px rgba(0,43,102,.10));
  transition:transform .55s cubic-bezier(.2,.75,.25,1),filter .55s ease;
}
#services .service-leaf-dark{display:none}
#services .service-card:hover .service-leaf,
#services .service-card:focus-visible .service-leaf{
  transform:translateY(-4px) rotate(-7deg) scale(1.08);
  filter:drop-shadow(0 7px 12px rgba(160,236,0,.22));
}
#services .service-card>div{
  width:100%;
  min-width:0;
  margin:0;
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  text-align:left;
}
#services .service-card h3{
  max-width:100%;
  margin:0 0 14px;
  color:#102b50;
  font-size:clamp(19px,1.45vw,23px);
  font-weight:800;
  line-height:1.28;
  letter-spacing:-.045em;
  overflow-wrap:anywhere;
  text-align:left;
}
#services .service-card p{
  max-width:100%;
  margin:0 0 24px;
  padding:0;
  color:#687f96;
  font-size:14px;
  line-height:1.9;
  overflow-wrap:anywhere;
  text-align:left;
}
#services .service-card-cta{
  display:block;
  margin-top:auto;
  padding:22px 34px 0 0;
  border-top:1px solid #dce7e8;
  color:#102b50;
  font-size:13px;
  font-weight:800;
  line-height:1.45;
  text-align:left;
}
#services .service-arrow{
  position:absolute;
  right:34px;
  bottom:28px;
  float:none;
  margin:0;
  color:#a0ec00;
  font-size:19px;
  line-height:1;
  transition:transform .4s ease,color .35s ease;
}
#services .service-card:hover .service-arrow,
#services .service-card:focus-visible .service-arrow{
  transform:translate(4px,-3px);
}
html[data-theme="dark"] #services .service-card{
  background:#193552!important;
  color:#f6fbff!important;
  border:1px solid rgba(160,236,0,.22)!important;
  box-shadow:0 14px 32px rgba(160,236,0,.10),0 7px 18px rgba(0,0,0,.16)!important;
}
html[data-theme="dark"] #services .service-card::before{
  background:linear-gradient(145deg,rgba(160,236,0,.08),transparent 45%);
}
html[data-theme="dark"] #services .service-card:hover,
html[data-theme="dark"] #services .service-card:focus-visible{
  background:#20415f!important;
  border-color:rgba(160,236,0,.42)!important;
  box-shadow:0 20px 42px rgba(160,236,0,.16),0 8px 24px rgba(0,0,0,.2)!important;
}
html[data-theme="dark"] #services .service-num{color:#9bb0c5!important}
html[data-theme="dark"] #services .service-leaf-light{display:none}
html[data-theme="dark"] #services .service-leaf-dark{display:block}
html[data-theme="dark"] #services .service-card h3,
html[data-theme="dark"] #services .service-card-cta{color:#f6fbff!important}
html[data-theme="dark"] #services .service-card p{color:#c4d3e3!important}
html[data-theme="dark"] #services .service-card-cta{border-color:rgba(196,211,227,.2)}
html[data-theme="dark"] #services .service-arrow{color:#a0ec00!important}
@keyframes homeLeafBreeze{
  0%,100%{transform:translate3d(0,0,0) rotate(-3deg)}
  30%{transform:translate3d(0,-5px,0) rotate(3deg)}
  65%{transform:translate3d(1px,2px,0) rotate(-1deg)}
}
/* Slow, staggered entrance as the cards enter the viewport. */
html.home-service-cards-motion #services .service-card{
  opacity:0;
  transform:translate3d(0,26px,0);
  transition:opacity 1s cubic-bezier(.16,.72,.22,1),
             transform 1s cubic-bezier(.16,.72,.22,1),
             background-color .4s ease,
             box-shadow .55s ease,
             border-color .4s ease;
  transition-delay:var(--home-card-delay,0ms);
}
html.home-service-cards-motion #services .service-card.is-visible{
  opacity:1;
  transform:translate3d(0,0,0);
}
html.home-service-cards-motion #services .service-card.is-visible:hover,
html.home-service-cards-motion #services .service-card.is-visible:focus-visible{
  transform:translate3d(0,-6px,0);
}
@media(max-width:980px){
  #services .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
  #services .service-card{min-height:430px}
}
@media(max-width:600px){
  #services .service-grid{grid-template-columns:1fr;gap:18px}
  #services .service-card{min-height:385px;padding:29px 27px 25px;border-radius:24px}
  #services .service-icon{margin:22px 0 18px}
  #services .service-card h3{font-size:21px}
  #services .service-card p{font-size:13px;line-height:1.8}
  #services .service-arrow{right:27px;bottom:25px}
}
@media(prefers-reduced-motion:reduce){
  #services .service-leaf{animation:none!important;transition:none!important}
  #services .service-card{transition:none!important}
  html.home-service-cards-motion #services .service-card{
    opacity:1!important;transform:none!important;transition:none!important
  }
}


/* Home service cards — centered content and larger breeze-driven Lime leaves. */
#services .service-card {
  align-items: center;
  text-align: center;
}
#services .service-num {
  align-self: center;
  width: 100%;
  text-align: center;
}
#services .service-icon {
  width: 100%;
  height: 92px;
  margin: 24px 0 22px;
  align-items: center;
  justify-content: center;
}
#services .service-leaf {
  width: 72px;
  height: 72px;
  animation: homeLeafFlowCentered 8.5s ease-in-out infinite;
  filter: drop-shadow(0 7px 12px rgba(0, 43, 102, .12));
}
#services .service-card:nth-child(2) .service-leaf { animation-delay: -1.4s; }
#services .service-card:nth-child(3) .service-leaf { animation-delay: -2.8s; }
#services .service-card:nth-child(4) .service-leaf { animation-delay: -4.2s; }
#services .service-card:nth-child(5) .service-leaf { animation-delay: -5.6s; }
#services .service-card:nth-child(6) .service-leaf { animation-delay: -7s; }
#services .service-card > div {
  align-items: center;
  text-align: center;
}
#services .service-card h3,
#services .service-card p {
  width: 100%;
  text-align: center;
}
#services .service-card-cta {
  width: 100%;
  padding-left: 30px;
  padding-right: 30px;
  text-align: center;
}
#services .service-arrow {
  right: 34px;
}
@keyframes homeLeafFlowCentered {
  0%, 100% {
    transform: translate3d(0, 0, 0) rotate(-5deg);
  }
  22% {
    transform: translate3d(5px, -7px, 0) rotate(5deg);
  }
  48% {
    transform: translate3d(-3px, -3px, 0) rotate(9deg);
  }
  72% {
    transform: translate3d(-5px, 5px, 0) rotate(-2deg);
  }
}
#services .service-card:hover .service-leaf,
#services .service-card:focus-visible .service-leaf {
  filter: drop-shadow(0 9px 15px rgba(160, 236, 0, .28));
}
html[data-theme="dark"] #services .service-leaf {
  filter: drop-shadow(0 7px 13px rgba(160, 236, 0, .14));
}
@media (max-width: 600px) {
  #services .service-icon {
    height: 84px;
    margin: 20px 0 16px;
  }
  #services .service-leaf {
    width: 66px;
    height: 66px;
  }
  #services .service-card-cta {
    padding-left: 26px;
    padding-right: 26px;
  }
  #services .service-arrow {
    right: 27px;
  }
}
@media (prefers-reduced-motion: reduce) {
  #services .service-leaf {
    animation: none !important;
  }
}
