/* Team page only (wp-page--lang-team, owner 1405/08/11): roles story cards + scroll motion (js/team-page.js). */
.wp-page--lang-team .wp-sec { overflow-x: clip; }

/* One-line intro band between managers and roles. */
.wp-page--lang-team #sec-267 { padding-block: clamp(30px, 4vw, 54px) !important; background: #fff !important; }
.wp-page--lang-team #sec-267 .wp-typo-desc {
  margin: 0 auto !important; max-width: 46rem; text-align: center !important;
  font-size: clamp(1.15rem, 2vw, 1.55rem) !important; font-weight: 800 !important; line-height: 1.9 !important;
  color: #1e1b4b !important;
}
.wp-page--lang-team #sec-267 .wp-typo-desc::before,
.wp-page--lang-team #sec-267 .wp-typo-desc::after {
  content: ""; display: inline-block; vertical-align: middle; width: 42px; height: 2px; margin-inline: .9rem;
  background: linear-gradient(90deg, transparent, #f26a1b);
}
.wp-page--lang-team #sec-267 .wp-typo-desc::after { background: linear-gradient(270deg, transparent, #f26a1b); }

/* Roles section: intro + alternating story cards (built by team-page.js from the admin rich text). */
.wp-page--lang-team .tm-roles { --tm-accent: #4338ca; --tm-orange: #f26a1b; max-width: 1120px; margin: 0 auto; text-align: start; }
.wp-page--lang-team .wp-sec--features:has(.tm-roles) { padding-block: clamp(48px, 6vw, 92px) !important; }
.wp-page--lang-team .wp-sec--features:has(.tm-roles) .wp-sec__head > .ec-lead { max-width: none !important; }
.wp-page--lang-team .tm-roles__intro {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: clamp(1.4rem, 3vw, 2.4rem) 0 clamp(2.4rem, 5vw, 4rem);
}
.wp-page--lang-team .tm-roles__point {
  position: relative; margin: 0; padding: 20px 22px 20px 20px; background: #fff; border: 1px solid #e6e9f5; border-radius: 20px;
  box-shadow: 0 20px 40px -34px rgba(30, 27, 75, .45); color: #334155; font-size: .98rem; line-height: 2.05;
}
.wp-page--lang-team .tm-roles__point::before {
  content: ""; position: absolute; inset-block: 20px; inset-inline-start: 0; width: 4px; border-radius: 4px; background: var(--tm-accent);
}
.wp-page--lang-team .tm-roles__point:nth-child(even)::before { background: var(--tm-orange); }
.wp-page--lang-team .tm-roles__point:nth-child(even):last-child { grid-column: 1 / -1; }
.wp-page--lang-team .tm-roles__point--lead {
  grid-column: 1 / -1; background: linear-gradient(135deg, #1e1b4b 0%, #4338ca 100%); border: 0; color: #e0e7ff;
  font-size: clamp(1.02rem, 1.5vw, 1.15rem); padding: 26px 28px; text-align: center;
}
.wp-page--lang-team .tm-roles__point--lead::before { display: none; }
.wp-page--lang-team .tm-roles__point--lead strong { color: #fff; }
.wp-page--lang-team .tm-roles__point a, .wp-page--lang-team .tm-roles__point a span { color: #4338ca !important; }

.wp-page--lang-team .tm-roles__list { display: grid; gap: clamp(18px, 2.4vw, 28px); counter-reset: tmrole; }
.wp-page--lang-team .tm-role {
  position: relative; display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: clamp(14px, 2.4vw, 26px); align-items: start;
  width: min(100%, 860px); padding: clamp(20px, 2.6vw, 30px); background: #fff; border: 1px solid #e6e9f5; border-radius: 26px;
  box-shadow: 0 28px 56px -42px rgba(30, 27, 75, .55);
}
.wp-page--lang-team .tm-role:nth-child(odd) { justify-self: start; }
.wp-page--lang-team .tm-role:nth-child(even) { justify-self: end; }
.wp-page--lang-team .tm-role__num {
  display: grid; place-items: center; width: 92px; height: 92px; border-radius: 24px; color: #fff; font-size: 1.9rem; font-weight: 900;
  background: linear-gradient(150deg, #4338ca, #1e1b4b); box-shadow: 0 16px 30px -18px rgba(67, 56, 202, .9);
}
.wp-page--lang-team .tm-role:nth-child(even) .tm-role__num { background: linear-gradient(150deg, #f97316, #c2410c); box-shadow: 0 16px 30px -18px rgba(234, 88, 12, .9); }
.wp-page--lang-team .tm-role__title { margin: 0 0 .55rem; font-size: clamp(1.08rem, 1.7vw, 1.28rem); font-weight: 900; line-height: 1.75; color: #0f172a; }
.wp-page--lang-team .tm-role__title .text-big { font-size: inherit !important; }
.wp-page--lang-team .tm-role__body p { margin: 0 0 .6rem; color: #475569; font-size: .98rem; line-height: 2.05; }
.wp-page--lang-team .tm-role__body p:last-child { margin-bottom: 0; }
.wp-page--lang-team .tm-roles__sign {
  margin: clamp(2rem, 4vw, 3.2rem) auto 0; max-width: 46rem; text-align: center; font-weight: 800; color: #1e1b4b;
  font-size: clamp(1.02rem, 1.6vw, 1.2rem); line-height: 1.9;
}
@media (max-width: 720px) {
  .wp-page--lang-team .tm-roles__intro { grid-template-columns: 1fr; }
  .wp-page--lang-team .tm-role { grid-template-columns: 1fr; text-align: start; }
  .wp-page--lang-team .tm-role__num { width: 58px; height: 58px; border-radius: 18px; font-size: 1.3rem; }
}

/* Scroll motion: from a visible resting state only when JS ran and motion is allowed. */
@media (prefers-reduced-motion: no-preference) {
  .wp-page--lang-team .tm-r { opacity: 0; transition: opacity .8s cubic-bezier(.2,.7,.2,1), transform 1s cubic-bezier(.16,.84,.24,1); will-change: opacity, transform; }
  .wp-page--lang-team .tm-up { transform: translateY(28px); }
  .wp-page--lang-team .tm-rise { transform: translateY(44px) scale(.97); }
  .wp-page--lang-team .tm-left { transform: translateX(-110px); }
  .wp-page--lang-team .tm-right { transform: translateX(110px); }
  .wp-page--lang-team .tm-pop { transform: scale(.92); }
  .wp-page--lang-team .tm-r.tm-in { opacity: 1; transform: none; }
  @media (max-width: 720px) {
    .wp-page--lang-team .tm-left { transform: translateX(-48px); }
    .wp-page--lang-team .tm-right { transform: translateX(48px); }
  }
}
