
.about-hero {
    padding: clamp(70px, 8vw, 118px) 0 clamp(58px, 7vw, 92px);
    border-bottom: 1px solid var(--color-border);
}

.about-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .55fr);
    align-items: center;
    gap: clamp(48px, 7vw, 100px);
}

.about-hero-copy { min-width: 0; }
.about-hero-copy h1 { max-width: 940px; }
.about-hero-copy > p:not(.eyebrow) { max-width: 790px; }
.about-hero-intro { margin-bottom: 18px;}
.about-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 32px; }

.about-portrait { width: min(100%, 430px); margin: 0; justify-self: end; }
.about-portrait-image {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    object-position: center;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-large);
    box-shadow: var(--shadow-large);
}
.about-portrait figcaption { padding: 14px 4px 0; color: var(--color-text-muted); font-size: .84rem; line-height: 1.5; }

.about-profile-grid, .about-personality-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .65fr);
    align-items: start;
    gap: clamp(42px, 6vw, 80px);
}
.about-copy-block > p { max-width: 790px; }

.about-facts, .about-personality-card {
    padding: 30px;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-medium);
    box-shadow: var(--shadow-card);
}
.about-facts h3 { margin-bottom: 24px; }
.about-facts dl { display: grid; gap: 18px; margin: 0; }
.about-facts dl > div { padding-bottom: 18px; border-bottom: 1px solid var(--color-border); }
.about-facts dl > div:last-child { padding-bottom: 0; border-bottom: 0; }
.about-facts dt { margin-bottom: 6px; color: var(--color-text-muted); font-size: .76rem; font-weight: 760; letter-spacing: .08em; text-transform: uppercase; }
.about-facts dd { margin: 0; color: var(--color-text); font-size: .98rem; line-height: 1.55; }

.about-process-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.about-process-card, .about-tool-card {
    padding: 26px;
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-medium);
    box-shadow: var(--shadow-card);
}
.about-process-card { min-height: 310px; }
.about-process-card h3, .about-tool-card h3 { margin-bottom: 10px; }
.about-process-card p:last-child, .about-tool-card p:last-child { margin-bottom: 0; }
.about-tools-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }

.about-personality-card {
    background: linear-gradient(145deg, rgba(220,161,93,.1), transparent 60%), var(--color-surface);
    border-color: rgba(220,161,93,.28);
}
.about-trait-list { display: grid; gap: 13px; padding: 0; margin: 22px 0 0; list-style: none; }
.about-trait-list li { position: relative; padding-left: 23px; color: var(--color-text-muted); }
.about-trait-list li::before { content: ""; position: absolute; top: .75em; left: 0; width: 8px; height: 8px; background: var(--color-accent); border-radius: 50%; transform: translateY(-50%); }

.about-video-feature {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
    overflow: hidden;
    background: var(--color-surface);
    border: 1px solid rgba(220,161,93,.3);
    border-radius: var(--radius-large);
    box-shadow: var(--shadow-card);
}
.about-video-embed { position: relative; min-height: 360px; aspect-ratio: 16 / 9; background: #08090b; }
.about-video-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(28px, 5vw, 50px); }
.about-video-copy h2 { margin-bottom: 12px; }
.about-video-copy p { max-width: 620px; }
.about-video-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 14px; }
.about-video-note { margin-top: 18px; color: var(--color-text-muted); font-size: .84rem; }

.about-channel-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
    margin-top: 28px;
    padding: 28px 30px;
    background: var(--color-background-soft);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-medium);
}
.about-channel-row h3 { margin-bottom: 7px; }
.about-channel-row p:last-child { margin-bottom: 0; }

@media (max-width: 1100px) {
    .about-process-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .about-process-card { min-height: auto; }
}
@media (max-width: 920px) {
    .about-hero-grid, .about-profile-grid, .about-personality-grid, .about-video-feature { grid-template-columns: 1fr; }
    .about-portrait { width: min(100%, 520px); justify-self: start; }
    .about-video-embed { min-height: 0; }
}
@media (max-width: 760px) {
    .about-hero { padding-top: 58px; }
    .about-tools-grid { grid-template-columns: 1fr; }
    .about-channel-row { display: grid; }
}
@media (max-width: 620px) {
    .about-process-grid { grid-template-columns: 1fr; }
    .about-hero-actions, .about-video-actions { display: grid; }
    .about-hero-actions .button, .about-video-actions .button, .about-channel-row .button { width: 100%; }
    .about-facts, .about-personality-card, .about-process-card, .about-tool-card { padding: 22px; }
}

/* =========================================================
   YouTube-Link statt eingebettetem iframe
   ========================================================= */

.about-video-link {
    position: relative;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;

    padding: 32px;

    color: var(--color-text);
    text-align: center;

    background:
        linear-gradient(
            rgba(0, 0, 0, 0.35),
            rgba(0, 0, 0, 0.55)
        ),
        url("../images/about/zugspitze-thumbnail.jpg")
        center / cover no-repeat;

    cursor: pointer;
    overflow: hidden;

    transition:
        background-color var(--transition-fast),
        border-color var(--transition-fast);
}

.about-video-link::before {
    content: "";
    position: absolute;
    inset: 0;

    background: rgba(0, 0, 0, 0);

    transition: background var(--transition-fast);
}

.about-video-link:hover::before,
.about-video-link:focus-visible::before {
    background: rgba(0, 0, 0, 0.16);
}

.about-video-link > * {
    position: relative;
    z-index: 1;
}

.about-video-play {
    display: grid;
    place-items: center;

    width: 72px;
    height: 72px;

    padding-left: 5px;

    color: var(--color-text-dark);
    background: var(--color-accent);
    border-radius: 50%;

    font-size: 1.6rem;

    transition:
        transform var(--transition-fast),
        background var(--transition-fast);
}

.about-video-link:hover .about-video-play,
.about-video-link:focus-visible .about-video-play {
    background: var(--color-accent-light);
    transform: scale(1.06);
}

.about-video-link-title {
    margin-top: 8px;

    font-family: var(--font-ui);
    font-size: 1.1rem;
    font-weight: 700;
}

.about-video-link-note {
    color: var(--color-text-muted);

    font-family: var(--font-body);
    font-size: 0.9rem;
}

/* =========================================================
   Kontakt-CTA — Text-Slide
   ========================================================= */

.contact-panel .button-primary {
    position: relative;

    width: 205px;
    min-height: 80px;

    overflow: hidden;

    /* globales Button-Hover-Anheben hier deaktivieren */
    transform: none;
}

.contact-panel .button-primary:hover,
.contact-panel .button-primary:focus-visible {
    transform: none;
}

.contact-panel .button-primary span {
    position: absolute;

    top: 50%;
    left: 24px;

    max-width: 125px;

    transform: translateY(-50%);

    transition:
        left 420ms ease,
        transform 420ms ease;

    text-align: left;
}

.contact-panel .button-primary:hover span,
.contact-panel .button-primary:focus-visible span {
    left: calc(100% - 24px);

    transform:
        translate(-100%, -50%);
}

@media (prefers-reduced-motion: reduce) {
    .contact-panel .button-primary span {
        transition: none;
    }
}

@media (max-width: 620px) {
    .contact-panel .button-primary {
        width: 100%;
        min-height: 64px;
    }

    .contact-panel .button-primary span {
        left: 22px;
        max-width: none;
    }

    .contact-panel .button-primary:hover span,
    .contact-panel .button-primary:focus-visible span {
        left: 22px;
        transform: translateY(-50%);
    }
}