/* HERO obrázky služeb. Samostatný soubor zachovává vaše úpravy styles.css. */
.service-hero {
    --service-image-position: 70% center;
    --service-image-gradient: linear-gradient(90deg, #0b1830f5 0%, #102a58df 45%, #12386f55 100%);
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.service-hero.has-hero-image > .hero-photo {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: var(--service-image-position);
    z-index: 0;
}
.home-hero.service-hero.has-hero-image::before {
    z-index: 1;
    background: var(--service-image-gradient);
    pointer-events: none;
}
.service-hero.has-hero-image > .service-hero-inner {
    position: relative;
    z-index: 2;
}
/* Přehled kroků zůstává čitelný i přes členitější fotografii. */
.service-hero.has-hero-image .service-summary {
    background: rgba(11, 24, 48, .72);
}
@media (max-width: 760px) {
    .home-hero.service-hero.has-hero-image::before {
        background: linear-gradient(90deg, #0b1830e8, #102a58bf);
    }
}

/* Společná geometrie všech vnitřních hero. Minimum dovolí růst při zvětšení textu. */
.service-hero > .service-hero-inner {
    min-height: 600px;
    padding-block: 32px 48px;
    display: flex;
    flex-direction: column;
}
.service-hero .service-back { align-self: flex-start; margin-bottom: 28px; }
.service-hero .service-hero-grid { flex: 1; width: 100%; align-content: center; }
.service-hero .service-hero-grid > * { min-width: 0; }
.about-profile-copy { display: grid; grid-template-columns: 1fr 1.15fr; gap: 88px; }
.about-profile.has-portrait { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); align-items: center; gap: 56px; }
.has-portrait .about-profile-copy { display: block; }
.about-portrait { margin: 0; }
.about-portrait img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 3px; }
.about-profile-copy p:last-child { margin-bottom: 0; }
@media (max-width: 960px) {
    .service-hero > .service-hero-inner { min-height: 660px; }
    .about-profile-copy, .about-profile.has-portrait { gap: 32px; }
}
@media (max-width: 760px) {
    .service-hero > .service-hero-inner { min-height: 800px; padding-block: 28px 36px; }
    .service-hero .service-hero-grid { align-items: start; }
    .about-profile-copy, .about-profile.has-portrait { grid-template-columns: 1fr; gap: 28px; }
    .about-portrait { width: min(100%, 360px); }
}
@media (max-width: 520px) {
    .service-hero > .service-hero-inner { min-height: 940px; }
}
/* Reference přebírají geometrii ostatních obsahových karet. */
.lpit-redesign .service-references .web-reference-card { border-top: 3px solid var(--primary); border-radius: 3px; }
.lpit-redesign .service-references .web-reference-content { padding: 26px; }
.lpit-redesign .service-references .web-reference-content h3 { font-size: 1.4rem; }
.lpit-redesign .service-references .section-subheading { margin-bottom: 36px; }
@media (max-width: 960px) {
    .lpit-redesign .service-references .web-reference-content { padding: 22px; }
}
