/* Coordinated footer, transparent contact controls and real product recommendations. */
.kv-refresh main.kh .kh-apps.kv-application-section {
  background:#f4f7f9!important;
}
.kv-refresh main.kh .kh-apps.kv-application-section .kv-application-row,
.kv-refresh main.kh .kh-apps.kv-application-section .kv-application-copy {
  background:transparent!important;
}
.kv-refresh .kv-home-products>.kh-wrap { max-width:1320px!important; padding-block:0!important; }
.kv-refresh .kv-home-family-grid.kh-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:25px!important; margin-top:30px!important; }
.kv-refresh .kv-home-family.kh-card { display:flex; flex-direction:column; border-radius:2px!important; text-decoration:none; }
.kv-home-family-photo { display:grid; place-items:center; background:#fff; overflow:hidden; }
.kv-refresh .kv-home-family img { display:block; width:100%; height:245px!important; object-fit:contain!important; }
.kv-refresh .kv-home-family .kv-home-family-copy { position:relative; padding:20px 49px 22px 22px!important; min-height:93px; display:flex; align-items:center; border-top:1px solid #eef1f4; flex:1; background:#fff; transition:background-color 250ms cubic-bezier(.22,1,.36,1),border-color 250ms; }
.kv-refresh .kv-home-family h3 { font-size:23px!important; line-height:1.25!important; font-weight:600; margin:0!important; color:#2c4558; transition:color 200ms; }
.kv-home-family-arrow { position:absolute; right:22px; top:50%; transform:translateY(-50%); color:#9cabb7; font-size:24px; transition:color 200ms,transform 250ms cubic-bezier(.22,1,.36,1); }
.kv-refresh .kv-home-family:is(:hover,:focus-visible) .kv-home-family-copy { background:#1755a0; border-top-color:#1755a0; }
.kv-refresh .kv-home-family:is(:hover,:focus-visible) h3,.kv-home-family:is(:hover,:focus-visible) .kv-home-family-arrow { color:#fff; }
.kv-home-family:is(:hover,:focus-visible) .kv-home-family-arrow { transform:translate(3px,-50%); }
.kv-refresh .kv-home-family.kh-card:is(:hover,:focus-visible) { border-color:#1755a0!important; }
.kv-home-family:focus-visible { outline:3px solid #1755a0; outline-offset:4px; }
.kv-home-family-footer { display:flex; justify-content:center; margin-top:32px; }
.kv-home-family-all { display:inline-flex; align-items:center; gap:30px; padding:12px 20px; min-height:48px; border:1px solid #bdcbd6; color:#314e64; text-decoration:none; font-size:16px; font-weight:600; }
.kv-home-family-all:hover { color:#c82d32; border-color:#c82d32; }
@media (min-width:768px) and (max-width:1023px) {
 .kv-refresh .kv-home-family-grid.kh-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
 .kv-refresh .kv-home-family img { height:220px!important; }
}
@media (max-width:767px) {
 .kv-refresh .kv-home-family-grid.kh-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:15px 12px!important; }
 .kv-refresh .kv-home-family img { height:145px!important; }
 .kv-refresh .kv-home-family .kv-home-family-copy { min-height:87px; padding:14px 25px 16px 12px!important; }
 .kv-refresh .kv-home-family h3 { font-size:17px!important; }
 .kv-home-family-arrow { right:8px; font-size:18px; }
 .kv-home-family-footer { margin-top:25px; }
}
@media (max-width:359px) {
 .kv-refresh .kv-home-family-grid.kh-grid { grid-template-columns:1fr!important; }
 .kv-refresh .kv-home-family img { height:200px!important; }
 .kv-refresh .kv-home-family .kv-home-family-copy { min-height:76px; padding-inline:17px 40px!important; }
 .kv-refresh .kv-home-family h3 { font-size:21px!important; }
 .kv-home-family-arrow { right:16px; }
}
.kv-refresh .kyhf-footer {
  padding-block: 62px 0 !important;
  background: #18242f !important;
}
.kv-refresh .kyhf-footer-grid {
  display: grid !important;
  grid-template-columns: minmax(0,1.05fr) minmax(0,1.3fr) minmax(0,.65fr) !important;
  gap: clamp(40px,5vw,94px) !important;
  align-items: start !important;
}
.kv-refresh .kyhf-footer-grid > div { min-width: 0; }
.kv-refresh .kv-footer-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #fff !important;
  text-decoration: none;
  margin-bottom: 20px;
  font: 700 30px/1 Barlow,sans-serif;
  letter-spacing: .02em;
}
.kv-refresh .kv-footer-brand img {
  display: block;
  width: 62px !important;
  height: 54px !important;
  object-fit: contain;
  flex: 0 0 auto;
}
.kv-refresh .kv-footer-brand span {
  color: #fff;
  font: 700 30px/1 Barlow,sans-serif !important;
  letter-spacing: .02em;
}
.kv-refresh .kyhf-footer .kv-footer-intro {
  max-width: 300px;
  font-size: 17px !important;
  line-height: 1.65;
  margin: 0 0 25px;
  color: #c7d3de !important;
}
.kv-refresh .kyhf-footer .kv-footer-follow {
  color: #fff !important;
  font-size: 14px !important;
  margin: 0 0 10px;
  font-weight: 600;
}
.kv-footer-socials { display: flex; gap: 12px; flex-wrap: wrap; }
.kv-refresh .kv-social-icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid #8195a754;
  border-radius: 3px;
  color: #d9e5f0 !important;
  background: transparent;
  transition: color 200ms,border-color 200ms,background-color 200ms;
}
.kv-social-icon svg { display: block; width: 21px; height: 21px; }
.kv-refresh a.kv-social-icon:hover { background: #234a8d; border-color: #819abe; color: #fff !important; }
.kv-refresh .kv-social-icon[aria-disabled=true] { opacity: .35; cursor: default; }
.kv-refresh .kyhf-footer h3 { margin: 5px 0 22px !important; font-size: 22px !important; font-weight: 600; }
.kv-refresh .kyhf-footer-list { padding: 0 !important; margin: 0 !important; list-style: none; }
.kv-refresh .kyhf-footer-list li { margin: 0 0 12px; line-height: 1.7; }
.kv-refresh .kyhf-footer-list a { text-decoration: none; }
.kv-refresh .kyhf-footer-list a:hover { color: #fff !important; text-decoration: underline; }
.kv-refresh .kyhf-footer-bottom {
  margin-top: 44px !important;
  padding: 23px 0 !important;
  display: flex !important;
  justify-content: space-between;
  gap: 24px;
  font-size: 13px !important;
  line-height: 1.6;
  color: #a8bac9;
}
.kv-refresh .kv-contact-trigger,
.kv-refresh .kv-contact-control:hover .kv-contact-trigger,
.kv-refresh .kv-contact-control.is-open .kv-contact-trigger {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  color: #c82d32 !important;
}
.kv-refresh .kv-contact-trigger svg {
  filter: drop-shadow(0 1px 1px #ffffffad);
}
.kv-refresh .kv-contact-control:hover .kv-contact-trigger,
.kv-refresh .kv-contact-control.is-open .kv-contact-trigger { transform: scale(1.12); }
.kv-refresh .kv-contact-trigger:focus-visible { outline-color: #c82d32; outline-offset: 1px; }
.kv-refresh .kv-real-recommendations .krs-grid { align-items: stretch; }
.kv-refresh .kv-real-recommendations .krs-card { display: flex; flex-direction: column; overflow: hidden; }
.kv-refresh .kv-real-recommendations .kv-recommend-photo {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1000 / 660;
  object-fit: contain;
  background: #fff;
}
.kv-refresh .kv-real-recommendations .krs-card-body { flex: 1; }
.kv-news-card-grid {
  --kv-blog-blue: #234a8d;
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 28px 24px;
  padding-top: 12px;
}
.kv-refresh .kv-news-card-grid .kv-blog-card {
  display: block;
  min-width: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
}
.kv-refresh .kv-news-card-grid .kv-enter { min-width: 0; }
@media (min-width: 1800px) {
  .kv-news-card-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@media (min-width: 640px) and (max-width: 1199px) {
  .kv-news-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 639px) {
  .kv-news-card-grid { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 1023px) {
  .kv-refresh .kyhf-footer-grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important; gap: 40px; }
  .kv-footer-brand-column { grid-column: 1 / -1; }
  .kv-refresh .kyhf-footer .kv-footer-intro { max-width: 440px; }
}
@media (max-width: 1100px) {
  .kv-refresh .kv-site-header .kyhf-nav-links {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    overscroll-behavior: contain;
  }
}
@media (max-width: 639px) {
  .kv-refresh .kyhf-footer { padding-top: 44px !important; }
  .kv-refresh .kyhf-footer-grid { grid-template-columns: 1fr !important; gap: 34px !important; }
  .kv-refresh .kyhf-footer-bottom { flex-direction: column; gap: 8px; margin-top: 32px !important; }
  .kv-refresh .kv-footer-brand { font-size: 28px; }
  .kv-refresh .kv-footer-brand span { font-size: 28px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .kv-home-family .kv-home-family-copy,.kv-home-family h3,.kv-home-family-arrow { transition:none!important; }
  .kv-home-family:is(:hover,:focus-visible) .kv-home-family-arrow { transform:translateY(-50%); }
  .kv-refresh .kv-home-family:is(:hover,:focus-visible) img { transform:none!important; }
  .kv-social-icon,.kv-contact-trigger { transition: none !important; }
  .kv-refresh .kv-contact-control:hover .kv-contact-trigger { transform: none; }
}
