@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:light;--ink:#142039;--muted:#647086;--blue:#3159df;--paper:#f7f9fc;--surface:#fff;--body-text:#526077;--border:#dce2ec;--soft-border:#e3e8f0;--hover:#f0f4ff;--hover-border:#8ca8e7;--chip:#f0f4fa;--chip-text:#3b506e;--track:#e0e7f2;--summary-bg:#edf2ff;--summary-ink:#2447c2;font-family:'DM Sans',Arial,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #6688ff;outline-offset:6px}button{font:inherit}header,footer{display:flex;align-items:center;justify-content:space-between}header{padding:30px 0;max-width:1240px;margin:auto;border-bottom:1px solid var(--border)}.wordmark{font-family:'Manrope',sans-serif;font-size:29px;font-weight:800;letter-spacing:-2px;line-height:1}.wordmark span{font-size:12px;vertical-align:top;letter-spacing:0;margin-left:4px}.contact{font-size:15px}.contact span{margin-left:16px}.hero{max-width:1240px;margin:auto;display:grid;grid-template-columns:1.6fr 1fr;gap:80px;align-items:center;padding:110px 0 100px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:600;margin:0 0 27px}.hero h1{font-family:'Manrope',sans-serif;font-size:clamp(42px,4.8vw,70px);font-weight:500;letter-spacing:-3.4px;line-height:1.13;margin:0 0 30px}.hero h1>span{color:#73829a}.lead{max-width:560px;font-size:18px;line-height:1.8;color:var(--body-text);margin:0}.hero-links{display:flex;gap:32px;align-items:center;margin-top:34px;font-size:15px}.primary-link{padding:14px 20px;background:var(--ink);color:white;border-radius:5px}.primary-link span{margin-left:16px}.journey-card{background:#13213a;color:#e9efff;min-height:330px;border-radius:8px;padding:29px 28px;position:relative;overflow:hidden}.journey-card:after{content:'';position:absolute;border:1px solid #ffffff0a;border-radius:50%;width:340px;height:340px;right:-190px;top:40px;pointer-events:none}.card-top{display:flex;justify-content:space-between;font-size:11px;letter-spacing:1.3px;color:#bac8de}.journey-cities{display:flex;align-items:center;gap:15px;margin-top:44px;font-size:16px}.journey-line{flex:1;border-top:1px dashed #657d9f;position:relative}.journey-line:after,.journey-line:before{content:'';position:absolute;top:-3px;width:5px;height:5px;border-radius:50%;background:#a8c3ff}.journey-line:after{right:0}.journey-card p{font-family:'Manrope',sans-serif;font-size:29px;font-weight:400;letter-spacing:-1px;line-height:1.35;margin:33px 0}.card-foot{font-size:11px;letter-spacing:1px;color:#bac8de}.work{max-width:1240px;margin:auto;padding-bottom:75px}.section-heading{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);padding-top:25px;margin-bottom:26px}.section-heading p{margin:0}.section-heading>span{font-size:14px;color:var(--muted)}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.work article{padding:30px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.project-meta{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);letter-spacing:.7px}.work h2{font-family:'Manrope',sans-serif;font-size:28px;font-weight:500;letter-spacing:-1px;line-height:1.2;margin:28px 0 18px}.work article p{font-size:16px;line-height:1.7;color:var(--body-text);max-width:470px}.metric{font-size:27px;color:var(--blue);margin-top:30px}.metric span{display:block;font-size:13px;color:var(--muted);margin-top:6px}footer{border-top:1px solid var(--border);max-width:1240px;margin:auto;padding:25px 0;font-size:13px;color:var(--muted)}footer button{border:0;padding:8px 0;background:none;color:inherit;cursor:pointer}footer button span{margin-left:10px}html{scroll-behavior:smooth}@media(min-width:1440px){header,.hero,.work,footer{max-width:1240px}}@media(max-width:1360px){header,.hero,.work,footer{margin-left:6%;margin-right:6%}.hero{gap:45px}}@media(max-width:850px){.hero{grid-template-columns:1fr;padding:70px 0;gap:40px}.hero h1{font-size:54px}.journey-card{min-height:270px}.journey-card p{margin:24px 0}.journey-cities{margin-top:30px}.work-grid{grid-template-columns:1fr}}@media(max-width:480px){header{padding:24px 0}.hero{padding:55px 0}.hero h1{font-size:42px;letter-spacing:-2px}.eyebrow{font-size:11px;letter-spacing:1.3px}.lead{font-size:17px}.hero-links{gap:22px;font-size:14px}.section-heading{display:block}.section-heading>span{display:block;margin-top:12px}.work article{padding:24px}.work h2{font-size:26px}footer{align-items:flex-start;gap:18px;flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

@media(max-width:480px){}



/* Experience details and education */
header nav{display:flex;align-items:center;gap:28px;font-size:15px}
header nav a:hover{color:var(--blue)}
.work-grid{align-items:start}
.section-heading h2.eyebrow{font-family:inherit;font-size:12px;letter-spacing:2px;line-height:1.4;font-weight:600;margin:0;color:var(--ink)}
.experience-details{margin-top:28px;border-top:1px solid var(--border)}
.experience-details summary{display:flex;justify-content:space-between;align-items:center;gap:12px;cursor:pointer;padding:20px 0 0;list-style:none;font-size:15px;font-weight:600;line-height:1.5;color:var(--blue)}
.experience-details summary::-webkit-details-marker{display:none}
.experience-details summary>span{font-size:24px;font-weight:400;line-height:1}
.experience-details[open] summary>.more-info-icon{transform:rotate(45deg)}
.experience-details summary:focus-visible{outline:3px solid #6688ff;outline-offset:5px;border-radius:2px}
.experience-content{padding-top:8px}
.work article .role{color:var(--ink);font-weight:500;margin:20px 0 26px}
.role span{font-size:14px;font-weight:400;color:var(--muted)}
.experience-content h3{font-family:'Manrope',sans-serif;font-size:19px;line-height:1.4;letter-spacing:-.3px;font-weight:600;margin:28px 0 14px}
.experience-content ul{padding-left:20px;margin:0}
.experience-content li{font-size:16px;line-height:1.75;color:var(--body-text);padding-left:3px;margin-bottom:15px}
.work article .experience-stack{border-top:1px solid var(--soft-border);padding-top:20px;margin:25px 0 0;font-size:14px;line-height:1.8;color:var(--blue)}
.education{max-width:1240px;margin:0 auto;padding-bottom:75px;scroll-margin-top:25px}
.education-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.education article{padding:30px;border-left:2px solid var(--border)}
.education h3{font-family:'Manrope',sans-serif;font-size:25px;font-weight:500;letter-spacing:-.7px;line-height:1.35;margin:25px 0 18px}
.education p{font-size:16px;line-height:1.6;color:var(--muted);margin:5px 0}
.education .university{color:var(--ink);font-weight:500}
.study-status{color:var(--blue)}
.education .grade{margin-top:24px;color:var(--ink)}
.grade span{color:var(--muted);font-size:14px;margin-left:10px}
#work{scroll-margin-top:25px}
@media(max-width:1360px){.education{margin-left:6%;margin-right:6%}}
@media(max-width:850px){.education-grid{grid-template-columns:1fr}.education article{padding:20px 24px}}
@media(max-width:480px){header nav{gap:16px;font-size:13px}.contact span{display:none}.education h3{font-size:23px}.experience-details summary{font-size:14px}.section-heading h2.eyebrow{font-size:11px}.work{padding-bottom:55px}}

.study-timeline{margin-top:24px;max-width:430px}
.timeline-heading,.timeline-dates{display:flex;justify-content:space-between;gap:16px;font-size:13px;line-height:1.5}
.timeline-heading{color:var(--ink);margin-bottom:10px}
.timeline-heading>span:last-child{color:var(--blue);font-variant-numeric:tabular-nums}
.study-timeline progress{display:block;width:100%;height:6px;border:0;border-radius:99px;overflow:hidden;background:var(--track);color:var(--blue);accent-color:var(--blue);appearance:none;-webkit-appearance:none}
.study-timeline progress::-webkit-progress-bar{background:var(--track);border-radius:99px}
.study-timeline progress::-webkit-progress-value{background:var(--blue);border-radius:99px}
.study-timeline progress::-moz-progress-bar{background:var(--blue);border-radius:99px}
.timeline-dates{color:var(--muted);margin-top:9px;font-size:12px}

/* Toolkit, balanced experience cards, and subtle progress motion */
.hero{padding-bottom:65px}
.skills{max-width:1240px;margin:0 auto;padding-bottom:60px;position:relative;z-index:2}
.skills-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.skill-card{position:relative;min-width:0}
.skill-trigger{width:100%;text-align:left;padding:20px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--ink);cursor:pointer;transition:border-color .2s,background .2s}
.skill-trigger:hover,.skill-trigger[aria-expanded="true"]{border-color:var(--hover-border);background:var(--hover)}
.skill-name{display:flex;align-items:center;justify-content:space-between;font-size:16px;font-weight:600;gap:12px}
.skill-name>span{font-size:20px;font-weight:400;color:var(--blue);transition:transform .2s}
.skill-trigger[aria-expanded="true"] .skill-name>span{transform:rotate(45deg)}
.skill-teaser{display:block;font-size:14px;line-height:1.5;color:var(--muted);margin-top:9px}
.skill-panel{position:absolute;top:calc(100% + 7px);left:0;width:100%;min-width:260px;z-index:10;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:18px;box-shadow:0 14px 35px #12254b18;animation:panel-in .18s ease-out}
.skill-panel:before{content:'';position:absolute;left:0;right:0;top:-10px;height:10px}
.skill-panel[hidden]{display:none}
.skill-panel ul{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.skill-panel li{padding:5px 9px;background:var(--chip);color:var(--chip-text);border-radius:4px;font-size:14px;line-height:1.45}
.learning-note{font-size:14px;color:var(--muted);margin:20px 0 0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.learning-note span{color:var(--ink);border-bottom:1px solid var(--border);padding:2px 0}
@keyframes panel-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
.work-grid{align-items:stretch}
.work-grid.is-aligned{align-items:start}
.experience-overview{display:flex;flex-direction:column;min-width:0}
.experience-overview>h2{min-height:2.4em}
.experience-overview>.metric{margin-top:auto;padding-top:30px}
.experience-details summary>span{transition:transform .3s ease}
.experience-content{overflow:hidden}
.timeline-track{position:relative;border-radius:99px;overflow:hidden}
.timeline-pulse{position:absolute;inset:0 5% 0 0;border-radius:99px;overflow:hidden;pointer-events:none;animation:timeline-glow 2.8s ease-in-out infinite}
.timeline-pulse:after{content:'';position:absolute;inset:0;width:45%;background:linear-gradient(90deg,transparent,#d0e2ffbb,transparent);animation:timeline-sweep 2.8s ease-in-out infinite}
@keyframes timeline-sweep{0%{transform:translateX(-110%)}70%,100%{transform:translateX(330%)}}
@keyframes timeline-glow{0%,100%{opacity:.4}50%{opacity:1}}
.timeline-heading>span:last-child{color:var(--ink)}
.brand-meta{align-items:center;min-height:50px;gap:20px}
.brand-lockup{display:flex;align-items:center;gap:16px;min-width:0}
.brand-logo{display:block;width:118px;height:45px;object-fit:contain;object-position:left center}
.brand-lockup .brand-label{font-size:11px;letter-spacing:1px}
.education-brand{height:62px;display:flex;align-items:center;margin-top:24px}
.education-logo{height:56px;width:190px;object-fit:contain;object-position:left center}
@media(max-width:1360px){.skills{margin-left:6%;margin-right:6%}}
@media(max-width:850px){.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-card:nth-child(even) .skill-panel{left:auto;right:0}.experience-overview>h2{min-height:0}.hero{padding-bottom:50px}}
@media(max-width:540px){.skill-trigger{padding:16px 13px}.skill-name{font-size:14px}.skill-teaser{font-size:13px}.skill-panel{position:static;min-width:0;width:100%;margin-top:8px;box-shadow:none;padding:12px}.skill-panel li{font-size:13px;padding:4px 6px}.brand-lockup{gap:10px}.brand-logo{width:95px}.brand-lockup .brand-label{display:none}.skills{padding-bottom:45px}.education-logo{max-width:100%}}
@media(prefers-reduced-motion:reduce){.timeline-pulse{display:none}}

.accenture-logo-frame{display:flex;align-items:center;justify-content:center;background:#101c32;padding:3px 9px;border-radius:4px}
.accenture-logo-frame .brand-logo{height:37px;width:118px}
.freiburg-brand{width:220px;overflow:hidden;background:#f4f0e4}
.freiburg-brand .education-logo{width:220px;height:auto;max-width:none;flex-shrink:0}
.education-logo.nmamit-logo{width:280px;max-width:100%;height:56px}
@media(max-width:540px){.accenture-logo-frame .brand-logo{width:95px}.brand-meta{gap:12px}}

/* Independent experience cards and clear click targets */
.work-grid,.work-grid.is-aligned{display:flex;align-items:flex-start;gap:24px}
.work-grid>.experience-card{flex:1 1 0;min-width:0;align-self:flex-start;cursor:pointer;transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}
.experience-card .experience-content{cursor:auto}
.experience-details summary{padding:14px 16px;margin:14px -12px -6px;border-radius:5px;transition:background .24s ease,color .24s ease}
.experience-details summary>.more-info-label{font-size:15px;font-weight:600;line-height:1.5;transform:none}
.experience-details summary>.more-info-icon{font-size:24px;line-height:1}
.experience-card:focus-within{border-color:var(--hover-border)}
.experience-card:focus-within .experience-details summary{background:var(--summary-bg);color:var(--summary-ink)}
@media(hover:hover){.experience-card:hover{transform:translateY(-4px);border-color:var(--hover-border);box-shadow:0 12px 28px #1420390d}.experience-card:hover .experience-details summary{background:var(--summary-bg);color:var(--summary-ink)}}
.skill-trigger>span,.skill-trigger .skill-name>span{pointer-events:none}
.skill-trigger{min-height:105px}
.hero h1.hero-name{font-size:clamp(54px,6vw,82px);font-weight:600;letter-spacing:-3.5px;line-height:1.04;margin-bottom:24px}
.hero h1.hero-name>span{color:var(--blue)}
.hero-statement{font-family:'Manrope',sans-serif;font-size:22px;font-weight:500;line-height:1.45;letter-spacing:-.5px;margin:0 0 20px;color:var(--ink)}

@media(max-width:850px){.work-grid,.work-grid.is-aligned{flex-direction:column}.work-grid>.experience-card{width:100%;flex:none}.hero h1.hero-name{font-size:64px}}
@media(max-width:480px){.hero h1.hero-name{font-size:54px;letter-spacing:-2.4px}.hero-statement{font-size:19px}.skill-trigger{min-height:112px}}


/* Theme palette and an accessible, persistent appearance switch. */
:root[data-theme="dark"]{color-scheme:dark;--ink:#edf2fb;--muted:#a2b0c6;--blue:#92b3ff;--paper:#0d1422;--surface:#141f31;--body-text:#becae0;--border:#2c3b52;--soft-border:#2c3b52;--hover:#1e2d46;--hover-border:#7796c8;--chip:#24334c;--chip-text:#cbd9ee;--track:#2c3b52;--summary-bg:#223552;--summary-ink:#b6ceff}
body{background:var(--paper);color:var(--ink)}
header{gap:24px}
header nav{margin-left:auto}
.theme-toggle{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:1px solid var(--border);border-radius:50%;background:var(--surface);color:var(--ink);cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.theme-toggle:hover{background:var(--hover);border-color:var(--hover-border);transform:translateY(-2px)}
.theme-toggle svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.theme-toggle .theme-sun{display:none}
[data-theme="dark"] .theme-toggle .theme-sun{display:block}
[data-theme="dark"] .theme-toggle .theme-moon{display:none}
[data-theme="dark"] .primary-link{background:var(--blue);color:#0d1422}
[data-theme="dark"] .journey-card{box-shadow:inset 0 0 0 1px var(--border)}
[data-theme="dark"] .brand-lockup>.brand-logo,[data-theme="dark"] .nmamit-logo{background:#f7f9fc;border-radius:4px;padding:7px}
.hero-links{flex-wrap:wrap;row-gap:18px}
@media(max-width:540px){header{gap:12px;flex-wrap:wrap}header nav{order:3;flex-basis:100%;justify-content:space-between;margin:0}header .theme-toggle{margin-left:auto}}


/* A decorative outline name moves into the existing heading, without layout shifts. */
.name-reveal-overlay{position:fixed;inset:0;width:100%;height:100%;z-index:20;pointer-events:none;overflow:visible}
.name-reveal-overlay text{font-family:'Manrope',sans-serif;font-weight:600;fill:var(--ink);stroke:var(--ink);stroke-width:1;stroke-linejoin:round;paint-order:stroke fill}
.name-reveal-overlay .name-surname{fill:var(--blue);stroke:var(--blue)}
@media(prefers-reduced-motion:no-preference){
  .name-reveal-active .hero-name{opacity:0}
  .name-reveal-active #portfolio>header,.name-reveal-active .hero-copy>:not(.hero-name),.name-reveal-active .hero>.journey-card,.name-reveal-active #portfolio>section:not(.hero),.name-reveal-active #portfolio>footer{opacity:0}
  .name-reveal-settling #portfolio>header,.name-reveal-settling .hero-copy>:not(.hero-name),.name-reveal-settling .hero>.journey-card,.name-reveal-settling #portfolio>section:not(.hero),.name-reveal-settling #portfolio>footer{transition:opacity .25s ease;opacity:1}
}
