/* Photo-led editorial hero. All styling is local to this component. */
.ocf-hero.ocf-hero--editorial {
    display: block;
    background: var(--ocf-bg);
    color: var(--ocf-heading);
    text-align: center;
}

.ocf-hero--editorial .ocf-hero__visual {
    --lisbon-panel-sheet: linear-gradient(180deg, rgba(0,0,0,.40) 0%, rgba(0,0,0,.12) 32%, rgba(0,0,0,.12) 65%, rgba(0,0,0,.32) 100%);
    display: grid;
    place-items: center;
    min-height: 660px;
    height: 100svh;
    max-height: 1080px;
    padding: calc(var(--lisbon-bar-height) + 40px) 0 100px;
    overflow: hidden;
    color: var(--ocf-heading-alt);
}

.ocf-hero--editorial .ocf-hero__media img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-height: none;
    object-fit: cover;
    object-position: center 42%;
}

.ocf-hero--editorial .ocf-hero__brand {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 26px;
    padding-block: 32px;
}

.ocf-hero--editorial .ocf-hero__wordmark-frame {
    position: relative;
    width: clamp(270px, 34vw, 490px);
    max-width: 90%;
    height: clamp(90px, 8.2vw, 120px);
    overflow: hidden;
    mix-blend-mode: screen;
}

.ocf-hero--editorial .ocf-hero__wordmark {
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
    filter: grayscale(1) invert(1) contrast(3);
}

.ocf-hero--editorial .ocf-hero__brand-name {
    margin: 0;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(48px, 8vw, 112px);
    font-weight: 400;
    line-height: 1.1;
    color: inherit;
}

.ocf-hero--editorial .ocf-hero__eyebrow {
    display: block;
    margin: 0;
    color: var(--ocf-heading-alt);
    font-family: var(--ocf-font-body), sans-serif;
    font-size: 11px;
    font-weight: 400;
    letter-spacing: .27em;
    line-height: 1.8;
    text-transform: uppercase;
    text-shadow: 0 1px 12px rgba(0,0,0,.3);
}

.ocf-hero--editorial .ocf-hero__scroll {
    position: absolute;
    bottom: 32px;
    left: calc(50% - 24px);
    display: grid;
    place-items: center;
    width: 48px;
    height: 64px;
    color: var(--ocf-heading-alt);
    transition: transform 180ms ease;
}

.ocf-hero--editorial .ocf-hero__scroll svg { width: 24px; height: 48px; }
.ocf-hero--editorial .ocf-hero__scroll:hover { transform: translateY(5px); }
.ocf-hero--editorial .ocf-hero__scroll:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }

.ocf-hero--editorial .ocf-hero__inner {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 0;
    padding-block: clamp(56px, 6vw, 90px) 0;
    scroll-margin-top: calc(var(--lisbon-bar-height) + 24px);
}

.ocf-hero--editorial .ocf-hero__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    max-width: 920px;
}

.ocf-hero--editorial .ocf-hero__headline {
    max-width: 920px;
    margin: 0;
    color: var(--ocf-heading);
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(34px, 4.3vw, 62px);
    font-weight: 400;
    line-height: 1.12;
    letter-spacing: -.025em;
}

.ocf-hero--editorial .ocf-hero__intro {
    max-width: 660px;
    margin: 24px 0 0;
    color: var(--ocf-body);
    font-size: 16px;
    line-height: 1.8;
}

.ocf-hero--editorial .ocf-hero__actions {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 16px 30px;
    margin-top: 30px;
}

.ocf-hero--editorial .ocf-hero__actions .btn-primary {
    min-height: 50px;
    padding: 15px 30px;
    border-radius: 0;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .17em;
    text-transform: uppercase;
}

.ocf-hero--editorial .ocf-hero__actions .btn-secondary {
    min-height: 50px;
    padding: 12px 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--ocf-heading);
    font-size: 13px;
    font-weight: 400;
    letter-spacing: .06em;
    text-decoration: underline;
    text-underline-offset: 6px;
}

.ocf-hero--editorial .ocf-hero__actions .btn-secondary:hover { color: var(--ocf-primary); }

.ocf-hero--editorial .ocf-hero__trust {
    position: static;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px 0;
    width: 100%;
    margin: 48px 0 0;
    padding: 26px 0;
    border-top: 1px solid var(--ocf-border-light);
    border-bottom: 1px solid var(--ocf-border-light);
    list-style: none;
}

.ocf-hero--editorial .ocf-hero__trust li {
    padding-inline: 28px;
    color: var(--ocf-body);
    font-size: 10px;
    font-weight: 400;
    letter-spacing: .14em;
    line-height: 1.6;
    text-transform: uppercase;
}

.ocf-hero--editorial .ocf-hero__trust li + li { border-left: 1px solid var(--ocf-border); }

@media (max-width: 767px) {
    .ocf-hero--editorial .ocf-hero__visual {
        min-height: 600px;
        height: 90svh;
        max-height: 900px;
        padding-top: calc(var(--lisbon-bar-height) + 24px);
        padding-bottom: 96px;
    }
    .ocf-hero--editorial .ocf-hero__media img { object-position: 55% center; transform: scale(1.16); transform-origin: center 40%; }
    .ocf-hero--editorial .ocf-hero__brand { gap: 20px; }
    .ocf-hero--editorial .ocf-hero__wordmark-frame { width: 310px; max-width: 90%; height: 88px; }
    .ocf-hero--editorial .ocf-hero__eyebrow { max-width: 28em; font-size: 9px; letter-spacing: .2em; }
    .ocf-hero--editorial .ocf-hero__scroll { bottom: 24px; }
    .ocf-hero--editorial .ocf-hero__inner { padding-top: 50px; }
    .ocf-hero--editorial .ocf-hero__content { width: 100%; max-width: 100%; }
    .ocf-hero--editorial .ocf-hero__intro { margin-top: 20px; font-size: 15px; }
    .ocf-hero--editorial .ocf-hero__trust { margin-top: 36px; gap: 14px; padding-block: 24px; }
    .ocf-hero--editorial .ocf-hero__trust li { width: 100%; padding-inline: 0; font-size: 10px; }
    .ocf-hero--editorial .ocf-hero__trust li + li { border-left: 0; }
}

@media (max-width: 380px) {
    .ocf-hero--editorial .ocf-hero__visual { min-height: 540px; }
    .ocf-hero--editorial .ocf-hero__headline { font-size: 32px; }
}

@media (prefers-reduced-motion: reduce) {
    .ocf-hero--editorial .ocf-hero__scroll { transition: none; }
    .ocf-hero--editorial .ocf-hero__scroll:hover { transform: none; }
}

/* OCF_AGENT_BLOCK:pure-hero-slideshow START */
.ocf-hero--editorial .ocf-hero__slide { position: absolute; inset: 0; opacity: 0; transition: opacity 700ms ease; pointer-events: none; }
.ocf-hero--editorial .ocf-hero__slide.is-active { opacity: 1; }
.ocf-hero--editorial .ocf-hero__slide img { object-position: var(--hero-slide-position, 50% 35%); transform: none; }
.ocf-hero--editorial .ocf-hero__slideshow-controls { position: absolute; z-index: 3; left: 50%; bottom: 28px; transform: translateX(-50%); display: flex; align-items: center; gap: 4px; color: #fff; padding: 3px 7px; border: 1px solid rgba(255,255,255,.24); border-radius: 999px; background: rgba(0,0,0,.23); }
.ocf-hero--editorial .ocf-hero__slideshow-controls[hidden] { display: none; }
.ocf-hero--editorial .ocf-hero__slide-control, .ocf-hero--editorial .ocf-hero__slide-dot { appearance: none; display: grid; place-items: center; flex-shrink: 0; width: 44px; height: 44px; margin: 0; padding: 0; background: transparent; border: 0; border-radius: 50%; color: inherit; cursor: pointer; }
.ocf-hero--editorial .ocf-hero__slide-control svg { width: 21px; height: 21px; }
.ocf-hero--editorial .ocf-hero__slide-control:hover, .ocf-hero--editorial .ocf-hero__slide-dot:hover { background: rgba(255,255,255,.12); }
.ocf-hero--editorial .ocf-hero__slide-control:focus-visible, .ocf-hero--editorial .ocf-hero__slide-dot:focus-visible { outline: 2px solid white; outline-offset: -3px; }
.ocf-hero--editorial .ocf-hero__slide-dots { display: flex; align-items: center; }
.ocf-hero--editorial .ocf-hero__slide-dot { width: 32px; }
.ocf-hero--editorial .ocf-hero__slide-dot span { display: block; width: 6px; height: 6px; border: 1px solid currentColor; border-radius: 999px; transition: width 200ms ease, background 200ms ease; }
.ocf-hero--editorial .ocf-hero__slide-dot.is-active span { width: 18px; background: currentColor; }
.ocf-hero--editorial [data-pure-hero-slideshow] .ocf-hero__scroll { left: auto; right: 30px; bottom: 24px; }
@media (max-width: 767px) {
 .ocf-hero--editorial .ocf-hero__slide img { object-position: var(--hero-slide-mobile-position, 50% 40%); transform: none; }
 .ocf-hero--editorial .ocf-hero__slideshow-controls { bottom: 24px; gap: 0; padding: 2px 5px; }
 .ocf-hero--editorial .ocf-hero__slide-dot { width: 27px; }
 .ocf-hero--editorial [data-pure-hero-slideshow] .ocf-hero__scroll { display: none; }
}
@media (prefers-reduced-motion: reduce) { .ocf-hero--editorial .ocf-hero__slide, .ocf-hero--editorial .ocf-hero__slide-dot span { transition: none; } }
/* OCF_AGENT_BLOCK:pure-hero-slideshow END */

/* OCF_AGENT_BLOCK:pure-hero-full-photos START */
.ocf-hero--editorial .ocf-hero__visual {
    --lisbon-panel-bg: var(--ocf-bg-dark, #333333);
    width: 100%;
    min-height: 0;
    height: 100vh;
    height: 100svh;
    height: 100dvh;
    max-height: none;
}

/* Full-bleed photos extend beneath the navigation and slideshow controls. */
.ocf-hero--editorial .ocf-hero__media {
    inset: 0;
}

.ocf-hero--editorial .ocf-hero__media img,
.ocf-hero--editorial .ocf-hero__slide img {
    object-fit: cover;
    object-position: var(--hero-slide-position, 50% 42%);
    transform: none;
}

@media (max-width: 767px) {
    .ocf-hero--editorial .ocf-hero__media img,
    .ocf-hero--editorial .ocf-hero__slide img {
        object-position: var(--hero-slide-mobile-position, 50% 40%);
    }
}
/* OCF_AGENT_BLOCK:pure-hero-full-photos END */

/* OCF_AGENT_BLOCK:pure-hero-logo-fix START */
.ocf-hero--editorial .ocf-hero__wordmark-frame {
    width: clamp(240px, 34vw, 420px);
    max-width: 90%;
    height: auto;
    overflow: visible;
    mix-blend-mode: screen;
}
.ocf-hero--editorial .ocf-hero__wordmark {
    position: static;
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    object-fit: contain;
    filter: grayscale(1) invert(1) contrast(3);
}
@media (max-width: 767px) {
    .ocf-hero--editorial .ocf-hero__wordmark-frame {
        width: min(280px, 80vw);
        height: auto;
    }
}
/* OCF_AGENT_BLOCK:pure-hero-logo-fix END */
