/* v3.12.18: the shared quote layout inserts a mobile-only host above the
   overview. Suppress that host at its existing breakpoint, including its
   layout space. The full quote section and footer forms are separate hosts.
   This stylesheet is also printed in wp_head for the overview's first paint. */
@media (max-width: 820px) {
  html body.ccrs-pp-page #main .post-content > .ccrs-audited-quote-host.ccrs-audited-quote--mobile {
    display: none !important;
  }
}

/* v3.12.14: overview hero only. Project cards and their comparison frames retain
   their existing rules. Explicit selectors also survive legacy theme overrides. */
.ccrs-pp.ccrs-pp--underwater {
  --pp-gutter: clamp(16px, 2.7vw, 46px);
  padding: 0 0 34px !important;
  background: #041321 !important;
  /* Do not create a hidden scroll container: native project-anchor navigation
     must scroll the document, otherwise returning to the hero clips its top. */
  overflow: clip !important;
}
.ccrs-pp.ccrs-pp--underwater::before { display: none !important; }
.ccrs-pp.ccrs-pp--underwater > .ccrs-pp__inner {
  padding: 28px var(--pp-gutter) 0 !important;
}
.ccrs-pp .ccrs-pp-banner {
  position: relative !important;
  isolation: isolate !important;
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-height: clamp(600px, 41.66vw, 809px) !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #041321 !important;
  border: 0 !important;
}
.ccrs-pp .ccrs-pp-banner__image {
  position: absolute !important;
  inset: 0 !important;
  z-index: -2 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: right center !important;
  border: 0 !important;
  border-radius: 0 !important;
}
.ccrs-pp .ccrs-pp-banner::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background: linear-gradient(90deg, rgba(4,19,33,.97) 0%, rgba(4,19,33,.92) 22%, rgba(4,19,33,.78) 37%, rgba(4,19,33,.38) 51%, rgba(4,19,33,.06) 66%, transparent 80%) !important;
}
/* v3.12.15: full-width green divider matching the Bridge page.
   Overlay the bottom edge so image framing and section spacing stay intact. */
.ccrs-pp .ccrs-pp-banner::after {
  content: "" !important;
  position: absolute !important;
  display: block !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  height: 2px !important;
  z-index: 2 !important;
  background: #09ea9f !important;
  pointer-events: none !important;
}
.ccrs-pp .ccrs-pp-banner__inner {
  width: 100% !important;
  margin: 0 !important;
  padding: 48px var(--pp-gutter) !important;
}
.ccrs-pp .ccrs-pp-banner__copy {
  width: 53% !important;
  max-width: 870px !important;
  margin: 0 !important;
  padding: 0 !important;
}
.ccrs-pp .ccrs-pp-banner__title {
  display: block !important;
  margin: 0 0 20px !important;
  padding: 0 !important;
  color: #fff !important;
  font-family: var(--heading) !important;
  font-size: clamp(35px, 3.25vw, 62px) !important;
  font-weight: 900 !important;
  font-style: normal !important;
  line-height: 1.02 !important;
  letter-spacing: -.025em !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
}
.ccrs-pp .ccrs-pp-banner__title span {
  display: block !important;
  color: #09ea9f !important;
  font: inherit !important;
  letter-spacing: inherit !important;
}
.ccrs-pp .ccrs-pp-banner__intro {
  /* v3.12.17: wrap the introduction within the marked left-hand area,
     preserving the existing two-line heading and button dimensions. */
  max-width: min(620px, 33vw) !important;
  margin: 0 0 26px !important;
  padding: 0 !important;
  color: #f1f6f9 !important;
  font-family: var(--body) !important;
  font-size: clamp(16px, 1.1vw, 20px) !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}
.ccrs-pp .ccrs-pp-banner__features {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 18px !important;
  margin: 0 0 28px !important;
  padding: 0 !important;
  list-style: none !important;
}
.ccrs-pp .ccrs-pp-banner__features li {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  border: 0 !important;
}
.ccrs-pp .ccrs-pp-banner__features li::before { display: none !important; }
.ccrs-pp .ccrs-pp-banner__icon {
  display: block !important;
  flex: 0 0 42px !important;
  width: 42px !important;
  height: 42px !important;
  color: #09ea9f !important;
}
.ccrs-pp .ccrs-pp-banner__icon svg {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}
.ccrs-pp .ccrs-pp-banner__features strong {
  display: block !important;
  margin: 0 0 3px !important;
  color: #fff !important;
  font-family: var(--heading) !important;
  font-size: clamp(16px, 1.12vw, 20px) !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
}
.ccrs-pp .ccrs-pp-banner__features p {
  margin: 0 !important;
  padding: 0 !important;
  color: #e5eef3 !important;
  font-family: var(--body) !important;
  font-size: clamp(15px, 1vw, 18px) !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
}
.ccrs-pp .ccrs-pp-banner__actions {
  display: grid !important;
  gap: 12px !important;
  width: min(100%, 450px) !important;
  margin: 0 !important;
}
.ccrs-pp a.ccrs-pp-banner__button {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
  width: 100% !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 15px 23px !important;
  border: 1px solid transparent !important;
  border-radius: 4px !important;
  background: linear-gradient(105deg, #00dbaa, #00aaf0) !important;
  color: #fff !important;
  font-family: var(--heading) !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  text-align: left !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
}
.ccrs-pp .ccrs-pp-banner__button svg {
  display: block !important;
  flex: 0 0 25px !important;
  width: 25px !important;
  height: 25px !important;
}
.ccrs-pp a.ccrs-pp-banner__button--outline {
  border-color: #00d8be !important;
  background: rgba(4,19,33,.58) !important;
}
.ccrs-pp .ccrs-pp-banner__button--outline svg { color: #09ea9f !important; }
.ccrs-pp a.ccrs-pp-banner__button:hover { filter: brightness(1.1) !important; }
.ccrs-pp a.ccrs-pp-banner__button:focus-visible {
  outline: 3px solid #fff !important;
  outline-offset: 4px !important;
}
.ccrs-pp #ccrs-pp-projects { scroll-margin-top: 130px !important; }
@media (max-width: 1180px) {
  .ccrs-pp.ccrs-pp--underwater { --pp-gutter: 18px; }
  .ccrs-pp .ccrs-pp-banner__copy { width: 57% !important; }
  .ccrs-pp .ccrs-pp-banner__title { font-size: 35px !important; }
  .ccrs-pp .ccrs-pp-banner__intro { max-width: 475px !important; }
}
@media (max-width: 980px) {
  .ccrs-pp .ccrs-pp-banner { display: block !important; min-height: 0 !important; }
  .ccrs-pp .ccrs-pp-banner__image {
    position: relative !important;
    inset: auto !important;
    height: auto !important;
    aspect-ratio: 1942 / 809 !important;
    object-fit: contain !important;
  }
  .ccrs-pp .ccrs-pp-banner::before { display: none !important; }
  .ccrs-pp .ccrs-pp-banner__inner { padding: 30px var(--pp-gutter) 34px !important; }
  .ccrs-pp .ccrs-pp-banner__copy { width: 100% !important; max-width: 700px !important; }
  .ccrs-pp .ccrs-pp-banner__title { font-size: clamp(28px, 4.7vw, 44px) !important; }
  .ccrs-pp .ccrs-pp-banner__intro { max-width: 620px !important; }
  .ccrs-pp .ccrs-pp-banner__actions { width: min(100%, 450px) !important; }
}
@media (max-width: 760px) {
  .ccrs-pp.ccrs-pp--underwater { --pp-gutter: 10px; }
  .ccrs-pp.ccrs-pp--underwater > .ccrs-pp__inner { padding-top: 20px !important; }
  .ccrs-pp .ccrs-pp-banner__inner { padding: 26px 20px 30px !important; }
  .ccrs-pp .ccrs-pp-banner__title { font-size: clamp(25px, 5.6vw, 40px) !important; margin-bottom: 16px !important; }
  .ccrs-pp .ccrs-pp-banner__intro { font-size: 16px !important; margin-bottom: 22px !important; }
  .ccrs-pp .ccrs-pp-banner__features { gap: 17px !important; margin-bottom: 24px !important; }
  .ccrs-pp .ccrs-pp-banner__features li { gap: 14px !important; }
  .ccrs-pp .ccrs-pp-banner__icon { flex-basis: 35px !important; width: 35px !important; height: 35px !important; }
  .ccrs-pp .ccrs-pp-banner__features strong { font-size: 16px !important; }
  .ccrs-pp .ccrs-pp-banner__features p { font-size: 14px !important; }
  .ccrs-pp a.ccrs-pp-banner__button { font-size: 13px !important; padding: 14px 16px !important; gap: 10px !important; }
}
