.elementor .e-cc6d1a2-e6856b0{selector {
  position: relative;
  isolation: isolate;
  overflow: hidden;

  padding: clamp(40px, 5vw, 78px) clamp(22px, 5vw, 82px);

  background:
      radial-gradient(
          circle at 18% 45%,
          rgba(219, 38, 20, 0.18),
          transparent 34%
      ),
      radial-gradient(
          circle at 82% 35%,
          rgba(255, 255, 255, 0.055),
          transparent 32%
      ),
      linear-gradient(
          135deg,
          #090909 0%,
          #111111 52%,
          #050505 100%
      );

  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

/* Subtle background glow */
selector::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;

  background:
      linear-gradient(
          115deg,
          transparent 0%,
          rgba(214, 34, 18, 0.055) 42%,
          transparent 70%
      );

  pointer-events: none;
}

/* Soft diagonal texture */
selector::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;

  background-image:
      repeating-linear-gradient(
          -45deg,
          rgba(255, 255, 255, 0.018) 0,
          rgba(255, 255, 255, 0.018) 1px,
          transparent 1px,
          transparent 12px
      );

  opacity: 0.55;
  pointer-events: none;
}

/* =========================================================
 WELCOME LOGO
 ========================================================= */

selector .welcome-logo {
  position: relative;
  z-index: 2;
  margin-bottom: clamp(28px, 4vw, 48px);
  text-align: center;
}

selector .welcome-logo img {
  width: min(580px, 88%);
  filter:
      drop-shadow(0 8px 16px rgba(0, 0, 0, 0.8))
      drop-shadow(0 0 12px rgba(220, 36, 18, 0.22));

  animation: welcome-logo-float 5s ease-in-out infinite;
}

@keyframes welcome-logo-float {
  0%,
  100% {
      transform: translateY(0);
  }

  50% {
      transform: translateY(-5px);
  }
}

/* =========================================================
 PHOTO
 ========================================================= */

selector .welcome-photo {
  position: relative;
  z-index: 2;

  padding: 8px;
  border-radius: 18px;

  background:
      linear-gradient(
          145deg,
          rgba(230, 42, 21, 0.95),
          rgba(255, 255, 255, 0.12) 42%,
          rgba(230, 42, 21, 0.45)
      );

  box-shadow:
      0 24px 55px rgba(0, 0, 0, 0.58),
      0 0 34px rgba(225, 38, 18, 0.13);

  transition:
      transform 350ms cubic-bezier(0.22, 1, 0.36, 1),
      box-shadow 350ms ease;
}

selector .welcome-photo::after {
  content: "";
  position: absolute;
  inset: 8px;
  z-index: 2;

  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 11px;
  pointer-events: none;
}

selector .welcome-photo img {
  display: block;
  width: 100%;
  border-radius: 11px;

  filter:
      contrast(1.04)
      saturate(1.04);

  transition:
      transform 450ms cubic-bezier(0.22, 1, 0.36, 1),
      filter 450ms ease;
}

selector .welcome-photo:hover {
  transform:
      translateY(-7px)
      rotateY(2deg)
      rotateX(1deg);

  box-shadow:
      0 32px 70px rgba(0, 0, 0, 0.65),
      0 0 42px rgba(225, 38, 18, 0.22);
}

selector .welcome-photo:hover img {
  transform: scale(1.015);
  filter:
      contrast(1.07)
      saturate(1.08);
}

/* =========================================================
 COPY PANEL
 ========================================================= */

selector .welcome-copy {
  position: relative;
  z-index: 2;

  padding: clamp(28px, 4vw, 52px);

  background:
      linear-gradient(
          145deg,
          rgba(255, 255, 255, 0.055),
          rgba(255, 255, 255, 0.018)
      );

  border: 1px solid rgba(255, 255, 255, 0.10);
  border-left: 4px solid #e62b15;
  border-radius: 16px;

  box-shadow:
      0 24px 55px rgba(0, 0, 0, 0.38);

  backdrop-filter: blur(8px);
}

/* Red accent above copy */
selector .welcome-copy::before {
  content: "";
  display: block;

  width: 58px;
  height: 4px;
  margin-bottom: 22px;

  background:
      linear-gradient(
          90deg,
          #ef351d,
          #9d1609
      );

  border-radius: 999px;
  box-shadow: 0 0 16px rgba(230, 43, 21, 0.42);
}

/* Better typography */
selector .welcome-copy,
selector .welcome-copy p {
  color: rgba(255, 255, 255, 0.92);

  font-family: inherit;
  font-size: clamp(19px, 1.55vw, 27px);
  font-style: normal;
  font-weight: 400;
  line-height: 1.48;
  letter-spacing: -0.018em;
  text-align: left;
  text-wrap: pretty;
}

/* Emphasize the opening sentence */
selector .welcome-copy p::first-line {
  color: #ffffff;
  font-weight: 700;
}

/* Optional subtle hover */
selector .welcome-copy {
  transition:
      transform 300ms ease,
      border-color 300ms ease,
      box-shadow 300ms ease;
}

selector .welcome-copy:hover {
  transform: translateY(-4px);
  border-color: rgba(230, 43, 21, 0.42);

  box-shadow:
      0 30px 64px rgba(0, 0, 0, 0.46),
      0 0 0 1px rgba(230, 43, 21, 0.08);
}

/* =========================================================
 TABLET
 ========================================================= */

@media (max-width: 1024px) {
  selector {
      padding: 44px 26px 56px;
  }

  selector .welcome-copy {
      padding: 30px;
  }

  selector .welcome-copy,
  selector .welcome-copy p {
      font-size: 20px;
      line-height: 1.5;
  }
}

/* =========================================================
 MOBILE
 ========================================================= */

@media (max-width: 767px) {
  selector {
      padding: 34px 16px 42px;
  }

  selector .welcome-logo {
      margin-bottom: 28px;
  }

  selector .welcome-logo img {
      width: min(430px, 96%);
  }

  selector .welcome-photo {
      margin-bottom: 24px;
      padding: 6px;
      border-radius: 14px;
  }

  selector .welcome-photo img,
  selector .welcome-photo::after {
      border-radius: 9px;
  }

  selector .welcome-copy {
      padding: 24px 20px;
      border-left-width: 3px;
      border-radius: 13px;
  }

  selector .welcome-copy,
  selector .welcome-copy p {
      font-size: 18px;
      line-height: 1.55;
  }

  selector .welcome-photo:hover,
  selector .welcome-copy:hover {
      transform: none;
  }
}

/* =========================================================
 REDUCED MOTION
 ========================================================= */

@media (prefers-reduced-motion: reduce) {
  selector .welcome-logo img {
      animation: none;
  }

  selector .welcome-photo,
  selector .welcome-photo img,
  selector .welcome-copy {
      transition: none;
  }

  selector .welcome-photo:hover,
  selector .welcome-photo:hover img,
  selector .welcome-copy:hover {
      transform: none;
  }
}\n}.elementor .e-0a8aebf-78b17db{selector img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
}\n}.elementor .e-390be90-7b43e52{selector {
  position: relative;
  isolation: isolate;
  overflow: hidden;

  padding: clamp(40px, 5vw, 78px) clamp(22px, 5vw, 82px);

  background:
      radial-gradient(
          circle at 18% 45%,
          rgba(219, 38, 20, 0.18),
          transparent 34%
      ),
      radial-gradient(
          circle at 82% 35%,
          rgba(255, 255, 255, 0.055),
          transparent 32%
      ),
      linear-gradient(
          135deg,
          #090909 0%,
          #111111 52%,
          #050505 100%
      );

  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

/* Subtle background glow */
selector::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;

  background:
      linear-gradient(
          115deg,
          transparent 0%,
          rgba(214, 34, 18, 0.055) 42%,
          transparent 70%
      );

  pointer-events: none;
}

/* Soft diagonal texture */
selector::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;

  background-image:
      repeating-linear-gradient(
          -45deg,
          rgba(255, 255, 255, 0.018) 0,
          rgba(255, 255, 255, 0.018) 1px,
          transparent 1px,
          transparent 12px
      );

  opacity: 0.55;
  pointer-events: none;
}

/* =========================================================
 WELCOME LOGO
 ========================================================= */

selector .welcome-logo {
  position: relative;
  z-index: 2;
  margin-bottom: clamp(28px, 4vw, 48px);
  text-align: center;
}

selector .welcome-logo img {
  width: min(580px, 88%);
  filter:
      drop-shadow(0 8px 16px rgba(0, 0, 0, 0.8))
      drop-shadow(0 0 12px rgba(220, 36, 18, 0.22));

  animation: welcome-logo-float 5s ease-in-out infinite;
}

@keyframes welcome-logo-float {
  0%,
  100% {
      transform: translateY(0);
  }

  50% {
      transform: translateY(-5px);
  }
}

/* =========================================================
 PHOTO
 ========================================================= */

selector .welcome-photo {
  position: relative;
  z-index: 2;

  padding: 8px;
  border-radius: 18px;

  background:
      linear-gradient(
          145deg,
          rgba(230, 42, 21, 0.95),
          rgba(255, 255, 255, 0.12) 42%,
          rgba(230, 42, 21, 0.45)
      );

  box-shadow:
      0 24px 55px rgba(0, 0, 0, 0.58),
      0 0 34px rgba(225, 38, 18, 0.13);

  transition:
      transform 350ms cubic-bezier(0.22, 1, 0.36, 1),
      box-shadow 350ms ease;
}

selector .welcome-photo::after {
  content: "";
  position: absolute;
  inset: 8px;
  z-index: 2;

  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 11px;
  pointer-events: none;
}

selector .welcome-photo img {
  display: block;
  width: 100%;
  border-radius: 11px;

  filter:
      contrast(1.04)
      saturate(1.04);

  transition:
      transform 450ms cubic-bezier(0.22, 1, 0.36, 1),
      filter 450ms ease;
}

selector .welcome-photo:hover {
  transform:
      translateY(-7px)
      rotateY(2deg)
      rotateX(1deg);

  box-shadow:
      0 32px 70px rgba(0, 0, 0, 0.65),
      0 0 42px rgba(225, 38, 18, 0.22);
}

selector .welcome-photo:hover img {
  transform: scale(1.015);
  filter:
      contrast(1.07)
      saturate(1.08);
}

/* =========================================================
 COPY PANEL
 ========================================================= */

selector .welcome-copy {
  position: relative;
  z-index: 2;

  padding: clamp(28px, 4vw, 52px);

  background:
      linear-gradient(
          145deg,
          rgba(255, 255, 255, 0.055),
          rgba(255, 255, 255, 0.018)
      );

  border: 1px solid rgba(255, 255, 255, 0.10);
  border-left: 4px solid #e62b15;
  border-radius: 16px;

  box-shadow:
      0 24px 55px rgba(0, 0, 0, 0.38);

  backdrop-filter: blur(8px);
}

/* Red accent above copy */
selector .welcome-copy::before {
  content: "";
  display: block;

  width: 58px;
  height: 4px;
  margin-bottom: 22px;

  background:
      linear-gradient(
          90deg,
          #ef351d,
          #9d1609
      );

  border-radius: 999px;
  box-shadow: 0 0 16px rgba(230, 43, 21, 0.42);
}

/* Better typography */
selector .welcome-copy,
selector .welcome-copy p {
  color: rgba(255, 255, 255, 0.92);

  font-family: inherit;
  font-size: clamp(19px, 1.55vw, 27px);
  font-style: normal;
  font-weight: 400;
  line-height: 1.48;
  letter-spacing: -0.018em;
  text-align: left;
  text-wrap: pretty;
}

/* Emphasize the opening sentence */
selector .welcome-copy p::first-line {
  color: #ffffff;
  font-weight: 700;
}

/* Optional subtle hover */
selector .welcome-copy {
  transition:
      transform 300ms ease,
      border-color 300ms ease,
      box-shadow 300ms ease;
}

selector .welcome-copy:hover {
  transform: translateY(-4px);
  border-color: rgba(230, 43, 21, 0.42);

  box-shadow:
      0 30px 64px rgba(0, 0, 0, 0.46),
      0 0 0 1px rgba(230, 43, 21, 0.08);
}

/* =========================================================
 TABLET
 ========================================================= */

@media (max-width: 1024px) {
  selector {
      padding: 44px 26px 56px;
  }

  selector .welcome-copy {
      padding: 30px;
  }

  selector .welcome-copy,
  selector .welcome-copy p {
      font-size: 20px;
      line-height: 1.5;
  }
}

/* =========================================================
 MOBILE
 ========================================================= */

@media (max-width: 767px) {
  selector {
      padding: 34px 16px 42px;
  }

  selector .welcome-logo {
      margin-bottom: 28px;
  }

  selector .welcome-logo img {
      width: min(430px, 96%);
  }

  selector .welcome-photo {
      margin-bottom: 24px;
      padding: 6px;
      border-radius: 14px;
  }

  selector .welcome-photo img,
  selector .welcome-photo::after {
      border-radius: 9px;
  }

  selector .welcome-copy {
      padding: 24px 20px;
      border-left-width: 3px;
      border-radius: 13px;
  }

  selector .welcome-copy,
  selector .welcome-copy p {
      font-size: 18px;
      line-height: 1.55;
  }

  selector .welcome-photo:hover,
  selector .welcome-copy:hover {
      transform: none;
  }
}

/* =========================================================
 REDUCED MOTION
 ========================================================= */

@media (prefers-reduced-motion: reduce) {
  selector .welcome-logo img {
      animation: none;
  }

  selector .welcome-photo,
  selector .welcome-photo img,
  selector .welcome-copy {
      transition: none;
  }

  selector .welcome-photo:hover,
  selector .welcome-photo:hover img,
  selector .welcome-copy:hover {
      transform: none;
  }
}\n}.elementor .e-b4b2af5-b36d49f{selector img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
}\n}.elementor .e-145811c-ae419d0{align-self:center;}.elementor .e-d601d9a{position:static;background-color:#000000;flex-direction:column;gap:0px;selector {
  position: relative;
  width: 100%;
  padding: 64px 28px 72px;
  overflow: hidden;

  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 34px;

  background:
      radial-gradient(
          ellipse at 50% 0%,
          rgba(185, 32, 18, 0.24) 0%,
          rgba(100, 17, 9, 0.10) 28%,
          transparent 55%
      ),
      #000000 !important;

  border-top: 1px solid rgba(255, 255, 255, 0.05);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

selector::before {
  content: "";
  position: absolute;
  top: 0;
  left: 12%;
  right: 12%;
  height: 2px;

  background: linear-gradient(
      90deg,
      transparent,
      rgba(225, 43, 22, 0.75),
      transparent
  );

  box-shadow: 0 0 24px rgba(225, 43, 22, 0.4);
  pointer-events: none;
}

/* Title image only */
selector > .elementor-element:first-child img {
  display: block;
  width: min(430px, 84%);
  height: auto;
  margin: 0 auto;

  filter:
      drop-shadow(0 8px 16px rgba(0, 0, 0, 0.85))
      drop-shadow(0 0 16px rgba(225, 43, 22, 0.3));

  transition:
      transform 300ms ease,
      filter 300ms ease;
}

selector > .elementor-element:first-child:hover img {
  transform: translateY(-4px) scale(1.012);

  filter:
      drop-shadow(0 12px 22px rgba(0, 0, 0, 0.9))
      drop-shadow(0 0 24px rgba(225, 43, 22, 0.46));
}

/* Carousel widget width only */
selector > .elementor-element:last-child {
  width: min(1440px, 100%);
  margin: 0 auto;
}

/* Do not alter Swiper animation */
selector .swiper,
selector .swiper-wrapper,
selector .swiper-slide {
  transition-property: transform;
}

@media (max-width: 1024px) {
  selector {
      padding: 50px 20px 58px;
      gap: 28px;
  }
}

@media (max-width: 767px) {
  selector {
      padding: 36px 12px 42px;
      gap: 22px;
  }

  selector > .elementor-element:first-child img {
      width: min(360px, 94%);
  }
}

@media (prefers-reduced-motion: reduce) {
  selector > .elementor-element:first-child img {
      transition: none;
  }

  selector > .elementor-element:first-child:hover img {
      transform: none;
  }
}\n}.elementor .e-be51511-ef0c402{display:flex;flex-direction:column;gap:22px;flex-wrap:nowrap;justify-content:flex-start;align-items:stretch;align-self:center;}.elementor .e-aa860bc{background-color:#00000000;flex-direction:column;}.elementor .e-6ee000b{width:33.3333%;flex-direction:column;}.elementor .e-7352055{width:33.3333%;flex-direction:column;}.elementor .e-d276e93-87d8ded{width:33.3333%;flex-direction:column;}.elementor .e-97b5303{background-image:url("https://petemcdevittshow.com/wp-content/uploads/2026/05/cropped-pete-mcdevitt-logo-1491x601-1-300x121.webp");background-repeat:no-repeat;background-attachment:fixed;background-size:auto auto;background-position:center center;background-clip:border-box;flex-direction:row;flex-wrap:wrap;/* Enable 3D perspective for the cards */
selector {
  perspective: 1400px;
}

/* Animate only the outer card */
selector > .e-con-inner > .e-con,
selector > .elementor-container > .elementor-column {
  transform-style: preserve-3d;
  transform-origin: center center;

  transition:
      transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
      box-shadow 0.35s ease,
      border-color 0.35s ease;
}

/* Subtle 3D turn on hover */
selector > .e-con-inner > .e-con:hover,
selector > .elementor-container > .elementor-column:hover {
  transform:
      translateY(-6px)
      rotateX(2deg)
      rotateY(-3deg)
      scale(1.015);

  border-color: rgba(230, 43, 19, 0.55);

  box-shadow:
      0 22px 48px rgba(0, 0, 0, 0.5),
      0 0 0 1px rgba(230, 43, 19, 0.12);
}

/* Alternate direction for the middle card */
selector > .e-con-inner > .e-con:nth-child(2):hover,
selector > .elementor-container > .elementor-column:nth-child(2):hover {
  transform:
      translateY(-6px)
      rotateX(2deg)
      rotateY(3deg)
      scale(1.015);
}

/* Keep motion accessible */
@media (prefers-reduced-motion: reduce) {
  selector > .e-con-inner > .e-con,
  selector > .elementor-container > .elementor-column {
      transition: none;
  }

  selector > .e-con-inner > .e-con:hover,
  selector > .elementor-container > .elementor-column:hover {
      transform: none;
  }
}\n}.elementor .e-954b7cb{width:33.3333%;flex-direction:column;}.elementor .e-2cf9426{width:33.3333%;flex-direction:column;}.elementor .e-ac933c0{width:33.3333%;flex-direction:column;}.elementor .e-c72f2f6{flex-direction:row;flex-wrap:wrap;}.elementor .e-81bdc98-a03b05d{margin-block-start:0px;display:block;align-self:center;}.elementor .e-91eefbb{padding:0px;background-color:#000000;flex-direction:column;}.elementor .e-8d61cac-3f9fc5d{padding:8px;margin-block-start:-6px;margin-block-end:12px;filter:blur(0px);backdrop-filter:blur(0px);transform:translate3d(0px, 0px, 0px);display:block;align-self:center;}