/* Page-owned reading layer: preserve the shared shell and form components. */
.kw-solution-finder__intro p { width: 100%; max-width: none; text-align: left; text-wrap: pretty; }
.kw-solution-finder__intro strong,
.kw-solution-article p strong { display: inline; color: inherit; font-size: inherit; line-height: inherit; font-weight: 700; white-space: normal; }
.kw-solution-article :is(p, dd, h1, h2, h3) { word-break: normal; overflow-wrap: normal; hyphens: none; }
.kw-solution-article :is(p, dd) { text-wrap: pretty; }
.kw-solution-article :is(h1, h2, h3) { text-wrap: balance; }
.kw-solution-article section[id] { scroll-margin-top: 110px; }
.kw-solution-article .kw-application-hero__grid { grid-template-columns: minmax(0,1.12fr) minmax(0,.88fr); gap: clamp(32px,4.5vw,68px); }
.kw-solution-article .kw-application-hero h1 { max-width: none; font-size: clamp(44px,4.5vw,64px); line-height: 1.08; }
.kw-solution-article .kw-application-hero__condition { max-width: none; font-size: 19px; line-height: 1.7; }
.kw-solution-article .kw-application-hero figure img { height: auto; max-height: 510px; aspect-ratio: 4 / 3; }
.kw-solution-article .kw-application-section-intro,
.kw-solution-article .kw-application-section-intro h2,
.kw-solution-article .kw-application-section-intro p:not(.kw-application-section-intro__label) { max-width: none; }
.kw-solution-article .kw-application-section-intro h2 { font-size: clamp(34px,3.7vw,52px); line-height: 1.14; }
.kw-solution-article .kw-application-section-intro p:not(.kw-application-section-intro__label) { font-size: 18px; line-height: 1.7; }
.kw-solution-article .kw-application-process__layout { grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); gap: clamp(32px,4.5vw,68px); }
.kw-solution-article .kw-process-stage,
.kw-solution-article .kw-process-stage > a { grid-template-columns: 12px minmax(0,1fr); gap: 14px; }
.kw-solution-article .kw-process-stage__copy > span:not(.kw-process-stage__link) { font-size: 17px; line-height: 1.65; }
.kw-solution-article .kw-failure-chain article { grid-template-columns: minmax(200px,.28fr) minmax(0,.72fr); gap: 32px; }
.kw-solution-article .kw-failure-chain p { font-size: 18px; line-height: 1.7; }
.kw-solution-article .kw-failure-chain article > p:last-child { grid-column: auto; }
.kw-solution-article .kw-failure-chain__signal { font-size: 20px !important; line-height: 1.45; }
.kw-solution-article .kw-duty-list { grid-template-columns: 1fr; gap: 48px; }
.kw-solution-article .kw-duty-card { display: grid; grid-template-columns: minmax(0,.36fr) minmax(0,.64fr); gap: clamp(32px,5vw,72px); scroll-margin-top: 112px; }
.kw-solution-article .kw-duty-card__duty { margin-bottom: 12px; font-size: 16px; }
.kw-solution-article .kw-duty-card h3 { font-size: clamp(24px,2.1vw,30px); line-height: 1.25; }
.kw-solution-article .kw-duty-card__body > p:not(.kw-duty-card__candidate) { margin: 0; font-size: 18px; line-height: 1.7; }
.kw-solution-article .kw-duty-card__candidate { margin: 20px 0 0; }
.kw-solution-article .kw-duty-card__candidate > span,
.kw-solution-article .kw-duty-card__candidate em { font-size: 15px; line-height: 1.6; }
.kw-solution-article .kw-duty-card__candidate a strong { font-size: 18px; line-height: 1.5; }
.kw-solution-article .kw-proof-list { grid-template-columns: 1fr; gap: 30px; }
.kw-solution-article .kw-proof-list li { display: grid; grid-template-columns: minmax(200px,.28fr) minmax(0,.72fr); gap: 32px; }
.kw-solution-article .kw-proof-item__head { display: block; }
.kw-solution-article .kw-proof-item__head span { font-size: 18px; }
.kw-solution-article .kw-proof-item__head strong { display: block; margin-top: 5px; font-size: 15px; }
.kw-solution-article .kw-proof-list li > p { margin: 0; font-size: 18px; line-height: 1.7; }
.kw-solution-article .kw-selection-list { grid-template-columns: 1fr; gap: 24px; }
.kw-solution-article .kw-selection-list li { grid-template-columns: minmax(200px,.28fr) minmax(0,.72fr); gap: 32px; }
.kw-solution-article .kw-selection-list li > span { font-size: 18px; line-height: 1.5; }
.kw-solution-article .kw-selection-list p { font-size: 18px; line-height: 1.7; }
@media (max-width: 960px) {
  .kw-solution-article .kw-application-hero__grid,
  .kw-solution-article .kw-application-process__layout { grid-template-columns: 1fr; gap: 36px; }
  .kw-solution-article .kw-application-hero h1 { font-size: clamp(40px,6vw,58px); }
  .kw-solution-article .kw-application-hero figure img { max-height: 480px; }
}
@media (max-width: 640px) {
  .kw-solution-article .kw-failure-chain article,
  .kw-solution-article .kw-duty-card,
  .kw-solution-article .kw-proof-list li,
  .kw-solution-article .kw-selection-list li { grid-template-columns: 1fr; gap: 12px; }
  .kw-solution-article .kw-application-hero h1 { font-size: 40px; }
  .kw-solution-article .kw-application-hero__condition,
  .kw-solution-article .kw-application-section-intro p:not(.kw-application-section-intro__label),
  .kw-solution-article .kw-failure-chain p,
  .kw-solution-article .kw-duty-card__body > p:not(.kw-duty-card__candidate),
  .kw-solution-article .kw-proof-list li > p,
  .kw-solution-article .kw-selection-list p { font-size: 17px; line-height: 1.7; }
}
