/* Shared responsive typography and spacing for the independent site. */
:root {
  --site-body-size: clamp(16px, 1.1vw + 10px, 18px);
  --site-h1: clamp(28px, 2.5vw + 18px, 46px);
  --site-h2: clamp(26px, 1.7vw + 18px, 40px);
  --site-gutter: clamp(16px, 3vw, 32px);
  --site-block-gap: clamp(40px, 5vw, 72px);
  --site-content-gap: clamp(24px, 3vw, 40px);
}
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { font-family: 'SiteSans', Arial, sans-serif; }
#allrecords :is(.t-title, .t-heading, .t-name, .t-descr, .t-text, input, textarea, select, button),
.site-consent, .site-form-status, .site-load-error {
  font-family: 'SiteSans', Arial, sans-serif;
}
#allrecords :is(.t-text, .t-descr) {
  font-size: var(--site-body-size);
  line-height: 1.55;
  overflow-wrap: anywhere;
}
#allrecords :is(.t-text, .t-descr) [style*="font-size"] { font-size: inherit !important; }
#allrecords h1.t-title {
  font-size: var(--site-h1) !important;
  line-height: 1.15 !important;
  overflow-wrap: anywhere;
}
#allrecords h2:is(.t-title, .t-heading) {
  font-size: var(--site-h2) !important;
  line-height: 1.2 !important;
  overflow-wrap: anywhere;
}
#allrecords .t-card__title {
  font-size: clamp(18px, 1vw + 12px, 22px);
  line-height: 1.3;
  overflow-wrap: anywhere;
}
#allrecords :is(h1, h2, h3) [style*="font-size"] { font-size: inherit !important; }
#allrecords .t-section__title { margin-bottom: var(--site-content-gap) !important; }
#allrecords .t-section__container:has(.t-section__descr) .t-section__title { margin-bottom: 16px !important; }
#allrecords .t-section__descr { margin-bottom: var(--site-content-gap) !important; }
#allrecords :is(.t-rec_pt_60, .t-rec_pt_75, .t-rec_pt_90, .t-rec_pt_105, .t-rec_pt_120, .t-rec_pt_135, .t-rec_pt_150, .t-rec_pt_165, .t-rec_pt_180, .t-rec_pt_195, .t-rec_pt_210) {
  padding-top: var(--site-block-gap) !important;
}
#allrecords :is(.t-rec_pb_60, .t-rec_pb_75, .t-rec_pb_90, .t-rec_pb_105, .t-rec_pb_120, .t-rec_pb_135, .t-rec_pb_150, .t-rec_pb_165, .t-rec_pb_180, .t-rec_pb_195, .t-rec_pb_210) {
  padding-bottom: var(--site-block-gap) !important;
}
#allrecords :is(.t-rec_pt_30, .t-rec_pt_45) { padding-top: var(--site-content-gap) !important; }
#allrecords :is(.t-rec_pb_30, .t-rec_pb_45) { padding-bottom: var(--site-content-gap) !important; }
/* These cards already use the responsive grid; zoom introduced breakpoint jumps. */
#allrecords .t-record_scaled { zoom: 1 !important; --t-zoom: 1 !important; max-width: none !important; }
#allrecords :is(.t189__descr, .t-cover .t-descr) { font-size: var(--site-body-size); line-height: 1.55; }
#allrecords .t189__title { margin-bottom: 24px; }
#allrecords .t189__wrapper { padding-block: 0; }
#allrecords .t189__descr { padding-top: 0; }
#allrecords .t189__buttons-wrapper { display: flex; flex-wrap: wrap; gap: 12px; margin: 24px 0 0; }
#allrecords .t189__buttons-wrapper :is(.t-btn, .t-btnflex) { margin: 0; }
#allrecords .t220__textwrapper {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
  padding: var(--site-content-gap);
}
#allrecords :is(.t-btn, .t-btnflex, .t-submit) {
  box-sizing: border-box;
  max-width: 100%;
  min-height: 48px;
  height: auto;
  font-size: 16px;
  line-height: 1.35;
  white-space: normal;
  overflow-wrap: anywhere;
  padding: 14px 24px;
}
#allrecords .t-btnflex__text { white-space: normal; }
#allrecords :is(.t-input, .t-select, textarea) {
  box-sizing: border-box;
  max-width: 100%;
  min-height: 48px;
  font-size: 16px !important;
  line-height: 1.5;
}
#allrecords textarea { min-height: 112px; resize: vertical; }
#allrecords :is(.t-input-title, .t-input-subtitle) { font-size: 16px !important; line-height: 1.45; }
#allrecords .t-input-block { min-width: 0; }
#allrecords .t-input-group { margin-bottom: 20px; }
.site-consent { font-size: 14px; line-height: 1.5; }
.site-consent input { flex: 0 0 auto; }
.site-consent span { min-width: 0; overflow-wrap: anywhere; }
#allrecords .t-upwidget-container__button { max-width: 100%; white-space: normal; height: auto; line-height: 1.5 !important; padding: 12px 16px; }
#allrecords .t-form__bottom-text { font-size: 14px !important; line-height: 1.5; }
#allrecords .t-popup:not(.site-article-dialog):not(.site-image-dialog):not(.site-service-dialog) .t-popup__container {
  width: min(560px, calc(100% - 32px));
  max-width: calc(100% - 32px);
  margin-top: max(64px, env(safe-area-inset-top));
  margin-inline: auto;
  margin-bottom: 32px;
  padding-top: 0;
}
#allrecords .t977__text { font-size: 14px; line-height: 1.5; }
#allrecords .t977__descr { font-size: 16px; line-height: 1.6; }
#allrecords .t977__col-inner { min-width: 0; overflow-wrap: anywhere; }
#allrecords .t886__wrapper { box-sizing: border-box; max-width: calc(100vw - 32px); gap: 16px; }
#allrecords .t886__text { font-size: 14px; line-height: 1.5; }
#allrecords .t886__btn { flex-shrink: 0; min-height: 44px; padding: 10px 20px; }
@media (max-width: 980px) {
  #allrecords .t1272 .t-menu-base__maincontainer { padding: 72px 24px 32px; }
  #allrecords .t1272 .t-menu__link-item { font-size: 18px; line-height: 1.4; }
  #allrecords .t1272 :is(.t-menusub__menu, .t-menusub__innermenu) { max-width: 100%; }
  #allrecords .t1272 :is(.t-menusub__link-item, .t-menusub__innermenu-link) { white-space: normal; font-size: 16px; line-height: 1.45; }
}
@media (max-width: 960px) {
  #allrecords .t-col[class*="t-prefix_"] { padding-left: 20px; }
  #allrecords .t1206__card { padding: 24px; }
  #allrecords .t1206__card-text-wrap { min-width: 0; }
}
@media (max-width: 640px) {
  #allrecords .t189__wrapper { padding-left: 0; padding-right: 0; }
  #allrecords .t1206__card_icon-left { display: flex; flex-direction: column; gap: 16px; }
  #allrecords .t1206__card-icon-wrap { width: 56px; flex: 0 0 auto; margin: 0; padding: 0; }
  #allrecords .t1206__card-text-wrap { padding: 0; width: 100%; }
  #allrecords .t-popup:not(.site-article-dialog):not(.site-image-dialog):not(.site-service-dialog) .t-popup__container { max-width: calc(100% - 24px); }
  #allrecords .t-popup .t-popup__container .t702__wrapper { padding: 28px 20px; }
  #allrecords .t886 { right: 16px !important; left: 16px !important; bottom: max(16px, env(safe-area-inset-bottom)); }
  #allrecords .t886__wrapper { width: 100% !important; padding: 16px; align-items: flex-start; flex-wrap: wrap; }
  #allrecords .t886__text { flex: 1 1 220px; }
  #allrecords .t898 { right: 16px; bottom: max(16px, env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
