/* Matches peptara's .about-top-section exactly (style.css:2848-2904) — the centered
   variant (contact page's hero uses the left-aligned .contact-top variant instead,
   see blocks/contact-hero/style.css). */
.about-hero {
    position: relative;
    /* margin-top 72px + the page's own reduced 64px topbar clearance (site.css,
       body.page-id-133 #primary) = 136px from viewport top, restoring the same
       36px visible gap below the header as before the clearance was reduced. */
    margin: 72px 40px 40px 40px;
    max-width: 100%;
    min-height: 784px;
    display: flex;
    align-items: center;
    border-radius: 40px;
    overflow: hidden;
    background-color: #2b2f33;
}
@media screen and (max-width: 1240px) {
    /* Was a flat "margin: 20px", which reset margin-top to 20px regardless of the
       actual (JS-measured, viewport-dependent) header height — on narrow screens the
       notice bar wraps to more lines and the header grows taller than 20px can clear,
       so the hero collapsed up underneath it. Compute margin-top from --topbar-height
       instead so it can never overlap, whatever the header's real height turns out to
       be at this breakpoint. */
    .about-hero {
        margin: calc(var(--topbar-height) - 28px) 20px 20px 20px;
    }
}
@media screen and (max-width: 550px) {
    /* min-height: auto here — the fixed 784px is sized for the desktop copy length;
       on small screens the content's own (already-reduced) padding drives the height
       instead, so the section doesn't force awkward extra empty space on a phone. */
    .about-hero {
        min-height: auto;
    }
}
.about-hero-bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
/* Matches the original's wp-block-getwid-section__foreground overlay
   (opacity:0.4; background-color:#000000) — dims the photo so the white heading/
   paragraph text stays readable regardless of how bright the uploaded image is. */
.about-hero-overlay {
    position: absolute;
    inset: 0;
    background-color: #000;
    opacity: 0.4;
}
.about-hero-content {
    position: relative;
    z-index: 1;
    padding-top: 240px;
    padding-bottom: 170px;
    max-width: 1131px;
    margin: 0 auto;
}
@media screen and (max-width: 550px) {
    .about-hero-content {
        padding-top: 80px;
        padding-bottom: 40px;
        padding-left: 10px;
        padding-right: 10px;
    }
}
.about-hero-title {
    color: #fff;
    text-align: center;
    font-size: 60px;
    font-weight: 700;
    line-height: 100%;
    margin: 0 0 40px 0;
}
@media screen and (max-width: 550px) {
    .about-hero-title {
        font-size: 40px;
    }
}
.about-hero-text {
    max-width: 1045px;
    margin: 0 auto;
    color: rgba(255, 255, 255, 0.9);
    text-align: center;
    font-size: 24px;
    font-weight: 400;
    line-height: normal;
    padding: 0 1rem;
}
@media screen and (max-width: 550px) {
    .about-hero-text {
        font-size: 20px;
    }
}
