@font-face{font-family:Barlow;src:url('assets/fonts/Barlow-Regular.ttf');font-display:swap}@font-face{font-family:Barlow;src:url('assets/fonts/Barlow-SemiBold.ttf');font-weight:600;font-display:swap}*{box-sizing:border-box}:root{--paper:#f7f6f3;--ink:#222426;--accent:#c45d24;--line:#deddd8}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font:18px/1.65 Barlow,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.15}h1{font-size:clamp(42px,5.2vw,74px);font-weight:600;letter-spacing:-.035em;max-width:720px;margin-bottom:28px}h2{font-size:clamp(30px,3.4vw,46px);font-weight:600;letter-spacing:-.025em;margin-bottom:18px}h3{font-size:23px;font-weight:600}.wrap{width:min(1180px,calc(100% - 96px));margin-inline:auto}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip-link{position:fixed;top:-80px;left:20px;padding:10px;background:var(--paper);z-index:50}.skip-link:focus{top:10px}.header{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--line)}.header-inner{width:min(1300px,calc(100% - 80px));height:88px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:16px}.brand-monogram{font:600 37px/1 Barlow,sans-serif;letter-spacing:-6px;padding-right:6px}.brand-monogram span{color:var(--accent)}.brand-label{display:flex;flex-direction:column}.header-name{font-size:15px;font-weight:600;letter-spacing:.07em}.header-profession{font-size:10px;letter-spacing:.23em}.navigation{display:flex;gap:26px}.navigation a{font-size:15px;position:relative;padding:12px 0}.navigation a.active:after{content:'';position:absolute;left:0;right:0;bottom:3px;height:2px;background:var(--accent)}.navigation a:hover{color:var(--accent)}.header-controls{display:flex;gap:14px;align-items:center}.language-switch{display:flex;gap:4px}.language-switch>span{display:none}.language-switch button{border:0;background:none;color:var(--ink);font-size:12px;padding:8px}.language-switch button[aria-pressed=true]{color:var(--accent);font-weight:600}#menu-toggle{display:none;border:1px solid var(--line);background:none;padding:10px}#menu-toggle span{display:block;width:20px;height:2px;background:var(--ink);margin:5px}.hero{padding:100px 0 110px}.hero-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:100px;align-items:center}.eyebrow{font-size:12px;color:var(--accent);letter-spacing:.16em;font-weight:600;text-transform:uppercase}.hero-specialties{font-size:21px;line-height:1.45;margin-bottom:24px}.hero-description{max-width:600px;color:var(--ink);font-size:18px}.hero-note{border-left:1px solid var(--line);padding:30px 0 30px 44px}.hero-note p{font-size:27px;font-weight:600;line-height:1.3;margin:18px 0 35px}.hero-note>span:last-child{font-size:18px}.hero-note-line{display:block;background:var(--accent);height:3px;width:38px;margin-bottom:22px}.section{padding:85px 0}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:38px}.section-intro{font-size:18px;max-width:520px;margin:0 0 18px}.expertise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 32px}.expertise-card{border-top:1px solid var(--line);padding:0;min-width:0;align-self:start}.expertise-card summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:16px;min-height:100px;padding:22px 4px;position:relative}.expertise-card summary::-webkit-details-marker{display:none}.expertise-card summary:after{content:'+';margin-left:auto;color:var(--accent);font-size:24px}.expertise-card[open] summary:after{content:'−'}.skill-number{font-size:12px;color:var(--accent);align-self:flex-start;margin-top:4px}.expertise-card h3{font-size:19px;margin:0;line-height:1.3}.skill-detail{padding:0 20px 20px 33px;font-size:15px}.skill-points{padding-left:16px;margin:0}.skill-points li{margin-bottom:8px}#projects{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 28px}.project-card{min-width:0;border-bottom:1px solid var(--line);padding-bottom:24px}.project-preview{display:none}.project-content{padding:20px 0 0}.project-title{margin-bottom:14px}.project-description{font-size:17px;max-width:490px;min-height:78px}.project-footer{display:flex;flex-direction:column;gap:20px}.skill-tags{display:flex;gap:6px;flex-wrap:wrap}.skill-tags span{font-size:12px;padding:3px 9px;border:1px solid var(--line);border-radius:3px}.project-open{padding:0;border:0;border-bottom:1px solid var(--accent);background:none;color:var(--accent);align-self:flex-start;font-size:15px}.site-footer{display:block}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px}.portrait-photo{display:block;width:100%;height:auto;margin-top:30px}.about-copy{padding-top:4px;font-size:17px}.principles{border-top:1px solid var(--line);padding-top:24px;margin-top:30px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.principles span{color:var(--accent);font-size:12px}.principles h3{font-size:17px;margin:10px 0}.principles p{font-size:14px}.contact{background:var(--ink);color:var(--paper);text-align:center;padding:70px 0}.contact-heading{margin-bottom:30px}.contact-links{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;width:min(780px,100%);margin:auto}.contact-item{display:flex;gap:12px;align-items:center;justify-content:center;min-width:0}.contact-channel{font-size:17px}.contact-vector{width:22px;height:22px;flex:none;color:var(--accent)}.contact-vector svg{width:100%;height:100%}.contact-item a{color:var(--paper)}.contact-value,.contact-links .contact-item>small{display:none}.email-reveal{background:none;color:var(--paper);border:0;font:inherit}.footer{background:var(--ink);color:var(--paper);border-top:1px solid #ffffff20;padding:20px 0}.footer-inner{display:flex;justify-content:space-between;font-size:12px;gap:20px}dialog{border:1px solid var(--line);width:min(660px,calc(100% - 32px));padding:36px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#22242699}.dialog-top{display:flex;justify-content:space-between;align-items:center}#dialog-close{border:0;background:none;color:var(--accent)}dialog h2{font-size:30px}.section-note{font-size:13px;margin-top:25px}.no-script{padding:20px}
@media(max-width:1050px){.hero-grid{gap:45px}.navigation{gap:15px}.header-name{font-size:12px}.header-inner{gap:15px}.brand-monogram{font-size:30px}.expertise-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-grid{gap:40px}}
@media(max-width:800px),(orientation:landscape) and (max-height:500px){.wrap{width:calc(100% - 40px)}.header-inner{width:calc(100% - 40px);height:76px}.header-name{font-size:12px}.header-profession{font-size:9px}.navigation{display:none;position:absolute;top:76px;left:0;right:0;padding:20px;background:var(--paper);border-bottom:1px solid var(--line)}.navigation.open{display:flex;flex-direction:column}#menu-toggle{display:block}.hero{padding:60px 0}.hero-grid{grid-template-columns:1fr;gap:20px}.hero-note{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.hero-note p{font-size:23px;margin:12px 0 20px}.section{padding:55px 0}.section-heading{grid-template-columns:1fr;gap:0}.about-grid{grid-template-columns:1fr}.portrait-photo{max-width:430px}.contact-links{grid-template-columns:repeat(2,1fr);gap:24px}.footer-inner{flex-direction:column;gap:8px}.principles{grid-template-columns:1fr}.project-description{min-height:0}html{scroll-padding-top:76px}}
@media(max-width:520px){.expertise-grid,.project-grid{grid-template-columns:1fr}.header-name{font-size:10px}.brand{gap:10px}.header-controls{gap:4px}.language-switch button{padding:6px 4px}.brand-monogram{font-size:26px}.hero-specialties{font-size:19px}.contact-channel{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* About heading sits above the aligned portrait and copy row. */
.about-grid{row-gap:28px;align-items:start}.about-grid>.footer-heading{grid-column:1/-1}.about-grid>.footer-heading h2{margin-bottom:0}.about-grid>.portrait-photo{margin-top:0}.about-copy{padding-top:0}.about-lead:empty{display:none}
/* Contrast-rich skills with smooth expanding light tiles. */
#expertise{background:var(--ink);color:var(--paper)}
.expertise-grid{gap:18px;align-items:start}
.expertise-card{background:var(--paper);color:var(--ink);border:0;border-radius:4px;overflow:hidden}
.expertise-card summary{min-height:112px;padding:24px 22px}
.expertise-card h3{font-size:20px}.skill-number{flex:none}
.skill-detail{padding:0 26px 26px 38px;line-height:1.65}
/* Alternating editorial project image/text tiles, without navigation links. */
.project-grid{display:flex;flex-direction:column;gap:18px}
.project-card{display:grid;grid-template-columns:1fr 1fr;gap:18px;border:0;padding:0;align-items:stretch}
.project-preview{display:flex;align-items:center;justify-content:center;min-height:300px;border:1px solid var(--line);border-radius:4px;background:var(--paper)}
.project-image-label{font-size:13px;letter-spacing:.08em;opacity:.55}
.project-content{padding:40px;background:var(--ink);color:var(--paper);border-radius:4px;display:flex;flex-direction:column;justify-content:center}
.project-title{font-size:28px;margin:15px 0}.project-description{min-height:0;line-height:1.55;font-size:17px}
.project-content .skill-tags{margin-top:15px}.project-content .skill-tags span{border-color:#ffffff30;font-size:12px}
@media(max-width:800px),(orientation:landscape) and (max-height:500px){.project-preview{min-height:250px}.project-content{padding:28px}.project-title{font-size:24px}}
@media(max-width:520px){.project-card{grid-template-columns:1fr;gap:0}.project-preview{min-height:220px;order:0;border-radius:4px 4px 0 0}.project-content{order:1;border-radius:0 0 4px 4px}.expertise-card summary{min-height:96px}}
/* Team-style portrait caption over a soft fade toward the lower edge. */
.portrait-card{position:relative;margin:0;overflow:hidden;border-radius:4px;align-self:start}
.portrait-card .portrait-photo{width:100%;margin:0;display:block}
.portrait-card:after{content:'';position:absolute;inset:38% 0 0;background:linear-gradient(to bottom,transparent 0%,rgba(34,36,38,.18) 38%,rgba(34,36,38,.9) 100%);pointer-events:none}
.portrait-caption{position:absolute;left:24px;right:24px;bottom:22px;z-index:1;color:var(--paper);font-size:18px;font-weight:600;line-height:1.3}
@media(max-width:800px),(orientation:landscape) and (max-height:500px){.portrait-card{width:100%;max-width:430px}}
@media(max-width:520px){.portrait-caption{left:20px;right:20px;bottom:18px;font-size:17px}}

/* Consistent soft corners across all tiles. */
:root{--tile-radius:12px}
.expertise-card,.project-preview,.project-content,.portrait-card{border-radius:var(--tile-radius)!important;overflow:hidden}
@media(max-width:520px){.project-preview{border-radius:var(--tile-radius) var(--tile-radius) 0 0!important}.project-content{border-radius:0 0 var(--tile-radius) var(--tile-radius)!important}}
/* Wide editorial photographic opener above the introduction. */
.hero{padding-top:28px}
.hero-banner{margin-bottom:72px}
.hero-banner img{display:block;width:100%;height:auto;aspect-ratio:3/1;object-fit:cover;border-radius:var(--tile-radius)}
@media(max-width:800px),(orientation:landscape) and (max-height:500px){.hero{padding-top:20px}.hero-banner{margin-bottom:42px}.hero-banner img{aspect-ratio:2/1}}

/* Preserve the complete selected IT service composition without cropping. */
.hero-banner img{aspect-ratio:auto!important;height:auto!important;object-fit:contain!important}
/* Blend the portrait into the surrounding paper. */
.portrait-card{border-radius:var(--tile-radius) var(--tile-radius) 0 0!important;padding-bottom:52px;overflow:hidden}
.portrait-card .portrait-photo{max-width:none}
.portrait-card:after{inset:42% 0 0;background:linear-gradient(to bottom,transparent 0%,rgba(247,246,243,.08) 22%,rgba(247,246,243,.78) 52%,var(--paper) 72%)}
.portrait-caption{left:0;right:0;bottom:10px;color:var(--ink);font-size:17px;font-weight:600;line-height:1.45;padding-top:14px}
.portrait-caption:before{content:none}
@media(max-width:520px){.portrait-caption{left:0;right:0;bottom:8px;font-size:16px}}
/* Treat the opener as the section's visual backdrop, preserving the engraved floor. */
.hero{padding-top:0}
.hero-banner.wrap{width:100%;max-width:none;margin:0 0 36px}
.hero-banner img{border-radius:0;mask-image:linear-gradient(to bottom,#000 0%,#000 94%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 94%,transparent 100%)}
@media(max-width:800px),(orientation:landscape) and (max-height:500px){.hero{padding-top:0}.hero-banner.wrap{margin-bottom:28px}}
/* Center the desktop site within a defined neutral surround. */
html{background:#e8e7e3}
body{width:100%;max-width:1180px;margin-inline:auto;min-height:100vh}
/* A quiet surround that picks up the opener's charcoal and warm light. */
html{background-color:#222426;background-image:radial-gradient(ellipse at 50% 15%,rgba(196,93,36,.16),transparent 62%),linear-gradient(90deg,#191b1d 0%,#303234 24%,#303234 76%,#191b1d 100%);background-attachment:fixed}
body{box-shadow:0 0 70px rgba(0,0,0,.22)}
@media(max-width:1180px){body{box-shadow:none}}
.back-to-top{position:fixed;right:max(18px,calc((100vw - 1180px)/2 + 18px));bottom:20px;z-index:30;width:42px;height:42px;border:1px solid #ffffff35;border-radius:10px;background:var(--ink);color:var(--paper);box-shadow:0 4px 14px #0002;display:grid;place-items:center;transition:background .2s}
.back-to-top[hidden]{display:none}.back-to-top:hover{background:var(--accent)}.back-to-top svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:800px),(orientation:landscape) and (max-height:500px){.footer-inner{text-align:center;align-items:center}.footer{padding-bottom:72px}.back-to-top{right:16px;bottom:16px}}
/* Align both introduction labels along the same top edge on desktop. */
@media(min-width:801px){.hero-grid{align-items:start}.hero-note{padding-top:0}.hero-note>.eyebrow{display:block;line-height:1.65}}
/* Stable icon and label positions across translated contact labels. */
.contact-item{display:grid;grid-template-columns:22px 90px;column-gap:12px;justify-content:center;text-align:left}
/* Align the project introduction and give its copy room for two desktop lines. */
@media(min-width:801px){#projects .section-heading{grid-template-columns:.7fr 1.3fr;gap:40px;align-items:start}#projects .section-intro{max-width:none;margin:0}}

/* === Geraete-Kompatibilitaet 2026-10-08 === */
/* Einheitliche Textgroesse (iOS vergroessert sonst im Querformat), keine grauen Tap-Flaechen. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background-attachment:scroll}
body{-webkit-tap-highlight-color:transparent}
button{-webkit-appearance:none;appearance:none;border-radius:0}
picture{display:contents}
.sr-only{clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);white-space:nowrap}
.portrait-card:after{top:42%;right:0;bottom:0;left:0}
/* Kompetenz-Kacheln: Flex-Zeile im summary (Safari-sicher). */
.expertise-card summary{display:block;min-height:0}
.summary-row{display:flex;align-items:center;gap:16px;min-height:64px}
.summary-row:after{content:'+';margin-left:auto;color:var(--accent);font-size:24px;flex:none}
.expertise-card[open] .summary-row:after{content:'\2212'}
.expertise-card summary:after,.expertise-card[open] summary:after{content:none}
/* Unterhalb der Desktop-Breite: neutrale Flaeche statt dunklem Rahmen (iOS-Overscroll). */
@media(max-width:1180px){html{background:var(--paper)}}
/* Mobil & Smartphone-Querformat: gleiches Layout auf allen Geraeten, Safe-Areas (Notch/Home-Indicator). */
@media(max-width:800px),(orientation:landscape) and (max-height:500px){
.wrap{width:auto;margin-left:max(20px,env(safe-area-inset-left));margin-right:max(20px,env(safe-area-inset-right))}
.header-inner{width:auto;margin-left:max(20px,env(safe-area-inset-left));margin-right:max(20px,env(safe-area-inset-right))}
.navigation{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right));max-height:calc(100vh - 76px);overflow-y:auto;-webkit-overflow-scrolling:touch}
.navigation.open{box-shadow:0 14px 28px rgba(34,36,38,.10)}
.language-switch button{min-height:44px;min-width:34px}
#menu-toggle{min-width:44px;min-height:44px;border-radius:4px}
#menu-toggle span{transition:transform .2s ease}
#menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}
#menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}

.back-to-top{right:max(16px,calc(env(safe-area-inset-right) + 12px));bottom:max(16px,calc(env(safe-area-inset-bottom) + 12px))}
.footer{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
}
@supports(height:100dvh){@media(max-width:800px),(orientation:landscape) and (max-height:500px){.navigation{max-height:calc(100dvh - 76px)}}}
@media(max-width:520px){.summary-row{min-height:48px}}
/* Smartphone-Querformat: kompaktere Menuezeilen und Hero. */
@media(orientation:landscape) and (max-height:500px){.navigation a{padding:8px 0}.hero-banner img{max-height:70vh;width:auto!important;margin-inline:auto}}
/* Sehr schmale Geraete (iPhone SE 1. Gen., kleine Androids). */
@media(max-width:374px){h1{font-size:34px}.hero .eyebrow{font-size:11px;letter-spacing:.1em}.header-inner{gap:8px}.brand{gap:8px}.brand-monogram{font-size:24px}.language-switch button{min-width:28px}}

/* === Textueberarbeitung 2026-10-08: Kompetenzgruppen & Einleitungssatz === */
.expertise-grid{display:flex;flex-direction:column;align-items:stretch;gap:44px}
.skill-group{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px 40px;align-items:start}
.skill-group-title{margin:0;padding-top:16px;border-top:1px solid #ffffff2e;color:var(--accent);font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;line-height:1.4}
.skill-group-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.about-lead{font-size:21px;font-weight:600;line-height:1.4;margin-bottom:20px}
@media(max-width:1050px){.skill-group{grid-template-columns:170px minmax(0,1fr);gap:16px 28px}}
@media(max-width:800px),(orientation:landscape) and (max-height:500px){.expertise-grid{gap:34px}.skill-group{grid-template-columns:1fr;gap:14px}.skill-group-title{padding-top:12px}.about-lead{font-size:19px}}
@media(max-width:520px){.skill-group-list{grid-template-columns:1fr;gap:14px}}
/* Preserve complete project artwork within the portfolio tiles. */
.project-preview:has(.project-image){min-height:0;border:0;background:#10151b;align-self:center}
.project-image{display:block;width:100%;height:auto}
@media(max-width:520px){.project-preview:has(.project-image){align-self:stretch}}
/* Keep contact labels aligned while providing a scannable Discord invitation. */
.contact-links{align-items:start}
.contact-discord .discord-qr-link{grid-column:1/-1;margin-top:14px;justify-self:center;display:block;border-radius:8px;overflow:hidden;line-height:0}
.discord-qr{display:block;width:144px;height:144px;background:#fff}
@media(max-width:520px){.discord-qr{width:140px;height:140px}}
.discord-qr-link{width:144px;max-width:100%}.discord-qr{width:100%;height:auto}
/* The Discord QR is the complete contact item, with the same warm accent. */
.contact-discord{display:flex;justify-content:center;align-items:flex-start}
.contact-discord .discord-qr-link{margin-top:0;border-radius:12px}
.discord-qr-link:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
/* Centre contact actions vertically alongside the compact Discord QR. */
.contact-links{align-items:center}
.contact-discord{align-items:center}
.contact-discord .discord-qr-link{width:120px;max-width:100%;border-radius:12px}
.discord-qr{width:100%;height:auto}
/* Approved contact renderings are displayed directly from the artwork. */
.contact-item{grid-template-columns:44px 90px;column-gap:12px}
.contact-vector{width:44px;height:44px;display:grid;place-items:center}
.contact-vector svg{width:24px;height:24px}
.contact-icon-modern{background-image:url('assets/contact-icons-modern.png');background-repeat:no-repeat;border-radius:6px}
.contact-icon-linkedin{background-size:404.583% 168.542%;background-position:6.84% 39.51%}
.contact-icon-github{background-size:373.462% 155.577%;background-position:49.93% 34.60%}
@media(max-width:520px){.contact-item{grid-template-columns:40px 70px;column-gap:10px}.contact-vector{width:40px;height:40px}}
.contact-icon-email{background-image:url('assets/contact-email-modern.png');background-size:190% 190%;background-position:50% 45%}

/* === Projektkacheln 2026-10-09: einheitliche Hoehe, Bild-Einbettung, Aufklappen === */
.project-card{align-items:start}
.project-preview,.project-preview:has(.project-image){aspect-ratio:16/9;min-height:0!important;align-self:start;background:transparent!important;border:0!important;padding:0}
.project-image{width:100%;height:100%!important;object-fit:cover;object-position:center;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 72%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 72%,transparent 100%)}
.project-content{justify-content:flex-start;position:relative;transition:height .45s cubic-bezier(.22,.61,.36,1)}
.project-content>.eyebrow,.project-content>.project-title,.project-content>.skill-tags{flex:none}
.project-content>.project-description{flex:1 1 auto;min-height:0;overflow:hidden;margin-bottom:0}
.project-content.expandable:not(.expanded)>.project-description{-webkit-mask-image:linear-gradient(to bottom,#000 55%,transparent 100%);mask-image:linear-gradient(to bottom,#000 55%,transparent 100%)}
.project-content.expandable{cursor:pointer}
.project-content.expandable:after{content:'+';position:absolute;top:30px;right:32px;color:var(--accent);font-size:24px;line-height:1;transition:transform .3s ease}
.project-content.expanded:after{content:'\2212'}
.project-content:focus{outline:none}
.project-content:focus-visible{box-shadow:inset 0 0 0 3px var(--accent)}
@media(prefers-reduced-motion:reduce){.project-content{transition:none}}
@media(max-width:800px),(orientation:landscape) and (max-height:500px){.project-content.expandable:after{top:24px;right:24px}}
@media(max-width:520px){.project-preview,.project-preview:has(.project-image){align-self:stretch;background:var(--ink)!important}}

/* === Absaetze & Discord-Button 2026-10-09 === */
.project-description p{margin:0 0 .8em}
.project-description p:last-child{margin-bottom:0}
.contact-discord .discord-qr-link{display:flex;flex-direction:column;align-items:center;gap:6px;width:140px;padding:10px 10px 11px;background:#fff;border-radius:14px;line-height:1.2;text-decoration:none;cursor:pointer;box-shadow:0 0 0 1px #ffffff26;transition:transform .2s ease,box-shadow .2s ease}
.contact-discord .discord-qr{width:100%;height:auto;border-radius:6px}
.discord-qr-label{color:var(--ink);font-size:14px;font-weight:600;letter-spacing:.01em}
.contact-discord .discord-qr-link:hover{transform:translateY(-2px);box-shadow:0 0 0 2px var(--accent),0 12px 26px rgba(0,0,0,.35)}
.contact-discord .discord-qr-link:active{transform:translateY(0)}
@media(prefers-reduced-motion:reduce){.contact-discord .discord-qr-link{transition:none}}

/* === Mobil-Bilder & klickbare Kontakt-Icons 2026-10-09 === */
a.contact-item{color:var(--paper);text-decoration:none;cursor:pointer}
a.contact-item .contact-channel{transition:color .2s ease}
a.contact-item:hover .contact-channel{color:var(--accent)}
a.contact-item:focus-visible{outline:3px solid var(--accent);outline-offset:5px;border-radius:6px}
@media(max-width:800px),(orientation:landscape) and (max-height:500px){.contact-icon-modern{background-image:url('assets/contact-icons-modern-mobile.webp')}.contact-icon-email{background-image:url('assets/contact-email-modern-mobile.webp')}}

/* === Fokus-Liste 2026-10-09 === */
.focus-list{list-style:none;margin:20px 0 0;padding:0;display:grid;gap:14px}
.focus-list li{position:relative;padding-left:24px;font-size:19px;font-weight:600;line-height:1.35}
.focus-list li:before{content:'';position:absolute;left:0;top:.6em;width:12px;height:2px;background:var(--accent)}
.hero-note .focus-closing{font-size:15px;font-weight:400;line-height:1.5;margin:22px 0 0;opacity:.75}
@media(max-width:800px),(orientation:landscape) and (max-height:500px){.focus-list{gap:12px}.focus-list li{font-size:17px}}

/* === Einleitungstext in Absaetzen 2026-10-09 === */
.hero-description p{margin:0 0 .9em}
.hero-description p:last-child{margin-bottom:0}

/* === Header-Markenblock 2026-10-09 === */
.header-profession{text-transform:uppercase}
.profession-short{display:none}
.brand{gap:18px}
.brand-monogram{font-size:48px;letter-spacing:-8px;padding-right:8px}
.header-name{font-size:18px;letter-spacing:.07em}
.header-profession{font-size:11px;letter-spacing:.2em;margin-top:2px}
@media(max-width:1050px){.brand{gap:12px}.brand-monogram{font-size:40px;letter-spacing:-7px;padding-right:7px}.header-name{font-size:15px}.header-profession{font-size:10px}.profession-long{display:none}.profession-short{display:inline}}
@media(max-width:800px),(orientation:landscape) and (max-height:500px){.brand{gap:10px}.brand-monogram{font-size:34px;letter-spacing:-6px;padding-right:6px}.header-name{font-size:13px}.header-profession{font-size:9px;margin-top:1px}}
@media(max-width:520px){.brand-monogram{font-size:30px;letter-spacing:-5px;padding-right:5px}.header-name{font-size:12px}}
@media(max-width:374px){.brand{gap:8px}.brand-monogram{font-size:24px;letter-spacing:-4px;padding-right:4px}.header-name{font-size:10px}}

/* === Hero-Ueberschriften 2026-10-09 === */
.hero-copy h1{margin-top:0}
.hero-note .focus-title{font-size:clamp(30px,3.4vw,46px);font-weight:600;letter-spacing:-.025em;line-height:1.15;margin:0;color:var(--ink)}
@media(min-width:801px){.hero-note .focus-title{padding-top:.15em}}
@media(max-width:800px),(orientation:landscape) and (max-height:500px){.hero-note .focus-title{font-size:30px}}

/* === Einklappbarer Einleitungstext 2026-10-09 === */
.hero-description.collapsible{overflow:hidden;transition:height .45s cubic-bezier(.22,.61,.36,1)}
.hero-description.collapsed{-webkit-mask-image:linear-gradient(to bottom,#000 55%,transparent 100%);mask-image:linear-gradient(to bottom,#000 55%,transparent 100%)}
.hero-more{display:inline-flex;align-items:center;gap:10px;margin-top:14px;padding:8px 0;min-height:44px;border:0;background:none;color:var(--accent);font-size:15px;font-weight:600;letter-spacing:.02em;cursor:pointer}
.hero-more:after{content:'+';font-size:22px;line-height:1;font-weight:400}
.hero-more[aria-expanded=true]:after{content:'\2212'}
.hero-more[hidden]{display:none}
.hero-more:hover{text-decoration:underline;text-underline-offset:4px}
@media(prefers-reduced-motion:reduce){.hero-description.collapsible{transition:none}}

/* === Impressum & Datenschutz 2026-10-09 === */
.lang-en{display:none}
html[lang=en] .lang-de{display:none}
html[lang=en] .lang-en:not(.profession-long){display:revert}
@media(min-width:1051px){html[lang=en] .profession-long.lang-en{display:inline}}
.legal-links{display:flex;gap:22px;flex-wrap:wrap;justify-content:center}
.legal-links a{color:var(--paper);opacity:.85;text-decoration:none;transition:color .2s ease,opacity .2s ease}
.legal-links a:hover{color:var(--accent);opacity:1}
.legal-links a[aria-current=page]{opacity:1;text-decoration:underline;text-underline-offset:4px}
.legal-page main.legal{padding:56px 0 90px}
.wrap.legal-wrap{max-width:820px}
.legal-back{display:inline-flex;min-height:44px;align-items:center;font-size:15px;font-weight:600;color:var(--accent)}
.legal-back:hover{text-decoration:underline;text-underline-offset:4px}
.legal h1{font-size:clamp(36px,4.4vw,56px);margin:20px 0 8px}
.legal h2{font-size:22px;margin:40px 0 12px}
.legal p,.legal li{font-size:17px;line-height:1.7}
.legal ul{padding-left:22px;margin:0 0 16px}
.legal li{margin-bottom:4px}
.legal article a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.legal-meta{font-size:15px;opacity:.7}
.legal-placeholder{display:inline-block;background:#fde7d9;color:#9a3d10;padding:1px 8px;border-radius:4px;font-weight:600}
@media(max-width:800px),(orientation:landscape) and (max-height:500px){.legal-page main.legal{padding:36px 0 70px}.legal h2{font-size:20px;margin-top:32px}.legal p,.legal li{font-size:16px}}
.legal-page{display:flex;flex-direction:column;min-height:100vh}
.legal-page main.legal{flex:1 0 auto}

/* === Pfeil ausserhalb des Inhalts 2026-10-09 === */
@media(min-width:801px) and (min-height:501px){.back-to-top{width:40px;height:40px;right:max(8px,calc((100% - 1180px) / 2 - 56px))}}

/* === Vier Grundsaetze 2026-10-09 === */
@media(min-width:801px){.principles{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 40px}}
.principles p{line-height:1.6}

/* === Ohne Nummerierung 2026-10-09 === */
.skill-detail{padding-left:22px}
.project-content>.project-title{margin-top:0}
.principles h3{margin-top:0}

/* === Projekt-Plus unten rechts 2026-10-09 === */
.project-content.expandable:after{top:auto;bottom:30px;right:32px}
.project-content.expandable>.skill-tags{padding-right:34px}
@media(max-width:800px),(orientation:landscape) and (max-height:500px){.project-content.expandable:after{top:auto;bottom:24px;right:24px}}

/* === Neues MS-Logo 2026-10-09 === */
.brand-logo{display:block;height:44px;width:auto;flex:none}
@media(max-width:1050px){.brand-logo{height:38px}}
@media(max-width:800px),(orientation:landscape) and (max-height:500px){.brand-logo{height:32px}}
@media(max-width:520px){.brand-logo{height:28px}}
@media(max-width:374px){.brand-logo{height:24px}}

/* === Mail-Schutz 2026-10-09 === */
button.contact-item{font:inherit;color:var(--paper);background:none;border:0;padding:0;margin:0;cursor:pointer;-webkit-appearance:none;appearance:none;border-radius:0;align-items:center}
button.contact-item .contact-channel{transition:color .2s ease}
button.contact-item:hover .contact-channel,button.contact-item:focus-visible .contact-channel{color:var(--accent)}
button.contact-item:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
.mail-button{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 20px 0 16px;border:1px solid var(--accent);border-radius:22px;background:transparent;color:var(--ink);font:600 15px/1 Barlow,Arial,sans-serif;letter-spacing:.03em;cursor:pointer;-webkit-appearance:none;appearance:none;transition:background .2s ease,color .2s ease}
.mail-button svg{width:20px;height:20px;fill:none;stroke:var(--accent);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:stroke .2s ease}
.mail-button:hover,.mail-button:focus-visible{background:var(--accent);color:var(--paper);outline:none}
.mail-button:hover svg,.mail-button:focus-visible svg{stroke:var(--paper)}

/* Ausfuehrliche Beschreibungen der beiden neuen Portfolio-Projekte. */
.project-detail-button{align-self:flex-start;flex:none;margin-top:16px;padding:5px 0;border:0;border-bottom:1px solid var(--accent);background:none;color:#f5ad83;font-size:15px;font-weight:600}
.project-preview-complete .project-image{object-fit:contain;-webkit-mask-image:none;mask-image:none}
.project-preview-complete{background:#10151b!important}
.project-detail-button:hover{color:#fff}
#project-dialog{width:min(840px,calc(100% - 32px));max-height:min(88vh,950px);overflow-y:auto;border:0;border-radius:14px;padding:0 38px 32px;box-shadow:0 26px 80px #0005}
#project-dialog .dialog-top{position:sticky;top:0;z-index:1;margin:0 -38px 26px;padding:23px 38px 12px;background:var(--paper);border-bottom:1px solid var(--line)}
#project-dialog .dialog-top p{margin:0}
#project-dialog #dialog-close{padding:8px 0 8px 16px}
#project-dialog h2{margin-bottom:12px}
.dialog-body{font-size:17px;line-height:1.65}
.dialog-body h3{font-size:22px;margin:30px 0 10px}
.dialog-body p{margin:0 0 16px}
.dialog-body ul{padding-left:22px;margin:0 0 22px}
.dialog-body li{margin:0 0 12px}
.dialog-body li strong{color:var(--ink)}
.dialog-body .project-detail-lead{font-size:19px;font-weight:600;color:var(--accent)}
.dialog-body .project-detail-closing{font-weight:600;margin-top:24px}
#project-dialog .skill-tags{margin-top:28px}
#project-dialog .section-note{padding-top:18px;border-top:1px solid var(--line)}
@media(max-width:520px){#project-dialog{padding:0 22px 24px}#project-dialog .dialog-top{margin:0 -22px 24px;padding:16px 22px 10px}#project-dialog h2{font-size:27px}.dialog-body{font-size:16px}.dialog-body h3{font-size:20px}}
