/* Styles for the generated pages in /devices, /enterprise/*, /guides and /compare.
   Built from the plans page look: white cards, brand green #24B04B, dark #0f1a14. */
.seo-page { color: #333; font-size: 16px; line-height: 1.65; }
.seo-page h2 { font-size: 28px; font-weight: 700; margin: 38px 0 14px; text-transform: none; }
.seo-page h3 { font-size: 20px; font-weight: 700; margin: 24px 0 8px; text-transform: none; }
.seo-page p { margin: 0 0 14px; }
.seo-page a { color: #1e9440; font-weight: 600; }
.seo-lead { font-size: 19px; color: #444; max-width: 780px; }
.seo-crumbs { font-size: 13.5px; color: #888; margin-bottom: 18px; }
.seo-crumbs a { color: #888; font-weight: 600; text-decoration: none; }
.seo-crumbs a:hover { color: #1e9440; }
.seo-note { background: #f4faf6; border: 1px solid #d3ecd9; border-left: 4px solid #24B04B; border-radius: 10px; padding: 14px 18px; font-size: 15px; margin: 22px 0; }
.seo-note.warn { background: #fdf8ea; border-color: #f0e2b0; border-left-color: #d4a72c; }
.seo-table-wrap { overflow-x: auto; margin: 16px 0 26px; border: 1px solid #e3e9e4; border-radius: 12px; background: #fff; }
.seo-table { width: 100%; border-collapse: collapse; font-size: 15px; }
.seo-table th, .seo-table td { padding: 11px 16px; text-align: left; border-bottom: 1px solid #eef2ef; vertical-align: top; }
.seo-table tr:last-child td { border-bottom: 0; }
.seo-table thead th { background: #f3f7f4; color: #3f4d44; font-size: 13px; letter-spacing: 0.6px; text-transform: uppercase; }
.seo-table td:first-child, .seo-table th:first-child { font-weight: 700; color: #2d3a31; white-space: nowrap; }
.seo-steps { counter-reset: step; list-style: none; padding: 0; margin: 14px 0 22px; }
.seo-steps li { counter-increment: step; position: relative; padding: 10px 0 10px 50px; border-bottom: 1px solid #f0f2f0; }
.seo-steps li:last-child { border-bottom: 0; }
.seo-steps li:before { content: counter(step); position: absolute; left: 0; top: 8px; width: 34px; height: 34px; border-radius: 50%; background: #24B04B; color: #0b130e; font-weight: 700; text-align: center; line-height: 34px; }
.seo-list { list-style: disc; padding-left: 22px; margin: 0 0 18px; }
.seo-list li { margin-bottom: 7px; }
.seo-grid { display: flex; flex-wrap: wrap; margin: 0 -9px; }
.seo-grid > a, .seo-grid > div { flex: 1 1 260px; margin: 0 9px 18px; }
.seo-card { display: block; background: #fff; border: 1px solid #e3e9e4; border-top: 4px solid #24B04B; border-radius: 12px; padding: 18px 20px; box-shadow: 0 6px 18px rgba(20, 40, 25, 0.07); color: #333 !important; text-decoration: none !important; font-weight: 400 !important; }
.seo-card strong { display: block; font-size: 17px; color: #1b2a20; margin-bottom: 4px; }
.seo-card span { font-size: 14.5px; color: #666; }
a.seo-card:hover { box-shadow: 0 10px 24px rgba(20, 40, 25, 0.14); }
.seo-cta { background: #0f1a14; color: #e8efe9; border-radius: 14px; padding: 30px 28px; margin: 38px 0 12px; }
.seo-cta h2 { color: #fff; margin: 0 0 8px; font-size: 26px; }
.seo-cta p { color: #b9c9be; max-width: 640px; }
.seo-cta .btn-row a { display: inline-block; margin: 6px 12px 0 0; padding: 12px 22px; border-radius: 8px; font-weight: 700; text-decoration: none !important; }
.seo-cta .btn-row a.solid { background: #24B04B; color: #0b130e !important; }
.seo-cta .btn-row a.solid:hover { background: #2fcb5b; }
.seo-cta .btn-row a.ghost { border: 2px solid #3d5a47; color: #cfe3d5 !important; }
.seo-cta .btn-row a.ghost:hover { border-color: #24B04B; }
.seo-faq h3 { margin-top: 20px; }
.seo-fine { font-size: 13px; color: #888; margin-top: 24px; }
.seo-chips a { display: inline-block; margin: 0 8px 8px 0; padding: 6px 14px; border: 1px solid #d5ddd7; border-radius: 999px; font-size: 14px; color: #3d4a41; background: #fff; text-decoration: none; }
.seo-chips a:hover { border-color: #24B04B; color: #1e9440; }
.seo-page a:focus-visible, .seo-cta a:focus-visible { outline: 3px solid #2fcb5b; outline-offset: 3px; }
@media (max-width: 767px) { .seo-page h2 { font-size: 24px; } .seo-lead { font-size: 17px; } .seo-table td:first-child, .seo-table th:first-child { white-space: normal; } }

@media (max-width: 600px) {
  .seo-table { font-size: 13.5px; }
  .seo-table th, .seo-table td { padding: 9px 8px; }
  .seo-table td:first-child, .seo-table th:first-child { white-space: normal; }
}
