/* White home sections and a full-width, contrasting footer. */
#kanzopt-design .ko-benefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(100%, 980px);
  margin: 24px auto 0;
  padding: 0;
  gap: 14px;
}
#kanzopt-design .ko-benefit {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
  min-height: 90px;
  padding: 18px 20px;
  background: #fff;
  border: 1px solid #e1e9ef;
  border-radius: 14px;
}
#kanzopt-design .ko-benefits .ko-benefit-icon {
  display: grid;
  place-items: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  border-radius: 13px;
  background: #edf7fb;
  color: #087b9f;
}
#kanzopt-design .ko-benefit-icon svg { width: 25px; height: 25px; color: inherit; }
#kanzopt-design .ko-benefit-copy { min-width: 0; }
#kanzopt-design .ko-benefit-copy strong { display: block; color: #173548; font-size: 15px; font-weight: 600; line-height: 1.5; }
#kanzopt-design .ko-benefit-copy small { display: block; color: #485f6f; font-size: 13px; line-height: 1.6; margin-top: 3px; }
@media (min-width: 651px) and (max-width: 900px) {
  #kanzopt-design .ko-benefit { flex-direction: column; text-align: center; gap: 12px; padding: 18px 12px; }
}
@media (max-width: 650px) {
  #kanzopt-design .ko-benefits { grid-template-columns: 1fr; max-width: 480px; gap: 10px; margin-top: 20px; }
  #kanzopt-design .ko-benefit { min-height: 80px; padding: 15px 18px; }
}
#kanzopt-design .ko-home > .ko-home-panel {
  --ko-soft: #485f6f;
  --ko-ink: #173548;
  background: #fff;
  color: var(--ko-ink);
  border: 1px solid #e1e9ef;
  border-radius: 20px;
  padding: clamp(24px, 2.3vw, 44px);
  margin: 30px 0;
}
#kanzopt-design .ko-home > .ko-home-panel:last-child { margin-bottom: 0; }
#kanzopt-design .ko-home-panel .ko-section-heading { margin-top: 0; margin-bottom: 24px; }
#kanzopt-design .ko-category-section.ko-home-panel .ko-section-heading { flex-wrap: wrap; gap: 12px; }
#kanzopt-design .ko-home-panel .ko-directory,
#kanzopt-design .ko-home-panel .ko-directory-extra,
#kanzopt-design .ko-home-panel .ko-service-grid { margin: 0; }
#kanzopt-design .ko-home-panel .ko-directory-more { color: #086d90; }
#kanzopt-design .ko-home-panel .ko-eyebrow,
#kanzopt-design .ko-home-panel .ko-text-button,
#kanzopt-design .ko-home-panel .ko-visit-mail { color: #086d90; }
#kanzopt-design .ko-home-panel .ko-primary { background: #087b9f; color: #fff; }
#kanzopt-design .ko-home-panel .ko-primary:hover { background: #075e7b; }
#kanzopt-design .ko-home-panel.ko-about { gap: clamp(28px, 5vw, 80px); }
#kanzopt-design .ko-home-panel .ko-history { background: #f0f7fb; border: 1px solid #dce8ef; }
#kanzopt-design .ko-home-panel .ko-brand-word { font-size: clamp(17px, 1.55vw, 29px); }
#kanzopt-design .ko-home-panel .ko-brand-hatber .ko-brand-word { font-size: clamp(24px, 1.85vw, 34px); }
#kanzopt-design .ko-home-panel .ko-brand-tile:hover { background: #f7fbfd; }
#kanzopt-design .ko-home-panel .ko-visit-contact,
#kanzopt-design .ko-home-panel .ko-visit-extra { border-color: #dce6ed; }

#kanzopt-design .ko-site-footer {
  --ko-soft: #cfdee8;
  --ko-line: #ffffff26;
  background: #16364a;
  color: #fff;
}
#kanzopt-design .ko-site-footer .ko-footer-grid {
  background: transparent;
  border-top: 0;
  padding-top: 46px;
  padding-bottom: 32px;
  gap: 30px;
}
#kanzopt-design .ko-site-footer .ko-footer-brand { color: #fff; }
#kanzopt-design .ko-site-footer h3 { color: #fff; font-size: 14px; }
#kanzopt-design .ko-site-footer .ko-footer-grid p,
#kanzopt-design .ko-site-footer .ko-footer-grid a { color: #cfdee8; font-size: 13px; line-height: 1.8; }
#kanzopt-design .ko-site-footer .ko-footer-grid a:hover { color: #9be4f3; text-decoration: underline; }
#kanzopt-design .ko-site-footer a:focus-visible { outline: 2px solid #9be4f3; outline-offset: 4px; }
#kanzopt-design .ko-site-footer .ko-foot {
  background: transparent;
  border-top: 1px solid #ffffff26;
  color: #cfdee8;
  padding-top: 18px;
  padding-bottom: 22px;
}
@media (max-width: 1100px) {
  #kanzopt-design .ko-home-panel .ko-brand-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
  #kanzopt-design .ko-home > .ko-home-panel { padding: 22px; border-radius: 16px; margin-top: 24px; margin-bottom: 24px; }
  #kanzopt-design .ko-home-panel .ko-brand-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #kanzopt-design .ko-home-panel .ko-brand-tile { padding: 20px 12px 16px; }
  #kanzopt-design .ko-site-footer .ko-footer-grid { padding-top: 32px; gap: 22px; }
}
@media (max-width: 400px) {
  #kanzopt-design .ko-home > .ko-home-panel { padding: 18px; }
}
