/* dela-media · about.css — Stile der Über-mich-Seite.
   Ausgelagert aus dem <style>-Block der about.html. */

:root{color-scheme:dark}
/* ==========================================================================
   dela-media.com — about.html · V2 "SIGNAL" · v2.0.0
   Self-contained · DSGVO: keine externen Requests
   © Felix Klein – www.dela-media.com
   ========================================================================== */

:root {
    --bg-base:#0a0a0f; --bg-primary:#12121a;
    --bg-glass:rgba(255,255,255,0.03); --bg-glass-hover:rgba(255,255,255,0.06);
    --text-primary:#f0f0f5; --text-secondary:rgba(240,240,245,0.65); --text-tertiary:rgba(240,240,245,0.4);
    --accent:#f39200; --accent-hover:#ffa620; --accent-light:rgba(243,146,0,0.15); --accent-glow:rgba(243,146,0,0.4);
    --glass-border:rgba(255,255,255,0.08); --glass-border-hover:rgba(255,255,255,0.15);
    --glass-blur:blur(20px);
    --shadow-card:0 4px 24px rgba(0,0,0,0.3), 0 0 0 1px var(--glass-border);
    --shadow-card-hover:0 12px 40px rgba(0,0,0,0.4), 0 0 0 1px var(--glass-border-hover), 0 0 30px rgba(243,146,0,0.1);
    --radius:16px; --radius-sm:12px;
    --font-display:'Space Grotesk',-apple-system,BlinkMacSystemFont,sans-serif;
    --font-body:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,sans-serif;
    --font-mono:'JetBrains Mono','SF Mono',monospace;
    --ease-out:cubic-bezier(0.22,1,0.36,1); --ease-expo:cubic-bezier(0.87,0,0.13,1);
    --t-normal:250ms cubic-bezier(0.4,0,0.2,1); --t-slow:400ms cubic-bezier(0.4,0,0.2,1);
    --gutter:clamp(20px,5vw,96px);
}
*,*::before,*::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body {
    background:var(--bg-base); color:var(--text-primary);
    font-family:var(--font-body); font-weight:400; line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden; overflow-x:clip; /* clip bricht position:sticky nicht */
    min-height:100vh;
}
::selection { background:var(--accent); color:#0a0a0f; }
img { max-width:100%; display:block; height:auto; }
    .skip-link{position:fixed;left:-9999px;top:0;z-index:9999;padding:12px 20px;background:var(--color-accent,#f39200);color:#000;font-weight:600;font-size:15px;text-decoration:none;border-radius:0 0 8px 0}
    .skip-link:focus{left:0}
    /* Logo-Schutz */ .nav__logo img,.footer__brand img{width:auto}
a { color:inherit; text-decoration:none; }
button { font:inherit; color:inherit; background:none; border:none; cursor:pointer; }
:focus-visible { outline:2px solid var(--accent); outline-offset:3px; border-radius:2px; }

.grain {
    position:fixed; inset:-50%; width:200%; height:200%;
    pointer-events:none; z-index:2000; opacity:0.05;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    animation:grain 8s steps(10) infinite;
}
@keyframes grain {
    0%,100% { transform:translate(0,0);} 10% { transform:translate(-5%,-8%);} 20% { transform:translate(-12%,3%);}
    30% { transform:translate(6%,-10%);} 40% { transform:translate(-4%,12%);} 50% { transform:translate(-10%,4%);}
    60% { transform:translate(10%,0);} 70% { transform:translate(0,10%);} 80% { transform:translate(-12%,0);} 90% { transform:translate(9%,5%);}
}
.cursor,.cursor-ring { position:fixed; top:0; left:0; pointer-events:none; z-index:2500; will-change:transform; }
.cursor { width:8px; height:8px; border-radius:50%; background:var(--accent); transform:translate(-50%,-50%); }
.cursor-ring {
    width:36px; height:36px; border-radius:50%; border:1px solid rgba(243,146,0,0.5);
    transform:translate(-50%,-50%);
    transition:width 300ms var(--ease-out), height 300ms var(--ease-out), background-color 300ms var(--ease-out), border-color 300ms var(--ease-out);
}
.cursor-ring.is-link { width:56px; height:56px; background:rgba(243,146,0,0.12); border-color:var(--accent); }
@media (pointer:coarse) { .cursor,.cursor-ring { display:none; } }
.progress { position:fixed; top:0; left:0; right:0; height:2px; z-index:1500; pointer-events:none; }
.progress i { display:block; height:100%; background:linear-gradient(90deg,var(--accent),var(--accent-hover)); transform-origin:left; transform:scaleX(0); }

/* Nav (identisch zur Startseite) */
.nav {
    position:fixed; top:0; left:0; right:0; z-index:1000;
    display:flex; align-items:center; justify-content:space-between;
    padding:20px var(--gutter);
    transition:background-color var(--t-slow), padding var(--t-slow), border-color var(--t-slow);
    border-bottom:1px solid transparent;
}
.nav.is-scrolled {
    background:rgba(10,10,15,0.72);
    backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur);
    border-bottom-color:var(--glass-border);
    padding-top:14px; padding-bottom:14px;
}
.nav__logo { display:flex; align-items:center; z-index:1101; transition:opacity var(--t-normal); }
.nav__logo:hover { opacity:0.8; }
.nav__logo img { height:22px; width:auto; }
.nav__links { display:flex; gap:36px; align-items:center; }
.nav__links a {
    font-family:var(--font-mono); font-size:12px; letter-spacing:0.18em; text-transform:uppercase;
    color:var(--text-secondary); position:relative; padding:4px 0; transition:color var(--t-normal);
}
.nav__links a::after {
    content:''; position:absolute; left:0; bottom:0; height:1px; width:100%;
    background:var(--accent); transform:scaleX(0); transform-origin:right;
    transition:transform 350ms var(--ease-out);
}
.nav__links a:hover { color:var(--text-primary); }
.nav__links a:hover::after { transform:scaleX(1); transform-origin:left; }
.nav__links a.is-active { color:var(--accent); }
.nav__status {
    display:flex; align-items:center; gap:8px;
    font-family:var(--font-mono); font-size:11px; letter-spacing:0.2em; color:var(--text-secondary);
    border:1px solid var(--glass-border); border-radius:100px; padding:8px 16px; background:var(--bg-glass);
}
.nav__status i { width:7px; height:7px; border-radius:50%; background:#22c55e; display:block; box-shadow:0 0 8px rgba(34,197,94,0.8); animation:pulse 2s ease-in-out infinite; }
@keyframes pulse { 50% { opacity:0.4; } }
.nav__burger { display:none; z-index:1101; width:44px; height:44px; position:relative; }
.nav__burger span { position:absolute; left:10px; right:10px; height:2px; background:var(--text-primary); transition:transform 350ms var(--ease-out), top 350ms var(--ease-out), opacity 200ms; }
.nav__burger span:nth-child(1){ top:16px; } .nav__burger span:nth-child(2){ top:22px; } .nav__burger span:nth-child(3){ top:28px; }
.nav__burger.is-open span:nth-child(1){ top:22px; transform:rotate(45deg); }
.nav__burger.is-open span:nth-child(2){ opacity:0; }
.nav__burger.is-open span:nth-child(3){ top:22px; transform:rotate(-45deg); }
.menu {
    position:fixed; inset:0; z-index:1100; background:rgba(10,10,15,0.96);
    backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur);
    display:flex; flex-direction:column; justify-content:center; padding:0 var(--gutter);
    clip-path:circle(0% at calc(100% - 44px) 40px);
    transition:clip-path 700ms var(--ease-expo); visibility:hidden;
}
.menu.is-open { clip-path:circle(150% at calc(100% - 44px) 40px); visibility:visible; }
.menu a {
    font-family:var(--font-display); font-weight:600; font-size:clamp(36px,9vw,64px);
    letter-spacing:-0.02em; line-height:1.35; color:var(--text-primary);
    display:flex; align-items:baseline; gap:16px;
    opacity:0; transform:translateY(30px);
    transition:opacity 500ms var(--ease-out), transform 500ms var(--ease-out), color var(--t-normal);
}
.menu.is-open a { opacity:1; transform:none; }
.menu.is-open a:nth-child(1){transition-delay:150ms} .menu.is-open a:nth-child(2){transition-delay:220ms}
.menu.is-open a:nth-child(3){transition-delay:290ms} .menu.is-open a:nth-child(4){transition-delay:360ms}
.menu.is-open a:nth-child(5){transition-delay:430ms}
.menu a small { font-family:var(--font-mono); font-size:12px; color:var(--accent); letter-spacing:0.2em; }
.menu a:hover { color:var(--accent); }

/* Buttons */

/* Sections */
.section { position:relative; padding:clamp(100px,14vh,180px) var(--gutter); }
.section__label {
    font-family:var(--font-mono); font-size:12px; letter-spacing:0.3em; text-transform:uppercase;
    color:var(--accent); display:flex; align-items:center; gap:14px; margin-bottom:20px;
}
.section__label::before { content:''; width:40px; height:1px; background:var(--accent); flex-shrink:0; }
.section__label b { color:var(--text-tertiary); font-weight:400; }
.section__title { font-family:var(--font-display); font-weight:600; font-size:clamp(38px,6vw,84px); line-height:1.02; letter-spacing:-0.03em; }
.section__title em { font-style:normal; color:transparent; -webkit-text-stroke:1px rgba(240,240,245,0.5); }
.section__title .accent { color:var(--accent); -webkit-text-stroke:0; }
.section__head { margin-bottom:clamp(48px,7vh,88px); }
.section__bg {
    position:absolute; inset:0; z-index:0; pointer-events:none;
    background-size:cover; background-position:center;
    filter:brightness(.18) saturate(.5); opacity:.5;
}
.section__bg::after { content:""; position:absolute; inset:0; background:linear-gradient(to bottom, var(--bg-base) 0%, transparent 18%, transparent 72%, var(--bg-base) 100%); }
.section > *:not(.section__bg) { position:relative; z-index:1; }
.rv { opacity:0; transform:translateY(48px); transition:opacity 900ms var(--ease-out), transform 900ms var(--ease-out); transition-delay:var(--d,0ms); will-change:opacity,transform; }
.rv.in { opacity:1; transform:none; }

/* ── About-Hero ── */
.ahero { position:relative; min-height:100svh; display:flex; align-items:center; overflow:hidden; padding:140px var(--gutter) 80px; }
.ahero__bg {
    position:absolute; inset:0; z-index:0; pointer-events:none;
    background-image:url('../img/set-studio-lights.webp');
    background-size:cover; background-position:center;
    filter:brightness(.25) saturate(.55); opacity:.55;
}
.ahero__bg::after {
    content:""; position:absolute; inset:0;
    background:radial-gradient(ellipse at 65% 40%, transparent 0%, rgba(10,10,15,.5) 55%, rgba(10,10,15,.95) 100%),
               linear-gradient(to bottom, rgba(10,10,15,.4), transparent 30%, transparent 70%, var(--bg-base) 100%);
}
.ahero__grid { position:relative; z-index:1; display:grid; grid-template-columns:1.25fr 1fr; gap:clamp(40px,6vw,110px); align-items:center; width:100%; }
.ahero__eyebrow {
    font-family:var(--font-mono); font-size:clamp(11px,1.2vw,13px); letter-spacing:0.3em;
    color:var(--text-secondary); text-transform:uppercase; margin-bottom:clamp(20px,3vh,36px);
    display:flex; align-items:center; gap:14px;
}
.ahero__eyebrow::before { content:''; width:48px; height:1px; background:var(--accent); flex-shrink:0; }
.ahero__title {
    font-family:var(--font-display); font-weight:700;
    font-size:clamp(52px,9.5vw,150px); line-height:0.95; letter-spacing:-0.04em; text-transform:uppercase;
}
.ahero__title .line { display:block; overflow:hidden; padding-bottom:0.07em; margin-bottom:-0.07em; }
.ahero__title .line > span { display:inline-block; transform:translateY(115%); transition:transform 1100ms var(--ease-expo); transition-delay:var(--d,0ms); }
.ahero__title.in .line > span { transform:none; }
.ahero__title .outline { color:transparent; -webkit-text-stroke:1.5px rgba(240,240,245,0.55); }
.ahero__title .accent { color:var(--accent); }
.ahero__sub { margin-top:clamp(24px,4vh,44px); max-width:480px; color:var(--text-secondary); font-weight:300; font-size:clamp(15px,1.4vw,18px); }
.ahero__sub b { color:var(--text-primary); font-weight:600; }
.ahero__cta { display:flex; gap:16px; flex-wrap:wrap; margin-top:36px; }
.ahero__media { position:relative; }
.ahero__frame { position:relative; overflow:hidden; border-radius:var(--radius); box-shadow:var(--shadow-card); aspect-ratio:4/5; }
.ahero__frame img { width:100%; height:100%; object-fit:cover; transform:scale(1.1); filter:saturate(0.85); transition:transform 1.2s var(--ease-out), filter 600ms; will-change:transform; }
.ahero__media:hover .ahero__frame img { filter:saturate(1.05); }
.ahero__tag {
    position:absolute; bottom:20px; left:20px; z-index:2;
    background:rgba(10,10,15,0.7); backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur);
    border:1px solid var(--glass-border); border-radius:100px; padding:10px 20px;
    font-family:var(--font-mono); font-size:11px; letter-spacing:0.2em; color:var(--text-secondary);
}
.ahero__tag b { color:var(--accent); font-weight:500; }

/* ── Story ── */
.story { display:grid; grid-template-columns:auto 1fr; gap:clamp(32px,5vw,90px); align-items:start; max-width:1200px; }
.story__yeah {
    font-family:var(--font-display); font-weight:700;
    font-size:clamp(64px,10vw,160px); line-height:0.9; letter-spacing:-0.04em;
    color:transparent; -webkit-text-stroke:1.5px var(--accent);
    writing-mode:vertical-rl; transform:rotate(180deg); text-transform:uppercase;
    user-select:none;
}
.story__body h3, .story__body [data-lvl="3"] { font-family:var(--font-display); font-weight:600; font-size:clamp(24px,2.8vw,38px); line-height:1.3; letter-spacing:-0.02em; margin-bottom:28px; }
.story__body h3 em, .story__body [data-lvl="3"] em { font-style:normal; color:var(--accent); }
.story__body p { color:var(--text-secondary); font-weight:300; font-size:clamp(15px,1.35vw,17.5px); max-width:64ch; margin-bottom:18px; }
.story__body p b { color:var(--text-primary); font-weight:600; }
@media (max-width:860px) { .story { grid-template-columns:1fr; } .story__yeah { writing-mode:horizontal-tb; transform:none; font-size:clamp(48px,12vw,80px); } }

/* ── Werdegang (vertikale Timeline) ── */
.cv { position:relative; max-width:820px; }
.cv::before { content:''; position:absolute; left:7px; top:6px; bottom:6px; width:1px; background:linear-gradient(var(--accent), var(--glass-border)); }
.cv__item { position:relative; padding:0 0 clamp(36px,5vh,56px) 48px; }
.cv__item:last-child { padding-bottom:0; }
.cv__item::before {
    content:''; position:absolute; left:0; top:6px; width:15px; height:15px; border-radius:50%;
    background:var(--bg-base); border:2px solid var(--accent);
    box-shadow:0 0 16px var(--accent-glow);
}
.cv__time { font-family:var(--font-mono); font-size:12px; letter-spacing:0.2em; color:var(--accent); text-transform:uppercase; display:block; margin-bottom:8px; }
.cv__item h4, .cv__item [data-lvl="4"] { font-family:var(--font-display); font-weight:600; font-size:clamp(20px,2vw,28px); letter-spacing:-0.01em; }
.cv__item .sub { font-family:var(--font-mono); font-size:11px; color:var(--text-tertiary); letter-spacing:0.08em; display:block; margin:4px 0 10px; }
.cv__item p { color:var(--text-secondary); font-weight:300; font-size:15px; max-width:56ch; }

/* ── Meilensteine (horizontales Scroll-Snap-Band) ── */
.miles { position:relative; }
.miles__track {
    display:flex; gap:20px; overflow-x:auto; scroll-snap-type:x mandatory;
    padding:12px 4px 28px; margin:0 -4px;
    scrollbar-width:thin; scrollbar-color:var(--accent) transparent;
    cursor:grab;
}
.miles__track.is-dragging { cursor:grabbing; scroll-snap-type:none; }
.miles__track::-webkit-scrollbar { height:4px; }
.miles__track::-webkit-scrollbar-thumb { background:var(--accent); border-radius:2px; }
.miles__track::-webkit-scrollbar-track { background:var(--glass-border); border-radius:2px; }
.mile {
    flex:0 0 clamp(260px,30vw,360px); scroll-snap-align:start;
    position:relative; padding:32px 28px 36px; border-radius:var(--radius);
    background:var(--bg-glass); border:1px solid var(--glass-border);
    backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur);
    box-shadow:var(--shadow-card);
    transition:transform var(--t-slow), box-shadow var(--t-slow), border-color var(--t-slow);
    user-select:none;
}
.mile:hover { transform:translateY(-6px); box-shadow:var(--shadow-card-hover); border-color:var(--glass-border-hover); }
.mile::before { content:''; position:absolute; inset:0 0 auto 0; height:1px; background:linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent); }
.mile__year {
    font-family:var(--font-display); font-weight:700; font-size:clamp(36px,4vw,52px);
    letter-spacing:-0.03em; line-height:1; color:transparent;
    -webkit-text-stroke:1.2px var(--accent); display:block; margin-bottom:22px;
}
.mile h4, .mile [data-lvl="4"] { font-family:var(--font-display); font-weight:600; font-size:19px; letter-spacing:-0.01em; margin-bottom:10px; }
.mile p { color:var(--text-secondary); font-weight:300; font-size:14px; }
.mile__link { display:inline-flex; align-items:center; gap:6px; margin-top:12px; color:var(--accent); font-family:var(--font-mono); font-size:12px; letter-spacing:0.05em; transition:color var(--t-normal); }
.mile__link:hover { color:var(--accent-hover); }
.miles__hint { font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.25em; text-transform:uppercase; color:var(--text-tertiary); margin-top:8px; display:flex; align-items:center; gap:10px; }
.miles__hint::after { content:'⟶'; color:var(--accent); animation:nudge 2s ease-in-out infinite; }
@keyframes nudge { 50% { transform:translateX(8px); } }

/* ── Zahlen ── */
.numbers { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--glass-border); border:1px solid var(--glass-border); border-radius:var(--radius); overflow:hidden; }
.num { background:var(--bg-base); padding:40px 28px; text-align:center; transition:background var(--t-normal); }
.num:hover { background:var(--bg-glass-hover); }
.num__v { font-family:var(--font-display); font-weight:700; font-size:clamp(40px,5vw,68px); line-height:1; letter-spacing:-0.03em; display:flex; align-items:baseline; justify-content:center; }
.num__v em { font-style:normal; color:var(--accent); font-size:0.6em; margin-left:2px; }
.num__k { font-family:var(--font-mono); font-size:10.5px; letter-spacing:0.2em; text-transform:uppercase; color:var(--text-tertiary); margin-top:12px; }
@media (max-width:860px) { .numbers { grid-template-columns:1fr 1fr; } }

/* ── Prozess ── */
.process { counter-reset:step; display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.step {
    position:relative; padding:36px 28px 40px; border-radius:var(--radius);
    background:var(--bg-glass); border:1px solid var(--glass-border);
    backdrop-filter:var(--glass-blur); -webkit-backdrop-filter:var(--glass-blur);
    box-shadow:var(--shadow-card); overflow:hidden;
    transition:transform var(--t-slow), box-shadow var(--t-slow), border-color var(--t-slow);
}
.step:hover { transform:translateY(-6px); box-shadow:var(--shadow-card-hover); border-color:var(--glass-border-hover); }
.step::before { content:''; position:absolute; inset:0 0 auto 0; height:1px; background:linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent); }
.step__num { font-family:var(--font-mono); font-size:12px; color:var(--accent); letter-spacing:0.2em; display:block; margin-bottom:44px; }
.step__tag { font-family:var(--font-mono); font-size:10px; letter-spacing:0.25em; text-transform:uppercase; color:var(--text-tertiary); display:block; margin-bottom:10px; }
.step h4, .step [data-lvl="4"] { font-family:var(--font-display); font-weight:600; font-size:clamp(18px,1.7vw,22px); letter-spacing:-0.01em; margin-bottom:12px; }
.step p { color:var(--text-secondary); font-weight:300; font-size:14.5px; }
@media (max-width:1000px) { .process { grid-template-columns:1fr 1fr; } }
@media (max-width:620px) { .process { grid-template-columns:1fr; } }

/* ── CTA ── */
.acta { position:relative; padding-block:clamp(140px,16vw,240px); overflow:hidden; text-align:center; }
.acta__bg { position:absolute; inset:0; background-size:cover; background-position:center; filter:brightness(.22) saturate(.55); opacity:.6; }
.acta__bg::after { content:""; position:absolute; inset:0; background:radial-gradient(ellipse at center, transparent 0%, rgba(10,10,15,.6) 55%, rgba(10,10,15,.95) 100%); }
.acta__inner { position:relative; z-index:2; max-width:1100px; margin:0 auto; padding-inline:var(--gutter); }
.acta h2 {
    font-family:var(--font-display); font-weight:600;
    font-size:clamp(38px,6.5vw,96px); line-height:1.08; letter-spacing:-0.04em;
    margin-bottom:24px; text-wrap:balance;
}
.acta h2 em { font-style:normal; color:transparent; -webkit-text-stroke:1.5px var(--accent); }
.acta p { color:var(--text-secondary); font-weight:300; font-size:clamp(15px,1.5vw,19px); margin-bottom:48px; }
.acta__cta { display:inline-flex; flex-wrap:wrap; gap:16px; justify-content:center; }

/* ── Footer (identisch zur Startseite) — Sticky Reveal ── */
main { position:relative; z-index:2; background:var(--bg-base); }
.footer {
    position:sticky; bottom:0; z-index:1; overflow:hidden;
    min-height:100vh; box-sizing:border-box;
    display:flex; flex-direction:column; justify-content:flex-end;
    padding:clamp(64px,7vw,96px) var(--gutter) 36px;
    background:#0d0d14;
    border-top:1px solid var(--glass-border);
}
.footer__bg {
    position:absolute; inset:0; z-index:0; pointer-events:none;
    background-size:cover; background-position:center;
    opacity:.8; will-change:transform, opacity;
}
.footer__bg::after {
    content:""; position:absolute; inset:0;
    background:radial-gradient(ellipse at center, transparent 0%, rgba(10,10,15,.6) 55%, rgba(10,10,15,.95) 100%);
}
.footer > *:not(.footer__bg) { position:relative; z-index:1; }
.footer__inner {
    width:100%; max-width:1480px; margin:0 auto; display:grid; grid-template-columns:1fr;
    gap:clamp(40px,6vw,96px); align-items:start; padding-bottom:44px; border-bottom:1px solid var(--glass-border);
}
.footer__brand img { height:22px; width:auto; margin-bottom:22px; }
.footer__brand p { font-weight:300; font-size:15px; line-height:1.7; color:var(--text-secondary); max-width:34ch; }
.footer__contact h4, .footer__contact [data-lvl="4"] { font-family:var(--font-mono); font-weight:500; font-size:10px; letter-spacing:.35em; text-transform:uppercase; color:var(--text-tertiary); margin:0 0 18px; }
.footer__contact ul { list-style:none; display:flex; flex-direction:column; gap:4px; min-width:min(340px,80vw); }
.footer__contact a { display:flex; align-items:center; gap:18px; padding:14px 16px; margin:0 -16px; border-radius:12px; color:var(--text-secondary); transition:background .3s var(--ease-out), color .3s; }
.footer__contact a:hover { background:rgba(255,255,255,.035); color:var(--text-primary); }
.footer__contact-ic { flex:0 0 auto; width:42px; height:42px; border:1px solid var(--glass-border-hover); border-radius:999px; display:grid; place-items:center; color:var(--text-secondary); transition:border-color .3s, color .3s, background .3s; }
.footer__contact a:hover .footer__contact-ic { border-color:var(--accent); background:var(--accent); color:#000; }
.footer__contact-txt { display:flex; flex-direction:column; gap:3px; flex:1 1 auto; min-width:0; }
.footer__contact-txt .k { font-family:var(--font-mono); font-size:9px; letter-spacing:.28em; text-transform:uppercase; color:var(--text-tertiary); transition:color .3s; }
.footer__contact a:hover .footer__contact-txt .k { color:var(--accent); }
.footer__contact-txt .v { font-family:var(--font-display); font-weight:500; font-size:17px; letter-spacing:-.01em; }

    /* Kontaktwege als Reihe unter dem Footer-Kopf */
    .footer__contact--row { width:100%; max-width:640px; margin:40px auto 0; text-align:center; }
    .footer__contact--row h3, .footer__contact--row [data-lvl="4"] { margin-bottom:18px; }
    .footer__contact--row ul { display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:10px; min-width:0; }
    .footer__contact--row li { min-width:0; }
    .footer__contact--row a { margin:0; gap:14px; padding:14px; border:1px solid var(--glass-border); border-radius:14px; height:100%; }
    .footer__contact--row a:hover { border-color:var(--glass-border-hover); }
    .footer__contact--row .footer__contact-ic { width:38px; height:38px; }
    .footer__contact--row .footer__contact-txt { text-align:left; }
    .footer__contact--row .footer__contact-txt .v { font-size:15px; overflow-wrap:anywhere; }
    .footer__contact--row .footer__contact-arr { display:none; }

.footer__contact-arr { flex:0 0 auto; color:var(--text-tertiary); opacity:0; transform:translateX(-6px); transition:opacity .3s var(--ease-out), transform .3s var(--ease-out); }
.footer__contact a:hover .footer__contact-arr { opacity:1; transform:translateX(0); color:var(--accent); }
.footer__bottom {
    width:100%; max-width:1480px; margin:0 auto; padding-top:24px;
    display:flex; justify-content:space-between; align-items:center;
    font-family:var(--font-mono); font-size:10px; letter-spacing:.28em; text-transform:uppercase;
    color:var(--text-tertiary); gap:18px; flex-wrap:wrap;
}
.footer__bottom a { transition:color var(--t-normal); }
.footer__bottom a:hover { color:var(--accent); }
@media (max-width:720px) { .footer__inner { grid-template-columns:1fr; } }

/* Responsive */
@media (max-width:860px) {
    .nav__links,.nav__status { display:none; }
    .nav__burger { display:block; }
    .ahero__grid { grid-template-columns:1fr; }
    .ahero { padding-top:120px; }
}
@media (prefers-reduced-motion: reduce) {
    *,*::before,*::after { animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; }
    html { scroll-behavior:auto; }
    .rv { opacity:1; transform:none; }
    .ahero__title .line > span { transform:none; }
    .grain { display:none; }
}
