:root{--bg:#110c22;--card:#1b1433;--text:#efeafa;--logo-text:#fff;--muted:#aea5cc;--accent:#a78bfa;--nav-bg:rgba(17,12,34,.9);--btn-text:#1a0f38;--shadow:rgba(0,0,0,.4);--line:transparent;color-scheme:dark}
:root[data-theme=light]{--bg:#faf8ff;--card:#fff;--text:#1e1537;--logo-text:#000;--muted:#554b73;--accent:#6d28d9;--nav-bg:rgba(250,248,255,.92);--btn-text:#fff;--shadow:rgba(60,30,120,.2);--line:#e4dcf6;color-scheme:light}
@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#faf8ff;--card:#fff;--text:#1e1537;--logo-text:#000;--muted:#554b73;--accent:#6d28d9;--nav-bg:rgba(250,248,255,.92);--btn-text:#fff;--shadow:rgba(60,30,120,.2);--line:#e4dcf6;color-scheme:light}}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);line-height:1.6}
a{color:var(--accent)}
.nav{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:1rem 5vw;background:var(--nav-bg);backdrop-filter:blur(8px)}
.nav a{margin-left:1.5rem;text-decoration:none;color:var(--text)}
.nav .logo{margin:0;font-weight:700}.logo span{color:var(--accent)}
section{max-width:1000px;margin:0 auto;padding:2.25rem 5vw}
.hero{padding-top:4.5rem}
.eyebrow{color:var(--accent);text-transform:uppercase;letter-spacing:.1em;font-size:.85rem}
h1{font-size:clamp(2rem,5vw,3.4rem);line-height:1.15;margin:.5rem 0 1rem}
.hero-name,.hero-claim{display:block}
.hero-name{color:var(--text)}
.hero-text{min-width:0;container-type:inline-size}
.hero-claim{font-size:min(clamp(1.5625rem,3.125vw,2.125rem),5.3cqi);line-height:1.2;margin-top:.1em}
.hero-ai-line{white-space:nowrap}
.lead{color:var(--muted);font-size:1.15rem;max-width:42rem}
.btn{display:inline-block;margin-top:1rem;padding:.8rem 1.5rem;background:var(--accent);color:var(--btn-text);border-radius:.5rem;font-weight:600;text-decoration:none}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}
article{background:var(--card);padding:1.5rem;border-radius:.75rem;border:1px solid var(--line)}
article h3{margin-top:0}article p{color:var(--muted);margin-bottom:0}
.about p{color:var(--muted);max-width:44rem}
footer{display:flex;gap:1.5rem;justify-content:center;padding:2rem;color:var(--muted);font-size:.9rem}
@media(max-width:600px){.nav{flex-direction:column;gap:.4rem;padding:.7rem 5vw}.nav nav a{margin:0 .8rem 0 0;white-space:nowrap}section{padding:1.75rem 5vw}.hero{padding-top:3rem}}
.skills{margin-top:2rem}.about p{margin-top:0}
.legal{max-width:760px}.legal h2{font-size:1.1rem;margin-top:2rem}.legal p{color:var(--muted)}
article{overflow-wrap:break-word;hyphens:auto}
article h3{hyphens:auto}
@media(max-width:700px){.grid{grid-template-columns:1fr}}
.social{margin-top:1.5rem}
section.hero{display:grid;grid-template-columns:1fr 280px;gap:3rem;align-items:center;max-width:1000px}
.portrait{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:1.5rem;box-shadow:0 0 0 2px var(--accent),0 20px 40px var(--shadow)}
@media(max-width:800px){section.hero{grid-template-columns:1fr;gap:2rem}.portrait{order:-1;width:180px;justify-self:center}}
.nav nav a{display:inline-block;transition:color .2s,transform .25s ease;transform-origin:center}
.nav nav a.active{color:var(--accent);font-weight:600;transform:scale(1.15)}
section[id]{scroll-margin-top:5rem}
@media(max-width:800px){section[id]{scroll-margin-top:4rem}}
.nav .logo{display:inline-flex;align-items:center;gap:.55rem;margin:0}.logo img{display:block}
.logo b{font-weight:700;color:var(--logo-text)}
section h2{transition:color .3s,transform .3s ease;transform-origin:left center}
section.in-view h2{color:var(--accent);transform:scale(1.12)}
@media(prefers-reduced-motion:reduce){.nav nav a,section h2{transition:color .3s}.nav nav a.active,section.in-view h2{transform:none}}

.theme-toggle{margin-left:1rem;background:none;border:1px solid var(--accent);color:var(--accent);border-radius:50%;width:2.1rem;height:2.1rem;cursor:pointer;font-size:1rem;line-height:1;padding:0}.theme-toggle:hover{background:var(--accent);color:var(--bg)}
.nav-right{display:flex;align-items:center}
@media(max-width:600px){.nav-right{width:100%;justify-content:space-between}.theme-toggle{margin-left:0}}
.logo .l-light{display:none}
:root[data-theme=light] .logo .l-dark{display:none}:root[data-theme=light] .logo .l-light{display:block}
@media(prefers-color-scheme:light){:root:not([data-theme=dark]) .logo .l-dark{display:none}:root:not([data-theme=dark]) .logo .l-light{display:block}}
.nav .logo{gap:.8rem}.nav .logo b{font-size:1.45rem;letter-spacing:-.01em}.nav{padding:.7rem 5vw}
@media(max-width:600px){.nav .logo b{font-size:1.25rem}}
@media(max-width:600px){section.in-view h2{transform:scale(1.05)}}
.nav{border-bottom:1px solid var(--accent);z-index:10}
.hero-proof{font-weight:650;color:var(--text);margin:.8rem 0 0}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem 1.25rem}
.hero-actions .btn{margin-top:1rem}
.text-link{font-weight:600;text-decoration-thickness:1px;text-underline-offset:.2em}
.section-intro{max-width:46rem;margin:-.75rem 0 1.5rem;color:var(--muted)}
.service-grid article h3{min-height:2.4em;line-height:1.2}
.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.project-card{display:flex;flex-direction:column;padding:1.35rem}
.project-card .project-period{margin:0 0 .3rem;color:var(--accent);font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.project-card h3{margin:.1rem 0 1rem}
.project-summary{color:var(--text)!important;font-weight:600}
.project-card details{margin-top:auto;padding-top:.8rem}
.project-card summary{color:var(--accent);font-weight:650;cursor:pointer}
.project-card details[open] summary{margin-bottom:.7rem}
.project-card dl{display:grid;grid-template-columns:7.25rem minmax(0,1fr);gap:.45rem .75rem;margin:0;font-size:.91rem}
.project-card dt{font-weight:650;color:var(--text)}
.project-card dd{margin:0;color:var(--muted)}
.skills article{background:var(--card)}
.skills article h3{min-height:2.4em;line-height:1.2}
.profile-list{margin:0;padding:0;list-style:none;color:var(--muted);font-size:.94rem}
.profile-list li{padding:.35rem 0}
.profile-list li+li{border-top:1px solid var(--line)}
.skills article>p{margin:.2rem 0 .75rem}
.skills article>p:last-child{margin-bottom:0}
.contact>p{max-width:44rem;color:var(--muted)}
.contact .text-link{color:var(--accent)}
.direction-grid{display:grid;grid-template-columns:1fr;gap:1rem;align-items:stretch}
.direction-card{min-width:0;padding:1.5rem;background:var(--card);border:1px solid var(--line);border-radius:.75rem;overflow-wrap:break-word}
.direction-card:not([open]){display:flex;flex-direction:column}
.direction-card:not([open])>summary{display:flex;flex:1;flex-direction:column}
.journey-layout{display:grid;grid-template-columns:130px minmax(0,1fr);gap:1.5rem;max-width:900px;margin:1.5rem auto 0}
.journey-road{height:760px;margin:0}
.journey-road svg{display:block;width:100%;height:100%;overflow:visible}
.journey-road .road-edge{fill:none;stroke:var(--accent);stroke-width:30;stroke-linecap:round;opacity:.38}
.journey-road .road-bed{fill:none;stroke:var(--bg);stroke-width:22;stroke-linecap:round}
.journey-road .road-center{fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-dasharray:7 11}
.journey-road .road-stop circle{fill:var(--accent);stroke:var(--bg);stroke-width:4}
.journey-road .road-stop text{fill:var(--btn-text);font:700 22px system-ui,sans-serif;text-anchor:middle;dominant-baseline:central}
.journey-road .road-caption{fill:var(--accent);font:700 13px system-ui,sans-serif;letter-spacing:1px;text-anchor:middle}
.journey-grid{grid-column:2;grid-row:1;display:grid;grid-template-columns:1fr;grid-template-rows:repeat(4,190px);gap:0;max-width:none;margin:0;padding:0;list-style:none}
.journey-step{display:flex;align-items:center;min-width:0}
.journey-step::before{display:none}
.journey-card{width:100%;padding:1.2rem 1.5rem;background:var(--card);border:1px solid var(--line);border-radius:.75rem}
.journey-card h3{margin-top:0}
.ai-use-case{margin-top:1.5rem;scroll-margin-top:8rem}
.ai-use-case .eyebrow{display:inline-block;margin:0 0 .75rem;padding:.25rem .65rem;border:1px solid var(--accent);border-radius:999px;color:var(--accent);font-size:.82rem;font-weight:750;letter-spacing:.02em}
.ai-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin:1.25rem 0 1.5rem}
.ai-result{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:1rem 1.1rem;background:var(--card);border:1px solid var(--line);border-top:3px solid var(--accent);border-radius:.65rem}
.ai-result strong{color:var(--accent);font-size:1.35rem;line-height:1.2}
.ai-result span{margin-top:.3rem;color:var(--muted);font-size:.9rem;line-height:1.4}
.ai-process-heading{margin:1.25rem 0 .4rem}
.ai-process-list{margin:0;padding:0;list-style:none}
.ai-process-list li{display:grid;grid-template-columns:7rem minmax(0,1fr);gap:.75rem;padding:.75rem 0;border-top:1px solid var(--line)}
.ai-process-list li strong{color:var(--accent);font-variant-numeric:tabular-nums}
.ai-process-list li span{color:var(--muted)}
.direction-card>summary{position:relative;list-style:none;padding-right:2rem;cursor:pointer}
.direction-card>summary::-webkit-details-marker{display:none}
.direction-card>summary::after{content:"+";position:absolute;top:0;right:.1rem;color:var(--accent);font-size:1.7rem;line-height:1}
.direction-card[open]>summary::after{content:"−"}
.direction-card>summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:.2rem}
.direction-kicker{color:var(--accent);font-size:.8rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.direction-card>summary h3{margin:.35rem 0 .5rem}
.direction-card>summary p{margin:0;color:var(--muted)}
.direction-action{display:inline-block;margin-top:auto;padding-top:.8rem;color:var(--accent);font-weight:650;text-decoration:underline;text-underline-offset:.2em}
.direction-card[open]>summary{padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid var(--line)}
.direction-card[id]{scroll-margin-top:8rem}
.direction-content>p{color:var(--muted)}
.direction-content>.section-intro{margin:.5rem 0 1.5rem}
.direction-content .grid{margin-top:1rem}
@supports selector(.direction-grid:has(.direction-card[open])){
  .direction-grid:not(:has(.direction-card[open])){grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr}
}
@media(max-width:700px){.project-grid{grid-template-columns:1fr}.project-card dl{grid-template-columns:6.5rem minmax(0,1fr)}}
@media(max-width:700px){.ai-results{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-result:first-child{grid-column:1/-1}.ai-result:first-child strong{font-size:1.6rem}}
@media(max-width:420px){.ai-process-list li{grid-template-columns:5.2rem minmax(0,1fr);gap:.5rem}.ai-result{padding:.85rem}.ai-result strong{font-size:1.15rem}}
@media(max-width:999px){.journey-layout{display:block;max-width:760px;margin:1.5rem auto 0}.journey-road{display:none}.journey-grid{grid-template-rows:none;gap:1rem;max-width:none;margin:0;counter-reset:journey}.journey-step{position:relative;display:block;padding:1.25rem 1.5rem 1.25rem 4.5rem}.journey-step::before{counter-increment:journey;content:counter(journey);position:absolute;top:1.1rem;left:1.5rem;z-index:1;display:grid;place-items:center;width:1.65rem;height:1.65rem;border-radius:50%;background:var(--accent);color:var(--btn-text);font-weight:700}.journey-step:not(:last-child)::after{content:"";position:absolute;top:2.85rem;bottom:-2.9rem;left:2.28rem;width:2px;background:repeating-linear-gradient(to bottom,var(--accent) 0 6px,transparent 6px 12px);opacity:.8}}
@media(max-width:600px){#ablauf h2{max-width:16ch}}
@media(max-width:700px){#leistungen .direction-grid{grid-template-columns:1fr}}
@media(max-width:420px){.project-card dl{grid-template-columns:1fr;gap:.1rem}.project-card dd{margin:0 0 .55rem}}
@media(max-width:800px){
  .nav{flex-direction:row;gap:.5rem;padding:.45rem 4vw}
  .nav .logo{gap:.45rem;flex-shrink:0}
  .nav .logo img{width:42px;height:42px}
  .nav .logo b{font-size:1rem}
  .nav-right{position:relative;width:auto;gap:.55rem;flex:0 1 auto}
  .nav-current{display:block;max-width:5.3rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--accent);font-size:.82rem;font-weight:600}
  .menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:2.25rem;height:2.25rem;padding:0;border:1px solid var(--accent);border-radius:.45rem;background:transparent;color:var(--accent);cursor:pointer}
  .menu-toggle span{width:1rem;height:2px;background:currentColor;border-radius:2px}
  .nav nav{display:none;position:absolute;top:calc(100% + .75rem);right:0;z-index:11;min-width:11rem;padding:.45rem;background:var(--nav-bg);backdrop-filter:blur(8px);border:1px solid var(--accent);border-radius:.6rem;box-shadow:0 10px 24px var(--shadow)}
  .nav.menu-open nav{display:flex;flex-direction:column;gap:.1rem}
  .nav nav a{margin:0;padding:.55rem .75rem;white-space:nowrap;border-radius:.35rem}
  .nav nav a.active{background:color-mix(in srgb,var(--accent) 14%,transparent);transform:none}
  .theme-toggle{flex-shrink:0;width:2rem;height:2rem}
}
@media(max-width:600px){.direction-card{padding:1.25rem}}
@media(min-width:801px){.nav-current,.menu-toggle{display:none}}
@media(min-width:801px){.nav nav a.mobile-home{display:none}}
@media(max-width:360px){
  .nav{padding-right:3vw;padding-left:3vw}
  .nav .logo{gap:.3rem}
  .nav .logo img{width:34px;height:34px}
  .nav .logo b{font-size:.82rem}
  .nav-right{gap:.3rem}
  .nav-current{max-width:3.6rem;font-size:.75rem}
  .menu-toggle{width:2rem;height:2rem}
  .theme-toggle{width:1.85rem;height:1.85rem}
}
