/* Styles that exist only on www.kigo.cloud. landing.css is imported from the application, do not edit it here. */
html { scroll-behavior:smooth; }
body { margin:0; background:#fff; font-family:'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif; }
.kcs [id] { scroll-margin-top:84px; }

/* feature strip under the hero */
.kcs .strip { background:#191c22; border-top:1px solid #2a2e37; padding:18px 0; }
.kcs .strip .wrap { display:flex; flex-wrap:wrap; align-items:center; gap:8px 10px; }
.kcs .strip b { color:#fff; font-size:14px; font-weight:700; margin-right:8px; }
.kcs .strip a { color:#d5d9e0; font-size:14px; font-weight:600; text-decoration:none; padding:6px 13px; border:1px solid #3a3f4a; border-radius:999px; transition:border-color .15s, color .15s; }
.kcs .strip a:hover { color:#fff; border-color:var(--o); }

/* full feature catalog */
.kcs .cat-count { font-size:18px; font-weight:700; color:var(--od); margin:-18px 0 22px; }
.kcs .cat-sec { font-size:22px; font-weight:800; margin:36px 0 14px; padding-top:16px; border-top:2px solid var(--ink); }
.kcs .cat-tabs { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 20px; }
.kcs .cat-tab { font:inherit; font-size:14.5px; font-weight:700; color:#3b414b; background:#fff; border:1px solid #cfd3da; border-radius:999px; padding:9px 16px; cursor:pointer; }
.kcs .cat-tab span { font-weight:600; color:#8b93a1; margin-left:4px; }
.kcs .cat-tab:hover { border-color:var(--ink); }
.kcs .cat-tab.on { background:var(--ink); border-color:var(--ink); color:#fff; }
.kcs .cat-tab.on span { color:#c5cad3; }
.kcs .cat-x.js .cat-pane { display:none; }
.kcs .cat-x.js .cat-pane.on { display:block; }
.kcs .cat-x.js .cat-tabs + .cat-pane .cat-sec, .kcs .cat-x.js .cat-tabs ~ .cat-pane .cat-sec { display:none; }
.kcs .cards { display:grid; grid-template-columns:repeat(4, 1fr); gap:14px; align-items:start; }
.kcs .card { background:var(--paper); border:1px solid var(--line); border-radius:12px; padding:16px 16px 12px; }
.kcs .card h4 { font-size:16px; font-weight:800; color:var(--ink); margin:0 0 4px; letter-spacing:-.02em; }
.kcs .card p { font-size:13px; line-height:1.45; color:var(--mut); margin:0 0 10px; }
.kcs .card li { position:relative; font-size:13.5px; line-height:1.4; color:#333944; padding:2.5px 0 2.5px 15px; }
.kcs .card li:before { content:""; position:absolute; left:1px; top:9px; width:5px; height:5px; border-radius:50%; background:var(--o); }
.kcs .card h4 a { color:inherit; text-decoration:none; }
.kcs .card h4 a:hover { color:var(--od); }

/* pages built on this site */
.kcs .phead { background:var(--ink); color:#fff; padding:56px 0 60px; }
.kcs .phead .crumbs { font-size:14px; color:#8b93a1; margin:0 0 22px; }
.kcs .phead .crumbs a { color:#c5cad3; text-decoration:none; }
.kcs .phead .crumbs a:hover { color:#fff; }
.kcs .phead h1 { color:#fff; font-size:46px; line-height:1.08; font-weight:800; margin:0 0 16px; max-width:860px; }
.kcs .phead .lead { color:#c5cad3; font-size:19px; max-width:760px; }
.kcs h2.sub { font-size:28px; line-height:1.15; font-weight:800; margin:0 0 24px; }
.kcs .ticks.two { columns:2; column-gap:44px; max-width:980px; }
.kcs .ticks.two li { break-inside:avoid; }
.kcs .cta-row { display:flex; flex-wrap:wrap; align-items:center; gap:22px; margin-top:34px; }
.kcs .cta-row .plain { font-weight:700; color:var(--ink); }
.kcs .news article { max-width:820px; padding:18px 0; border-top:1px solid var(--line); }
.kcs .news article h3 { font-size:19px; font-weight:800; margin:0 0 6px; }
.kcs .news article p { color:#4a505b; }
.kcs .news h2.sub { margin:44px 0 10px; font-size:22px; color:var(--od); }
.kcs .news h2.sub:first-child { margin-top:0; }

.kcs .alt .card { background:#fff; }
.kcs .cards + .more { margin-top:26px; }

/* price list */
.kcs .price-note { text-align:center; color:var(--mut); font-size:15px; margin:26px auto 0; max-width:760px; }
.kcs .cta-row.center { justify-content:center; margin-top:22px; }
.kcs .ptable-wrap { overflow-x:auto; }
.kcs .ptable { width:100%; border-collapse:collapse; font-size:14.5px; }
.kcs .ptable th { text-align:center; font-size:16px; font-weight:800; color:var(--ink); padding:14px 10px; border-bottom:2px solid var(--ink); }
.kcs .ptable td { padding:9px 10px; border-bottom:1px solid var(--line); text-align:center; vertical-align:top; color:#333944; }
.kcs .ptable td:first-child { text-align:left; width:38%; }
.kcs .ptable tr.group td { background:var(--paper); font-weight:800; color:var(--ink); padding-top:13px; padding-bottom:13px; }
.kcs .ptable tr.text td:first-child { font-weight:800; color:var(--ink); }
.kcs .ptable tr.item td:first-child { padding-left:24px; }
.kcs .ptable .yes { color:var(--od); font-weight:800; }
.kcs .ptable .no { color:#b9bec8; }
.kcs .ptable .part { color:var(--od); }

/* imported articles */
.kcs .prose { max-width:860px; }
.kcs .prose p { margin:0 0 16px; color:#333944; }
.kcs .prose .cms-kicker { font-size:13px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--o); }
.kcs .prose h2 { font-size:26px; font-weight:800; margin:36px 0 14px; }
.kcs .prose ul, .kcs .prose ol { margin:0 0 18px; padding-left:22px; list-style:disc; }
.kcs .prose ol { list-style:decimal; }
.kcs .prose li { margin:0 0 8px; color:#333944; }
.kcs .prose a { color:var(--od); }
.kcs .prose table { width:100%; border-collapse:collapse; font-size:14.5px; margin:0 0 20px; }
.kcs .prose th { font-weight:800; color:var(--ink); padding:10px 8px; border-bottom:2px solid var(--ink); text-align:center; }
.kcs .prose td { padding:9px 8px; border-bottom:1px solid var(--line); text-align:center; }
.kcs .prose td:first-child, .kcs .prose th:first-child { text-align:left; }

.kcs .prose ul.rel { list-style:none; padding:0; margin-top:22px; }
.kcs .prose ul.rel li { margin:0 0 6px; font-weight:600; }
.kcs .prose td:nth-child(2) { white-space:nowrap; font-weight:700; }

/* questions and answers */
.kcs .faq { max-width:860px; }
.kcs .faq .head { margin:0 auto 28px; text-align:center; }
.kcs .faq h2 { font-size:40px; line-height:1.1; font-weight:800; }
.kcs .faq details { border-top:1px solid var(--line); }
.kcs .faq details:last-child { border-bottom:1px solid var(--line); }
.kcs .faq summary { cursor:pointer; list-style:none; padding:20px 36px 20px 0; position:relative; font-size:18px; font-weight:700; color:var(--ink); }
.kcs .faq summary::-webkit-details-marker { display:none; }
.kcs .faq summary:after { content:""; position:absolute; right:6px; top:26px; width:9px; height:9px; border-right:2px solid var(--mut); border-bottom:2px solid var(--mut); transform:rotate(45deg); transition:transform .15s; }
.kcs .faq details[open] summary:after { transform:rotate(-135deg); top:30px; }
.kcs .faq details p { padding:0 36px 22px 0; color:#4a505b; }

/* footer */
.kcs .site-foot { background:var(--ink); color:#aab0bb; margin-top:22px; padding:56px 0 28px; font-size:15px; }
.kcs .site-foot .wrap { display:grid; grid-template-columns:repeat(3, 1fr); gap:32px; }
.kcs .site-foot h4 { color:#fff; font-size:14px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; margin:0 0 14px; }
.kcs .site-foot a { display:block; color:#d5d9e0; text-decoration:none; padding:4px 0; }
.kcs .site-foot a:hover { color:#fff; }
.kcs .site-foot p { grid-column:1 / -1; border-top:1px solid #2a2e37; padding-top:22px; font-size:14px; }
.kcs .site-foot p a { display:inline; padding:0; }

@media (max-width:1100px) { .kcs .cards { grid-template-columns:repeat(3, 1fr); } }
@media (max-width:900px) { .kcs .cards { grid-template-columns:repeat(2, 1fr); } }
@media (max-width:760px) {
  .kcs .ptable { font-size:13px; }
  .kcs .ptable th { font-size:13px; padding:10px 4px; }
  .kcs .ptable td { padding:8px 4px; }
  .kcs .ptable td:first-child { width:34%; }
  .kcs .ptable tr.item td:first-child { padding-left:10px; }
  .kcs .phead h1 { font-size:32px; }
  .kcs .ticks.two { columns:1; }
  .kcs .cards { grid-template-columns:1fr; }
  .kcs .cat-sec { font-size:20px; }
  .kcs .cat-tabs { flex-wrap:nowrap; overflow-x:auto; padding-bottom:4px; }
  .kcs .cat-tab { white-space:nowrap; }
  .kcs .faq h2 { font-size:30px; }
  .kcs .faq summary { font-size:16px; }
  .kcs .site-foot .wrap { grid-template-columns:1fr; }
  .kcs .strip .wrap { flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; padding-bottom:4px; }
  .kcs .strip a, .kcs .strip b { white-space:nowrap; }
}
