/* PEACH CONNECT v0.5.18 — final editorial and small-screen corrections.
   This stylesheet is intentionally last in the cascade. No saved text, images,
   page settings or link targets are altered here. */
:root{--peach-green:#06C755;--peach-orange:#E8A06A;--peach-teal:#396E77}
/* Respect word/phrase boundaries. Avoid legacy overflow-wrap:anywhere.
   Chrome/Safari supporting auto-phrase use Japanese phrase-aware breaking. */
body main :is(h1,h2,h3,h4,p,li,dt,dd,summary,strong,span){word-break:normal;overflow-wrap:normal;line-break:strict;hyphens:none}
@supports (word-break:auto-phrase){body main :is(h1,h2,h3,h4,p,li,dt,dd,summary,strong,span){word-break:auto-phrase}}
body main :is(h1,h2,h3,h4,p,li,summary){min-width:0}
body main .peach-brand-keep{display:inline;white-space:nowrap!important;word-break:keep-all!important;overflow-wrap:normal!important}
/* Avoid lateral document drift: horizontally scrollable comparison regions stay local. */
html,body{width:100%;max-width:100%;overflow-x:clip}
body main,body .pcnx-root,body .pc-service{min-width:0;max-width:100%;overflow-x:clip}
body :is(.container,.pcnx-shell,.sv-service-layout,.pcnx-item,.pcnx-item-copy){min-width:0}
/* Comparison: entire PEACH column has a unified background, not just text. */
.pcnx-root .pcnx-compare-head,.pcnx-root .pcnx-compare-row{grid-template-columns:25% 39% 36%;align-items:stretch!important}
.pcnx-root .pcnx-compare-head>span,.pcnx-root .pcnx-compare-row>*{min-width:0;align-self:stretch;margin:0;box-sizing:border-box}
.pcnx-root .pcnx-compare-row>p:nth-child(2){background:#e8f6f1!important;color:#20545b!important;border-radius:0!important;box-shadow:none!important;display:flex!important;align-items:center;padding:18px 20px!important;min-height:100%}
.pcnx-root .pcnx-compare-row{background:#fff!important}
.pcnx-page-branding .pcnx-brand-compare table{border-collapse:separate;border-spacing:0;table-layout:fixed;min-width:720px;width:100%}
.pcnx-page-branding .pcnx-brand-compare th,.pcnx-page-branding .pcnx-brand-compare td{vertical-align:middle!important}
.pcnx-page-branding .pcnx-brand-compare tbody td.pcnx-brand-compare-best{background:#e8f6f1!important;color:#20545b!important;box-shadow:none!important;border-radius:0!important}
.pcnx-page-branding .pcnx-brand-compare thead th.pcnx-brand-compare-best{background:#286c6d!important;color:white!important}
.pcnx-page-branding .pcnx-brand-compare td.pcnx-brand-compare-best>span{background:transparent!important}
/* Grouped FAQ categories, including when the All filter is selected. */
.pcnx-root .pcnx-faq-list{display:flex;flex-direction:column;gap:30px}
.pcnx-root .pcnx-faq-group{display:flex;flex-direction:column;gap:12px;min-width:0}
.pcnx-root .pcnx-faq-group[hidden]{display:none!important}
.pcnx-root .pcnx-faq-group-title{font-size:clamp(18px,2.3vw,24px);padding:0 0 12px;margin:0 0 5px;border-bottom:2px solid #bcd8d8;color:#234b55;font-weight:800;text-align:left}
.pcnx-root .pcnx-faq-group-title span{margin-left:10px;font-size:.7em;font-weight:500;color:#65858a}
/* Make 4 service workflow images consistent, ordered and editorial. */
.pcnx-root .pcnx-flow-timeline .pcnx-item>.pcnx-photo{width:100%!important;min-width:0;max-width:100%;aspect-ratio:16/10;overflow:hidden;border-radius:15px}
.pcnx-root .pcnx-flow-timeline .pcnx-item>.pcnx-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
/* Portrait: show representative face rather than centering the body or clipping top. */
.pcnx-root.pcnx-page-message #story .pcnx-story-chapter:first-child .pcnx-photo{aspect-ratio:4/5!important;max-height:680px;overflow:hidden}
.pcnx-root.pcnx-page-message #story .pcnx-story-chapter:first-child .pcnx-photo img{object-position:center top!important;width:100%;height:100%;object-fit:cover}
/* Company logo hero: consistent artwork crop, soft overlay for high text contrast. */
.pcnx-root.pcnx-page-company .peach-shared-fv .hero-photo,.pcnx-root.pcnx-page-company .peach-shared-fv .peach-fv-photo-motion{background:#f6f9f8!important}
.pcnx-root.pcnx-page-company .peach-shared-fv .hero-photo img{object-fit:contain!important;object-position:78% center!important;opacity:.32!important}
.pcnx-root.pcnx-page-company .peach-shared-fv .hero-fade{background:linear-gradient(90deg,rgba(248,251,251,.98) 0%,rgba(248,251,251,.93) 56%,rgba(248,251,251,.75) 100%)!important}
/* LINE white icon badge: the green word LINE on white, no transparent bleed. */
.site-header .pc-header-line-cta{background:#06C755!important;border-color:#06C755!important;color:#fff!important}
.site-header .pc-header-line-cta.is-unconfigured{background:#06C755!important;border-color:#06C755!important;color:#fff!important;opacity:1!important}
.site-header .pc-header-line-cta svg:first-child{background:#fff;border-radius:11px;flex:none}
body .peach-fv-line-mark{background:#fff!important;color:#06C755!important;border:1px solid rgba(6,140,62,.26)!important;border-radius:9px!important;box-shadow:0 1px 4px rgba(0,0,0,.06);display:inline-flex!important;justify-content:center;align-items:center;min-width:36px;min-height:32px;flex:none}
body .peach-fv-line-mark>span{color:#06C755!important;font-size:9px;line-height:1!important;font-family:Arial,sans-serif;font-weight:900;letter-spacing:-.05em}
body :is(.peach-fv-button--line,.sv-top-hero-cta--line,.pc-header-line-cta){background-color:#06C755!important;border-color:#06C755!important;color:#fff!important}
body :is(.peach-fv-button--pending,.sv-top-hero-cta--pending){background-color:#06C755!important;border-color:#06C755!important;color:#fff!important;opacity:1!important}
body :is(.peach-fv-button--contact){background-color:#E8A06A!important;border-color:#E8A06A!important;color:white!important}
/* Lightweight motion on desktop only, no continuous scroll listeners or GPU filters. */
@media (hover:hover) and (min-width:761px){
 .pcnx-root .pcnx-item,.pcnx-root .pcnx-plan,.pcnx-root .pcnx-story-chapter .pcnx-photo,body.home .service-card{transition:transform .25s ease,box-shadow .25s ease}
 .pcnx-root .pcnx-item:hover,.pcnx-root .pcnx-plan:hover,body.home .service-card:hover{transform:translateY(-3px);box-shadow:0 12px 25px rgba(26,72,77,.10)}
}
@media (max-width:760px){
 /* Layout must be usable at 320px (iPhone SE first-generation width). */
 body main :is(h1,h2,h3,h4,p,li,summary,strong,span){overflow-wrap:normal!important;line-break:strict!important;hyphens:none!important}
 @supports (word-break:auto-phrase){body main :is(h1,h2,h3,h4,p,li,summary,strong,span){word-break:auto-phrase!important}}
 .pcnx-root .pcnx-compare,.pcnx-page-branding .pcnx-brand-compare{overflow-x:auto!important;overflow-y:hidden!important;touch-action:pan-x!important;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;max-width:100%!important}
 .pcnx-root .pcnx-compare-head{display:grid!important;grid-template-columns:190px 295px 290px!important;width:775px!important;min-width:775px!important}
 .pcnx-root .pcnx-compare-row{display:grid!important;grid-template-columns:190px 295px 290px!important;width:775px!important;min-width:775px!important;padding:0!important;align-items:stretch!important}
 .pcnx-root .pcnx-compare-row>*{padding:15px 17px!important;min-width:0!important}
 .pcnx-root .pcnx-compare-row>p:nth-child(2){padding:15px 17px!important;min-height:100%!important}
 .pcnx-page-branding .pcnx-brand-compare table{min-width:860px!important;width:860px!important}
 .pcnx-root .pcnx-faq-list{gap:26px}
 .pcnx-root .pcnx-faq-group{gap:9px}
 .pcnx-root .pcnx-faq-group-title{font-size:18px;padding-bottom:9px}
 .pcnx-root .pcnx-flow-timeline .pcnx-item>.pcnx-photo{aspect-ratio:16/9!important;max-height:200px}
 .pcnx-root .pcnx-flow-timeline>.pcnx-item{min-width:0}
 .pcnx-root.pcnx-page-company .peach-shared-fv .hero-photo img{object-position:center center!important;opacity:.16!important}
 .pcnx-root.pcnx-page-company .peach-shared-fv .hero-fade{background:rgba(250,252,252,.82)!important}
 .pcnx-root.pcnx-page-message #story .pcnx-story-chapter:first-child .pcnx-photo{aspect-ratio:4/4.7!important;max-height:480px}
 /* Slightly shorter full-bleed FVs while respecting taller user-edited copy. */
 body .hero.peach-shared-fv:not(.home-hero),body .pc-service .sv-top-hero{min-height:450px!important;height:auto!important;max-height:none!important}
 body .hero.peach-shared-fv:not(.home-hero) .peach-fv-inner,body .pc-service .sv-top-hero .sv-top-hero-inner{min-height:450px!important;height:auto!important;padding-top:52px!important;padding-bottom:48px!important;align-items:center!important}
 body .hero.peach-shared-fv:not(.home-hero) .peach-fv-copy>*+*,body .pc-service .sv-top-hero-copy>*+*{margin-top:15px!important}
 .pcnx-root .peach-shared-fv h1,.pc-service .sv-top-hero h1{font-size:clamp(25px,7.25vw,35px)!important;line-height:1.48!important;letter-spacing:-.025em!important}
 .pcnx-root .peach-shared-fv .peach-fv-lead,.pc-service .sv-top-hero .sv-top-hero-lead{font-size:clamp(14px,4.2vw,16px)!important;line-height:1.7!important}
 .pcnx-root .peach-shared-fv .peach-fv-button,.pc-service .sv-top-hero-cta{min-height:48px;font-size:14px!important}
 /* Avoid JS animation and expensive hover effects while touch-scrolling. */
 .pcnx-root [data-reveal],body.home .service-card,body .sv-reveal{animation:none!important;transform:none!important;transition:none!important;will-change:auto!important}
}
@media(max-width:350px){
 .pcnx-shell,.container{min-width:0}
 .pcnx-root .pcnx-item-copy h3{font-size:16px!important}
 body .hero.peach-shared-fv:not(.home-hero) .peach-fv-inner{padding-top:42px!important;padding-bottom:40px!important}
 .pcnx-root .peach-shared-fv h1,.pc-service .sv-top-hero h1{font-size:24px!important;line-height:1.45!important}
}
@media(prefers-reduced-motion:reduce){.pcnx-root .pcnx-item,.pcnx-root .pcnx-plan,body.home .service-card{transition:none!important;transform:none!important}}

/* Stronger legacy mobile selector had been forcing white text on the white LINE badge. */
body .pcnx-root section.hero.peach-shared-fv :is(a,span).peach-fv-button .peach-fv-line-mark>span,
body .pcnx-root section.hero.peach-shared-fv .peach-fv-button--pending .peach-fv-line-mark>span{color:#06C755!important;-webkit-text-fill-color:#06C755!important;}
body :is(.pcnx-button--line,.sv-top-hero-cta--line,.sv-top-hero-cta--pending) :is(.pcnx-line-mark,.sv-top-hero-line-mark){display:inline-flex!important;align-items:center;justify-content:center;flex:none;min-width:35px;min-height:29px;padding:4px;border:1px solid #fff!important;border-radius:9px;background:#fff!important;color:#06C755!important;-webkit-text-fill-color:#06C755!important;font-weight:900;font-size:10px;letter-spacing:-.03em;vertical-align:middle}
body .pcnx-button--line .pcnx-line-mark{color:#06C755!important;-webkit-text-fill-color:#06C755!important}
