.ke-phase3 { min-width: 0; }
.ke-crumbs { margin: 0; }
.ke-crumbs ol { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.ke-crumbs li { min-width: 0; }
.ke-crumbs [aria-current="page"] { color: var(--ink); font-weight: 700; }
.ke-page-hero { padding-top: 22px; padding-bottom: 32px; }
.ke-page-hero .hero-text { max-width: 760px; }
.ke-kicker { margin: 0 0 8px; color: var(--teal-dark); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.ke-section-heading { margin-bottom: 22px; }
.ke-section-heading h2 { margin-bottom: 8px; }
.ke-tool-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .78fr); gap: clamp(24px, 4vw, 54px); align-items: start; }
.ke-tool-main { min-width: 0; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius-form); background: var(--white); box-shadow: var(--shadow-form); }
.ke-tool-main form { max-width: none; }
.ke-tool-main .result { overflow-wrap: anywhere; }
.ke-tool-aside { min-width: 0; padding-top: 26px; }
.ke-chart { max-width: none; margin: 0; padding: 22px; border: 1px solid var(--line); border-radius: var(--radius-large); background: var(--surface); }
.ke-chart figcaption { font-size: 16px; }
.ke-chart-placeholder { margin-top: 18px; padding: 20px; border-left: 3px solid var(--teal); background: var(--teal-soft); }
.ke-chart-placeholder p:last-child { margin-bottom: 0; }
.ke-reminder { display: grid; grid-template-columns: minmax(220px, .8fr) minmax(0, 1.2fr); gap: 30px; align-items: start; margin-top: 40px; padding: clamp(22px, 4vw, 38px); border-radius: var(--radius-form); background: var(--navy); color: var(--white); }
.ke-reminder h2, .ke-reminder p { color: var(--white); }
.ke-reminder .ke-kicker { color: var(--teal-light); }
.ke-reminder-intro h2 { max-width: 15ch; }
.ke-reminder-intro > p:last-child { margin-bottom: 0; color: #DCE3EC; }
.ke-reminder-content { min-width: 0; }
.ke-reminder .abone { max-width: none; margin: 0; border-color: rgba(255,255,255,.25); background: rgba(255,255,255,.08); }
.ke-reminder .abone label, .ke-reminder .abone .hint { color: #E7ECF2; }
.ke-reminder .abone input:not([type="checkbox"]), .ke-reminder .abone select { background: var(--white); color: var(--ink); }
.ke-reminder .abone .check { align-items: flex-start; }
.ke-reminder .abone .check a { color: #9BE2DE; }
.ke-reminder .abone [hidden], .ke-reminder [data-email-soon][hidden] { display: none !important; }
.ke-reminder [data-email-soon] { margin: 0; color: #E7ECF2; }
.ke-faq { max-width: 850px; margin: 10px auto 0; }
.ke-faq h2 { margin-bottom: 20px; }
.ke-faq details { border-top: 1px solid var(--line); }
.ke-faq details:last-of-type { border-bottom: 1px solid var(--line); }
.ke-faq summary { min-height: 52px; padding: 15px 34px 15px 0; color: var(--ink); font-weight: 750; cursor: pointer; }
.ke-faq details p { max-width: 70ch; margin: 0 0 18px; }
.ke-legal-note { margin-top: 22px; font-size: 14px; font-weight: 700; }
.ke-ev-layout { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(260px, .88fr); gap: clamp(24px, 4vw, 48px); align-items: start; }
.ke-ev-form-panel { min-width: 0; padding: 26px; border: 1px solid var(--line); border-radius: var(--radius-form); background: var(--white); box-shadow: var(--shadow-form); }
.ke-ev-form-panel h2 { margin-bottom: 8px; }
.ke-ev-form-panel form { max-width: none; }
.ke-ev-result { min-width: 0; }
.ke-ev-empty { padding: 24px; border-radius: var(--radius-large); background: var(--surface); }
.ke-ev-empty h2 { font-size: 22px; }
.ke-ev-empty p:last-child { margin-bottom: 0; }
.ke-ev-result .result { margin-top: 0; padding: 24px; border: 1px solid var(--line); border-radius: var(--radius-large); background: var(--white); }
.ke-ev-result .result .plate { min-width: 0; width: 100%; }
.ke-ev-cta { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 22px; margin-top: 32px; padding: 26px 30px; border-radius: var(--radius-large); background: var(--teal-soft); }
.ke-ev-cta h2 { margin-bottom: 8px; }
.ke-ev-cta p:last-child { margin: 0; }
.ke-business-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ke-business-cards .card { min-width: 0; margin: 0; padding: 24px; }
.ke-business-cards h2 { font-size: 21px; }
.ke-business-cards p:last-child { margin-bottom: 0; }
.ke-business-method { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 24px; }
.ke-business-method > div { max-width: 65ch; }
.ke-business-method p:last-child { margin-bottom: 0; }
.ke-contact { display: grid; grid-template-columns: minmax(220px, .72fr) minmax(0, 1.28fr); gap: clamp(26px, 5vw, 72px); align-items: start; }
.ke-contact-intro h2 { max-width: 15ch; }
.ke-contact form { max-width: none; }
#contactStatus { min-height: 1.5em; margin: 0; color: var(--teal-dark); font-weight: 700; overflow-wrap: anywhere; }
.ke-method-layout { display: grid; grid-template-columns: 230px minmax(0, 720px); gap: clamp(28px, 5vw, 72px); align-items: start; }
.ke-method-toc { position: sticky; top: 24px; padding: 18px 0; border-top: 2px solid var(--navy); }
.ke-method-toc ol { display: grid; gap: 3px; margin: 0; padding: 0; list-style: none; }
.ke-method-toc a { display: block; min-height: 40px; padding: 8px 10px; border-radius: 8px; color: var(--text-2); font-size: 14px; font-weight: 650; text-decoration: none; }
.ke-method-toc a:hover { background: var(--teal-soft); color: var(--teal-dark); }
.ke-method-article { width: 100%; max-width: 720px; min-width: 0; }
.ke-method-article section { scroll-margin-top: 24px; padding: 28px 0; }
.ke-method-article section:first-child { padding-top: 0; border-top: 0; }
.ke-method-article h2 { margin-bottom: 12px; font-size: 25px; }
.ke-method-article p { margin: 0 0 14px; font-size: 16px; line-height: 1.75; }
.ke-method-article p:last-child { margin-bottom: 0; }

@media (max-width: 900px) {
  .ke-tool-layout, .ke-ev-layout { grid-template-columns: minmax(0, 1fr); }
  .ke-tool-aside { padding-top: 0; }
  .ke-chart-placeholder { margin-top: 12px; }
  .ke-business-cards { grid-template-columns: minmax(0, 1fr); }
  .ke-business-cards .card { padding: 20px; }
  .ke-method-layout { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .ke-method-toc { position: static; padding: 14px 0; border-bottom: 1px solid var(--line); }
  .ke-method-toc ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
  .ke-page-hero { padding-top: 16px; padding-bottom: 24px; }
  .ke-tool-main, .ke-ev-form-panel { padding: 20px 16px; }
  .ke-tool-main .row, .ke-ev-form-panel .row { grid-template-columns: minmax(0, 1fr); }
  .ke-tool-main .field.narrow, .ke-ev-form-panel .field.narrow { max-width: none; }
  .ke-reminder { grid-template-columns: minmax(0, 1fr); gap: 18px; padding: 22px 18px; }
  .ke-reminder-intro h2 { max-width: none; }
  .ke-ev-cta { align-items: flex-start; padding: 22px 18px; }
  .ke-ev-cta .btn-link { width: 100%; text-align: center; }
  .ke-business-method { align-items: flex-start; }
  .ke-contact { grid-template-columns: minmax(0, 1fr); }
  .ke-contact form .row { grid-template-columns: minmax(0, 1fr); }
  .ke-method-toc ol { grid-template-columns: minmax(0, 1fr); }
}
