/* Warme Outdoor-Gestaltung. Sämtliche Farben stammen aus dem Customizer. */

/* Ein schmales, wiederkehrendes Farbband. */
body.hagen-modern header.hagen-header {
    border-bottom-width:1px;
    box-shadow:0 4px 18px color-mix(in srgb,var(--hagen-heading) 6%,transparent);
}
body.hagen-modern header.hagen-header::before {
    content:"";
    display:block;
    height:6px;
    background:linear-gradient(
        90deg,
        var(--hagen-accent) 0% 20%,
        var(--hagen-sun) 20% 40%,
        var(--hagen-leaf) 40% 60%,
        var(--hagen-primary) 60% 80%,
        var(--hagen-berry) 80% 100%
    );
}
body.hagen-modern .hagen-footer {
    position:relative;
    padding-top:54px;
}
body.hagen-modern .hagen-footer::before {
    content:"";
    position:absolute;
    top:0;left:0;right:0;
    height:6px;
    background:linear-gradient(
        90deg,
        var(--hagen-accent) 0% 20%,
        var(--hagen-sun) 20% 40%,
        var(--hagen-leaf) 40% 60%,
        var(--hagen-primary) 60% 80%,
        var(--hagen-berry) 80% 100%
    );
}

/* Mehr Papier- und Fotoalbumcharakter. */
.hg-page {
    background:var(--hagen-surface);
}
.hg-page .hg-hero {
    position:relative;
    isolation:isolate;
    background-color:var(--hagen-background);
    background-image:
        radial-gradient(
            ellipse at 94% 8%,
            color-mix(in srgb,var(--hagen-sun) 23%,transparent),
            transparent 48%
        ),
        radial-gradient(
            ellipse at 4% 100%,
            color-mix(in srgb,var(--hagen-leaf) 10%,transparent),
            transparent 42%
        );
    border-bottom:0;
    padding-bottom:clamp(44px,6vw,76px);
}
.hg-page .hg-hero::after {
    content:"";
    position:absolute;
    bottom:18px;
    right:6%;
    width:34%;
    height:22px;
    border-bottom:2px dashed color-mix(
        in srgb,var(--hagen-leaf) 45%,transparent
    );
    border-radius:50%;
    transform:rotate(-3deg);
    pointer-events:none;
}
.hg-page .hg-hero h1 {
    font-weight:850;
    letter-spacing:-.055em;
    line-height:1.05;
}
.hg-page .hg-eyebrow {
    border-left-width:5px;
    font-weight:800;
}
.hg-page .hg-intro {
    line-height:1.8;
}

/* Das vorhandene Bild bleibt ein normaler, bearbeitbarer Bildblock. */
.hg-page .hg-hero-photo {
    position:relative;
    overflow:visible;
    padding:9px 9px 25px;
    border:0;
    border-radius:4px;
    background:var(--hagen-surface);
    box-shadow:
        0 3px 0 color-mix(in srgb,var(--hagen-heading) 9%,transparent),
        0 15px 32px color-mix(in srgb,var(--hagen-heading) 13%,transparent);
    transform:rotate(-2deg);
}
.hg-page .hg-hero-photo::before {
    content:"";
    position:absolute;
    width:82px;
    height:25px;
    top:-12px;
    left:22px;
    z-index:1;
    background:color-mix(in srgb,var(--hagen-sun) 78%,transparent);
    transform:rotate(-8deg);
    clip-path:polygon(
        3% 0,97% 3%,100% 22%,97% 45%,100% 67%,
        97% 100%,2% 96%,0 73%,3% 48%,0 21%
    );
    pointer-events:none;
}
.hg-page .hg-hero-photo img {
    border-radius:2px;
}
.hg-page .hg-hero-photo figcaption {
    color:var(--hagen-text);
    margin-top:12px;
    font-size:.9rem;
}

/* Kleine farbige Wegmarken statt großer bunter Flächen. */
.hg-page .hg-values {
    gap:10px;
}
.hg-page .hg-values p {
    padding:7px 13px;
    font-weight:650;
    color:var(--hagen-heading);
    border:0;
    border-radius:4px 12px 5px 10px;
    background:color-mix(
        in srgb,var(--hagen-sun) 24%,var(--hagen-surface)
    );
}
.hg-page .hg-values p:nth-child(3n+2) {
    background:color-mix(
        in srgb,var(--hagen-leaf) 16%,var(--hagen-surface)
    );
}
.hg-page .hg-values p:nth-child(3n+3) {
    background:color-mix(
        in srgb,var(--hagen-berry) 16%,var(--hagen-surface)
    );
}

/* Karten mit unterschiedlichen, konfigurierbaren Markierungen. */
.hg-page .hg-card {
    --hg-marker:var(--hagen-primary);
    background:var(--hagen-surface);
    border:1px solid color-mix(
        in srgb,var(--hagen-heading) 12%,var(--hagen-surface)
    );
    border-top:5px solid var(--hg-marker);
    border-radius:5px 19px 6px 15px;
    box-shadow:
        0 4px 0 color-mix(
            in srgb,var(--hg-marker) 12%,var(--hagen-background)
        );
}
.hg-page .wp-block-columns > .wp-block-column:nth-child(3n+1) .hg-card,
.hg-page .hg-post-grid > li:nth-child(3n+1) .hg-card {
    --hg-marker:var(--hagen-accent);
}
.hg-page .wp-block-columns > .wp-block-column:nth-child(3n+2) .hg-card,
.hg-page .hg-post-grid > li:nth-child(3n+2) .hg-card {
    --hg-marker:var(--hagen-leaf);
}
.hg-page .wp-block-columns > .wp-block-column:nth-child(3n+3) .hg-card,
.hg-page .hg-post-grid > li:nth-child(3n+3) .hg-card {
    --hg-marker:var(--hagen-primary);
}
.hg-page .hg-card .hg-number {
    color:var(--hg-marker);
    font-size:1.9rem;
    font-weight:850;
    letter-spacing:-.06em;
}

/* Ruhige, warme Abschnittsflächen. */
.hg-page .hg-instagram {
    background:color-mix(
        in srgb,var(--hagen-leaf) 7%,var(--hagen-background)
    );
    border-top:1px dashed color-mix(
        in srgb,var(--hagen-leaf) 40%,transparent
    );
    border-bottom:1px dashed color-mix(
        in srgb,var(--hagen-leaf) 40%,transparent
    );
}
.hg-page .hg-contact {
    background:color-mix(
        in srgb,var(--hagen-sun) 13%,var(--hagen-background)
    );
    border-top:0;
    border-bottom:5px solid var(--hagen-accent);
}
.hg-page .wp-block-button__link {
    border-radius:5px 15px 5px 12px;
    box-shadow:0 4px 0 var(--hagen-accent);
}
.hg-page .hg-post-card .wp-block-post-featured-image {
    padding:5px 5px 12px;
    background:var(--hagen-background);
    border-radius:3px;
}
.hg-page .hg-post-card .wp-block-post-featured-image img {
    border-radius:2px;
}

@media(min-width:900px) {
    
    
}
@media(hover:hover) and (pointer:fine) {
    .hg-page .hg-card:hover {
        transform:translateY(-5px) rotate(0);
        box-shadow:0 9px 0 color-mix(
            in srgb,var(--hg-marker) 15%,var(--hagen-background)
        );
    }
    .hg-page .wp-block-button__link:hover {
        transform:translateY(-3px);
        box-shadow:0 7px 0 var(--hagen-accent);
    }
}
@media(max-width:781px) {
    .hg-page .hg-hero-photo {
        transform:rotate(-1deg);
        margin-top:18px;
    }
    .hg-page .hg-hero::after {
        width:45%;
        right:8%;
    }
}
@media(prefers-reduced-motion:reduce) {
    .hg-page * {
        transition:none!important;
        animation:none!important;
    }
    .hg-page .hg-card:hover,
    .hg-page .wp-block-button__link:hover {
        transform:none;
    }
}
/* hagen-white-surfaces */
body.hagen-modern .hg-page .hg-hero {
    background:var(--hagen-background);
    background-image:none;
}
body.hagen-modern .hg-page .hg-contact {
    background:var(--hagen-background);
}
body.hagen-modern .hg-page .hg-instagram {
    background:var(--hagen-hover);
}
body.hagen-modern .hg-page .hg-instagram {
    background: var(--hagen-surface);
}

/* hagen-info-cards-uniform-hover-v1 */
body.hagen-modern .hg-page .hg-card:has(.hg-number) {
    position: relative;
    top: auto !important;
    rotate: none !important;
    scale: none !important;
    translate: none !important;
    transform: translateY(0) !important;
    box-shadow: 0 3px 12px color-mix(
        in srgb, var(--hagen-heading) 10%, transparent
    ) !important;
    transition: transform .2s ease, box-shadow .2s ease !important;
    animation: none !important;
}

@media (hover: hover) and (pointer: fine) {
    body.hagen-modern .hg-page .hg-card:has(.hg-number):hover {
        transform: translateY(-5px) !important;
        box-shadow: 0 12px 24px color-mix(
            in srgb, var(--hagen-heading) 18%, transparent
        ) !important;
    }
}

body.hagen-modern .hg-page .hg-card:has(.hg-number):focus-within {
    transform: translateY(-5px) !important;
    box-shadow: 0 12px 24px color-mix(
        in srgb, var(--hagen-heading) 18%, transparent
    ) !important;
}

@media (prefers-reduced-motion: reduce) {
    body.hagen-modern .hg-page .hg-card:has(.hg-number),
    body.hagen-modern .hg-page .hg-card:has(.hg-number):hover,
    body.hagen-modern .hg-page .hg-card:has(.hg-number):focus-within {
        transform: none !important;
        transition: none !important;
    }
}
/* hagen-hero-buttons-spacing-v1 */
body.hagen-modern .hg-page .hg-hero .wp-block-buttons {
    margin-top: clamp(32px, 4vw, 56px) !important;
}



/* hagen-axis-v4 */
.hg-page .hg-axis {
    display: flex;
    flex-direction: column;
    gap: 22px;
    position: relative;
    isolation: isolate;
    margin-top: 36px;
    padding: 8px 0 28px;
}
.hg-page .hg-axis > .wp-block-group__inner-container {
    display: contents;
}
.hg-page .hg-axis::before {
    content: "";
    position: absolute;
    top: 8px;
    bottom: 28px;
    left: 50%;
    width: 4px;
    transform: translateX(-50%);
    border-radius: 4px;
    background: var(--hagen-primary);
    z-index: -1;
}
.hg-page .hg-axis .hg-axis-month {
    align-self: center;
    box-sizing: border-box;
    width: 112px;
    max-width: none;
    margin: 12px 0;
    padding: 13px 4px;
    border-radius: 8px;
    background: var(--hagen-primary);
    color: var(--hagen-button-text);
    text-align: center;
    font-size: 1rem;
    font-weight: 750;
    line-height: 1.4;
}
.hg-page .hg-axis .hg-axis-event {
    position: relative;
    align-self: flex-start;
    box-sizing: border-box;
    width: calc(50% - 80px);
    max-width: none;
    min-width: 0;
    margin: 0;
    padding: 22px 24px;
    border: 1px solid color-mix(
        in srgb, var(--hagen-primary) 35%, var(--hagen-surface)
    );
    border-left: 5px solid var(--hagen-primary);
    border-radius: 12px;
    background: color-mix(
        in srgb, var(--hagen-primary) 9%, var(--hagen-surface)
    );
    box-shadow: 0 5px 16px color-mix(
        in srgb, var(--hagen-heading) 14%, transparent
    );
}
.hg-page .hg-axis .hg-axis-event:nth-child(even of .hg-axis-event) {
    align-self: flex-end;
    border-left-color: var(--hagen-accent);
    background: color-mix(
        in srgb, var(--hagen-accent) 9%, var(--hagen-surface)
    );
}
.hg-page .hg-axis-event::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 100%;
    width: 81px;
    height: 2px;
    background: var(--hagen-primary);
}
.hg-page .hg-axis-event:nth-child(even of .hg-axis-event)::before {
    left: auto;
    right: 100%;
    width: 85px;
}
.hg-page .hg-axis-event::after {
    content: none;
}
.hg-page .hg-axis-event p {
    margin: 0;
    color: var(--hagen-heading);
    font-size: 1.1rem;
    font-weight: 650;
    line-height: 1.5;
    overflow-wrap: anywhere;
}
.hg-page .hg-axis-event p + p {
    margin-top: 12px;
}
@media (max-width: 760px) {
    .hg-page .hg-axis {
        gap: 18px;
    }
    .hg-page .hg-axis::before {
        left: 45px;
    }
    .hg-page .hg-axis .hg-axis-month {
        align-self: flex-start;
        width: 90px;
        font-size: .85rem;
    }
    .hg-page .hg-axis .hg-axis-event,
    .hg-page .hg-axis .hg-axis-event:nth-child(even of .hg-axis-event) {
        align-self: flex-end;
        width: calc(100% - 110px);
        padding: 16px;
    }
    .hg-page .hg-axis .hg-axis-event::before,
    .hg-page .hg-axis .hg-axis-event:nth-child(even of .hg-axis-event)::before {
        left: auto;
        right: 100%;
        width: 70px;
    }
    .hg-page .hg-axis-event p {
        font-size: 1rem;
    }
}
/* end-hagen-axis-v4 */
/* hagen-axis-rainbow-cards-v1 */
.hg-page .hg-axis .hg-axis-event,
.hg-page .hg-axis .hg-axis-event:nth-child(even of .hg-axis-event) {
    --hg-event-rainbow: linear-gradient(
        120deg,
        var(--hagen-rainbow-red),
        var(--hagen-rainbow-orange),
        var(--hagen-rainbow-yellow),
        var(--hagen-rainbow-green),
        var(--hagen-rainbow-blue),
        var(--hagen-rainbow-purple),
        var(--hagen-rainbow-navy)
    );
    border: 2px solid transparent;
    border-radius: 12px;
    background:
        linear-gradient(
            var(--hagen-surface),
            var(--hagen-surface)
        ) padding-box,
        var(--hg-event-rainbow) border-box;
    box-shadow:
        -4px 5px 14px color-mix(
            in srgb, var(--hagen-rainbow-orange) 12%, transparent
        ),
        4px 5px 14px color-mix(
            in srgb, var(--hagen-rainbow-purple) 12%, transparent
        );
}
.hg-page .hg-axis .hg-axis-event::before,
.hg-page .hg-axis .hg-axis-event:nth-child(even of .hg-axis-event)::before {
    width: 82px;
}
@media (max-width: 760px) {
    .hg-page .hg-axis .hg-axis-event::before,
    .hg-page .hg-axis .hg-axis-event:nth-child(even of .hg-axis-event)::before {
        width: 67px;
    }
}
/* end-hagen-axis-rainbow-cards-v1 */
/* hagen-axis-descriptions-v1 */
.hg-page .hg-axis .hg-axis-event p.hg-axis-description {
    margin-top: 10px;
    color: var(--hagen-text);
    font-size: .98rem;
    font-weight: 400;
    line-height: 1.65;
}
.hg-page .hg-axis .hg-axis-description a {
    color: var(--hagen-primary);
    text-decoration: underline;
    text-underline-offset: 3px;
}
/* end-hagen-axis-descriptions-v1 */
/* hagen-axis-compact-rows-v1 */
.hg-page .hg-axis {
    gap: 24px;
}
.hg-page .hg-axis .hg-axis-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 112px minmax(0, 1fr);
    column-gap: 24px;
    align-items: center;
    width: 100%;
    max-width: none;
    min-width: 0;
    margin: 0;
    padding: 0;
}
.hg-page .hg-axis-row > .wp-block-group__inner-container {
    display: contents;
}
.hg-page .hg-axis .hg-axis-row .hg-axis-labels {
    grid-column: 2;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
    align-self: center;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}
.hg-page .hg-axis-labels > .wp-block-group__inner-container {
    display: contents;
}
.hg-page .hg-axis .hg-axis-month-label {
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 7px 4px;
    border-radius: 6px;
    background: var(--hagen-primary);
    color: var(--hagen-button-text);
    text-align: center;
    font-size: .9rem;
    font-weight: 700;
    line-height: 1.35;
}
.hg-page .hg-axis .hg-axis-row .hg-axis-event {
    grid-column: 1;
    grid-row: 1;
    align-self: center;
    width: 100%;
    max-width: none;
    margin: 0;
}
.hg-page .hg-axis .hg-axis-row:nth-child(even) .hg-axis-event {
    grid-column: 3;
}
.hg-page .hg-axis .hg-axis-row .hg-axis-event::before {
    left: 100%;
    right: auto;
    width: 82px;
}
.hg-page .hg-axis .hg-axis-row:nth-child(even) .hg-axis-event::before {
    left: auto;
    right: 100%;
}
@media (max-width: 760px) {
    .hg-page .hg-axis {
        gap: 20px;
    }
    .hg-page .hg-axis .hg-axis-row {
        grid-template-columns: 90px minmax(0, 1fr);
        column-gap: 20px;
    }
    .hg-page .hg-axis .hg-axis-row .hg-axis-labels {
        grid-column: 1;
    }
    .hg-page .hg-axis .hg-axis-row .hg-axis-event,
    .hg-page .hg-axis .hg-axis-row:nth-child(even) .hg-axis-event {
        grid-column: 2;
        width: 100%;
    }
    .hg-page .hg-axis .hg-axis-month-label {
        font-size: .8rem;
    }
    .hg-page .hg-axis .hg-axis-row .hg-axis-event::before,
    .hg-page .hg-axis .hg-axis-row:nth-child(even) .hg-axis-event::before {
        left: auto;
        right: 100%;
        width: 67px;
    }
}
/* end-hagen-axis-compact-rows-v1 */

/* hagen-axis-direct-month-v1 */
.hg-page .hg-axis .hg-axis-row .hg-axis-labels {
    position: relative;
    z-index: 3;
    align-self: center;
    margin: 0;
    padding: 0;
    transform: none;
}
.hg-page .hg-axis .hg-axis-month-label {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    margin: 0;
    padding: 8px 4px;
    background: var(--hagen-primary);
    color: var(--hagen-button-text);
    line-height: 1.3;
}
/* end-hagen-axis-direct-month-v1 */
/* hagen-axis-month-sections-v1 */
.hg-page .hg-axis {
    display: block;
    padding: 0 0 24px;
}
.hg-page .hg-axis::before {
    top: 0;
    bottom: 24px;
}
.hg-page .hg-axis .hg-axis-month-section {
    margin: 0 0 28px;
    padding: 0;
    width: 100%;
    max-width: none;
}
.hg-page .hg-axis .hg-axis-month-section:last-child {
    margin-bottom: 0;
}
.hg-page .hg-axis .hg-axis-section-title {
    position: relative;
    z-index: 2;
    box-sizing: border-box;
    width: 112px;
    max-width: none;
    margin: 0 auto 22px;
    padding: 10px 4px;
    border-radius: 7px;
    background: var(--hagen-primary);
    color: var(--hagen-button-text);
    text-align: center;
    font-size: 1rem;
    font-weight: 750;
    line-height: 1.4;
}
.hg-page .hg-axis .hg-axis-month-events {
    display: flex;
    flex-direction: column;
    gap: 22px;
    margin: 0;
    padding: 0;
    max-width: none;
}
.hg-page .hg-axis-month-events > .wp-block-group__inner-container {
    display: contents;
}
.hg-page .hg-axis .hg-axis-month-events .hg-axis-event {
    align-self: flex-start;
    width: calc(50% - 80px);
    max-width: none;
    margin: 0;
}
.hg-page .hg-axis .hg-axis-month-events .hg-axis-event:nth-child(even of .hg-axis-event) {
    align-self: flex-end;
}
.hg-page .hg-axis .hg-axis-month-events .hg-axis-event::before {
    left: 100%;
    right: auto;
    width: 82px;
}
.hg-page .hg-axis .hg-axis-month-events .hg-axis-event:nth-child(even of .hg-axis-event)::before {
    left: auto;
    right: 100%;
}
@media (max-width: 760px) {
    .hg-page .hg-axis .hg-axis-section-title {
        width: 90px;
        margin-left: 0;
        margin-right: 0;
        font-size: .85rem;
    }
    .hg-page .hg-axis .hg-axis-month-events .hg-axis-event,
    .hg-page .hg-axis .hg-axis-month-events .hg-axis-event:nth-child(even of .hg-axis-event) {
        align-self: flex-end;
        width: calc(100% - 110px);
    }
    .hg-page .hg-axis .hg-axis-month-events .hg-axis-event::before,
    .hg-page .hg-axis .hg-axis-month-events .hg-axis-event:nth-child(even of .hg-axis-event)::before {
        left: auto;
        right: 100%;
        width: 67px;
    }
}
/* end-hagen-axis-month-sections-v1 */

/* hagen-axis-full-empty-months-v1 */
.hg-page .hg-axis .hg-axis-empty-months {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin: 0 0 16px;
    padding: 0;
    width: 100%;
    max-width: none;
}
.hg-page .hg-axis-empty-months > .wp-block-group__inner-container {
    display: contents;
}
.hg-page .hg-axis .hg-axis-empty-months .hg-axis-section-title {
    margin-top: 0;
    margin-bottom: 0;
}
/* end-hagen-axis-full-empty-months-v1 */
/* hagen-home-heading-wrap-v1 */
body.home.hagen-modern .hg-hero h1 {
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    font-size: clamp(1.8rem, 3.6vw, 3.25rem);
}
/* end-hagen-home-heading-wrap-v1 */
/* hagen-network-pages-v1 */
.hg-page .hg-network-list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
    margin-top: 32px;
}
.hg-page .hg-network-list > .wp-block-group__inner-container,
.hg-page .hg-org-card > .wp-block-group__inner-container,
.hg-page .hg-district-grid > .wp-block-group__inner-container {
    display: contents;
}
.hg-page .hg-org-card {
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr);
    gap: 30px;
    align-items: center;
    margin: 0;
    padding: clamp(22px, 3vw, 32px);
    border: 1px solid color-mix(
        in srgb, var(--hagen-heading) 22%, var(--hagen-surface)
    );
    border-radius: 14px;
    background: var(--hagen-surface);
    box-shadow: 0 5px 18px color-mix(
        in srgb, var(--hagen-heading) 9%, transparent
    );
}
.hg-page .hg-org-card .hg-org-logo {
    width: 100%;
    max-width: 160px;
    margin: 0;
}
.hg-page .hg-org-card .hg-org-logo img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 120px;
    object-fit: contain;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
.hg-page .hg-org-copy {
    min-width: 0;
    margin: 0;
}
.hg-page .hg-org-copy h2 {
    margin-top: 0;
    font-size: clamp(1.3rem, 2vw, 1.7rem);
    line-height: 1.3;
}
.hg-page .hg-org-copy p {
    line-height: 1.65;
}
.hg-page .hg-district-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin-top: 24px;
}
.hg-page .hg-local-card {
    min-width: 0;
    margin: 0;
    padding: 24px;
    border-top: 4px solid var(--hagen-primary);
    border-radius: 10px;
    background: var(--hagen-hover);
}
.hg-page .hg-local-card h3 {
    margin-top: 0;
    font-size: 1.25rem;
    line-height: 1.3;
}
.hg-page .hg-local-card p {
    margin-bottom: 0;
    line-height: 1.65;
}
.hg-page .hg-network-route {
    border-left: 4px solid var(--hagen-primary);
}
@media (max-width: 900px) {
    .hg-page .hg-district-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}
@media (max-width: 650px) {
    .hg-page .hg-org-card {
        grid-template-columns: minmax(0, 1fr);
        gap: 22px;
    }
    .hg-page .hg-org-card .hg-org-logo {
        max-width: 140px;
    }
}
/* end-hagen-network-pages-v1 */
/* hagen-parent-support-v1 */
.hg-page .hg-parent-grid,
.hg-page .hg-support-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin: 24px 0;
}
.hg-page .hg-support-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.hg-page .hg-parent-grid > .wp-block-group__inner-container,
.hg-page .hg-support-grid > .wp-block-group__inner-container {
    display: contents;
}
.hg-page .hg-parent-card {
    box-sizing: border-box;
    min-width: 0;
    max-width: none;
    margin: 0;
    padding: 24px;
    background: var(--hagen-hover);
    border-top: 4px solid var(--hagen-primary);
    border-radius: 10px;
}
.hg-page .hg-parent-card h3 {
    margin-top: 0;
    color: var(--hagen-heading);
    font-size: 1.2rem;
    line-height: 1.35;
}
.hg-page .hg-parent-card p {
    margin-bottom: 0;
    color: var(--hagen-text);
    font-size: 1rem;
    line-height: 1.7;
}
@media (max-width: 950px) {
    .hg-page .hg-support-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}
@media (max-width: 700px) {
    .hg-page .hg-parent-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}
/* end-hagen-parent-support-v1 */

/* hagen-lead-hero-v1:start */
.hg-page .hg-hero.hg-lead-hero {
    position: relative;
    isolation: isolate;
    padding: clamp(24px, 4vw, 48px);
    margin-bottom: clamp(28px, 4vw, 48px);
    border: 1px solid color-mix(in srgb, var(--hagen-primary) 24%, var(--hagen-surface));
    border-top: 7px solid var(--hagen-primary);
    border-radius: 8px 30px 8px 30px;
    background:
        radial-gradient(ellipse at 100% 0%,
            color-mix(in srgb, var(--hagen-accent) 16%, transparent),
            transparent 62%),
        linear-gradient(120deg,
            var(--hagen-surface),
            color-mix(in srgb, var(--hagen-primary) 9%, var(--hagen-surface)));
    box-shadow: 0 8px 0 color-mix(
        in srgb, var(--hagen-primary) 10%, var(--hagen-background)
    );
}
.hg-page .hg-lead-hero::before,
.hg-page .hg-lead-hero::after {
    display: none !important;
}
.hg-lead-hero > .wp-block-group__inner-container {
    display: contents;
}
.hg-page .hg-lead-hero .hg-lead-columns {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(24px, 4vw, 56px);
    margin: 0;
}
.hg-page .hg-lead-hero .wp-block-column {
    min-width: 0;
    margin: 0;
}
.hg-page .hg-lead-hero .hg-eyebrow {
    margin: 0 0 16px;
}
.hg-page .hg-lead-hero h1.hg-lead-title {
    max-width: 12ch;
    margin: 0 0 20px;
    font-size: clamp(2.35rem, 4.8vw, 4.5rem);
    line-height: 1.04;
    letter-spacing: -.035em;
    color: var(--hagen-heading);
    word-break: normal;
    overflow-wrap: normal;
    hyphens: none;
}
.hg-page .hg-lead-hero .hg-lead-intro {
    max-width: 43ch;
    margin: 0 0 22px;
    font-size: clamp(1rem, 1.5vw, 1.12rem);
    line-height: 1.65;
    color: var(--hagen-text);
}
.hg-page .hg-lead-hero .hg-actions {
    margin: 0;
}
.hg-page .hg-lead-hero .hg-lead-secondary {
    margin: 16px 0 0;
    font-size: .95rem;
}
.hg-page .hg-lead-hero .hg-lead-secondary a {
    color: var(--hagen-heading);
    text-decoration: underline;
    text-underline-offset: .2em;
}
.hg-page .hg-lead-route {
    display: grid;
    gap: 14px;
    margin: 0;
}
.hg-lead-route > .wp-block-group__inner-container,
.hg-lead-step > .wp-block-group__inner-container {
    display: contents;
}
.hg-page .hg-lead-route-label {
    margin: 0 0 2px;
    color: var(--hagen-heading);
    font-size: .8rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.hg-page .hg-lead-step {
    --hg-lead-marker: var(--hagen-primary);
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    align-items: center;
    gap: 16px;
    margin: 0;
    padding: 20px;
    border: 1px solid color-mix(
        in srgb, var(--hg-lead-marker) 28%, var(--hagen-surface)
    );
    border-left: 6px solid var(--hg-lead-marker);
    border-radius: 6px 18px 6px 18px;
    background: color-mix(
        in srgb, var(--hg-lead-marker) 7%, var(--hagen-surface)
    );
    box-shadow: 0 4px 0 color-mix(
        in srgb, var(--hg-lead-marker) 14%, var(--hagen-surface)
    );
}
.hg-page .hg-lead-step:nth-of-type(2) {
    --hg-lead-marker: var(--hagen-accent);
}
.hg-page .hg-lead-step-number {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    margin: 0;
    border-radius: 50%;
    background: var(--hagen-surface);
    border: 2px solid var(--hg-lead-marker);
    color: var(--hagen-heading);
    font-size: 1.15rem;
    font-weight: 850;
}
.hg-page .hg-lead-step-copy {
    margin: 0;
}
.hg-page .hg-lead-step-copy h3 {
    margin: 0 0 5px;
    font-size: clamp(1.1rem, 1.7vw, 1.35rem);
    line-height: 1.25;
}
.hg-page .hg-lead-step-copy h3 a {
    color: var(--hagen-heading);
    text-decoration: none;
}
.hg-page .hg-lead-step-copy h3 a:hover {
    text-decoration: underline;
    text-underline-offset: .18em;
}
.hg-page .hg-lead-step-copy p {
    margin: 0;
    color: var(--hagen-text);
    font-size: .93rem;
    line-height: 1.5;
}
.hg-lead-hero a:focus-visible {
    outline: 3px solid var(--hagen-focus);
    outline-offset: 4px;
}
body.page-id-28 .hg-page [id] {
    scroll-margin-top: 230px;
}
@media (max-width: 780px) {
    .hg-page .hg-lead-hero .hg-lead-columns {
        grid-template-columns: 1fr;
        gap: 28px;
    }
    .hg-page .hg-lead-hero h1.hg-lead-title {
        max-width: 15ch;
    }
    .hg-page .hg-lead-step {
        padding: 16px;
    }
}
/* hagen-lead-hero-v1:end */

/* hagen-lead-download-options-v1:start */
.hg-page .wp-block-file.hg-lead-download {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 24px 0 0;
    padding: clamp(20px, 3vw, 30px);
    border: 1px solid color-mix(
        in srgb, var(--hagen-primary) 25%, var(--hagen-surface)
    );
    border-left: 6px solid var(--hagen-accent);
    border-radius: 6px 20px 6px 20px;
    background: color-mix(
        in srgb, var(--hagen-primary) 6%, var(--hagen-surface)
    );
}
.hg-page .hg-lead-download > a:not(.wp-block-file__button) {
    color: var(--hagen-heading);
    font-size: 1.05rem;
    font-weight: 750;
    text-underline-offset: .2em;
}
.hg-page .hg-lead-download .wp-block-file__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 15px 22px;
    border: 2px solid var(--hagen-primary);
    border-radius: 6px 15px 6px 15px;
    background: var(--hagen-primary);
    color: var(--hagen-button-text);
    font-size: 1rem;
    font-weight: 750;
    line-height: 1.4;
    text-decoration: none;
    box-shadow: 0 4px 0 var(--hagen-accent);
}
.hg-page .hg-lead-download .wp-block-file__button:hover {
    box-shadow: 0 6px 0 var(--hagen-accent);
    text-decoration: underline;
    text-underline-offset: .2em;
}
.hg-page .hg-training-options {
    margin: 24px 0 0;
    border: 1px solid color-mix(
        in srgb, var(--hagen-primary) 32%, var(--hagen-surface)
    );
    border-radius: 8px 16px 8px 16px;
    background: var(--hagen-surface);
    overflow: hidden;
}
.hg-page .hg-training-options > summary {
    display: list-item;
    padding: 16px 18px;
    background: color-mix(
        in srgb, var(--hagen-primary) 10%, var(--hagen-surface)
    );
    color: var(--hagen-heading);
    font-weight: 750;
    line-height: 1.45;
    cursor: pointer;
}
.hg-page .hg-training-options > summary::marker {
    color: var(--hagen-primary);
}
.hg-page .hg-training-options[open] > summary {
    border-bottom: 1px solid var(--hagen-primary);
}
.hg-page .hg-training-options > p {
    margin: 0;
    padding: 18px;
    color: var(--hagen-text);
    font-size: .95rem;
    line-height: 1.6;
}
.hg-page .hg-training-options > p + p {
    border-top: 1px solid color-mix(
        in srgb, var(--hagen-primary) 17%, var(--hagen-surface)
    );
}
.hg-page .hg-training-options > p:last-child {
    background: color-mix(
        in srgb, var(--hagen-accent) 6%, var(--hagen-surface)
    );
}
.hg-page .hg-training-options a {
    color: var(--hagen-heading);
    text-decoration: underline;
    text-underline-offset: .2em;
}
.hg-page .hg-lead-download a:focus-visible,
.hg-page .hg-training-options summary:focus-visible,
.hg-page .hg-training-options a:focus-visible {
    outline: 3px solid var(--hagen-focus);
    outline-offset: 3px;
}
@media (max-width: 600px) {
    .hg-page .wp-block-file.hg-lead-download {
        flex-direction: column;
        align-items: stretch;
    }
    .hg-page .hg-lead-download .wp-block-file__button {
        width: 100%;
        box-sizing: border-box;
        text-align: center;
    }
}
/* hagen-lead-download-options-v1:end */

/* hagen-protection-downloads-v1:start */
.hg-protection-page .hg-protection-download {
    margin: 24px 0;
}
.hg-protection-page .hg-protection-download .wp-block-button__link {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    max-width: 100%;
    padding: 16px 24px;
    border: 2px solid var(--hagen-primary);
    border-radius: 6px 18px 6px 18px;
    background: var(--hagen-primary);
    color: var(--hagen-button-text);
    font: inherit;
    font-weight: 750;
    line-height: 1.4;
    text-align: center;
    text-decoration: none;
    box-shadow: 0 4px 0 var(--hagen-accent);
}
.hg-protection-page .hg-protection-download button:disabled {
    background: color-mix(
        in srgb, var(--hagen-heading) 11%, var(--hagen-surface)
    );
    color: color-mix(
        in srgb, var(--hagen-heading) 68%, var(--hagen-surface)
    );
    border-color: color-mix(
        in srgb, var(--hagen-heading) 20%, var(--hagen-surface)
    );
    box-shadow: none;
    cursor: not-allowed;
    opacity: 1;
    transform: none;
}
.hg-protection-page .hg-protection-download > p {
    max-width: 58ch;
    margin: 14px 0 0;
    color: var(--hagen-text);
    font-size: .95rem;
    line-height: 1.6;
}
.hg-protection-page .hg-protection-download a:hover {
    text-decoration: underline;
    text-underline-offset: .2em;
}
.hg-protection-page .hg-protection-download a:focus-visible {
    outline: 3px solid var(--hagen-focus);
    outline-offset: 4px;
}
/* hagen-protection-downloads-v1:end */

/* hagen-safety-layout-v2:start */
.hg-page.hg-safety-page {
    --hg-safety-color: var(--hagen-primary);
}
.hg-page.hg-safety-code {
    --hg-safety-color: var(--hagen-accent);
}
.hg-safety-page .hg-hero.hg-safety-hero {
    position: relative;
    padding: clamp(24px, 4vw, 46px);
    margin-bottom: clamp(30px, 5vw, 58px);
    border-top: 7px solid var(--hg-safety-color);
    border-radius: 8px 28px 8px 28px;
    background: linear-gradient(
        125deg,
        var(--hagen-surface),
        color-mix(in srgb, var(--hg-safety-color) 11%, var(--hagen-surface))
    );
    box-shadow: 0 7px 0 color-mix(
        in srgb, var(--hg-safety-color) 12%, var(--hagen-background)
    );
}
.hg-safety-page .hg-safety-hero::before,
.hg-safety-page .hg-safety-hero::after {
    display: none !important;
}
.hg-safety-hero > .wp-block-group__inner-container,
.hg-safety-seal > .wp-block-group__inner-container,
.hg-safety-poster > .wp-block-group__inner-container,
.hg-safety-topics > .wp-block-group__inner-container,
.hg-safety-topic > .wp-block-group__inner-container {
    display: contents;
}
.hg-safety-page .hg-safety-columns {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(24px, 4vw, 52px);
    margin: 0;
}
.hg-safety-page .hg-safety-columns > .wp-block-column {
    min-width: 0;
    margin: 0;
}
.hg-safety-page .hg-safety-hero h1 {
    margin: 16px 0 22px;
    max-width: 20ch;
    font-size: clamp(1.65rem, 3.7vw, 3.5rem);
    line-height: 1.1;
    letter-spacing: -.025em;
    word-break: normal;
    overflow-wrap: normal;
}
.hg-safety-page .hg-safety-hero p:not(.hg-eyebrow) {
    max-width: 55ch;
    line-height: 1.7;
}
.hg-safety-page .hg-safety-hero .hg-eyebrow {
    margin-top: 0;
}
.hg-safety-page .hg-safety-seal {
    display: grid;
    justify-items: center;
    gap: 20px;
    margin: 0;
    text-align: center;
}
.hg-safety-page .hg-safety-seal .hg-safety-seal-title {
    display: grid;
    place-items: center;
    width: clamp(140px, 17vw, 200px);
    aspect-ratio: 1;
    margin: 0;
    padding: 12px;
    box-sizing: border-box;
    border: 3px solid var(--hagen-primary);
    border-radius: 32% 32% 46% 46%;
    background: var(--hagen-primary);
    color: var(--hagen-button-text);
    box-shadow: 9px 9px 0 color-mix(
        in srgb, var(--hagen-primary) 20%, var(--hagen-surface)
    );
    font-size: clamp(3rem, 6vw, 5rem);
    line-height: 1;
    font-weight: 850;
    letter-spacing: -.05em;
}
.hg-safety-page .hg-safety-seal .hg-safety-seal-caption {
    max-width: 24ch;
    margin: 0;
    color: var(--hagen-heading);
    font-size: 1rem;
    font-weight: 750;
    line-height: 1.5;
}
.hg-safety-page .hg-safety-poster {
    display: grid;
    gap: 8px;
    margin: 0;
    padding: clamp(24px, 3vw, 36px);
    border-left: 7px solid var(--hagen-accent);
    border-radius: 6px 24px 6px 18px;
    background: var(--hagen-surface);
    box-shadow: 7px 7px 0 color-mix(
        in srgb, var(--hagen-accent) 17%, var(--hagen-surface)
    );
}
.hg-safety-page .hg-safety-poster .hg-safety-poster-label {
    margin: 0 0 12px;
    color: var(--hagen-heading);
    font-size: .75rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .1em;
}
.hg-safety-page .hg-safety-poster .hg-safety-poster-word {
    margin: 0;
    color: var(--hagen-heading);
    font-size: clamp(1.65rem, 3vw, 2.8rem);
    font-weight: 850;
    line-height: 1.15;
    letter-spacing: -.035em;
}
.hg-safety-page .hg-safety-poster-word:nth-of-type(2) {
    color: var(--hagen-primary);
}
.hg-safety-page .hg-safety-poster-word:nth-of-type(3) {
    color: var(--hagen-accent);
}
.hg-safety-page .hg-safety-explanation {
    margin-bottom: clamp(32px, 5vw, 60px);
}
.hg-safety-page .hg-safety-explanation > p,
.hg-safety-page .hg-safety-explanation > .wp-block-group__inner-container > p {
    max-width: 78ch;
}
.hg-safety-page .hg-safety-topics {
    display: grid;
    gap: 20px;
    margin: 28px 0 0;
}
.hg-safety-isk .hg-safety-topics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.hg-safety-page .hg-safety-topic {
    min-width: 0;
    padding: clamp(20px, 3vw, 28px);
    margin: 0;
    border: 1px solid color-mix(
        in srgb, var(--hg-safety-color) 23%, var(--hagen-surface)
    );
    border-radius: 6px 19px 6px 19px;
    background: var(--hagen-surface);
    box-shadow: 0 5px 0 color-mix(
        in srgb, var(--hg-safety-color) 12%, var(--hagen-background)
    );
}
.hg-safety-isk .hg-safety-topic {
    border-top: 5px solid var(--hagen-primary);
}
.hg-safety-page .hg-safety-topic h3 {
    margin: 12px 0 10px;
    color: var(--hagen-heading);
    font-size: 1.3rem;
    line-height: 1.3;
}
.hg-safety-page .hg-safety-topic p {
    margin: 0;
    color: var(--hagen-text);
    line-height: 1.65;
}
.hg-safety-page .hg-safety-topic .hg-safety-topic-number {
    color: var(--hg-safety-color);
    font-size: 1.4rem;
    font-weight: 850;
    line-height: 1.2;
}
.hg-safety-code .hg-safety-topic {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    align-items: start;
    gap: 20px;
    border-left: 5px solid var(--hagen-accent);
}
.hg-safety-code .hg-safety-topic .hg-safety-topic-number {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: color-mix(
        in srgb, var(--hagen-accent) 10%, var(--hagen-surface)
    );
    font-size: 1.15rem;
}
.hg-safety-code .hg-safety-topic-copy h3 {
    margin-top: 0;
}
.hg-safety-page .hg-safety-download-panel {
    margin: 0 0 32px;
    padding: clamp(24px, 4vw, 36px);
    border-left: 6px solid var(--hg-safety-color);
    border-radius: 6px 22px 6px 22px;
    background: color-mix(
        in srgb, var(--hg-safety-color) 8%, var(--hagen-surface)
    );
}
.hg-safety-page .hg-safety-download-panel h2 {
    margin-top: 0;
}
.hg-safety-page .hg-safety-contact {
    padding: 24px 0 0;
    border-top: 1px solid color-mix(
        in srgb, var(--hagen-heading) 18%, var(--hagen-surface)
    );
}
.hg-safety-page .hg-safety-contact h2 {
    font-size: clamp(1.25rem, 2vw, 1.65rem);
}
@media (max-width: 780px) {
    .hg-safety-page .hg-safety-columns {
        grid-template-columns: 1fr;
    }
    .hg-safety-isk .hg-safety-topics {
        grid-template-columns: 1fr;
    }
    .hg-safety-page .hg-safety-seal {
        grid-template-columns: auto minmax(0, 1fr);
        align-items: center;
        text-align: left;
    }
    .hg-safety-page .hg-safety-seal .hg-safety-seal-title {
        width: 110px;
        font-size: 2.7rem;
    }
}
@media (max-width: 400px) {
    .hg-safety-page .hg-safety-seal {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .hg-safety-code .hg-safety-topic {
        grid-template-columns: 36px minmax(0, 1fr);
        gap: 14px;
    }
    .hg-safety-code .hg-safety-topic .hg-safety-topic-number {
        width: 36px;
        height: 36px;
    }
}
/* hagen-safety-layout-v2:end */
