/* v3.3.42 diagnostic reset for TCE – Hero Manifesto 2025 only.
   No font sizes, text alignment, width constraints or padding overrides.
   Elementor's generated controls own those properties. */
.uhm3-hero.tce-hero-preset { position:relative; display:flex; align-items:center; isolation:isolate; overflow:hidden; min-height:320px; }
.uhm3-hero.tce-hero-preset, .uhm3-hero.tce-hero-preset * { box-sizing:border-box; }
.tce-hero-preset > .uhm3-media { position:absolute; inset:0; z-index:0; overflow:hidden; pointer-events:none; }
.tce-hero-preset .uhm3-picture, .tce-hero-preset .uhm3-media picture, .tce-hero-preset .uhm3-media img, .tce-hero-preset .uhm3-video { display:block; width:100%; height:100%; }
.tce-hero-preset .uhm3-picture, .tce-hero-preset .uhm3-video { position:absolute; inset:0; }
.tce-hero-preset .uhm3-media img, .tce-hero-preset .uhm3-video { object-fit:cover; }
.tce-hero-preset > .uhm3-overlay { position:absolute; inset:0; z-index:1; pointer-events:none; }
.tce-hero-preset > .uhm3-layers { position:absolute; inset:0; z-index:2; pointer-events:none; }
.tce-hero-preset .uhm3-layer { position:absolute; }
.tce-hero-preset .uhm3-layer img { max-width:100%; height:auto; }
.tce-hero-preset > .uhm3-content { position:relative; z-index:3; min-width:0; }
.tce-hero-preset .uhm3-eyebrow, .tce-hero-preset .uhm3-title, .tce-hero-preset .uhm3-body { margin:0; }
.tce-hero-preset .uhm3-title { overflow-wrap:normal; word-break:normal; }
.tce-hero-preset .uhm3-actions { display:flex; flex-wrap:wrap; gap:12px; }
.tce-hero-preset .uhm3-button, .tce-hero-preset .uhm3-button2 { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; }
.tce-hero-preset > .uhm3-top-fade, .tce-hero-preset > .uhm3-bottom-fade, .tce-hero-preset > .uhm3-bottom-shape { position:absolute; left:0; right:0; pointer-events:none; z-index:2; }
.tce-hero-preset > .uhm3-top-fade { top:0; }
.tce-hero-preset > .uhm3-bottom-fade, .tce-hero-preset > .uhm3-bottom-shape { bottom:0; }

/* v3.3.48: restore photographic layout controls without old typography overrides. */
.uhm3-hero.tce-hero-preset > .uhm3-media {
  inset:0 auto 0 auto; left:var(--uhm-photo-anchor,100%);
  transform:translateX(calc(-1 * var(--uhm-photo-anchor,100%)));
  width:var(--tce-photo-width-default,53%); height:100%;
}
.uhm3-hero.tce-hero-preset > .uhm3-media img {
  object-position:var(--uhm-photo-align,center center);
  transform-origin:var(--uhm-photo-align,center center);
  transform:scale(var(--uhm-photo-zoom,1));
}
.uhm3-hero.tce-hero-preset > .uhm3-media.uhm3-soft {
  -webkit-mask-image:linear-gradient(var(--uhm3-fade-direction,to right),transparent var(--uhm3-fade-start,0%),black var(--uhm3-fade,12%));
  mask-image:linear-gradient(var(--uhm3-fade-direction,to right),transparent var(--uhm3-fade-start,0%),black var(--uhm3-fade,12%));
}
.uhm3-hero.tce-hero-preset > .uhm3-media.uhm3-wide {
  -webkit-mask-image:linear-gradient(var(--uhm3-fade-direction,to right),transparent var(--uhm3-fade-start,0%),black min(100%,calc(var(--uhm3-fade,12%) * 3.75)));
  mask-image:linear-gradient(var(--uhm3-fade-direction,to right),transparent var(--uhm3-fade-start,0%),black min(100%,calc(var(--uhm3-fade,12%) * 3.75)));
}
.uhm3-hero.tce-hero-preset > .uhm3-media.uhm3-sharp { -webkit-mask-image:none;mask-image:none; }
/* v3.3.49: exclusive breakpoint layouts; no typography or width overrides. */
@media (min-width:1025px) {
  .uhm3-hero.tce-hero-preset > .uhm3-media { height:100%; }
}
@media (min-width:768px) and (max-width:1024px) {
  .uhm3-hero.tce-hero-preset > .uhm3-media { height:100%; }
  .tce-hero-preset .uhm3-hide-tablet { display:none; }
}
@media (max-width:767px) {
  .uhm3-hero.tce-hero-preset { flex-direction:column; }
  .tce-hero-preset > .uhm3-content { order:1; }
  .tce-hero-preset .uhm3-hide-mobile { display:none; }
  .uhm3-hero.tce-hero-preset > .uhm3-media { height:100%; }
}

/* v4.0.1: one layout authority. Do not override Elementor width, padding or margins. */
.uhm3-hero.tce-hero-preset {
  display:flex;
  flex-direction:row;
  justify-content:var(--tce-horizontal, left);
  align-items:var(--tce-vertical, center);
}
.uhm3-hero.tce-hero-preset > .uhm3-content {
  position:relative;
  min-width:0;
}
@media (max-width:767px) {
  .uhm3-hero.tce-hero-preset { flex-direction:row; }
}
