/* =========================
   UNTERSEITEN HERO
========================= */
.subhero {
    position: relative;
    isolation: isolate;
    display: flex;
    align-items: center;
    width: 100%;
    overflow: hidden;
    color: var(--subhero-text, #fff);
    background:
        radial-gradient(circle at 18% 20%, rgba(255,255,255,0.18), transparent 28%),
        linear-gradient(135deg, #101828 0%, #26364d 55%, #101828 100%);
    background-size: cover;
    background-position: center;
}
.subhero-small { min-height: 260px; }
.subhero-medium { min-height: 390px; }
.subhero-large { min-height: 540px; }
.subhero-backdrop {
    position: absolute;
    inset: 0;
    z-index: -1;
    background: var(--subhero-overlay, #101828);
    opacity: var(--subhero-overlay-opacity, 0.55);
}
.subhero:not(.subhero-has-image) .subhero-backdrop {
    opacity: 0.18;
}
.subhero-inner {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    padding: clamp(48px, 7vw, 96px) 0;
}
.subhero-align-left { text-align: left; }
.subhero-align-center { text-align: center; }
.subhero-align-right { text-align: right; }
.subhero-breadcrumb {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    margin-bottom: 26px;
    padding: 8px 13px;
    border: 1px solid rgba(255,255,255,0.18);
    border-radius: 999px;
    background: rgba(255,255,255,0.10);
    backdrop-filter: blur(12px);
    font-size: 14px;
}
.subhero-breadcrumb a {
    color: inherit;
    text-decoration: none;
    opacity: 0.88;
}
.subhero-breadcrumb a:hover { opacity: 1; }
.subhero-eyebrow {
    margin: 0 0 14px;
    color: var(--subhero-accent, #d4af37);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}
.subhero-title {
    max-width: 900px;
    margin: 0;
    font-size: clamp(38px, 6vw, 78px);
    line-height: 1.02;
    letter-spacing: -0.045em;
    font-weight: 850;
    color: inherit;
}
.subhero-align-center .subhero-title,
.subhero-align-center .subhero-subtitle { margin-left: auto; margin-right: auto; }
.subhero-align-right .subhero-title,
.subhero-align-right .subhero-subtitle { margin-left: auto; }
.subhero-subtitle {
    max-width: 720px;
    margin: 24px 0 0;
    font-size: clamp(18px, 2vw, 24px);
    line-height: 1.55;
    opacity: 0.92;
}
.subhero-modern::after {
    content: "";
    position: absolute;
    right: clamp(20px, 9vw, 130px);
    bottom: -70px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    border: 36px solid var(--subhero-accent, #d4af37);
    opacity: 0.22;
}
.subhero-split .subhero-inner {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(240px, 0.45fr);
    gap: 40px;
}
.subhero-split .subhero-inner::after {
    content: "";
    border-radius: 28px;
    background: linear-gradient(135deg, rgba(255,255,255,0.22), rgba(255,255,255,0.04));
    border: 1px solid rgba(255,255,255,0.18);
    min-height: 220px;
    box-shadow: 0 30px 80px rgba(0,0,0,0.22);
}
.subhero-minimal {
    background: #f7f4ee;
    color: #1f2937;
}
.subhero-minimal .subhero-backdrop { display: none; }
.subhero-minimal .subhero-breadcrumb {
    background: rgba(16,24,40,0.05);
    border-color: rgba(16,24,40,0.10);
}
@media (max-width: 800px) {
    .subhero-small, .subhero-medium, .subhero-large { min-height: 300px; }
    .subhero-inner { width: min(100% - 28px, 1180px); }
    .subhero-split .subhero-inner { display: block; }
    .subhero-split .subhero-inner::after { display: none; }
    .subhero-title { letter-spacing: -0.03em; }
}
