/* PEACH CONNECT v0.5.26 — safe left-aligned first views, uniform image wash,
   balanced conversion blocks, and an evidence-led founder section.
   This file is intended to be the final CSS layer; no dynamic resizing. */
:root { --peach-v25-deep:#24464e; --peach-v25-mint:#eff7f7; }
/* v0.5.26 — one LEFT axis for every first view, while the content column
   remains inside the same centered page container. No independent left offsets. */
body.home #hero.hero > .hero-inner,
body main.pc-service #service-hero.sv-top-hero > .hero-inner,
body .pcnx-root .hero.peach-shared-fv .peach-fv-inner,
body .pcpr-document .pcpr-hero-inner,
body .pcn .pcn-hero__inner {
  box-sizing:border-box!important;
  width:min(1150px,calc(100% - 80px))!important;
  max-width:1150px!important;
  margin-inline:auto!important;
  justify-content:center!important; /* vertical centering; align-items controls horizontal */
  align-items:flex-start!important;
  text-align:left!important;
}
body.home #hero.hero > .hero-inner > :is(.hero-kicker,h1,.hero-subhead,.hero-body,.button-row,.hero-points),
body main.pc-service #service-hero.sv-top-hero .sv-top-hero-copy,
body .pcnx-root .hero.peach-shared-fv .peach-fv-copy,
body .pcpr-document .pcpr-hero-copy,
body .pcn .pcn-hero__copy {
  box-sizing:border-box!important;
  margin-left:0!important;
  margin-right:0!important;
  text-align:left!important;
  align-items:flex-start!important;
  min-width:0!important;
  width:auto!important;
  max-width:min(100%,720px)!important;
}
body main.pc-service #service-hero.sv-top-hero .sv-top-hero-copy {width:100%!important;}
body.home #hero.hero h1,
body main.pc-service #service-hero.sv-top-hero h1,
body .pcnx-root .hero.peach-shared-fv h1,
body .pcpr-document .pcpr-hero h1,
body .pcn .pcn-hero h1 {
  margin-left:0!important;margin-right:0!important;
  max-width:100%!important;text-align:left!important;
}
body.home #hero.hero .button-row,
body main.pc-service #service-hero.sv-top-hero .button-row,
body .pcnx-root .hero.peach-shared-fv :is(.button-row,.pcnx-hero-actions),
body .pcpr-document .pcpr-hero .button-row,
body .pcn .pcn-hero :is(.pcn-button-row,.button-row) {
  display:flex!important;justify-content:flex-start!important;
  align-items:center!important;flex-wrap:wrap!important;
  gap:12px!important;width:100%!important;
  max-width:720px!important;margin:17px 0 0!important;
  text-align:left!important;
}
body.home #hero.hero .hero-points,
body main.pc-service #service-hero.sv-top-hero .sv-top-hero-points {
  justify-content:flex-start!important;text-align:left!important;
  margin:15px 0 0!important;
}
body :is(.hero,.peach-shared-fv) .peach-fv-line-primary,
body main.pc-service #service-hero.sv-top-hero .sv-top-hero-cta {
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  width:auto!important;max-width:100%!important;min-height:52px!important;
  padding:12px 24px!important;white-space:normal!important;
  margin:0!important;text-align:center!important;
}
/* The white layer covers the WHOLE image with the SAME opacity from
   left to right and top to bottom; no gradients or text-only white plate. */
body.home #hero.hero .hero-fade,
body main.pc-service #service-hero.sv-top-hero .hero-fade,
body .pcnx-root .hero.peach-shared-fv .hero-fade,
body .pcpr-document .pcpr-hero .hero-fade,
body .pcn .pcn-hero .hero-fade {
  position:absolute!important;inset:0!important;
  background:rgba(249,252,252,.78)!important;
  pointer-events:none!important;
}
body.home #hero.hero .hero-photo,
body.home #hero.hero .hero-media,
body main.pc-service #service-hero.sv-top-hero .hero-photo,
body main.pc-service #service-hero.sv-top-hero .hero-media {
  inset:0!important;
}
body.home #hero.hero .hero-photo{background-position:center 43%!important;}
body.home #hero.hero .hero-inner::before,
body main.pc-service #service-hero.sv-top-hero .hero-inner::before,
body .pcnx-root .hero.peach-shared-fv .hero-inner::before,
body .pcpr-document .pcpr-hero-inner::before,
body .pcn .pcn-hero__inner::before {
  display:none!important;content:none!important;
}
/* The existing company logo is intentionally a little more visible. */
body .pcnx-root.pcnx-page-company .hero.peach-shared-fv .hero-fade {
  background:rgba(249,252,252,.69)!important;
}
/* Final CTA typography and button cluster: no incidental inline wbr fragments. */
body.home #cta-final.peach-final-cta{padding:clamp(50px,6vw,80px) 0!important;min-height:0!important;}
body.home #cta-final .cta-inner{display:flex!important;align-items:center!important;flex-direction:column!important;
 justify-content:center!important;gap:0!important;width:min(calc(100% - 36px),920px)!important;margin:auto!important;}
body.home #cta-final h2{font-size:clamp(25px,3.4vw,43px)!important;line-height:1.45!important;
 max-width:100%!important;overflow:visible!important;margin:12px 0 16px!important;text-align:center!important;letter-spacing:.01em!important;}
body.home #cta-final .peach-final-line{display:block;white-space:normal;overflow-wrap:normal;word-break:normal;}
body.home #cta-final p{font-size:clamp(14px,1.35vw,17px)!important;line-height:1.85!important;
 max-width:690px!important;margin:0 auto 24px!important;text-align:center!important;}
body.home #cta-final .peach-final-actions{display:flex!important;justify-content:center!important;
 align-items:center!important;gap:12px!important;margin:0 auto!important;width:100%!important;}
body.home #cta-final .peach-final-actions > * {margin:0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;
 width:auto!important;min-width:235px;max-width:345px!important;min-height:52px!important;box-sizing:border-box!important;}
body.home #cta-final .peach-final-contact-link{background:#E8A06A!important;color:#fff!important;border:1px solid #E8A06A!important;}
body.home #cta-final .peach-final-line-cta{background:#06C755!important;color:#fff!important;border-color:#06C755!important;}
body.home #cta-final small{font-size:13px!important;line-height:1.7!important;margin-top:17px!important;text-align:center!important;}
/* Do not allow editorial line fragments to split a word mid-glyph. */
.peach-trust-intro .peach-phrase{display:inline-block;max-width:100%;}
/* Keep matching image ratios in standalone card galleries only.
   Do NOT apply an aspect-ratio to the photo grid cell in #problems:
   the grid item then uses its own height to calculate an oversized intrinsic
   width and physically overlaps the adjacent text column on desktop. */
body.home #services .service-grid .service-card>img,
body.home #works .works-grid .work-picture,
body .pcnx-root .pcnx-items--recommended-photo>.pcnx-item>.pcnx-photo{aspect-ratio:16/10!important;min-height:0!important;overflow:hidden!important;}
body.home #works .works-grid .work-picture img,
body .pcnx-root .pcnx-items--recommended-photo>.pcnx-item>.pcnx-photo img{width:100%!important;height:100%!important;object-fit:cover!important;}
body.home #services .service-grid .service-card>img{width:100%!important;height:auto!important;object-fit:cover!important;}
/* Early trust section — editorial proof, not unsupported outcome promises. */
body.home #momota-expertise{background:#f0f7f6;padding:clamp(58px,6vw,100px) 0;}
body.home #momota-expertise .peach-trust-intro{margin:0 auto 36px!important;text-align:center!important;}
body.home #momota-expertise .peach-trust-intro h2{font-size:clamp(25px,3vw,41px);line-height:1.48;letter-spacing:.01em;color:#23434a;text-align:center!important;}
body.home #momota-expertise .peach-trust-intro p{font-size:clamp(14px,1.4vw,17px);line-height:1.85;margin:12px auto 0;max-width:750px;}
body.home #momota-expertise .peach-trust-layout{display:grid;grid-template-columns:minmax(0,39%) minmax(0,1fr);
 gap:clamp(24px,5vw,70px);align-items:center;background:#fff;border:1px solid #dce9e7;
 border-radius:22px;padding:clamp(18px,2.7vw,36px);box-shadow:0 18px 48px rgba(29,77,76,.07);}
body.home #momota-expertise .peach-trust-portrait{position:relative;min-width:0;min-height:420px;
 height:100%;max-height:600px;overflow:hidden;border-radius:14px;background:#d8e6e3;}
body.home #momota-expertise .peach-trust-portrait img{display:block;width:100%;height:100%;min-height:420px;
 object-fit:cover;object-position:center 28%;}
body.home #momota-expertise .peach-trust-portrait>span{position:absolute;bottom:16px;left:18px;
 font-size:11px;font-weight:800;letter-spacing:.16em;color:#fff;text-shadow:0 2px 9px #152829;
 background:rgba(20,61,67,.55);padding:7px 12px;border-radius:30px;}
body.home #momota-expertise .peach-trust-copy{min-width:0;text-align:left;}
body.home #momota-expertise .peach-trust-role{display:block;color:#396e77;font-size:14px;font-weight:650;letter-spacing:.02em;}
body.home #momota-expertise .peach-trust-role strong{font-size:17px;color:#213f47;}
body.home #momota-expertise .peach-trust-copy h3{font-size:clamp(23px,2.5vw,35px);line-height:1.45;
 color:#233f46;margin:12px 0 16px;overflow:visible;word-break:normal;}
body.home #momota-expertise .peach-trust-copy>p{font-size:15px;line-height:1.95;color:#4d6670;max-width:680px;}
body.home #momota-expertise .peach-trust-copy>p strong{color:#264d54;}
body.home #momota-expertise .peach-trust-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
 margin:24px 0;gap:9px;}
body.home #momota-expertise .peach-trust-facts>div{padding:17px 8px 15px;text-align:center;
 border-radius:12px;background:#f0f8f5;border:1px solid #d8e9e2;}
body.home #momota-expertise .peach-trust-facts strong{display:block;color:#2c6870;font-size:clamp(22px,2.1vw,31px);line-height:1.3;white-space:nowrap;}
body.home #momota-expertise .peach-trust-facts strong span{font-size:12px;}
body.home #momota-expertise .peach-trust-facts small{display:block;color:#4b646b;font-size:11px;margin-top:8px;font-weight:650;}
body.home #momota-expertise .peach-trust-assurance{background:#fff8f1;border-left:3px solid #e8a06a;
 padding:13px 16px;margin:0 0 20px!important;border-radius:0 8px 8px 0;}
body.home #momota-expertise .peach-trust-actions{display:flex;flex-wrap:wrap;gap:11px;align-items:center;}
body.home #momota-expertise .peach-trust-outline{display:inline-flex;align-items:center;justify-content:center;gap:8px;
 background:#396E77!important;color:#fff!important;border:1px solid #396E77!important;
 padding:12px 18px;min-height:48px;text-align:center;font-size:14px;}
@media(max-width:760px){
 body.home #hero.hero > .hero-inner,
 body main.pc-service #service-hero.sv-top-hero > .hero-inner,
 body .pcnx-root .hero.peach-shared-fv .peach-fv-inner,
 body .pcpr-document .pcpr-hero-inner,
 body .pcn .pcn-hero__inner {
   width:100%!important;max-width:none!important;
   margin-inline:0!important;
   box-sizing:border-box!important;
   padding:28px clamp(24px,6.8vw,34px)!important;
   align-items:flex-start!important;text-align:left!important;
 }
 body.home #hero.hero .hero-fade,
 body main.pc-service #service-hero.sv-top-hero .hero-fade,
 body .pcnx-root .hero.peach-shared-fv .hero-fade,
 body .pcpr-document .pcpr-hero .hero-fade,
 body .pcn .pcn-hero .hero-fade {
   background:rgba(249,252,252,.82)!important;
 }
 body .pcnx-root.pcnx-page-company .hero.peach-shared-fv .hero-fade {
   background:rgba(249,252,252,.72)!important;
 }
 body.home #hero.hero .hero-points{font-size:13px!important;gap:8px 14px!important;justify-content:flex-start!important;}
 body.home #hero.hero .hero-subhead,
 body.home #hero.hero .hero-body {max-width:100%!important;text-align:left!important;}
 body.home #hero.hero .button-row,
 body main.pc-service #service-hero.sv-top-hero .button-row,
 body .pcnx-root .hero.peach-shared-fv .pcnx-hero-actions {
   margin:14px 0 0!important;justify-content:flex-start!important;
 }
 body :is(.hero,.peach-shared-fv) .peach-fv-line-primary,
 body main.pc-service #service-hero.sv-top-hero .sv-top-hero-cta {
   width:min(100%,340px)!important;margin:0!important;
 }
 body.home #cta-final.peach-final-cta{padding:48px 0!important;}
 body.home #cta-final .peach-final-actions{flex-direction:column!important;gap:10px!important;}
 body.home #cta-final .peach-final-actions > *{width:min(100%,360px)!important;min-width:0;}
 body.home #cta-final .peach-final-desktop-break,
 body.home #momota-expertise .peach-trust-desktop-break{display:none;}
 body.home #momota-expertise{padding:58px 0;}
 body.home #momota-expertise .peach-trust-layout{grid-template-columns:minmax(0,1fr);gap:20px;padding:15px;}
 body.home #momota-expertise .peach-trust-portrait{min-height:0;height:auto;aspect-ratio:5/4;max-height:none;}
 body.home #momota-expertise .peach-trust-portrait img{min-height:0;max-height:none;aspect-ratio:5/4;object-position:center 21%;}
 body.home #momota-expertise .peach-trust-copy{padding:4px 3px 9px;}
 body.home #momota-expertise .peach-trust-copy h3{font-size:clamp(22px,6vw,29px);}
 body.home #momota-expertise .peach-trust-copy>p{font-size:14px;line-height:1.85;}
 body.home #momota-expertise .peach-trust-facts{gap:6px;margin:20px 0;}
 body.home #momota-expertise .peach-trust-facts>div{padding:12px 4px;}
 body.home #momota-expertise .peach-trust-facts strong{font-size:clamp(18px,5.5vw,26px);}
 body.home #momota-expertise .peach-trust-facts strong span{font-size:10px;}
 body.home #momota-expertise .peach-trust-facts small{font-size:10px;line-height:1.5;}
 body.home #momota-expertise .peach-trust-actions{flex-direction:column;align-items:stretch;}
 body.home #momota-expertise .peach-trust-outline{width:100%;}
 body.home #services .service-grid .service-card>img{aspect-ratio:16/10!important;height:auto!important;}
}
@media (prefers-reduced-motion:reduce){body.home #momota-expertise *{animation:none!important;transition:none!important;}}
/* Tablet safety: retain left alignment with a real inset, even when old
   template CSS expands the inner element to the viewport width. */
@media (min-width:761px) and (max-width:1024px) {
  body.home #hero.hero > .hero-inner,
  body main.pc-service #service-hero.sv-top-hero > .hero-inner,
  body .pcnx-root .hero.peach-shared-fv .peach-fv-inner,
  body .pcpr-document .pcpr-hero-inner,
  body .pcn .pcn-hero__inner {
    width:100%!important;max-width:none!important;margin-inline:0!important;
    padding-left:clamp(32px,5.2vw,56px)!important;
    padding-right:clamp(32px,5.2vw,56px)!important;
  }
}
/* Service-specific margins must not recenter the FV copy. */
body main.pc-service #service-hero.sv-top-hero .sv-top-hero-copy{
 margin-left:0!important;margin-right:0!important;
 text-align:left!important;
}
/* The old theme applied keep-all to every paragraph. It made a long emphasis
   exceed the 320px card. Restore natural Japanese line breaking inside new copy. */
body.home #momota-expertise .peach-trust-copy>p,
body.home #momota-expertise .peach-trust-copy>p strong,
body.home #momota-expertise .peach-trust-assurance{
 word-break:normal!important;
 overflow-wrap:anywhere!important;
 line-break:strict!important;
 white-space:normal!important;
}
body.home #momota-expertise .peach-trust-facts>div:last-child strong{
 font-size:clamp(15px,1.8vw,22px)!important;
}
/* CTA section axes stay centered, even under legacy page-specific selectors. */
body .pcnx-root .pcnx-type-cta .pcnx-shell,
body .pcnx-root .pcnx-type-cta .pcnx-section-heading,
body .pcnx-root .pcnx-type-cta .pcnx-section-heading h2,
body .pcnx-root .pcnx-type-cta .pcnx-lead,
body .pcn .pcn-cta__copy,
body .pcpr-document .pcpr-cta-copy {
 text-align:center!important;margin-left:auto!important;margin-right:auto!important;
}
body .pcnx-root .pcnx-type-cta .pcnx-cta-actions{
 justify-content:center!important;align-items:center!important; margin-inline:auto!important;
}
body .pcnx-root .pcnx-type-cta{padding-block:clamp(48px,5vw,70px)!important;}
@media(max-width:760px){
 body.home #services .service-grid .service-card{display:flex!important;flex-direction:column!important;align-items:stretch!important;}
 body.home #services .service-grid .service-card>img{display:block!important;aspect-ratio:16/10!important;
 height:auto!important;min-height:0!important;object-fit:cover!important;}
 body.home #services .service-grid .service-card .card-copy{min-height:0!important;}
 body .pcnx-root .pcnx-type-cta{padding-block:46px!important;}
}
