/* Scoped to the product comparison; one table DOM for desktop and mobile. */
.machine-compare { background: #f3efe7; color: #24231f; }
.machine-compare-heading { max-width: 820px; }
.machine-compare-heading h2 { text-wrap: balance; }
.machine-compare-heading > p:last-child { max-width: 650px; color: #5e594f; font-size: 16px; }
.machine-compare-nav { display: flex; flex-wrap: wrap; gap: 9px; margin: 32px 0 25px; }
.machine-compare-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 15px; border: 1px solid #d4ccbd; border-radius: 30px; background: #fffdf8; font-size: 12px; font-weight: 600; line-height: 1.4; }
.machine-compare-nav a:hover { border-color: #83652d; background: #f5e9ce; }
.machine-compare a:focus-visible, .machine-compare button:focus-visible, .machine-compare summary:focus-visible { outline: 3px solid #886624; outline-offset: 4px; }
.machine-compare-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 14px; font-size: 12px; }
.machine-compare-toolbar > span { color: #625c51; }
.machine-compare-toolbar button { min-height: 44px; padding: 8px 0; color: #234334; background: none; border: 0; text-decoration: underline; text-underline-offset: 5px; font-size: 12px; font-weight: 700; cursor: pointer; }
.machine-compare-group { margin-bottom: 14px; border: 1px solid #d4ccbd; border-radius: 16px; background: #fffdf8; scroll-margin-top: 94px; }
.machine-compare-group > summary { display: flex; align-items: center; gap: 17px; min-height: 78px; padding: 20px 24px; cursor: pointer; list-style: none; border-radius: 16px; }
.machine-compare-group > summary::-webkit-details-marker { display: none; }
.machine-compare-group > summary::marker { content: ""; }
.machine-compare-group > summary:hover { background: #f5f0e6; }
.machine-compare-group[open] > summary { border-bottom: 1px solid #d4ccbd; border-radius: 16px 16px 0 0; }
.machine-compare-group h3 { margin: 0; font-size: 17px; line-height: 1.4; }
.machine-compare-index { color: #8a682a; font-size: 12px; font-variant-numeric: tabular-nums; }
.machine-compare-chevron { width: 9px; height: 9px; margin: 0 3px 0 auto; border-right: 1.5px solid; border-bottom: 1.5px solid; transform: rotate(45deg); flex: none; }
.machine-compare-group[open] .machine-compare-chevron { transform: rotate(225deg); }
.machine-compare-table { width: 100%; table-layout: fixed; border-spacing: 0; border-collapse: separate; font-size: 13px; line-height: 1.65; }
.machine-compare-table col { width: 26%; }
.machine-compare-table .machine-compare-criterion-col { width: 22%; }
.machine-compare-table th, .machine-compare-table td { padding: 21px 20px; vertical-align: top; text-align: left; overflow-wrap: anywhere; }
.machine-compare-table thead th { padding-block: 19px; font-size: 12px; font-weight: 700; color: #35332d; background: #ede8df; }
.machine-compare-table thead th.machine-compare-featured { color: #fffdf8; background: #244437; box-shadow: inset 0 3px #d9a441; }
.machine-compare-table tbody th { font-weight: 600; }
.machine-compare-table tbody .machine-compare-featured { background: #edf2e9; color: #183c2c; }
.machine-compare-table tbody tr + tr > * { border-top: 1px solid #e3ddd2; }
.machine-compare-table tbody tr:hover > * { box-shadow: inset 0 0 0 9999px rgba(90,70,30,.025); }
.machine-compare-table tbody tr:last-child > :first-child { border-radius: 0 0 0 16px; }
.machine-compare-table tbody tr:last-child > :last-child { border-radius: 0 0 16px 0; }
.machine-compare-number [data-comparison-value] { font-size: 22px; font-weight: 600; font-variant-numeric: tabular-nums; }
.machine-compare-product { display: none; }
.machine-compare-select { display: none; }
.machine-compare-footer { display: flex; align-items: center; justify-content: space-between; gap: 25px; margin-top: 28px; }
.machine-compare-footer p { margin: 0; max-width: 330px; font-size: 16px; }
.machine-compare-footer .button-row { margin-top: 0; }
.machine-compare-entry { position: relative; margin-top: 22px; }
.machine-software-story { background:#e9e1d2; color:#292820; }
.machine-software-heading { max-width:930px; }
.machine-software-heading h2 { text-wrap:balance; }
.machine-software-lede { max-width:780px; font-size:20px; line-height:1.7; color:#575246; }
.machine-software-prose { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:60px; margin-top:45px; }
.machine-software-story h3 { font-size:24px; line-height:1.3; margin:0 0 19px; }
.machine-software-prose p,.machine-software-choice p { font-size:16px; line-height:1.85; color:#575246; }
.machine-software-story p a,.machine-software-scenarios a { color:#365442; text-decoration:underline; text-underline-offset:4px; }
.machine-software-story a:focus-visible { outline:3px solid #886624; outline-offset:4px; }
.machine-software-scenarios { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin:40px 0; }
.machine-software-scenarios article { border-top:1px solid #bcb19b; padding-top:25px; }
.machine-software-scenarios article>span { display:block; margin-bottom:17px; color:#80612c; font-size:11px; font-weight:700; letter-spacing:.1em; }
.machine-software-scenarios h3 { font-size:22px; }
.machine-software-scenarios p { font-size:15px; line-height:1.8; color:#575246; }
.machine-software-scenarios a { font-size:13px; font-weight:600; }
.machine-software-choice { max-width:930px; padding:32px 36px; border:1px solid #c9bea9; border-radius:16px; background:#f6f1e7; }
.machine-software-choice .button { margin-top:8px; }
@media (max-width: 900px) {
  .machine-software-prose { gap:30px; }
  .machine-software-scenarios { grid-template-columns:1fr; gap:28px; }
  .machine-compare-table, .machine-compare-table tbody { display: block; }
  .machine-compare-table colgroup { display: none; }
  .machine-compare-table thead { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .machine-compare-table tbody tr { display: grid; grid-template-columns: 1fr; padding: 18px; gap: 10px; }
  .machine-compare-table tbody tr + tr { border-top: 1px solid #d4ccbd; }
  .machine-compare-table tbody tr + tr > * { border-top: 0; }
  .machine-compare-table tbody th { display: block; padding: 2px 0 5px; font-size: 16px; line-height: 1.45; }
  .machine-compare-table tbody td { display: block; min-width: 0; padding: 16px; border: 1px solid #e5dfd4; border-radius: 10px; font-size: 14px; background: #f8f5ee; }
  .machine-compare-table tbody td.machine-compare-featured { border: 1px solid #ccd9c7; border-left: 3px solid #345c44; background: #edf2e9; }
  .machine-compare-product { display: block; margin-bottom: 8px; font-size: 11px; font-weight: 700; color: #504b42; letter-spacing: .015em; }
  .machine-compare-featured .machine-compare-product { color: #244437; }
  .machine-compare-table tbody tr:last-child > :first-child, .machine-compare-table tbody tr:last-child > :last-child { border-radius: 10px; }
  .machine-compare-footer { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 540px) {
  .machine-software-heading h2 { font-size:36px; }
  .machine-software-lede { font-size:17px; }
  .machine-software-prose { grid-template-columns:1fr; margin-top:30px; gap:22px; }
  .machine-software-story h3 { font-size:23px; }
  .machine-software-choice { padding:25px 20px; }
  .machine-software-choice .button { width:100%; }
  .machine-compare-heading h2 { font-size: 36px; }
  .machine-compare-nav { gap: 7px; margin-top: 25px; }
  .machine-compare-nav a { font-size: 11px; padding-inline: 12px; }
  .machine-compare.is-enhanced .machine-compare-nav { display: none; }
  .machine-compare-select:not([hidden]) { display: grid; gap: 8px; margin: 25px 0 18px; color: #625c51; font-size: 12px; }
  .machine-compare-select select { width: 100%; min-width: 0; min-height: 48px; padding: 10px 12px; border: 1px solid #c8bdab; border-radius: 10px; background: #fffdf8; color: #24231f; font: inherit; font-size: 14px; }
  .machine-compare-select select:focus-visible { outline: 3px solid #886624; outline-offset: 3px; }
  .machine-compare-toolbar { align-items: flex-start; flex-direction: column; gap: 0; }
  .machine-compare-group > summary { gap: 12px; padding: 19px 16px; }
  .machine-compare-group h3 { font-size: 15px; }
  .machine-compare-table tbody tr { padding: 15px 12px; }
  .machine-compare-footer, .machine-compare-footer .button-row, .machine-compare-footer .button { width: 100%; }
}
@media print {
  .machine-compare-nav, .machine-compare-toolbar, .machine-compare-footer { display: none; }
  .machine-compare-group { break-inside: auto; }
  .machine-compare-table tr { break-inside: avoid; }
}
