/* sion design – v3. Der Look steckt (wie im Claude-Design-Entwurf) in den Inline-Styles; hier nur Basis, Hover, Galerie, Formular, Mobile. */
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/hanken-grotesk-latin-wght-normal.woff2) format("woff2")}
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;background:#f2f2f0;color:#101828;font-family:'Hanken Grotesk',Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;scroll-behavior:smooth}
a{color:#101828;text-decoration:none}a:hover{color:#3fb8b1}
img{max-width:100%}
@keyframes drift1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(40px,-30px) scale(1.08)}}
@keyframes drift2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-40px,40px) scale(1.06)}}
@keyframes spin{to{transform:rotate(360deg)}}

[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .9s,transform .9s cubic-bezier(.2,.7,.2,1),background .4s,color .4s}
[data-reveal].in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){[data-reveal]{opacity:1!important;transform:none!important}[style*="animation"]{animation:none!important}}

/* Hover (aus style-hover des Entwurfs) */
.Start-h0:hover{background:#101828!important;color:#f2f2f0!important;transform:translateY(-4px)!important}
.Ausstellung-h2:hover,.KI-Training-h2:hover,.Ueber-mich-h0:hover{gap:18px!important}
.KI-Training-h0:hover{background:#62ccc6!important;color:#101828!important;gap:18px!important}
.KI-Training-h1{transition:opacity .9s,transform .5s cubic-bezier(.2,.7,.2,1)!important}
.KI-Training-h1:hover{transform:translateY(-6px)!important}
.KI-Training-h3:hover{scale:1.04}

/* Galerie – Slideshow im Seitenraster, nicht randlos */
.gal{user-select:none}
.gal__stage{position:relative;aspect-ratio:2/1;max-height:68vh;width:100%;overflow:hidden;background:#e6e6e3;cursor:pointer}
.gal__slide{position:absolute;inset:0;opacity:0;transition:opacity .7s}
.gal__slide.on{opacity:1;z-index:1}
.gal__slide img{display:block;width:100%;height:100%;object-fit:cover}
.gal__slide img.hoch{object-fit:contain}
.gal__bar{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;margin-top:14px}
.gal__count{font-size:13px;font-weight:600;letter-spacing:.22em}
.gal__thumbs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:6px}
.gal__thumbs::-webkit-scrollbar{display:none}
.gal__thumbs button{flex:0 0 auto;width:60px;height:40px;border:0;padding:0;cursor:pointer;opacity:.45;transition:opacity .3s;background:none;position:relative}
.gal__thumbs button.on,.gal__thumbs button:hover{opacity:1}
.gal__thumbs button.on::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:#3fb8b1}
.gal__thumbs img{display:block;width:100%;height:100%;object-fit:cover}
.gal__btns{display:flex;gap:8px}
.gal__btns button{background:none;border:1px solid #101828;color:#101828;width:42px;height:42px;border-radius:50%;cursor:pointer;font-size:16px;font-family:inherit;transition:.25s}
.gal__btns button:hover{background:#101828;color:#f2f2f0}
.sideflag{position:absolute;top:0;right:clamp(16px,3vw,40px);z-index:3;background:#101828;color:#f2f2f0;writing-mode:vertical-rl;padding:22px 10px 30px;font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;display:flex;align-items:center;gap:12px;clip-path:polygon(0 0,100% 0,100% 100%,50% calc(100% - 12px),0 100%)}
.sideflag i{display:block;width:1px;height:14px;background:#62ccc6}

/* Kontaktformular */
.form{display:grid;gap:26px;max-width:620px;position:relative}
.form .hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}
.form label{display:block;font-size:13px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;margin-bottom:6px}
.form input,.form textarea{width:100%;border:0;border-bottom:1px solid #101828;background:transparent;padding:10px 0;font:300 18px/1.4 'Hanken Grotesk',Helvetica,Arial,sans-serif;color:#101828;border-radius:0;outline:none;transition:border-color .2s}
.form input:focus,.form textarea:focus{border-bottom-color:#3fb8b1;box-shadow:0 1px 0 #3fb8b1}
.form textarea{min-height:150px;resize:vertical}
.form button{justify-self:start;display:inline-flex;gap:10px;background:#101828;color:#f2f2f0;border:0;padding:16px 28px;font:600 15px 'Hanken Grotesk',Helvetica,Arial,sans-serif;cursor:pointer;transition:background .3s,color .3s,gap .3s}
.form button:hover{background:#62ccc6;color:#101828;gap:18px}
.form button:disabled{opacity:.5;cursor:default}
.form__note{font-size:13px;font-weight:300;margin:0;max-width:52ch}
.form__ok{border:1px solid #101828;padding:28px;font-size:18px;font-weight:300;line-height:1.5;max-width:620px}

/* Rechtstexte */
.legal .prose{max-width:46em;font-size:16px;line-height:1.6;font-weight:300}
.legal h2{font-size:13px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;margin:40px 0 10px}
.legal a{border-bottom:1px solid #101828}
.todo{background:#ffc9b0;padding:1px 6px}

/* Mobile */
@media(max-width:640px){
 header img{height:34px!important}
 .phead{grid-template-columns:auto 1fr!important}
 .pyear{grid-column:1/-1;padding:0!important}
 .gal__bar{grid-template-columns:auto auto;justify-content:space-between}
 .gal__thumbs{display:none}
 .gal__stage{aspect-ratio:4/3}
 .sideflag{font-size:9.5px;padding:12px 6px 22px;gap:8px;letter-spacing:.14em;right:12px}
}

/* Burgermenü: Nav-Punkte auf Mobile zu dicht am Logo -> ab 760px eigene Seitenleiste */
.navtoggle{display:none;position:relative;z-index:21;flex-direction:column;justify-content:center;gap:5px;width:32px;height:32px;padding:0;margin:0;background:none;border:0;cursor:pointer;flex:0 0 auto}
.navtoggle span{display:block;height:2px;width:100%;background:#101828;border-radius:1px;transition:transform .3s,opacity .3s}
.navbackdrop{position:fixed;inset:0;background:rgba(16,24,40,.4);z-index:18;opacity:0;pointer-events:none;transition:opacity .3s}
.navbackdrop.on{opacity:1;pointer-events:auto}
@media(max-width:760px){
 /* backdrop-filter macht den Header zum Bezugsrahmen für position:fixed -> Panel würde die Seite verbreitern. Mobil ohne Blur, dafür fast deckend. */
 header{backdrop-filter:none!important;-webkit-backdrop-filter:none!important;background:rgba(242,242,240,.96)!important}
 .navtoggle{display:flex}
 .navtoggle.on span:nth-child(1){transform:translateY(7px) rotate(45deg)}
 .navtoggle.on span:nth-child(2){opacity:0}
 .navtoggle.on span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
 .topnav{position:fixed;top:0;right:0;z-index:19;width:min(78vw,320px);height:100vh;height:100dvh;background:#f2f2f0;flex-direction:column;align-items:flex-start;gap:0;padding:96px 28px 28px;box-shadow:-10px 0 32px rgba(16,24,40,.14);transform:translateX(100%);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
 .topnav.open{transform:translateX(0)}
 .topnav a{width:100%;padding:16px 0;font-size:17px;border-bottom:1px solid rgba(16,24,40,.15);background:none!important}
 body.navopen{overflow:hidden}
}

/* ---------- v3.1 ---------- */
/* Rollover ohne Türkis: Linie statt Farbwechsel */
a:hover{color:#101828}
nav a,footer a{background:linear-gradient(#101828,#101828) 0 100%/0 1px no-repeat;transition:background-size .35s;padding-bottom:3px}
nav a:hover,footer a:hover{background-size:100% 1px}
.lnk,.Ausstellung-h2,.KI-Training-h2,.Ueber-mich-h0{transition:gap .3s,opacity .3s}
.KI-Training-h0{border:1px solid #101828;transition:background .3s,color .3s,gap .3s}
.KI-Training-h0:hover{background:transparent!important;color:#101828!important;gap:18px!important}
.form button{border:1px solid #101828}
.form button:hover{background:transparent;color:#101828;gap:18px}
.form input:focus,.form textarea:focus{border-bottom-color:#101828;box-shadow:0 1px 0 #101828}
.logo{height:64px!important}

/* Profil-Eckpunkte: spaltenweise lesen (01–03 links, 04–06 rechts) */
.skills{columns:2;column-gap:64px}
.skills li{break-inside:avoid}
@media(max-width:760px){.skills{columns:1}}

/* Projekt-Tabs */
.ptabs{display:flex;border-top:1px solid rgba(16,24,40,.35);border-bottom:1px solid rgba(16,24,40,.35);overflow-x:auto;scrollbar-width:none;margin-bottom:clamp(28px,4vh,48px)}
.ptabs::-webkit-scrollbar{display:none}
.ptab{flex:1 0 auto;display:flex;align-items:baseline;gap:22px;text-align:left;background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:24px 28px 24px 0;font:300 clamp(16px,1.3vw,20px) 'Hanken Grotesk',Helvetica,Arial,sans-serif;color:#101828;cursor:pointer;white-space:nowrap;opacity:.55;transition:opacity .3s,border-color .3s}
.ptab span{font-size:12px;font-weight:400}
.ptab:hover{opacity:1}
.ptab.on{opacity:1;border-bottom-color:#101828;font-weight:400}
.ppanel{display:none}
.ppanel.on{display:flex;animation:pfade .6s ease}
@keyframes pfade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

/* Bildstreifen: nächstes Bild schaut an */
.strip{position:relative;margin-right:calc(-1 * clamp(20px,4vw,56px))}
.strip__track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth;padding-right:clamp(20px,4vw,56px)}
.strip__track::-webkit-scrollbar{display:none}
.strip__item{position:relative;flex:0 0 auto;margin:0;height:clamp(240px,58vh,620px);scroll-snap-align:start;background:#e6e6e3}
.strip__item img{display:block;height:100%;width:auto;max-width:86vw;object-fit:cover}
.strip__bar{display:flex;justify-content:space-between;align-items:center;margin:14px clamp(20px,4vw,56px) 0 0}
.strip__count{font-size:13px;font-weight:600;letter-spacing:.22em}
.strip__btns{display:flex;gap:8px}
.strip__btns button{background:none;border:1px solid #101828;color:#101828;width:42px;height:42px;border-radius:50%;cursor:pointer;font-size:16px;font-family:inherit;transition:.25s}
.strip__btns button:hover{background:#101828;color:#f2f2f0}

/* Kachel-Lightbox: Sonderausstellungen mit mehreren Bildern */
.tile__box{cursor:default}
[data-lightbox] .tile__box{cursor:zoom-in}
[data-lightbox] .tile__box img{transition:transform .4s ease}
[data-lightbox] .tile__box:hover img{transform:scale(1.03)}
.tile__badge{position:absolute;right:10px;top:10px;z-index:2;background:rgba(16,24,40,.65);color:#f2f2f0;font-size:11px;font-weight:600;letter-spacing:.12em;padding:5px 9px;border-radius:20px;pointer-events:none}
.lb-overlay{position:fixed;inset:0;background:rgba(16,24,40,.92);z-index:50;display:none;align-items:center;justify-content:center;padding:clamp(16px,4vw,40px)}
.lb-overlay.open{display:flex}
.lb-close{position:absolute;top:24px;right:clamp(16px,4vw,40px);background:none;border:1px solid #f2f2f0;color:#f2f2f0;width:42px;height:42px;border-radius:50%;cursor:pointer;font-size:18px;font-family:inherit}
.lb-inner{width:100%;max-width:640px}
.lb-stage{position:relative;aspect-ratio:4/3;max-height:56vh;background:#101828;overflow:hidden}
.lb-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .3s}
.lb-stage img.on{opacity:1}
.lb-bar{display:flex;justify-content:space-between;align-items:center;margin-top:16px;color:#f2f2f0}
.lb-count{font-size:13px;font-weight:600;letter-spacing:.22em}
.lb-btns{display:flex;gap:8px}
.lb-btns button{background:none;border:1px solid #f2f2f0;color:#f2f2f0;width:42px;height:42px;border-radius:50%;cursor:pointer;font-size:16px;font-family:inherit;transition:.25s}
.lb-btns button:hover{background:#f2f2f0;color:#101828}
@media(max-width:640px){.lb-inner{max-width:100%}.lb-stage{max-height:46vh}}

/* Große 02 auf Verlauf */
.bignum{position:relative;min-height:clamp(320px,44vw,560px);display:flex;flex-direction:column;justify-content:center;padding-left:clamp(8px,3vw,48px)}
.bignum__blob{position:absolute;left:0;top:50%;width:min(100%,560px);aspect-ratio:1;margin-top:calc(min(100%,560px) / -2);translate:0 0;border-radius:50%;background:radial-gradient(circle at 35% 40%,#b79ae0 0%,#c9b8f5 22%,#8fc5d8 48%,#7fdccb 66%,rgba(127,220,203,0) 78%);filter:blur(36px);pointer-events:none;top:0;margin-top:0}
.bignum__ring{position:absolute;left:clamp(30px,6vw,90px);top:6%;width:min(78%,440px);aspect-ratio:1;border:1px solid rgba(16,24,40,.3);border-radius:50%;pointer-events:none}
.bignum__n{position:relative;font-size:clamp(140px,21vw,330px);font-weight:800;line-height:.8;letter-spacing:-.05em}
.bignum__c{position:relative;margin:28px 0 0 clamp(16px,3vw,44px);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.acc{border-top:1px solid rgba(16,24,40,.35)}
.accs .acc:last-child{border-bottom:1px solid rgba(16,24,40,.35)}
.acc summary{display:grid;grid-template-columns:44px 1fr auto;align-items:baseline;padding:26px 0 0;cursor:pointer;list-style:none}
.acc summary::-webkit-details-marker{display:none}
.acc:not([open]) summary{padding-bottom:26px}
.acc__n{font-size:12px}
.acc__t{font-size:clamp(18px,1.5vw,22px);font-weight:500;letter-spacing:-.01em}
.acc__i{position:relative;width:14px;height:14px;align-self:center}
.acc__i::before,.acc__i::after{content:"";position:absolute;left:0;right:0;top:6.5px;height:1px;background:#101828;transition:transform .3s}
.acc:not([open]) .acc__i::after{transform:rotate(90deg)}
.acc p{margin:18px 0 28px 44px;max-width:50ch;font-size:16px;line-height:1.65;font-weight:300}
@media(max-width:640px){.logo{height:46px!important}.ptab{padding:18px 22px 18px 0;gap:12px}.strip__item{height:clamp(200px,34vh,300px)}.sideflag{right:10px}}
.skills li{border-bottom:1px solid #101828!important;margin-bottom:-1px}

/* ---------- v3.2 ---------- */
/* Start: 01 / 02 als Linienraster */
.duo{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #101828;border-bottom:1px solid #101828}
.duo__c{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(16px,2vw,32px);padding:clamp(28px,4.5vh,52px) clamp(16px,2.5vw,44px) clamp(28px,4.5vh,52px) 0;transition:padding .4s cubic-bezier(.2,.7,.2,1)}
.duo__c+.duo__c{border-left:1px solid #101828;padding-left:clamp(16px,2.5vw,44px)}
.duo__n{font-size:clamp(64px,8vw,128px);font-weight:800;line-height:.8;letter-spacing:-.05em}
.duo__t{font-size:clamp(20px,1.9vw,28px);font-weight:400;letter-spacing:-.01em;line-height:1.15}
.duo__t small{display:block;margin-top:8px;font-size:clamp(14px,1.05vw,16px);font-weight:300;letter-spacing:0}
.duo__a{font-size:22px;opacity:0;transform:translateX(-12px);transition:opacity .35s,transform .35s}
.duo__c:hover .duo__a{opacity:1;transform:none}
.duo__c:hover{padding-left:clamp(10px,1vw,18px)}
.duo__c+.duo__c:hover{padding-left:calc(clamp(16px,2.5vw,44px) + 12px)}
@media(max-width:700px){.duo{grid-template-columns:1fr}.duo__c+.duo__c{border-left:0;border-top:1px solid #101828;padding-left:0}.duo__c:hover,.duo__c+.duo__c:hover{padding-left:0}.duo__a{opacity:1;transform:none}}
/* Themen-Akkordeon und Tabs in der Liniensprache des Entwurfs (dunkle 1px-Linie, dünne Ziffern) */
.acc,.accs .acc:last-child,.ptabs{border-color:#101828}
.acc summary{grid-template-columns:56px 1fr auto;padding-top:18px;align-items:baseline}
.acc:not([open]) summary{padding-bottom:18px}
.acc__n{font-size:32px;font-weight:200;line-height:1}
.acc__t{font-size:17px;font-weight:600;letter-spacing:0}
.acc p{margin:8px 0 20px 56px;font-size:17px;line-height:1.5;max-width:56ch}

/* ---------- v3.3 ---------- */
.ptabs{gap:0 clamp(24px,3vw,48px)}
.ptab{flex:0 0 auto;opacity:1;padding:20px 0;border-bottom:0;background:linear-gradient(#101828,#101828) 0 100%/0 2px no-repeat;transition:background-size .35s}
.ptab:hover{background-size:100% 2px}
.acc summary{grid-template-columns:1fr auto}
.acc p{margin-left:0}
.awards{position:absolute;top:0;right:clamp(14px,2.5vw,36px);z-index:3;width:clamp(64px,7vw,96px);background:#fff;padding:14px 10px 12px;display:flex;flex-direction:column;align-items:center;gap:10px;box-shadow:0 8px 24px rgba(16,24,40,.12)}
.awards img{display:block;width:100%!important;height:auto!important;max-width:none}
.awards span{font-size:9.5px;font-style:italic;letter-spacing:.18em;text-transform:uppercase}
@media(max-width:640px){.awards{width:52px;padding:8px 6px;gap:6px}.awards span{font-size:7.5px;letter-spacing:.1em}}

/* ---------- v3.4 ---------- */
/* Awards-Fahne: links neben dem Bildstreifen, bleibt beim Blättern stehen */
.strip--awards{display:grid;grid-template-columns:auto 1fr;gap:0 clamp(16px,2vw,28px);align-items:start}
.strip--awards .strip__bar{grid-column:1/-1}
.awards{position:static;top:auto;right:auto;width:clamp(84px,8.5vw,120px);background:#fff;padding:22px 14px 18px;display:flex;flex-direction:column;align-items:center;gap:22px;box-shadow:none;border:1px solid rgba(16,24,40,.2);align-self:stretch;justify-content:center}
.awards img{display:block;width:100%!important;height:auto!important;max-height:84px;object-fit:contain}
.awards span{font-size:9.5px;font-style:italic;letter-spacing:.18em;text-transform:uppercase;margin-top:6px}
@media(max-width:640px){.strip--awards{grid-template-columns:1fr}.awards{flex-direction:row;justify-content:flex-start;width:auto;padding:10px 12px;gap:18px;margin-bottom:12px}.awards img{width:auto!important;height:32px!important}.awards span{margin:0 0 0 auto}}
/* Ausgangspunkt: Zitat-Kästchen */
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px}
.quote{margin:0;border:1px solid #101828;padding:22px 22px 20px;background:rgba(242,242,240,.6)}
.quote p{margin:0;font-size:clamp(17px,1.35vw,21px);line-height:1.35;font-weight:300;letter-spacing:-.01em;text-wrap:balance}

/* ---------- v3.5: schwebende Schlagworte ---------- */
.cloud{position:relative;height:clamp(300px,30vw,420px);margin-top:8px}
.tag{position:absolute;left:var(--x);top:var(--y);background:none;border:0;padding:0;margin:0;cursor:pointer;font:inherit;color:#101828;text-align:left;animation:float 9s ease-in-out infinite;animation-delay:var(--d);z-index:1}
.tag__w{display:inline-flex;align-items:center;gap:10px;font-size:clamp(20px,2.1vw,32px);font-weight:300;letter-spacing:-.01em;white-space:nowrap;padding-bottom:4px;background:linear-gradient(#101828,#101828) 0 100%/0 1px no-repeat;transition:background-size .35s,font-weight .2s}
.tag__w i{font-style:normal;font-weight:200;font-size:1.1em;line-height:1;transition:transform .35s}
.tag__e{display:block;position:absolute;left:0;top:calc(100% + 12px);width:min(34ch,70vw);font-size:15px;line-height:1.5;font-weight:300;background:#f2f2f0;border:1px solid #101828;padding:14px 16px;opacity:0;transform:translateY(6px);pointer-events:none;transition:opacity .3s,transform .3s}
.tag:hover,.tag:focus-visible,.tag[aria-expanded="true"]{z-index:5;animation-play-state:paused}
.tag:hover .tag__w,.tag:focus-visible .tag__w,.tag[aria-expanded="true"] .tag__w{background-size:100% 1px}
.tag:hover i,.tag[aria-expanded="true"] i{transform:rotate(45deg)}
.tag:hover .tag__e,.tag:focus-visible .tag__e,.tag[aria-expanded="true"] .tag__e{opacity:1;transform:none;pointer-events:auto}
.tag:focus-visible{outline:none}
@keyframes float{0%,100%{translate:0 0}33%{translate:6px -10px}66%{translate:-5px 7px}}
@media(prefers-reduced-motion:reduce){.tag{animation:none}}
@media(max-width:760px){.cloud{height:auto;display:flex;flex-wrap:wrap;gap:18px 28px}.tag{position:static;animation:none}.tag__w{font-size:20px}.tag__e{position:static;width:auto;display:none;margin-top:10px;opacity:1;transform:none}.tag[aria-expanded="true"] .tag__e{display:block}}

/* ---------- v3.6: Karten-Netz zum Umdrehen ---------- */
.flips{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid #101828;border-left:1px solid #101828}
.flips--ansatz{grid-template-columns:repeat(3,1fr)}
.flips--ansatz .flip{aspect-ratio:5/4}
.flip{position:relative;background:none;border:0;border-right:1px solid #101828;border-bottom:1px solid #101828;padding:0;margin:0;cursor:pointer;font:inherit;color:#101828;text-align:left;aspect-ratio:4/3;perspective:1200px}
.flips--ansatz .flip{aspect-ratio:1}
.flip__in{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.flip:hover .flip__in,.flip:focus-visible .flip__in,.flip[aria-expanded="true"] .flip__in{transform:rotateY(180deg)}
.flip__f,.flip__b{position:absolute;inset:0;padding:clamp(16px,2vw,28px);backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex}
.flip__f{flex-direction:column;justify-content:space-between;font-size:clamp(18px,1.7vw,26px);font-weight:300;letter-spacing:-.01em}
.flip__f i{font-style:normal;font-weight:200;font-size:26px;line-height:1;align-self:flex-end}
.flip__b{transform:rotateY(180deg);align-items:center;color:#101828;font-size:clamp(16px,1.25vw,19px);line-height:1.4;font-weight:400;background:linear-gradient(135deg,#9ee0dc 0%,#c9b8f5 55%,#ffc9b0 100%)}
.flips--ansatz .flip__b{font-size:clamp(13.5px,1vw,15.5px);line-height:1.35;padding:clamp(12px,1.4vw,20px)}
.flip:nth-child(2n) .flip__b{background:linear-gradient(135deg,#c9b8f5 0%,#9ee0dc 60%,#e6f6f4 100%)}
.flip:nth-child(3n) .flip__b{background:linear-gradient(135deg,#ffc9b0 0%,#c9b8f5 60%,#9ee0dc 100%)}
.flip:focus-visible{outline:none}
@media(prefers-reduced-motion:reduce){.flip__in{transition:none}}
@media(max-width:760px){.flips,.flips--ansatz{grid-template-columns:repeat(2,1fr)}.flip,.flips--ansatz .flip{aspect-ratio:1}.flip__f{font-size:16px}.flip__b{font-size:13.5px;padding:14px}}
/* Projektleiste bleibt beim Scrollen oben (Desktop) */
@media(min-width:821px){.ptabs{position:sticky;top:104px;z-index:15;background:rgba(242,242,240,.92);backdrop-filter:blur(10px)}.proj{scroll-margin-top:190px!important}}
.ptab.on{background-size:100% 2px}

/* ---------- v3.7 ---------- */
/* Awards-Flag: klein, oben links direkt am ersten Bild */
.strip__item .awards{position:absolute;left:0;top:clamp(16px,2.5vw,32px);z-index:3;width:clamp(58px,5.5vw,76px);padding:12px 8px 10px;gap:10px;background:#fff;border:0;align-self:auto;justify-content:flex-start;box-shadow:0 6px 18px rgba(16,24,40,.12)}
.strip__item .awards img{max-height:44px!important}
.strip__item .awards span{font-size:8px;letter-spacing:.14em;margin-top:2px}
@media(max-width:640px){.strip__item .awards{width:44px;padding:8px 5px;gap:6px}.strip__item .awards img{max-height:30px!important}.strip__item .awards span{display:none}}
.flips--skills{grid-template-columns:repeat(3,1fr);max-width:1100px}
.flips--skills .flip{aspect-ratio:16/9}
.flips--skills .flip__b{font-size:clamp(15px,1.15vw,18px);line-height:1.4}
@media(min-width:1200px){.flips--skills{grid-template-columns:repeat(6,1fr);max-width:none}.flips--skills .flip{aspect-ratio:4/5}.flips--skills .flip__f{font-size:clamp(16px,1.3vw,20px)}.flips--skills .flip__b{font-size:clamp(13px,.95vw,14.5px);padding:clamp(12px,1.2vw,18px)}}
@media(max-width:760px){.flips--skills{grid-template-columns:repeat(2,1fr)}.flips--skills .flip{aspect-ratio:1}}

/* ---------- v3.8 ---------- */
/* Karten-Rückseite: ein bis zwei Farben, angeschnittene Kreisfläche statt Regenbogenverlauf */
.flip__b,.flip:nth-child(2n) .flip__b,.flip:nth-child(3n) .flip__b{background:#f2f2f0;overflow:hidden}
.flip__b::before{content:"";position:absolute;width:130%;aspect-ratio:1;border-radius:50%;right:-55%;bottom:-60%;left:auto;top:auto;background:radial-gradient(circle at 40% 40%,#9ee0dc 0%,#62ccc6 70%);filter:blur(40px);z-index:-1}
.flip:nth-child(2n) .flip__b::before{background:radial-gradient(circle at 60% 40%,#d9cdfa 0%,#c9b8f5 70%);left:-55%;right:auto;top:-60%;bottom:auto}
.flip:nth-child(3n) .flip__b::before{background:radial-gradient(circle at 50% 50%,#ffd9c6 0%,#ffc9b0 70%);right:-55%;left:auto;top:-60%;bottom:auto}
.flip__b{isolation:isolate}
/* Akkordeon "Mein Ansatz": nur Linien, erster Punkt offen */
.accs--ansatz .acc summary{grid-template-columns:1fr auto;padding:20px 0 0}
.accs--ansatz .acc:not([open]) summary{padding-bottom:20px}
.accs--ansatz .acc__t{font-size:clamp(17px,1.3vw,20px);font-weight:500}
.accs--ansatz .acc p{margin:10px 0 22px;font-size:16px;line-height:1.5;max-width:52ch}
