/* Dobcross production maintenance v1.8.
   Built from the exact live theme copied from the Pi.
   About hero CONTENT geometry is intentionally not overridden here. */

/* About hero keeps its existing photographic focal point while its text uses the shared standard hero rail. */
.about-hero__slide { background-position: center 38% !important; }
@media (max-width: 760px) { .about-hero__slide { background-position: 58% center !important; } }

/* ABOUT BODY — one common site rail and consistent reading width. */
.about-page .content-section {
    border-top: 1px solid rgba(0,0,0,.10) !important;
}
.about-page .content-section--1 { background: #fff !important; }
.about-page .content-section--2 { background: #f5f3ef !important; }
.about-page .content-section--3 { background: #151515 !important; color: #fff !important; }
.about-page .content-section__inner {
    width: min(1180px, calc(100% - 64px)) !important;
    max-width: none !important;
    margin: 0 auto !important;
    display: block !important;
    grid-template-columns: none !important;
    gap: 0 !important;
    padding: 48px 0 !important;
}
.about-page .content-section__heading,
.about-page .content-section__body,
.about-page .content-section__body p {
    width: 100% !important;
    max-width: 1100px !important;
    margin-left: 0 !important;
    margin-right: auto !important;
    padding-right: 0 !important;
    text-align: left !important;
}
.about-page .content-section__heading .eyebrow {
    position: static !important;
    margin: 0 0 18px !important;
    color: #171717 !important;
}
.about-page .content-section__body p {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}
.about-page .content-section--3 .content-section__heading .eyebrow { color: rgba(255,255,255,.72) !important; }
.about-page .content-section--3 .content-section__body {
    position: relative !important;
    max-width: 1100px !important;
    padding-left: 22px !important;
}
.about-page .content-section--3 .content-section__body::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 2px !important;
    bottom: 2px !important;
    width: 3px !important;
    background: #ed1c24 !important;
}
.about-page .content-section--3 .content-section__body p { color: #fff !important; max-width: 1100px !important; }

/* Latest News — uniform 16:9 tiles; portrait artwork centred with restrained background diffusion. */
.latest-news-card__image,
.latest-news-card--portrait .latest-news-card__image {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    overflow: hidden !important;
    background: #e9e4dc !important;
}
.latest-news-card__image--portrait-enhanced { position: relative !important; isolation: isolate !important; overflow: hidden !important; }
.latest-news-card__image--portrait-enhanced::after {
    content: "" !important; position: absolute !important; inset: 0 !important; z-index: 1 !important;
    background: rgba(246,242,236,.14) !important; pointer-events: none !important;
}
.latest-news-card__image--portrait-enhanced .latest-news-card__image-backdrop {
    position: absolute !important; inset: -2% !important; z-index: 0 !important;
    width: 104% !important; height: 104% !important; max-width: none !important;
    object-fit: cover !important; object-position: center center !important;
    filter: blur(5px) saturate(.94) brightness(.98) !important; opacity: .68 !important;
    transform: scale(1.01) !important;
}
.latest-news-card__image--portrait-enhanced .latest-news-card__image-foreground {
    position: absolute !important; z-index: 2 !important; top: 50% !important; left: 50% !important;
    width: auto !important; max-width: 72% !important; height: 90% !important; max-height: 90% !important;
    object-fit: contain !important; object-position: center center !important;
    box-shadow: 0 5px 16px rgba(6,27,51,.17) !important; transform: translate(-50%,-50%) !important;
}
.latest-news-card--portrait:hover .latest-news-card__image-foreground { transform: translate(-50%,-50%) !important; }
.latest-news-card--portrait:hover .latest-news-card__image-backdrop { transform: scale(1.01) !important; }

/* News article images remain fully visible. */
.news-article-hero__inner { width: min(1180px, calc(100% - 64px)) !important; max-width: none !important; margin: 0 auto !important; }
.news-article-content__inner { width: min(920px, calc(100% - 64px)) !important; max-width: none !important; margin: 0 auto !important; }
.news-article-body .wp-block-image,
.news-article-body .wp-block-image figure,
.news-article-body figure.wp-block-image { max-width: 100% !important; overflow: visible !important; }
.news-article-body .wp-block-image img,
.news-article-body figure.wp-block-image img,
.news-article-body > img { width: auto !important; max-width: 100% !important; height: auto !important; max-height: none !important; object-fit: contain !important; }

/* Vacancies desktop alignment requested in the live review. */
.vacancies-contact__inner > div:last-child { padding-top: 57px !important; }
@media (max-width: 860px) { .vacancies-contact__inner > div:last-child { padding-top: 0 !important; } }

@media (max-width: 720px) {
    .about-page .content-section__inner { width: min(1180px, calc(100% - 32px)) !important; padding: 34px 0 !important; }
    .about-page .content-section__heading,
    .about-page .content-section__body,
    .about-page .content-section__body p,
    .about-page .content-section--3 .content-section__body,
    .about-page .content-section--3 .content-section__body p { max-width: none !important; }
    .about-page .content-section--3 .content-section__body { padding-left: 18px !important; }
    .news-article-hero__inner,
    .news-article-content__inner { width: min(1180px, calc(100% - 32px)) !important; }
    .latest-news-card__image--portrait-enhanced .latest-news-card__image-foreground { max-width: 74% !important; height: 90% !important; max-height: 90% !important; }
}
