@keyframes hero-drift { 
  0% { transform: scale(1.02); }
  100% { transform: scale(1.1) translate(-1.5%, -1%); }
}
@keyframes wave-drift { 
  100% { transform: translateX(-50%); }
}
@media (max-width: 640px) {
  .pbx-index-hero { --header-h: 124px }
}
.pbx-index-hero { --primary: #D43D27; --primary-ink: #FFFFFF; --ink: #312E27; --surface: #FFFFFF; --white: #FFFFFF; --primary-dark: #B5311D; --font: "nexa-text", system-ui, -apple-system, "Segoe UI", sans-serif; --container: 1240px; --font-display: "nexa", "nexa-text", system-ui, -apple-system, "Segoe UI", sans-serif; --gutter: clamp(20px, 4vw, 48px); --ease: cubic-bezier(.2, .7, .2, 1) }
.pbx-index-hero, .pbx-index-hero *, .pbx-index-hero::before, .pbx-index-hero *::before, .pbx-index-hero::after, .pbx-index-hero *::after { box-sizing: border-box }
.pbx-index-hero { scroll-behavior: smooth; scroll-padding-top: 100px }
.pbx-index-hero { font-family: var(--font); color: var(--ink); font-size: 17px; line-height: 1.65; font-weight: 400; -webkit-font-smoothing: antialiased }
img:is(.pbx-index-hero, .pbx-index-hero *) { display: block; max-width: 100%; height: auto }
a:is(.pbx-index-hero, .pbx-index-hero *) { color: inherit; text-decoration: none }
h1:is(.pbx-index-hero, .pbx-index-hero *), p:where(:not(.pbx-run, [class*="pbx-tag-"])):is(.pbx-index-hero, .pbx-index-hero *) { margin: 0px }
:focus-visible:is(.pbx-index-hero, .pbx-index-hero *) { outline: 2px solid var(--primary) !important; outline-offset: 3px !important }
[hidden]:is(.pbx-index-hero, .pbx-index-hero *) { display: none !important }
h1:is(.pbx-index-hero, .pbx-index-hero *), .h1:is(.pbx-index-hero, .pbx-index-hero *) { font-family: var(--font-display); color: var(--primary) }
.h1:is(.pbx-index-hero, .pbx-index-hero *) { font-size: clamp(40px, 5vw, 66px); line-height: 1.04; letter-spacing: -0.025em; font-weight: 800 }
.container:is(.pbx-index-hero, .pbx-index-hero *) { width: 100%; max-width: calc(var(--container) + var(--gutter) * 2); margin: 0px auto; padding: 0 var(--gutter) }
.btn:is(.pbx-index-hero, .pbx-index-hero *) .wp-block-button__link { display: inline-flex; align-items: center; gap: 10px; padding: 13px 24px; border: 0px; border-radius: 999px; font-family: var(--font); font-size: 15px; font-weight: 700; line-height: 1.2; cursor: pointer; transition: transform .3s var(--ease), background-color .3s, color .3s, box-shadow .3s }
.btn:hover:is(.pbx-index-hero, .pbx-index-hero *) .wp-block-button__link { transform: translateY(-2px) !important }
.btn--primary:is(.pbx-index-hero, .pbx-index-hero *) .wp-block-button__link { background: var(--primary); color: var(--primary-ink) }
.btn--primary:hover:is(.pbx-index-hero, .pbx-index-hero *) .wp-block-button__link { background: var(--primary-dark) !important }
.btn--light:is(.pbx-index-hero, .pbx-index-hero *) .wp-block-button__link { background: transparent; color: var(--white); box-shadow: rgba(255, 255, 255, 0.8) 0px 0px 0px 1.5px inset }
.btn--light:hover:is(.pbx-index-hero, .pbx-index-hero *) .wp-block-button__link { background: var(--white) !important; color: var(--primary) !important }
.actions:is(.pbx-index-hero, .pbx-index-hero *) { display: flex; flex-wrap: wrap; gap: 12px }
.page-hero:is(.pbx-index-hero, .pbx-index-hero *) { position: relative; overflow: hidden; display: flex; align-items: center; min-height: clamp(440px, 46vw, 620px); background: var(--ink); padding: calc(var(--header-h) + 64px) 0 120px; color: var(--white) }
.page-hero__bg:is(.pbx-index-hero, .pbx-index-hero *) img { width: 100%; height: 100%; object-fit: cover; transform-origin: 60% 40%; animation: 26s ease-in-out 0s infinite alternate none running hero-drift }
.page-hero__inner:is(.pbx-index-hero, .pbx-index-hero *) { position: relative; z-index: 2; display: grid; gap: 18px; justify-items: start }
.page-hero:is(.pbx-index-hero, .pbx-index-hero *) h1 { color: var(--white); max-width: 900px }
.page-hero:is(.pbx-index-hero, .pbx-index-hero *) p:where(:not(.pbx-run, [class*="pbx-tag-"])) { max-width: 760px; color: rgba(255, 255, 255, 0.92) }
.wave:is(.pbx-index-hero, .pbx-index-hero *) { position: absolute; left: 0px; right: 0px; bottom: -1px; z-index: 2; height: clamp(40px, 5vw, 72px); overflow: hidden; pointer-events: none; color: var(--surface) }
.wave:is(.pbx-index-hero, .pbx-index-hero *) svg { position: absolute; bottom: 0px; left: 0px; width: 200%; height: 100%; fill: currentcolor; animation: 22s linear 0s infinite normal none running wave-drift }
.wave:is(.pbx-index-hero, .pbx-index-hero *) svg + svg { opacity: 0.3; animation-duration: 34s; animation-direction: reverse }
.reveal:is(.pbx-index-hero, .pbx-index-hero *) { opacity: 0; transform: translateY(22px); transition: opacity .8s var(--ease), transform .9s var(--ease) }
.reveal.is-visible:is(.pbx-index-hero, .pbx-index-hero *) { opacity: 1; transform: none }
@media (prefers-reduced-motion: reduce) {
  .reveal:is(.pbx-index-hero, .pbx-index-hero *) { opacity: 1; transform: none; transition: none }
  .pbx-index-hero { scroll-behavior: auto }
  .page-hero__bg:is(.pbx-index-hero, .pbx-index-hero *) img, .wave:is(.pbx-index-hero, .pbx-index-hero *) svg { animation: auto ease 0s 1 normal none running none }
}
.hm-hero:is(.pbx-index-hero, .pbx-index-hero *) { min-height: clamp(520px, 52vw, 720px) }
.hm-hero:is(.pbx-index-hero, .pbx-index-hero *) h1 { max-width: 940px }
.hm-hero:is(.pbx-index-hero, .pbx-index-hero *) p:where(:not(.pbx-run, [class*="pbx-tag-"])) { font-size: clamp(17px, 1.3vw, 19px); max-width: 860px }
.hm-hero:is(.pbx-index-hero, .pbx-index-hero *) .page-hero__bg img.is-on { opacity: 1 !important }
:is(.wp-block-quote):where(.pbx-index-hero, .pbx-index-hero *) { border: 0; padding: 0; margin: 0 }
:is(.wp-block-columns):where(.pbx-index-hero, .pbx-index-hero *) { margin-block-end: 0 }
:is(.is-layout-flex, .is-layout-grid, .wp-block-columns):where(.pbx-index-hero, .pbx-index-hero *) { gap: 0 }
:is(.wp-block-column, .wp-block-button__link):where(.pbx-index-hero, .pbx-index-hero *) { overflow-wrap: inherit; word-break: inherit }
:where(.pbx-index-hero, .pbx-index-hero *):where(.wp-block-group, .wp-block-columns, .wp-block-column, .wp-block-cover).has-background { padding: 0 }
.pbx-index-hero__3 .wp-block-button__link { border-width: 0 }
.pbx-index-hero__2 .wp-block-button__link { border-width: 0 }
.pbx-index-hero__1.pbx-index-hero__1 { min-height: clamp(520px, 52vw, 720px) }
.pbx-index-hero__4.pbx-index-hero__4 > .wp-block-cover__inner-container { position: static }
.pbx-index-hero__5.pbx-index-hero__5 > .wp-block-cover__inner-container { width: 100% !important }
