/* Keep the expanded service's image beside its primary action on phones. */
.service-swipe-hint {display:none;}
@media(max-width:639px) {
  .home-page .service-dialog {touch-action:pan-y pinch-zoom;scroll-padding-block:80px 164px;}
  .home-page .service-dialog .dialog-toolbar {height:64px;min-height:64px;}
  .home-page .service-dialog .service-swipe-hint {
    display:block;margin:0;padding:8px 20px 10px;border-bottom:1px solid #dce6e1;
    color:#58717b;font-size:13px;line-height:1.4;
  }
  .home-page .service-dialog>.dialog-top {padding-bottom:164px;}
  .home-page .service-dialog .dialog-top .dialog-media {
    display:block;width:100%;min-width:0;margin:18px 0 14px;padding:0;
    overflow:hidden;border:1px solid #d6e3dc;border-radius:12px;background:#f0f5f2;
  }
  .home-page .service-dialog .dialog-top .dialog-media>img {
    display:block;width:100%;height:220px;max-height:260px;object-fit:contain;
    user-select:none;-webkit-user-drag:none;
  }
  .home-page .service-dialog.has-service-visual .dialog-top .dialog-media>#dialog-image {display:none;}
  .home-page .service-dialog .dialog-top .dialog-media-caption {display:none;}
  .home-page .service-dialog .dialog-top .dialog-service-visual {display:block;}
  .home-page .service-dialog .dialog-top .dialog-service-visual .service-visual {
    width:100%;max-width:none;padding:12px;
  }
  .home-page .service-dialog .dialog-top .dialog-service-visual img {
    max-height:240px;object-fit:contain;user-select:none;-webkit-user-drag:none;
  }
  .home-page .service-dialog .dialog-top .service-cta {width:100%;min-height:52px;}

  /* The existing wrapping service controls flank the expanded detail. */
  .home-page #service-dialog .dialog-toolbar {
    backdrop-filter:none;-webkit-backdrop-filter:none;filter:none;transform:none;
  }
  .home-page #service-dialog .service-navigation {display:block;margin:0;}
  .home-page #service-dialog #service-position {
    position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
    min-width:48px;color:#49666c;font-size:14px;line-height:1.4;text-align:center;
  }
  .home-page #service-dialog :is(#service-prev,#service-next) {
    position:fixed;top:max(90px,min(46dvh,calc(100dvh - 182px)));z-index:5;
    display:grid;place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;
    margin:0;padding:0;border:1px solid #b1ccc3;border-radius:50%;
    background:#fff;color:#12646b;box-shadow:0 3px 12px #082b4714;
    transform:translateY(-50%);touch-action:manipulation;
  }
  .home-page #service-dialog #service-prev {left:max(3px,env(safe-area-inset-left,0px));}
  .home-page #service-dialog #service-next {right:max(3px,env(safe-area-inset-right,0px));}
  .home-page #service-dialog :is(#service-prev,#service-next)>svg {width:22px;height:22px;stroke-width:2;}
  .home-page #service-dialog :is(#service-prev,#service-next):focus-visible {outline-offset:-3px;}
  .home-page #service-dialog>.dialog-top {
    padding-inline:52px;padding-bottom:164px;gap:22px;
  }
  .home-page #service-dialog .dialog-top .service-detail-title {font-size:26px;line-height:1.18;}
  .home-page #service-dialog .dialog-top :is(.service-detail-description,.check-list li) {font-size:17px;line-height:1.5;}
  .home-page #service-dialog .dialog-top .service-cta {padding-inline:10px;font-size:16px;}
  .home-page #service-dialog .service-swipe-hint {padding-inline:52px;}
}
