/* Comparison and companion-tool sections; keep existing theme and brand assets intact. */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.feature-comparison { background: var(--ref-cloud); border-block: 1px solid var(--ref-border); }
.comparison-note { max-width: 1000px; margin: 0 auto 24px; color: var(--ref-copy); font-size: 14px; line-height: 1.8; }
.comparison-note strong { color: var(--ref-ink); }
.comparison-scroll-hint { color: var(--ref-copy); font-size: 12px; margin-bottom: 12px; }
.comparison-scroll { position: relative; width: 100%; overflow-x: auto; border: 1px solid #d9dff0; background: #fff; box-shadow: var(--ref-shadow); }
.comparison-scroll:focus-visible, .product-tool a:focus-visible { outline: 3px solid var(--ref-blue-dark); outline-offset: 4px; }
.comparison-table { width: 100%; min-width: 720px; border-collapse: separate; border-spacing: 0; table-layout: fixed; font-size: 13px; line-height: 1.6; color: var(--ref-ink); }
.comparison-feature-col { width: 23%; }
.comparison-privi-col { width: 44%; }
.capability-benefit-col { width: 33%; }
.capability-footer-note { margin-top: 24px; margin-bottom: 0; }
.comparison-table caption { padding: 16px 20px; text-align: left; background: #fff; color: var(--ref-copy); font-size: 12px; }
.comparison-table th, .comparison-table td { padding: 20px 16px; border-bottom: 1px solid var(--ref-border); border-right: 1px solid var(--ref-border); text-align: left; vertical-align: top; overflow-wrap: anywhere; }
.comparison-table thead th { background: #26386f; color: #fff; font: 600 14px/1.5 Poppins,sans-serif; vertical-align: middle; }
.comparison-table thead th span { display: block; margin-top: 5px; color: #dce2ff; font: 400 11px/1.5 Inter,sans-serif; }
.comparison-table thead .privi-column { background: var(--ref-blue-dark); }
.comparison-table tbody th { background: #fff; font-weight: 600; }
.comparison-table tbody tr:nth-child(even) { background: #fbfcff; }
.comparison-table tbody .privi-column { background: #eef0ff; border-inline: 1px solid #c9d0f4; color: #26386f; }
.comparison-table tbody tr:hover td, .comparison-table tbody tr:hover th { background: #f1f4ff; }
.comparison-table tbody tr:hover .privi-column { background: #e4e9ff; }
.comparison-table tr:last-child > * { border-bottom: 0; }
.comparison-table tr > :last-child { border-right: 0; }
.privi-column a { font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
/* Paired product panels share aligned intro, image, features, note and action rows. */
.companion-tools { background: var(--ref-cloud); }
.companion-panels { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; align-items: stretch; }
.product-panel { display: flex; flex-direction: column; gap: 24px; min-width: 0; padding: 30px; border: 1px solid var(--ref-border); border-top: 3px solid var(--ref-blue); background: #fff; box-shadow: var(--ref-shadow); }
.product-panel + .product-panel { border-top-color: #258b99; }
@supports (grid-template-rows: subgrid) {
  .product-panel { display: grid; grid-row: span 5; grid-template-rows: subgrid; }
}
.product-tool-copy { min-width: 0; }
.product-tool h2 { margin: 14px 0 20px; color: var(--ref-ink); font-size: clamp(25px,2.3vw,32px); line-height: 1.25; }
.product-tool h2 span { color: var(--ref-blue); }
.product-tool-copy > p { margin-bottom: 0; color: var(--ref-copy); font-size: 14px; line-height: 1.8; }
.product-tool-copy > .kicker { color: var(--ref-blue-dark); font-size: 11px; }
.product-tool-features { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; list-style: none; margin: 0; padding: 0; }
.product-tool-features li { padding: 18px; border: 1px solid var(--ref-border); background: var(--ref-cloud); }
.product-tool-features strong { display: block; margin-bottom: 8px; color: var(--ref-ink); font-size: 14px; line-height: 1.5; }
.product-tool-features span { display: block; color: var(--ref-copy); font-size: 13px; line-height: 1.75; }
.product-tool-note { margin: 0; padding: 16px 18px; border-left: 3px solid var(--ref-blue); background: #eef0ff; color: var(--ref-copy); font-size: 12px; line-height: 1.8; }
.product-tool .button { justify-self: start; align-self: start; max-width: 100%; white-space: normal; text-align: center; font-size: 13px; }
.product-preview { margin: 0; min-width: 0; align-self: start; }
.product-preview a { display: block; }
.product-preview img { display: block; width: 100%; height: auto; object-fit: contain; }
@media (max-width:900px) {
  .companion-panels { grid-template-columns: 1fr; gap: 32px; }
  .product-panel { display: flex; grid-row: auto; padding: 26px; }
}
@media (max-width:520px) {
  .product-panel { padding: 20px; gap: 20px; }
  .product-tool-features { grid-template-columns: 1fr; }
  .product-tool .button { width: 100%; }
}
/* Expanded navigation uses the existing menu control before links become crowded. */
@media (min-width:1241px) { .site-nav { gap: 18px; font-size: 13px; } }
@media (max-width:1240px) {
  .menu-toggle { display: block; z-index: 2; color: #fff; }
  .site-nav { position: fixed; inset: 0; display: flex; flex-direction: column; justify-content: flex-start; gap: 22px; padding: 100px 24px 32px; overflow-y: auto; background: rgba(5,16,32,.99); color: #fff; font-size: 18px; opacity: 0; visibility: hidden; transform: translateY(-12px); transition: .25s; }
  .nav-open .site-nav { opacity: 1; visibility: visible; transform: none; }
  .nav-open .menu-toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .nav-open .menu-toggle span:nth-child(2) { opacity: 0; }
  .nav-open .menu-toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
}
@media (max-width:780px) {
  .comparison-note { font-size: 13px; }
  .comparison-table th, .comparison-table td { padding: 16px 12px; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 32px; }
  .footer-brand { grid-column: 1 / -1; }
}
@media (max-width:480px) { .footer-main { grid-template-columns: 1fr; } }
