/* rail-assets.info — Atlas look, BFSG contrast, mobile-first. Tokens from theme. */
:root { color-scheme: light; }

.nav a[href*="inhaltsverzeichnis"],
.site-footer a[href*="inhaltsverzeichnis"],
.html-sitemap { display: none !important; }

.site-header {
    background: #ffffff;
    border-bottom: 1px solid rgba(10, 25, 49, 0.08);
    color: #0a1931;
}
.site-header::before {
    content: "";
    display: block;
    height: 3px;
    background: #f5b041;
}
.brand {
    color: #0a1931;
    letter-spacing: 0.08em;
}
.nav a {
    color: #0a1931;
    font-weight: 600;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
}
.nav a:hover, .nav a:focus { color: #0a1931; text-decoration: underline; }
.nav a[aria-current="page"] {
    color: #0a1931;
    box-shadow: inset 0 -2px 0 #f5b041;
}
.nav a[href$="/kontakt"] {
    background: #0a1931;
    color: #ffffff;
    box-shadow: none;
}
.nav-toggle {
    color: #0a1931;
    border: 1.5px solid #0a1931;
    min-height: 44px;
    min-width: 44px;
}
.lang-switch__current { background: #0a1931; color: #fff; }
.lang-switch__link { color: #0a1931; }

/* Hero stays the Atlas dusk band; gold hairline + tighter first screen. */
.content .frame:has(h1) {
    padding-top: 64px;
    padding-bottom: 56px;
    border-top: 3px solid #f5b041;
}
.content .frame:has(h1) .ra-hero-art { opacity: 0.8; }

.page-title { display: none; }

.content .frame:not(:has(h1)) h2 {
    font-size: clamp(1.45rem, 1.15rem + 1vw, 1.85rem);
    letter-spacing: -0.02em;
    max-width: 28ch;
}
.content .frame:not(:has(h1)) h2::before {
    background: #f5b041;
}
.content .frame:not(:has(h1)) p,
.content .frame:not(:has(h1)) li {
    max-width: 68ch;
    color: #152238;
}

.ra-partners__card { border-top: 3px solid #f5b041; }
.ra-partners__card--hold { border-top-color: #f5b041; }
.ra-card { border-top: 3px solid #f5b041; }
.ra-btn--ghost { border-color: #0a1931; }

details {
    border: 1px solid rgba(10, 25, 49, 0.1);
    border-left: 3px solid #f5b041;
    background: #fff;
    padding: 0.75rem 1rem;
    margin: 0.5rem 0;
}
details summary {
    cursor: pointer;
    font-weight: 700;
    color: #0a1931;
    min-height: 44px;
    display: flex;
    align-items: center;
}

.site-footer { background: #0a1931; color: #e6ebf1; }
.site-footer a { color: #f5b041; }
.site-footer a:hover, .site-footer a:focus { color: #ffe0a3; }

@media (max-width: 47.99rem) {
    .header-row { padding: 12px 0; }
    .content .frame:has(h1) { padding: 48px 18px 40px; }
    .ra-kpi__value { font-size: 1.75rem; }
}
