:root{
  --bg:#D7DBE0;          /* asphalt gray */
  --card:#FFFFFF;
  --text:#111418;
  --muted:#5a6572;
  --primary:#1f6fff;
  --chip:#E6EBF2;
  --btn:#F3F6F9;
  --btn-hover:#E9EEF4;
  --ring: rgba(31,111,255,.25);
}

*{box-sizing:border-box}
html,body{height:100%}

body{
  margin:0;
  font-family: 'Inter', ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background: var(--bg);
  color:var(--text);
}

.page{
  min-height: 100vh;             
  display: flex;
  justify-content: center;
  align-items: flex-start;        
  padding: clamp(20px, 6vh, 60px) 24px;  
}


.card{
  width:min(1100px, 94vw);            
  padding:28px 28px 26px;
  background: var(--card);
  border-radius:18px;
  position:relative;
  box-shadow: 0 18px 40px rgba(0,0,0,.12), 0 2px 8px rgba(0,0,0,.06);
}

.lang{
  position:absolute; top:16px; right:16px;
  display:flex; gap:8px;
}

.chip{
  padding:6px 10px;
  background:var(--chip);
  color:var(--muted);
  border:0; border-radius:999px;
  cursor:pointer; font-weight:600;
}
.chip.active{ outline:2px solid var(--primary); color:var(--text); }

.avatar{
  display:block;
  width:160px; height:160px;
  object-fit:cover; border-radius:16px;
  margin:8px 0 12px;
  box-shadow: 0 8px 20px rgba(0,0,0,.12);
}

h1{
  margin:0 0 6px;
  font-size: clamp(26px, 3vw, 34px); 
}

.tagline{
  margin:4px 0 22px;
  color:var(--muted);
  font-size:clamp(16px, 2.2vw, 20px);   
  text-align:center;                   
  line-height:1.5;
  white-space:normal;                 
}


@media (min-width:720px){
  .card{display:grid; grid-template-columns: 200px 1fr; gap:28px; align-items:center}
  .avatar{grid-row: span 2}
}
@media (min-width: 900px){
  .tagline{
    white-space: nowrap;           
    overflow: hidden;
    text-overflow: ellipsis;       
    font-size:15px;                
  }
}

.contacts{
  display:grid; gap:12px; margin-top:10px;
  grid-template-columns: repeat(2, minmax(0,1fr));
}
@media (min-width:720px){
  .contacts{grid-column: 2; grid-template-columns: repeat(4, minmax(0,1fr))}
}

.contact-btn{
  display:flex; align-items:center; gap:10px;
  background:var(--btn); color:var(--text);
  text-decoration:none; padding:12px 14px; border-radius:12px;
  border:1px solid #dde3ea;
  transition: .2s ease;
}
.contact-btn:hover{
  background:var(--btn-hover);
  border-color:var(--ring);
  box-shadow:0 0 0 6px var(--ring);
}

.icon{width:20px; height:20px; display:inline-grid; place-items:center}
.icon svg{width:20px; height:20px}

/* Бренд-цвета иконок */
.contact-btn.inst .icon svg { fill:#E4405F; }  
.contact-btn.tg   .icon svg { fill:#26A5E4; }  
.contact-btn.mail .icon svg { fill:#EA4335; }  
.contact-btn.phone .icon svg{ fill:#10B981; }

.card .note{
  font-size: 20px !important;
  font-weight: 500 !important;
  text-align: center;
  line-height: 1.5;
  white-space: normal;
}

@media (min-width:720px){
  .note{
    grid-column: 1 / -1;
  }
}

.card .tagline{
  font-size: 20px !important;
  font-weight: 500 !important;
  text-align: center;
  white-space: normal;
  line-height: 1.5;
}