@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;650;700&family=Manrope:wght@400;500;600;650;700;800&display=swap');
:root{color-scheme:dark;--bg:#101713;--panel:#18221c;--line:#344037;--text:#f0f3ea;--muted:#acb8ad;--accent:#c2f66f;--font:'DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:1rem;line-height:1.6}a{color:inherit;text-decoration:none}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}::selection{background:var(--accent);color:var(--bg)}.wrap{width:min(1240px,calc(100% - 96px));margin-inline:auto}.header{display:flex;justify-content:space-between;align-items:center;min-height:108px;border-bottom:1px solid var(--line);gap:24px}.brand{font-family:Manrope,sans-serif;display:flex;align-items:center;font-size:1.05rem;font-weight:800;letter-spacing:.035em}.brand-icon{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);color:var(--bg);width:36px;height:36px;margin-right:13px;border-radius:6px;font-size:1.2rem}.brand-icon span{margin-left:-2px}.muted{color:var(--muted)}nav{display:flex;gap:36px;font-size:.9rem}nav a:hover,.text-link:hover,.footer>a:hover{color:var(--accent)}nav a:last-child span{margin-left:10px}.hero{display:grid;grid-template-columns:1.5fr 1fr;gap:70px;padding-block:92px 72px;align-items:center}.eyebrow{font-size:.75rem;font-weight:600;letter-spacing:.13em;margin:0 0 22px}.hero .eyebrow{color:var(--accent)}.eyebrow span{margin:0 12px;color:#738273}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Manrope,sans-serif;line-height:1.15}h1{font-size:clamp(3.1rem,5.2vw,4.6rem);font-weight:600;letter-spacing:-.055em;margin-bottom:28px}em{font-style:normal;color:var(--accent)}.intro{max-width:550px;color:var(--muted);font-size:1.075rem;line-height:1.8;margin-bottom:32px}.hero-actions{display:flex;align-items:center;gap:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;background:var(--accent);padding:14px 22px;border-radius:4px;color:var(--bg);font-weight:650}.button:hover{background:#d5ff99}.text-link{font-size:.95rem}.location{font-size:.8rem;color:var(--muted);margin:35px 0 0}.location span{margin:0 9px}.profile-panel{background:var(--panel);border:1px solid var(--line);border-radius:6px;transform:translateY(3px);padding:24px 28px}.panel-top,.panel-footer{display:flex;justify-content:space-between;font-size:.7rem;letter-spacing:.1em;color:var(--muted)}.panel-top{padding-bottom:25px}.focus-item{display:flex;align-items:center;gap:18px;padding:30px 0;border-top:1px solid var(--line)}.focus-number{font-family:monospace;font-size:.8rem;color:var(--accent);align-self:flex-start;padding-top:5px}.focus-item h2{font-size:1.6rem;font-weight:500;margin:0 0 9px;letter-spacing:-.025em}.focus-item p{font-size:.84rem;color:var(--muted);margin:0}.focus-mark{font-family:monospace;color:var(--accent);margin-left:auto;font-size:1.25rem;white-space:nowrap}.panel-footer{border-top:1px solid var(--line);padding-top:22px;align-items:center}.panel-footer span:last-child{font-size:1.1rem;color:var(--accent)}.credentials{border-block:1px solid var(--line)}.credential-row{display:flex;align-items:center;justify-content:space-between;padding-block:24px;gap:25px}.credential-row .eyebrow{margin:0;font-size:.65rem;max-width:140px;color:var(--muted)}.credential-row>span:not(:first-child){font-size:.9rem;color:var(--muted)}.credential-row strong{font-weight:600;color:var(--text)}.section{padding-block:86px}.section-heading{display:flex;justify-content:space-between;gap:35px;align-items:flex-end;margin-bottom:40px}.section .eyebrow,.experience-section .eyebrow{color:var(--muted)}h2{font-size:clamp(2rem,3vw,2.7rem);letter-spacing:-.04em;font-weight:500;margin-bottom:0}.section-heading p:last-child{color:var(--muted);font-size:.95rem;margin-bottom:3px}.section-heading .eyebrow{margin-bottom:13px}.projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.project{border:1px solid var(--line);padding:32px 34px;background:var(--panel);border-radius:6px;display:flex;flex-direction:column;align-items:flex-start}.project-top{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;margin-bottom:28px}.project-top .eyebrow{font-size:.65rem;margin:0;letter-spacing:.09em}.status{font-size:.75rem;white-space:nowrap;color:var(--muted);border:1px solid var(--line);padding:3px 8px;border-radius:3px}.status-progress{color:#e6d493;border-color:#615738}.project h3{font-weight:500;font-size:2rem;letter-spacing:-.035em;margin-bottom:19px}.project-summary{font-size:1rem;color:var(--muted);max-width:480px;margin-bottom:24px}.project-symbol{font-family:monospace;font-size:2.6rem;line-height:1.2;color:var(--accent);margin-bottom:20px}.project-featured{background:#243222;border-color:#4b6140}.project-featured .project-top{margin-bottom:30px}.pipeline{display:flex;align-items:center;justify-content:space-between;width:100%;gap:10px;padding:20px 0 25px}.pipeline>span{font-weight:600;font-size:.9rem}.pipeline small{display:block;font-size:.6rem;letter-spacing:.055em;color:var(--muted);font-weight:400;margin-top:5px}.pipeline b{color:var(--accent);font-weight:400}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:8px;padding-bottom:24px}.tags span{font-size:.75rem;border:1px solid #495448;padding:4px 9px;border-radius:3px;color:#c9d3c6}.project details{width:100%;border-top:1px solid #495448}.project summary{cursor:pointer;display:flex;justify-content:space-between;padding-top:19px;font-size:.875rem;list-style:none}.project summary::-webkit-details-marker{display:none}.project summary>span{font-size:1.2rem;color:var(--accent);line-height:1}.project details[open]>summary>span{transform:rotate(45deg)}.detail-content{padding-top:24px;color:var(--muted);font-size:.95rem}.detail-content h4{color:var(--text);margin:0 0 8px;font-size:.875rem}.detail-content p{margin-bottom:20px}.detail-content .text-link{color:var(--accent)}.fretwerk-word{font-family:Manrope,sans-serif;font-weight:800;font-size:2.2rem;letter-spacing:-.07em;margin:0 0 20px;color:#d9b4ff;line-height:1.4}.fretwerk-word span{font-size:.8rem;vertical-align:super;margin-left:4px;display:none}.impact-number{font-size:3.8rem;font-family:Manrope,sans-serif;color:var(--accent);line-height:1;letter-spacing:-.05em;margin-bottom:23px}.impact-number span{font-size:.8rem;color:var(--muted);letter-spacing:0;margin-left:15px}.experience-section{background:#141e17;border-block:1px solid var(--line);padding-block:85px}.experience-layout{display:grid;grid-template-columns:1fr 1.65fr;gap:110px}.experience-intro>p:not(.eyebrow){color:var(--muted);margin-top:24px}.education{border-top:1px solid var(--line);margin-top:48px;padding-top:25px}.education .eyebrow{font-size:.7rem}.education h3{font-size:1rem;font-weight:500;line-height:1.5}.education p{color:var(--muted);font-size:.875rem}.role{border-left:1px solid #46533e;padding:0 0 40px 30px;position:relative}.role::before{content:'';position:absolute;width:7px;height:7px;background:var(--accent);left:-4px;top:8px}.role:last-child{padding-bottom:0}.role-date{font-size:.75rem;letter-spacing:.09em;color:var(--accent);margin-bottom:12px}.role h3{font-size:1.4rem;font-weight:500;letter-spacing:-.025em;margin-bottom:10px}.company{font-size:.95rem}.company span{font-size:.8rem;color:var(--muted);margin-left:12px}.role>p:last-of-type,.role li{font-size:.95rem;color:var(--muted)}.role ul{padding-left:18px;margin-bottom:0}.role li{padding-left:4px;margin:7px 0}.toolkit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:40px}.toolkit-grid h3{font-size:1rem;font-weight:600;line-height:1.5}.toolkit-grid p{color:var(--muted);font-size:.95rem;line-height:1.9;margin:0}.contact-section{background:var(--accent);color:var(--bg);padding-block:65px}.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.contact-inner h2{font-size:clamp(2.4rem,4vw,3.5rem)}.contact-inner em{color:#4a632d}.contact-links a{display:flex;justify-content:space-between;border-bottom:1px solid #90b953;padding-block:18px;gap:20px;overflow-wrap:anywhere}.contact-links a:hover{color:#45622b}.footer{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:30px}.footer p,.footer>a:last-child{font-size:.8rem;color:var(--muted);margin:0}.footer .brand{font-size:.85rem}.skip{position:fixed;top:-100px;left:20px;background:var(--accent);color:var(--bg);padding:12px;z-index:10}.skip:focus{top:15px}
@media(min-width:1500px){.hero{padding-block:110px 90px}}@media(max-width:1050px){.wrap{width:calc(100% - 56px)}.hero{gap:32px;grid-template-columns:1.25fr 1fr}.hero h1{font-size:3.3rem}.profile-panel{padding:20px}.focus-mark{display:none}.experience-layout{gap:50px}.credential-row{flex-wrap:wrap}.project{padding:26px}.project-top{align-items:flex-start;flex-wrap:wrap;gap:8px}.pipeline{gap:7px}.contact-inner{gap:35px}}@media(max-width:760px){.wrap{width:calc(100% - 40px)}.header{min-height:85px;flex-wrap:wrap;padding-block:18px;gap:15px}.brand{font-size:.9rem}.brand-icon{width:30px;height:30px;margin-right:8px}nav{gap:18px;font-size:.875rem}.hero{grid-template-columns:1fr;padding-block:52px;gap:40px}.hero h1{font-size:clamp(2.7rem,9vw,4rem)}.hero .eyebrow{font-size:.65rem;letter-spacing:.07em}.hero .eyebrow span{margin-inline:5px}.intro{font-size:1rem}.profile-panel{padding:20px 24px}.focus-item{padding:22px 0}.focus-mark{display:block}.location{font-size:.75rem}.credential-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.credential-row>span:not(:first-child){font-size:.8rem}.section{padding-block:55px}.section-heading{display:block}.section-heading>p{margin-top:20px}.projects-grid{grid-template-columns:1fr}.project{padding:26px 24px}.project h3{font-size:1.8rem}.project-top{flex-wrap:nowrap}.project-top .eyebrow{font-size:.6rem}.experience-section{padding-block:55px}.experience-layout{grid-template-columns:1fr;gap:35px}.experience-intro h2 br{display:none}.education{margin-top:28px}.timeline{margin-left:4px}.company span{display:block;margin:4px 0 0}.toolkit-grid{grid-template-columns:1fr;gap:28px;margin-top:30px}.contact-inner{grid-template-columns:1fr;gap:25px}.contact-section{padding-block:45px}.contact-links a{font-size:.95rem}.footer{flex-wrap:wrap;gap:16px}.footer .brand{width:100%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.extension-project{grid-column:1/-1;background:#1a2524;border-color:#4a6460}.extension-layout{display:grid;grid-template-columns:1fr 1fr;gap:36px;width:100%;align-items:center}.extension-project h3{font-size:2.2rem}.extension-preview{margin:0;min-width:0}.extension-preview img{display:block;width:100%;height:auto;border:1px solid #52645e;border-radius:4px}.extension-preview figcaption{font-size:.8rem;color:var(--muted);margin-top:10px}.download-note{font-size:.875rem;color:var(--muted);margin:13px 0 24px}.extension-project .tags{padding-top:0}.extension-project .install-details{margin-top:8px}.install-details li{margin:12px 0}.install-details code{overflow-wrap:anywhere;color:var(--text)}.install-details .detail-content{max-width:900px}.install-details ol{padding-left:24px}.extension-project .project-top .eyebrow{font-size:.75rem}@media(max-width:760px){.extension-layout{grid-template-columns:1fr;gap:16px}.extension-project h3{font-size:1.8rem}.extension-preview{margin-bottom:20px}}

.extension-project>.project-disclosure{border-top:0;margin:0;width:100%}.extension-project .project-disclosure-heading{padding:0;align-items:center;gap:24px}.project-disclosure-heading .eyebrow{color:var(--muted);font-size:.75rem;margin:0 0 12px}.project-disclosure-heading h3{margin:0;font-size:clamp(1.4rem,3vw,2rem)}.project-disclosure-heading .disclosure-hint{color:var(--muted);font-size:.9rem;margin:12px 0 0}.project-disclosure-heading>.disclosure-toggle{font-size:1.7rem;flex-shrink:0;line-height:1}.project-disclosure-heading:hover h3{color:var(--accent)}.project-disclosure-body{padding-top:30px;margin-top:24px;border-top:1px solid var(--line)}
