/* ============================================================
   REDESIGN - 5 Designwelten:
   blueprint · signal · leitstand · werkstoff · stahlbau
   ============================================================ */
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--body,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif);background:#0f0f11;}

/* ---------- Schema Switcher (Werkzeugleiste, bleibt) ---------- */
.switcher{position:fixed;top:0;left:0;right:0;z-index:1000;background:#141417;border-bottom:1px solid #26262b;
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 20px;}
.switcher .label{color:#9a9aa5;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;}
.switcher button{cursor:pointer;border:1px solid #33333a;background:#1d1d22;color:#d7d7de;
  padding:8px 14px;border-radius:8px;font-size:14px;font-weight:600;transition:all .15s;}
.switcher button:hover{border-color:#5b5bff;color:#fff;}
.switcher button.active{background:#5b5bff;border-color:#5b5bff;color:#fff;}
.switcher .hint{color:#6a6a75;font-size:12px;margin-left:auto;}

/* ---------- Customizer-Leiste (Farbe + Schrift) ---------- */
.customizer{position:fixed;left:0;right:0;z-index:999;background:#101013;border-bottom:1px solid #26262b;
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:9px 20px;}
.customizer .label{color:#9a9aa5;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;}
.customizer .grp{display:flex;align-items:center;gap:8px;color:#8b8b95;font-size:12.5px;}
.customizer input[type="color"]{width:34px;height:26px;padding:0;border:1px solid #33333a;border-radius:6px;background:#1d1d22;cursor:pointer;}
.customizer select{background:#1d1d22;color:#d7d7de;border:1px solid #33333a;border-radius:6px;padding:5px 8px;font-size:13px;cursor:pointer;}
.customizer .reset{margin-left:auto;background:none;border:1px solid #33333a;color:#9a9aa5;border-radius:6px;
  padding:5px 12px;font-size:12.5px;cursor:pointer;}
.customizer .reset:hover{color:#fff;border-color:#5b5bff;}
.customizer .hex{font-family:ui-monospace,'SF Mono',Menlo,Consolas,monospace;font-size:12px;color:#b9b9c3;
  background:#1d1d22;border:1px solid #2c2c33;border-radius:5px;padding:3px 7px;min-width:72px;text-align:center;}

/* ============================================================
   TOKENS pro Schema
   ============================================================ */
.stage{
  /* Fallback = blueprint */
  --bg:#fcfcfa;--fg:#111417;--muted:#5d646c;--accent:#0f62fe;--accent-fg:#fff;
  --card:#f4f4f0;--line:#d9dbd4;--head:ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  --body:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --radius:0px;--wrapw:1120px;--secpad:72px;--nav-bg:rgba(252,252,250,.93);
  width:100%;min-height:calc(100vh - 58px);background:var(--bg);color:var(--fg);overflow-x:clip;
  font-family:var(--body);
}
.stage[data-schema="blueprint"]{
  --bg:#fcfcfa;--fg:#111417;--muted:#5d646c;--accent:#0f62fe;--accent-fg:#fff;
  --card:#f4f4f0;--line:#d9dbd4;--head:ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  --radius:0px;--wrapw:1120px;--secpad:76px;--nav-bg:rgba(252,252,250,.93);
  background-image:
    linear-gradient(rgba(15,98,254,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(15,98,254,.05) 1px,transparent 1px);
  background-size:36px 36px;
}
.stage[data-schema="signal"]{
  --bg:#ffffff;--fg:#141414;--muted:#5f5f63;--accent:#d92230;--accent-fg:#ffffff;
  --card:#f1f1f2;--line:#e2e2e5;--head:'Helvetica Neue',Helvetica,Arial,sans-serif;
  --radius:0px;--wrapw:1180px;--secpad:88px;--nav-bg:#ffffff;
}
.stage[data-schema="leitstand"]{
  --bg:#0b0e12;--fg:#e8edf2;--muted:#8b98a5;--accent:#ff7a1a;--accent-fg:#0b0e12;
  --card:#12161c;--line:#232a33;--head:'Segoe UI',system-ui,sans-serif;
  --mono:ui-monospace,'SF Mono',Menlo,Consolas,monospace;
  --radius:4px;--wrapw:1150px;--secpad:64px;--nav-bg:rgba(11,14,18,.92);
}
.stage[data-schema="werkstoff"]{
  --bg:#faf7ef;--fg:#28322b;--muted:#6d7b70;--accent:#2fae5f;--accent2:#f6b73c;--accent-fg:#fff;
  --card:#ffffff;--line:#e8e4d5;--head:'Avenir Next','Segoe UI',system-ui,sans-serif;
  --radius:18px;--wrapw:1080px;--secpad:80px;--nav-bg:rgba(250,247,239,.92);
}
.stage[data-schema="stahlbau"]{
  --bg:#fbfbfc;--fg:#16283c;--muted:#5d6b7c;--accent:#16283c;--accent2:#b3541e;--accent-fg:#ffffff;
  --card:#f3f5f8;--line:#dfe4ea;--head:Georgia,'Times New Roman',serif;
  --radius:0px;--wrapw:1200px;--secpad:96px;--nav-bg:rgba(251,251,252,.95);
}

/* ---------- Die 5 "normalen" Schemas (6-10, klassischer Look) ---------- */
.stage[data-schema="minimal"]{
  --bg:#ffffff;--fg:#141414;--muted:#777;--accent:#141414;--accent-fg:#fff;
  --card:#fafafa;--line:#ececec;--head:'Helvetica Neue',Arial,sans-serif;
  --radius:2px;--wrapw:1100px;--secpad:56px;--nav-bg:rgba(255,255,255,.92);}
.stage[data-schema="edel"]{
  --bg:#ffffff;--fg:#1e1e22;--muted:#6b6b72;--accent:#d92230;--accent-fg:#ffffff;
  --card:#f5f5f7;--line:#e6e6ea;--head:'Helvetica Neue',system-ui,sans-serif;
  --radius:8px;--wrapw:1100px;--secpad:56px;--nav-bg:rgba(255,255,255,.92);}
.stage[data-schema="modern"]{
  --bg:#0d0f1a;--fg:#eef0ff;--muted:#a7abd0;--accent:#7b5bff;--accent-fg:#fff;
  --card:#161a2e;--line:#242946;--head:'Segoe UI',system-ui,sans-serif;
  --radius:16px;--wrapw:1100px;--secpad:56px;--nav-bg:rgba(13,15,26,.85);}
.stage[data-schema="verspielt"]{
  --bg:#fbfaf3;--fg:#25332a;--muted:#6d7d71;--accent:#2fae5f;--accent2:#f6b73c;--accent-fg:#fff;
  --card:#ffffff;--line:#e7e8dd;--head:'Segoe UI',system-ui,sans-serif;
  --radius:24px;--wrapw:1100px;--secpad:56px;--nav-bg:rgba(251,250,243,.9);}
.stage[data-schema="corporate"]{
  --bg:#ffffff;--fg:#1a2536;--muted:#5f6b7d;--accent:#1f5fbf;--accent-fg:#fff;
  --card:#f2f6fc;--line:#e0e8f3;--head:'Segoe UI',system-ui,sans-serif;
  --radius:8px;--wrapw:1100px;--secpad:56px;--nav-bg:rgba(255,255,255,.94);}
/* dezente Wiedererkennungs-Details der klassischen Schemas */
[data-schema="minimal"] section,[data-schema="edel"] section,[data-schema="modern"] section,
[data-schema="verspielt"] section,[data-schema="corporate"] section{border-top:1px solid var(--line);}
[data-schema="modern"] header.hero{background:radial-gradient(1200px 500px at 70% -10%,rgba(123,91,255,.35),transparent);}
[data-schema="verspielt"] header.hero::before{content:"";position:absolute;top:40px;right:40px;width:120px;height:120px;background:var(--accent2);border-radius:50%;opacity:.25;}

.wrap{max-width:var(--wrapw);margin:0 auto;padding:0 30px;}

/* ============================================================
   FEST EINGESTELLT: Schema Signal + eigene Farben (Cyan)
   ============================================================ */
.stage[data-schema="signal"]{--accent:#22abd8;--fg:#080c0d;--muted:#5f5f63;}
.brand img.logo{height:34px;width:auto;display:block;}
/* Signal-Seitenleiste: Logo über die volle Breite */
@media(min-width:821px){
  [data-schema="signal"] .brand{width:100%;}
  [data-schema="signal"] .brand img.logo{height:auto;width:100%;max-width:170px;}
}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2;}
.ph.filled{border-style:solid;border-color:var(--line);}
.ph.filled::before,.ph.filled::after{display:none;}
.ph.filled>span{display:none;}

/* ============================================================
   PLATZHALTER-SYSTEM (für spätere echte Bilder ohne Layoutbruch)
   ============================================================ */
.ph{position:relative;display:grid;place-items:center;background:var(--card);border:1px dashed color-mix(in srgb,var(--fg) 32%,transparent);
  color:var(--muted);overflow:hidden;cursor:zoom-in;border-radius:var(--radius);}
.ph>span{font-family:var(--head);font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:8px 12px;text-align:center;z-index:1;}
.ph::before{content:"";position:absolute;inset:0;
  background:repeating-linear-gradient(45deg,transparent,transparent 12px,color-mix(in srgb,var(--fg) 5%,transparent) 12px,color-mix(in srgb,var(--fg) 5%,transparent) 13px);}
.ph::after{content:"";position:absolute;width:38px;height:38px;border:1.5px solid currentColor;border-radius:50%;
  opacity:.28;background:
    linear-gradient(currentColor,currentColor) center/60% 1.5px no-repeat,
    linear-gradient(currentColor,currentColor) center/1.5px 60% no-repeat;}
.ph-portrait{aspect-ratio:4/5;}
.ph-square{aspect-ratio:1/1;}
.ph-wide{aspect-ratio:16/9;margin-top:16px;}

/* Lightbox */
.lightbox{position:fixed;inset:0;z-index:2000;background:rgba(8,9,12,.78);display:none;place-items:center;padding:30px;}
.lightbox.open{display:grid;}
.lightbox .lb-inner{width:min(880px,94vw);aspect-ratio:16/10;cursor:zoom-out;}
.lightbox .lb-inner .ph{width:100%;height:100%;cursor:zoom-out;}
.lightbox .lb-close{position:absolute;top:22px;right:26px;background:none;border:0;color:#fff;font-size:30px;cursor:pointer;line-height:1;}

/* ============================================================
   NAVIGATION (Basis) + Burger
   ============================================================ */
nav.site{position:sticky;top:0;z-index:60;background:var(--nav-bg);backdrop-filter:blur(12px);
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  margin:16px auto 0;width:min(calc(100% - 36px),var(--wrapw));padding:10px 16px;
  border:1px solid var(--line);border-radius:calc(var(--radius) + 10px);
  box-shadow:0 14px 38px -22px rgba(0,0,0,.4);}
.brand{display:flex;align-items:center;gap:12px;font-family:var(--head);font-weight:700;font-size:18px;color:var(--fg);text-decoration:none;}
.brand .mark{width:34px;height:34px;border-radius:var(--radius);background:var(--accent);color:var(--accent-fg);
  display:grid;place-items:center;font-weight:800;font-size:14px;}
nav.site .links{display:flex;gap:4px;align-items:center;position:relative;}
nav.site .links a{color:var(--fg);text-decoration:none;font-size:15px;font-weight:600;opacity:.82;
  position:relative;z-index:1;padding:9px 16px;border-radius:calc(var(--radius) + 5px);transition:color .2s ease, opacity .2s ease;}
nav.site .links a:hover,nav.site .links a.active{opacity:1;color:var(--accent);}
/* Gleitender Indikator - wird per JS positioniert */
.nav-ink{position:absolute;z-index:0;pointer-events:none;opacity:0;
  background:color-mix(in srgb,var(--accent) 14%,transparent);
  border:1px solid color-mix(in srgb,var(--accent) 32%,transparent);
  border-radius:calc(var(--radius) + 5px);
  transition:left .38s cubic-bezier(.3,.9,.3,1), top .38s cubic-bezier(.3,.9,.3,1),
             width .38s cubic-bezier(.3,.9,.3,1), height .38s cubic-bezier(.3,.9,.3,1), opacity .25s ease;}
nav.site .navcta{background:var(--accent);color:var(--accent-fg);padding:9px 18px;border-radius:calc(var(--radius) + 5px);font-weight:700;text-decoration:none;font-size:14px;}
.burger{display:none;}

/* ============================================================
   SEKTIONEN / TYPO (Basis)
   ============================================================ */
section{padding:var(--secpad) 0;}
.eyebrow{color:var(--accent);font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin-bottom:16px;font-family:var(--head);}
.sec-head{font-family:var(--head);font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:10px;}
.sec-title{font-family:var(--head);font-size:clamp(28px,3.4vw,38px);color:var(--fg);font-weight:800;margin-bottom:8px;line-height:1.12;}
.sec-sub{color:var(--muted);font-size:16px;max-width:620px;margin-bottom:36px;line-height:1.65;}

.btn{padding:13px 26px;border-radius:var(--radius);font-weight:700;font-size:15px;text-decoration:none;display:inline-flex;align-items:center;gap:10px;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;cursor:pointer;border:none;font-family:var(--head);}
.btn-primary{background:var(--accent);color:var(--accent-fg);}
.btn-ghost{background:transparent;color:var(--fg);border:1.5px solid color-mix(in srgb,var(--fg) 35%,transparent);}
.cta-row{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}

/* Neuer CTA (Werdegang u.a.) - ohne Puls, mit Pfeil-Slide */
.btn-cta{position:relative;display:inline-flex;align-items:center;gap:14px;margin-top:26px;padding:16px 34px;
  font-family:var(--head);font-size:16px;font-weight:800;letter-spacing:.03em;text-decoration:none;
  background:var(--accent);color:var(--accent-fg);border-radius:var(--radius);overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease;}
.btn-cta::after{content:"→";font-family:var(--body);font-weight:700;transition:transform .22s ease;}
.btn-cta:hover{transform:translateY(-2px);}
.btn-cta:hover::after{transform:translateX(6px);}

/* ============================================================
   HERO (Basis-Skelett - Welten stylen radikal um)
   ============================================================ */
header.hero{position:relative;padding:88px 0 72px;overflow:clip;}
.hero-frame{display:grid;grid-template-columns:1.25fr .85fr;gap:56px;align-items:center;position:relative;}
.hero-copy{position:relative;z-index:2;}
.hero h1{font-family:var(--head);font-size:clamp(40px,5.4vw,64px);line-height:1.04;color:var(--fg);margin-bottom:20px;font-weight:800;}
.hero h1 .hl{display:inline-block;}
.hero p.lead{color:var(--muted);font-size:18.5px;line-height:1.65;max-width:540px;margin-bottom:32px;}
.hero-media{position:relative;z-index:1;margin:0;}
.hero-cap{display:none;font-family:var(--head);font-size:12px;color:var(--muted);letter-spacing:.1em;margin-top:10px;}

/* Hero-Intro-Animationen (Basis: weicher Fade für klassische Schemas; Welten definieren eigene) */
.hero-copy .eyebrow,.hero h1 .hl,.hero p.lead,.hero .cta-row{opacity:0;transition:opacity .6s ease;}
.stage.ready .hero-copy .eyebrow,.stage.ready .hero h1 .hl,.stage.ready .hero p.lead,.stage.ready .hero .cta-row{opacity:1;}
.stage.ready .hero-copy .eyebrow{transition-delay:.05s;}
.stage.ready .hero h1 .hl:nth-child(1){transition-delay:.15s;}
.stage.ready .hero h1 .hl:nth-child(3){transition-delay:.28s;}
.stage.ready .hero p.lead{transition-delay:.42s;}
.stage.ready .hero .cta-row{transition-delay:.54s;}

/* ============================================================
   KOMPONENTEN (Basis-Skelette)
   ============================================================ */
.brands{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;}
.brand-logo{flex:0 0 calc((100% - 3*16px)/4);background:var(--card);border:1px solid var(--line);border-radius:var(--radius);height:82px;
  display:grid;place-items:center;font-family:var(--head);font-weight:700;color:var(--fg);opacity:.85;font-size:15px;letter-spacing:.04em;
  transition:transform .22s ease, border-color .22s ease, opacity .22s ease, background .22s ease, color .22s ease;}
.brand-logo:hover{opacity:1;transform:translateY(-4px);border-color:var(--accent);}
/* Hover-Einblendung der vollen Aufgabe (poppt als Overlay auf, volle Höhe) */
.brand-logo{position:relative;overflow:visible;
  transition:box-shadow .22s ease, border-color .2s ease;}
.brand-logo .proj-task{position:absolute;top:50%;left:50%;min-width:calc(100% + 8px);width:max-content;max-width:260px;min-height:calc(100% + 8px);
  display:flex;align-items:center;justify-content:center;text-align:center;
  padding:16px 18px;background:var(--accent);color:var(--accent-fg);font-family:var(--body);font-size:13px;line-height:1.45;
  letter-spacing:0;text-transform:none;font-weight:500;opacity:0;transform:translate(-50%,-50%) scale(.85);transform-origin:center;
  transition:opacity .22s ease, transform .3s cubic-bezier(.34,1.56,.64,1);pointer-events:none;z-index:5;
  box-shadow:0 20px 40px -14px rgba(0,0,0,.5);}
.brand-logo:hover{z-index:6;}
.brand-logo:hover .proj-task{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:.05s;}
/* Puls-Welle: gefüllte Farbfläche pulst aus dem Aufgaben-Feld nach außen und fadet aus.
   Sie sitzt am Aufgaben-Feld, passt sich also dessen (durch den Text) veränderter Größe an. */

.about-big .grid{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:center;}
.about-big h2{font-family:var(--head);font-size:clamp(32px,4vw,46px);line-height:1.08;color:var(--fg);font-weight:800;margin:6px 0 20px;}
.about-big p{color:var(--muted);font-size:17.5px;line-height:1.75;margin-bottom:16px;max-width:560px;}
.about-big .facts{display:flex;gap:38px;flex-wrap:wrap;margin:28px 0 30px;}
.about-big .facts .num{font-family:var(--head);font-size:36px;font-weight:800;color:var(--accent);line-height:1;}
.about-big .facts .lbl{color:var(--muted);font-size:13px;margin-top:6px;}

.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
.step{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px 22px;position:relative;
  transition:transform .2s ease, border-color .2s ease;}
.step:hover{transform:translateY(-4px);border-color:var(--accent);}
.step .no{width:46px;height:46px;border-radius:var(--radius);background:var(--accent);color:var(--accent-fg);
  display:grid;place-items:center;font-family:var(--head);font-weight:800;font-size:18px;margin-bottom:16px;}
.step h4{font-family:var(--head);font-size:18px;color:var(--fg);margin-bottom:8px;}
.step p{color:var(--muted);font-size:14px;line-height:1.6;}
.step .arrow{position:absolute;top:44px;right:-14px;width:26px;height:26px;display:grid;place-items:center;color:var(--accent);font-weight:800;z-index:2;}

.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px;position:relative;
  transition:transform .2s ease, border-color .2s ease, box-shadow .2s ease;}
.card:hover{transform:translateY(-4px);border-color:var(--accent);}
.card .ic{width:44px;height:44px;border-radius:var(--radius);background:var(--accent);color:var(--accent-fg);
  display:grid;place-items:center;font-weight:800;margin-bottom:16px;font-size:17px;font-family:var(--head);}
.card h3{font-family:var(--head);font-size:19px;color:var(--fg);margin-bottom:8px;}
.card p{color:var(--muted);font-size:14.5px;line-height:1.6;}
.card ul{list-style:none;margin-top:12px;}
.card ul li{color:var(--muted);font-size:14px;padding:5px 0 5px 18px;position:relative;}
.card ul li::before{content:"→";position:absolute;left:0;color:var(--accent);}

/* Projekte (Erfolgreiche Projekte) - kompakte Boxen mit Aufgabe-Aufklapp */
.projects{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;align-items:start;}
.proj-box{background:#fff;border-left:6px solid var(--fg);box-shadow:0 1px 0 var(--line),0 8px 22px -18px rgba(0,0,0,.35);
  padding:18px 20px;transition:border-color .18s ease;}
.proj-box:hover{border-left-color:var(--accent);}
.proj-box h3{font-family:var(--head);font-size:16px;color:var(--fg);text-transform:uppercase;font-weight:800;margin:0;line-height:1.2;}
.proj-box .acc-btn{margin-top:12px;}
.proj-box .proj-box-loc{color:var(--accent);font-family:var(--head);font-weight:700;font-size:12px;letter-spacing:.02em;margin:10px 0 0;}
.proj-box .acc-in p{color:var(--muted);font-size:13.5px;line-height:1.55;margin:8px 0 8px;}
@media(max-width:520px){.projects{grid-template-columns:1fr;}}

/* Akkordeon */
.acc-btn{margin-top:16px;background:none;border:0;cursor:pointer;font-family:var(--head);font-weight:700;font-size:13.5px;
  letter-spacing:.06em;color:var(--accent);display:inline-flex;align-items:center;gap:8px;padding:4px 0;}
.acc-btn::after{content:"+";font-size:16px;transition:transform .3s ease;}
.acc.open .acc-btn::after{transform:rotate(45deg);}
.acc-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s cubic-bezier(.25,.8,.3,1);}
.acc.open .acc-body{grid-template-rows:1fr;}
.acc-body>.acc-in{overflow:hidden;}

.skills{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;}
.skill-cat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;
  transition:border-color .2s ease, transform .2s ease;}
.skill-cat:hover{border-color:var(--accent);transform:translateY(-3px);}
.skill-cat h4{font-family:var(--head);font-size:16.5px;color:var(--fg);margin-bottom:14px;display:flex;align-items:center;gap:10px;}
.skill-cat h4 .dot{width:10px;height:10px;border-radius:2px;background:var(--accent);flex:0 0 auto;}
.tags{display:flex;flex-wrap:wrap;gap:8px;}
.tag{background:color-mix(in srgb,var(--accent) 12%,var(--bg));border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));
  border-radius:var(--radius);padding:6px 13px;font-size:13.5px;color:var(--fg);font-weight:600;transition:background .18s ease;}
.tag:hover{background:color-mix(in srgb,var(--accent) 22%,var(--bg));}

/* Technologien-Seite */
.tech-groups{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:8px;}
.tech-group{background:#fff;border-left:6px solid var(--fg);box-shadow:0 1px 0 var(--line),0 10px 26px -20px rgba(0,0,0,.4);padding:24px 26px;}
.tech-group h3{font-family:var(--head);font-size:16px;text-transform:uppercase;font-weight:800;letter-spacing:.02em;color:var(--fg);margin-bottom:14px;display:flex;align-items:baseline;gap:10px;}
.tech-group h3 .n{color:var(--accent);font-size:13px;}
.tech-link{cursor:pointer;font-family:inherit;transition:background .15s ease, color .15s ease, border-color .15s ease;}
.tech-link:hover{background:color-mix(in srgb,var(--accent) 22%,var(--bg));}
.tech-link.active{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);}
.tech-detail{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease;}
.tech-detail.open{grid-template-rows:1fr;margin-top:12px;}
.tech-detail>.td-wrap{overflow:hidden;}
.tech-detail .td-in{font-size:13.5px;color:var(--muted);line-height:1.55;border-top:1px solid var(--line);padding-top:10px;}
.tech-detail .td-in b{color:var(--accent);font-family:var(--head);}
@media(max-width:820px){.tech-groups{grid-template-columns:1fr;}}

/* Mini-Timeline Startseite */
.timeline{border-left:2px solid var(--line);margin-left:6px;padding-left:26px;display:flex;flex-direction:column;gap:26px;}
.tl-item{position:relative;}
.tl-item::before{content:"";position:absolute;left:-33px;top:4px;width:12px;height:12px;border-radius:50%;background:var(--accent);}
.tl-item .yr{color:var(--accent);font-weight:700;font-size:14px;font-family:var(--head);}
.tl-item h4{font-family:var(--head);font-size:18px;color:var(--fg);margin:2px 0 4px;}
.tl-item p{color:var(--muted);font-size:14.5px;line-height:1.55;}

/* ============================================================
   WERDEGANG (Vorbild-Seite - veredelt, Prinzip unverändert)
   ============================================================ */
.journey{position:relative;margin-top:52px;}
.journey-line{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;overflow:visible;}
.journey-line path{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.journey-line .base{stroke:var(--line);}
.journey-line .draw{stroke:var(--accent);}

.milestone{position:relative;z-index:1;display:flex;align-items:center;gap:26px;width:76%;margin-bottom:14px;
  opacity:0;transform:translateX(-34px);transition:opacity .7s ease, transform .7s ease;}
.milestone.left{margin-right:auto;text-align:left;}
.milestone.right{margin-left:auto;flex-direction:row-reverse;text-align:right;transform:translateX(34px);}
.milestone.in{opacity:1;transform:none;}
.m-logo{flex:0 0 auto;width:104px;height:104px;border-radius:calc(var(--radius) + 8px);
  background:color-mix(in srgb,var(--accent) 80%,var(--bg));display:grid;place-items:center;
  font-family:var(--head);font-weight:700;font-size:12px;color:var(--accent-fg);letter-spacing:.04em;text-align:center;line-height:1.3;
  box-shadow:0 12px 28px -12px rgba(0,0,0,.45);position:relative;z-index:2;transition:transform .2s ease;}
.m-logo .m-logo-img{width:74%;height:auto;display:block;}
/* DK-Logo-Kachel: transparent, keine Farbflaeche, Logo in Originalfarbe */
.m-logo.m-logo-brand{background:transparent;box-shadow:none;}
.m-logo.m-logo-brand .m-logo-img{width:100%;}
.m-card{flex:1 1 auto;min-width:0;max-width:420px;}
.m-card .m-year{font-family:var(--head);font-size:30px;font-weight:800;color:var(--accent);line-height:1;margin-bottom:5px;}
.m-card .m-role{font-family:var(--head);font-size:19px;color:var(--fg);font-weight:700;margin-bottom:2px;}
.m-card .m-company{color:var(--accent);font-weight:600;font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;margin-bottom:9px;}
.m-card p{color:var(--fg);opacity:.72;font-size:14.5px;line-height:1.6;}
.m-card .m-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px;}
.milestone.right .m-card .m-tags{justify-content:flex-end;}
.m-detail{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s cubic-bezier(.25,.8,.3,1);}
.milestone.open .m-detail{grid-template-rows:1fr;}
.m-detail>.acc-in{overflow:hidden;}
.m-detail .ph-wide{cursor:default;}

.journey-end{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;
  margin-top:26px;opacity:0;transform:translateY(24px);transition:opacity .7s ease, transform .7s ease;}
.journey-end.in{opacity:1;transform:none;}
.journey-end .end-dot{min-width:220px;padding:26px 42px;border-radius:calc(var(--radius) + 10px);
  background:color-mix(in srgb,var(--accent) 80%,var(--bg));color:var(--accent-fg);
  display:grid;place-items:center;font-family:var(--head);font-weight:800;font-size:16px;line-height:1.3;letter-spacing:.05em;
  z-index:2;box-shadow:0 16px 38px -10px rgba(0,0,0,.5);}
.journey-end h3{font-family:var(--head);font-size:23px;color:var(--fg);margin-top:20px;font-weight:700;}
.journey-end p{color:var(--muted);font-size:15px;margin-top:8px;max-width:440px;line-height:1.6;}

/* ============================================================
   KONTAKT / RECHTLICHES / FOOTER (Basis)
   ============================================================ */
.cta-band{background:var(--accent);color:var(--accent-fg);border-radius:calc(var(--radius) + 6px);padding:48px;text-align:center;position:relative;overflow:hidden;}
.cta-band h2{font-family:var(--head);font-size:clamp(24px,3vw,32px);margin-bottom:12px;}
.cta-band p{opacity:.92;font-size:16px;margin-bottom:24px;}
.cta-band .btn-ghost{border-color:var(--accent-fg);color:var(--accent-fg);}
.cta-band .btn-primary{background:var(--accent-fg);color:var(--accent);}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:44px;}
.form-field{margin-bottom:18px;}
.form-field label{display:block;font-size:13px;font-weight:700;color:var(--fg);margin-bottom:7px;font-family:var(--head);letter-spacing:.05em;text-transform:uppercase;}
.form-field input,.form-field textarea{width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:var(--radius);
  background:var(--card);color:var(--fg);font-size:15px;font-family:var(--body);transition:border-color .18s ease;}
.form-field input:focus,.form-field textarea:focus{outline:none;border-color:var(--accent);}
.form-field textarea{min-height:130px;resize:vertical;}
.contact-info p{color:var(--muted);font-size:15px;line-height:1.7;margin-bottom:14px;}
.contact-info strong{color:var(--fg);font-family:var(--head);}

.legal h3{font-family:var(--head);color:var(--fg);font-size:18px;margin:24px 0 8px;}
.legal p{color:var(--muted);font-size:15px;line-height:1.7;margin-bottom:10px;}

footer.site{border-top:1px solid var(--line);padding:36px 0;color:var(--muted);font-size:14px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;}
footer.site a{color:var(--muted);text-decoration:none;margin-left:18px;}
footer.site a:hover{color:var(--accent);}

/* ============================================================
   SCROLL-REVEALS (JS setzt .rv / .on; Welten definieren Stil)
   ============================================================ */
.rv{opacity:0;transition:opacity .6s ease, transform .6s ease, clip-path .6s ease, filter .6s ease;}
.rv.on{opacity:1;transform:none;clip-path:inset(0);filter:none;}

/* ############################################################
   WELT 1 · BLUEPRINT - die technische Zeichnung
   ############################################################ */
[data-schema="blueprint"] .sec-title{font-weight:600;letter-spacing:-.01em;}
[data-schema="blueprint"] .sec-head::before{content:"// ";opacity:.6;}
[data-schema="blueprint"] section{border-top:1px dashed var(--line);}
[data-schema="blueprint"] section:first-of-type,[data-schema="blueprint"] header.hero + section{border-top:1px dashed var(--line);}
[data-schema="blueprint"] header.hero{border-bottom:none;}

[data-schema="blueprint"] nav.site{border-bottom:2px solid var(--fg);}
[data-schema="blueprint"] nav.site .links a{font-family:var(--head);font-size:13.5px;letter-spacing:.04em;}
[data-schema="blueprint"] nav.site .links a::before{content:attr(data-i) " ";color:var(--accent);font-size:11px;vertical-align:1px;}
[data-schema="blueprint"] .brand .mark{border-radius:0;}

[data-schema="blueprint"] .hero h1{font-weight:600;letter-spacing:-.02em;font-size:clamp(34px,4.6vw,54px);}
[data-schema="blueprint"] .hero-copy{padding-left:26px;border-left:2px solid var(--fg);}
[data-schema="blueprint"] .hero h1 .hl{position:relative;}
[data-schema="blueprint"] .hero p.lead{font-size:17px;}
[data-schema="blueprint"] .hero-media .ph{border:1.5px solid var(--fg);}
[data-schema="blueprint"] .hero-media{position:relative;}
[data-schema="blueprint"] .hero-media::before{content:"DETAIL A - M 1:1" / "";position:absolute;top:-26px;left:0;
  font-family:var(--head);font-size:11px;letter-spacing:.16em;color:var(--muted);}
[data-schema="blueprint"] .hero-media::after{content:"";position:absolute;left:-14px;top:-14px;right:14px;bottom:14px;
  border:1px dashed color-mix(in srgb,var(--accent) 55%,transparent);pointer-events:none;}
[data-schema="blueprint"] .hero-cap{display:block;}
[data-schema="blueprint"] .hero-cap::before{content:"ANM.: FOTO WIRD SPÄTER EINGESETZT" / "";}
/* Intro: Linien "plotten" sich */
[data-schema="blueprint"] .hero-copy .eyebrow,[data-schema="blueprint"] .hero h1 .hl,
[data-schema="blueprint"] .hero p.lead,[data-schema="blueprint"] .hero .cta-row{
  clip-path:inset(0 100% 0 0);transition:clip-path .7s cubic-bezier(.6,0,.2,1), opacity .1s;}
[data-schema="blueprint"].ready .hero-copy .eyebrow{clip-path:inset(0);transition-delay:.05s;}
[data-schema="blueprint"].ready .hero h1 .hl:nth-child(1){clip-path:inset(0);transition-delay:.2s;}
[data-schema="blueprint"].ready .hero h1 .hl:nth-child(3){clip-path:inset(0);transition-delay:.4s;}
[data-schema="blueprint"].ready .hero p.lead{clip-path:inset(0);transition-delay:.6s;}
[data-schema="blueprint"].ready .hero .cta-row{clip-path:inset(0);transition-delay:.8s;}

[data-schema="blueprint"] .card,[data-schema="blueprint"] .step,[data-schema="blueprint"] .skill-cat{
  background:transparent;border:1px solid var(--fg);box-shadow:none;}
[data-schema="blueprint"] .card::before,[data-schema="blueprint"] .step::before{content:"";position:absolute;top:-1px;left:-1px;
  width:14px;height:14px;border-top:3px solid var(--accent);border-left:3px solid var(--accent);}
[data-schema="blueprint"] .card:hover,[data-schema="blueprint"] .step:hover{transform:none;border-color:var(--accent);}
[data-schema="blueprint"] .card .ic,[data-schema="blueprint"] .step .no{background:transparent;color:var(--accent);border:1.5px solid var(--accent);border-radius:0;}
[data-schema="blueprint"] .step .arrow{color:var(--fg);}
[data-schema="blueprint"] .brand-logo{background:transparent;border:1px solid var(--line);}
[data-schema="blueprint"] .brand-logo:hover{border-color:var(--fg);transform:none;box-shadow:4px 4px 0 var(--line);}
[data-schema="blueprint"] .tag{border-radius:0;background:transparent;}
[data-schema="blueprint"] .btn{border-radius:0;text-transform:uppercase;font-size:13.5px;letter-spacing:.08em;}
[data-schema="blueprint"] .btn-primary{background:var(--fg);color:var(--bg);}
[data-schema="blueprint"] .btn-primary:hover{background:var(--accent);}
[data-schema="blueprint"] .btn-ghost{border:1.5px solid var(--fg);}
[data-schema="blueprint"] .btn-cta{background:var(--fg);color:var(--bg);border-radius:0;text-transform:uppercase;font-size:14px;letter-spacing:.08em;}
[data-schema="blueprint"] .btn-cta:hover{background:var(--accent);transform:none;}
[data-schema="blueprint"] .about-big h2{font-weight:600;}
[data-schema="blueprint"] .about-big .photo,[data-schema="blueprint"] .ph{border-radius:0;}
[data-schema="blueprint"] .cta-band{border-radius:0;background:var(--fg);}
[data-schema="blueprint"] .cta-band .btn-primary{background:var(--bg);color:var(--fg);}
[data-schema="blueprint"] .m-logo{border-radius:0;background:var(--fg);}
[data-schema="blueprint"] .journey-end .end-dot{border-radius:0;background:var(--fg);}
[data-schema="blueprint"] .form-field input,[data-schema="blueprint"] .form-field textarea{
  background:transparent;border:none;border-bottom:1.5px solid var(--fg);border-radius:0;padding-left:0;font-family:var(--head);}
[data-schema="blueprint"] .rv{transform:none;clip-path:inset(0 100% 0 0);}

/* ############################################################
   WELT 2 · SIGNAL - rot·grau·weiß, Plakat, Seitenleiste
   ############################################################ */
[data-schema="signal"]{--headweight:900;}
[data-schema="signal"] .sec-title{text-transform:uppercase;font-weight:900;letter-spacing:-.01em;font-size:clamp(30px,3.8vw,44px);}
[data-schema="signal"] .sec-head{color:var(--fg);}
[data-schema="signal"] .sec-head::before{content:"";display:inline-block;width:26px;height:10px;background:var(--accent);margin-right:10px;vertical-align:1px;}
[data-schema="signal"] section{border-top:none;}
[data-schema="signal"] section:nth-of-type(even){background:var(--card);}

@media(min-width:821px){
  [data-schema="signal"]{display:grid;grid-template-columns:216px 1fr;}
  [data-schema="signal"] nav.site{position:sticky;top:0;height:100vh;flex-direction:column;align-items:flex-start;
    justify-content:flex-start;gap:30px;padding:38px 26px;margin:0;width:auto;border:none;border-radius:0;box-shadow:none;
    border-right:3px solid var(--fg);grid-row:1 / span 99;}
  [data-schema="signal"] nav.site .links{flex-direction:column;}
  [data-schema="signal"] nav.site .links{flex-direction:column;align-items:flex-start;gap:20px;}
  [data-schema="signal"] nav.site .links a{font-size:17px;font-weight:800;text-transform:uppercase;letter-spacing:.02em;}
  [data-schema="signal"] nav.site .links a.active::after{content:"";display:block;width:100%;height:4px;background:var(--accent);margin-top:4px;}
  [data-schema="signal"] nav.site .navcta{margin-top:auto;}
  [data-schema="signal"] nav.site .langswitch{margin-top:auto;}
}
[data-schema="signal"] .brand{flex-direction:row;font-weight:900;text-transform:uppercase;font-size:16px;}
[data-schema="signal"] .brand .mark{border-radius:0;}

[data-schema="signal"] .hero h1{text-transform:uppercase;font-weight:900;font-size:clamp(42px,5.8vw,76px);line-height:.98;letter-spacing:-.015em;}
[data-schema="signal"] .hero .eyebrow{background:var(--accent);color:var(--accent-fg);display:inline-block;padding:7px 14px;letter-spacing:.1em;}
[data-schema="signal"] .hero-frame{align-items:center;grid-template-columns:minmax(0,1fr) auto;gap:40px;}
[data-schema="signal"] .hero-copy{min-width:0;}
@media(min-width:821px){
  [data-schema="signal"] header.hero{padding:56px 0 160px;}
  [data-schema="signal"] header.hero>.wrap{width:100%;}
}
[data-schema="signal"] .hero-media .ph{border:none;background:var(--card);}
[data-schema="signal"] .hero-media{position:relative;}
[data-schema="signal"] .hero-media::after{content:"";position:absolute;right:-18px;bottom:-18px;left:26%;top:38%;background:var(--accent);z-index:-1;}
/* Intro: harte Block-Slides */
[data-schema="signal"] .hero-copy .eyebrow,[data-schema="signal"] .hero h1 .hl,
[data-schema="signal"] .hero p.lead,[data-schema="signal"] .hero .cta-row{
  transform:translateX(-38px);transition:transform .5s cubic-bezier(.2,.9,.25,1), opacity .35s ease;}
[data-schema="signal"].ready .hero-copy .eyebrow{transform:none;transition-delay:.02s;}
[data-schema="signal"].ready .hero h1 .hl:nth-child(1){transform:none;transition-delay:.1s;}
[data-schema="signal"].ready .hero h1 .hl:nth-child(3){transform:none;transition-delay:.2s;}
[data-schema="signal"].ready .hero p.lead{transform:none;transition-delay:.32s;}
[data-schema="signal"].ready .hero .cta-row{transform:none;transition-delay:.42s;}

[data-schema="signal"] .card,[data-schema="signal"] .step,[data-schema="signal"] .skill-cat{
  background:var(--bg);border:none;border-left:6px solid var(--fg);box-shadow:0 1px 0 var(--line), 0 8px 22px -18px rgba(0,0,0,.35);}
[data-schema="signal"] section:nth-of-type(even) .card,[data-schema="signal"] section:nth-of-type(even) .step,
[data-schema="signal"] section:nth-of-type(even) .skill-cat{background:#fff;}
[data-schema="signal"] .card:hover,[data-schema="signal"] .step:hover{border-left-color:var(--accent);transform:translateX(4px);}
[data-schema="signal"] .skill-cat:hover{border-left-color:var(--accent);transform:none;}
[data-schema="signal"] .card .ic,[data-schema="signal"] .step .no{border-radius:0;background:var(--fg);}
[data-schema="signal"] .card h3,[data-schema="signal"] .step h4{text-transform:uppercase;font-weight:800;}
[data-schema="signal"] .step .arrow{display:none;}
[data-schema="signal"] .brand-logo{border-radius:0;background:#fff;}
[data-schema="signal"] .brand-logo:hover{transform:none;
  box-shadow:0 22px 42px -14px rgba(0,0,0,.45), 0 0 0 2px color-mix(in srgb,var(--accent) 60%,transparent);}
[data-schema="signal"] .tag{border-radius:0;}
[data-schema="signal"] .btn{border-radius:0;text-transform:uppercase;letter-spacing:.05em;font-weight:800;}
[data-schema="signal"] .btn-primary{box-shadow:4px 4px 0 var(--fg);}
[data-schema="signal"] .btn-primary:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--fg);}
[data-schema="signal"] .btn-ghost{border:2px solid var(--fg);}
[data-schema="signal"] .btn-cta{border-radius:0;text-transform:uppercase;box-shadow:5px 5px 0 var(--fg);}
[data-schema="signal"] .btn-cta:hover{transform:translate(-2px,-4px);box-shadow:7px 7px 0 var(--fg);}
[data-schema="signal"] .about-big h2{text-transform:uppercase;font-weight:900;}
[data-schema="signal"] .cta-band{border-radius:0;text-align:left;}
[data-schema="signal"] .cta-band h2{text-transform:uppercase;font-weight:900;}
[data-schema="signal"] .m-logo{border-radius:0;}
/* ============================================================
   POLISH-PASS (Signal): Feinschliff innerhalb der bestehenden Identitaet
   ============================================================ */

/* SEO/Struktur: H1 mit sec-title-Optik (Unterseiten) */
h1.sec-title{margin-top:0;}

/* Global: Auswahl, Fokus, Feintypografie */
::selection{background:var(--accent);color:#fff;}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px;}
html{scroll-behavior:smooth;}
.sec-title{text-wrap:balance;}
.sec-sub{font-size:16.5px;}

/* Sidebar: Hover-Unterstreichung gleitet ein (passend zur aktiven Markierung) */
@media(min-width:821px){
  [data-schema="signal"] nav.site .links a{
    background:linear-gradient(var(--accent),var(--accent)) left calc(100% - 0px)/0% 4px no-repeat;
    transition:background-size .25s ease,color .2s ease,opacity .2s ease;}
  [data-schema="signal"] nav.site .links a:not(.active):hover{background-size:100% 4px;}
  [data-schema="signal"] nav.site .langswitch{width:100%;}
  [data-schema="signal"] nav.site .langswitch .lang{flex:1;text-align:center;padding:9px 0;}
}

/* Hero: zweiter, feiner Posterrahmen hinter dem Foto */
[data-schema="signal"] .hero-media::before{content:"";position:absolute;left:-14px;top:-14px;right:30%;bottom:48%;
  border:3px solid var(--fg);z-index:-1;}
[data-schema="signal"] .hero p.lead{font-size:19px;}

/* Buttons: Ghost fuellt sich beim Hover, gleiche Bewegungssprache wie Primary */
[data-schema="signal"] .btn-ghost:hover{background:var(--fg);color:#fff;transform:translate(-2px,-2px);
  box-shadow:4px 4px 0 color-mix(in srgb,var(--fg) 25%,transparent);}

/* Ablauf: ruhende Schritte (kein Seitwaerts-Ruck), 01-04 Nummerierung, Akzent beim Hover */
[data-schema="signal"] .step{transition:border-color .2s ease;}
[data-schema="signal"] .step:hover{transform:none;border-top-color:var(--accent);}
[data-schema="signal"] .step .no::before{content:"0";}
[data-schema="signal"] .step h4{font-size:17px;}

/* Leistungs-Karten: Nummern-Quadrat faerbt sich beim Hover */
[data-schema="signal"] .card .ic{transition:background .2s ease;}
[data-schema="signal"] .card:hover .ic{background:var(--accent);}

/* Skillset: eckiger Punkt, Uppercase-Titel */
[data-schema="signal"] .skill-cat h4{text-transform:uppercase;font-size:15px;letter-spacing:.03em;}
[data-schema="signal"] .skill-cat h4 .dot{border-radius:0;}

/* Technologien: gleiche Hover-Sprache wie Karten */
.tech-group{transition:transform .2s ease,border-color .2s ease;}
[data-schema="signal"] .tech-group:hover{transform:translateX(4px);border-left-color:var(--accent);}
[data-schema="signal"] .tech-group h3 .n{font-size:15px;}

/* Kontakt-CTA: asymmetrische Karte (Text links, dunkles Kontakt-Panel rechts) */
.contact-cta{display:grid;grid-template-columns:1.25fr .9fr;background:#fff;border:2px solid var(--fg);
  box-shadow:14px 14px 0 var(--accent);overflow:hidden;}
.contact-cta .cc-main{padding:54px 50px;}
.contact-cta .cc-main .sec-head{margin-bottom:14px;}
.contact-cta h2{font-family:var(--head);font-size:clamp(28px,3.3vw,42px);font-weight:900;text-transform:uppercase;
  line-height:1.04;letter-spacing:-.01em;color:var(--fg);margin:0 0 14px;}
.contact-cta p{color:var(--muted);font-size:16.5px;line-height:1.6;max-width:470px;margin:0 0 28px;}
.contact-cta .cc-side{background:var(--fg);color:#fff;display:flex;flex-direction:column;justify-content:center;}
.contact-cta .cc-row{display:flex;flex-direction:column;gap:5px;padding:20px 34px;text-decoration:none;color:#fff;
  border-top:1px solid rgba(255,255,255,.12);transition:background .16s ease;}
.contact-cta .cc-row:first-child{border-top:none;}
.contact-cta a.cc-row:hover{background:rgba(255,255,255,.07);}
.contact-cta .cc-k{font-family:var(--head);text-transform:uppercase;letter-spacing:.09em;font-size:11px;color:rgba(255,255,255,.6);}
.contact-cta .cc-v{font-family:'Courier New',ui-monospace,monospace;font-size:16px;font-weight:700;display:flex;align-items:center;gap:9px;}
@media(max-width:760px){
  .contact-cta{grid-template-columns:1fr;box-shadow:8px 8px 0 var(--accent);}
  .contact-cta .cc-main{padding:38px 26px;}
  .contact-cta .cc-row{padding:16px 26px;}
}

/* CTA-Band: großer, präsenter Blickfang */
[data-schema="signal"] .cta-band{border-radius:0;box-shadow:14px 14px 0 var(--fg);padding:80px 56px;}
[data-schema="signal"] .cta-band h2{text-transform:uppercase;font-weight:900;font-size:clamp(34px,4.6vw,56px);line-height:1.02;letter-spacing:-.01em;}
.cta-band p{font-size:18px;max-width:620px;margin-left:auto;margin-right:auto;}
/* Großer Primär-Button als klarer Fokus */
[data-schema="signal"] .cta-band .cta-actions .btn-primary{padding:20px 44px;font-size:18px;box-shadow:6px 6px 0 var(--fg);}
[data-schema="signal"] .cta-band .cta-actions .btn-primary:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--fg);}
.cta-band .cta-actions{gap:18px 28px;margin-top:32px;}
.cta-band .cta-direct{font-size:17px;}
.cta-band input:focus,.cta-band textarea:focus{outline:3px solid color-mix(in srgb,var(--fg) 45%,transparent);outline-offset:0;}

/* Formular: DSGVO-Zustimmung + Honeypot */
.form-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.form-consent{display:flex;align-items:flex-start;gap:12px;margin:4px 0 22px;cursor:pointer;
  font-size:13.5px;line-height:1.55;color:var(--muted);}
.form-consent input[type="checkbox"]{flex:0 0 auto;width:20px;height:20px;margin-top:1px;accent-color:var(--accent);cursor:pointer;}
.form-consent a{color:var(--fg);text-decoration:underline;text-decoration-color:var(--accent);
  text-decoration-thickness:2px;text-underline-offset:3px;}
.form-consent a:hover{color:var(--accent);}

/* Rechtstexte: Lesbarkeit */
.legal .legal-intro{font-size:16.5px;line-height:1.7;color:var(--fg);margin-bottom:8px;}
.legal h3{margin-top:30px;}
.legal p a{color:var(--fg);text-decoration:underline;text-decoration-color:var(--accent);
  text-decoration-thickness:2px;text-underline-offset:3px;}
.legal p a:hover{color:var(--accent);}

/* Kontaktseite: Formularfelder in Signal-Sprache */
[data-schema="signal"] .form-field input,[data-schema="signal"] .form-field textarea{border-radius:0;border:2px solid var(--line);}
[data-schema="signal"] .form-field input:focus,[data-schema="signal"] .form-field textarea:focus{border-color:var(--accent);}
.contact-info a{color:var(--fg);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:3px;}
.contact-info a:hover{color:var(--accent);}

/* Footer: klare Signal-Kante, Uppercase-Links */
[data-schema="signal"] footer.site{border-top:3px solid var(--fg);padding:40px 0;}
[data-schema="signal"] footer.site a{font-family:var(--head);font-weight:700;font-size:12.5px;text-transform:uppercase;letter-spacing:.06em;}
[data-schema="signal"] footer.site a:hover{color:var(--accent);}

/* Textlinks im Fliesstext */
.tlink{color:var(--fg);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:3px;}
.tlink:hover{color:var(--accent);}

/* CTA-Band: Aktionen (Button + direkte Kontaktwege) */
.cta-band .cta-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 24px;margin-top:26px;}
.cta-band .cta-direct{font-family:var(--head);font-weight:800;font-size:16px;color:var(--accent-fg);text-decoration:none;
  border-bottom:2px solid color-mix(in srgb,var(--accent-fg) 45%,transparent);padding-bottom:2px;transition:border-color .18s ease,opacity .18s ease;}
.cta-band .cta-direct:hover{border-bottom-color:var(--accent-fg);}
.cta-band .cta-meta{margin:24px 0 0;font-size:13.5px;opacity:.92;display:inline-flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:center;}
.cta-band .cta-live{display:inline-block;width:9px;height:9px;border-radius:50%;background:#eaffef;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-fg) 25%,transparent);flex:0 0 auto;}

/* Startseite entmonotonisieren: Ablauf luftig statt Karten-Look (nur Signal) */
[data-schema="signal"] .step{background:transparent;border:none;border-top:3px solid var(--fg);border-radius:0;padding:20px 10px 0 0;}
[data-schema="signal"] .step .no{background:transparent;color:var(--accent);width:auto;height:auto;font-size:34px;font-weight:800;line-height:1;margin-bottom:10px;}
/* Skillset: Akzentkante oben, unterscheidet sich von den Leistungs-Karten */
[data-schema="signal"] .skill-cat{border-top:3px solid var(--accent);border-radius:0;}

/* Headline-Höhe reservieren, damit beim Tippen nichts rutscht */
.hero h1{min-height:2.08em;}
[data-schema="signal"] .hero h1{min-height:1.96em;}

/* Schreibmaschinen-Cursor in der Headline */
.type-caret{display:inline-block;width:.5ch;height:.86em;background:var(--accent);
  margin-left:.05em;vertical-align:-.04em;animation:caretBlink 1.05s steps(1,end) infinite;}
@keyframes caretBlink{0%,50%{opacity:1;}50.01%,100%{opacity:0;}}

/* Hero: Datenblatt-/Spec-Panel statt Foto */
.hero-spec{position:relative;margin:0;align-self:end;justify-self:end;top:80px;}
.hero-spec .spec{width:max-content;max-width:none;}
[data-schema="signal"] .hero-spec::before,[data-schema="signal"] .hero-spec::after{display:none;}
.hero-spec .spec{position:relative;z-index:1;background:#fff;border:2px solid var(--fg);
  box-shadow:12px 12px 0 var(--accent);}
.hero-spec .spec-head{background:var(--fg);color:#fff;font-family:var(--head);font-weight:800;
  text-transform:uppercase;letter-spacing:.12em;font-size:12.5px;padding:14px 20px;display:flex;align-items:center;gap:11px;}
.hero-spec .spec-dot{width:10px;height:10px;background:var(--accent);flex:0 0 auto;}
.hero-spec .spec-rows{margin:0;}
.hero-spec .spec-row{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:18px;
  padding:16px 20px;border-top:1px solid var(--line);}
.hero-spec .spec-row:first-child{border-top:none;}
.hero-spec dt{font-family:var(--head);text-transform:uppercase;letter-spacing:.06em;font-size:11.5px;font-weight:700;color:var(--muted);}
.hero-spec dd{margin:0;font-family:'Courier New',ui-monospace,monospace;font-size:15px;font-weight:700;color:var(--fg);text-align:left;
  display:flex;align-items:center;gap:8px;white-space:nowrap;}
.hero-spec .spec-live{width:9px;height:9px;border-radius:50%;background:#2ea043;box-shadow:0 0 0 3px rgba(46,160,67,.22);}
@media(max-width:820px){.hero-spec .spec{box-shadow:8px 8px 0 var(--accent);max-width:420px;}}

/* Leistungen als Editorial-Liste (Startseite) - Hover-Sweep in Firmen-Cyan */
.svc-list{border-top:1px solid var(--line);}
.svc-row{position:relative;display:grid;grid-template-columns:360px minmax(0,1fr) auto;align-items:center;gap:30px;
  padding:26px 20px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--fg);overflow:hidden;
  transition:color .3s ease,padding-left .35s cubic-bezier(.22,.61,.24,1);}
.svc-row::before{content:"";position:absolute;inset:0;background:var(--accent);transform:scaleX(0);transform-origin:left;
  transition:transform .45s cubic-bezier(.22,.61,.24,1);z-index:0;}
.svc-row>*{position:relative;z-index:1;}
.svc-head-cell{display:flex;align-items:baseline;gap:14px;}
.svc-no{font-family:var(--head);font-size:13px;font-weight:800;color:var(--accent);letter-spacing:.04em;transition:color .3s ease;}
.svc-title{font-family:var(--head);font-size:clamp(18px,1.9vw,23px);font-weight:900;text-transform:uppercase;letter-spacing:-.01em;line-height:1.1;}
@media(min-width:721px) and (max-width:980px){.svc-row{grid-template-columns:300px minmax(0,1fr) auto;gap:22px;}}
.svc-desc{color:var(--muted);font-size:14.5px;line-height:1.55;max-width:430px;transition:color .3s ease;}
.svc-arrow{font-size:22px;color:var(--accent);transition:transform .3s ease,color .3s ease;}
.svc-row:hover{color:#fff;padding-left:30px;}
.svc-row:hover::before{transform:scaleX(1);}
.svc-row:hover .svc-no,.svc-row:hover .svc-arrow{color:#fff;}
.svc-row:hover .svc-desc{color:color-mix(in srgb,#fff 90%,transparent);}
.svc-row:hover .svc-arrow{transform:translateX(6px);}
[data-schema="signal"] .svc-list,[data-schema="signal"] .svc-row{border-color:var(--fg);}
[data-schema="signal"] .svc-list{border-top-width:2px;}
@media(max-width:720px){
  .svc-row{grid-template-columns:1fr auto;row-gap:10px;column-gap:16px;padding:22px 16px;}
  .svc-head-cell{grid-row:1;grid-column:1;}
  .svc-arrow{grid-row:1;grid-column:2;align-self:center;}
  .svc-desc{grid-row:2;grid-column:1/-1;max-width:none;}
  .svc-row:hover{padding-left:22px;}
}

/* Sprach-Switch DE/EN (vorerst ohne Funktion) */
.langswitch{display:inline-flex;align-items:stretch;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;}
.langswitch .lang{background:none;border:0;font-family:var(--head);font-weight:700;font-size:13px;letter-spacing:.05em;
  padding:8px 14px;cursor:pointer;color:var(--muted);line-height:1;transition:background .15s ease,color .15s ease;}
.langswitch .lang.active{background:var(--accent);color:var(--accent-fg);}
.langswitch .lang:not(.active):hover{color:var(--fg);}
[data-schema="signal"] .langswitch{border-radius:0;}
a.lang{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;}

/* Spiegel-Station: Chrom-/Metall-Kachel als Platzhalter fuer das Logo des Betrachters */
[data-schema="signal"] .journey-end .end-dot{
  border-radius:0;text-transform:uppercase;position:relative;overflow:hidden;
  width:136px;height:136px;min-width:0;padding:0;font-size:15px;letter-spacing:.1em;color:#2b3138;font-weight:900;
  text-shadow:0 1px 0 rgba(255,255,255,.85),0 -1px 0 rgba(8,12,13,.25);
  background:
    linear-gradient(115deg,transparent 40%,rgba(255,255,255,.55) 47%,transparent 55%),
    linear-gradient(to bottom,
      #f4f8fc 0%,#ffffff 9%,#d3dae2 22%,#f0f4f8 34%,#c4ccd6 46%,
      #7f8792 60%,#5b626c 66%,#9aa2ad 71%,#e6ebf1 84%,#c3cad3 92%,#eef2f7 100%);
  box-shadow:0 20px 44px -12px rgba(8,12,13,.55),
    inset 0 1px 0 rgba(255,255,255,.9),inset 0 0 0 1px rgba(255,255,255,.4),
    inset 0 -22px 30px -18px rgba(8,12,13,.5);}
[data-schema="signal"] .journey-end .end-dot::before{
  content:"";position:absolute;inset:9px;border:1px dashed rgba(8,12,13,.35);pointer-events:none;z-index:1;}
[data-schema="signal"] .journey-end .end-dot::after{
  content:"";position:absolute;top:-60%;left:-45%;width:42%;height:220%;pointer-events:none;z-index:2;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.95) 45%,rgba(255,255,255,.95) 55%,transparent);
  transform:rotate(20deg);mix-blend-mode:screen;animation:endSheen 4s ease-in-out infinite;}
@keyframes endSheen{0%,15%{left:-50%;}55%,100%{left:130%;}}

/* Werdegang-Logos: Kachel im Querformat, damit breite Logos (KNAPP, TU Graz)
   optisch gleich schwer wirken wie quadratische (Bulme, FB). */
[data-schema="signal"] .m-logo.m-logo-brand{padding:0;width:112px;height:72px;}
.m-logo.m-logo-brand .m-logo-img{width:100%;height:100%;max-height:100%;object-fit:contain;
  transform:scale(var(--ls,1));transform-origin:center;}
/* Optischer Ausgleich je Logo: quadratische Marken wirken groesser als breite */
#journey .m-logo-img[src*="bulme"]{--ls:.84;}
#journey .m-logo-img[src*="tu-graz"]{--ls:.96;}
#journey .m-logo-img[src*="knapp"]{--ls:1.06;}
#journey .m-logo-img[src*="fb-logo"]{--ls:.9;}
#journey .m-logo-img[src*="dk-logo"]{--ls:.82;}
/* Erste Station (Bulme) genau an den Anfang der Linie nach oben */
#journey .milestone:first-of-type{margin-top:-46px;}

/* Werdegang: Luft zwischen Logo und Karte, dort laeuft die Linie durch */
@media(min-width:821px){
  #journey .milestone{--m-gap:72px;gap:var(--m-gap);margin-bottom:44px;}
  /* Karte: klarer Textblock neben der Linie, keine Ueberlappung */
  #journey .m-card{max-width:400px;}
  #journey .m-card .m-year{font-size:26px;letter-spacing:-.01em;margin-bottom:7px;}
  #journey .m-card .m-role{font-size:20px;line-height:1.25;margin-bottom:3px;}
  #journey .m-card .m-company{font-size:12px;letter-spacing:.08em;margin-bottom:12px;}
  /* solider Grauton statt opacity: sauberer Kontrast, nichts schimmert durch */
  #journey .m-card p{font-size:15px;line-height:1.68;opacity:1;color:#42464a;}

  /* Stationspunkt auf der Linie, exakt im Spalt zwischen Logo und Karte */
  #journey .m-logo::after{content:"";position:absolute;top:50%;width:9px;height:9px;
    margin-top:-4.5px;background:var(--line);z-index:3;
    transition:background .5s ease .15s, transform .5s cubic-bezier(.25,.9,.3,1) .15s;transform:scale(.6);}
  #journey .milestone.left .m-logo::after{right:calc(var(--dot-in, 0px) - var(--m-gap) / 2 - 4.5px);}
  #journey .milestone.right .m-logo::after{left:calc(var(--dot-in, 0px) - var(--m-gap) / 2 - 4.5px);}
  /* Erste Station: Punkt naeher ans Bulme-Logo (Linie wandert mit) */
  #journey .milestone:first-of-type{--dot-in:16px;}
  #journey .milestone.in .m-logo::after{background:var(--accent);transform:scale(1);}

  /* dezenter Hover: Station hebt sich leicht an */
  #journey .milestone:hover .m-logo{transform:translateY(-3px);}
  #journey .milestone:hover .m-logo::after{transform:scale(1.25);}
}
[data-schema="signal"] .ph{border-radius:0;border-style:solid;border-width:2px;}
[data-schema="signal"] .rv{transform:translateX(-30px);}
[data-schema="signal"] .rv{transition-timing-function:cubic-bezier(.2,.9,.25,1);}

/* ############################################################
   WELT 3 · LEITSTAND - Kontrollraum, dunkel, Orange
   ############################################################ */
[data-schema="leitstand"] .sec-head{font-family:var(--mono);}
[data-schema="leitstand"] .sec-head::before{content:"▮ ";color:var(--accent);}
[data-schema="leitstand"] .sec-title{font-weight:700;}
[data-schema="leitstand"] section{border-top:1px solid var(--line);}
[data-schema="leitstand"] .wrap{position:relative;}

[data-schema="leitstand"] nav.site{border-bottom:1px solid var(--line);}
[data-schema="leitstand"] nav.site .links a{font-family:var(--mono);font-size:13px;text-transform:uppercase;letter-spacing:.08em;padding:6px 0;}
[data-schema="leitstand"] nav.site .links a.active{box-shadow:0 3px 0 var(--accent);}
[data-schema="leitstand"] .brand::before{content:"";width:9px;height:9px;border-radius:50%;background:#3ddc84;
  box-shadow:0 0 8px #3ddc84;animation:led 2.6s ease-in-out infinite;}
@keyframes led{0%,100%{opacity:1}50%{opacity:.45}}

[data-schema="leitstand"] header.hero{padding:64px 0 56px;}
[data-schema="leitstand"] .hero-frame{border:1px solid var(--line);border-radius:6px;padding:44px;background:var(--card);}
[data-schema="leitstand"] .hero-frame::before{content:"ÜBERSICHT / ANLAGE - BEREIT" / "";position:absolute;top:-11px;left:24px;
  font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--accent);background:var(--bg);padding:2px 10px;}
[data-schema="leitstand"] .hero h1{font-size:clamp(34px,4.6vw,56px);}
[data-schema="leitstand"] .hero h1 .hl:last-child::after{content:"▌";color:var(--accent);animation:blink 1.1s steps(1) infinite;margin-left:4px;}
@keyframes blink{50%{opacity:0}}
[data-schema="leitstand"] .hero .eyebrow{font-family:var(--mono);}
[data-schema="leitstand"] .hero-media .ph{background:#0e1218;border-color:#2e3742;}
[data-schema="leitstand"] .hero-cap{display:block;font-family:var(--mono);}
[data-schema="leitstand"] .hero-cap::before{content:"KAM-01 · SIGNAL FOLGT" / "";}
/* Intro: Aufflackern */
[data-schema="leitstand"] .hero-copy .eyebrow,[data-schema="leitstand"] .hero h1 .hl,
[data-schema="leitstand"] .hero p.lead,[data-schema="leitstand"] .hero .cta-row{transition:none;}
[data-schema="leitstand"].ready .hero-copy .eyebrow{animation:flick .5s steps(3) both .05s;}
[data-schema="leitstand"].ready .hero h1 .hl:nth-child(1){animation:flick .5s steps(3) both .18s;}
[data-schema="leitstand"].ready .hero h1 .hl:nth-child(3){animation:flick .5s steps(3) both .34s;}
[data-schema="leitstand"].ready .hero p.lead{animation:flick .5s steps(3) both .5s;}
[data-schema="leitstand"].ready .hero .cta-row{animation:flick .5s steps(3) both .64s;}
@keyframes flick{0%{opacity:0}40%{opacity:.5}60%{opacity:.2}100%{opacity:1}}

[data-schema="leitstand"] .card,[data-schema="leitstand"] .step,[data-schema="leitstand"] .skill-cat{
  background:var(--card);border:1px solid var(--line);}
[data-schema="leitstand"] .card::before,[data-schema="leitstand"] .skill-cat::before{content:"";position:absolute;}
[data-schema="leitstand"] .card{padding-top:38px;}
[data-schema="leitstand"] .card::before{top:0;left:0;right:0;height:26px;background:#0e1218;border-bottom:1px solid var(--line);}
[data-schema="leitstand"] .card::after{content:"● AKTIV" / "";position:absolute;top:6px;left:12px;font-family:var(--mono);
  font-size:10px;letter-spacing:.14em;color:#3ddc84;}
[data-schema="leitstand"] .card:hover{box-shadow:0 0 0 1px var(--accent), 0 0 24px -8px color-mix(in srgb,var(--accent) 55%,transparent);border-color:var(--accent);transform:none;}
[data-schema="leitstand"] .step:hover{border-color:var(--accent);transform:none;}
[data-schema="leitstand"] .step .no{font-family:var(--mono);background:transparent;color:var(--accent);border:1px solid var(--accent);}
[data-schema="leitstand"] .step .arrow{color:var(--accent);}
[data-schema="leitstand"] .brand-logo{background:var(--card);}
[data-schema="leitstand"] .brand-logo:hover{box-shadow:0 0 18px -6px var(--accent);border-color:var(--accent);transform:none;}
[data-schema="leitstand"] .tag{font-family:var(--mono);font-size:12.5px;}
[data-schema="leitstand"] .btn-ghost{border-color:var(--line);color:var(--accent);}
[data-schema="leitstand"] .btn-primary:hover,[data-schema="leitstand"] .btn-cta:hover{box-shadow:0 0 26px -6px var(--accent);}
[data-schema="leitstand"] .about-big .facts .num{font-family:var(--mono);}
[data-schema="leitstand"] .m-card .m-year{font-family:var(--mono);}
[data-schema="leitstand"] .cta-band{background:var(--card);border:1px solid var(--accent);color:var(--fg);}
[data-schema="leitstand"] .cta-band .btn-primary{background:var(--accent);color:var(--accent-fg);}
[data-schema="leitstand"] .cta-band .btn-ghost{border-color:var(--line);color:var(--fg);}
[data-schema="leitstand"] .form-field input,[data-schema="leitstand"] .form-field textarea{background:#0e1218;font-family:var(--mono);}
[data-schema="leitstand"] .form-field label{font-family:var(--mono);}
[data-schema="leitstand"] .rv{transform:none;animation:none;}
[data-schema="leitstand"] .rv.on{animation:flick .45s steps(3) both;}

/* ############################################################
   WELT 4 · WERKSTOFF - grün, warm, griffig
   ############################################################ */
[data-schema="werkstoff"] .sec-title{font-weight:700;}
[data-schema="werkstoff"] .sec-head{letter-spacing:.1em;}
[data-schema="werkstoff"] section{border-top:none;}
[data-schema="werkstoff"] .sec-title{display:inline-block;background:linear-gradient(transparent 68%, color-mix(in srgb,var(--accent) 28%,transparent) 68%);}

[data-schema="werkstoff"] nav.site .links a{font-weight:600;padding:7px 14px;border-radius:999px;transition:background .18s ease;}
[data-schema="werkstoff"] nav.site .links a:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--fg);}
[data-schema="werkstoff"] nav.site .links a.active{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--fg);}
[data-schema="werkstoff"] .brand .mark{border-radius:12px;transform:rotate(-4deg);}
[data-schema="werkstoff"] .navcta{border-radius:999px;}

[data-schema="werkstoff"] .hero h1{font-weight:800;font-size:clamp(38px,5vw,60px);}
[data-schema="werkstoff"] .hero-media .ph{transform:rotate(-2.4deg);border-style:solid;box-shadow:0 22px 44px -20px rgba(40,50,43,.35);}
[data-schema="werkstoff"] .hero-media::before{content:"";position:absolute;top:-12px;left:50%;transform:translateX(-50%) rotate(3deg);
  width:98px;height:26px;background:color-mix(in srgb,var(--accent2) 55%,#fff);opacity:.85;z-index:3;}
[data-schema="werkstoff"] .hero-media::after{content:"";position:absolute;right:-22px;bottom:-20px;width:120px;height:120px;
  border-radius:50%;background:color-mix(in srgb,var(--accent2) 40%,transparent);z-index:-1;}
/* Intro: federnd */
[data-schema="werkstoff"] .hero-copy .eyebrow,[data-schema="werkstoff"] .hero h1 .hl,
[data-schema="werkstoff"] .hero p.lead,[data-schema="werkstoff"] .hero .cta-row{
  transform:translateY(26px) scale(.97);transition:transform .65s cubic-bezier(.34,1.56,.64,1), opacity .4s ease;}
[data-schema="werkstoff"].ready .hero-copy .eyebrow{transform:none;transition-delay:.05s;}
[data-schema="werkstoff"].ready .hero h1 .hl:nth-child(1){transform:none;transition-delay:.15s;}
[data-schema="werkstoff"].ready .hero h1 .hl:nth-child(3){transform:none;transition-delay:.28s;}
[data-schema="werkstoff"].ready .hero p.lead{transform:none;transition-delay:.42s;}
[data-schema="werkstoff"].ready .hero .cta-row{transform:none;transition-delay:.55s;}

[data-schema="werkstoff"] .card,[data-schema="werkstoff"] .step,[data-schema="werkstoff"] .skill-cat{
  background:#fff;border:none;box-shadow:0 14px 34px -22px rgba(40,50,43,.4);}
[data-schema="werkstoff"] .card:hover,[data-schema="werkstoff"] .step:hover{transform:translateY(-6px) rotate(-.5deg);}
[data-schema="werkstoff"] .card .ic{border-radius:14px;transform:rotate(-4deg);}
[data-schema="werkstoff"] .step .no{border-radius:50%;}
[data-schema="werkstoff"] .brand-logo{border:none;background:#fff;box-shadow:0 10px 26px -20px rgba(40,50,43,.45);}
[data-schema="werkstoff"] .brand-logo:hover{transform:translateY(-5px) rotate(1.2deg);}
[data-schema="werkstoff"] .tag{border-radius:999px;}
[data-schema="werkstoff"] .btn{border-radius:999px;}
[data-schema="werkstoff"] .btn-primary:hover{transform:translateY(-3px);box-shadow:0 14px 26px -12px color-mix(in srgb,var(--accent) 70%,transparent);}
[data-schema="werkstoff"] .btn-cta{border-radius:999px;}
[data-schema="werkstoff"] .about-big .photo{border-radius:26px;}
[data-schema="werkstoff"] .ph{border-radius:22px;}
[data-schema="werkstoff"] .hero-media .ph{border-radius:14px;}
[data-schema="werkstoff"] .cta-band{border-radius:30px;}
[data-schema="werkstoff"] .m-logo{border-radius:22px;}
[data-schema="werkstoff"] .journey-end .end-dot{border-radius:26px;}
[data-schema="werkstoff"] .rv{transform:translateY(22px) scale(.97);}
[data-schema="werkstoff"] .rv{transition-timing-function:cubic-bezier(.34,1.56,.64,1);}

/* ############################################################
   WELT 5 · STAHLBAU - Editorial-Industrial, Serifen, Hairlines
   ############################################################ */
[data-schema="stahlbau"] .sec-title{font-weight:500;letter-spacing:-.01em;font-size:clamp(30px,3.6vw,42px);}
[data-schema="stahlbau"] .sec-head{font-family:var(--body);color:var(--accent2);}
[data-schema="stahlbau"] .sec-head::after{content:"";display:block;width:56px;height:1px;background:var(--fg);margin-top:10px;}
[data-schema="stahlbau"] section{border-top:1px solid var(--line);}
[data-schema="stahlbau"] .eyebrow{font-family:var(--body);color:var(--accent2);}

[data-schema="stahlbau"] nav.site{padding:20px 30px;}
[data-schema="stahlbau"] nav.site .links a{font-family:var(--body);font-size:14px;letter-spacing:.02em;}
[data-schema="stahlbau"] nav.site .links a::before{content:attr(data-i);font-size:10px;color:var(--accent2);margin-right:6px;vertical-align:3px;}
[data-schema="stahlbau"] nav.site .links a.active{border-bottom:1px solid var(--fg);}
[data-schema="stahlbau"] .brand{font-weight:500;font-size:20px;}
[data-schema="stahlbau"] .brand .mark{background:var(--fg);}
[data-schema="stahlbau"] .navcta{background:var(--fg);}

[data-schema="stahlbau"] header.hero{padding:104px 0 88px;}
[data-schema="stahlbau"] .hero-frame{grid-template-columns:1.35fr .75fr;align-items:start;}
[data-schema="stahlbau"] .hero h1{font-weight:500;font-size:clamp(44px,6vw,78px);line-height:1.03;letter-spacing:-.015em;}
[data-schema="stahlbau"] .hero-copy::before{content:"01" / "";position:absolute;top:-64px;right:-30px;font-family:var(--head);
  font-size:200px;line-height:1;color:color-mix(in srgb,var(--fg) 6%,transparent);z-index:-1;font-weight:500;}
[data-schema="stahlbau"] .hero p.lead{font-size:19px;max-width:520px;}
[data-schema="stahlbau"] .hero-media .ph{border-style:solid;border-width:1px;border-color:var(--fg);}
[data-schema="stahlbau"] .hero-cap{display:block;border-top:1px solid var(--fg);padding-top:8px;font-family:var(--body);}
[data-schema="stahlbau"] .hero-cap::before{content:"ABB. 01 - PORTRÄT FOLGT" / "";letter-spacing:.12em;font-size:11px;}
/* Intro: elegante Reveals von unten mit Maske */
[data-schema="stahlbau"] .hero h1 .hl{overflow:hidden;}
[data-schema="stahlbau"] .hero-copy .eyebrow,[data-schema="stahlbau"] .hero h1 .hl,
[data-schema="stahlbau"] .hero p.lead,[data-schema="stahlbau"] .hero .cta-row{
  transform:translateY(30px);transition:transform .8s cubic-bezier(.2,.7,.2,1), opacity .6s ease;}
[data-schema="stahlbau"].ready .hero-copy .eyebrow{transform:none;transition-delay:.05s;}
[data-schema="stahlbau"].ready .hero h1 .hl:nth-child(1){transform:none;transition-delay:.18s;}
[data-schema="stahlbau"].ready .hero h1 .hl:nth-child(3){transform:none;transition-delay:.32s;}
[data-schema="stahlbau"].ready .hero p.lead{transform:none;transition-delay:.5s;}
[data-schema="stahlbau"].ready .hero .cta-row{transform:none;transition-delay:.62s;}

[data-schema="stahlbau"] .cards{grid-template-columns:1fr;gap:0;}
[data-schema="stahlbau"] .card{background:transparent;border:none;border-top:1px solid var(--fg);border-radius:0;
  display:grid;grid-template-columns:70px 1fr 2fr;gap:26px;align-items:start;padding:30px 0;}
[data-schema="stahlbau"] .card:hover{transform:none;background:color-mix(in srgb,var(--fg) 3%,transparent);}
[data-schema="stahlbau"] .card .ic{background:transparent;color:var(--accent2);font-family:var(--head);font-size:26px;margin:0;width:auto;height:auto;display:block;}
[data-schema="stahlbau"] .card h3{font-size:24px;font-weight:500;}
[data-schema="stahlbau"] .step{background:transparent;border:none;border-top:1px solid var(--fg);border-radius:0;padding:26px 10px 0 0;}
[data-schema="stahlbau"] .step:hover{transform:none;}
[data-schema="stahlbau"] .step .no{background:transparent;color:var(--accent2);font-family:var(--head);font-size:30px;width:auto;height:auto;display:block;margin-bottom:10px;}
[data-schema="stahlbau"] .step .arrow{display:none;}
[data-schema="stahlbau"] .skill-cat{background:transparent;border:none;border-top:1px solid var(--fg);border-radius:0;padding:24px 0;}
[data-schema="stahlbau"] .skill-cat:hover{transform:none;}
[data-schema="stahlbau"] .skill-cat h4 .dot{border-radius:50%;background:var(--accent2);}
[data-schema="stahlbau"] .brand-logo{background:transparent;border:none;border-bottom:1px solid var(--line);border-radius:0;font-family:var(--body);}
[data-schema="stahlbau"] .brand-logo:hover{transform:none;border-bottom-color:var(--fg);opacity:1;}
[data-schema="stahlbau"] .tag{border-radius:0;background:transparent;border-color:var(--line);}
[data-schema="stahlbau"] .btn{border-radius:0;font-family:var(--body);letter-spacing:.04em;}
[data-schema="stahlbau"] .btn-primary{background:var(--fg);}
[data-schema="stahlbau"] .btn-ghost{border:none;border-bottom:1.5px solid var(--fg);padding-left:2px;padding-right:2px;}
[data-schema="stahlbau"] .btn-cta{background:var(--fg);border-radius:0;font-family:var(--body);}
[data-schema="stahlbau"] .about-big h2{font-weight:500;}
[data-schema="stahlbau"] .about-big .facts .num{font-family:var(--head);font-weight:500;}
[data-schema="stahlbau"] .cta-band{background:var(--fg);border-radius:0;text-align:left;padding:64px;}
[data-schema="stahlbau"] .m-logo{background:var(--fg);}
[data-schema="stahlbau"] .journey-end .end-dot{background:var(--fg);border-radius:0;}
[data-schema="stahlbau"] .m-card .m-company{color:var(--accent2);}
[data-schema="stahlbau"] .journey-line .draw{stroke:var(--accent2);}
[data-schema="stahlbau"] .form-field input,[data-schema="stahlbau"] .form-field textarea{
  background:transparent;border:none;border-bottom:1px solid var(--fg);border-radius:0;padding-left:0;}
[data-schema="stahlbau"] .rv{transform:translateY(18px);transition-duration:.8s;}

/* ============================================================
   RESPONSIVE (alle Welten)
   ============================================================ */
@media(max-width:860px){.brand-logo{flex-basis:calc((100% - 2*16px)/3);}}
@media(max-width:600px){.brand-logo{flex-basis:calc((100% - 16px)/2);}}
@media(max-width:420px){.brand-logo{flex-basis:100%;}}

@media(max-width:820px){
  .hero-frame,[data-schema="stahlbau"] .hero-frame{grid-template-columns:1fr;gap:34px;}
  .hero-spec{display:none;}
  .about-big .grid,.contact-grid{grid-template-columns:1fr;}
  .brands{grid-template-columns:repeat(2,1fr);}
  .cards,.process-steps,.skills{grid-template-columns:1fr;}
  .step .arrow{display:none;}
  [data-schema="stahlbau"] .card{grid-template-columns:48px 1fr;}
  [data-schema="stahlbau"] .card p{grid-column:2;}
  [data-schema="stahlbau"] .hero-copy::before{font-size:120px;top:-30px;right:0;}
  [data-schema="leitstand"] .hero-frame{padding:26px;}
  [data-schema="signal"] .hero-media::after{right:-8px;bottom:-8px;}
  [data-schema="signal"] .hero-media::before{left:-8px;top:-8px;}
  [data-schema="signal"] .cta-band{box-shadow:6px 6px 0 var(--fg);padding:40px 26px;}

  .burger{display:flex;flex-direction:column;justify-content:center;gap:5px;background:none;border:0;cursor:pointer;padding:8px;z-index:70;}
  .burger span{display:block;width:24px;height:2px;background:var(--fg);transition:transform .25s ease, opacity .2s ease;}
  nav.site{position:sticky;}
  nav.site .links{display:none;}
  nav.site.open .links{display:flex;flex-direction:column;align-items:flex-start;gap:20px;
    position:absolute;top:100%;left:0;right:0;background:var(--nav-bg);backdrop-filter:blur(12px);
    padding:26px 30px 30px;border-bottom:1px solid var(--line);z-index:65;}
  .nav-ink{display:none;}
  nav.site.open .burger span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  nav.site.open .burger span:nth-child(2){opacity:0;}
  nav.site.open .burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
  nav.site .navcta{display:none;}
  nav.site .langswitch{display:none;}
  nav.site.open .navcta{display:inline-flex;position:absolute;top:calc(100% + 0px);right:30px;z-index:66;margin-top:26px;}

  .journey-line{display:none;}
  /* Linie laeuft rechts neben den Logos, nicht durch sie hindurch */
  .journey::before{content:"";position:absolute;left:94px;top:10px;bottom:140px;width:2px;background:var(--line);z-index:0;}
  .milestone{width:100%;gap:32px;margin-bottom:26px;transform:none;}
  .milestone.left,.milestone.right{flex-direction:row;text-align:left;transform:none;}
  .milestone.left .m-card .m-tags,.milestone.right .m-card .m-tags{justify-content:flex-start;}
  .m-logo{width:64px;height:64px;font-size:10px;}
  [data-schema="signal"] .m-logo.m-logo-brand{width:78px;height:54px;}
  #journey .milestone:first-of-type{margin-top:0;}
  .journey-end{align-items:flex-start;text-align:left;}
  .cta-band{padding:34px;}
  [data-schema="stahlbau"] .cta-band{padding:38px;}
}

/* Lade-/Intro-Animation deaktiviert: alles bleibt sofort an seiner Position (kein Links-Versatz) */
.rv,.rv.on{opacity:1 !important;transform:none !important;}
.hero-copy .eyebrow,.hero h1 .hl,.hero p.lead,.hero .cta-row{opacity:1 !important;transform:none !important;clip-path:none !important;}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001s !important;transition-duration:.001s !important;}
  .rv,.hero-copy .eyebrow,.hero h1 .hl,.hero p.lead,.hero .cta-row{opacity:1 !important;transform:none !important;clip-path:none !important;}
}

/* ============================================================
   Firmenfarben je Projekt-Box (Ersatz fuer Logos)
   --b1 = markante Primaerfarbe (Puls + Rand), --b2 = optionale 2. Farbe (Farbring)
   ============================================================ */
.brand-logo{--_b1:var(--b1,var(--accent));--_b2:var(--b2,var(--b1,var(--accent)));}
/* Ruhezustand: klare weisse Karte mit dezenter Tiefe, feiner Firmenfarb-Rand,
   Name als sauberes Label */
[data-schema="signal"] .brand-logo{
  height:88px;background:#fff;opacity:1;color:var(--fg);padding:12px 14px;text-align:center;line-height:1.25;
  text-transform:uppercase;letter-spacing:.05em;font-weight:800;font-size:13px;
  border:1.5px solid transparent;
  border-image:linear-gradient(135deg,color-mix(in srgb,var(--_b1) 24%,var(--line)),color-mix(in srgb,var(--_b2) 24%,var(--line))) 1;
  box-shadow:0 1px 2px rgba(8,12,13,.04), 0 10px 24px -20px rgba(8,12,13,.5);
  transition:transform .28s cubic-bezier(.22,.61,.24,1), box-shadow .28s ease;}
/* Hover: sanfter Lift, kraeftiger Rand, weicher + farbiger Schatten */
[data-schema="signal"] .brand-logo:hover{
  transform:translateY(-3px);
  border-image:linear-gradient(135deg,color-mix(in srgb,var(--_b1) 78%,#fff),color-mix(in srgb,var(--_b2) 78%,#fff)) 1;
  box-shadow:0 26px 46px -18px rgba(8,12,13,.4), 0 0 0 1.5px color-mix(in srgb,var(--_b1) 40%,transparent);
}
/* Aufgaben-Overlay: Firmenfarbe mit feinem Verlauf (Tiefe statt flach) + praeziser Schatten */
.brand-logo .proj-task{
  padding:18px 22px;font-size:13px;line-height:1.55;font-weight:500;
  background:linear-gradient(158deg,
     color-mix(in srgb,var(--_b1) 94%,#fff) 0%,
     color-mix(in srgb,var(--_b1) 90%,var(--fg)) 62%,
     color-mix(in srgb,var(--_b1) 82%,var(--fg)) 100%);
  color:#fff;
  box-shadow:0 28px 54px -20px rgba(8,12,13,.6), inset 0 0 0 1px color-mix(in srgb,#fff 22%,transparent);}
