/* KEC field calculation and record guides. */
.guide-eyebrow { margin: 0 0 18px !important; color: #ff9b75 !important; font-size: 13px !important; font-weight: 850; letter-spacing: .08em; }
.kec-field-guide .technical-article { contain: layout; }

/* Keep intrinsic SVG dimensions inside the guide content width. */
.kec-field-guide .guide-hero,
.kec-field-guide .guide-hero-media,
.kec-field-guide .technical-article,
.kec-field-guide .guide-card-figure {
  min-width: 0;
  box-sizing: border-box;
}
.kec-field-guide .guide-hero-media,
.kec-field-guide .guide-card-figure {
  margin-inline: auto;
}
.kec-field-guide .guide-hero-media img,
.kec-field-guide .guide-card-figure img {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.kec-field-guide .guide-hero-media img {
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.kec-field-guide .guide-card-figure img {
  height: auto;
}
.kec-field-guide .table-wrap { overscroll-behavior-inline: contain; scrollbar-gutter: stable; }
.kec-field-guide .table-wrap:focus-visible { outline: 3px solid rgba(241,90,36,.46); outline-offset: 4px; }
.kec-field-guide table caption { padding: 12px 14px; color: #405069; background: #edf2f7; font-weight: 800; text-align: left; }
.kec-field-guide .safety-checks { padding-top: 24px; }
.kec-field-guide .safety-checks .check-list { columns: 2; column-gap: 44px; }
.kec-field-guide .safety-checks li { break-inside: avoid; }
.source-list { margin: 28px 0 0; padding: 0; list-style: none; border-top: 2px solid var(--navy); }
.source-list li { padding: 24px 4px; border-bottom: 1px solid var(--line); }
.source-list strong, .source-list span, .source-list small { display: block; }
.source-list strong { color: var(--navy); font-size: 16px; }
.source-list span { margin-top: 5px; color: #42526a; font-weight: 700; }
.source-list p { margin: 9px 0; }
.source-list a { display: inline-block; max-width: 100%; overflow-wrap: anywhere; word-break: break-all; }
.source-list small { margin-top: 7px; }
.related-guides { margin-top: 82px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.related-guides a { min-width: 0; padding: 24px; display: flex; flex-direction: column; gap: 8px; color: inherit; background: #fff; text-decoration: none; }
.related-guides a:hover { background: #f7f9fc; }
.related-guides span { color: var(--orange-dark); font-size: 12px; font-weight: 850; }
.related-guides strong { color: var(--navy); overflow-wrap: anywhere; }
.next-action > p { padding: 30px 34px; color: #fff; background: var(--navy); border-left: 6px solid var(--orange); font-size: 18px; }
.kec-index-hero { min-height: 580px; display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); gap: 64px; align-items: center; padding: 84px max(28px, calc((100vw - 1240px) / 2)); color: #fff; background: #081a31; }
.kec-index-hero > div > p:first-child { color: #ff9b75; font-size: 13px; font-weight: 850; letter-spacing: .08em; }
.kec-index-hero h1 { max-width: 820px; margin: 16px 0 30px; font-size: clamp(44px, 5vw, 72px); line-height: 1.1; letter-spacing: -.055em; }
.kec-index-hero > div > p:last-child { max-width: 760px; color: #cbd7e6; font-size: 20px; }
.kec-index-hero aside { padding: 34px; border: 1px solid #526a87; border-top: 5px solid var(--orange); background: #102c4f; }
.kec-index-hero aside strong { font-size: 21px; }
.kec-index-hero aside p { margin-bottom: 0; color: #d3deeb; }
.kec-index-intro { max-width: 1240px; margin: 0 auto; padding: 86px 28px 52px; display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: end; }
.kec-index-intro > div > p { color: var(--orange-dark); font-weight: 850; }
.kec-index-intro > p { color: var(--muted); font-size: 18px; }
.kec-index-grid { max-width: 1240px; margin: 0 auto; padding: 20px 28px 110px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 38px; }
.kec-index-card { min-width: 0; border: 1px solid var(--line); background: #fff; box-shadow: 0 18px 44px rgba(16,35,63,.08); }
.kec-index-card > a { height: 100%; display: grid; grid-template-columns: 210px minmax(0, 1fr); color: inherit; text-decoration: none; }
.kec-index-card img { width: 210px; height: 100%; min-height: 390px; object-fit: cover; background: #081a31; }
.kec-index-card > a > div { min-width: 0; padding: 30px; display: flex; flex-direction: column; }
.kec-index-card span { color: var(--orange-dark); font-size: 13px; font-weight: 900; }
.kec-index-card h2 { margin: 12px 0 18px; font-size: 25px; overflow-wrap: anywhere; }
.kec-index-card p { margin: 0; color: var(--muted); }
.kec-index-card strong { margin-top: auto; padding-top: 28px; color: var(--navy); }
@media (max-width: 900px) {
  .kec-field-guide .safety-checks .check-list { columns: 1; }
  .related-guides { grid-template-columns: 1fr; }
  .kec-index-hero, .kec-index-intro { grid-template-columns: 1fr; }
  .kec-index-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .kec-index-hero { min-height: 0; padding: 66px 20px; gap: 34px; }
  .kec-index-hero h1 { font-size: 42px; overflow-wrap: anywhere; }
  .kec-index-hero > div > p:last-child { font-size: 17px; }
  .kec-index-intro { padding: 66px 20px 34px; gap: 18px; }
  .kec-index-grid { padding: 12px 20px 80px; gap: 26px; }
  .kec-index-card > a { grid-template-columns: 1fr; }
  .kec-index-card img { width: 100%; height: auto; min-height: 0; aspect-ratio: 4 / 3; object-position: top; }
  .kec-index-card > a > div { padding: 24px; }
  .kec-index-card h2 { font-size: 22px; }
  .kec-field-guide .lead-conclusion { padding: 28px 22px; }
  .kec-field-guide .table-wrap { margin-inline: 0; }
}
@page { size: A4; margin: 15mm 13mm 16mm; }
@media print {
  .kec-field-guide { print-color-adjust: exact; -webkit-print-color-adjust: exact; }
  .kec-field-guide .article-section { break-inside: auto; }
  .kec-field-guide .article-section > h2, .kec-field-guide .section-heading { break-after: avoid-page; }
  .kec-field-guide .lead-conclusion, .kec-field-guide .safety-note, .kec-field-guide .stop-section, .kec-field-guide .expert-review, .kec-field-guide .next-action { break-inside: avoid-page; }
  .kec-field-guide .source-list li { break-inside: avoid-page; }
  .kec-field-guide .related-guides { display: none; }
  .kec-field-guide .wide-record-table { font-size: 7.5px; }
  .kec-field-guide .guide-card-figure.supplemental-graph {
    padding-top: 6mm;
    break-before: page !important;
    break-after: auto !important;
    page-break-before: always !important;
    page-break-after: auto !important;
  }
}

.field-tool-banner { margin: 36px 0 0; padding: 28px 30px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 26px; align-items: center; border: 1px solid #f3b49e; border-left: 6px solid var(--orange); background: #fff7f3; }
.field-tool-banner strong { display: block; color: var(--navy); font-size: 21px; }
.field-tool-banner p { margin: 7px 0 0; color: #4f5d70; }
.field-tool-banner a { min-height: 48px; padding: 0 20px; display: inline-flex; align-items: center; justify-content: center; color: #fff; background: var(--orange); border-radius: 4px; text-decoration: none; font-weight: 850; white-space: nowrap; }
.field-tool-banner a:hover { background: var(--orange-dark); }
.field-tool-banner a:focus-visible { outline: 3px solid rgba(241,90,36,.42); outline-offset: 3px; }
@media (max-width: 640px) { .field-tool-banner { grid-template-columns: 1fr; padding: 24px 20px; } .field-tool-banner a { width: 100%; white-space: normal; text-align: center; } }
@media print { .field-tool-banner { break-inside: avoid-page; } .field-tool-banner a { color: #10233f; background: #fff; border: 1px solid #10233f; } }
