/* Seasons: lawn + pool scenes. Layers are stacked and only transform/opacity change while scrolling. */
.seasons__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.scard{background:rgba(247,250,252,.05);border:1px solid rgba(247,250,252,.12);border-radius:var(--r-lg);overflow:hidden;display:grid;align-content:start}
.scene{position:relative;aspect-ratio:8/5;overflow:hidden;background:#0A1B2C;isolation:isolate}
.sc__l{position:absolute;inset:0;width:100%;height:100%}
.scard__body{padding:26px 28px 30px;display:grid;gap:10px}
.scard__k{font:500 12.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--amber)}
.scard h3{font-weight:800;font-size:clamp(24px,2.4vw,30px);line-height:1.1;letter-spacing:-.02em}
.scard p{color:#B9CCDC;font-size:17px;max-width:46ch;text-wrap:pretty}

/* chip (same language as the hero's "sites cleared") */
.sc__chip{position:absolute;left:16px;bottom:16px;display:inline-flex;align-items:center;gap:10px;background:#fff;color:var(--navy);border-radius:999px;padding:8px 16px 8px 10px;font-weight:700;font-size:14px;line-height:1.1;box-shadow:0 18px 36px -16px rgba(14,36,56,.5);opacity:0;transform:translateY(10px) scale(.96);transition:opacity .5s var(--ease),transform .5s var(--ease);z-index:4;pointer-events:none}
.sc__chip i{width:24px;height:24px;border-radius:50%;background:var(--green);display:grid;place-items:center;flex:none}
.sc__chip svg{width:14px;height:14px;stroke:#fff}
.scene.is-done .sc__chip{opacity:1;transform:none}

/* garden */
.sc__cutwrap{position:absolute;inset:0;overflow:hidden;will-change:transform;transform:translate3d(-100%,0,0)}
.sc__cutwrap>svg{will-change:transform}
.sc__mowwrap{position:absolute;inset:0;will-change:transform;transform:translate3d(-100%,0,0)}
.bush .raw,.bush .cut{transition:opacity .45s var(--ease),transform .45s var(--ease);transform-box:fill-box;transform-origin:50% 100%}
.bush .cut{opacity:0;transform:scale(.92)}
.bush.is-cut .raw{opacity:0}
.bush.is-cut .cut{opacity:1;transform:none}
.sc__clip circle{opacity:0}
.sc__spin{transform-box:fill-box;transform-origin:center}
.scene.is-live .sc__clip circle{animation:clipfly .8s ease-out infinite}
.scene.is-live .sc__spin{animation:spin .6s linear infinite}
.scene.is-live .sc__mower{animation:mowbob .32s ease-in-out infinite alternate}
@keyframes clipfly{0%{opacity:1;transform:translate(0,0) scale(1)}100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(.4)}}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes mowbob{from{transform:translateY(0)}to{transform:translateY(-1.2px)}}

/* pool */
.sc__murk{will-change:opacity}
.lf{transition:opacity .45s var(--ease),transform .45s var(--ease);transform-box:fill-box;transform-origin:center}
.lf.gone{opacity:0;transform:scale(.2)}
.pool__bot{position:absolute;left:0;top:0;width:15.6%;aspect-ratio:100/80;will-change:transform;transform:translate3d(-30%,0,0);z-index:2}
.sc__sparks .sp{opacity:0;transform-box:fill-box;transform-origin:center}
.scene.is-done.is-live .sp{animation:twinkle 2.2s ease-in-out infinite}
@keyframes twinkle{0%,100%{opacity:0;transform:scale(.2) rotate(0)}50%{opacity:.95;transform:scale(1) rotate(45deg)}}

@media (max-width:900px){
  .seasons__grid{grid-template-columns:1fr}
  .scard__body{padding:22px 22px 26px}
}
@media (prefers-reduced-motion:reduce){
  .scene *{animation:none!important;transition:none!important}
}

/* service chips under the statement */
.svc{display:flex;flex-wrap:wrap;gap:12px;margin-top:40px}
.svc__i{display:inline-flex;align-items:center;gap:12px;padding:10px 20px 10px 10px;border-radius:999px;background:#fff;border:1px solid var(--line);font-weight:700;font-size:16px;text-decoration:none;color:var(--navy);box-shadow:0 14px 30px -20px rgba(14,36,56,.35);transition:transform .25s var(--ease),box-shadow .25s var(--ease)}
.svc__i:hover{transform:translateY(-2px);box-shadow:0 20px 34px -18px rgba(14,36,56,.4)}
.svc__i i{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;flex:none}
.svc__i svg{width:20px;height:20px}
.svc__i--snow i{background:#DCEBF7;color:var(--glacier-deep)}
.svc__i--lawn i{background:#DDF1DD;color:#2E7A3C}
.svc__i--pool i{background:#D5F0F8;color:#1F8FB8}
/* bullets inside the season cards */
.scard__list{display:grid;gap:8px;margin-top:8px}
.scard__list li{position:relative;padding-left:26px;font-size:15.5px;line-height:1.4;color:#DCE7EF}
.scard__list li::before{content:"";position:absolute;left:0;top:.2em;width:16px;height:16px;border-radius:50%;background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center/10px no-repeat}
