.resource-intro { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 40px; align-items: center; padding-bottom: 40px; }
.resource-intro img { width: 100%; height: 180px; object-fit: cover; border-radius: 4px; }
.resource-intro figure { margin: 0; }
.resource-intro figcaption { font-size: 13px; color: #53625e; line-height: 1.5; margin-top: 8px; }
.resource-intro h1 { max-width: 680px; }
.resource-breadcrumb { font-size: 14px; margin-bottom: 24px; }
.resource-breadcrumb a { color: #216556; text-underline-offset: 4px; }
.resource-row { display: grid; grid-template-columns: minmax(0, 1fr) 210px; gap: 32px; align-items: center; padding: 28px 0; border-top: 1px solid #dbe3df; }
.resource-row h2 { font-size: 23px; margin-bottom: 10px; }
.resource-row p { margin: 0; }
.resource-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; margin: 22px 0; }
.resource-actions a { text-underline-offset: 4px; }
.resource-guide { max-width: 840px; }
.resource-guide ul, .resource-guide ol { padding-left: 24px; }
.resource-guide li { line-height: 1.75; margin: 12px 0; color: #42534d; }
.resource-guide section { padding: 30px 0; border-top: 1px solid #dbe3df; }
.resource-guide h2 { margin-bottom: 18px; }
.resource-guide .resource-note { font-size: 14px; }
.resource-guide .scope-note { border-left: 3px solid #ba6c46; padding: 0 0 0 20px; }
.comparison-form { padding: 24px; border: 1px solid #dbe3df; border-radius: 6px; background: #fff; }
.comparison-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin-bottom: 24px; }
.comparison-fields label { display: grid; gap: 8px; font-size: 15px; font-weight: 600; }
.comparison-fields input, .comparison-fields select { width: 100%; min-width: 0; min-height: 46px; border: 1px solid #b8c7bf; border-radius: 4px; padding: 10px 12px; font: inherit; background: #fff; color: #172d25; }
.comparison-form button { cursor: pointer; font: inherit; white-space: normal; }
.comparison-form button:disabled { cursor: wait; opacity: .6; }
.comparison-form small { font-weight: 400; color: #53625e; line-height: 1.6; }
.comparison-error { color: #a63320; min-height: 24px; margin-top: 16px; }
.comparison-result { margin-top: 26px; border-top: 1px solid #dbe3df; padding-top: 26px; }
.comparison-result[hidden] { display: none; }
.comparison-totals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0 0 24px; }
.comparison-totals dt { color: #53625e; font-size: 14px; margin-bottom: 10px; }
.comparison-totals dd { font-size: 26px; font-weight: 600; margin: 0; overflow-wrap: anywhere; }
@media (max-width: 760px) {
  .resource-intro { grid-template-columns: 1fr; gap: 20px; }
  .resource-intro img { height: 140px; }
  .resource-row { grid-template-columns: 1fr; gap: 18px; }
  .comparison-fields { grid-template-columns: 1fr; gap: 18px; }
  .comparison-form { padding: 18px; }
  .comparison-totals { grid-template-columns: 1fr; gap: 20px; }
  .resource-actions { gap: 16px; }
}
