/* Mobile-only readability; preserve approved artwork and desktop layout. */
@media (max-width: 767px) {
  /* entry-content has 15px gutters; avoid 100vw extending into the scrollbar. */
  .entry-content > :is(#home_review, #home_worry, #home_diagnosis, #home_solution,
    #home_merit, #home_intro, #home_bnr_merit, #home_price, #home_faq, #home_contact,
    .wifi-original-inline-cta) {
    box-sizing: border-box; width: calc(100% + 30px);
    max-width: none; margin-inline: -15px;
  }
  :is(#home_worry, #home_solution, #home_merit, #home_intro, #home_price, #home_faq, #home_contact) {
    padding-inline: 20px !important;
  }
  #home_worry .ai-worry-section__inner,
  #home_solution .ai-service-pillars__inner,
  #home_merit .ai-quality-features,
  #home_intro .ai-flow-section__inner,
  #home_price .ai-price-section__inner,
  #home_faq .wifi-closing-inner,
  #home_contact .wifi-closing-inner {
    width: 100%; max-width: 560px; margin-inline: auto; min-width: 0;
  }
  #home_review .kwp-container { width: calc(100% - 40px); }
  #home_review.kwp-section #kwp-title { font-size: 24px !important; line-height: 1.6 !important; }
  #home_review .kwp-lead, #home_review .kwp-closing-copy { text-wrap: pretty; }
  #home_diagnosis { padding-inline: 20px; }
  #home_diagnosis .kwd-diagnosis__inner { width: 100%; }
  #home_worry .ai-worry-section__heading h2,
  #home_solution .ai-service-pillars__heading h2,
  #home_merit .ai-quality-features__heading h2,
  #home_intro .ai-flow-section__heading h2,
  #home_price .ai-price-section__heading h2,
  #home_faq .wifi-closing-heading h2,
  #home_contact .wifi-closing-heading h2 {
    font-size: 24px !important; line-height: 1.6 !important;
    font-weight: 600 !important; letter-spacing: 0 !important;
    text-wrap: balance; overflow-wrap: anywhere;
  }
  .wifi-sp-phrase { display: inline-block; max-width: 100%; }
  #home_merit .ai-quality-features__heading .wifi-sp-phrase,
  #home_worry .ai-worry-section__heading .wifi-sp-phrase { display: block; }
  #home_worry .ai-worry-section__heading,
  #home_solution .ai-service-pillars__heading,
  #home_merit .ai-quality-features__heading,
  #home_intro .ai-flow-section__heading { margin-bottom: 32px; }
  #home_worry .ai-worry-section__heading > p:last-child,
  #home_solution .ai-service-pillars__heading > p:last-child,
  #home_merit .ai-quality-features__heading > p:last-child,
  #home_intro .ai-flow-section__heading > p:last-child {
    margin-top: 20px; font-size: 16px !important; line-height: 1.85 !important; text-align: left;
  }
  #home_intro .ai-flow-section__heading > p:last-child br { display: none; }
  #home_worry .ai-worry-card { grid-template-columns: 24px minmax(0, 1fr); gap: 8px 12px; padding-block: 22px; }
  #home_worry .ai-worry-card h3,
  #home_solution .wifi-survey-check h3,
  #home_merit .wifi-service-merit h3,
  #home_intro .ai-flow-step h3 {
    font-size: 18px !important; line-height: 1.65 !important; font-weight: 600 !important;
    letter-spacing: 0; text-wrap: pretty; overflow-wrap: anywhere;
  }
  #home_worry .ai-worry-card p,
  #home_solution .wifi-survey-check p,
  #home_merit .wifi-service-merit .ai-quality-card__body > p:last-child,
  #home_intro .ai-flow-step__body > p:last-child {
    font-size: 16px !important; line-height: 1.85 !important; margin-bottom: 0; text-wrap: pretty;
  }
  #home_solution .wifi-survey-check { grid-template-columns: 24px minmax(0,1fr); gap: 12px; padding-block: 24px; }
  #home_solution .wifi-survey-detail h3 { font-size: 20px; line-height: 1.65; font-weight: 600; }
  #home_solution .wifi-survey-detail h3 span { max-width: 100%; }
  #home_merit .wifi-service-merits { gap: 20px; }
  #home_merit .wifi-service-merit { padding: 24px 20px !important; }
  #home_intro .ai-flow-step__body { padding: 20px 20px 28px; }
  #home_intro .ai-flow-steps { gap: 28px; }
  #home_intro .wifi-section-note { text-align: left; }
  .wifi-original-inline-cta { padding: 28px 20px; gap: 12px; }
  #home_intro .wifi-original-roadmap {
    display: grid; grid-template-columns: 1fr; gap: 0;
    padding: 0 0 0 12px; margin: 0 0 36px 8px; border-left: 1px solid #ead5c4;
  }
  #home_intro .wifi-original-roadmap li { padding: 7px 0 7px 12px; }
  #home_intro .wifi-original-roadmap li::before {
    content: ''; position: absolute; left: -16px; top: 17px;
    width: 7px; height: 7px; border-radius: 50%; background: var(--kujira-orange);
  }
  #home_bnr_merit { padding-inline: 20px !important; }
  #home_bnr_merit .ai-unified-cta__inner { width: 100%; max-width: 560px; min-width: 0; padding-inline: 0; }
  #home_bnr_merit .ai-unified-cta__title {
    font-size: 24px !important; line-height: 1.6 !important; font-weight: 600 !important; letter-spacing: 0; text-wrap: balance;
  }
  #home_bnr_merit .ai-unified-cta__button { max-width: 100%; gap: 12px; padding-inline: 16px; }
  #home_bnr_merit .ai-unified-cta__button-copy { min-width: 0; }
  #home_bnr_merit .ai-unified-cta__button-copy strong { font-size: 18px; }
  #home_price .wifi-area h3, #home_price .wifi-cost h3 { font-size: 22px; line-height: 1.65; font-weight: 600; }
  #home_price .wifi-area h3 span { font-size: 16px; }
  #home_faq .wifi-faq-row summary { gap: 10px; font-weight: 600; line-height: 1.8; padding-block: 24px; }
  #home_faq .wifi-faq-response { gap: 10px; }
  #home_contact .wifi-contact-grid { gap: 40px; }
  #home_contact .wifi-contact-copy { min-width: 0; }
  #home_contact .wifi-contact-preparation { padding-left: 16px; }
  #home_contact .wifi-consultation-form { padding: 24px 16px; }
  #home_contact .wifi-form-heading h3 { font-size: 20px; font-weight: 600; }
  #home_contact .wifi-form-button { gap: 12px; font-size: 16px; }
  #home_contact .wifi-form-privacy { gap: 10px; }
  #home_contact .wifi-form-privacy span { min-width: 0; text-wrap: pretty; }
  .ai-simple-footer .ai-simple-footer__company { font-size: 14px; line-height: 1.8; }
  .ai-simple-footer .wifi-footer-address { font-size: 13px; line-height: 1.9; }
  .ai-simple-footer .wifi-footer-address .wifi-sp-phrase { display: block; }
  .ai-simple-footer .wifi-footer-address br { display: none; }
  .ai-simple-footer .ai-simple-footer__links { font-size: 14px; }
  .ai-simple-footer .ai-simple-footer__copyright { font-size: 12px; line-height: 1.8; padding-right: 0; }
}
