/* GrowCart Ecom | Sticky stacked service cards | 2026-11-09
   Homepage section-only enhancement. Original copy and links are untouched.
   No JS = original services grid remains intact. */
@media (min-width: 768px) and (min-height: 621px) {
  body .gc-home-refresh #services.gc-stack-ready .services-grid.gc-service-grid {
    display: block !important;
    grid-template-columns: none !important;
    width: 100%;
    max-width: 1030px;
    margin: clamp(28px, 4vw, 42px) auto 0 !important;
    padding-bottom: clamp(85px, 19vh, 200px);
    overflow: visible !important;
  }
  body .gc-home-refresh #services.gc-stack-ready .services-grid.gc-service-grid > .gc-service-card {
    --gc-stack-scale: 1;
    --gc-stack-opacity: 1;
    --gc-stack-y: 0px;
    position: sticky !important;
    top: clamp(84px, 11vh, 114px) !important;
    z-index: var(--gc-card-z, 1);
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: clamp(335px, 49vh, 430px) !important;
    margin: 0 0 clamp(140px, 31vh, 260px) !important;
    padding: clamp(28px, 4vw, 52px) !important;
    display: grid !important;
    grid-column: auto !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, .96fr) !important;
    grid-template-rows: auto auto minmax(0, 1fr) auto;
    column-gap: clamp(28px, 5vw, 76px);
    row-gap: 10px;
    justify-self: stretch !important;
    align-items: start;
    align-content: center;
    border: 1px solid var(--line, #DEE4F5) !important;
    border-top: 3px solid var(--blue, #0077FC) !important;
    border-radius: 6px !important;
    background: var(--paper-alt, #FFFFFF) !important;
    box-shadow: 0 12px 36px rgba(4, 0, 55, .075), 0 2px 8px rgba(4, 0, 55, .035) !important;
    opacity: var(--gc-stack-opacity, 1);
    transform: translate3d(0, var(--gc-stack-y, 0px), 0) scale(var(--gc-stack-scale, 1)) !important;
    transform-origin: center top;
    transition: box-shadow .36s cubic-bezier(.22, 1, .36, 1), border-color .36s cubic-bezier(.22, 1, .36, 1) !important;
    will-change: transform, opacity;
    overflow: hidden;
    isolation: isolate;
  }
  body .gc-home-refresh #services.gc-stack-ready .services-grid.gc-service-grid > .gc-service-card:last-child {
    margin-bottom: 0 !important;
  }
  body .gc-home-refresh #services.gc-stack-ready .gc-service-card > .gc-stack-icon { grid-area: 1 / 1; }
  body .gc-home-refresh #services.gc-stack-ready .gc-service-card > h3 {
    grid-area: 2 / 1;
    max-width: 25ch;
    margin: 5px 0 0 !important;
    font-size: clamp(21px, 2.15vw, 29px) !important;
    line-height: 1.23 !important;
    letter-spacing: -.025em;
  }
  body .gc-home-refresh #services.gc-stack-ready .gc-service-card > p {
    grid-area: 3 / 1;
    max-width: 45ch;
    margin: 4px 0 0 !important;
    font-size: clamp(14px, 1.05vw, 16px);
    line-height: 1.7;
  }
  body .gc-home-refresh #services.gc-stack-ready .gc-service-card > ul.gc-list {
    grid-area: 2 / 2 / 5 / 3;
    align-self: center;
    padding: 20px 0 20px clamp(12px, 2vw, 28px) !important;
    margin: 0 !important;
    font-size: clamp(14px, 1vw, 15px);
    border-left: 1px solid var(--line, #DEE4F5);
    gap: 12px;
  }
  body .gc-home-refresh #services.gc-stack-ready .gc-service-card > a.gc-text-cta {
    grid-area: 4 / 1;
    justify-self: start;
    align-self: end;
    margin: 12px 0 0 !important;
    padding: 8px 0 0 !important;
    min-height: 44px;
  }
  body .gc-home-refresh #services.gc-stack-ready .gc-service-card:hover {
    transform: translate3d(0, calc(var(--gc-stack-y, 0px) - 3px), 0) scale(var(--gc-stack-scale, 1)) !important;
    border-color: var(--blue, #0077FC) !important;
    box-shadow: 0 20px 48px rgba(4, 0, 55, .125), 0 4px 12px rgba(4, 0, 55, .05) !important;
  }
  body .gc-home-refresh #services.gc-stack-ready .gc-service-card:focus-within {
    z-index: 10 !important;
    opacity: 1 !important;
  }
  body .gc-home-refresh #services.gc-stack-ready .gc-service-card::after {
    content: attr(data-gc-stack-index);
    position: absolute;
    top: clamp(22px, 3vw, 38px);
    right: clamp(24px, 3vw, 42px);
    font: 600 12px/1 var(--font-mono, monospace);
    letter-spacing: .08em;
    color: var(--ink-soft, #4A4776);
    opacity: .48;
    pointer-events: none;
  }
}
body .gc-home-refresh #services.gc-stack-ready .gc-stack-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border: 1px solid var(--line, #DEE4F5);
  border-radius: 6px;
  background: var(--blue-pale, #E7F0FE);
  color: var(--blue-deep, #0058C4);
  transition: transform .36s cubic-bezier(.22, 1, .36, 1), background-color .36s cubic-bezier(.22, 1, .36, 1);
}
body .gc-home-refresh #services.gc-stack-ready .gc-stack-icon svg { width: 26px; height: 26px; flex: none; }
body .gc-home-refresh #services.gc-stack-ready .gc-service-card:hover .gc-stack-icon {
  transform: translate3d(0, -3px, 0) rotate(-3deg);
  background: var(--mist, #EEF2FB);
}
body .gc-home-refresh #services.gc-stack-ready .gc-service-card .gc-text-cta {
  color: var(--blue-deep, #0058C4);
  transition: color .36s cubic-bezier(.22, 1, .36, 1), transform .36s cubic-bezier(.22, 1, .36, 1);
}
body .gc-home-refresh #services.gc-stack-ready .gc-service-card .gc-text-cta:hover,
body .gc-home-refresh #services.gc-stack-ready .gc-service-card .gc-text-cta:focus-visible {
  color: var(--blue, #0077FC);
  transform: translateX(4px);
}
@media (max-width: 767px), (max-height: 620px) {
  body .gc-home-refresh #services.gc-stack-ready .services-grid.gc-service-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
    padding-bottom: 0;
  }
  body .gc-home-refresh #services.gc-stack-ready .services-grid.gc-service-grid > .gc-service-card,
  body .gc-home-refresh #services.gc-stack-ready .services-grid.gc-service-grid > .gc-service-card:last-child {
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    top: auto !important;
    grid-column: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 24px !important;
    opacity: 1 !important;
    transform: none !important;
    box-shadow: 0 8px 26px rgba(4, 0, 55, .06);
    border-top: 3px solid var(--blue, #0077FC) !important;
  }
  body .gc-home-refresh #services.gc-stack-ready .gc-service-card .gc-stack-icon { margin-bottom: 12px; }
  body .gc-home-refresh #services.gc-stack-ready .gc-service-card .gc-list { width: 100%; }
  body .gc-home-refresh #services.gc-stack-ready .gc-service-card .gc-text-cta { margin-top: 12px !important; }
}
@media (prefers-reduced-motion: reduce) {
  body .gc-home-refresh #services.gc-stack-ready .services-grid.gc-service-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
    padding-bottom: 0 !important;
  }
  body .gc-home-refresh #services.gc-stack-ready .services-grid.gc-service-grid > .gc-service-card,
  body .gc-home-refresh #services.gc-stack-ready .services-grid.gc-service-grid > .gc-service-card:last-child {
    position: relative !important;
    top: auto !important;
    display: flex !important;
    flex-direction: column !important;
    grid-column: auto !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 !important;
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    will-change: auto !important;
  }
  body .gc-home-refresh #services.gc-stack-ready .gc-service-card:hover,
  body .gc-home-refresh #services.gc-stack-ready .gc-stack-icon,
  body .gc-home-refresh #services.gc-stack-ready .gc-service-card .gc-text-cta {
    transform: none !important;
    transition: none !important;
  }
}
