/* Contact interaction and glyph geometry. Native controls own content/style. */
.twc-about-page .elementor-widget-text-editor p:last-child { margin-bottom:0; }
.twc-about-page .elementor-widget-text-editor ul { padding-left:24px; margin:0; }
.twc-about-page .elementor-widget-text-editor li + li { margin-top:10px; }
.twc-team-contacts .elementor-icon-list-item:not(:has(a[href])) { display:none; }
.twc-team-contacts:not(:has(a[href])) { display:none; }
.twc-team-contacts a { overflow-wrap:anywhere; }
.twc-team-card { min-width:0; }
.twc-team-contacts .elementor-icon-list-items { width:fit-content; max-width:100%; margin-inline:auto; }
.twc-team-contacts .elementor-icon-list-icon { align-items:center; flex-shrink:0; }
.twc-team-contacts .elementor-icon-list-icon i { display:flex; align-items:center; justify-content:center; width:var(--e-icon-list-icon-size,1em); line-height:1; }
.twc-team-contacts .elementor-icon-list-icon i::before { display:block; line-height:1; }
.twc-team-contacts .elementor-icon-list-icon svg { display:block; }
.twc-team-contacts .elementor-icon-list-text { min-width:0; padding-inline-start:0; }
@media (min-width:768px) and (hover:hover) {
  /* Both states size the same grid cell, including wrapped editorial contacts. */
  .twc-team-card:has(.twc-team-contacts a[href]) .twc-team-details { display:grid; grid-template-columns:minmax(0,1fr); align-items:center; gap:0; }
  .twc-team-card:has(.twc-team-contacts a[href]) :is(.twc-team-identity,.twc-team-contacts) { grid-area:1 / 1; width:100%; transition:opacity 220ms ease,transform 220ms ease; }
  .twc-team-card:has(.twc-team-contacts a[href]) .twc-team-contacts { opacity:0; transform:translateY(6px); pointer-events:none; }
  .twc-team-card:has(.twc-team-contacts a[href]):is(:hover,:focus-within) .twc-team-identity { opacity:0; transform:translateY(-6px); pointer-events:none; }
  .twc-team-card:has(.twc-team-contacts a[href]):is(:hover,:focus-within) .twc-team-contacts { opacity:1; transform:translateY(0); pointer-events:auto; }
}
.elementor-editor-active .twc-team-card .twc-team-details { display:flex!important; gap:12px!important; }
.elementor-editor-active .twc-team-card :is(.twc-team-contacts,.twc-team-identity) { opacity:1!important; transform:none!important; transition:none!important; pointer-events:auto!important; }
.elementor-editor-active .twc-team-contacts:not(:has(a[href])) { display:block; }
.elementor-editor-active .twc-team-contacts .elementor-icon-list-item { display:flex; }
.twc-team-contacts a:focus-visible,.twc-about-gallery a:focus-visible { outline:2px solid currentColor; outline-offset:4px; }
@media(max-width:767px) { .twc-about-hero .elementor-widget-text-editor span { display:block; } }
@media(prefers-reduced-motion:reduce) { .twc-team-card :is(.twc-team-contacts,.twc-team-identity) { transition:none!important; transform:none!important; } }
/* The saved team role text is 13px on phones; apply the shared minimum. */
@media(max-width:760px) {
  body .twc-about-page .twc-team-identity .elementor-element.elementor-widget-text-editor { font-size:14px; }
}
