/* Chauffeur Services and Gallery: photographic hero with clear, elegant copy. */
body.page-chauffeur .chauffeur-hero,
body.page-gallery .gallery-hero {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
    min-height: 575px;
    overflow: hidden;
    padding: clamp(3rem,6vw,5rem) 0;
    background: #092448;
    color: #fff;
}
body.page-chauffeur .chauffeur-hero > .service-hero__photo,
body.page-gallery .gallery-hero > .service-hero__photo {
    position: absolute; inset: 0; z-index: 0;
    display: block; width: 100%; height: 100%; max-width: none;
    object-fit: cover; object-position: center 54%;
}
body.page-chauffeur .chauffeur-hero::after,
body.page-gallery .gallery-hero::after {
    content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
    background: linear-gradient(90deg,rgba(2,16,38,.96) 0%,rgba(3,24,55,.87) 37%,rgba(4,33,65,.43) 70%,rgba(2,22,47,.18) 100%),
                linear-gradient(0deg,rgba(2,16,38,.24),transparent 55%);
}
body.page-chauffeur .chauffeur-hero > .container,
body.page-gallery .gallery-hero > .container {
    position: relative; z-index: 2;
    width: min(100% - 48px,1360px); max-width: 1360px;
    padding-top: 0; padding-bottom: 0;
}
body.page-chauffeur .chauffeur-hero nav,
body.page-gallery .gallery-hero nav {
    margin-bottom: clamp(2rem,4vw,3.5rem);
    color: #e5ecf6; font-size: .85rem;
}
body.page-chauffeur .chauffeur-hero nav a,
body.page-gallery .gallery-hero nav a { color: #fff; }
body.page-chauffeur .chauffeur-hero p,
body.page-gallery .gallery-hero p {
    margin: 0 0 .85rem; color: #f2cf83;
    font-size: .78rem; font-weight: 850;
    line-height: 1.55; letter-spacing: .17em;
    text-shadow: 0 2px 12px rgba(0,0,0,.4);
}
body.page-chauffeur .chauffeur-hero h1,
body.page-gallery .gallery-hero h1 {
    max-width: 810px; margin: 0 0 1.15rem;
    color: #fff9ed !important;
    font-size: clamp(3rem,5.2vw,5.5rem);
    line-height: 1.02; letter-spacing: -.025em;
    text-shadow: 0 3px 24px rgba(0,0,0,.35);
}
body.page-chauffeur .chauffeur-hero .container > span,
body.page-gallery .gallery-hero .container > span {
    display: block; max-width: 610px;
    color: #f1f5fb; font-size: clamp(1rem,1.35vw,1.15rem);
    font-weight: 500; line-height: 1.7; letter-spacing: normal;
    text-shadow: 0 2px 14px rgba(0,0,0,.45);
}
body.page-chauffeur .service-hero__cta,
body.page-gallery .service-hero__cta {
    display: inline-flex; align-items: center; justify-content: center; gap: .7rem;
    min-height: 51px; margin-top: 1.8rem; padding: .75rem 1.35rem;
    border: 1px solid #f2d99f; border-radius: 9px;
    background: linear-gradient(110deg,#ffe4a5,#deb45d);
    color: #081c3b; font-weight: 800; text-decoration: none;
    box-shadow: 0 12px 30px rgba(0,0,0,.23);
}
body.page-chauffeur .service-hero__cta:hover,
body.page-gallery .service-hero__cta:hover { background: #fff0c9; }
@media (max-width: 700px) {
    body.page-chauffeur .chauffeur-hero,
    body.page-gallery .gallery-hero {
        min-height: 520px; height: auto; align-items: flex-end;
        padding: 0;
    }
    body.page-chauffeur .chauffeur-hero > .service-hero__photo,
    body.page-gallery .gallery-hero > .service-hero__photo { object-position: 60% center; }
    body.page-gallery .gallery-hero > .service-hero__photo { object-position: 42% center; }
    body.page-chauffeur .chauffeur-hero::after,
    body.page-gallery .gallery-hero::after {
        z-index: 1;
        background: linear-gradient(180deg,rgba(2,20,44,.34) 0%,rgba(2,19,42,.82) 47%,rgba(2,18,42,.96) 100%);
    }
    body.page-chauffeur .chauffeur-hero > .container,
    body.page-gallery .gallery-hero > .container {
        display: block; min-height: 0;
        width: min(100% - 36px,540px);
        padding: 6rem 0 2.4rem;
    }
    body.page-chauffeur .chauffeur-hero nav,
    body.page-gallery .gallery-hero nav { margin-bottom: 2.5rem; font-size: .8rem; }
    body.page-chauffeur .chauffeur-hero p,
    body.page-gallery .gallery-hero p { font-size: .68rem; }
    body.page-chauffeur .chauffeur-hero h1,
    body.page-gallery .gallery-hero h1 {
        max-width: 13ch; font-size: clamp(2.5rem,10vw,3.4rem);
        line-height: 1.06;
    }
    body.page-chauffeur .chauffeur-hero .container > span,
    body.page-gallery .gallery-hero .container > span { font-size: .98rem; line-height: 1.6; }
    body.page-chauffeur .service-hero__cta,
    body.page-gallery .service-hero__cta { min-height: 52px; width: 100%; margin-top: 1.5rem; }
}
