/* v205: mobile and tablet gesture ownership and layout. Desktop stays intact. */
button.svc151-play { appearance:none; border:0; padding:0; }
.svc205-pill-close { display:none; }
@media (max-width:1180px) {
  html, body { overflow-x:clip; overscroll-behavior-x:none; }
  .stage, .section03 { overscroll-behavior-x:none;touch-action:pan-y pinch-zoom; }

  /* FILM copy: brighter, two percent wider, without making the layout wider. */
  .section02 .is-psd-story .psd-ko-note {
    opacity:.86;
    width:calc(100% / 1.02);
    transform:scaleX(1.02);
    transform-origin:left top;
  }
  .section02 .is-psd-story .psd-en-body {
    opacity:.74;
    width:calc(100% / 1.02);
    transform:scaleX(1.02);
    transform-origin:left top;
  }
  .section02 .is-intro-story .psd-brand-mark { translate:0 -2px; }
  .section02 .is-process-story .psd-app-groups { translate:0 12px; }
  .section02 .is-process-story .psd-tools { opacity:.96; }
  .section02 .is-process-story .psd-apps li>span:last-child {
    font-size:calc(1em + 1px);
    font-weight:500;
  }

  /* The media and its cutout share one crop, keeping WooGi centered. */
  .s03-services-area :is(.svc-psd-photo,.svc-psd-video,.svc-psd-cutout) {
    object-position:50% top;
  }
  .s03-services-area .svc-psd-heading {
    top:calc(min(60svh,540px) + var(--svc151-title-host-offset,0px));
  }

  /* Only the front card is complete; its immediate neighbors peek in. */
  .svc151-card {
    left:calc(50% - min(37%,250px))!important;
    width:min(74%,500px);
    touch-action:pan-y;
  }
  .svc151-card * { touch-action:inherit; }
  .svc151-cards.is-dragging { touch-action:none; }
  .svc151-pill-one { display:none!important; }
  .svc151-decor { position:sticky;top:0;pointer-events:none; }
  .svc151-play {
    appearance:none;
    border:0;
    padding:0;
    left:calc(50% + 24px);
    top:37%;
    width:38px;
    opacity:1;
    pointer-events:auto;
    cursor:pointer;
    background:rgba(0,0,0,.58);
  }
  .svc151-plane.is-finished .svc151-play {
    animation:svc205-play-light 1.15s ease-in-out infinite, svc151-bob 3.4s ease-in-out infinite;
  }
  .svc151-play:focus-visible,.svc205-pill-close:focus-visible { outline:2px solid #fff;outline-offset:3px; }
  @keyframes svc205-play-light { 0%,100%{opacity:1} 50%{opacity:.58} }
  .svc151-pill-two {
    left:50%;
    top:44%;
    width:min(84%,390px);
    height:68px;
    translate:-50% 0;
    scale:.22;
    opacity:0;
    pointer-events:none;
    transform-origin:60% -60%;
    transition:scale .34s cubic-bezier(.22,1,.36,1),opacity .24s ease;
  }
  .svc151-plane.is-pill-open .svc151-pill-two { scale:1;opacity:1;pointer-events:auto; }
  .svc151-pill-two .svc151-pill-float { animation:none!important; }
  .svc151-pill-two span {
    width:100%;
    padding:4px 28px 4px 13px;
    opacity:1;
    font-size:calc(clamp(10px,.938vw,18px) + 2px);
    line-height:1.3;
    text-align:center;
    transform:none;
    white-space:normal;
    word-break:keep-all;
  }
  .svc205-pill-close {
    display:block;
    position:absolute;
    right:9px;
    bottom:4px;
    z-index:2;
    width:28px;
    height:28px;
    border:0;
    padding:0;
    background:transparent;
    color:#fff;
    font:400 22px/1 Arial,sans-serif;
    cursor:pointer;
  }
}
@media (max-width:700px) {
  .section02 .is-intro-story .psd-brand-mark { translate:0 -4px; }
  .s03-services-area .svc-psd-heading {
    top:calc(min(61svh,520px) + var(--svc-mobile-title-lift,0px) + var(--svc151-title-host-offset,0px));
  }
  .s03-services-area .svc-psd-heading h2 { font-size:clamp(32px,9.2vw,44px); }
  .svc151-card { left:13%!important;width:74%; }
  .svc151-pill-two { width:min(86%,360px); }
}
@media (max-width:360px) {
  .svc151-pill-two { width:88%;height:72px; }
  .svc151-pill-two span { font-size:11px;line-height:1.27; }
}
@media (max-width:1180px) and (prefers-reduced-motion:reduce) {
  .svc151-plane.is-finished .svc151-play { animation:none!important;opacity:1; }
  .svc151-pill-two { transition:none!important; }
}
