/* Shared artwork and viewport sizing for the six service-detail heroes. */
.service-hero-art--accounting {
    --service-bg: url("../images/service-hero-v3-accounting.webp");
    --service-position: 68% center;
}

.service-hero-art--audit {
    --service-bg: url("../images/service-hero-v3-audit-assurance.webp");
    --service-position: 68% center;
}

.service-hero-art--formation {
    --service-bg: url("../images/service-hero-v3-company-formation.webp");
    --service-position: 68% center;
}

.service-hero-art--consultancy {
    --service-bg: url("../images/service-hero-v3-financial-consultancy.webp");
    --service-position: 68% center;
}

.service-hero-art--pro {
    --service-bg: url("../images/service-hero-v3-pro-visa.webp");
    --service-position: 68% center;
}

.service-hero-art--tax {
    --service-bg: url("../images/service-hero-v3-tax-compliance.webp");
    --service-position: 68% center;
}

.page-hero.service-hero-art {
    box-sizing: border-box;
    block-size: min(840px, 95svh);
    min-block-size: min(560px, 95svh);
    max-block-size: 95svh;
    padding-block: clamp(92px, 16svh, 142px) clamp(34px, 7svh, 68px);
    overflow: hidden;
    background:
        linear-gradient(90deg, rgba(243, 239, 230, 0.98) 0%, rgba(243, 239, 230, 0.92) 42%, rgba(243, 239, 230, 0.20) 68%, rgba(24, 22, 15, 0.30) 100%),
        var(--service-bg) var(--service-position) / cover no-repeat;
}

/* Remove the legacy decorative frame that sits over the hero photography. */
.page-hero.service-hero-art::before {
    content: none;
}

.service-hero-art h1 {
    max-width: 10.5ch;
    margin-top: clamp(14px, 3svh, 28px);
    font-size: clamp(3.2rem, min(8.2vw, 14svh), 8rem);
    line-height: 0.84;
}

.service-hero-art p {
    max-width: 590px;
    margin-top: clamp(16px, 3svh, 26px);
    font-size: clamp(0.96rem, min(1.25vw, 2.3svh), 1.18rem);
    line-height: 1.58;
}

@media (max-width: 980px) {
    .page-hero.service-hero-art {
        block-size: min(760px, 95svh);
        min-block-size: min(540px, 95svh);
        padding-block: clamp(88px, 15svh, 118px) clamp(30px, 6svh, 54px);
        background:
            linear-gradient(180deg, rgba(243, 239, 230, 0.97) 0%, rgba(243, 239, 230, 0.88) 52%, rgba(243, 239, 230, 0.35) 100%),
            var(--service-bg) center / cover no-repeat;
    }

    .service-hero-art h1 {
        max-width: 11ch;
        font-size: clamp(2.9rem, min(10.5vw, 13svh), 6.1rem);
    }

    .service-hero-art p {
        max-width: 610px;
        line-height: 1.52;
    }
}

@media (max-width: 640px) {
    .page-hero.service-hero-art {
        block-size: min(700px, 95svh);
        min-block-size: min(520px, 95svh);
        padding-block: clamp(82px, 15svh, 104px) clamp(24px, 5svh, 40px);
    }

    .service-hero-art .crumb {
        margin-bottom: 0;
        padding: 7px 10px;
        font-size: 0.62rem;
    }

    .service-hero-art h1 {
        margin-top: clamp(12px, 2.6svh, 20px);
        font-size: clamp(2.45rem, min(12vw, 11svh), 4.25rem);
        line-height: 0.88;
    }

    .service-hero-art p {
        margin-top: clamp(12px, 2.5svh, 20px);
        padding-left: 13px;
        font-size: clamp(0.88rem, min(3.8vw, 2.2svh), 1rem);
        line-height: 1.42;
    }
}

@media (max-height: 560px) {
    .page-hero.service-hero-art {
        min-block-size: 0;
        padding-block: 72px 18px;
    }

    .service-hero-art .crumb {
        padding-block: 5px;
        font-size: 0.56rem;
    }

    .service-hero-art h1 {
        margin-top: 9px;
        font-size: clamp(2.1rem, min(7vw, 10svh), 4.4rem);
        line-height: 0.88;
    }

    .service-hero-art p {
        display: -webkit-box;
        margin-top: 10px;
        overflow: hidden;
        font-size: 0.82rem;
        line-height: 1.34;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
    }
}
