/* Scoped funnel improvements shared by RU / EN and service pages. */
.product-transform .showcase > * { min-width: 0; max-width: 100%; }
.product-transform .showcase { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.product-transform .section-title { overflow-wrap: anywhere; }
.lead-form-note { font: 400 14px/1.5 Montserrat, Arial, sans-serif; color: #52616a; }
.contact-modal-form textarea { width: 100%; box-sizing: border-box; border: 0; border-bottom: 1px solid #999; padding: 12px 0; color: #101822; background: transparent; font: inherit; resize: vertical; }
.contact-modal-form input, .phone-field { min-width: 0; max-width: 100%; }
.lead-form-error { color: #a12727; font: 500 14px/1.5 Montserrat, Arial, sans-serif; }
.contact-modal-dialog #contact-modal-title { font-size: clamp(27px, 4vw, 42px); line-height: 1.08; }
.mobile-menu-toggle { display: none; }
.privacy-choices { position: fixed; z-index: 2100; left: 20px; right: 20px; bottom: 16px; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 22px; border: 1px solid #c3c7c7; border-radius: 18px; background: #f3f1e8; color: #101822; box-shadow: 0 8px 32px #0003; font: 400 13px/1.5 Montserrat,Arial,sans-serif; }
.privacy-choices[hidden] { display: none; }
.privacy-choices p { margin: 0; max-width: 720px; }
.privacy-choices a { text-decoration: underline; }
.privacy-choices > div { display: flex; gap: 10px; flex-shrink: 0; }
.privacy-choices button { border: 1px solid #919a9e; border-radius: 24px; padding: 12px 16px; background: transparent; color: #101822; font: 600 12px Montserrat,Arial,sans-serif; cursor: pointer; }
.privacy-choices [data-consent="accepted"] { background: #65c7e6; }
.privacy-settings { border: 0; padding: 8px 0; text-decoration: underline; color: inherit; background: transparent; font: inherit; cursor: pointer; }
.case-project-context { margin-top: 22px; }
.case-project-context dt { font-weight: 700; margin-top: 18px; }
.case-project-context dd { margin: 4px 0 0; }
.case-card a.case-details { display: inline-block; color: inherit; font: 500 13px/1.5 Montserrat,Arial,sans-serif; text-decoration: underline; margin-top: 10px; }
@media (max-width:800px) {
  .product-transform .showcase { grid-template-columns: minmax(0,1fr); }
  .top-right { gap: 12px; }
  .mobile-menu-toggle { display: inline-flex; padding: 9px 10px; background: transparent; border: 1px solid #ffffff55; border-radius: 20px; color: #fff; font: 500 12px Montserrat,Arial,sans-serif; }
  .top-right nav.is-open { display: flex; position: absolute; top: 100%; left: 0; right: 0; padding: 18px 24px; background: #101822; flex-direction: column; align-items: stretch; gap: 0; border-top: 1px solid #ffffff33; max-height: 70vh; overflow-y: auto; }
  .top-right nav.is-open a { padding: 12px 0; }
  .top .brand { flex-shrink: 0; }
  .top .top-right { min-width: 0; }
  .privacy-choices { left: 12px; right: 12px; bottom: 12px; flex-direction: column; align-items: stretch; gap: 12px; padding: 16px; }
  .privacy-choices > div { flex-wrap: wrap; }
  .privacy-choices button { flex: 1; }
}
.contact-grid > *, .contact-list > * { min-width: 0; }
.contact-item a { overflow-wrap: anywhere; }
@media (max-width: 800px) {
  .contact-grid { grid-template-columns: minmax(0, 1fr); }
  .contact-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .social-links { flex-wrap: wrap; }
}
@media (max-width: 360px) {
  .top { padding-left: 14px; padding-right: 14px; }
  .top .brand { font-size: 20px; }
  .top-right { gap: 8px; }
  .mobile-menu-toggle { padding: 8px; font-size: 11px; }
  .phone-link { font-size: 11px; }
}
@media(max-width:800px) {
 .avatar-quiz-btn { min-width: 0; max-width: 100%; white-space: normal; }
 .avatar-quiz-card > * { min-width: 0; }
}
@media(max-width:800px) {
 .hero-grid, .compare { grid-template-columns: minmax(0,1fr); }
 .hero-grid > *, .compare > * { min-width: 0; }
 .hero h1, .compare-card h3 { overflow-wrap: anywhere; }
 .hero .actions .btn { min-width: 0; max-width: 100%; white-space: normal; }
 .cases-header { flex-wrap: wrap; }
 .cases-titles { min-width: 0; }
}
@media(max-width:360px) { .hero h1 { font-size: 40px; } }
@media(max-width:800px) { .section-title { overflow-wrap: anywhere; } }
@media(max-width:360px) { .section-title { font-size: 36px; } }
