/* PEACH CONNECT 0.5.17: mobile first, lean motion and stable navigation. */
@media(max-width:1100px){
  /* Stable header: its blur created an unexpected fixed-position containing block. */
  .site-header{background:#fff!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;isolation:isolate!important;}
  .site-header .menu-toggle{position:relative!important;z-index:1002!important;display:flex!important;cursor:pointer!important;pointer-events:auto!important;touch-action:manipulation;}
  .site-header .mobile-nav[hidden]{display:none!important;visibility:hidden!important;}
  .site-header .mobile-nav:not([hidden]){
    display:block!important;visibility:visible!important;
    position:absolute!important;top:100%!important;left:0!important;right:0!important;
    width:100%!important;max-width:100vw!important;
    height:auto!important;max-height:calc(100dvh - var(--header-height,62px))!important;
    padding:14px max(18px,env(safe-area-inset-right)) 34px max(18px,env(safe-area-inset-left))!important;
    overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain!important;
    border-top:1px solid #d9e9ea!important;background:#f5faf9!important;
    box-shadow:0 16px 36px rgba(18,52,61,.18)!important;
    -webkit-overflow-scrolling:touch;
  }
  .site-header .mobile-nav>.pc-nav-list{max-width:660px;margin:0 auto!important;}
  .site-header .mobile-nav .pc-menu-head{gap:9px!important;margin:6px 0!important;}
  .site-header .mobile-nav .pc-menu-head>.pc-menu-link,
  .site-header .mobile-nav .pc-menu-head>.pc-menu-label{
    min-height:54px!important;font-size:16px!important;font-weight:750!important;
    padding:14px 16px!important;color:#254e56!important;
    background:#fff!important;border:1px solid #dce9e8!important;
    border-radius:12px!important;box-shadow:0 3px 8px rgba(25,78,82,.03)!important;
  }
  .site-header .mobile-nav .pc-submenu-toggle{
    width:54px!important;min-width:54px!important;min-height:54px!important;
    background:#eaf4f3!important;color:#316b73!important;border:1px solid #d1e3e3!important;
    border-radius:12px!important;
  }
  .site-header .mobile-nav .pc-menu-item.is-expanded>.pc-menu-head>.pc-submenu-toggle{background:#d9e9e9!important;}
  .site-header .mobile-nav .pc-menu-item.is-expanded>.pc-submenu-shell{
    display:block!important;position:static!important;padding:2px 0 4px 14px!important;
    border-left:3px solid #e8a06a!important;margin:6px 0 12px 11px!important;
  }
  .site-header .mobile-nav .pc-submenu .pc-menu-head>.pc-menu-link{min-height:48px!important;font-size:15px!important;background:#fff!important;}
  .site-header .mobile-nav .pc-mobile-actions{max-width:660px!important;margin:20px auto 0!important;gap:12px!important;}
  .site-header .mobile-nav .pc-mobile-actions a{min-height:50px!important;font-size:15px!important;}
  .site-header .mobile-nav a:focus-visible,.site-header .mobile-nav button:focus-visible,.site-header .menu-toggle:focus-visible{outline:3px solid #e8a06a!important;outline-offset:2px;}
  body.pc-mobile-menu-open{overflow:hidden!important;}
}
/* Real images make the six production steps feel connected. The number is the timeline anchor. */
body.home .process .steps-grid .peach-step-visual{margin:10px 7px 7px;min-width:0;max-width:100%;width:calc(100% - 14px);aspect-ratio:8/5;overflow:hidden;border-radius:12px;border:1px solid #dbe9e9;box-shadow:0 6px 18px rgba(30,83,88,.08);}
body.home .process .steps-grid .peach-step-visual img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;}
body.home .process .steps-grid li{min-width:0;}
@media(max-width:760px){
  /* Browser performs Japanese phrase-aware wrapping. No expensive resize splitter. */
  body main :is(h1,h2,h3,p,li,span,strong){line-break:strict;word-break:normal;overflow-wrap:break-word;hyphens:none;}
  @supports (word-break:auto-phrase){body main :is(h1,h2,h3,p,li,span,strong){word-break:auto-phrase;}}
  body main .peach-brand-keep{white-space:nowrap!important;overflow-wrap:normal!important;word-break:keep-all!important;}
  /* Avoid animated transforms/filter/backdrop composites during kinetic scrolling. */
  html{scroll-behavior:auto!important;}
  .site-header{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
  body.home :is(.hero-photo,.hero-fade,.hero-signature,.problem-item,.problem-photo,.service-card,.featured-service,.work-card,.reason-card,.process .steps-grid li),
  body :is(.peach-shared-fv .peach-fv-photo,.sv-top-hero .sv-top-hero-photo,.pcnx-hero-image){
    animation:none!important;transition-property:color,background-color,border-color!important;will-change:auto!important;
  }
  body.home .process .steps-grid::before{left:27px!important;top:48px!important;bottom:54px!important;}
  body.home .process .steps-grid li{
    grid-template-columns:66px minmax(0,1fr)!important;
    grid-template-rows:auto auto auto!important;
    gap:2px 10px!important;min-height:125px!important;padding:13px 0 16px!important;
  }
  body.home .process .steps-grid li b{grid-column:1!important;grid-row:1/span 3!important;align-self:center!important;}
  body.home .process .steps-grid li .peach-step-visual{
    grid-column:2!important;grid-row:1!important;width:100%!important;max-width:290px!important;
    height:auto!important;aspect-ratio:16/9!important;margin:0 0 6px!important;
  }
  body.home .process .steps-grid li span{grid-column:2!important;grid-row:2!important;}
  body.home .process .steps-grid li strong{grid-column:2!important;grid-row:3!important;font-size:17px!important;}
  /* Text must remain legible even on narrow phones; no shrinking to 10px to fit. */
  body.home :is(.hero-body,.hero-subhead,.problem-copy p,.card-copy p),
  .pcnx-root :is(.pcnx-lead,.pcnx-body),.pc-service .sv-top-hero-lead{font-size:max(14px,1em);}
}
@media(prefers-reduced-motion:reduce){body.home .process .steps-grid *{animation:none!important;transition:none!important;}}
