/* Isolated mobile service layouts. Linked only via media="(max-width: 991.97px)" — desktop untouched. */
.service-page {
  --m-gutter: 1.5rem;
  --m-radius: 2rem;
  --m-navy: #031125;
  --m-blue: #078ab4;
  --m-card: #0a6f8f;
  background: #fff;
  overflow-x: clip;
}
.service-page .container {
  width: 100%;
  max-width: none;
  padding-left: var(--m-gutter);
  padding-right: var(--m-gutter);
}
.service-page img { max-width: 100%; }

/* ========== Shared tablet + phone (≤991.97) ========== */
.service-page .hero-section,
.service-page .hero {
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden;
}
.service-page .hero {
  position: relative !important;
  display: block !important;
  min-height: 52rem;
}
.service-page .hero__media {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto !important;
  margin: 0 !important;
  z-index: 1 !important;
}
.service-page .hero__media picture,
.service-page .hero__media img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}
.service-page .hero__main {
  position: relative !important;
  z-index: 2 !important;
  padding: 4rem 0 6rem !important;
  background: linear-gradient(180deg, rgba(255,255,255,.92) 0%, rgba(255,255,255,.55) 42%, rgba(255,255,255,0) 78%) !important;
}
.service-page .hero__header {
  font-size: clamp(2.6rem, 7vw, 3.4rem) !important;
  line-height: 1.05 !important;
  max-width: 32rem !important;
  color: #1b2430 !important;
}
.service-page .hero__text {
  margin-top: 1.6rem !important;
  font-size: 1.4rem !important;
  line-height: 1.35 !important;
  max-width: 28rem !important;
  color: #1b2430 !important;
  padding-left: 0 !important;
}
.service-page .hero__button {
  margin-top: 2rem !important;
}
.service-page .hero__button .btn {
  width: auto !important;
  min-width: 22rem;
  min-height: 5.2rem;
  border-radius: 999px !important;
}

/* Benefits / advantages strip under hero */
.service-page .section-advantages,
.service-page .advantages,
.service-page .info-strip {
  padding: 2.4rem 0 !important;
}

/* Tour program */
.service-page .section-tour {
  padding: 5rem 0 4rem !important;
}
.service-page .tour__header .section__title,
.service-page .section-tour .section__title {
  font-size: clamp(2.8rem, 8vw, 3.6rem) !important;
  line-height: 1.05 !important;
  margin-bottom: 2.4rem !important;
}
.service-page .tour-item {
  width: min(100%, 34rem) !important;
  min-width: 0 !important;
  border-radius: var(--m-radius) !important;
  overflow: hidden !important;
  flex-direction: column !important;
}
.service-page .tour-item__content {
  width: 100% !important;
  padding: 2.4rem 2rem !important;
}
.service-page .tour-item__media,
.service-page .tour-item__media--strip {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  aspect-ratio: 320 / 280 !important;
  border-radius: 0 0 var(--m-radius) var(--m-radius) !important;
}
.service-page .tour-item__media img,
.service-page .tour-item__media--strip img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.service-page .tour-item--strip {
  min-width: 0 !important;
  width: min(100%, 34rem) !important;
}
.service-page .tour-item__gallery {
  width: 100% !important;
  max-width: none !important;
  display: flex !important;
  gap: 1.2rem !important;
  overflow-x: auto !important;
  padding: 0 0 1.6rem !important;
  -webkit-overflow-scrolling: touch;
}
.service-page .tour-item__gallery .tour-item__photo {
  flex: 0 0 auto !important;
  width: 18rem !important;
}

/* Booking */
.service-page .section-booking { padding: 3rem 0 !important; }
.service-page .booking {
  width: 100% !important;
  border-radius: 2.4rem !important;
  padding: 2.8rem 2rem 0 !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}
.service-page .booking__main {
  display: flex !important;
  flex-direction: column !important;
  gap: 2rem !important;
  width: 100% !important;
}
.service-page .booking__content,
.service-page .booking__form {
  width: 100% !important;
  max-width: none !important;
  position: relative !important;
  z-index: 2 !important;
}
.service-page .booking__header.section__title {
  font-size: clamp(2.6rem, 7vw, 3.2rem) !important;
  line-height: 1.08 !important;
}
.service-page .booking__text {
  font-size: 1.5rem !important;
  line-height: 1.35 !important;
}
.service-page .booking__media {
  position: relative !important;
  inset: auto !important;
  width: calc(100% + 4rem) !important;
  margin: .8rem -2rem 0 !important;
  height: auto !important;
  max-width: none !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}
.service-page .booking__media picture,
.service-page .booking__media img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  transform: none !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}

/* Features */
.service-page .features,
.service-page .features--composite {
  margin-top: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
.service-page .features--composite .features__bg,
.service-page .features--composite .features__bg-inage {
  position: relative !important;
  inset: auto !important;
  height: auto !important;
}
.service-page .features--composite .features__bg img {
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
  min-height: 42rem;
}
.service-page .features--composite .features__main {
  position: absolute !important;
  inset: 0 auto auto 0 !important;
  width: 100% !important;
  padding: 3rem 0 0 !important;
  min-height: 0 !important;
  pointer-events: none;
}
.service-page .features--composite .features__main .container { pointer-events: auto; }
.service-page .features__header .section__title {
  font-size: clamp(2.6rem, 7.5vw, 3.4rem) !important;
  line-height: 1.05 !important;
}
.service-page .features--composite .features__wrapper {
  position: relative !important;
  top: auto !important;
  margin-top: -28% !important;
  padding: 2rem 0 5rem !important;
  background: transparent !important;
}
.service-page .features__gallery,
.service-page .features--composite .features__gallery {
  width: 100% !important;
  max-width: none !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 2.4rem !important;
  margin: 0 auto !important;
}
.service-page .features__item {
  width: 100% !important;
  margin: 0 !important;
}
.service-page .features__image {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  aspect-ratio: 467 / 363 !important;
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 2rem !important;
}
.service-page .features__image picture,
.service-page .features__image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.service-page .features__title {
  display: block !important;
  color: #fff !important;
  text-align: left !important;
  margin-top: 1.4rem !important;
  font-size: 1.5rem !important;
  line-height: 1.2 !important;
}
.service-page .features__pattern { z-index: 2 !important; pointer-events: none !important; }

/* Comfort */
.service-page .comfort { padding: 5rem 0 !important; }
.service-page .comfort__header {
  margin-bottom: 2.4rem !important;
  text-align: left !important;
}
.service-page .comfort__header .section__title {
  font-size: clamp(2.6rem, 7.5vw, 3.4rem) !important;
}
.service-page .comfort__items {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 1.4rem !important;
}
.service-page .comfort-item {
  width: 100% !important;
  grid-column: span 1 !important;
  min-height: 21rem;
  aspect-ratio: 287 / 201 !important;
  border-radius: 1.8rem !important;
  overflow: hidden !important;
  position: relative !important;
}
.service-page .comfort-item__media,
.service-page .comfort-item__image {
  width: 100% !important;
}
.service-page .comfort-item__text {
  font-size: 1.4rem !important;
  line-height: 1.25 !important;
}

/* Video / map CTA */
.service-page .video-tour {
  padding: 4rem 0 !important;
}
.service-page .video-tour__image,
.service-page .video-tour__media {
  width: 100% !important;
  border-radius: 2rem !important;
  overflow: hidden !important;
}
.service-page .video-tour__image img {
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
}

/* Captains / person advantages */
.service-page .person-advantages {
  display: flex !important;
  flex-direction: column !important;
  gap: 2rem !important;
}
.service-page .person-advantages__item { width: 100% !important; }

/* Pricing */
.service-page .pricing { padding: 5rem 0 !important; }
.service-page .pricing__group,
.service-page .pricing__group--freight,
.service-page .pricing__group--snowmobile {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 1.6rem !important;
}
.service-page .pricing-item,
.service-page .pricing-item--freight {
  width: 100% !important;
  border-radius: 2rem !important;
  padding: 2.4rem 2rem !important;
}
.service-page .pricing-item__title {
  font-size: 2.2rem !important;
  min-height: 0 !important;
}
.service-page .pricing-item__price { font-size: 2.8rem !important; }
.service-page .pricing-item__buttons .btn,
.service-page .pricing-item__buttons a {
  width: 100% !important;
}

/* Focusing */
.service-page .focusing {
  padding: 5rem 0 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
.service-page .focusing__main {
  display: flex !important;
  flex-direction: column !important;
  gap: 2rem !important;
}
.service-page .focusing__content,
.service-page .focusing__form {
  width: 100% !important;
  max-width: none !important;
  position: relative !important;
  z-index: 5 !important;
}
.service-page .focusing__header {
  font-size: clamp(2.8rem, 8vw, 3.6rem) !important;
  line-height: 1.05 !important;
}
.service-page .focusing__media {
  position: relative !important;
  inset: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: calc(100% + 2 * var(--m-gutter)) !important;
  max-width: none !important;
  margin: .4rem calc(var(--m-gutter) * -1) 0 !important;
  transform: none !important;
  order: 2;
}
.service-page .focusing__form { order: 3; margin-bottom: 3rem; }
.service-page .focusing__image,
.service-page .focusing__image picture,
.service-page .focusing__image img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  background: transparent !important;
}

/* Comments / gallery strip */
.service-page .comments { padding: 4rem 0 !important; }
.service-page .comments__wrapper .swiper { overflow: hidden; }
.service-page .client-photos {
  gap: 1.2rem !important;
  padding: 1rem 0 2.4rem !important;
}
.service-page .client-photos__item {
  flex: 0 0 28rem !important;
  width: 28rem !important;
  height: 34rem !important;
}

/* FAQ */
.service-page .section-qa { padding: 5rem 0 !important; }
.service-page .qa { border-radius: 1.6rem !important; }
.service-page .qa__header { padding: 1.8rem 1.6rem !important; }
.service-page .qa__content { padding: 0 1.6rem 1.8rem !important; }

/* Forms common */
.service-page .form-control,
.service-page input[type="text"],
.service-page input[type="tel"] {
  min-height: 5rem;
  border-radius: 1.2rem !important;
}
.service-page .btn-primary {
  border-radius: 999px !important;
}

/* ========== Phone exact rhythm (≤575.97, Figma 320 system) ========== */
@media (max-width: 575.97px) {
  .service-page { --m-gutter: 1.5rem; }
  .service-page .hero { min-height: 50.9rem; }
  .service-page .hero__main { padding: 3rem 0 4rem !important; }
  .service-page .hero__header { font-size: 2.8rem !important; max-width: 29rem !important; }
  .service-page .hero__text { font-size: 1.4rem !important; color: #fff !important; text-shadow: 0 1px 8px rgba(0,0,0,.35); }
  .service-page .hero__button .btn { width: 100% !important; min-width: 0; }

  .service-page .section-tour { padding-top: 4.8rem !important; }
  .service-page .tour-item { width: calc(100vw - 3rem) !important; }

  .service-page .booking { padding: 2.4rem 1.6rem 0 !important; border-radius: 2rem !important; }
  .service-page .booking__media { width: calc(100% + 3.2rem) !important; margin: .6rem -1.6rem 0 !important; }

  .service-page .features--composite .features__wrapper { margin-top: -32% !important; padding-bottom: 4rem !important; }
  .service-page .features__gallery { gap: 2rem !important; }

  .service-page .comfort-item { min-height: 20rem; }
  .service-page .comfort--snow .comfort-item,
  .service-page .comfort--lake .comfort-item {
    /* keep absolute leaf placement from desktop scoped rules when present; soft fallback */
  }

  .service-page .focusing__media { width: calc(100% + 3rem) !important; margin: .4rem -1.5rem 0 !important; }

  /* Sea cruise / sea fishing: keep feature cards readable on dark band */
  .service-page--service .features__title,
  .service-page--sea-fishing .features__title,
  .service-page--gastro-tour .features__title,
  .service-page--snowmobile .features__title,
  .service-page--lake-fishing .features__title {
    color: #fff !important;
  }
}

/* ========== Soft tablet (576–991) ========== */
@media (min-width: 576px) and (max-width: 991.97px) {
  .service-page { --m-gutter: 2.4rem; }
  .service-page .hero { min-height: 56rem; }
  .service-page .comfort__items {
    grid-template-columns: 1fr 1fr !important;
  }
  .service-page .features__gallery {
    grid-template-columns: 1fr 1fr !important;
  }
  .service-page .features__item:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    max-width: 42rem;
    justify-self: center;
  }
  .service-page .pricing__group--snowmobile {
    grid-template-columns: 1fr 1fr !important;
  }
}

/* Page-specific polish from Figma mobile frames */
.service-page--service .booking,
.service-page--sea-fishing .booking,
.service-page--gastro-tour .booking {
  background: #078ab4 !important;
}
.service-page--snowmobile .booking {
  background: #0b6d86 !important;
}
.service-page--lake-fishing .booking {
  background: #034963 !important;
}

/* Prevent snow/lake desktop absolute comfort rules from breaking phone stack */
@media (max-width: 991.97px) {
  .service-page .comfort--snow .comfort-item,
  .service-page .comfort--lake .comfort-item {
    display: flex !important;
    flex-direction: column !important;
    aspect-ratio: 287 / 201 !important;
  }
  .service-page .comfort--snow .comfort-item__media,
  .service-page .comfort--lake .comfort-item__media,
  .service-page .comfort--snow .comfort-item__image,
  .service-page .comfort--lake .comfort-item__image {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    height: 55% !important;
    background-size: contain !important;
    background-position: center center !important;
  }
  .service-page .comfort--snow .comfort-item__image picture,
  .service-page .comfort--lake .comfort-item__image picture {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
  }
  .service-page .comfort--snow .comfort-item__image img,
  .service-page .comfort--lake .comfort-item__image img {
    display: block !important;
    width: auto !important;
    max-width: 70% !important;
    max-height: 100% !important;
    margin: 0 auto !important;
    object-fit: contain !important;
  }
  .service-page .comfort--snow .comfort-item__text,
  .service-page .comfort--lake .comfort-item__text {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    padding: 1.2rem 1.4rem 1.6rem !important;
    text-align: center !important;
  }
  .service-page .booking--snow .booking__media {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: calc(100% + 4rem) !important;
    height: auto !important;
  }
  .service-page .features--snow .features__main,
  .service-page .features--snow .features__wrapper {
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    padding: 2.4rem 0 !important;
  }
  .service-page .features--snow .features__gallery {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }
  .service-page .focusing--snow .focusing__media,
  .service-page .focusing--lake .focusing__media {
    position: relative !important;
    left: auto !important;
    width: calc(100% + 2 * var(--m-gutter)) !important;
    aspect-ratio: auto !important;
  }
}


/* ===== Features mobile: stable stacked cards on navy band ===== */
.service-page .features--composite {
  background: #031125 !important;
  padding-bottom: 4rem !important;
}
.service-page .features--composite .features__bg {
  max-height: 34rem;
  overflow: hidden;
}
.service-page .features--composite .features__bg img {
  min-height: 34rem !important;
  object-position: center top !important;
}
.service-page .features--composite .features__main {
  position: relative !important;
  inset: auto !important;
  margin-top: -34rem !important;
  padding: 2.4rem 0 1.6rem !important;
  min-height: 34rem !important;
  display: flex !important;
  align-items: flex-start !important;
}
.service-page .features--composite .features__header .section__title,
.service-page .features--composite .features__content,
.service-page .features--composite .features__content li {
  color: #031125 !important;
}
.service-page .features--composite .features__wrapper {
  position: relative !important;
  margin-top: 0 !important;
  padding: 2rem 0 1rem !important;
  background: #031125 !important;
}
.service-page .features__gallery,
.service-page .features--composite .features__gallery {
  width: calc(100% - 0px) !important;
  padding: 0 var(--m-gutter) !important;
  box-sizing: border-box !important;
  gap: 2.2rem !important;
}
.service-page .features__item {
  width: 100% !important;
  max-width: 42rem !important;
  margin: 0 auto !important;
}
.service-page .features__title {
  color: #fff !important;
  text-align: left !important;
  padding: 0 .2rem !important;
}

/* Comfort phone: ensure readable stacked teal cards across all services */
@media (max-width: 991.97px) {
  .service-page .comfort-item {
    background: #0a6f8f !important;
    color: #fff !important;
  }
  .service-page .comfort-item__text {
    color: #fff !important;
  }
  .service-page .comfort--lake .comfort-item__image,
  .service-page .comfort--snow .comfort-item__image {
    background-color: transparent !important;
  }
  /* Restore img visibility if desktop hid picture for bg-image approach */
  .service-page .comfort--lake .comfort-item__image {
    background-image: none !important;
  }
  .service-page .comfort--lake .comfort-item__image picture {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 100% !important;
  }
  .service-page .comfort--lake .comfort-item__image img {
    display: block !important;
    max-width: 72% !important;
    max-height: 90% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
  }
  .service-page .comfort--snow .comfort-item__image {
    background-image: none !important;
  }
  .service-page .comfort--snow .comfort-item__image picture {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 100% !important;
  }
}

/* Focusing phone: content then image then form */
@media (max-width: 991.97px) {
  .service-page .focusing__content { order: 1 !important; }
  .service-page .focusing__media { order: 2 !important; }
  .service-page .focusing__form { order: 3 !important; }
  .service-page .focusing__main { display: flex !important; flex-direction: column !important; }
}

/* Tour swiper cards: keep side peek like Figma */
@media (max-width: 575.97px) {
  .service-page .section-tour .swiper-slide {
    width: 86% !important;
  }
  .service-page .tour-item {
    width: 100% !important;
  }
}

/* ===== m4b: keep gallery mobile comfort; only beat snow absolute + polish ===== */
@media (max-width: 991.97px) {
  .service-page .comfort__header { text-align: left !important; }
  .service-page .comfort__items {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 1.4rem !important;
  }
  .service-page .comfort-item__text br { display: none; }

  /* Snowmobile: kill desktop absolute cutout coordinates on phone */
  .service-page .comfort--snow .comfort-item,
  .service-page .comfort:has([src*="/figma/snowmobile/comfort"]) .comfort-item {
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    overflow: hidden !important;
  }
  .service-page .comfort--snow .comfort-item:nth-child(2),
  .service-page .comfort--snow .comfort-item:nth-child(4),
  .service-page .comfort:has([src*="/figma/snowmobile/comfort"]) .comfort-item:nth-child(2),
  .service-page .comfort:has([src*="/figma/snowmobile/comfort"]) .comfort-item:nth-child(4) {
    flex-direction: column !important;
  }
  .service-page .comfort--snow .comfort-item__media,
  .service-page .comfort--snow .comfort-item__image,
  .service-page .comfort--snow .comfort-item__image picture,
  .service-page .comfort:has([src*="/figma/snowmobile/comfort"]) .comfort-item__media,
  .service-page .comfort:has([src*="/figma/snowmobile/comfort"]) .comfort-item__image,
  .service-page .comfort:has([src*="/figma/snowmobile/comfort"]) .comfort-item__image picture {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    height: 10.2rem !important;
    min-height: 10.2rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: none !important;
    background-image: none !important;
    padding: .5rem 1.2rem 0 !important;
  }
  .service-page .comfort--snow .comfort-item__image img,
  .service-page .comfort:has([src*="/figma/snowmobile/comfort"]) .comfort-item__image img {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: auto !important;
    max-width: min(17rem, 62vw) !important;
    height: auto !important;
    max-height: 9.7rem !important;
    object-fit: contain !important;
    transform: none !important;
  }
  .service-page .comfort--snow .comfort-item__text,
  .service-page .comfort:has([src*="/figma/snowmobile/comfort"]) .comfort-item__text {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    padding: .6rem 1.8rem 1.1rem !important;
    text-align: center !important;
  }

  /* Prefer contain over fill so cutouts are not stretched on phone */
  .service-page .comfort:has([src*="/figma/sea-cruise/"]) .comfort-item__image img,
  .service-page .comfort:has([src*="/figma/gastro-tour/comfort"]) .comfort-item__image img,
  .service-page .comfort:has([src*="/figma/lake-fishing/comfort"]) .comfort-item__image img,
  .service-page .comfort:has([src*="/figma/sea-fishing/"]) .comfort-item__image img {
    object-fit: contain !important;
    object-position: center center !important;
  }

  .service-page .section-tour {
    position: relative !important;
    z-index: 2 !important;
    background: #fff;
  }
  .service-page .hero { z-index: 1 !important; }

  .service-page .focusing,
  .service-page .focusing--snow,
  .service-page .focusing--lake {
    min-height: 0 !important;
    height: auto !important;
  }
  .service-page .focusing__main {
    display: flex !important;
    flex-direction: column !important;
    row-gap: 2rem !important;
  }
  .service-page .focusing__content,
  .service-page .focusing__form,
  .service-page .focusing__media {
    position: relative !important;
    width: 100% !important;
    max-width: none !important;
    left: auto !important;
    top: auto !important;
  }
  .service-page .focusing__media img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }

  .service-page .pricing-item,
  .service-page .pricing-item--freight {
    width: 100% !important;
    max-width: none !important;
  }

  .service-page .features--snow {
    min-height: 0 !important;
    background: #031125 !important;
  }
  .service-page .features--snow .features__main {
    position: relative !important;
    min-height: 0 !important;
  }
}
/* ===== m4c: scale tiny lake/snow cutouts on phone ===== */
@media (max-width: 991.97px) {
  .service-page .comfort--lake .comfort-item__image img,
  .service-page .comfort:has([src*="/figma/lake-fishing/comfort"]) .comfort-item__image img {
    width: auto !important;
    height: 9rem !important;
    max-width: 58% !important;
    max-height: 9rem !important;
    object-fit: contain !important;
    object-position: center center !important;
  }
  .service-page .comfort--snow .comfort-item__image img,
  .service-page .comfort:has([src*="/figma/snowmobile/comfort"]) .comfort-item__image img {
    width: auto !important;
    height: 9rem !important;
    max-width: 62% !important;
    max-height: 9rem !important;
    object-fit: contain !important;
  }
}

/* ===== m4d: restore 2-col tablet rhythm (576–991) ===== */
@media (min-width: 576px) and (max-width: 991.97px) {
  .service-page .comfort__items {
    grid-template-columns: 1fr 1fr !important;
  }
  .service-page .features__gallery,
  .service-page .features--composite .features__gallery {
    grid-template-columns: 1fr 1fr !important;
  }
  .service-page .features__item:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    max-width: 42rem;
    justify-self: center;
  }
}
