/* ==========================================================================
   PWL CAPITAL HERO SECTION FOR DBA WEBSITE (VIVID RED THEME)
   Soft plain gradient background matching brand color (no copyrighted images)
   ========================================================================== */

:root {
  --hero-vivid-red: #9e0c15;
  --hero-crimson: #b3131c;
  --hero-dark-red: #78080f;
  --hero-shadow-tint: #ffe4e6;
  --hero-polygon-dark: #fecdd3;
  --hero-muted-light: rgba(255, 240, 242, 0.90);
  --hero-white: #FFFFFF;
}

/* Banner Section Container with Soft Plain Brand Gradient */
.banner-section {
  background: 
    radial-gradient(ellipse 70% 55% at 75% 35%, rgba(220, 38, 38, 0.22) 0%, transparent 60%),
    linear-gradient(135deg, #78080f 0%, #990c15 45%, #b3131c 100%) !important;
  box-shadow: -20px 20px 0 0 var(--hero-shadow-tint) !important;
  position: relative !important;
  z-index: 5 !important;
  overflow: visible !important;
  width: 100% !important;
}

.banner-section .container.lg {
  max-width: 1700px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 0 70px !important;
  position: relative !important;
  box-sizing: border-box !important;
}

/* Home Banner Main Flex Structure */
.home-banner-main {
  position: relative !important;
  display: flex !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  min-height: 640px !important;
  box-sizing: border-box !important;
}

/* Left Content Column */
.home-banner-left {
  max-width: 820px !important;
  width: 100% !important;
  padding: 200px 0 55px !important;
  position: relative !important;
  z-index: 10 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  box-sizing: border-box !important;
}

.home-banner-text {
  color: var(--hero-white) !important;
  padding-bottom: 50px !important;
}

.home-banner-text .optional-text {
  margin-bottom: 14px !important;
  font-size: 13px !important;
  line-height: 21px !important;
  letter-spacing: 1.4px !important;
  font-weight: 600 !important;
  display: block !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  text-transform: uppercase !important;
  color: var(--hero-muted-light) !important;
}

.home-banner-text h1 {
  margin-top: 0 !important;
  margin-bottom: 28px !important;
  font-family: "Century Gothic", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 60px !important;
  line-height: 1.16 !important;
  font-weight: 700 !important;
  color: var(--hero-white) !important;
  letter-spacing: -0.5px !important;
  text-shadow: 0 2px 14px rgba(60, 4, 8, 0.4) !important;
}

/* Action Button: Crisp White Outline with Smooth Hover */
.home-banner-text a.button.btn-green,
.home-banner-text .button.btn-green {
  display: inline-block !important;
  padding: 14px 28px !important;
  border: 1.5px solid var(--hero-white) !important;
  border-radius: 4px !important;
  background-color: transparent !important;
  color: var(--hero-white) !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
  cursor: pointer !important;
  width: auto !important;
  box-shadow: none !important;
}

.home-banner-text a.button.btn-green:hover,
.home-banner-text .button.btn-green:hover {
  background-color: var(--hero-white) !important;
  color: var(--hero-vivid-red) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 22px rgba(0, 0, 0, 0.25) !important;
}

/* Regulated By Logo Badge */
.regulated-by {
  max-width: 150px !important;
  display: block !important;
  margin-top: auto !important;
}

.regulated-by .regulated-img {
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  width: 135px !important;
  height: auto !important;
}

.regulated-by .regulated-img img {
  display: block !important;
  width: 135px !important;
  height: auto !important;
  max-height: 38px !important;
  object-fit: contain !important;
}

/* Polygon Geometry */
.home-banner-polygon {
  max-width: 1533px !important;
  margin: 0 auto !important;
  position: relative !important;
}

.home-banner-polygon-main {
  position: absolute !important;
  left: 0 !important;
  bottom: -151px !important;
  width: 151px !important;
  height: 151px !important;
  z-index: 10 !important;
}

.home-banner-polygon-light {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 131px !important;
  height: 131px !important;
  background-color: #78080f !important;
  clip-path: polygon(0 0, 100% 0, 50% 50%, 0% 100%) !important;
}

.home-banner-polygon-dark {
  position: absolute !important;
  left: -20px !important;
  top: 0 !important;
  width: 20px !important;
  height: 150px !important;
  background-color: var(--hero-polygon-dark) !important;
  clip-path: polygon(0 0, 100% 0, 100% 88%, 0% 100%) !important;
}

/* Visibility Utilities */
.hide-desktop {
  display: none !important;
}

/* Mobile & Tablet Responsive Rules */
@media screen and (max-width: 1023px) {
  .banner-section .container.lg {
    padding: 0 24px !important;
  }
  .home-banner-main {
    flex-direction: column !important;
    min-height: auto !important;
  }
  .home-banner-left {
    max-width: 100% !important;
    padding: 130px 0 30px !important;
    margin-bottom: 0 !important;
  }
  .home-banner-text {
    padding-bottom: 20px !important;
  }
  .home-banner-text h1 {
    font-size: 38px !important;
    line-height: 1.2 !important;
  }
  .hide-mobile,
  .hide-tablet {
    display: none !important;
  }
  .hide-desktop {
    display: flex !important;
  }
  .regulated-by-mob {
    display: flex !important;
    padding: 24px 0 !important;
    justify-content: center !important;
    align-items: center !important;
    background: #ffffff !important;
    border-bottom: 1px solid #e7ecf1 !important;
  }
  .regulated-by-mob .regulated-img img {
    max-width: 125px !important;
    height: auto !important;
    object-fit: contain !important;
  }
}

@media screen and (min-width: 1700px) {
  .home-banner-polygon {
    max-width: 1366px !important;
  }
  .home-banner-left {
    margin-left: 97px !important;
  }
}

/* Push the section directly following the hero banner below the protruding polygon */
.banner-section + .section,
main > .section:first-of-type {
  padding-top: 175px !important;
}

@media screen and (max-width: 1023px) {
  .banner-section + .section,
  main > .section:first-of-type {
    padding-top: 60px !important;
  }
}

.cpa-hero-badge {
  background: transparent !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  max-height: 44px !important;
  width: auto !important;
  object-fit: contain !important;
  display: inline-block !important;
}
