/* About, history and team video covers follow the original WordPress title:
 * half a viewport of content, plus the responsive header and section spacing.
 * Scope this to the first cover so the later history CTA keeps its own layout. */
.mc-site #wrap > .mc-about-cover:first-child:has(> video) {
    --mc-video-section-gap: 96px;
    --mc-video-header-height: 80px;
    min-height: calc(50vh + var(--mc-video-header-height) + 2 * var(--mc-video-section-gap));
    padding-top: calc(var(--mc-video-header-height) + var(--mc-video-section-gap));
    padding-bottom: var(--mc-video-section-gap);
    align-items: flex-end;
    overflow: hidden;
}
.mc-site #wrap > .mc-about-cover:first-child > video {
    object-fit: cover;
    object-position: center;
}
@media (max-width: 1366px) {
    .mc-site #wrap > .mc-about-cover:first-child:has(> video) { --mc-video-section-gap: 64px; }
}
@media (max-width: 1024px) {
    .mc-site #wrap > .mc-about-cover:first-child:has(> video) { --mc-video-section-gap: 48px; }
}
@media (max-width: 768px) {
    .mc-site #wrap > .mc-about-cover:first-child:has(> video) { --mc-video-header-height: 72px; }
}
@media (max-width: 568px) {
    .mc-site #wrap > .mc-about-cover:first-child:has(> video) {
        --mc-video-section-gap: 40px;
        --mc-video-header-height: 48px;
    }
}

/* Edge-to-edge campaign photography, independently of the editorial page width. */
.mc-site #wrap.mc-home { padding-top: 104px; }
.mc-site .mc-hero {
    width: 100%; max-width: none; margin: 0; aspect-ratio: auto;
    --mc-hero-height: clamp(560px, calc(100svh - 104px), 1000px);
    /* Keep the stage sized when Website resets section heights on mobile. */
    height: var(--mc-hero-height); min-height: var(--mc-hero-height);
    background: #111; isolation: isolate; touch-action: pan-y pinch-zoom;
}
.mc-site .mc-hero .mc-slide:after {
    background: linear-gradient(90deg, #0005, transparent 75%), linear-gradient(0deg, #000b, #0002 55%, transparent 80%);
}
.mc-site .mc-hero-copy {
    left: var(--mc-gutter); right: var(--mc-gutter); bottom: 132px;
    max-width: 850px; text-shadow: 0 2px 24px #0003;
}
.mc-site .mc-hero-copy h1, .mc-site .mc-hero-copy h2 {
    font: 600 clamp(40px, 4.2vw, 76px)/1.1 Inter, Arial, sans-serif;
    letter-spacing: -.025em; text-wrap: balance;
}
.mc-site .mc-hero-copy .mc-eyebrow { margin-bottom: 20px; letter-spacing: 2px; }
.mc-site .mc-hero-copy .mc-button { margin-top: 32px; background: #0002; backdrop-filter: blur(8px); }
.mc-site .mc-hero-copy .mc-button:hover { background: #fff; color: #000; }
.mc-site .mc-hero-enhanced .mc-carousel-controls { display: none; }
.mc-site .mc-hero-pagination {
    position: absolute; z-index: 2; bottom: 36px; left: var(--mc-gutter);
    display: flex; gap: 14px; width: min(360px, 40%); color: #fff;
}
.mc-site .mc-hero-pagination button {
    flex: 1; min-width: 0; min-height: 48px; padding: 8px 0; border: 0;
    border-bottom: 2px solid #ffffff50; background: transparent; color: inherit;
    font: 500 11px/1.5 Manrope, Arial, sans-serif; text-align: left; cursor: pointer;
    transition: border-color .3s;
}
.mc-site .mc-hero-pagination button[aria-pressed="true"],
.mc-site .mc-hero-pagination button:hover { border-color: #fff; }
.mc-site .mc-hero :is(a,button):focus-visible { outline: 2px solid #fff; outline-offset: 5px; }
/* Hidden campaigns remain inert and excluded from accessibility and tab order. */
.mc-site .mc-hero-enhanced > .mc-slide {
    visibility: visible; opacity: 1; transition: opacity .9s ease, visibility 0s;
}
.mc-site .mc-hero-enhanced > .mc-slide[hidden] {
    display: block !important; visibility: hidden; opacity: 0; pointer-events: none;
    transition: opacity .9s ease, visibility 0s .9s;
}
.mc-site .mc-hero-enhanced .mc-hero-image { transform: scale(1); transition: transform 6s ease-out; }
.mc-site .mc-hero-enhanced > .mc-slide[hidden] .mc-hero-image { transform: scale(1.025); }
.mc-site .mc-hero-enhanced .mc-hero-copy { opacity: 1; transform: translateY(0); transition: opacity .5s .2s, transform .7s .2s; }
.mc-site .mc-hero-enhanced > .mc-slide[hidden] .mc-hero-copy { opacity: 0; transform: translateY(10px); transition: opacity .15s; }
@media (max-width: 768px) {
    .mc-site #wrap.mc-home { padding-top: 80px; }
    .mc-site .mc-hero { --mc-hero-height: clamp(540px, calc(100svh - 80px), 800px); }
    .mc-site .mc-hero-copy { bottom: 110px; max-width: none; }
    .mc-site .mc-hero-copy h1, .mc-site .mc-hero-copy h2 { font-size: clamp(32px, 8.5vw, 48px); }
    .mc-site .mc-hero-copy .mc-eyebrow { font-size: 11px; margin-bottom: 16px; }
    .mc-site .mc-hero-copy .mc-button { margin-top: 24px; }
    .mc-site .mc-hero-pagination { bottom: 32px; width: auto; right: var(--mc-gutter); }
}
@media (prefers-reduced-motion: reduce) {
    .mc-site .mc-hero-enhanced > .mc-slide,
    .mc-site .mc-hero-enhanced > .mc-slide[hidden],
    .mc-site .mc-hero-enhanced .mc-hero-copy,
    .mc-site .mc-hero-enhanced > .mc-slide[hidden] .mc-hero-copy,
    .mc-site .mc-hero-enhanced .mc-hero-image,
    .mc-site .mc-hero-enhanced > .mc-slide[hidden] .mc-hero-image { transition: none; transform: none; }
}
