
.p3-hero { --p3-primary:#22d9c9; --p3-primary-hi:#1bc0b1; --p3-on-primary:#071a1a; --p3-light:#eef3f8;
  position: relative; min-height: calc(100vh - 124px); display: flex; align-items: flex-end; overflow: hidden;
  padding: 8rem 0 7rem; background: #051414; font-family: "Montserrat", system-ui, sans-serif; }
.p3-hero *, .p3-hero *::before, .p3-hero *::after { box-sizing: border-box; }
.p3-hero__bg { position: absolute; inset: 0; background: #051414; }
.p3-hero__bg img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; opacity: .25; mix-blend-mode: luminosity; }
.p3-hero__fade { position: absolute; inset: 0; background: linear-gradient(to top, #071a1a 20%, rgba(7,26,26,.5) 60%, transparent 100%); }
.p3-hero__content { position: relative; z-index: 10; width: 100%; max-width: calc(var(--maxContentWidth, 1200px) + 2 * var(--deskSpace, 24px)); margin-inline: auto; padding-inline: var(--deskSpace, 24px); }
.p3-hero__inner { max-width: 48rem; }
.p3-hero__eyebrow { margin: 0 0 1.75rem; font-family: "Montserrat", system-ui, sans-serif; font-weight: 600; font-size: .75rem; line-height: 1.333;
  text-transform: uppercase; letter-spacing: .35em; color: var(--p3-primary); }
.p3-hero__title { margin: 0 0 2rem; font-family: "Fraunces", serif; font-weight: 300; font-size: 3rem; line-height: 1.03;
  letter-spacing: -.01em; text-transform: none; color: var(--p3-light); }
.p3-hero__title em { font-style: normal; color: var(--p3-primary); }
.p3-hero__text { margin: 0 0 2.5rem; font-size: 1.125rem; line-height: 1.625; max-width: 36rem; color: rgba(238,243,248,.8); }
.p3-hero__actions { display: flex; flex-wrap: wrap; gap: 1rem; }
.p3-btn { display: inline-flex; align-items: center; gap: .75rem; padding: 1rem 2rem; border-radius: 4px; font-family: "Montserrat", system-ui, sans-serif;
  font-size: .875rem; line-height: 1.4286; font-weight: 600; letter-spacing: .025em; text-transform: none; text-decoration: none;
  transition: background-color .2s, border-color .2s, color .2s; }
.p3-btn--primary { background: var(--p3-primary); color: var(--p3-on-primary); }
.p3-btn--primary:hover { background: var(--p3-primary-hi); color: var(--p3-on-primary); }
.p3-btn--outline { border: 1px solid rgba(238,243,248,.55); color: var(--p3-light); }
.p3-btn--outline:hover { border-color: var(--p3-primary); color: var(--p3-light); }
.p3-icon { width: 1rem; height: 1rem; }
.p3-hero a:focus-visible { outline: 3px solid var(--p3-primary); outline-offset: 3px; }
@media (min-width: 48rem) { .p3-hero__title { font-size: 5.5rem; } }
@media (max-width: 767px) { .p3-hero { min-height: calc(100vh - 88px); padding: 6rem 0 4rem; } }
