.krv-contact-block{--accent:#315fe8;--accent-hover:#244ac2;--accent-bg:#eef3fb;--border-soft:#d8e0ee;--text-main:#172133;--text-soft:#52627d;--card-bg:#fff;--card-radius:16px;--card-shadow:0 8px 24px rgba(23, 33, 51, 0.06);--card-shadow-hover:0 8px 24px rgba(23, 33, 51, 0.10);max-width:1100px;margin:30px auto;padding:0 12px;background:transparent;font-family:var(--krv-font-sans, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);}
.krv-contact-block, .krv-contact-block *{box-sizing:border-box;}
.krv-contact-grid{display:grid;grid-template-columns:minmax(0, 1fr) minmax(300px, 340px);gap:24px;align-items:stretch;}
.krv-contact-card, .krv-contact-image-card{background:var(--card-bg);border:1px solid #d8e0ee;border-radius:var(--card-radius);box-shadow:var(--card-shadow);}
.krv-contact-card{padding:28px 24px;display:flex;flex-direction:column;justify-content:center;}
.krv-contact-title{margin:0 0 12px;font-size:clamp(1.8rem, 3vw, 2.4rem);line-height:1.2;color:#172133;text-align:left;}
.krv-contact-lead{margin:0 0 24px;font-size:1rem;line-height:1.6;color:var(--text-soft);text-align:left;}
.krv-contact-list{display:grid;gap:12px;}
.krv-contact-item{display:flex;align-items:center;justify-content:flex-start;gap:12px;min-height:58px;padding:12px 16px;background:#f7f9fc;border:1px solid var(--border-soft);border-radius:14px;transition:background 200ms ease, border-color 200ms ease, transform 200ms ease;}
.krv-contact-item:hover{background:var(--accent-bg);border-color:var(--accent);transform:translateY(-1px);}
.krv-contact-icon{width:22px;height:22px;color:var(--accent);flex:0 0 22px;display:inline-flex;align-items:center;justify-content:center;}
.krv-contact-icon svg{width:100%;height:100%;display:block;fill:currentColor;}
.krv-contact-item a{color:#315fe8;text-decoration:none;font-weight:500;line-height:1.35;word-break:break-word;transition:color 200ms ease;}
.krv-contact-item a:hover{color:#244ac2;}
.krv-contact-image-card{padding:12px;display:flex;align-items:center;justify-content:center;transition:box-shadow 200ms ease, transform 200ms ease;}
.krv-contact-image-card:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-2px);}
.krv-contact-home-link{display:block;width:100%;text-decoration:none;color:inherit;}
.krv-contact-image-wrap{position:relative;width:100%;border-radius:16px;overflow:hidden;background:#fff;}
.krv-contact-image{display:block;width:100%;height:auto;max-height:440px;object-fit:contain;object-position:center;border-radius:16px;}
.krv-contact-caption{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);max-width:calc(100% - 24px);padding:8px 12px;border-radius:10px;background:#fff;color:var(--text-main);font-size:0.86rem;line-height:1.35;font-weight:500;text-align:center;box-shadow:0 8px 24px rgba(23, 33, 51, 0.06);}
@media(max-width:900px){
.krv-contact-grid{grid-template-columns:1fr;}
.krv-contact-image-card{max-width:420px;width:100%;margin:0 auto;}
} @media(max-width:600px){
.krv-contact-block {
margin: 20px auto;
padding: 0 8px;
}
.krv-contact-grid {
gap: 16px;
}
.krv-contact-card {
padding: 18px 14px;
}
.krv-contact-title {
font-size: clamp(1.8rem, 3vw, 2.4rem);
}
.krv-contact-lead {
font-size: 0.94rem;
margin-bottom: 18px;
}
.krv-contact-item {
min-height: 52px;
padding: 10px 12px;
gap: 10px;
}
.krv-contact-icon {
width: 20px;
height: 20px;
flex-basis: 20px;
}
.krv-contact-item a {
font-size: 0.95rem;
}
.krv-contact-image-card {
padding: 8px;
}
.krv-contact-caption {
font-size: 0.76rem;
bottom: 8px;
padding: 6px 10px;
}
}