.contact-overview{padding:clamp(48px,6vw,86px) 0;background:#fff}
.contact-board{display:grid;gap:20px}
.contact-board__top{display:grid;grid-template-columns:minmax(330px,.78fr) minmax(0,1.22fr);gap:20px}
.contact-offices{display:grid;gap:20px}
.contact-office,.contact-direct,.contact-map{border:1px solid #d8e1ec;border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(17,48,94,.07)}
.contact-office{display:grid;grid-template-columns:120px minmax(0,1fr);gap:28px;align-items:center;min-height:210px;padding:28px}
.contact-office__icon{display:grid;width:120px;height:150px;place-items:center;border-radius:15px;background:#eaf2ff;color:#1558d6}
.contact-office__icon svg{width:76px;height:76px;stroke:currentColor;stroke-width:1.45;fill:none}
.contact-office h2,.contact-direct h2,.contact-map h2{color:#082569;font-weight:820;letter-spacing:-.035em}
.contact-office h2{font-size:clamp(1.45rem,2vw,2rem);line-height:1.08}
.contact-office address{margin-top:18px;color:#202b3c;font-size:clamp(.95rem,1.45vw,1.2rem);font-style:normal;line-height:1.55}
.contact-direct{padding:32px 38px}
.contact-direct h2{font-size:clamp(1.65rem,2.35vw,2.25rem);line-height:1.1}
.contact-direct__list{margin-top:18px}
.contact-direct__row{display:grid;grid-template-columns:42px minmax(145px,.72fr) 26px minmax(0,1.28fr);gap:12px;align-items:center;min-height:67px;border-bottom:1px solid #d9e1ed;color:#202b3c}
.contact-direct__row:last-child{border-bottom:0}
a.contact-direct__row{transition:background-color 180ms ease}
a.contact-direct__row:hover,a.contact-direct__row:focus-visible{outline:0;background:#f7faff}
.contact-direct__icon{position:relative;display:grid;width:34px;height:34px;place-items:center;color:#155bd7}
.contact-direct__icon>svg{width:31px;height:31px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;fill:none}
.contact-direct__icon--whatsapp{color:#08ad36}
.contact-direct__icon--whatsapp>svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:1.7}
.contact-direct__icon--teams{color:#5b61d6}
.contact-direct__icon--teams>span{position:absolute;z-index:1;left:0;display:grid;width:22px;height:24px;place-items:center;border-radius:4px;background:#5258c9;color:#fff;font-size:.82rem;font-style:normal;font-weight:850}
.contact-direct__icon--teams>svg{position:absolute;right:-3px;width:27px;height:27px;fill:#777ce5;stroke:none}
.contact-direct__row>span{font-size:clamp(.92rem,1.25vw,1.08rem)}
.contact-direct__row>b{font-weight:500;text-align:center}
.contact-direct__row>strong{overflow-wrap:anywhere;color:#155bd7;font-size:clamp(.92rem,1.25vw,1.08rem);font-weight:500}
.contact-map{padding:26px 20px 20px}
.contact-map h2{display:flex;align-items:center;gap:13px;padding:0 5px 16px;font-size:clamp(1.3rem,2vw,1.75rem)}
.contact-map h2 svg{flex:0 0 auto;width:35px;height:35px;fill:#1761d5;stroke:#1761d5;stroke-width:1.5}
.contact-map h2 svg circle{fill:#fff;stroke:#fff}
.map-frame{display:block;width:100%;min-height:clamp(420px,45vw,560px);border:1px solid #b9cce7;border-radius:14px;background:#dce5ee}
@media(max-width:1050px){
  .contact-board__top{grid-template-columns:minmax(290px,.7fr) minmax(0,1.3fr)}
  .contact-office{grid-template-columns:88px minmax(0,1fr);gap:20px;min-height:190px;padding:22px}
  .contact-office__icon{width:88px;height:126px}
  .contact-office__icon svg{width:60px;height:60px}
  .contact-direct{padding:28px}
  .contact-direct__row{grid-template-columns:38px minmax(110px,.62fr) 18px minmax(0,1.38fr);gap:8px}
}
@media(max-width:820px){
  .contact-board__top{grid-template-columns:1fr}
  .contact-offices{grid-template-columns:1fr 1fr}
  .contact-office{grid-template-columns:76px minmax(0,1fr);min-height:176px;padding:20px}
  .contact-office__icon{width:76px;height:116px}
  .contact-office__icon svg{width:54px;height:54px}
}
@media(max-width:620px){
  .contact-overview{padding:34px 0 54px}
  .contact-board,.contact-board__top,.contact-offices{gap:14px}
  .contact-offices{grid-template-columns:1fr}
  .contact-office,.contact-direct,.contact-map{border-radius:15px;box-shadow:0 5px 16px rgba(17,48,94,.06)}
  .contact-office{grid-template-columns:82px minmax(0,1fr);gap:18px;min-height:0;padding:19px}
  .contact-office__icon{width:82px;height:108px;border-radius:12px}
  .contact-office__icon svg{width:55px;height:55px}
  .contact-office h2{font-size:1.35rem}
  .contact-office address{margin-top:10px;font-size:.9rem;line-height:1.48}
  .contact-direct{padding:22px 18px}
  .contact-direct h2{font-size:1.6rem}
  .contact-direct__list{margin-top:12px}
  .contact-direct__row{grid-template-columns:34px minmax(0,.76fr) minmax(0,1.24fr);gap:9px;min-height:62px}
  .contact-direct__row>b{display:none}
  .contact-direct__icon{width:30px;height:30px}
  .contact-direct__icon>svg{width:27px;height:27px}
  .contact-direct__row>span,.contact-direct__row>strong{font-size:.86rem;line-height:1.35}
  .contact-map{padding:19px 12px 12px}
  .contact-map h2{gap:9px;padding:0 3px 14px;font-size:1.18rem;line-height:1.2}
  .contact-map h2 svg{width:29px;height:29px}
  .map-frame{min-height:390px;border-radius:11px}
}
@media(max-width:390px){
  .contact-office{grid-template-columns:70px minmax(0,1fr);gap:15px;padding:16px}
  .contact-office__icon{width:70px;height:96px}
  .contact-office__icon svg{width:48px;height:48px}
  .contact-office h2{font-size:1.2rem}
  .contact-office address{font-size:.84rem}
  .contact-direct__row{grid-template-columns:30px minmax(0,.68fr) minmax(0,1.32fr);gap:7px}
  .contact-direct__row>span,.contact-direct__row>strong{font-size:.78rem}
}
