/* A single editorial product image; headline remains selectable HTML. */
.pl-home-hero {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 470px;
    height: clamp(470px, 37vw, 610px);
    background: #222b43;
    color: #fff;
}
.pl-home-hero__visual {
    position: absolute;
    inset: 0;
    z-index: -2;
}
.pl-home-hero__visual img {
    position: absolute;
    right: 0;
    top: 0;
    display: block;
    height: 100%;
    width: auto;
    max-width: none;
    /* Fade from the image's own edge, independent of the viewport width. */
    -webkit-mask-image: linear-gradient(90deg, transparent 0%, transparent 4%, rgba(0,0,0,.104) 11.6%, rgba(0,0,0,.352) 19.2%, rgba(0,0,0,.648) 26.8%, rgba(0,0,0,.896) 34.4%, #000 42%);
    mask-image: linear-gradient(90deg, transparent 0%, transparent 4%, rgba(0,0,0,.104) 11.6%, rgba(0,0,0,.352) 19.2%, rgba(0,0,0,.648) 26.8%, rgba(0,0,0,.896) 34.4%, #000 42%);
}
.pl-home-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: linear-gradient(90deg, #222b43 0%, #222b43 22%, rgba(34,43,67,.92) 32%, rgba(34,43,67,0) 58%);
}
.pl-home-hero__copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    width: 52%;
    padding: 50px 0 52px var(--pl-page-px, 4rem);
}
.pl-home-hero .pl-home-hero__copy h1 {
    margin: 0;
    max-width: 640px;
    color: #fff;
    font-size: clamp(36px, 3.65vw, 64px);
    font-weight: 700;
    letter-spacing: -.045em;
    line-height: 1.13;
    text-wrap: balance;
}
.pl-home-hero .pl-home-hero__copy p {
    max-width: 410px;
    margin: 26px 0 0;
    color: #dce0ea;
    font-size: clamp(15px, 1.2vw, 19px);
    font-weight: 400;
    line-height: 1.7;
}
@media (min-width: 761px) and (max-width: 1000px) {
    .pl-home-hero { height: 430px; min-height: 430px; }
    .pl-home-hero__copy { width: 53%; padding-left: 30px; }
    .pl-home-hero .pl-home-hero__copy h1 { font-size: 36px; }
    .pl-home-hero .pl-home-hero__copy p { max-width: 330px; }
    .pl-home-hero__visual { right: -60px; }
    .pl-home-hero::after { background: linear-gradient(90deg,#222b43 0%,rgba(34,43,67,.94) 28%,rgba(34,43,67,0) 64%); }
}
@media (max-width: 760px) {
    .pl-home-hero { height: 650px; min-height: 0; }
    .pl-home-hero__copy { justify-content: flex-start; width: 100%; padding: 34px 24px 0; }
    .pl-home-hero .pl-home-hero__copy h1 { max-width: 520px; font-size: clamp(30px, 6.7vw, 44px); line-height: 1.15; }
    .pl-home-hero .pl-home-hero__copy p { max-width: 410px; margin-top: 20px; font-size: 15px; line-height: 1.6; }
    .pl-home-hero__visual { top: auto; height: 340px; }
    .pl-home-hero__visual img { right: -7px; -webkit-mask-image: none; mask-image: none; }
    .pl-home-hero__visual::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, #222b43, rgba(34,43,67,0) 24%); }
    .pl-home-hero::after { background: linear-gradient(180deg,#222b43 0%,#222b43 42%,rgba(34,43,67,0) 63%); }
}
@media (max-width: 380px) {
    .pl-home-hero { height: clamp(560px, 164vw, 615px); }
    .pl-home-hero__copy { padding-left: 20px; padding-right: 20px; }
    .pl-home-hero__visual { height: clamp(250px, 78vw, 295px); }
    .pl-home-hero .pl-home-hero__copy p { font-size: 14px; }
}
