/* Beta colour study: fire-service red as a strong secondary field, navy remains the base. */
body {
    --hunter-red: #af2b1e;
    --signal-red: #af2b1e;
    --signal-red-deep: #791b14;
    background:
        radial-gradient(ellipse at 105% 5%, rgba(175,43,30,.42), transparent 38rem),
        radial-gradient(ellipse at -12% 42%, rgba(121,27,20,.32), transparent 42rem),
        radial-gradient(ellipse at 92% 88%, rgba(175,43,30,.24), transparent 40rem),
        linear-gradient(180deg, #081120, #050912);
}

.site-header {
    background: linear-gradient(180deg, rgba(95,24,17,.48), rgba(8,17,32,0));
}

.header-surface {
    border-color: rgba(175,43,30,.48);
    background:
        linear-gradient(105deg, rgba(175,43,30,.22), transparent 34%),
        linear-gradient(110deg, rgba(17,28,47,.94), rgba(8,17,32,.88));
    box-shadow: 0 22px 70px rgba(0,0,0,.32), inset 5px 0 0 rgba(175,43,30,.92);
}

.page-main::before {
    width: min(44rem,62vw);
    opacity: 1;
    background: linear-gradient(135deg,transparent 7%,rgba(175,43,30,.18) 44%,rgba(203,211,218,.045) 45% 48%,transparent 49%);
}

.hero h1 span,
.page-hero h1 span,
.about-hero h1 span,
.board-hero h1 span,
.support-hero h1 span,
.join-hero-copy h1 span {
    color: #d44231;
}

.hero-panel:not(.hero-recruit),
.content-card,
.info-card {
    border-color: rgba(175,43,30,.32);
    background: radial-gradient(circle at 100% 0,rgba(175,43,30,.18),transparent 38%),linear-gradient(180deg,rgba(13,23,40,.92),rgba(17,28,47,.97));
}

.hero-recruit,
.about-cta,
.join-steps article {
    border-color: rgba(175,43,30,.58);
    background: radial-gradient(circle at 100% 0,rgba(175,43,30,.48),transparent 54%),linear-gradient(145deg,rgba(45,20,19,.98),rgba(7,17,31,.98));
}

.destination-card,
.post-card,
.operation-card,
.function-card,
.music-feature {
    border-color: rgba(175,43,30,.28);
}

.destination-card:hover,
.post-card:hover,
.operation-card:hover,
.function-card:hover {
    border-color: rgba(195,52,37,.68);
}

.section-heading,
.about-paths__head,
.board-heading,
.music-heading {
    position: relative;
}

.section-heading::after,
.about-paths__head::after,
.board-heading::after,
.music-heading::after {
    content: "";
    display: block;
    width: clamp(5rem,10vw,9rem);
    height: 5px;
    margin-top: 1.25rem;
    background: linear-gradient(90deg,var(--hunter-red) 0 68%,var(--hunter-silver) 68% 82%,var(--hunter-yellow) 82%);
}

.community-story {
    background: linear-gradient(135deg,#f3ece8,#ead8d5);
}

.community-story::before {
    background: rgba(175,43,30,.38);
}

.community-copy blockquote {
    border-left-color: var(--hunter-red);
}

.community-copy .section-kicker {
    color: #8f2118;
}

/* Jugendfeuerwehr keeps its own orange and light-blue identity. */
.youth-page {
    background:
        radial-gradient(circle at 88% 7%,rgba(114,189,219,.49),transparent 34rem),
        radial-gradient(circle at -5% 31%,rgba(242,106,33,.37),transparent 29rem),
        radial-gradient(circle at 86% 68%,rgba(23,63,103,.72),transparent 37rem),
        linear-gradient(115deg,transparent 0 62%,rgba(242,106,33,.13) 62% 67%,rgba(216,224,229,.11) 67% 71%,rgba(114,189,219,.15) 71% 78%,transparent 78%);
}

.youth-page .section-heading::after,
.youth-page .youth-heading::after {
    background: linear-gradient(90deg,var(--jf-orange),var(--jf-light-blue),var(--jf-silver));
}

@media (max-width: 700px) {
    body {
        background: radial-gradient(circle at 112% 8%,rgba(175,43,30,.38),transparent 24rem),radial-gradient(circle at -20% 55%,rgba(121,27,20,.24),transparent 28rem),linear-gradient(180deg,#081120,#050912);
    }
}
