/* P.D. Technology — Home Mobile Hero Clip Fix V26.3
   Additive, targeted fix. Does not alter desktop visual design or backend behavior. */

html,
body {
  max-width: 100%;
}

/* Modern browsers: clip accidental visual overflow without creating a horizontal scroll position. */
@supports (overflow: clip) {
  html,
  body {
    overflow-x: clip;
  }
}

/* Keep every known P.D. homepage hero generation inside the viewport. */
.hero-v3,
.x11-hero,
.x15-home-hero,
.v18-home-hero,
.v18-home-hero .shell,
.v18-home-hero .v18-hero-grid {
  min-width: 0;
}

.hero-v3-copy,
.x11-hero-copy,
.x15-home-copy,
.v18-hero-copy {
  min-width: 0;
  max-width: 100%;
}

.hero-v3-title,
.x11-display,
.x15-display,
.v18-display {
  max-width: 100%;
}

/* The reported defect occurs on narrow/mobile viewports:
   the oversized display headline can bleed beyond the left viewport edge. */
@media (max-width: 740px) {
  .hero-v3.shell,
  .x11-hero.shell,
  .x15-home-hero.shell,
  .v18-home-hero .shell,
  .v18-home-hero .v18-hero-grid {
    width: calc(100% - 28px) !important;
    max-width: calc(100% - 28px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .hero-v3,
  .x11-hero,
  .x15-home-hero,
  .v18-home-hero .v18-hero-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .hero-v3-copy,
  .x11-hero-copy,
  .x15-home-copy,
  .v18-hero-copy {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    transform-origin: center left;
  }

  .hero-v3-title,
  .x11-display,
  .x15-display,
  .v18-display {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    padding-left: 2px;
    padding-right: 2px;
    font-size: clamp(44px, 13.5vw, 64px) !important;
    line-height: 1.01 !important;
    letter-spacing: -0.045em !important;
    overflow: visible !important;
    overflow-wrap: normal;
    word-break: normal;
    text-wrap: balance;
  }

  .hero-v3-title .gradient-text,
  .x11-display em,
  .x15-display em,
  .v18-display em {
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
  }

  /* Prevent reveal transforms from temporarily pushing the hero title outside
     the narrow viewport while the first screen is animating in. */
  .hero-v3-title.reveal,
  .x11-display.reveal,
  .x15-display.reveal,
  .v18-display.reveal {
    transform: translateY(18px) scale(.996);
  }

  .hero-v3-title.reveal.is-visible,
  .x11-display.reveal.is-visible,
  .x15-display.reveal.is-visible,
  .v18-display.reveal.is-visible {
    transform: none;
  }
}

@media (max-width: 480px) {
  .hero-v3-title,
  .x11-display,
  .x15-display,
  .v18-display {
    font-size: clamp(42px, 13vw, 58px) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.04em !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-v3-title.reveal,
  .x11-display.reveal,
  .x15-display.reveal,
  .v18-display.reveal {
    opacity: 1 !important;
    transform: none !important;
  }
}
