/* Content element r2_hero — full-width hero with optional background image/video */

.frame-type-r2_hero .layout{
    display:grid; grid-template:1fr / 1fr;
    position:relative; width:100%; min-height:12rem; overflow:visible;
}

    .frame-type-r2_hero .layout > .media,
    .frame-type-r2_hero .layout > .scrim,
    .frame-type-r2_hero .layout > .motion-controls,
    .frame-type-r2_hero .layout > .text{ grid-area:1 / 1; }

    .frame-type-r2_hero .media{
        align-self:stretch; position:relative; width:100%; overflow:hidden;
        min-height:max(12rem, min(56.25vw, 75vh));
    }

        .frame-type-r2_hero .poster{
            position:absolute; left:0; top:0; width:100%; height:100%;
            object-fit:cover; transition:opacity 0.4s ease;
        }
        .frame-type-r2_hero .layout.is-video-playing .poster{ opacity:0; }

        .frame-type-r2_hero .video{
            position:absolute; left:0; top:0; width:100%; height:100%;
            object-fit:cover; opacity:0; transition:opacity 0.4s ease;
        }
        .frame-type-r2_hero .video.is-playing{ opacity:1; }

    .frame-type-r2_hero .scrim{
        align-self:stretch; z-index:1; pointer-events:none;
    }
        .frame-type-r2_hero .layout.scrim-light .scrim{ background:rgba(0,0,0,.25); }
        .frame-type-r2_hero .layout.scrim-medium .scrim{ background:rgba(0,0,0,.4); }
        .frame-type-r2_hero .layout.scrim-strong .scrim{ background:rgba(0,0,0,.55); }

    .frame-type-r2_hero .layout > .text{
        align-self:center; position:relative; z-index:2;
        padding-block:min(calc((100vw - min(90vw, 1440px)) / 2), calc(1440px * 0.05));
        box-sizing:border-box; color:#fff;
    }
        .frame-type-r2_hero .layout.no-media > .text{ color:inherit; }
        .frame-type-r2_hero .layout.has-motion-controls > .text{
            padding-bottom:calc(24px + 48px + var(--gap-s));
        }

    .frame-type-r2_hero .ce-bodytext > :first-child{ margin-top:0; }
    .frame-type-r2_hero .ce-bodytext > :last-child{ margin-bottom:0; }
    .frame-type-r2_hero .layout:not(.no-media) .ce-bodytext a,
    .frame-type-r2_hero .layout:not(.no-media) .ce-bodytext a:visited,
    .frame-type-r2_hero .layout:not(.no-media) .ce-bodytext a:hover{
        color:#fff;
    }
    .frame-type-r2_hero .ce-bodytext h1{ font-weight:bold; }

    /*### //# Motion pause (position like #toTop) ###*/
    .frame-type-r2_hero .motion-controls{
        position:absolute; right:24px; bottom:24px; z-index:3;
        pointer-events:none;
    }
        .frame-type-r2_hero .layout:not(.is-video-playing):not(.is-motion-paused) .motion-controls{ display:none; }

    .frame-type-r2_hero .motion-pause{
        pointer-events:auto;
        color:#fff; background:rgba(0,0,0,.45); border:1px solid rgba(255,255,255,.6);
        border-radius:50%;
    }
        .frame-type-r2_hero .motion-pause .icon-play{ display:none; }
        .frame-type-r2_hero .motion-pause[aria-pressed="true"] .icon-pause{ display:none; }
        .frame-type-r2_hero .motion-pause[aria-pressed="true"] .icon-play{ display:block; }

@media screen and (max-width:991px){
    .frame-type-r2_hero .motion-controls{ right:0; left:0; margin:0 auto; width:max-content; }
}

@media (prefers-reduced-motion: reduce){
    .frame-type-r2_hero .video{ display:none; }
    .frame-type-r2_hero .motion-controls{ display:none; }
}
