/* Shared responsive polish. No service content, pricing or application behaviour changes. */
.kb-polished { --polish-line: #dce5f1; --polish-accent: #1649ad; --polish-tint: #edf3ff; }
.kb-polished main :is(.section-heading,.kb-section-head) h2 { font-size: clamp(28px, 3.1vw, 40px); line-height: 1.2; letter-spacing: -.035em; text-wrap: balance; }
.kb-polished main :is(.section-heading,.kb-section-head) p:not(.eyebrow) { line-height: 1.7; }
.kb-polished .section-heading > .eyebrow { display: flex; align-items: center; gap: 10px; }
.kb-polished .section-heading > .eyebrow:before { content: ''; width: 24px; height: 3px; flex: 0 0 24px; background: #d8914e; border-radius: 2px; }
.kb-polished .kb-page-intro-grid { grid-template-columns: minmax(0,1.55fr) minmax(0,1fr); gap: clamp(28px,5vw,76px); }
.kb-polished .kb-page-intro h1 { text-wrap: balance; letter-spacing: -.045em; }
.kb-polished .kb-page-intro .lead { line-height: 1.7; max-width: 60ch; }
.kb-polished .kb-page-symbol { width: 100%; }
.kb-polished :is(.kb-detail-grid,.kb-platform-grid,.kb-installer-features,.home-service-grid) { gap: 20px; }
.kb-polished :is(.kb-detail-grid,.kb-platform-grid,.kb-installer-features,.home-service-grid,.kb-contact-options) > article { --card-accent: #1649ad; --card-tint: #edf3ff; position: relative; border: 1px solid var(--polish-line); border-radius: 16px; padding: 28px; background: linear-gradient(135deg,#f9fbff,#fff 62%); box-shadow: 0 4px 16px #182b4903; min-width: 0; }
.kb-polished :is(.kb-detail-grid,.kb-platform-grid,.kb-installer-features,.home-service-grid,.kb-contact-options) > article:nth-child(3n+2) { --card-accent: #7145a0; --card-tint: #f3edf9; }
.kb-polished :is(.kb-detail-grid,.kb-platform-grid,.kb-installer-features,.home-service-grid,.kb-contact-options) > article:nth-child(3n) { --card-accent: #246b70; --card-tint: #edf7f5; }
.kb-polished :is(.kb-detail-grid,.kb-platform-grid,.kb-installer-features,.home-service-grid,.kb-contact-options) > article:before { content: ''; position: absolute; top: 0; left: 28px; width: 48px; height: 3px; border-radius: 0 0 3px 3px; background: var(--card-accent); opacity: .8; }
.kb-polished .kb-service-icon { width: 52px; height: 52px; border-radius: 14px; border: 1px solid color-mix(in srgb,var(--card-accent,#1649ad) 16%,white); background: var(--card-tint,#edf3ff); color: var(--card-accent,#1649ad); box-shadow: inset 0 0 0 4px #ffffff80; }
.kb-polished :is(.kb-detail-grid,.kb-platform-grid,.kb-installer-features,.kb-contact-options) > article:has(> .kb-service-icon):not(.kb-commerce-option) { display: grid; grid-template-columns: 52px minmax(0,1fr); column-gap: 16px; align-content: start; }
.kb-polished :is(.kb-detail-grid,.kb-platform-grid,.kb-installer-features,.kb-contact-options) > article:has(> .kb-service-icon):not(.kb-commerce-option) > .kb-service-icon { grid-column: 1; grid-row: 1; }
.kb-polished :is(.kb-detail-grid,.kb-platform-grid,.kb-installer-features,.kb-contact-options) > article:has(> .kb-service-icon):not(.kb-commerce-option) > :is(h2,h3) { grid-column: 2; grid-row: 1; align-self: center; margin: 0; font-size: clamp(21px,2vw,25px); line-height: 1.25; letter-spacing: -.035em; text-wrap: pretty; }
.kb-polished :is(.kb-detail-grid,.kb-platform-grid,.kb-installer-features,.kb-contact-options) > article:has(> .kb-service-icon):not(.kb-commerce-option) > :is(p,a,ul,ol) { grid-column: 1 / -1; }
.kb-polished :is(.kb-detail-grid,.kb-platform-grid,.kb-installer-features,.kb-contact-options) > article > p:not(.eyebrow) { font-size: 16px; line-height: 1.7; margin: 20px 0 0; }
.kb-polished :is(.kb-detail-grid,.kb-platform-grid,.kb-installer-features,.kb-contact-options) > article > .text-link { margin-top: 20px; }
.kb-polished .home-service-card:has(> .kb-service-logo) { display: grid; grid-template-columns: 64px minmax(0,1fr); column-gap: 18px; align-content: start; }
.kb-polished .home-service-card > .kb-service-logo { grid-column: 1; grid-row: 1; }
.kb-polished .kb-service-logo .kb-card-wordpress-logo { max-width: 100%; height: auto; }
.kb-polished .home-service-card:has(> .kb-service-logo) > h3 { grid-column: 2; grid-row: 1; align-self: center; margin: 0; font-size: 25px; line-height: 1.25; letter-spacing: -.035em; }
.kb-polished .home-service-card:has(> .kb-service-logo) > :is(p,a) { grid-column: 1 / -1; }
.kb-polished .home-service-card > p:not(.eyebrow) { line-height: 1.7; }
.kb-polished .home-service-card > .text-link { border-top: 1px solid #e5ebf4; padding-top: 18px; }
.kb-polished :is(.kb-platform-checklist,.kb-form-card,.kb-contact-support,.kb-help-layout aside,.kb-article-navigation,.kb-company-sidebar) { border-radius: 16px; }
.kb-polished .kb-platform-checklist { background: linear-gradient(145deg,#f5f8ff,#fff); border-color: #d6e2f2; }
.kb-polished .kb-platform-checklist h3 { margin-top: 0; line-height: 1.3; }
.kb-polished .kb-platform-checklist ul { list-style: none; padding: 0; }
.kb-polished .kb-platform-checklist li { position: relative; padding: 12px 0 12px 29px; border-bottom: 1px solid #e0e8f3; font-size: 15px; line-height: 1.6; }
.kb-polished .kb-platform-checklist li:before { content: ''; position: absolute; left: 2px; top: 18px; width: 11px; height: 6px; border-left: 2px solid #1649ad; border-bottom: 2px solid #1649ad; transform: rotate(-45deg); }
.kb-polished .kb-platform-checklist > p { font-size: 15px; line-height: 1.7; }
.kb-polished .faq { max-width: 940px; }
.kb-polished .faq details { margin-bottom: 12px; border: 1px solid var(--polish-line); border-radius: 12px; padding: 0 22px; }
.kb-polished .faq summary { padding-block: 22px; font-size: 17px; line-height: 1.45; gap: 18px; }
.kb-polished .faq details[open] { background: #f8faff; border-color: #c6d7ee; }
.kb-polished .faq details p { font-size: 16px; line-height: 1.7; }
.kb-polished .button { min-height: 48px; }
.kb-polished :is(.kb-form-card input,.kb-form-card select,.kb-search input) { min-height: 46px; }
.kb-polished .kb-form-card input:focus,.kb-polished .kb-form-card textarea:focus { border-color: #83a6dc; }
.kb-polished .kb-help-articles article { border-radius: 16px; background: linear-gradient(145deg,#f9fbff,#fff); border-color: var(--polish-line); }
.kb-polished .kb-help-articles h3 { line-height: 1.3; text-wrap: pretty; }
.kb-polished :is(.kb-help-contact,.kb-help-topic-cards>a,.kb-article-preparation,.kb-article-example,.kb-article-figure) { border-radius: 14px; }
.kb-polished .kb-help-article :is(h2,h3) { text-wrap: pretty; line-height: 1.3; }
.kb-polished .kb-help-article :is(p,li) { overflow-wrap: break-word; }
.kb-polished :is(.kb-company-content,.kb-editorial) :is(h2,h3) { line-height: 1.3; text-wrap: pretty; }
.kb-polished :is(.kb-closing,.kb-care,.kb-commerce-brief,.kb-platform-migration) h2 { text-wrap: balance; line-height: 1.2; }
.kb-polished .kb-platform-migration .lead { font-size: 17px; line-height: 1.7; }
.kb-polished .kb-platform-performance { background: #f5f8fd; border-block: 1px solid #e3eaf5; }
@media (min-width: 901px) {
    .kb-polished .home-service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .kb-polished .kb-detail-grid:not(:has(>article:last-child:nth-child(3))) { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 1050px) {
    .kb-polished :is(.kb-platform-grid,.kb-installer-features) { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 900px) {
    .kb-polished .kb-page-intro-grid { grid-template-columns: minmax(0,1fr); gap: 28px; }
    .kb-polished .kb-page-intro:not(.kb-contact-intro) .kb-page-symbol { display: grid; width: min(100%,420px); aspect-ratio: 2; max-height: none; justify-self: center; font-size: 100px; }
    .kb-polished .kb-page-symbol .kb-platform-brand { max-width: 45%; max-height: 100px; width: auto; }
    .kb-polished .kb-page-symbol > .kb-development-symbol { position: static; }
    .kb-polished .kb-development-symbol svg { width: 80px; height: 80px; }
    .kb-polished .kb-page-intro { padding-top: 24px; padding-bottom: 36px; }
}
@media (max-width: 700px) {
    .kb-polished :is(.kb-detail-grid,.kb-platform-grid,.kb-installer-features,.home-service-grid) { grid-template-columns: minmax(0,1fr); gap: 16px; }
    .kb-polished .section { padding-block: 44px; }
    .kb-polished .kb-page-intro h1 { font-size: clamp(34px,7.5vw,48px); line-height: 1.12; }
    .kb-polished .kb-page-intro .lead { font-size: 17px; }
    .kb-polished :is(.kb-detail-grid,.kb-platform-grid,.kb-installer-features,.home-service-grid,.kb-contact-options) > article { padding: 23px; border-radius: 14px; }
    .kb-polished :is(.kb-detail-grid,.kb-platform-grid,.kb-installer-features,.home-service-grid,.kb-contact-options) > article:before { left: 23px; }
    .kb-polished :is(.kb-detail-grid,.kb-platform-grid,.kb-installer-features,.kb-contact-options) > article:has(> .kb-service-icon):not(.kb-commerce-option) { grid-template-columns: 46px minmax(0,1fr); column-gap: 14px; }
    .kb-polished .kb-service-icon { width: 46px; height: 46px; border-radius: 12px; }
    .kb-polished .kb-service-icon svg { max-width: 27px; max-height: 27px; }
    .kb-polished :is(.kb-detail-grid,.kb-platform-grid,.kb-installer-features,.kb-contact-options) > article:has(> .kb-service-icon):not(.kb-commerce-option) > :is(h2,h3) { font-size: 22px; }
    .kb-polished .home-service-card:has(> .kb-service-logo) { grid-template-columns: 56px minmax(0,1fr); gap: 0 16px; }
    .kb-polished .home-service-card > .kb-service-logo { width: 56px; height: 56px; }
    .kb-polished .home-service-card:has(> .kb-service-logo) > h3 { font-size: 23px; }
    .kb-polished .faq details { padding-inline: 18px; }
    .kb-polished .faq summary { font-size: 16px; padding-block: 18px; }
    .kb-polished .kb-closing { padding-block: 40px; }
    .kb-polished .kb-platform-migration { gap: 28px; }
}
@media (max-width: 380px) {
    .kb-polished :is(.kb-detail-grid,.kb-platform-grid,.kb-installer-features,.home-service-grid,.kb-contact-options) > article { padding: 19px; }
    .kb-polished :is(.kb-detail-grid,.kb-platform-grid,.kb-installer-features,.home-service-grid,.kb-contact-options) > article:before { left: 19px; }
    .kb-polished :is(.kb-detail-grid,.kb-platform-grid,.kb-installer-features,.kb-contact-options) > article:has(> .kb-service-icon):not(.kb-commerce-option) { grid-template-columns: 40px minmax(0,1fr); column-gap: 12px; }
    .kb-polished .kb-service-icon { width: 40px; height: 40px; }
    .kb-polished :is(.kb-detail-grid,.kb-platform-grid,.kb-installer-features,.kb-contact-options) > article:has(> .kb-service-icon):not(.kb-commerce-option) > :is(h2,h3) { font-size: 20px; }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .kb-polished :is(.kb-detail-grid,.kb-platform-grid,.kb-installer-features,.home-service-grid,.kb-contact-options) > article { transition: border-color .18s ease,box-shadow .18s ease; }
    .kb-polished :is(.kb-detail-grid,.kb-platform-grid,.kb-installer-features,.home-service-grid,.kb-contact-options) > article:hover { border-color: #b5c9e6; box-shadow: 0 8px 24px #182b4909; }
}
/* Keep help-topic cards within narrow viewports without hiding their platform marks. */
.kb-polished .kb-help-topic-cards > a { min-width: 0; }
.kb-polished .kb-help-topic-cards > a > div { min-width: 0; }
.kb-polished .kb-help-topic-cards h2 { overflow-wrap: break-word; }
@media (max-width: 900px) {
    .kb-polished .kb-help-topic-cards { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 380px) {
    .kb-polished .kb-help-topic-cards > a { flex-wrap: wrap; }
    .kb-polished .kb-help-topic-cards > a > div { flex: 1 1 100%; }
}
/* Homepage finishing: align the retained icons, copy and calls to action as one unit. */
.kb-page--home .home-service-card:has(> .kb-service-logo) { text-align: left; grid-template-rows: auto 1fr auto; row-gap: 20px; }
.kb-page--home .home-service-card:has(> .kb-service-logo) > h3 { text-align: left; overflow-wrap: break-word; }
.kb-page--home .home-service-card:has(> .kb-service-logo) > p { margin: 0; font-size: 15px; line-height: 1.7; }
.kb-page--home .home-service-card:has(> .kb-service-logo) > .text-link { margin-top: 0; align-self: stretch; justify-self: stretch; padding-top: 16px; }
.kb-page--home .benefits article { flex-direction: row; align-items: flex-start; text-align: left; gap: 16px; }
.kb-page--home .benefits i { width: 44px; height: 44px; border: 1px solid #dce6f7; }
.kb-page--home .benefits h3 { margin: 0 0 6px; font-size: 17px; line-height: 1.35; }
.kb-page--home .benefits p { font-size: 14px; line-height: 1.65; }
@media (max-width: 700px) {
    .kb-page--home .home-service-card:has(> .kb-service-logo) { row-gap: 18px; }
    .kb-page--home .benefits { gap: 24px; }
}
.kb-page--home .kb-care > div:last-child > .eyebrow { margin-top: 0; }
@media (max-width: 900px) {
    .kb-page--home .kb-care { gap: 28px; }
}
@media (max-width: 700px) {
    .kb-page--home .footer-grid { grid-template-areas: 'brand brand' 'services help' 'services information'; row-gap: 24px; align-items: start; }
    .kb-page--home .footer-grid > div:nth-child(1) { grid-area: brand; }
    .kb-page--home .footer-grid > div:nth-child(2) { grid-area: services; }
    .kb-page--home .footer-grid > div:nth-child(3) { grid-area: help; }
    .kb-page--home .footer-grid > div:nth-child(4) { grid-area: information; }
    .kb-page--home .footer-grid a:not(.logo) { font-size: 13px; }
}
@media (max-width: 700px) {
    .kb-page--home .plan .billing { margin-bottom: 16px; }
    .kb-page--home .plan ul { margin-top: 0; margin-bottom: 26px; padding-top: 18px; }
}
