/* Original fonts, colors, layouts and breakpoints: assets/source-*.css. */
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
[hidden] { display: none !important; }
:focus-visible { outline: 2px solid #59799a; outline-offset: 5px; }
.map svg .map-el--js:focus { outline: none; }
html.keyboard-navigation .map svg .map-el--js:focus circle:first-of-type { stroke: #153A94; stroke-width: 3; }
.map .map__city-info { width: 100%; grid-template-columns: 1fr; transform: none; transition: none; }
.main-values__list, .offers-team-swiper__swiper, .about-us-hero__container-full, .about-us-values .swiper {
  overflow-x: auto; scrollbar-width: none; cursor: grab; touch-action: pan-x pan-y;
}
.main-values__list::-webkit-scrollbar, .offers-team-swiper__swiper::-webkit-scrollbar,
.about-us-hero__container-full::-webkit-scrollbar, .about-us-values .swiper::-webkit-scrollbar,
.main-specialization__list::-webkit-scrollbar { display: none; }
.main-values__list > .swiper-wrapper, .offers-team-swiper__swiper > .swiper-wrapper,
.about-us-hero__container-full > .swiper-wrapper, .about-us-values .swiper > .swiper-wrapper { gap: 24px; height: auto; }
.offers-team-swiper__swiper > .swiper-wrapper { gap: 16px; }
/* Match the captured nested selector so native touch scrolling is not hidden. */
.offers-team-swiper .offers-team-swiper__swiper { overflow-x: auto; overflow-y: hidden; }
.offers-team-swiper .offers-team-swiper__image-wrapper::before { content: none; }
.offers-team-swiper__name a { color: inherit; font: inherit; text-decoration: none; }
.offers-team-swiper__name a:focus-visible { outline-offset: -2px; }
.offers-team-swiper__swiper .swiper-slide { flex: 0 0 calc((100% - 40px) / 3.5); width: calc((100% - 40px) / 3.5); }
.about-us-hero__container-full .swiper-slide { flex: 0 0 calc(100% / 3); width: calc(100% / 3); }
.about-us-hero__container-full > .swiper-wrapper { gap: 0; }
.about-us-values .swiper-slide { flex-shrink: 0; }
.dragging, .dragging * { cursor: grabbing !important; user-select: none; }
@media (max-width: 1199px) {
  .header.open .mobile-menu { display: block; max-height: calc(100dvh - 70px); overflow-y: auto; }
}
.header .burger { appearance: none; }
.header .burger-wrapper { display: block; }

.demo-form textarea { resize: vertical; }
.knowledge-hub-loader--js { display: none !important; }
.video iframe { display: block; width: 100%; height: 100%; border: 0; }
.member-profile-page .member-hero--no-photo { grid-template-columns: 1fr; }
.map svg .map-el--js.active circle:nth-of-type(3), .map svg .map-el--js:hover circle:nth-of-type(3) { fill: #153A94; transition: fill 0.3s ease; }
.play_button, .main-item, .accordion-item { cursor: pointer; }
.podcasts .podcasts__text-content .podcasts__author a { display: inline; color: inherit; font-weight: inherit; }
@media (max-width: 1023px) {
  .offers-team-swiper__swiper .swiper-slide { flex-basis: calc((100% - 16px) / 2); width: calc((100% - 16px) / 2); }
  .main-specialization__list { overflow-x: auto; scrollbar-width: none; cursor: grab; }
  .main-specialization__list > .swiper-wrapper { display:flex; gap:16px; }
  .main-specialization__list .swiper-slide { flex: 0 0 343px; }
}
@media (max-width: 767px) {
  .main-values__list { overflow: visible; cursor: auto; }
  .offers-team-swiper__swiper .swiper-slide { flex-basis: 100%; width: 100%; }
  .about-us-hero__container-full .swiper-slide { flex-basis: 85%; width: 85%; }
}

/* Keep the original grid while blocking all controls until JS is ready. */
.demo-form .demo-form__fields { display: contents; }
.main-form .demo-form input:focus-visible,
.main-form .demo-form textarea:focus-visible,
.main-form .demo-form button:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.main-form .demo-form input[type="checkbox"]:focus-visible + span::before { outline: 2px solid #fff; outline-offset: 3px; }
.thank-you { text-align: center; padding-block: clamp(80px, 10vw, 144px); min-height: 65vh; }
.thank-you h1 { margin-bottom: 32px; }
.thank-you p { max-width: 760px; margin: 0 auto 40px; }
.thank-you__button { display: inline-flex; justify-content: center; background: #283c4e; color: #f8f8fa; }

.main-form .main-form__right .demo-form p.contact-form-status { grid-column: 1 / -1; color: #fff; margin: 0; }
.demo-form .contact-form-status:empty { display: none; }
.demo-form button:disabled { opacity: .65; cursor: wait; }

.main-form .demo-form .contact-turnstile { grid-column: 1 / -1; min-width: 0; width: 100%; }

/* Local knowledge search controls retain captured typography and geometry. */
.knowledge-hub-banner__categories button.knowledge-hub-banner__category { font: inherit; font-weight: 600; padding-inline: 0; padding-top: 0; }
.knowledge-hub-banner__search button.knowledge-hub-clear-btn { appearance: none; border: 0; padding: 0; font: inherit; line-height: inherit; color: inherit; background: transparent; }
.knowledge-hub-banner__search .knowledge-hub-clear-btn:disabled { pointer-events: none; }
.knowledge-hub-banner__search input:focus-visible,
.knowledge-hub-banner__search button:focus-visible,
.knowledge-hub-banner__categories button:focus-visible { outline: 2px solid #59799a; outline-offset: 5px; }
#knowledge-hub-results-status { margin-bottom: 16px; }

/* Per-contact preference: discourages manual selection, not HTML scraping. */
[data-copyable="false"] { user-select: none; -webkit-user-select: none; color: inherit; text-decoration: none; }

/* W9: profile list text must fit the available small-screen column. */
@media (max-width: 1023px) {
  .member-profile-page .member-hero { grid-template-columns: minmax(0, 2fr) minmax(clamp(164px, 25.07vw, 361px), 1fr); }
  .member-profile-page .member-hero > *,
  .member-profile-page .description-item,
  .member-profile-page .description-item li > * { min-width: 0; }
  .member-profile-page .description-item li { grid-template-columns: 40px minmax(0, 515px); }
  .member-profile-page .description-item li,
  .member-profile-page .member-hero__text-content { overflow-wrap: anywhere; }
  .member-profile-page .member-hero picture,
  .member-profile-page .member-hero img { max-width: 100%; min-width: 0; }
}
@media (max-width: 767px) {
  .member-profile-page .member-hero { grid-template-columns: minmax(0, 1fr); }
}

/* Profile P0: standard outer frame, with the existing compact composition inside. */
.tam.member-profile-page .member-details {
  width: 100%;
  max-width: 1440px;
  margin-inline: auto;
  padding-inline: 60px;
  overflow: visible;
}
.tam.member-profile-page .member-hero,
.tam.member-profile-page .member-info {
  width: 100%;
  max-width: 938px;
  margin-inline: auto;
}
.tam.member-profile-page .member-hero {
  grid-template-columns: minmax(0, 2fr) minmax(clamp(164px, 25.07vw, 361px), 1fr);
}
.tam.member-profile-page .member-info__description { width: 100%; max-width: 648px; }
/* Paint a full-width band without making the content or its photo column wider. */
.tam.member-profile-page .member-hero__text-content::before,
.tam.member-profile-page .member-hero__photo::before {
  width: 100%;
  left: 0;
  box-shadow: 0 0 0 100vmax #283C4E;
  clip-path: inset(0 -100vmax);
}
@media (max-width: 1023px) {
  .tam.member-profile-page .member-details { padding-inline: 32px; }
}
@media (max-width: 767px) {
  .tam.member-profile-page .member-details { padding-inline: 16px; }
  .tam.member-profile-page .member-hero { grid-template-columns: minmax(0, 1fr); }
}

/* W13: contrast overrides limited to dark Services panels and the privacy table. */
.offers-accordion .list .item:focus-visible,
.offers-accordion .list .item :focus-visible { outline-color: #9bb7d4; }
.offers-accordion .list .item:focus-visible { outline-offset: -2px; }
.privacy-policy .privacy-table { --text-grey-table: #696969; }
.privacy-policy .privacy-table { scroll-margin-top: 90px; }
.privacy-policy .privacy-table:focus-visible { outline: 3px solid #59799a; outline-offset: -3px; }

/* Static error document uses the existing typography and button palette. */
.not-found { padding-top: 140px; padding-bottom: 80px; min-height: 60vh; }
.not-found h1, .not-found p { margin-bottom: 24px; }
.not-found .page__button { display: inline-block; }

/* P6: semantic text keeps the captured heading presentation. */
.p6-h3 { font-family: var(--font-title), sans-serif; font-weight: 500; color: var(--text-dark-color); margin: 0; font-size: clamp(18px, 1.53vw, 22px); line-height: 1.4545; }
.p6-h4 { font-family: var(--font-title), sans-serif; font-weight: 500; color: var(--text-dark-color); margin: 0; font-size: 18px; line-height: 1.33; }
.main-hero__value .p6-h3, .podcast-hero__title-wrapper .p6-h3, .main-form__top .p6-h3 { color: var(--text-body-white); }
.main-form__top .p6-h3 { color: var(--white); }
.about-us-values__title .p6-h3 { width: 50%; max-width: 514px; }
.about-us-work__item > .p6-h3 { color: var(--border-color); }
.ptc__desc .p6-h3 { color: #3E576C; }
.contact-partners__name-block .p6-h3 { color: var(--text-body-white); }
.member-profile-page .description-item > .p6-h3 { font-weight: 600; font-size: 24px; }
.p6-question-heading { margin: 0; }
.about-us-company-reason__question { width: 100%; }
.about-us-company-reason__question .p6-question-text { font-family: var(--font-title), sans-serif; font-size: 22px; line-height: 32px; font-weight: 500; color: var(--text-dark-color); text-align: left; }
@media (max-width: 1023px) {
  .about-us-values__title .p6-h3 { max-width: 342px; }
  .about-us-company-reason__question .p6-question-text { font-size: 18px; line-height: 24px; }
}
@media (max-width: 767px) { .about-us-values__title .p6-h3 { width: 100%; max-width: unset; } }
.skip-link { transition: none; position: fixed; top: 12px; left: 12px; z-index: 10000; padding: 12px 18px; background: #fff; color: #283c4e; transform: translateY(calc(-100% - 24px)); }
.skip-link:focus { transform: none; outline: 2px solid #283c4e; outline-offset: 3px; }

.main-hero__info-wrapper .p6-h3 { color: var(--background-color); }
.main-hero__top-block .p6-h3 { grid-column: span 4; }
@media (max-width: 1023px) { .main-hero__top-block .p6-h3 { grid-column: 1 / -1; } }
.p6-h3[data-copyable="false"] { color: inherit; }

/* Contact's static photo follows its source ratio; Podcast retains its video frame. */
.page-id-2927 .podcast-hero__video-wrapper { padding-top: 0; }
.page-id-2927 .podcast-hero__video-wrapper picture { display: block; }
.page-id-2927 .podcast-hero__video-wrapper img { position: static; display: block; width: 100%; height: auto; object-fit: contain; }

/* Contact partners keep their existing card geometry within the site frame. */
.contact-partners .contact-partners__list-block { width: 100%; max-width: 1440px; margin-inline: auto; }
/* Tablet gutters belong to the complete cards, never to one partner's data. */
@media (max-width: 1023px) {
  .contact-partners .contact-partners__list-block { padding-inline: 32px; }
}
@media (max-width: 767px) {
  .contact-partners .contact-partners__list-block { padding-inline: 0; }
}
#contact-partners .contact-partners__list-block > ul > li .contact-partners__info-block {
  padding-left: 0;
  min-width: 0;
}
#contact-partners .contact-partners__list-block > ul > li .contact-partners__image-block a { left: 16px; }
.contact-partners .contact-partners__contact-block {
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 16px 24px;
}
.contact-partners .contact-partners__contact-block > * { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }

/* P11: persistent labels, without changing the existing field grid or controls. */
.demo-form .contact-field-label { display: block; margin-bottom: 6px; font: inherit; font-size: 14px; line-height: 1.5; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition: none !important;
    animation: none !important;
  }
}
