/* Portfolio ergänzt das vorhandene Design, importierte Anwendungen bleiben unverändert. */
.portfolio-intro{padding:32px 0;background:var(--lime);color:var(--ink)}.portfolio-intro h1{font-family:Bricolage,Arial,sans-serif;font-size:clamp(32px,3.6vw,52px);line-height:1.04;letter-spacing:-.04em;max-width:1000px;margin:16px 0 18px}.portfolio-intro .lead{max-width:1000px;font-size:clamp(18px,1.6vw,22px)}.portfolio-focus{max-width:760px;line-height:1.6}.portfolio-intro .micro{max-width:800px;margin-top:16px}.portfolio-section{padding:32px 0 48px;border-top:1px solid var(--paper);color:var(--paper)}.portfolio-section h2{font-size:clamp(25px,3vw,40px);margin:0 0 24px;max-width:900px}.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}.portfolio-project{min-width:0;border:1px solid var(--ink);border-radius:18px;overflow:hidden;background:var(--paper);color:var(--ink)}.portfolio-cover{display:flex;aspect-ratio:16/10;background:var(--ink);color:var(--paper);align-items:center;justify-content:center;overflow:hidden}.portfolio-cover img{width:100%;height:100%;object-fit:cover}.portfolio-project-copy{padding:24px}.portfolio-project h3{font-size:clamp(23px,2.5vw,32px);line-height:1.15;margin:10px 0 16px}.portfolio-project h3 a{text-decoration:none;color:inherit}.portfolio-project p{line-height:1.6}.portfolio-relevance{padding-top:16px;border-top:1px solid currentColor;font-size:15px}.project-sources{display:flex;flex-wrap:wrap;gap:12px 24px;margin:20px 0}.project-sources a{overflow-wrap:anywhere;min-height:44px;display:inline-flex;align-items:center}.portfolio-project .text-link,.portfolio-intro .text-link{min-height:44px;display:inline-flex;align-items:center}.portfolio-project a:focus-visible,.portfolio-intro a:focus-visible{outline:3px solid var(--violet);outline-offset:4px}.prototype-offer[hidden]{display:none}.lp-copy h1{font-size:clamp(44px,5.1vw,78px)}
@media(max-width:760px){.portfolio-grid{grid-template-columns:1fr;gap:24px}.portfolio-project-copy{padding:20px}.portfolio-intro{padding-top:32px}.portfolio-intro h1{overflow-wrap:normal}.portfolio-section{padding-top:24px}.portfolio-intro .actions{flex-wrap:wrap}}

#werk-root{max-width:1600px;margin:auto}.portfolio-intro,.portfolio-section{padding-left:clamp(20px,4vw,64px);padding-right:clamp(20px,4vw,64px)}
.project-context{padding:clamp(28px,5vw,64px);background:var(--paper);color:var(--ink);border-top:2px solid var(--ink)}.project-context h2{font-size:clamp(30px,4vw,52px);line-height:1.1;margin:18px 0 30px}.project-context>p:not(.eyebrow){font-size:18px;line-height:1.75;max-width:940px;margin:0 0 22px;white-space:pre-line}

/* Desktop-Details: Vorschau nutzt die Bühne, Text bleibt kompakt. */
@media(min-width:961px){
  .work-hero{grid-template-columns:minmax(320px,.85fr) minmax(0,1.4fr);align-items:start}
  .work-copy{min-height:0;padding:28px clamp(24px,3vw,48px) 32px}
  .work-copy h1{font-size:clamp(38px,4vw,64px);line-height:1.03;margin:24px 0 18px}
  .work-copy h1 .serif{font-size:1.03em}
  .work-copy .work-sub{max-width:none;font-size:17px;line-height:1.5;margin:18px 0}
  .work-copy .project-sources{margin:12px 0;gap:8px 20px}
  .work-copy .project-detail{max-width:none;margin-top:22px;padding-top:14px}
  .work-copy .project-detail p{line-height:1.5}
  .work-copy .werk-actions{display:flex;flex-wrap:wrap;align-items:center;gap:4px 20px}
  .work-copy .werk-actions .text-link{margin:0}
  .work-hero .player-stage{min-height:0;aspect-ratio:16/11;padding:56px 28px 48px;position:sticky;top:20px;align-self:start}
  .work-hero .record-cover{max-width:none;width:100%;border-radius:14px;box-shadow:none}
  .work-hero .record-cover img{width:100%;height:auto;aspect-ratio:16/10;object-fit:contain}
}

/* Weitere Projekte: wechselnde Farbflächen und Mosaik in Lesereihenfolge. */
.profile-projects .profile-work{background:var(--lime);color:var(--ink);text-decoration:none;min-width:0;gap:12px;padding:14px}
.profile-projects .profile-work:nth-child(6n+2){background:var(--violet);color:var(--paper)}
.profile-projects .profile-work:nth-child(6n+3){background:var(--mint);color:var(--ink)}
.profile-projects .profile-work:nth-child(6n+4){background:var(--orange);color:var(--ink)}
.profile-projects .profile-work:nth-child(6n+5){background:var(--pink);color:var(--ink)}
.profile-projects .profile-work:nth-child(6n){background:var(--ink);color:var(--paper)}
.profile-projects .profile-work>div{width:100%;padding:2px 4px 6px}
.profile-projects .profile-work h3{font-size:clamp(24px,2.6vw,38px);line-height:1.06;overflow-wrap:anywhere;margin:8px 0 12px}
.profile-projects .profile-work:focus-visible{outline:3px solid var(--ink);outline-offset:5px}
@media(min-width:961px){
  .profile-projects{grid-template-columns:repeat(12,minmax(0,1fr));gap:24px;align-items:stretch}
  .profile-projects .profile-work{grid-column:span 6}
  .profile-projects .profile-work:nth-child(6n+1),.profile-projects .profile-work:nth-child(6n+4){grid-column:span 7}
  .profile-projects .profile-work:nth-child(6n+2),.profile-projects .profile-work:nth-child(6n+3){grid-column:span 5}
  .profile-projects .profile-work>img{height:clamp(220px,24vw,360px);aspect-ratio:auto;object-fit:contain;background:var(--ink);border-radius:9px}
  .profile-projects .profile-work>div{margin-top:auto}
}
@media(max-width:600px){.profile-projects .profile-work{padding:12px}.profile-projects .profile-work h3{font-size:28px}}

.project-landingpages{padding:clamp(24px,4vw,56px);background:var(--paper);color:var(--ink);border-top:2px solid var(--ink)}.landingpage-head{display:flex;align-items:center;justify-content:space-between;gap:24px}.landingpage-head h2{font-size:clamp(28px,4vw,48px);margin:12px 0;line-height:1.05}.landingpage-note{margin:12px 0 22px;max-width:850px;line-height:1.5}.project-landingpage iframe{display:block;width:100%;height:min(78vh,900px);min-height:480px;background:var(--paper);border:2px solid var(--ink);border-radius:12px}.project-landingpage+.project-landingpage{margin-top:40px}@media(max-width:600px){.landingpage-head{align-items:start;flex-direction:column;gap:12px}.project-landingpage iframe{height:70vh;min-height:430px}}

.portfolio-project h3,.profile-projects .profile-work h3{overflow-wrap:normal;word-break:normal;hyphens:auto}

.project-audio{grid-column:1/-1;margin:0;padding:24px;background:var(--ink);color:var(--paper);border-radius:12px;min-width:0}.project-audio figcaption{font-weight:700;font-size:clamp(18px,2.5vw,24px);margin-bottom:16px}.project-audio audio{display:block;width:100%;min-width:0}


/* Mobile Detailkorrektur nach den iPhone-Belegen vom 28.10. */
.work-hero{grid-template-areas:"intro stage" "info stage";grid-template-rows:auto 1fr;align-items:start}
.work-hero .work-intro{grid-area:intro;min-height:0;padding-bottom:0}
.work-hero .work-info{grid-area:info;min-height:0;padding-top:0}
.work-hero .player-stage{grid-area:stage}
.work-hero .play-disc::after{content:"";display:block;width:0;height:0;border-top:12px solid transparent;border-bottom:12px solid transparent;border-left:19px solid var(--ink)}
.project-pager{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:16px;padding:10px clamp(20px,4vw,64px);background:var(--ink);color:var(--paper);border-top:1px solid #ffffff33}
.pager-overview{display:inline-flex;align-items:center;min-height:44px;color:inherit;text-decoration:none;font-weight:700}
.pager-count{margin-left:auto;font:13px ui-monospace,monospace;white-space:nowrap}
.pager-arrows{display:flex;gap:8px}.pager-arrow{width:44px;height:44px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font:32px/1 Arial;color:inherit;text-decoration:none}.pager-arrow[aria-disabled=true]{opacity:.3}
.project-pager a:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
@media(max-width:960px){
 .work-hero{grid-template-columns:minmax(0,1fr);grid-template-areas:"intro" "stage" "info";grid-template-rows:auto;min-height:0}
 .work-hero .work-copy{min-height:0;padding:18px 20px}
 .work-hero .work-intro{padding-bottom:14px}
 .work-hero .work-intro h1{font-size:clamp(29px,7.6vw,46px);line-height:1.08;margin:14px 0 10px;letter-spacing:-.025em;overflow-wrap:normal;hyphens:auto}
 .work-intro .work-sub{font-size:16px;line-height:1.45;margin:0 0 12px}
 .work-intro .tag-labels{gap:6px;margin:0}
 .work-hero .player-stage{min-height:0;aspect-ratio:auto;position:relative;top:auto;padding:12px;display:block}
 .work-hero .player-stage .stage-head,.work-hero .player-stage .stage-foot{display:none}
 .work-hero .record-cover{display:block;width:100%;max-width:none;border-radius:12px;box-shadow:none;touch-action:pan-y}
 .work-hero .record-cover img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:contain}
 .work-hero .play-disc{width:52px;height:52px;right:12px;bottom:12px;font-size:0;padding:0}
 .work-hero .work-info{padding-top:16px;padding-bottom:20px}
 .work-info .project-sources{margin:0 0 12px;gap:4px 16px}
 .work-info>#werk-start{width:100%;min-height:48px;justify-content:center}
 .work-info .project-detail{max-width:none;margin-top:18px;padding-top:12px}
 .work-info .project-detail p{font-size:14px;line-height:1.45;margin:8px 0 0}
 .work-info .werk-actions{display:flex;flex-wrap:wrap;gap:0 20px;margin-top:14px;padding-top:10px}
 .work-info .werk-actions .text-link{display:inline-flex;align-items:center;min-height:44px;margin:0;font-size:13px}
 .project-pager{padding:6px 20px;gap:12px}
 .project-context{padding:24px 20px}.project-context h2{font-size:30px;margin:12px 0 20px}.project-context>p:not(.eyebrow){font-size:16px;line-height:1.55;margin-bottom:16px}
}

.work-hero{background:var(--stage)}.work-hero .stage-head .round-button{display:none}

.project-context-more{max-width:940px;margin-top:16px;border-top:1px solid var(--ink);padding-top:8px}.project-context-more summary{font-weight:700;cursor:pointer;min-height:44px;align-content:center}.project-context-more p{font-size:18px;line-height:1.65;margin:18px 0;white-space:pre-line}.portfolio-relevance{font-weight:600;line-height:1.4!important}@media(max-width:960px){.project-context-more p{font-size:16px;line-height:1.55}.landingpage-head h2{font-size:30px}.landingpage-note{font-size:13px;line-height:1.45;margin:10px 0 16px}}

/* Intrinsische Videobreiten dürfen das Medienraster nicht über den Bildschirm ziehen. */
.page-grid>*{min-width:0;max-width:100%}.page-grid video{display:block;width:100%;height:auto;object-fit:contain;background:var(--ink)}.page-grid audio{max-width:100%;width:100%}

/* Übersicht und native Wischansicht teilen dieselben veröffentlichten Projektkarten. */
.portfolio-view-toggle{display:none;gap:8px;padding:20px clamp(20px,4vw,64px);background:var(--ink)}.portfolio-view-toggle button{min-height:44px;padding:10px 20px;border:1px solid var(--paper);background:var(--ink);color:var(--paper);font:700 15px Arial,sans-serif;border-radius:24px}.portfolio-view-toggle button[aria-pressed=true]{background:var(--lime);color:var(--ink);border-color:var(--lime)}.portfolio-swipe[hidden],.portfolio-overview[hidden]{display:none!important}.portfolio-swipe{padding:0 clamp(20px,4vw,64px) 40px;color:var(--paper);min-width:0}.portfolio-swipe-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin;padding-bottom:16px;min-width:0}.portfolio-swipe-track>.portfolio-project{flex:0 0 100%;width:100%;max-width:100%;scroll-snap-align:start;scroll-snap-stop:always;align-self:start}.swipe-controls{display:flex;align-items:center;gap:10px;padding:16px 0}.swipe-controls>span:first-child{margin-right:auto;font-size:14px}.swipe-count{font:14px 'IBM Plex Mono',monospace;white-space:nowrap}.swipe-arrow{width:44px;height:44px;border-radius:50%;border:1px solid var(--paper);background:var(--ink);color:var(--paper);font-size:30px;line-height:1}.swipe-arrow:disabled{opacity:.35}.portfolio-view-toggle button:focus-visible,.swipe-arrow:focus-visible,.portfolio-swipe-track:focus-visible{outline:3px solid var(--pink);outline-offset:3px}@media(max-width:760px){.portfolio-view-toggle{display:flex}.portfolio-swipe{padding-inline:20px}.swipe-controls>span:first-child{font-size:12px}}

.tom-contact{max-width:100%;min-width:0}.tom-contact>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;gap:10px;font-weight:700;text-decoration:none;list-style:none}.tom-contact>summary>span{text-decoration:underline;text-underline-offset:6px}.tom-contact>summary::after{content:'+';font-size:24px;text-decoration:none}.tom-contact[open]>summary::after{content:'−'}.tom-contact-card{display:grid;grid-template-columns:112px minmax(0,1fr);gap:20px;width:min(620px,calc(100vw - 64px));max-width:100%;background:var(--paper);color:var(--ink);border:1px solid var(--ink);border-radius:16px;padding:18px;margin:14px 0;text-align:left}.contact-portrait{width:112px;height:144px;overflow:hidden;border-radius:10px}.contact-portrait>img{width:100%;height:100%;object-fit:cover;transform:scale(1.8);transform-origin:50% 38%}.tom-contact-card h3{font-size:25px;line-height:1.1;margin:0 0 8px}.tom-contact-card p{font-size:14px;margin:0 0 14px}.tom-contact-card nav{display:flex;flex-wrap:wrap;gap:8px}.contact-action{display:inline-flex;min-height:44px;align-items:center;padding:10px 13px;border:1px solid var(--ink);border-radius:24px;font-size:14px;font-weight:700;text-decoration:none;color:var(--ink);background:var(--lime)}.contact-action:nth-child(2){background:var(--pool,#00ffd1)}.tom-contact>summary:focus-visible,.contact-action:focus-visible{outline:3px solid var(--violet);outline-offset:3px}.portfolio-intro .actions:has(.tom-contact[open]){display:block}@media(max-width:420px){.tom-contact-card{grid-template-columns:76px minmax(0,1fr);gap:12px;padding:14px;width:100%}.contact-portrait{width:76px;height:100px}.tom-contact-card h3{font-size:22px}.contact-action{font-size:13px;padding:10px 12px}}

.portfolio-availability{font-size:13px;font-weight:700;letter-spacing:.07em;margin:20px 0}.contact-availability{font-size:11px!important;font-weight:700;letter-spacing:.04em;line-height:1.6;overflow-wrap:normal}

/* Editorial-Ausgabe: Kapitel als Aufmacher, Projekte als unterschiedliche Bildstrecken. */
.portfolio-section{--chapter:var(--lime);padding-top:clamp(40px,6vw,88px);padding-bottom:64px;border-top:0;position:relative}
.portfolio-section:nth-child(6n+2){--chapter:var(--pink)}.portfolio-section:nth-child(6n+3){--chapter:var(--mint)}.portfolio-section:nth-child(6n+4){--chapter:var(--orange)}.portfolio-section:nth-child(6n+5){--chapter:var(--violet)}.portfolio-section:nth-child(6n){--chapter:var(--lime)}
.portfolio-section::before{content:attr(data-chapter) ' /';display:block;font:14px Plex,monospace;color:var(--chapter);margin-bottom:22px;letter-spacing:.12em}
.portfolio-section h2{font-size:clamp(44px,7vw,104px);line-height:.93;letter-spacing:-.055em;max-width:1200px;margin:0 0 40px;overflow-wrap:normal}
.portfolio-section h2 span{display:block}.portfolio-section h2 em{font-family:Instrument,Georgia,serif;font-weight:400;letter-spacing:-.035em;display:inline-block;color:var(--chapter);font-size:1.05em;line-height:1.02}
.portfolio-section:nth-child(even) h2{text-align:right;margin-left:auto}.portfolio-section:nth-child(3n+1) h2 em{background:var(--chapter);color:var(--ink);padding:0 .14em .06em;transform:rotate(-2deg);transform-origin:left center}
.portfolio-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:28px;align-items:start}
.portfolio-grid>.portfolio-project{grid-column:span 7;border:0;border-radius:0 0 16px 0;background:var(--ink);color:var(--paper)}
.portfolio-grid>.portfolio-project:nth-child(4n+2),.portfolio-grid>.portfolio-project:nth-child(4n+3){grid-column:span 5}
.portfolio-grid>.portfolio-project:nth-child(even){margin-top:clamp(56px,8vw,120px)}
.portfolio-grid .portfolio-cover{border-radius:16px 0 0 0;aspect-ratio:16/10}
.portfolio-grid .portfolio-cover img{object-fit:contain}
.portfolio-grid .portfolio-project-copy{padding:22px 0 24px;border-bottom:2px solid var(--chapter)}
.portfolio-grid .portfolio-project h3{font-size:clamp(28px,3.1vw,48px);line-height:1.02;letter-spacing:-.04em}
.portfolio-grid .portfolio-project:nth-child(even) h3{font-family:Instrument,Georgia,serif;font-style:italic;font-weight:400;font-size:clamp(34px,3.9vw,60px);letter-spacing:-.025em}
.portfolio-grid .portfolio-project .eyebrow{color:var(--chapter)}
.portfolio-grid .portfolio-project p:not(.eyebrow){max-width:640px;font-size:16px;line-height:1.5}
.portfolio-grid .portfolio-relevance{border-top:0;padding-top:6px;font-weight:400;color:var(--chapter)}
.portfolio-grid .text-link{margin-top:12px;text-transform:uppercase;font:13px Plex,monospace;letter-spacing:.06em}
.portfolio-grid .portfolio-project:nth-child(4n+3) .portfolio-project-copy{background:var(--chapter);color:var(--ink);padding:24px}
.portfolio-grid .portfolio-project:nth-child(4n+3) .eyebrow,.portfolio-grid .portfolio-project:nth-child(4n+3) .portfolio-relevance{color:inherit}
.portfolio-section:nth-child(5) .portfolio-grid .portfolio-project:nth-child(4n+3) .portfolio-project-copy{color:var(--paper)}
.contact-action{gap:8px}.contact-icon{display:inline-grid;place-items:center;width:20px;height:20px;flex:none;font:bold 18px Arial,sans-serif}.contact-icon-linkedin{background:#0a66c2;color:white;border-radius:2px;font-size:15px;letter-spacing:-1px}.contact-icon img{width:20px;height:20px}.contact-portrait{border:3px solid var(--ink);outline:3px solid var(--pink);outline-offset:3px;transform:rotate(-2deg);margin:4px}.contact-portrait>img{transform:none;object-position:50% 32%}
.meeting-request{margin-top:18px;border-top:1px solid var(--ink);padding-top:10px}.meeting-request summary{cursor:pointer;min-height:44px;align-content:center;font-weight:700}.meeting-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-top:12px}.meeting-form>p,.meeting-form>.meeting-mail,.meeting-form>button{grid-column:1/-1}.meeting-form label{display:grid;gap:6px;font-size:13px;min-width:0}.meeting-form input{width:100%;min-width:0;min-height:44px;border:1px solid var(--ink);border-radius:6px;padding:8px;background:var(--paper);color:var(--ink);font:15px Space,Arial}.meeting-prepare,.meeting-mail{min-height:44px;padding:12px;border:1px solid var(--ink);background:var(--ink);color:var(--paper);border-radius:6px;font:700 14px Space,Arial;text-align:center}.meeting-form p{font-size:13px!important;line-height:1.5}.meeting-mail[hidden]{display:none}
@media(max-width:760px){.portfolio-section{padding-top:38px;padding-bottom:28px}.portfolio-section h2{font-size:clamp(35px,10vw,65px);margin-bottom:28px;line-height:1;max-width:100%}.portfolio-section:nth-child(even) h2{text-align:left}.portfolio-section h2 em{max-width:100%;overflow-wrap:normal;hyphens:auto}.portfolio-section:nth-child(3n+1) h2 em{transform:rotate(-1deg)}.portfolio-grid{grid-template-columns:minmax(0,1fr);gap:32px}.portfolio-grid>.portfolio-project,.portfolio-grid>.portfolio-project:nth-child(n){grid-column:1;margin:0}.portfolio-grid .portfolio-project:nth-child(4n+2){margin-left:16px}.portfolio-grid .portfolio-project:nth-child(4n+3){margin-right:16px}.portfolio-grid .portfolio-project h3{font-size:32px}.portfolio-grid .portfolio-project:nth-child(even) h3{font-size:39px}.portfolio-grid .portfolio-project-copy{padding:18px 0}.portfolio-grid .portfolio-project:nth-child(4n+3) .portfolio-project-copy{padding:18px}.portfolio-grid .portfolio-project p:not(.eyebrow){font-size:15px}}
@media(max-width:760px){.portfolio-section h2>span{hyphens:manual}.portfolio-section:first-child h2>span{font-size:.74em;letter-spacing:-.06em}.portfolio-section:first-child h2{font-size:clamp(35px,10vw,65px)}}
.meeting-request{grid-column:1/-1;margin-top:4px}.portfolio-section:nth-child(5) .portfolio-grid .portfolio-project .eyebrow,.portfolio-section:nth-child(5) .portfolio-grid .portfolio-project .portfolio-relevance{color:var(--lilac)}
@media(max-width:420px){.meeting-form{grid-template-columns:minmax(0,1fr)}.meeting-form input{font-size:16px}.portfolio-section:first-child h2>span{max-width:100%}}
/* Der Showroom öffnet als Editorial, die Kapitel führen in die einzelnen Projekte. */
.portfolio-intro{position:relative;isolation:isolate;overflow:hidden;background:var(--lime);padding-top:40px;padding-bottom:36px}.portfolio-intro::after{content:'';position:absolute;right:-24px;top:26px;width:clamp(130px,21vw,300px);aspect-ratio:1;background:url('/assets/sourmelon-cut.webp') center/contain no-repeat;transform:rotate(-12deg);z-index:-1;opacity:.25;pointer-events:none}.portfolio-intro h1{font-size:clamp(58px,7.3vw,108px);line-height:.95;max-width:1050px;margin:22px 0}.portfolio-intro h1>span{display:block}.portfolio-intro h1>em{font-family:Instrument,Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.04em;display:block}.portfolio-intro>.lead{font-size:clamp(18px,2vw,25px);max-width:760px}.portfolio-intro .portfolio-availability{display:inline-block;background:var(--ink);color:var(--paper);padding:8px 12px;transform:rotate(-1deg);font-size:12px;letter-spacing:.08em}.portfolio-intro .micro{display:none}.portfolio-intro .actions{margin-top:18px}.portfolio-intro .tom-contact-card{position:relative;z-index:2}@media(max-width:760px){.portfolio-intro h1{font-size:clamp(46px,12vw,78px);margin:20px 0;max-width:100%}.portfolio-intro::after{width:150px;top:14px;right:-25px;opacity:.18}.portfolio-intro{padding-top:28px;padding-bottom:28px}}
.portfolio-cover>picture,.record-cover>picture{display:block;width:100%;height:100%}.portfolio-cover>picture img,.record-cover>picture img{display:block;width:100%;height:100%;object-fit:contain}
.profile-projects .profile-work>picture{display:block;width:100%;aspect-ratio:16/10;background:var(--ink);border-radius:9px;overflow:hidden}.profile-projects .profile-work>picture img{display:block;width:100%;height:100%;object-fit:contain}
.availability-stickers{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;margin:24px 0}.availability-stickers p{display:inline-flex;align-items:center;min-height:36px;margin:0!important;padding:8px 12px;border:1px solid var(--ink);font:700 12px/1.4 Plex,monospace;letter-spacing:.035em;max-width:100%}.availability-employment{background:var(--pink);color:var(--ink);transform:rotate(1.5deg);box-shadow:3px 3px 0 var(--ink)}.availability-projects{background:var(--violet);color:var(--paper);transform:rotate(-1deg);border-radius:20px}.availability-stickers .portfolio-availability{font-family:Space,Arial,sans-serif}@media(max-width:760px){.availability-stickers{gap:10px;margin:20px 0}.availability-stickers p{font-size:11px;letter-spacing:.02em;padding:8px 10px}.availability-stickers .portfolio-availability{font-size:11px}}
.project-context{position:relative}.portfolio-section::after,.project-context::after{content:'';position:absolute;top:0;left:clamp(20px,4vw,64px);right:clamp(20px,4vw,64px);height:2px;pointer-events:none;opacity:0;background:linear-gradient(90deg,transparent 43%,var(--mint) 48%,var(--paper) 50%,var(--pink) 52%,transparent 57%);background-size:280% 100%;filter:drop-shadow(0 0 2px var(--pink));animation:sm-line-glimmer 31s linear infinite;animation-delay:-7s}.portfolio-section:nth-child(2n)::after{animation-duration:37s;animation-delay:-19s}.portfolio-section:nth-child(3n)::after{animation-duration:43s;animation-delay:-31s}.project-context::after{animation-duration:41s;animation-delay:-23s}@media(prefers-reduced-motion:reduce){.portfolio-section::after,.project-context::after{animation:none;display:none}}
/* Library is a portfolio collection, sharing the existing published release model. */
.portfolio-collections{display:flex;gap:18px;padding:20px 4%;border-block:2px solid var(--paper)}.portfolio-collections a{font:800 clamp(24px,4vw,46px)/1 Bricolage,sans-serif;padding:14px 20px;background:var(--lime);color:var(--ink);border-radius:8px;min-height:48px}.portfolio-collections a:nth-child(2){background:var(--pink);transform:rotate(-2deg)}.portfolio-library{padding:clamp(32px,5vw,80px) 4%;background:var(--ink);color:var(--paper);scroll-margin-top:30px}.portfolio-library h2{font-size:clamp(48px,8vw,108px);max-width:12ch;margin:16px 0 24px}.portfolio-library h2 em{font-family:Instrument,serif;color:var(--pink);font-weight:400}.library-lead{max-width:650px;font-size:clamp(18px,2vw,24px)}.library-filters{display:flex;flex-wrap:wrap;gap:10px;margin:30px 0}.library-filters button{border:1px solid var(--paper);color:inherit;background:transparent;border-radius:24px;min-height:44px;padding:10px 18px}.library-filters button[aria-pressed=true]{background:var(--lime);color:var(--ink);border-color:var(--lime)}.library-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:28px;align-items:start}.library-card{border:2px solid var(--mint);border-radius:24px;overflow:hidden;background:var(--paper);color:var(--ink)}.library-card:nth-child(3n+2){border-color:var(--pink);margin-top:70px}.library-cover{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--mint)}.library-card:nth-child(3n+2) .library-cover{background:var(--pink)}.library-cover img,.library-cover picture{display:block;width:100%;height:100%;object-fit:contain}.library-copy{padding:24px}.library-copy h3{font-size:clamp(28px,3vw,44px);margin:12px 0}.library-copy>p{margin-bottom:20px}.library-copy .text-link{display:inline-block;min-height:44px;padding-block:8px}.library-card[hidden]{display:none}.library-empty{padding:28px 0;color:var(--paper)}@media(max-width:700px){.portfolio-collections{gap:10px}.portfolio-collections a{font-size:24px;padding:12px 16px}.library-grid{grid-template-columns:1fr;gap:24px}.library-card:nth-child(3n+2){margin-top:0}.library-filters{flex-wrap:nowrap;overflow:auto;padding-bottom:8px}.library-filters button{white-space:nowrap}.library-copy{padding:20px}}

.portfolio-collections{position:sticky;top:0;z-index:10;background:var(--ink)}.portfolio-collections a[aria-current]{outline:2px solid var(--paper);outline-offset:4px}#portfolio-projekte[hidden],.portfolio-library[hidden]{display:none!important}
.portfolio-library,#portfolio-projekte{scroll-margin-top:130px}@media(max-width:700px){.portfolio-library,#portfolio-projekte{scroll-margin-top:95px}}

/* Library editorial mosaic, 31.10.2026: distinct colour, scale and type per tile. */
.portfolio-library{padding-top:clamp(36px,6vw,88px);overflow:hidden;background:var(--ink)}
.portfolio-library>h2{max-width:100%;line-height:.88;letter-spacing:-.065em;margin:22px 0 34px;font-size:clamp(58px,9vw,144px)}
.portfolio-library>h2>span{display:inline-block;background:var(--paper);color:var(--ink);padding:8px 16px 16px;transform:rotate(-1deg)}
.portfolio-library>h2>em{display:inline-block;color:var(--pink);font-size:1.16em;letter-spacing:-.035em;margin-left:16px}
.portfolio-library>.library-lead{font-family:Space,sans-serif;max-width:720px;font-size:clamp(18px,2vw,26px);border-left:5px solid var(--mint);padding-left:20px}
.library-filters{gap:12px;margin:34px 0 42px}.library-filters button{border-radius:6px;font-family:Plex,monospace;letter-spacing:-.03em}.library-filters button:nth-child(3){border-radius:28px}.library-filters button:nth-child(4){border-color:var(--pink)}
.library-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(18px,2.3vw,36px);align-items:start;counter-reset:library}
.library-card{--tile:var(--mint);--tile-ink:var(--ink);counter-increment:library;grid-column:span 4;min-width:0;background:var(--tile);color:var(--tile-ink);border:2px solid var(--tile);border-radius:8px 36px 8px 8px;margin-top:0!important;transition:transform .22s ease}
.library-card:nth-child(10n+1),.library-card:nth-child(10n+7){grid-column:span 7}
.library-card:nth-child(10n+2),.library-card:nth-child(10n+6){grid-column:span 5}
.library-card:nth-child(6n+2){--tile:var(--pink);border-radius:34px 8px 34px 8px}
.library-card:nth-child(6n+3){--tile:var(--violet);--tile-ink:var(--paper);border-radius:8px}
.library-card:nth-child(6n+4){--tile:var(--orange);border-radius:8px 8px 48px 8px}
.library-card:nth-child(6n+5){--tile:var(--lime);border-radius:36px 36px 8px 8px}
.library-card:nth-child(6n){--tile:var(--paper);border-radius:8px 36px 8px 36px}
.library-card .library-cover{background:var(--tile);padding:10px 10px 0;aspect-ratio:16/10}
.library-card .library-cover picture{background:var(--ink);border-radius:5px;overflow:hidden}
.library-card .library-cover img{object-fit:contain}
.library-copy{padding:clamp(18px,2.2vw,32px);background:var(--tile);color:var(--tile-ink)}
.library-copy .eyebrow{display:flex;gap:12px;align-items:center;margin:0 0 20px;font-family:Plex,monospace;font-size:11px;letter-spacing:.06em}
.library-copy .eyebrow::before{content:counter(library,decimal-leading-zero);display:inline-block;border:1px solid currentColor;padding:5px 7px;transform:rotate(-5deg);font-size:13px}
.library-copy h3{font-family:Bricolage,sans-serif;font-size:clamp(26px,2.8vw,48px);line-height:1.04;letter-spacing:-.045em;margin:0 0 20px;overflow-wrap:break-word}
.library-card:nth-child(6n+4) .library-copy h3,.library-card:nth-child(6n) .library-copy h3{font-family:Instrument,serif;font-style:italic;font-weight:400;font-size:clamp(34px,3.5vw,58px);letter-spacing:-.03em}
.library-copy>p:not(.eyebrow){font-size:clamp(15px,1.2vw,18px);line-height:1.5}
.library-copy .text-link{border-top:1px solid currentColor;width:100%;padding-top:16px;margin-top:12px;font-weight:700}
.library-grid[data-filtered=true]{grid-template-columns:repeat(2,minmax(0,1fr))}.library-grid[data-filtered=true] .library-card{grid-column:auto}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.library-card:hover{transform:translateY(-5px)}}
@media(max-width:1000px) and (min-width:701px){.library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-card:nth-child(n){grid-column:auto}.library-copy h3{font-size:32px}}
@media(max-width:700px){.portfolio-library>h2{font-size:clamp(50px,12vw,78px);margin-bottom:28px}.portfolio-library>h2>span{padding:5px 9px 12px}.portfolio-library>h2>em{margin:10px 0 0 10px}.library-grid,.library-grid[data-filtered=true]{grid-template-columns:1fr;gap:24px}.library-card:nth-child(n){grid-column:1}.library-card .library-cover{padding:8px 8px 0}.library-copy h3{font-size:32px}.library-copy{padding:22px}.library-filters{margin-bottom:30px;gap:9px}.library-copy .eyebrow{margin-bottom:16px}}
@media(prefers-reduced-motion:reduce){.library-card{transition:none}}

.library-view-toggle{display:flex;gap:10px;margin:0 0 24px}.library-view-toggle button{min-height:44px;padding:10px 18px;background:transparent;color:var(--paper);border:1px solid currentColor;font:700 14px Space,sans-serif}.library-view-toggle button[aria-pressed=true]{background:var(--mint);color:var(--ink);border-color:var(--mint)}.library-swipe-controls{display:flex;align-items:center;gap:12px;margin-bottom:20px;font:13px Plex,monospace}.library-swipe-controls[hidden]{display:none}.library-swipe-count{margin-left:auto}.library-swipe-controls .swipe-arrow{color:var(--paper);border-color:var(--paper);background:transparent}.library-grid[data-view=swipe]{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;align-items:stretch;gap:24px;padding:4px 0 20px;scrollbar-color:var(--pink) var(--ink)}.library-grid[data-view=swipe] .library-card{flex:0 0 72%;max-width:860px;scroll-snap-align:start;display:flex;flex-direction:column}.library-grid[data-view=swipe] .library-card[hidden]{display:none}.library-grid[data-view=swipe] .library-cover{flex-shrink:0}.library-grid[data-view=swipe] .library-copy{flex:1}@media(max-width:700px){.library-grid[data-view=swipe]{gap:16px}.library-grid[data-view=swipe] .library-card{flex-basis:92%;max-width:none}.library-swipe-controls>span:first-child{font-size:11px}.library-swipe-controls{gap:8px}.library-swipe-controls .swipe-arrow{width:44px;height:44px;min-width:44px}}
