/* Shared design system. Authored pages migrate to these classes in Phase 3. */
:root {
  --k-font: 'DM Sans', Arial, Helvetica, sans-serif;
  --k-accent: #f86011;
  --k-accent-hover: #d9560f;
  --k-dark: #1a1a1a;
  --k-grey: #f5f5f5;
  --k-white: #fff;
  --k-heading: #1a1a1a;
  --k-body: #444;
  --k-muted: #555;
  --k-on-dark: #ccc;
  --k-h1-size: 2.6rem;
  --k-h1-leading: 1.2;
  --k-h2-size: 1.9rem;
  --k-h2-leading: 1.25;
  --k-article-h2-size: 1.6rem;
  --k-article-h2-leading: 1.3;
  --k-h3-size: 1.2rem;
  --k-card-title-size: 1.375rem;
  --k-h3-leading: 1.35;
  --k-heading-weight: 700;
  --k-body-size: 1rem;
  --k-body-leading: 1.8;
  --k-service-width: 860px;
  --k-article-width: 760px;
  --k-faq-width: 760px;
  --k-form-width: 580px;
  --k-section-padding: 72px 24px;
  --k-hero-padding: 80px 24px 72px;
  --k-card-radius: 8px;
  --k-button-radius: 6px;
}
.imported-content h1 { font-size: var(--k-h1-size); font-weight: var(--k-heading-weight); line-height: var(--k-h1-leading); letter-spacing: normal; }
.k-hero { background: var(--k-dark); color: var(--k-on-dark); padding: var(--k-hero-padding); text-align: center; }
.k-hero h1 { color: var(--k-white); margin: 0 0 24px; }
.k-section--white, .k-section--grey, .k-section--dark, .k-cta-band, .k-faq { padding: var(--k-section-padding); }
.k-section--white { background: var(--k-white); }
.k-section--grey, .k-faq { background: var(--k-grey); }
.k-section--dark, .k-cta-band { background: var(--k-dark); color: var(--k-on-dark); }
.k-inner { max-width: var(--k-service-width); margin-inline: auto; }
.k-eyebrow { display: block; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--k-accent); text-align: center; margin: 0 0 14px; }
.k-h2 { font-size: var(--k-h2-size); font-weight: var(--k-heading-weight); line-height: var(--k-h2-leading); color: var(--k-heading); margin: 0 0 28px; }
.k-section--dark .k-h2, .k-cta-band .k-h2 { color: var(--k-white); }
.k-p { font-size: var(--k-body-size); line-height: var(--k-body-leading); color: var(--k-body); margin: 0 0 1.2em; }
.k-section--dark .k-p, .k-hero .k-p, .k-cta-band .k-p { color: var(--k-on-dark); }
.k-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.k-card { background: var(--k-white); border-radius: var(--k-card-radius); border-top: 3px solid var(--k-accent); padding: 28px 24px; min-width: 0; }
.k-card-title, .k-migrated .k-card-title { font-size: var(--k-card-title-size) !important; font-weight: 700; line-height: 1.3 !important; color: var(--k-heading); margin: 0 0 10px; }
.blog-card-copy h2, .kcs-booking-app h2 { font-size: var(--k-card-title-size) !important; font-weight: 700; line-height: 1.3 !important; }
.booking-note { max-width: var(--k-article-width); margin-inline: auto; }
.article-page .article-cta > .k-inner { max-width: var(--k-article-width); }
.prose-page .page-heading, .prose-page > .imported-content { max-width: calc(var(--k-article-width) + 48px); }
.home-page .k-insights > p { max-width: var(--k-service-width); margin-inline: auto; }
.k-card-body { font-size: var(--k-body-size); line-height: var(--k-body-leading); color: var(--k-muted); margin: 0; }
.k-list { list-style: none; padding: 0; margin: 0; border-top: 1px solid #ddd; }
.k-list li { padding: 14px 0; border-bottom: 1px solid #ddd; font-size: var(--k-body-size); line-height: var(--k-body-leading); color: var(--k-body); }
.k-list li > span:first-child { font-weight: 700; color: var(--k-heading); }
.k-steps { counter-reset: step; list-style: none; padding: 0; }
.k-steps > li { counter-increment: step; position: relative; padding: 0 0 28px 52px; font-size: var(--k-body-size); line-height: var(--k-body-leading); }
.k-steps > li::before { content: counter(step); position: absolute; left: 0; top: 0; background: var(--k-accent); color: white; font-weight: 700; width: 36px; height: 36px; border-radius: 50%; text-align: center; line-height: 36px; }
.k-btn { display: inline-block; background: var(--k-accent); color: var(--k-white); font-size: 1rem; font-weight: 700; padding: 16px 36px; border: 1px solid transparent; border-radius: var(--k-button-radius); text-decoration: none; }
.k-btn:hover { background: var(--k-accent-hover); color: var(--k-white); }
.k-btn--ghost { background: transparent; border-color: #4a4a4a; color: var(--k-white); }
.k-cta-band { text-align: center; }
.k-faq > .k-inner { max-width: var(--k-faq-width); }
.k-faq .renewal-accordion { background: white; border: 0; border-radius: 6px; margin-bottom: 8px; }
.k-faq .renewal-accordion > summary { position: relative; list-style: none; padding: 20px 52px 20px 24px; font-size: 1rem; font-weight: 700; }
.k-faq .renewal-accordion > summary::-webkit-details-marker { display: none; }
.k-faq .renewal-accordion > summary::after { content: '+'; position: absolute; right: 22px; color: var(--k-accent); }
.k-faq .renewal-accordion[open] > summary::after { content: '\2212'; }
.k-faq .renewal-accordion-body { padding: 0 24px 20px; font-size: 1rem; line-height: var(--k-body-leading); }
.k-form { max-width: var(--k-form-width); margin-inline: auto; font-size: 1rem; }
.k-form label { display: block; font-weight: 600; }
.k-form input, .k-form select, .k-form textarea { width: 100%; font-family: inherit; padding: 11px 14px; border: 1px solid #ddd; border-radius: 6px; margin: 6px 0 18px; }
.k-form textarea { min-height: 90px; resize: vertical; }
.k-form button { font-family: inherit; }
/* Transitional aliases outrank embedded authored styles without changing markup. */
:is(a, button)[class*="kas-"][class*="-btn"], .kasrep-btn, .kasrep-btn-ghost, .kassmp-btn, .contact-form button, .legacy-service .fusion-button { border-radius: var(--k-button-radius) !important; }
.grecaptcha-badge { visibility: hidden !important; }
.k-section { padding: var(--k-section-padding); }
.k-center { text-align: center; }
.k-secondary { display: block; margin-top: 14px; color: var(--k-on-dark); font-size: .9rem; text-underline-offset: 4px; }
.k-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 20px; }
.k-actions .k-secondary { margin: 0; }
.k-split { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 48px; align-items: center; }
.k-image { width: 100%; border-radius: var(--k-card-radius); }
.k-list-label { font-weight: 700; }
.k-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: 0 0 36px; }
.k-chip { border: 1px solid #4a4a4a; border-radius: 6px; padding: 10px 18px; color: var(--k-on-dark); font-size: .85rem; }
.k-chip span, .k-number { color: var(--k-accent); font-weight: 700; }
.k-number { font-size: 12px; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 12px; }
.k-step-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
.k-step { border-top: 3px solid var(--k-accent); padding-top: 24px; }
.k-faq-item, .k-faq-list details { background: white; border-radius: 6px; margin-bottom: 8px; }
.k-faq-q, .k-faq-list summary { display: block; width: 100%; position: relative; background: none; border: 0; padding: 20px 52px 20px 24px; text-align: left; font: inherit; font-size: 1rem; font-weight: 700; cursor: pointer; list-style: none; }
.k-faq-q::after, .k-faq-list summary::after { content: '+'; position: absolute; right: 22px; color: var(--k-accent); }
.k-faq-item.open .k-faq-q::after, .k-faq-list details[open] summary::after { content: '\2212'; }
.k-faq-icon { display: none; }
.k-faq-a { padding: 0 24px 20px; font-size: 1rem; line-height: var(--k-body-leading); color: var(--k-body); }
.k-faq-item > .k-faq-a { display: none; }
.k-faq-item.open > .k-faq-a { display: block; }
.k-faq-list summary::-webkit-details-marker { display: none; }
.k-faq > .k-inner > .k-h2 { text-align: center; }
.contact-intro h2 { font-size: var(--k-h2-size); font-weight: 700; line-height: var(--k-h2-leading); }
@media (max-width: 650px) { .k-split, .k-step-grid { grid-template-columns: 1fr; } }
/* Article normalization stays inside the article template. */
.article-page .page-heading, .article-page .imported-content {
  box-sizing: content-box; width: auto; max-width: var(--k-article-width);
  margin-inline: auto; padding-inline: 24px;
}
.article-page .page-heading { margin-block: 0; padding-top: 48px; padding-bottom: 28px; }
.article-page .page-heading h1 { margin: 0; }
.article-page .imported-content { margin-bottom: 64px; font-family: var(--k-font); font-size: var(--k-body-size); line-height: var(--k-body-leading); }
.article-page .kas-post { max-width: none; margin: 0; font-family: inherit; font-size: var(--k-body-size); }
.article-page .imported-content .fusion-title, .article-page .imported-content .fusion-title-heading { padding: 0 !important; margin: 0 !important; }
.article-page .imported-content h2 { font-size: var(--k-article-h2-size) !important; font-weight: 700 !important; line-height: var(--k-article-h2-leading) !important; border-left: 4px solid var(--k-accent); padding: 0 0 0 14px !important; margin: 2em 0 .6em !important; }
.article-page .imported-content h3 { font-size: var(--k-h3-size) !important; font-weight: 700 !important; line-height: var(--k-h3-leading) !important; padding: 0 !important; margin: 1.6em 0 .6em !important; }
.article-page .imported-content p { margin: 0 0 1.2em; }
.article-page .imported-content [style*="font-family"] { font-family: var(--k-font) !important; }
.article-page .imported-content p:empty { display: none; }
.article-page .imported-content img { max-height: 480px; width: 100%; object-fit: cover; border-radius: 8px; }
.article-page .imported-content table { width: 100%; border-collapse: collapse; }
.article-page .imported-content th { color: var(--k-heading) !important; background: var(--k-grey) !important; text-align: left; }
.article-page .imported-content :is(th,td) { padding: 10px 14px; border-bottom: 1px solid #e5e5e5 !important; }
.article-meta { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 18px; font-size: .875rem; color: var(--k-muted); }
.article-meta a { color: var(--k-muted); text-underline-offset: 3px; }
.article-cta-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 20px 28px; }
.article-cta-secondary { color: white; text-underline-offset: 4px; }
@media (max-width: 760px) {
  .article-page .imported-content table { display: block; overflow-x: auto; }
}
@media (max-width: 540px) {
  .article-page .page-heading, .article-page .imported-content { padding-inline: 20px; }
}
/* Keep two- and four-card groups balanced without changing six-card grids. */
@media (min-width: 651px) {
  .k-cards:has(> :nth-child(2):last-child),
  .k-cards:has(> :nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1000px) { .k-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 650px) {
  :root { --k-section-padding: 48px 20px; --k-hero-padding: 48px 20px; }
  .k-cards { grid-template-columns: 1fr; }
}
@media (max-width: 540px) { :root { --k-h1-size: 1.85rem; --k-h2-size: 1.5rem; } }

/* Retained component details: amazon-fba-consultant */

.k-img-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: center;
  margin-top: 8px;
}
.k-img-wrap img {
  width: 100%;
  border-radius: 8px;
  display: block;
}
.k-review {
  border-left: 4px solid #f86011;
  background: #f5f5f5;
  border-radius: 6px;
  padding: 24px 28px;
  margin-top: 32px;
}
.k-review-stars {
  color: #f86011;
  font-size: 1.1rem;
  letter-spacing: 2px;
  margin: 0 0 10px;
}
.k-review-quote {
  font-size: 0.97rem;
  color: #333333;
  line-height: 1.75;
  font-style: italic;
  margin: 0 0 10px;
}
.k-review-attr {
  font-size: 0.88rem;
  color: #888888;
  margin: 0;
  font-style: normal;
}

@media (max-width: 700px) {
  .k-img-wrap { grid-template-columns: 1fr; }
}


.kasrep{max-width:820px;margin:48px auto;font-family:inherit;box-sizing:border-box;}
.kasrep *{box-sizing:border-box;}
.kasrep-box{border:1px solid #e6e6e6;border-top:4px solid #f86011;border-radius:12px;background:#ffffff;
  padding:34px 32px;box-shadow:0 6px 24px rgba(0,0,0,.06);}
.kasrep-kicker{display:block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:#f86011;margin:0 0 10px;}
.kasrep-h{font-size:1.45rem;font-weight:700;color:#1a1a1a;line-height:1.3;margin:0 0 14px;}
.kasrep-p{font-size:1rem;color:#4a4a4a;line-height:1.75;margin:0 0 20px;}
.kasrep-p b{color:#1a1a1a;}
.kasrep-list{list-style:none;padding:0;margin:0 0 24px;display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:6px 22px;}
.kasrep-list li{position:relative;padding:0 0 .45rem 1.4rem;font-size:.93rem;line-height:1.55;color:#444;}
.kasrep-list li:before{content:"";position:absolute;left:0;top:.55em;width:.5rem;height:.5rem;
  background:#f86011;border-radius:50%;}
.kasrep-ctas{display:flex;gap:12px;flex-wrap:wrap;align-items:center;}
.kasrep-btn{display:inline-block;background:#f86011;color:#ffffff !important;font-weight:700;font-size:1rem;
  text-decoration:none;padding:14px 28px;border-radius:7px;transition:background .15s ease;}
.kasrep-btn:hover{background:#d9500a;color:#ffffff !important;text-decoration:none;}
.kasrep-btn-ghost{display:inline-block;background:transparent;border:1px solid #d5d5d5;color:#1a1a1a !important;
  font-weight:700;font-size:1rem;text-decoration:none;padding:13px 26px;border-radius:7px;}
.kasrep-btn-ghost:hover{border-color:#f86011;color:#f86011 !important;text-decoration:none;}
.kasrep-foot{display:block;font-size:.85rem;color:#888;line-height:1.6;margin:16px 0 0;}
.kasrep-foot b{color:#f86011;}
@media(max-width:560px){
  .kasrep-box{padding:26px 22px;}
  .kasrep-h{font-size:1.2rem;}
  .kasrep-btn,.kasrep-btn-ghost{display:block;width:100%;text-align:center;}
}

/* Retained component details: multi-channel-ecommerce */

.k-warning-box {
  background: #fff8f3;
  border-left: 4px solid #f86011;
  border-radius: 0 6px 6px 0;
  padding: 18px 22px;
  margin: 20px 0 0;
}
.k-warning-box p {
  font-size: 0.95rem;
  color: #444444;
  line-height: 1.75;
  margin: 0;
}
.k-warning-box strong {
  color: #1a1a1a;
}

/* Retained component details: ai-ecommerce-consultant */

.k-bio-grid {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 52px;
  align-items: start;
}
.k-photo img {
  width: 100%;
  border-radius: 8px;
  display: block;
}
@media (max-width: 640px) {
  .k-bio-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .k-photo {
    text-align: center;
  }
  .k-photo img {
    max-width: 200px;
    margin: 0 auto;
  }
}

/* Retained component details: ai-commerce-readiness-assessment */



.k-faq-related {
  border-top: 1px solid #e5e5e5;
  padding-top: 32px;
}
.kasrep-box{border:1px solid #2a2a2a;border-top:4px solid #f86011;border-radius:12px;background:#1a1a1a;
  padding:34px 32px;}
.kasrep-kicker{display:block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:#f86011 !important;margin:0 0 10px;}
.kasrep-h{font-size:1.45rem;font-weight:700;color:#ffffff !important;line-height:1.3;margin:0 0 14px;}
.kasrep-p{font-size:1rem;color:#bbbbbb !important;line-height:1.75;margin:0 0 20px;}
.kasrep-p b{color:#ffffff !important;}
.kasrep-list li{position:relative;padding:0 0 .45rem 1.4rem;font-size:.93rem;line-height:1.55;
  color:#cccccc !important;}
.kasrep-btn-ghost{display:inline-block;background:transparent;border:1px solid #4a4a4a;
  color:#ffffff !important;font-weight:700;font-size:1rem;text-decoration:none;padding:13px 26px;
  border-radius:7px;}
.kasrep-foot{display:block;font-size:.85rem;color:#888888 !important;line-height:1.6;margin:16px 0 0;}
.kasrep-foot b{color:#f86011 !important;}

/* Retained component details: ecommerce-competitor-analysis */

.kassmp{max-width:900px;margin:40px auto;font-family:inherit;box-sizing:border-box;}
.kassmp *{box-sizing:border-box;}
.kassmp-box{display:grid;grid-template-columns:1.15fr 1fr;gap:0;border:1px solid #e6e6e6;
  border-radius:14px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,.07);background:#ffffff;}
.kassmp-left{padding:34px 32px;}
.kassmp-right{background:#1a1a1a;padding:34px 30px;display:flex;flex-direction:column;justify-content:center;}
.kassmp-kicker{display:block;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:#f86011 !important;margin:0 0 12px;}
.kassmp-h{font-size:1.5rem;font-weight:700;color:#1a1a1a !important;line-height:1.28;margin:0 0 14px;}
.kassmp-p{font-size:1rem;color:#4a4a4a !important;line-height:1.7;margin:0 0 22px;}
.kassmp-p b{color:#1a1a1a !important;}
.kassmp-btn{display:inline-block;background:#f86011;color:#ffffff !important;font-weight:700;font-size:1rem;
  text-decoration:none;padding:15px 30px;border-radius:7px;transition:background .15s ease;}
.kassmp-btn:hover{background:#d9500a;color:#ffffff !important;text-decoration:none;}
.kassmp-note{display:block;font-size:.85rem;color:#888888 !important;line-height:1.6;margin:14px 0 0;}
.kassmp-rk{display:block;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:#777777 !important;margin:0 0 18px;}
.kassmp-row{display:flex;justify-content:space-between;align-items:baseline;gap:14px;
  padding:11px 0;border-bottom:1px solid #2c2c2c;}
.kassmp-row:last-of-type{border-bottom:none;}
.kassmp-lbl{font-size:.86rem;color:#aaaaaa !important;line-height:1.4;}
.kassmp-val{font-size:1.02rem;font-weight:700;color:#ffffff !important;white-space:nowrap;}
.kassmp-val.hl{color:#f86011 !important;}
.kassmp-cap{display:block;font-size:.78rem;color:#767676 !important;line-height:1.5;margin:18px 0 0;}
@media(max-width:760px){
  .kassmp-box{grid-template-columns:1fr;}
  .kassmp-left{padding:28px 24px;}
  .kassmp-right{padding:26px 24px;}
  .kassmp-h{font-size:1.25rem;}
  .kassmp-btn{display:block;width:100%;text-align:center;}
}
.k-sub {
  font-size: 1rem;
  color: #666666;
  line-height: 1.7;
  max-width: 600px;
  margin: 0 auto 44px;
  text-align: center;
}
.k-explainer {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  margin-top: 36px;
}
.k-explainer-col {
  background: #ffffff;
  border: 1px solid #e5e5e5;
  border-radius: 10px;
  padding: 28px 26px;
}
.k-section--grey .k-explainer-col { background: #ffffff; }
.k-section--white .k-explainer-col { background: #f9f9f9; }
.k-signal-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.k-signal-list li {
  font-size: 0.93rem;
  color: #444444;
  line-height: 1.6;
  padding: 7px 0;
  border-bottom: 1px solid #f0f0f0;
  display: flex;
  gap: 10px;
  align-items: flex-start;
}
.k-signal-list li:last-child { border-bottom: none; }
.k-signal-list li::before {
  content: '';
  flex-shrink: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #f86011;
  margin-top: 7px;
}
.k-deliverables {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
.k-deliverable {
  background: #ffffff;
  border-radius: 8px;
  border: 1px solid #e5e5e5;
  padding: 20px 22px;
  display: flex;
  gap: 14px;
  align-items: flex-start;
}
.k-deliverable-dot {
  flex-shrink: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #f86011;
  margin-top: 8px;
}
.k-deliverable-text {
  font-size: 0.95rem;
  color: #333333;
  line-height: 1.55;
  font-weight: 600;
}
.k-deliverable-sub {
  font-size: 0.87rem;
  color: #666666;
  font-weight: 400;
  line-height: 1.5;
  margin-top: 3px;
}
.k-compare {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-top: 36px;
}
.k-compare-col {
  border-radius: 10px;
  padding: 28px 26px;
  border: 1px solid #e5e5e5;
}
.k-compare-col.audit { background: #ffffff; }
.k-compare-col.monitor { background: #fff8f4; border-color: #f8d0b8; }
.k-compare-title {
  font-size: 1rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 8px;
}
.k-compare-price {
  font-size: 0.88rem;
  color: #f86011;
  font-weight: 700;
  margin: 0 0 16px;
}
.k-compare-body {
  font-size: 0.93rem;
  color: #444444;
  line-height: 1.7;
  margin: 0 0 16px;
}
.k-compare-when {
  font-size: 0.88rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.k-compare-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.k-compare-list li {
  font-size: 0.9rem;
  color: #555555;
  line-height: 1.6;
  padding: 5px 0 5px 14px;
  position: relative;
}
.k-compare-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 13px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #f86011;
}
.k-packages {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  margin-bottom: 24px;
}
.k-pkg {
  border: 1px solid #e5e5e5;
  border-radius: 10px;
  padding: 28px 26px;
  display: flex;
  flex-direction: column;
  background: #ffffff;
}
.k-pkg.featured {
  border-color: #f86011;
  box-shadow: 0 0 0 1px #f86011;
}
.k-pkg-badge {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 3px 10px;
  border-radius: 3px;
  margin-bottom: 12px;
  width: fit-content;
}
.k-pkg-badge.popular { background: #fff4ee; color: #f86011; }
.k-pkg-name {
  font-size: 1.1rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 6px;
  line-height: 1.3;
}
.k-pkg-price {
  font-size: 1.45rem;
  font-weight: 700;
  color: #f86011;
  margin: 0 0 6px;
  line-height: 1.2;
}
.k-pkg-for {
  font-size: 0.87rem;
  color: #777777;
  line-height: 1.5;
  margin: 0 0 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid #f0f0f0;
}
.k-pkg-features {
  list-style: none;
  padding: 0;
  margin: 0 0 22px;
  flex-grow: 1;
}
.k-pkg-features li {
  font-size: 0.91rem;
  color: #444444;
  line-height: 1.55;
  padding: 6px 0;
  border-bottom: 1px solid #f5f5f5;
  display: flex;
  gap: 10px;
  align-items: flex-start;
}
.k-pkg-features li:last-child { border-bottom: none; }
.k-pkg-features li::before {
  content: '';
  flex-shrink: 0;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #f86011;
  margin-top: 7px;
}
.k-pkg-cta {
  display: block;
  text-align: center;
  padding: 13px 20px;
  border-radius: 6px;
  font-size: 0.92rem;
  font-weight: 700;
  text-decoration: none;
  letter-spacing: 0.02em;
}
.k-pkg-cta.primary { background: #f86011; color: #ffffff; }
.k-pkg-cta.primary:hover { background: #e05510; color: #ffffff; text-decoration: none; }
.k-pkg-cta.outline { border: 2px solid #f86011; color: #f86011; }
.k-pkg-cta.outline:hover { background: #fff4ee; text-decoration: none; }
.k-pkg.k-pkg-wide { grid-column: 1 / -1; }
.k-pkg-wide .k-pkg-features { column-count: 2; column-gap: 40px; }
.k-pkg-wide .k-pkg-features li { break-inside: avoid; }
.k-pkg-wide .k-pkg-cta { align-self: flex-start; min-width: 300px; }
.k-custom-build {
  background: #1a1a1a;
  border-radius: 10px;
  padding: 32px 36px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 28px;
  align-items: center;
}
.k-custom-build-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #f86011;
  margin: 0 0 8px;
}
.k-custom-build-name {
  font-size: 1.15rem;
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 8px;
  line-height: 1.3;
}
.k-custom-build-body {
  font-size: 0.93rem;
  color: #aaaaaa;
  line-height: 1.7;
  margin: 0;
}
.k-custom-build-body a {
  color: #f86011;
  text-decoration: none;
  font-weight: 600;
}
.k-custom-build-body a:hover { text-decoration: underline; }
.k-custom-build-cta {
  display: inline-block;
  white-space: nowrap;
  background: #f86011;
  color: #ffffff;
  font-size: 0.92rem;
  font-weight: 700;
  padding: 14px 26px;
  border-radius: 6px;
  text-decoration: none;
}
.k-custom-build-cta:hover {
  background: #e05510;
  color: #ffffff;
  text-decoration: none;
}
.k-fit-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
  margin-top: 36px;
}
.k-fit-col {
  background: #ffffff;
  border-radius: 10px;
  padding: 28px 26px;
  border: 1px solid #e5e5e5;
}
.k-fit-col-title {
  font-size: 0.95rem;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 16px;
  padding-bottom: 12px;
  border-bottom: 2px solid #f86011;
}
.k-fit-col-title.no-border { border-color: #dddddd; }
.k-fit-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.k-fit-list li {
  font-size: 0.92rem;
  color: #444444;
  line-height: 1.6;
  padding: 7px 0 7px 16px;
  border-bottom: 1px solid #f5f5f5;
  position: relative;
}
.k-fit-list li:last-child { border-bottom: none; }
.k-fit-list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 14px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
}
.k-fit-list li.yes::before { background: #f86011; }
.k-fit-list li.no-item::before { background: #cccccc; }
.k-s9-body {
  font-size: 1.05rem;
  color: #bbbbbb !important;
  line-height: 1.85;
  max-width: 720px;
  margin: 0 auto 20px;
  text-align: center;
}
.k-s9-body a { color: #f86011 !important; text-decoration: none; font-weight: 600; }
.k-s9-body a:hover { text-decoration: underline; }
@media (max-width: 860px) {
  .k-explainer,
  .k-packages,
  .k-compare,
  .k-fit-grid { grid-template-columns: 1fr; }
  .k-deliverables { grid-template-columns: 1fr; }
  .k-custom-build { grid-template-columns: 1fr; }
  .k-pkg-wide .k-pkg-features { column-count: 1; }
  .k-pkg-wide .k-pkg-cta { min-width: 0; }
}

/* Retained component details: home */
.k-c1-nostrings {
  display: block;
  margin-top: 22px;
  font-size: 0.85rem;
  color: #6f6f6f !important;
  letter-spacing: 0.01em;
}
.k-c1-stats {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 52px;
  padding-top: 40px;
  border-top: 1px solid #2a2a2a;
}

.k-c1-stat {
  font-size: 0.82rem;
  font-weight: 500;
  color: #888888 !important;
  padding: 7px 18px;
  border: 1px solid #2e2e2e;
  border-radius: 4px;
  letter-spacing: 0.01em;
  white-space: nowrap;
}

.k-c1-stat-num {
  color: #f86011 !important;
  font-weight: 700;
}

@media (max-width: 480px) {
  .k-c1-stats { gap: 8px; }
  .k-c1-stat { font-size: 0.78rem; padding: 6px 14px; }
}
.k-metric {
  background: #1a1a1a;
  border-radius: 10px;
  padding: 40px 36px;
  max-width: 820px;
  margin: 0 auto;
}
.k-metric h3 {
  font-size: 1.15rem;
  font-weight: 700;
  color: #ffffff !important;
  margin: 0 0 18px;
  line-height: 1.4;
}
.k-metric p {
  font-size: 1rem;
  color: #bbbbbb !important;
  line-height: 1.75;
  margin: 0 0 16px;
}
.k-metric p:last-child { margin-bottom: 0; }
.k-metric strong { color: #ffffff !important; font-weight: 600; }
.k-link {
  font-size: 0.95rem;
  font-weight: 700;
  color: #f86011 !important;
  text-decoration: none;
  letter-spacing: 0.02em;
}
.k-link:hover { text-decoration: underline; }
@media (max-width: 480px) {
  .k-metric { padding: 30px 24px; }
}

/* Token typography also supersedes authored inline type sizes. */
.k-migrated { font-family: var(--k-font); font-size: var(--k-body-size); line-height: var(--k-body-leading); }
.k-migrated h1 { font-size: var(--k-h1-size) !important; font-weight: 700 !important; line-height: var(--k-h1-leading) !important; }
.k-migrated h2 { font-size: var(--k-h2-size) !important; font-weight: 700 !important; line-height: var(--k-h2-leading) !important; }
.k-migrated h3 { font-size: var(--k-h3-size) !important; font-weight: 700 !important; line-height: var(--k-h3-leading) !important; }
.k-migrated p { font-size: var(--k-body-size); line-height: var(--k-body-leading); }
.k-migrated .k-inner { min-width: 0; }
.k-migrated .k-hero strong { color: var(--k-white); }
.k-migrated .k-btn--ghost { background: transparent; color: white; }
.k-migrated .k-pkg-cta, .k-migrated .k-custom-build-cta, .k-migrated .kasrep-btn, .k-migrated .kassmp-btn { border-radius: var(--k-button-radius); }
.contact-section > .k-form { width: 100%; }
.k-insights .blog-grid { margin-block: 32px; }
.k-hero .k-p:has(> .k-btn), .k-cta-band .k-p:has(> .k-btn) { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.k-section--grey > .k-inner.k-faq { padding: 0; max-width: var(--k-faq-width); }

/* Balance short archives and ten-post pages rather than leave an orphan card. */
@media (min-width: 651px) {
  .blog-grid:has(> :nth-child(2):last-child),
  .blog-grid:has(> :nth-child(4):last-child),
  .blog-grid:has(> :nth-child(10):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1001px) {
  .blog-grid:has(> :nth-child(5):last-child) { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .blog-grid:has(> :nth-child(5):last-child) > * { grid-column: span 2; }
  .blog-grid:has(> :nth-child(5):last-child) > :nth-last-child(-n+2) { grid-column: span 3; }
}
@media (min-width: 651px) and (max-width: 1000px) {
  .blog-grid > :last-child:nth-child(odd) { grid-column: 1 / -1; }
}

.blog-grid:has(> :only-child) { grid-template-columns: minmax(0, 1fr); max-width: 760px; }

/* Long editorial copy flows below its image instead of leaving an empty column. */
.k-editorial { display: flow-root; }
.k-editorial > .k-eyebrow { text-align: left; }
.k-editorial-image { float: right; width: 42%; margin: 0 0 24px 32px; }
.k-editorial-image img { display: block; height: auto; }
.k-editorial > .k-warning-box { clear: both; }
@media (max-width: 760px) {
  .k-editorial-image { float: none; width: 100%; margin: 0 0 24px; }
}

/* Keep the portrait modest while biography text fills the reading column. */
.k-editorial-portrait { float: left; width: 240px; margin: 0 32px 20px 0; }
.k-editorial-portrait img { display: block; height: auto; }
@media (max-width: 640px) {
  .k-editorial-portrait { float: none; width: 200px; max-width: 100%; margin: 0 auto 24px; }
}

/* Keep navigation available without a shrinking or animated header. */
html { scroll-padding-top: 96px; }
.site-header {
  position: sticky; top: 0; z-index: 90;
  max-width: none; min-height: 80px;
  padding: 16px max(24px, calc((100vw - 1310px) / 2));
  background: #fff; border-bottom: 1px solid #e8e8e8;
}
@media (max-width: 760px) {
  .site-header { min-height: 76px; padding: 14px 20px; }
  #navigation.open {
    position: absolute; top: 100%; left: 0; right: 0;
    padding: 8px 24px 20px; background: #fff;
    max-height: calc(100dvh - 76px); overflow-y: auto;
    border-bottom: 1px solid #ddd; box-shadow: 0 8px 16px #0001;
  }
}

.site-header .logo img { width: 170px; height: 46px; object-fit: contain; }
@media (max-width: 1000px) { .site-header { gap: 16px; } }
@media (max-width: 760px) { .site-header .logo img { width: 155px; height: 44px; } }

/* Align checklist marks with the first text line, including wrapped mobile copy. */
.k-list--checks > li { display: grid; grid-template-columns: 20px minmax(0, 1fr); column-gap: 12px; align-items: baseline; }
.k-list--checks > li > .k-list-label:first-child { color: var(--k-accent); }
.k-list--checks > li > p { margin: 0; }

/* Phase 4 shared navigation and utility pages. */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.site-header { gap: 20px; padding-inline: max(24px, calc((100vw - 1392px) / 2)); }
.site-header .logo img { width: 150px; }
#navigation { gap: 22px; font-size: 16px; }
.header-actions { display: flex; align-items: center; gap: 12px; }
.header-search { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 44px; color: #111; }
.header-cta { padding: 12px 18px; white-space: nowrap; font-size: 14px; }
#navigation .mobile-search { display: none; }
.site-footer .footer-grid { grid-template-columns: 1.35fr repeat(4, minmax(0, 1fr)); gap: 28px; }
.site-footer { padding-inline: max(24px, calc((100vw - 1320px) / 2)); }
.site-footer .footer-grid > div:first-child { grid-column: auto; }
.site-footer .footer-grid h2 { font-size: 17px; }
.site-footer .footer-grid > div > a:not(.footer-brand) { font-size: 14px; line-height: 1.6; }
.site-footer .footer-brand-column .k-btn { display: inline-block; padding: 12px 16px; margin-top: 12px; }
.site-footer .footer-brand-column p { font-size: 15px; }
.footer-bottom { flex-wrap: wrap; }
.footer-bottom > div { display: flex; flex-wrap: wrap; gap: 12px 20px; }
.footer-bottom a { margin-right: 0; }
.utility-page { max-width: 860px; margin: 64px auto 80px; padding: 0 24px; min-height: 40vh; }
.utility-search { margin-block: 28px; }
.utility-search label { display: block; font-weight: 700; margin-bottom: 8px; }
.utility-search > div { display: flex; gap: 12px; }
.utility-search input { min-width: 0; flex: 1; border: 1px solid #999; border-radius: 6px; padding: 12px; }
.utility-search button { border: 0; }
.utility-links { padding-left: 20px; }
.utility-links li { margin-block: 12px; }
@media (max-width: 1100px) {
  .site-header { min-height: 76px; padding: 14px 20px; flex-wrap: nowrap; gap: 16px; }
  .site-header .logo img { width: 155px; height: 44px; }
  .menu-toggle { display: block; background: #fff; border: 1px solid #bbb; border-radius: 4px; padding: 10px 12px; font-size: 14px; }
  #navigation { display: none; }
  #navigation.open { display: flex; flex-direction: column; align-items: stretch; gap: 0; position: absolute; top: 100%; left: 0; right: 0; padding: 8px 24px 20px; background: #fff; max-height: calc(100dvh - 76px); overflow-y: auto; border-bottom: 1px solid #ddd; box-shadow: 0 8px 16px #0001; }
  #navigation > a, .nav-group summary { padding: 12px 0; }
  .nav-dropdown { position: static; box-shadow: none; padding: 0 16px 12px; min-width: 0; }
}
@media (max-width: 760px) {
  .site-footer .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-footer .footer-grid > div:first-child { grid-column: auto; }
}
@media (max-width: 480px) {
  .site-header { padding: 12px; gap: 8px; }
  .site-header .logo img { width: 90px; height: 40px; }
  .header-actions { gap: 8px; }
  .header-search { display: none; }
  #navigation .mobile-search { display: block; }
  .header-cta { font-size: 12px; white-space: normal; max-width: 142px; padding: 8px 10px; line-height: 1.3; text-align: center; }
  .menu-toggle { padding: 10px 8px; }
  .site-footer .footer-grid { grid-template-columns: 1fr; }
  .utility-search > div { flex-wrap: wrap; }
  .utility-search input { flex-basis: 100%; }
}
