/* Client corrections, 05.10.2026. Typography uses the public site references.
   Salpama remains unchanged for elements outside these corrections. */
@font-face{font-family:Klinin;src:url('../fonts/Klinin-Book.otf') format('opentype');font-weight:400;font-display:swap}
@font-face{font-family:Klinin;src:url('../fonts/Klinin-Medium.otf') format('opentype');font-weight:500;font-display:swap}

.section-title,.contact-section h2{
  font-family:Klinin,Arial,sans-serif;font-weight:500;color:#282828;letter-spacing:normal;
}
.section-title{font-size:48px;line-height:1.1}
.hero-description,.team-description,.contacts-intro,.form-intro{
  font-family:Klinin,Arial,sans-serif;font-weight:400;color:#707685;
  font-size:20px;line-height:32px;letter-spacing:.02em;
}
.team-card{text-align:left}
.team-card h3{
  font-family:Klinin,Arial,sans-serif;font-weight:400;font-size:18px;line-height:32px;
  letter-spacing:normal;color:#282828;margin:24px 0 16px;
}
.team-card p{
  font-family:Klinin,Arial,sans-serif;font-weight:400;font-size:16px;line-height:28px;
  letter-spacing:normal;color:#707685;margin:0;max-width:none;
}
.team-grid{margin-top:48px}
.team-description{margin-top:18px}
.contacts-intro{margin-top:12px}
.menu-current{font-weight:700}
.menu-divider{height:1px;background:#e2e2e2}
.site-menu nav{max-height:calc(100dvh - 100px);overflow-y:auto}
.footer-inner{grid-template-rows:66px minmax(150px,auto) 142px 26px}
.submit-status{font-size:16px;line-height:26px;margin-top:16px;color:#b91b32}
.name-phone-row,.field--email,.field--comment{margin-top:16px}
.field label{margin-bottom:8px}
.field--phone label,.field--phone input{font-weight:400}
.form-submit{margin-top:24px}
.form-submit[disabled]{opacity:.65;cursor:wait}
.service-form-panel[aria-busy=true] .form-tabs{pointer-events:none}
@media(max-width:1100px) and (min-width:768px){.footer-inner{grid-template-rows:auto}}
@media(max-width:767px){
  .section-title,.team .section-title,.advantages .section-title{font-size:32px;line-height:1.1}
  .hero-description,.team-description,.contacts-intro,.form-intro{font-size:16px;line-height:25.6px;letter-spacing:normal}
  .team-grid{margin-top:40px}
  .team-description{margin-top:12px}
  .contacts-intro{max-width:none}
  .form-intro{max-width:none}
  .team-card h3{font-size:14px;line-height:24px}
  .team-card p{font-size:12px;line-height:20px}
  .advantages .section-title{white-space:normal}
}

/* Corrections 08.10.2026: keep conjunction with its word and center badge text. */
.keep-together{white-space:nowrap}
.audience-badge{line-height:20px;text-align:center}
.audience-badge>span{display:block;transform:translateY(2px)}


/* Updated Figma logo grid, 12.10.2026: one 1px rule per outer edge and seam. */
.client-grid{
  border-top:1px solid #838383;
  border-left:1px solid #838383;
}
.client-grid figure,.client-grid .client-empty{
  border-right:1px solid #838383;
  border-bottom:1px solid #838383;
}
.client-grid figure{overflow:hidden}
.client-grid img{display:block}

/* Client review, 14.10.2026: keep the final desktop row right-aligned,
   while the empty first cell has no visible frame. */
.client-grid .client-empty{display:block;border:0}
.client-grid--desktop{border-left:0}
.client-grid--desktop figure:nth-of-type(5n+1):nth-of-type(-n+16){border-left:1px solid #838383}
.client-grid--desktop figure:nth-of-type(21){border-left:0;overflow:visible;position:relative}
.client-grid--desktop figure:nth-of-type(21)::before{
  content:"";position:absolute;top:0;bottom:0;left:-1px;width:1px;background:#838383;
}
.clients-cta{border-top:0}
@media(min-width:768px){
  .clients-cta{border-left:0;position:relative;overflow:visible}
  .clients-cta::before{
    content:"";position:absolute;top:0;bottom:0;left:-1px;width:1px;background:#838383;
  }
}

/* Lighter contact cards and form typography from the approved visual reference. */
.contact-cards{gap:12px}
.contact-card{
  min-height:88px;padding:18px 20px;grid-template-columns:48px minmax(0,1fr);gap:16px;
  background:#fff;border:1px solid #e2e2e2;border-radius:10px;
}
.contact-icon{width:48px;height:48px;border-radius:10px}
.contact-icon img{width:24px;height:24px}
.contact-card h3{
  margin:0;color:#707685;font-family:Klinin,Arial,sans-serif;
  font-size:12px;line-height:16px;font-weight:400;letter-spacing:.04em;
}
.contact-card a,.contact-card p{
  margin-top:3px;font-family:Klinin,Arial,sans-serif;font-size:17px;line-height:22px;font-weight:400;
}
.contact-card--office{min-height:96px}
.service-form-panel{
  min-height:0;padding:30px 24px 24px;background:#fafafa;border:1px solid #ededed;border-radius:12px;
}
.service-form-panel h2{font-family:Klinin,Arial,sans-serif;font-weight:500}
.form-intro{font-size:16px;line-height:24px;margin-top:4px}
.form-tabs{gap:8px;margin-top:18px}
.form-tabs button{
  min-height:44px;padding:10px 20px;border-radius:24px;
  font-family:Klinin,Arial,sans-serif;font-size:14px;line-height:20px;font-weight:400;
}
.service-fields{margin-top:16px}
.field label{
  margin-bottom:4px;font-family:Klinin,Arial,sans-serif;
  font-size:13px;line-height:20px;font-weight:400;color:#707685;
}
.field input,.field textarea,.topic-select>button{
  min-height:52px;padding:13px 18px;border-color:#d1d1d1;border-radius:8px;
  font-family:Klinin,Arial,sans-serif;font-size:16px;line-height:24px;font-weight:400;color:#282828;
}
.field input::placeholder,.field textarea::placeholder{color:#707685;opacity:1;font-weight:400}
.field--phone label,.field--phone input{font-weight:400}
.topic-select>button{min-height:52px;padding-right:48px}
.topic-select>img{right:18px;width:22px;height:11px}
.topic-select ul{font-family:Klinin,Arial,sans-serif;font-size:16px;line-height:22px;font-weight:400}
.field textarea{height:96px;min-height:96px;padding-top:14px}
.form-submit{min-height:54px;margin-top:20px;font-size:16px;font-weight:500}

@media(max-width:767px){
  .contact-cards{gap:12px;margin-top:24px}
  .contact-card{min-height:70px;padding:12px 14px;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:center}
  .contact-icon{width:44px;height:44px;border-radius:9px}
  .contact-icon img{width:22px;height:22px}
  .contact-card h3{margin:0;font-size:10px;line-height:14px;white-space:normal}
  .contact-card a,.contact-card p{margin-top:2px;font-size:14px;line-height:19px;font-weight:400}
  .contact-card--office{min-height:82px}
  .contact-card--office h3{margin-top:0}
  .service-form-panel{padding:24px 18px;margin-top:28px;background:#fafafa;border:1px solid #ededed;border-radius:12px}
  .service-form-panel h2{max-width:none}
  .form-intro{max-width:none;margin-top:8px;font-size:14px;line-height:21px;color:#707685}
  .form-tabs{margin-top:18px;gap:8px}
  .form-tabs button{min-height:44px;padding:10px 14px;border-width:1px;font-size:13px;line-height:18px;font-weight:400}
  .service-fields{margin-top:18px}
  .field label{margin-bottom:4px;font-size:13px;line-height:18px}
  .field input,.field textarea,.topic-select>button{min-height:50px;padding:12px 16px;font-size:15px;line-height:22px;font-weight:400}
  .topic-select>button{min-height:50px;padding-right:44px}
  .topic-select>img{right:16px;width:20px;height:10px}
  .name-phone-row{margin-top:12px}
  .name-phone-row .field+.field{margin-top:16px}
  .field--email,.field--comment{margin-top:12px}
  .field textarea{height:92px;min-height:92px;padding-top:13px}
  .form-submit{min-height:52px;margin-top:20px;font-size:16px}
}

@media(max-width:359px){
  .form-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .form-tabs button{width:100%;min-width:0;padding-inline:6px;font-size:12px;white-space:normal}
}
