/* PEACH CONNECT v0.5.12 — readable Japanese typesetting across templates.
 * Scoped to frontend typography: no user-editable copy, images, CTA colors or settings are changed.
 * Modern Chromium auto-phrase keeps Japanese bunsetsu together where possible.
 * Conservative fallback allows ordinary Japanese wrapping instead of horizontal clipping.
 */
@supports (word-break: auto-phrase) {
  body :is(.hero h1,.hero h2,.peach-fv-copy h1,.pcnx-section-heading h2,.pcnx-item-copy h3,
           .pcnx-lead,.pcnx-body,.pcnx-compare-row h3,.pcnx-compare-row p,
           .pcnx-story-text,.pcnx-plan-detail p,.pcnx-plan-brief,
           .sv-top-hero h1,.sv-top-hero-lead,.sv-top-hero-body,.sv-top-hero-points span,
           .sv-service-copy h2,.sv-service-copy p,
           .section-heading h2,.section-heading p,.card-copy p,.featured-text p,
           .reason-card h3,.reason-card p,.message-copy p,
           .pcn-intro h2,.pcn-intro p,.pcpr-section-heading h2,.pcpr-section-heading p) {
    word-break:auto-phrase;
  }
}
body :is(.hero h1,.pcnx-section-heading h2,.pcnx-item-copy h3,.sv-top-hero h1,.sv-service-copy h2,
          .section-heading h2,.pcnx-story-chapter h3,.pcnx-compare-row h3) {
  line-break:strict;
  text-wrap:balance;
  overflow-wrap:break-word;
  hyphens:none;
}
body :is(.hero-subhead,.hero-body,.pcnx-lead,.pcnx-body,.pcnx-compare-row p,.pcnx-story-text,
          .sv-top-hero-lead,.sv-top-hero-body,.sv-service-copy p,.section-heading p,
          .pcnx-plan-detail p,.pcnx-plan-brief,.card-copy p,.featured-text p,.reason-card p,
          .message-copy p) {
  line-break:strict;
  overflow-wrap:break-word;
  hyphens:none;
  text-wrap:pretty;
}
/* Image/copy columns must never make words render outside their grid tracks. */
.pcnx-root :is(.pcnx-item-copy,.pcnx-feature-text,.pcnx-story-chapter>div,.pcnx-section-heading,
                .pcnx-compare-row>*,.pcnx-plan-content),
.pc-service :is(.sv-service-copy,.sv-top-hero-copy),
body.home :is(.hero-copy,.section-heading,.featured-text,.card-copy) {min-width:0;}

@media (max-width:760px) {
  /* Preserve legible body size; never solve a line-break problem by shrinking below 14 px. */
  .pcnx-root .pcnx-section:not(.peach-shared-fv) .pcnx-section-heading>.pcnx-lead {
    font-size:clamp(15px,3.9vw,16px);
    line-height:1.75;
    max-width:100%;
  }
  .pcnx-root :is(.pcnx-item-copy .pcnx-body,.pcnx-feature-text>.pcnx-body,
                 .pcnx-story-text,.pcnx-compare-row p,.pcnx-plan-content p,
                 .pcnx-price-grid .pcnx-body,.pcnx-faq-answer .pcnx-body) {
    font-size:clamp(14px,3.8vw,15.5px);
    line-height:1.78;
  }
  .pcnx-root .pcnx-section-heading h2 {line-height:1.5;letter-spacing:0;}
  .pcnx-root .pcnx-item-copy h3 {line-height:1.55;letter-spacing:0;}
  .hero.peach-shared-fv .peach-fv-copy h1,
  .pcnx-root .hero.peach-shared-fv h1 {line-height:1.43;letter-spacing:-.025em;}
  .hero.peach-shared-fv .peach-fv-lead,
  .pcnx-root .hero.peach-shared-fv .peach-fv-lead {
    font-size:clamp(15px,3.9vw,16px);line-height:1.75;
    overflow-wrap:break-word;
  }
  .hero.peach-shared-fv .peach-fv-kicker {font-size:12px;}
  /* The SERVICE index's hero tick is currently 11 px on mobile: make the
     checkmark and text a readable single flexible row. */
  .pc-service .sv-top-hero .sv-top-hero-points {
    font-size:clamp(15px,3.9vw,16px);
    line-height:1.55;gap:10px;margin-top:20px;
    font-weight:750;letter-spacing:0;
  }
  .pc-service .sv-top-hero .sv-top-hero-points>span {
    display:flex;align-items:flex-start;gap:7px;
    font-size:inherit;line-height:inherit;min-width:0;
  }
  .pc-service .sv-top-hero .sv-top-hero-lead {font-size:clamp(15px,4vw,16px);line-height:1.75;}
  .pc-service .sv-top-hero .sv-top-hero-body {font-size:clamp(14px,3.8vw,15px);line-height:1.8;}
  .pc-service .sv-top-hero .sv-top-hero-kicker {font-size:12px;}
  .pc-service :is(.sv-service-copy p,.sv-description,.sv-lead) {
    font-size:clamp(14px,3.75vw,16px);line-height:1.8;
  }
  /* Common HOME page tiny details / check labels should not be 10–12 px. */
  body.home .hero-points,body.home .hero-points>span {font-size:15px;line-height:1.6;}
  body.home :is(.card-copy p,.reason-card p,.approach-card p,.featured-text>p,.steps-grid li p) {
    font-size:14px;line-height:1.75;
  }
  body.home :is(.hero-subhead,.hero-body,.section-heading--center>p) {
    font-size:clamp(15px,4vw,16px);line-height:1.75;
  }
  /* Avoid the 11px price/checklist and FAQs used at 320px in legacy styles. */
  .pcpr :is(.pcpr-check-list li,.pcpr-mini-note,.pcpr-plan-summary>p:not(.pcpr-amount),
            .pcpr-estimate-steps p,.pcpr-answer) {font-size:14px;line-height:1.72;}
  .pcpr .pcpr-section-heading>p {font-size:15px;line-height:1.75;}
  /* Card captions and fee footnotes should not drop to 12–13px. */
  .pcnx-root .pcnx-plan-brief {font-size:14px;line-height:1.72;}
  .pcnx-root .pcnx-price-highlight small {font-size:14px;line-height:1.7;}
  .pcnx-root .pcnx-eyebrow {font-size:13px;}
  /* CTA labels are action text, not tiny captions. Keep the established colors. */
  .pcnx-root .pcnx-button {font-size:15px;line-height:1.45;min-height:50px;}
  .hero.peach-shared-fv .peach-fv-button,
  .pcnx-root .hero.peach-shared-fv .peach-fv-button {font-size:15px;line-height:1.45;min-height:52px;}
  .pc-service .sv-top-hero .sv-top-hero-cta {font-size:15px;min-height:52px;}
  body.home .button {font-size:15px;line-height:1.45;}
  .pcnx-root .pcnx-compare-row {min-width:0;}
  .pcnx-root .pcnx-compare-row>p {line-height:1.7;}
  /* A line by itself becomes a short readable paragraph, with no text hidden.
     Script applies these only where copy exceeds two measured lines. */
  .peach-mobile-copy-fragment {display:block;max-width:100%;margin-block:0 .38em;}
  .peach-mobile-copy-fragment:last-child {margin-bottom:0;}
  .peach-mobile-copy-fragment--paragraph {margin-top:.55em;}
}
@media (max-width:380px) {
  .pc-service .sv-top-hero .sv-top-hero-points {font-size:15px;}
  .pc-service .sv-top-hero .sv-top-hero-points>span {font-size:15px;}
  .pcnx-root .pcnx-section-heading h2 {font-size:clamp(23px,6.1vw,27px);}
  .hero.peach-shared-fv .peach-fv-copy h1,.pcnx-root .hero.peach-shared-fv h1 {
    font-size:clamp(26px,7.4vw,31px);
  }
}
