.dc-page-hero,
.dc-page-hero *,
.dc-page-hero *::before,
.dc-page-hero *::after{box-sizing:border-box}

.dc-page-hero{
    --dc-hero-h:600px;
    --dc-hero-content-w:1280px;
    --dc-hero-side:0px;
    --dc-hero-bg-x:50%;
    --dc-hero-bg-y:15.3%;
    --dc-hero-overlay:#000;
    --dc-hero-overlay-opacity:.2;
    --dc-hero-top-fade:#040404;
    --dc-hero-top-fade-h:120px;
    --dc-hero-bottom-fade-start:57.7753%;
    --dc-hero-bc-y:475.94px;
    --dc-hero-title-y:524.35px;
    --dc-hero-mobile-bottom:50px;
    --dc-hero-stack-gap:18px;
    position:relative;
    isolation:isolate;
    width:100%;
    height:var(--dc-hero-h);
    min-height:320px;
    margin:0;
    overflow:hidden;
    background:#111;
}
.dc-page-hero--full{width:var(--dc-vw,100vw);max-width:none;margin-left:var(--dc-vx,0px)}
.dc-page-hero__bg,
.dc-page-hero__overlay,
.dc-page-hero__top-fade,
.dc-page-hero__bottom-fade,
.dc-page-hero__shape{position:absolute;inset:0;pointer-events:none}
.dc-page-hero__bg{
    z-index:0;
    background-image:var(--dc-hero-bg);
    background-size:cover;
    background-position:var(--dc-hero-bg-x) var(--dc-hero-bg-y);
    background-repeat:no-repeat;
    opacity:1;
    transform:scale(1);
    transform-origin:center;
    backface-visibility:hidden;
}
.dc-page-hero__overlay{z-index:1;background:var(--dc-hero-overlay);opacity:var(--dc-hero-overlay-opacity)}
.dc-page-hero__top-fade{
    z-index:2;
    bottom:auto;
    height:var(--dc-hero-top-fade-h);
    background:linear-gradient(180deg,color-mix(in srgb,var(--dc-hero-top-fade) 80%,transparent) 0%,transparent 100%);
}
.dc-page-hero__bottom-fade{z-index:2;background:linear-gradient(180deg,transparent var(--dc-hero-bottom-fade-start),#000 100%)}
.dc-page-hero__inner{
    position:relative;
    z-index:4;
    width:min(var(--dc-hero-content-w),calc(100% - (2 * var(--dc-hero-side))));
    height:100%;
    min-width:0;
    margin:0 auto;
}
.dc-page-hero__breadcrumb{
    position:absolute;
    top:var(--dc-hero-bc-y);
    left:0;
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    max-width:100%;
    margin:0;
    padding:0;
    color:rgba(255,255,255,.6);
    font-size:16px;
    line-height:1.125;
    overflow-wrap:anywhere;
}
.dc-page-hero__breadcrumb a,
.dc-page-hero__breadcrumb span{
    font:inherit;
    text-decoration:none;
    background:none;
    border:0;
    box-shadow:none;
}
.dc-page-hero__breadcrumb a,
.dc-page-hero__breadcrumb a:visited{color:rgba(255,255,255,.6);transition:color .2s ease}
.dc-page-hero__breadcrumb a:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:2px}
.dc-page-hero__breadcrumb [aria-current="page"]{color:#f9f9f9}
.dc-page-hero__separator{color:rgba(255,255,255,.6)}
.dc-page-hero__title{
    position:absolute;
    top:var(--dc-hero-title-y);
    left:0;
    max-width:900px;
    margin:0;
    padding:0;
    color:#f9f9f9;
    font-size:56px;
    font-weight:600;
    line-height:1.05;
    letter-spacing:-1.5px;
    overflow-wrap:anywhere;
    text-wrap:balance;
}
.dc-page-hero__shape{z-index:5;width:100%;height:100%;color:#fff}

.dc-page-hero--animate:not(.is-visible) .dc-page-hero__bg{opacity:.88;transform:scale(var(--dc-hero-bg-scale,1.035))}
.dc-page-hero--animate:not(.is-visible) .dc-page-hero__breadcrumb,
.dc-page-hero--animate:not(.is-visible) .dc-page-hero__title,
.dc-page-hero--animate:not(.is-visible) .dc-page-hero__shape{opacity:0;transform:translate3d(0,var(--dc-hero-content-y,24px),0)}
.dc-page-hero--animate .dc-page-hero__bg{transition:transform var(--dc-hero-duration,700ms) var(--dc-hero-ease),opacity var(--dc-hero-duration,700ms) var(--dc-hero-ease)}
.dc-page-hero--animate .dc-page-hero__breadcrumb,
.dc-page-hero--animate .dc-page-hero__title,
.dc-page-hero--animate .dc-page-hero__shape{transition:opacity var(--dc-hero-duration,700ms) var(--dc-hero-ease),transform var(--dc-hero-duration,700ms) var(--dc-hero-ease)}
.dc-page-hero--animate .dc-page-hero__title{transition-delay:var(--dc-hero-stagger,120ms)}
.dc-page-hero--animate .dc-page-hero__shape{transition-delay:calc(var(--dc-hero-stagger,120ms) * 2)}
.dc-page-hero.is-visible .dc-page-hero__bg{opacity:1;transform:scale(1)}
.dc-page-hero.is-visible .dc-page-hero__breadcrumb,
.dc-page-hero.is-visible .dc-page-hero__title,
.dc-page-hero.is-visible .dc-page-hero__shape{opacity:1;transform:none}

/* Laptop / small desktop: preserve the desktop composition but add safe gutters. */
@media (min-width:1025px) and (max-width:1599px){
    .dc-page-hero__inner{
        width:min(var(--dc-hero-content-w),calc(100% - (2 * max(var(--dc-hero-side),clamp(28px,3vw,48px)))));
    }
    .dc-page-hero__title{max-width:min(72vw,900px)}
}

/* Tablet: the same DOM becomes a bottom-aligned content stack. */
@media(max-width:1024px){
    .dc-page-hero__inner{
        display:flex;
        flex-direction:column;
        justify-content:flex-end;
        width:min(var(--dc-hero-content-w),calc(100% - (2 * max(var(--dc-hero-side),24px))));
        padding-bottom:var(--dc-hero-mobile-bottom);
    }
    .dc-page-hero__breadcrumb,
    .dc-page-hero__title{position:static;left:auto;top:auto}
    .dc-page-hero__breadcrumb{margin-bottom:var(--dc-hero-stack-gap)}
    .dc-page-hero__title{max-width:min(100%,900px)}
    .dc-page-hero__shape{display:none}
}

/* Mobile: keep navigation usable without letting a long breadcrumb break the hero. */
@media(max-width:767px){
    .dc-page-hero{min-height:340px}
    .dc-page-hero__inner{
        width:min(var(--dc-hero-content-w),calc(100% - (2 * max(var(--dc-hero-side),16px))));
    }
    .dc-page-hero__breadcrumb{
        flex-wrap:nowrap;
        width:100%;
        max-width:100%;
        margin-bottom:var(--dc-hero-stack-gap);
        overflow-x:auto;
        overflow-y:hidden;
        scrollbar-width:none;
        overscroll-behavior-inline:contain;
        -webkit-overflow-scrolling:touch;
    }
    .dc-page-hero__breadcrumb::-webkit-scrollbar{display:none}
    .dc-page-hero__breadcrumb > *{flex:0 0 auto}
    .dc-page-hero__breadcrumb [aria-current="page"]{
        max-width:65vw;
        overflow:hidden;
        text-overflow:ellipsis;
        white-space:nowrap;
    }
    .dc-page-hero__title{width:100%;max-width:100%;letter-spacing:-1px;line-height:1.08;text-wrap:pretty}
    .dc-page-hero__top-fade{height:min(var(--dc-hero-top-fade-h),100px)}
}

@media(max-width:359px){
    .dc-page-hero__inner{width:calc(100% - (2 * max(var(--dc-hero-side),14px)))}
    .dc-page-hero__breadcrumb [aria-current="page"]{max-width:58vw}
}

@media(prefers-reduced-motion:reduce){
    .dc-page-hero *{animation:none!important;transition:none!important}
    .dc-page-hero--animate:not(.is-visible) .dc-page-hero__bg,
    .dc-page-hero--animate:not(.is-visible) .dc-page-hero__breadcrumb,
    .dc-page-hero--animate:not(.is-visible) .dc-page-hero__title,
    .dc-page-hero--animate:not(.is-visible) .dc-page-hero__shape{opacity:1;transform:none}
}
