/* Homepage sections reuse the catalogue's approved product scenes; no cart controller. */

@media(min-width:541px) and (max-width:800px){.gr-service-strip-v28__item--offer .gr-service-strip-v28__content button{margin-top:0;align-self:center}}
.gr-homepage{--gr-section-gutter:clamp(20px,4vw,72px)}
.gr-homepage.gr-storefront .category-grid{padding-inline:var(--gr-section-gutter);padding-bottom:28px}
.gr-homepage.gr-storefront .home-followup-v5{padding-inline:var(--gr-section-gutter)}
.gr-service-strip-v28{display:grid;grid-template-columns:1fr 1fr 1.12fr;gap:0;width:100%;margin:0;border:1px solid #dce7d4;border-radius:12px;background:#fff;color:#173020;overflow:hidden;isolation:isolate}
.gr-service-strip-v28,.gr-service-strip-v28 *{box-sizing:border-box}
.gr-service-strip-v28__item{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;min-width:0;margin:0;padding:22px 24px;border:0;border-left:1px solid #e1e9da}
.gr-service-strip-v28__item:first-child{border-left:0}
.gr-service-strip-v28__item--offer{background:#f0f7e8}
.gr-service-strip-v28__icon{display:grid;place-items:center;align-self:start;width:40px;height:40px;border-radius:10px;background:#edf5e6;color:#3b7529}
.gr-service-strip-v28__icon svg{display:block;width:27px;height:27px}
.gr-service-strip-v28__item--offer .gr-service-strip-v28__icon{background:#dcefc8;color:#316822}
.gr-service-strip-v28__content{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.gr-homepage .gr-service-strip-v28 h3{margin:0 0 8px;color:#173020;font-size:clamp(16px,1.2vw,20px);font-weight:650;line-height:1.25;letter-spacing:-.02em;text-wrap:balance}
.gr-homepage .gr-service-strip-v28 p{margin:0 0 10px;color:#54674b;font-size:13px;line-height:1.55;font-weight:400}
.gr-service-strip-v28__link,.gr-service-strip-v28__button{display:inline-flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px;max-width:100%;margin-top:auto;font-family:inherit;font-size:13px;line-height:1.35;font-weight:650;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.gr-service-strip-v28__link{padding:6px 0;color:#377729;border:0;background:transparent}
.gr-service-strip-v28__button{padding:11px 14px;border:1px solid #2b7731;border-radius:8px;background:#2b7731;color:#fff;text-align:left}
.gr-service-strip-v28 :is(a,button)>svg{flex:0 0 20px;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform 160ms cubic-bezier(.23,1,.32,1)}
.gr-service-strip-v28 :is(a,button):focus-visible{outline:3px solid #69a43f;outline-offset:4px}
.gr-service-strip-v28__button:active{transform:translateY(1px);background:#215f27}
@media(hover:hover){.gr-service-strip-v28__link:hover{color:#1e5722;text-decoration:underline;text-underline-offset:4px}.gr-service-strip-v28__button:hover{background:#205e27;border-color:#205e27}.gr-service-strip-v28 :is(a,button):hover>svg{transform:translateX(3px)}.gr-service-strip-v28 a:hover>.gr-service-strip-v28__arrow-down{transform:translateY(3px)}}
@media(min-width:801px) and (max-width:1150px){.gr-service-strip-v28__item{padding:20px 16px;grid-template-columns:32px minmax(0,1fr);gap:10px}.gr-service-strip-v28__icon{width:32px;height:32px;border-radius:8px}.gr-service-strip-v28__icon svg{width:24px;height:24px}.gr-service-strip-v28__button{gap:8px;padding-inline:10px;font-size:12px}}
@media(max-width:800px){.gr-homepage{--gr-section-gutter:20px}.gr-service-strip-v28{grid-template-columns:1fr 1fr}.gr-service-strip-v28__item{padding:18px 20px;gap:12px}.gr-service-strip-v28__item--offer{grid-column:1/-1;border-left:0;border-top:1px solid #dce7d4}.gr-service-strip-v28__item--offer .gr-service-strip-v28__content{display:grid;grid-template-columns:1fr auto;column-gap:24px;align-items:center}.gr-service-strip-v28__item--offer h3{grid-column:1;grid-row:1}.gr-service-strip-v28__item--offer p{grid-column:1;grid-row:2;margin-bottom:0}.gr-service-strip-v28__item--offer button{grid-column:2;grid-row:1/3}.gr-homepage .gr-service-strip-v28 h3{font-size:17px}}
@media(max-width:540px){.gr-homepage{--gr-section-gutter:16px}.gr-homepage.gr-storefront .category-grid{padding-bottom:22px}.gr-service-strip-v28{grid-template-columns:1fr;border-radius:10px}.gr-service-strip-v28__item{grid-template-columns:36px minmax(0,1fr);padding:16px;gap:12px;border-left:0;border-top:1px solid #e1e9da}.gr-service-strip-v28__item:first-child{border-top:0}.gr-service-strip-v28__icon{width:36px;height:36px;border-radius:9px}.gr-service-strip-v28__icon svg{width:25px;height:25px}.gr-service-strip-v28__item--offer .gr-service-strip-v28__content{display:flex;align-items:stretch}.gr-service-strip-v28__item--offer h3{margin-bottom:7px}.gr-service-strip-v28__item--offer p{margin-bottom:12px}.gr-service-strip-v28__item--offer p br{display:none}.gr-service-strip-v28__button{align-self:flex-start}.gr-homepage .gr-service-strip-v28 p{font-size:12px;line-height:1.5;margin-bottom:4px}.gr-homepage .gr-service-strip-v28__item--offer p{margin-bottom:12px}.gr-service-strip-v28__link{min-height:36px}}
@media(prefers-reduced-motion:no-preference){.gr-service-strip-v28__button{transition:background-color 160ms ease,border-color 160ms ease,transform 120ms ease}}
@media(prefers-reduced-motion:reduce){.gr-service-strip-v28 :is(a,button),.gr-service-strip-v28 :is(a,button)>svg{transition:none;transform:none}}
.gr-storefront .season-hero[data-content-v12] h1 { font-size: clamp(2rem, 3.1vw, 3.625rem); line-height: 1.08; }
.gr-storefront .season-hero[data-content-v12] .line-mask { white-space: normal; text-wrap: balance; }
.gr-storefront .season-hero[data-content-v12] .hero-description { max-width: 34ch; }
.gr-storefront .gr-winter-selection-v12 { padding: clamp(2rem, 5vw, 4.5rem) clamp(1rem, 4vw, 4.5rem); background: #fff; color: #173020; }
.gr-storefront .gr-winter-selection-v12__inner { max-width: 84rem; margin-inline: auto; }
.gr-storefront .gr-winter-selection-v12__header { display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; margin-bottom: clamp(1.25rem, 2.5vw, 2rem); }
.gr-storefront .gr-winter-selection-v12__kicker { margin: 0 0 .625rem; color: #528234; font-size: .75rem; font-weight: 650; letter-spacing: .035em; line-height: 1.5; }
.gr-storefront .gr-winter-selection-v12__header h2 { margin: 0 0 .75rem; color: #173020; font-size: clamp(1.625rem, 3vw, 2.5rem); font-weight: 750; line-height: 1.12; letter-spacing: -.035em; text-wrap: balance; }
.gr-storefront .gr-winter-selection-v12__header > div > p:last-child { max-width: 55ch; margin: 0; color: #687960; font-size: .875rem; line-height: 1.6; }
.gr-storefront .gr-winter-selection-v12__all { display: inline-flex; align-items: center; justify-content: space-between; gap: 1.5rem; flex-shrink: 0; min-height: 2.75rem; color: #355e2b; font-size: .8125rem; font-weight: 650; text-decoration: none; }
.gr-storefront .gr-winter-selection-v12__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(.75rem, 2vw, 1.5rem); }
.gr-storefront .gr-winter-card-v12 { display: flex; flex-direction: column; min-width: 0; margin: 0; padding: 0; border: 1px solid #dfe8d7; border-radius: .875rem; overflow: hidden; background: #fff; }
.gr-storefront .gr-winter-card-v12__link { display: grid; grid-template-rows: 1fr auto; flex: 1; min-width: 0; color: inherit; text-decoration: none; }
.gr-storefront .gr-winter-card-v12__media { display: block; position: relative; width: 100%; aspect-ratio: 1; margin: 0; padding: 0; border: 0; text-decoration: none; }
.gr-storefront .gr-winter-card-v12__no-photo { color: #53753d; font-size: 1.25rem; font-weight: 700; text-align: center; }
.gr-storefront .gr-winter-card-v12__no-photo span { display: block; margin-top: .5rem; color: #7c8c70; font-size: .6875rem; font-weight: 400; }
.gr-storefront .gr-winter-card-v12__body { min-width: 0; padding: 1rem 1rem .75rem; }
.gr-storefront .gr-winter-card-v12__sku { margin: 0 0 .5rem; color: #7a8971; font-size: .6875rem; line-height: 1.4; }
.gr-storefront .gr-winter-card-v12__body h3 { margin: 0; color: #233f29; font-size: .875rem; font-weight: 550; line-height: 1.55; letter-spacing: -.012em; overflow-wrap: anywhere; }
.gr-storefront .gr-winter-card-v12__bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .875rem .5rem; min-width: 0; padding: .75rem 1rem 1rem; }
.gr-storefront .gr-winter-card-v12__price { margin: 0; color: #1b3b22; font-size: clamp(1.125rem, 1.6vw, 1.5rem); line-height: 1.2; font-weight: 750; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.gr-storefront .gr-winter-card-v12__action { display: inline-flex; align-items: center; justify-content: center; gap: .625rem; min-height: 2.75rem; padding: .625rem .75rem; border-radius: .5rem; background: #edf6e3; color: #3a692c; font-size: .75rem; font-weight: 650; line-height: 1.4; }
.gr-storefront .gr-winter-card-v12__link:focus-visible { outline: 3px solid #4e8e27; outline-offset: -4px; border-radius: .875rem; }
.gr-storefront .gr-delivery-promo-v12 { padding: 0 clamp(1rem, 4vw, 4.5rem) clamp(2rem, 4vw, 3.5rem); background: #fff; color: #173020; }
.gr-storefront .gr-delivery-promo-v12__inner { display: flex; align-items: center; justify-content: space-between; gap: clamp(1.5rem, 4vw, 4rem); max-width: 84rem; margin-inline: auto; padding: clamp(1.5rem, 3vw, 2.5rem); border: 1px solid #d5e5c5; border-radius: 1rem; background: #eef6e5; }
.gr-storefront .gr-delivery-promo-v12__copy { max-width: 52rem; }
.gr-storefront .gr-delivery-promo-v12__kicker { margin: 0 0 .75rem; color: #5c803f; font-size: .75rem; font-weight: 650; line-height: 1.4; }
.gr-storefront .gr-delivery-promo-v12 h2 { max-width: 35ch; margin: 0 0 1rem; color: #244623; font-size: clamp(1.375rem, 2.5vw, 2rem); font-weight: 750; line-height: 1.2; letter-spacing: -.03em; text-wrap: balance; }
.gr-storefront .gr-delivery-promo-v12__copy > p:last-child { max-width: 68ch; margin: 0; color: #617653; font-size: .8125rem; line-height: 1.65; }
.gr-storefront .gr-delivery-promo-v12__action { display: inline-flex; align-items: center; justify-content: center; gap: 1rem; flex-shrink: 0; min-height: 3rem; padding: .875rem 1.125rem; border: 1px solid #287a31; border-radius: .625rem; background: #287a31; color: #fff; font-size: .8125rem; font-weight: 650; text-decoration: none; line-height: 1.4; }
/* One aligned pickup block; the embedded map is available without a click gate. */
.gr-storefront .home-visit-v5{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:stretch;gap:clamp(24px,3vw,44px);margin:28px 0 40px;padding:clamp(24px,3vw,36px);border:1px solid #dce6d5;border-radius:14px;background:#f5f9f0}
.gr-storefront .home-visit-v5__copy{display:flex;flex-direction:column;min-width:0}
.gr-storefront .home-visit-v5__kicker{margin:0 0 10px;font-size:11px}
.gr-storefront .home-visit-v5__title{max-width:20ch;margin:0 0 16px;font-size:clamp(26px,2.6vw,36px);font-weight:650;line-height:1.17}
.gr-storefront .home-visit-v5__phone{margin:0;font-size:clamp(24px,2.2vw,30px)}
.gr-storefront .home-visit-v5__email{font-size:14px}
.gr-storefront .home-visit-v5__facts{gap:14px;margin:18px 0}
.gr-storefront .home-visit-v5__facts div{gap:4px}
.gr-storefront .home-visit-v5__facts dd{font-size:14px;line-height:1.5}
.gr-storefront .home-visit-v5__note{max-width:46ch;margin-top:auto;padding-top:4px;font-size:12px;line-height:1.6}
.gr-storefront .home-visit-v5__map-column{display:flex;flex-direction:column;min-width:0;padding:0}
.gr-storefront .home-visit-v5 .home-visit-map{flex:1;min-height:300px;border-radius:10px}
.gr-storefront .home-visit-v5 .home-map-host{position:absolute;inset:0;width:100%;height:100%;min-height:0;margin:0;border-radius:inherit}
.gr-storefront .home-visit-v5 .home-map-host iframe{position:absolute;inset:0;display:block;width:100%;height:100%;border:0;border-radius:inherit}
.gr-storefront .home-visit-v5__map-link{min-height:44px;margin:4px 0 0;font-size:12px}
.gr-storefront .home-visit-v5__map-note{margin:0;font-size:11px;line-height:1.5}
.gr-storefront .home-visit-v5 :is(a,iframe):focus-visible{outline:3px solid #65a438;outline-offset:3px}
@media(max-width:850px){.gr-storefront .home-visit-v5{grid-template-columns:minmax(0,1fr);gap:24px;margin:20px 0 28px;padding:24px}.gr-storefront .home-visit-v5__title{max-width:26ch;font-size:30px}.gr-storefront .home-visit-v5__facts{grid-template-columns:1fr 1.35fr;gap:20px}.gr-storefront .home-visit-v5 .home-visit-map{flex:none;min-height:0;aspect-ratio:1.6}.gr-storefront .home-visit-v5__note{margin-top:0}}
@media(max-width:480px){.gr-storefront .home-visit-v5{gap:20px;padding:20px 16px;border-radius:12px}.gr-storefront .home-visit-v5__title{font-size:27px;margin-bottom:14px}.gr-storefront .home-visit-v5__phone{font-size:25px}.gr-storefront .home-visit-v5__email{font-size:13px}.gr-storefront .home-visit-v5__facts{grid-template-columns:minmax(0,1fr);gap:14px;margin:16px 0}.gr-storefront .home-visit-v5 .home-visit-map{aspect-ratio:1.15}.gr-storefront .home-visit-v5__map-note{font-size:11px}}
@media (hover: hover) and (pointer: fine) {
  .gr-storefront .gr-winter-card-v12:hover { border-color: #92bb68; }
  .gr-storefront .gr-winter-card-v12:hover .gr-winter-card-v12__action { background: #83c322; color: #203e13; }
  .gr-storefront .gr-winter-selection-v12__all:hover { color: #287a31; text-decoration: underline; text-underline-offset: .25em; }
  .gr-storefront .gr-delivery-promo-v12__action:hover { background: #206427; border-color: #206427; }
}
@media (max-width: 60rem) {
  .gr-storefront .season-hero[data-content-v12] h1 { font-size: clamp(1.875rem, 5vw, 2.9375rem); }
  .gr-storefront .gr-winter-selection-v12__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gr-storefront .gr-delivery-promo-v12__inner { align-items: flex-start; flex-direction: column; gap: 1.25rem; }
}
@media (max-width: 36rem) {
  .gr-storefront .season-hero[data-content-v12] h1 { font-size: clamp(1.625rem, 7.2vw, 2.5rem); line-height: 1.12; }
  .gr-storefront .season-hero[data-content-v12] .hero-description { max-width: none; }
  .gr-storefront .gr-winter-selection-v12__header { align-items: flex-start; flex-direction: column; gap: .5rem; }
  .gr-storefront .gr-winter-selection-v12__all { font-size: .75rem; }
  .gr-storefront .gr-winter-selection-v12__grid { grid-template-columns: minmax(0, 1fr); }
  .gr-storefront .gr-winter-card-v12__body { padding: .75rem .75rem .5rem; }
  .gr-storefront .gr-winter-card-v12__body h3 { font-size: .75rem; }
  .gr-storefront .gr-winter-card-v12__sku { font-size: .625rem; }
  .gr-storefront .gr-winter-card-v12__bottom { align-items: stretch; flex-direction: column; gap: .75rem; padding: .5rem .75rem .75rem; }
  .gr-storefront .gr-winter-card-v12__price { font-size: 1.1875rem; }
  .gr-storefront .gr-winter-card-v12__action { width: 100%; }
  .gr-storefront .gr-delivery-promo-v12__action { width: 100%; }
}
@media (prefers-reduced-motion: no-preference) {
  .gr-storefront .gr-winter-card-v12, .gr-storefront .gr-winter-card-v12__action, .gr-storefront .gr-delivery-promo-v12__action { transition: border-color 160ms ease, background-color 160ms ease; }
}

/* Winter products, categories and services share one page grid. */
.gr-homepage.gr-storefront .gr-winter-selection-v12{padding:40px var(--gr-section-gutter) 16px}
.gr-homepage.gr-storefront .gr-winter-selection-v12__inner{max-width:none;width:100%;margin:0}
.gr-homepage.gr-storefront .gr-winter-selection-v12__header{align-items:center;gap:20px;margin-bottom:22px}
.gr-homepage.gr-storefront .gr-winter-selection-v12__header h2{margin-bottom:9px;font-size:clamp(28px,2.5vw,38px)}
.gr-homepage.gr-storefront .gr-winter-selection-v12__kicker{margin-bottom:8px}
.gr-homepage.gr-storefront .gr-winter-selection-v12__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.gr-homepage.gr-storefront .category-grid__items{column-gap:20px}
.gr-homepage.gr-storefront .category-grid{padding-top:30px}
.gr-homepage.gr-storefront .gr-winter-card-v12{border-radius:10px}
.gr-homepage.gr-storefront .gr-winter-card-v12__body{padding:13px 14px 8px}
.gr-homepage.gr-storefront .gr-winter-card-v12__sku{margin-bottom:7px;font-size:11px}
.gr-homepage.gr-storefront .gr-winter-card-v12__body h3{font-size:13px;line-height:1.45;font-weight:550;overflow-wrap:normal}
.gr-homepage.gr-storefront .gr-winter-card-v12__bottom{flex-direction:row;flex-wrap:nowrap;align-items:center;gap:8px;margin:0;padding:10px 14px 14px}
.gr-homepage.gr-storefront .gr-winter-card-v12__price{flex:0 0 auto;font-size:21px;white-space:nowrap}
.gr-homepage.gr-storefront .gr-winter-card-v12__action{width:auto;gap:6px;min-height:44px;padding:8px 10px;font-size:12px;white-space:nowrap}
@media(min-width:1600px){.gr-homepage.gr-storefront .gr-winter-selection-v12__grid{grid-template-columns:repeat(6,minmax(0,1fr))}.gr-homepage.gr-storefront .gr-winter-card-v12__body{padding-inline:12px}.gr-homepage.gr-storefront .gr-winter-card-v12__bottom{padding-inline:12px}.gr-homepage.gr-storefront .gr-winter-card-v12__action{font-size:11px}}
@media(min-width:541px) and (max-width:900px){.gr-homepage.gr-storefront .gr-winter-selection-v12__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.gr-homepage.gr-storefront .gr-winter-selection-v12{padding-top:28px;padding-bottom:8px}.gr-homepage.gr-storefront .gr-winter-selection-v12__header{align-items:flex-start;gap:5px;margin-bottom:16px}.gr-homepage.gr-storefront .gr-winter-selection-v12__grid{grid-template-columns:minmax(0,1fr);gap:16px}.gr-homepage.gr-storefront .gr-winter-card-v12__body h3{font-size:14px}.gr-homepage.gr-storefront .gr-winter-card-v12__price{font-size:23px}.gr-homepage.gr-storefront .gr-winter-card-v12__action{font-size:12px;padding-inline:14px}.gr-homepage.gr-storefront .category-grid{padding-top:24px}.gr-homepage.gr-storefront .category-grid__items{column-gap:16px}}
