:root{
  --bg:#f6f3ee;
  --paper:#fbf9f5;
  --ink:#111316;
  --muted:#6d6a65;
  --line:#d8d2c9;
  --accent:#df5b3f;
  --dark:#101214;
  --max:1440px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.45}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;max-width:var(--max);margin:0 auto;padding:20px 48px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid rgba(17,19,22,.08)}
.brand{font-family:Georgia,ui-serif,serif;font-size:30px;font-weight:700;letter-spacing:-.04em}.brand span{color:var(--accent)}
.nav{display:flex;gap:28px;font-size:12px;text-transform:uppercase;letter-spacing:.11em}.nav a{position:relative}.nav a:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:2px;background:var(--accent);transition:.25s}.nav a:hover:after{width:100%}
.menu-toggle{display:none;background:none;border:0;font:inherit;text-transform:uppercase;letter-spacing:.1em;font-size:12px}
main{max-width:var(--max);margin:0 auto;background:var(--paper);box-shadow:0 0 0 1px rgba(17,19,22,.03)}
.hero{min-height:760px;display:grid;grid-template-columns:44% 56%;border-bottom:1px solid var(--line)}
.hero-copy{padding:72px 56px 56px 68px;display:flex;flex-direction:column;justify-content:center}
.eyebrow,.section-heading>span,.journey-intro>span,.education-intro>span,.projects-intro>span,.capabilities span,.contact span{color:var(--accent);text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:750}
.hero h1{font-family:Georgia,ui-serif,serif;font-size:clamp(68px,7vw,118px);line-height:.82;letter-spacing:-.055em;margin:18px 0 30px;font-weight:500}
.hero-tagline{font-family:Georgia,ui-serif,serif;font-size:clamp(26px,2.7vw,41px);line-height:1.07;max-width:620px;margin:0 0 26px}
.availability{display:flex;align-items:center;gap:10px;margin-top:6px}.status-dot{width:10px;height:10px;border-radius:50%;background:#2b9638;box-shadow:0 0 0 5px rgba(43,150,56,.08)}
.availability-copy{margin:5px 0 22px;color:#444;font-size:14px}.text-link{width:max-content;border-bottom:1px solid var(--ink);padding-bottom:5px;text-transform:uppercase;font-size:12px;font-weight:750;letter-spacing:.04em}.text-link span{color:var(--accent);font-size:18px;margin-left:10px}
.hero-image-wrap{position:relative;min-height:620px;overflow:hidden;background:#d7d2ca}.hero-image{width:100%;height:100%;object-fit:cover;object-position:50% 18%;filter:saturate(.88) contrast(1.02)}
.image-caption{position:absolute;right:20px;bottom:20px;background:rgba(246,243,238,.9);padding:8px 10px;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.statement{display:grid;grid-template-columns:48px 1.2fr 1fr;gap:34px;padding:52px 68px;border-bottom:1px solid var(--line);align-items:center}.quote-mark{font-family:Georgia,serif;font-size:72px;color:var(--accent);line-height:.8}.statement blockquote{font-family:Georgia,ui-serif,serif;font-size:clamp(32px,3.5vw,54px);line-height:1.02;margin:0}.statement p{font-size:18px;max-width:520px;margin:0;border-left:1px solid var(--accent);padding-left:34px}
.featured{display:grid;grid-template-columns:34% 66%;border-bottom:1px solid var(--line)}.section-heading{padding:48px 48px 48px 68px;border-right:1px solid var(--line)}.section-heading h2,.journey h2,.contact h2{font-family:Georgia,ui-serif,serif;font-weight:500;letter-spacing:-.03em;font-size:clamp(36px,4vw,58px);line-height:.98;margin:16px 0 12px}.accent-text{color:var(--accent);font-size:20px;margin-bottom:0}.lead{max-width:420px;margin-top:22px;color:#444}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr)}.feature-grid article{padding:48px 24px;border-right:1px solid var(--line)}.feature-grid article:last-child{border-right:0}.icon{font-size:42px;color:var(--accent);display:block;margin-bottom:48px}.feature-grid h3,.capability-grid h3,.tools-grid h3{text-transform:uppercase;letter-spacing:.05em;font-size:13px}.feature-grid p,.capability-grid p,.tools-grid p{font-size:14px;color:#444}
.journey{display:grid;grid-template-columns:30% 70%;padding:50px 68px;border-bottom:1px solid var(--line);gap:48px}.journey-intro p{color:#444;max-width:360px}.timeline{display:grid;grid-template-columns:repeat(5,1fr);align-items:start;position:relative;padding-top:36px;gap:20px}.timeline:before{content:"";position:absolute;left:4%;right:2%;top:16px;height:1px;background:var(--line)}.timeline-item{position:relative}.timeline-item:before{content:"";position:absolute;top:-25px;left:0;width:10px;height:10px;background:var(--paper);border:2px solid var(--accent);border-radius:50%}.timeline-item.current:before{background:var(--accent);box-shadow:0 0 0 8px rgba(223,91,63,.12)}.year{display:block;font-family:Georgia,serif;font-size:24px;margin-bottom:6px}.timeline-item strong{display:block;font-size:13px}.timeline-item p{font-size:12px;color:#555}


/* --- Education section --- */
.education{
  display:grid;
  grid-template-columns:30% 70%;
  border-bottom:1px solid var(--line);
}
.education-intro{
  padding:52px 48px 52px 68px;
  border-right:1px solid var(--line);
  background:linear-gradient(180deg,rgba(223,91,63,.035),transparent 52%);
}
.education-intro h2{
  font-family:Georgia,ui-serif,serif;
  font-weight:500;
  letter-spacing:-.035em;
  font-size:clamp(38px,4vw,60px);
  line-height:.98;
  margin:16px 0 20px;
}
.education-intro p{
  color:#4d4a46;
  max-width:350px;
  font-size:15px;
  line-height:1.65;
}
.education-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
}
.education-card{
  position:relative;
  padding:42px 38px 44px;
  min-height:330px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.15);
}
.education-card:nth-child(3){
  border-right:0;
}
.education-card.current-study{
  grid-column:1 / -1;
  min-height:360px;
  border-right:0;
  background:
    linear-gradient(120deg,rgba(223,91,63,.075),rgba(255,255,255,.08) 42%,transparent 72%);
}
.education-card.current-study:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:3px;
  background:var(--accent);
}
.education-year{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:10px;
  font-weight:800;
  margin-bottom:28px;
}
.education-year:before{
  content:"";
  width:24px;
  height:1px;
  background:var(--accent);
}
.education-card h3{
  font-family:Georgia,ui-serif,serif;
  font-weight:500;
  letter-spacing:-.035em;
  font-size:clamp(32px,3.3vw,50px);
  line-height:1;
  margin:0 0 10px;
}
.education-school{
  margin:0 0 24px;
  text-transform:uppercase;
  letter-spacing:.07em;
  font-size:11px;
  font-weight:760;
  color:#55514c;
}
.education-card > p:not(.education-school):not(.education-modules):not(.education-thesis){
  max-width:600px;
  color:#4c4945;
  font-size:14px;
  line-height:1.65;
}
.education-modules{
  margin:26px 0 22px;
  max-width:720px;
  padding:17px 18px 17px 20px;
  border-left:3px solid var(--accent);
  background:rgba(223,91,63,.055);
  color:#3f3c38;
  font-size:13px;
  line-height:1.75;
}
.education-modules strong{
  display:block;
  margin-bottom:4px;
  color:var(--ink);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:10px;
}
.education-thesis{
  margin:26px 0 0;
  padding:18px 20px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.35);
  color:#44413d;
  font-size:13px;
  line-height:1.6;
}
.education-thesis strong{
  display:block;
  margin-bottom:6px;
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:10px;
}
@media (max-width:1100px){
  .education{grid-template-columns:1fr}
  .education-intro{
    border-right:0;
    border-bottom:1px solid var(--line);
    padding-left:36px;
  }
}
@media (max-width:760px){
  .education{display:block}
  .education-intro{padding:38px 22px}
  .education-grid{grid-template-columns:1fr}
  .education-card,
  .education-card.current-study{
    grid-column:auto;
    min-height:0;
    padding:34px 22px;
    border-right:0;
  }
  .education-card h3{font-size:36px}
}

.projects{display:grid;grid-template-columns:30% 70%;border-bottom:1px solid var(--line)}
.projects-intro{padding:50px 48px 50px 68px;border-right:1px solid var(--line)}
.projects-intro h2{font-family:Georgia,ui-serif,serif;font-weight:500;letter-spacing:-.03em;font-size:clamp(36px,4vw,58px);line-height:.98;margin:16px 0}
.projects-intro p{color:#444;max-width:360px}
.projects-grid{display:grid;grid-template-columns:repeat(2,1fr)}
.project-card{padding:42px 34px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:360px;position:relative}
.project-card:nth-child(2n){border-right:0}
.project-card:last-child{border-bottom:0}
.project-card.featured-project{grid-column:1 / -1;min-height:430px;background:linear-gradient(135deg,rgba(223,91,63,.055),transparent 48%)}
.project-meta{display:flex;justify-content:space-between;gap:20px;text-transform:uppercase;letter-spacing:.11em;font-size:9px;font-weight:800;color:var(--accent)}
.project-card h3{font-family:Georgia,ui-serif,serif;font-size:clamp(38px,4vw,62px);font-weight:500;letter-spacing:-.04em;margin:38px 0 4px;line-height:.95}
.project-role{text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:750;margin:0 0 24px}
.project-description{max-width:720px;font-size:17px;color:#3f3f3f}
.project-tags{display:flex;gap:8px;flex-wrap:wrap;margin:28px 0}
.project-tags span,.project-template span{border:1px solid var(--line);padding:8px 10px;font-size:10px;text-transform:uppercase;letter-spacing:.06em}
.project-points{margin:26px 0 0;padding-left:18px;display:grid;gap:10px;color:#444;max-width:760px;font-size:14px}
.university-slot{background:rgba(255,255,255,.28)}
.university-slot h3{font-size:34px;margin-top:34px}
.university-slot .project-description{font-size:14px}
.project-template{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:30px}
.project-template span{color:#777;border-style:dashed}

.capabilities{display:grid;grid-template-columns:46% 54%;border-bottom:1px solid var(--line)}.capabilities-block,.tools-block{padding:42px 48px 48px 68px}.capabilities-block{border-right:1px solid var(--line)}.capability-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:30px}.capability-grid article{padding-right:14px;border-right:1px solid var(--line)}.capability-grid article:last-child{border-right:0}.tools-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:30px}.tools-grid>div{border-right:1px solid var(--line);padding-right:18px}.tools-grid>div:last-child{border-right:0}
.contact{display:grid;grid-template-columns:30% 45% 25%;gap:34px;padding:48px 68px 54px;align-items:end}.contact-copy>p{font-size:17px;max-width:520px}.contact-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.button{border:1px solid #aaa;padding:13px 17px;text-transform:uppercase;font-weight:700;font-size:11px;letter-spacing:.04em}.button.primary{background:var(--accent);border-color:var(--accent);color:white}.location{font-size:14px;border-left:1px solid var(--line);padding-left:28px}
footer{max-width:var(--max);margin:0 auto;background:var(--dark);color:#bbb;text-align:center;padding:18px;font-size:11px}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}
@media (max-width:1100px){
  .hero{grid-template-columns:1fr 1fr}
  .hero-copy{padding:56px 36px}
  .hero h1{font-size:72px}
  .statement,.journey{padding-left:36px;padding-right:36px}
  .section-heading,.capabilities-block,.tools-block{padding-left:36px}
  .featured{grid-template-columns:1fr}
  .section-heading{border-right:0;border-bottom:1px solid var(--line)}
  .feature-grid{grid-template-columns:repeat(2,1fr)}
  .feature-grid article:nth-child(2){border-right:0}
  .capabilities{grid-template-columns:1fr}
  .capabilities-block{border-right:0;border-bottom:1px solid var(--line)}
}
@media (max-width:760px){
  .topbar{padding:16px 20px}
  .menu-toggle{display:block}
  .nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--paper);padding:20px;flex-direction:column;border-bottom:1px solid var(--line)}
  .nav.open{display:flex}
  .hero{grid-template-columns:1fr;min-height:0}
  .hero-copy{padding:48px 22px 38px}
  .hero h1{font-size:58px}
  .hero-image-wrap{min-height:430px}
  .statement{grid-template-columns:42px 1fr;padding:36px 22px}
  .statement p{grid-column:2;border-left:0;padding-left:0}
  .featured,.journey,.capabilities,.contact{display:block}
  .section-heading,.capabilities-block,.tools-block,.journey{padding:38px 22px}
  .feature-grid{grid-template-columns:1fr 1fr}
  .journey-intro{margin-bottom:48px}
  .timeline{grid-template-columns:1fr;padding-left:18px;gap:26px}
  .timeline:before{left:4px;top:0;bottom:0;height:auto;width:1px;right:auto}
  .timeline-item:before{top:7px;left:-18px}
  .capability-grid,.tools-grid{grid-template-columns:1fr 1fr}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
}

.academic-project{
  background:rgba(255,255,255,.28);
  min-height:300px;
}
.academic-project h3{font-size:38px;margin-top:34px}
.academic-project .project-description{font-size:14px;line-height:1.65;max-width:520px}


.lang-switch{
  display:flex;
  align-items:center;
  gap:6px;
  margin-left:4px;
  padding-left:18px;
  border-left:1px solid var(--line);
  font-size:11px;
  letter-spacing:.08em;
}
.lang-switch a{opacity:.45;font-weight:750}
.lang-switch a.active{opacity:1;color:var(--accent)}
.lang-switch span{opacity:.35}
.lang-switch a:after{display:none!important}
@media (max-width:760px){
  .lang-switch{
    margin:8px 0 0;
    padding:14px 0 0;
    border-left:0;
    border-top:1px solid var(--line);
  }
}


button.button{font:inherit;background:transparent;cursor:pointer;color:inherit}
.cv-request-trigger{background:transparent}
.cv-modal{position:fixed;inset:0;z-index:1000;display:none}
.cv-modal.open{display:block}
.cv-modal-backdrop{position:absolute;inset:0;background:rgba(18,18,18,.54);backdrop-filter:blur(5px)}
.cv-modal-dialog{
  position:absolute;right:50%;top:50%;transform:translate(50%,-50%);
  width:min(560px,calc(100% - 36px));max-height:calc(100vh - 36px);overflow:auto;
  background:var(--paper);border:1px solid var(--line);padding:38px;
  box-shadow:0 30px 90px rgba(0,0,0,.18)
}
.cv-modal-close{
  position:absolute;right:18px;top:14px;border:0;background:transparent;
  font-size:28px;line-height:1;cursor:pointer;color:#333
}
.cv-modal-kicker{
  color:var(--accent);text-transform:uppercase;letter-spacing:.14em;
  font-size:10px;font-weight:750
}
.cv-modal-dialog h2{
  font-family:Georgia,ui-serif,serif;font-weight:500;letter-spacing:-.03em;
  font-size:clamp(34px,4vw,52px);line-height:1;margin:12px 0 14px
}
.cv-modal-dialog>p{color:#4b4b4b;max-width:470px;margin-bottom:28px}
.cv-request-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cv-request-form label{
  display:grid;gap:7px;text-transform:uppercase;letter-spacing:.07em;
  font-size:10px;font-weight:750;color:#555
}
.cv-request-form label:nth-child(4){grid-column:1/-1}
.cv-request-form input,.cv-request-form textarea{
  width:100%;border:1px solid #bbb;background:rgba(255,255,255,.5);
  padding:12px 13px;font:inherit;font-size:14px;color:#222;outline:none;
  text-transform:none;letter-spacing:normal;font-weight:400
}
.cv-request-form input:focus,.cv-request-form textarea:focus{border-color:var(--accent)}
.cv-request-form textarea{resize:vertical;min-height:100px}
.cv-request-form small{text-transform:none;letter-spacing:0;font-weight:400;color:#888}
.cv-request-form .button{grid-column:1/-1;justify-self:start;margin-top:4px}
body.modal-open{overflow:hidden}
@media (max-width:620px){
  .cv-modal-dialog{padding:32px 22px}
  .cv-request-form{grid-template-columns:1fr}
  .cv-request-form label:nth-child(4),.cv-request-form .button{grid-column:auto}
}


/* V9: active job-search status */
.availability{
  display:flex;
  align-items:center;
  gap:9px;
  flex-wrap:wrap;
}
.availability strong{
  line-height:1.35;
}
@media (max-width:760px){
  .availability strong{font-size:12px}
}


/* V10 hero: Name → profile → target roles → availability */
.hero-copy{justify-content:center}
.hero h1{
  margin:0 0 28px;
}
.hero-focus{
  margin:0 0 16px;
  display:flex;
  align-items:center;
  gap:12px;
}
.hero-focus:before{
  content:"";
  width:34px;
  height:2px;
  background:var(--accent);
  flex:0 0 auto;
}
.hero-profile{
  font-family:Georgia,ui-serif,serif;
  font-size:clamp(23px,2.15vw,34px);
  line-height:1.15;
  letter-spacing:-.018em;
  max-width:650px;
  margin:0 0 18px;
}
.career-focus{
  margin:0 0 22px;
  font-size:14px;
  font-weight:650;
  color:#343434;
}
.career-focus span{
  color:var(--accent);
  margin:0 8px;
}
.hero .availability{
  margin:0 0 24px;
}
.hero .text-link{
  margin-top:2px;
}
@media (max-width:760px){
  .hero h1{margin-bottom:24px}
  .hero-profile{font-size:25px}
  .career-focus{line-height:1.8}
}


/* =========================================================
   V12 — refined hero, contact and CV request
   ========================================================= */

/* HERO */
.hero{
  min-height:690px;
  grid-template-columns:43% 57%;
  background:var(--paper);
}
.hero-copy{
  padding:68px 62px 64px 68px;
  justify-content:center;
}
.hero h1{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:clamp(66px,6.2vw,104px);
  line-height:.86;
  font-weight:800;
  letter-spacing:-.065em;
  margin:0 0 34px;
}
.hero-focus{
  order:0;
  margin:0 0 16px;
  font-size:10px;
  letter-spacing:.18em;
}
.hero-focus:before{width:26px;height:1px}
.hero-profile{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:17px;
  line-height:1.55;
  letter-spacing:-.01em;
  max-width:510px;
  margin:0 0 22px;
  color:#343434;
}
.career-focus{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 24px;
}
.career-focus span{display:none}
.career-focus{
  font-size:0;
}
.career-focus::before{
  content:"Consulting";
}
html[lang="de"] .career-focus::before{content:"Consulting"}
.career-focus::after{
  content:"";
}
.career-focus{
  --chip-size:11px;
}
.career-focus::before,
.career-focus{
  font-size:var(--chip-size);
}
.career-focus{
  color:transparent;
}
.career-focus::before{
  color:#252525;
  border:1px solid var(--line);
  padding:8px 10px;
  text-transform:uppercase;
  letter-spacing:.07em;
  font-weight:750;
}
.hero .availability{
  width:max-content;
  max-width:100%;
  margin:0 0 25px;
  padding:10px 12px;
  background:rgba(43,150,56,.055);
  border:1px solid rgba(43,150,56,.18);
}
.hero .availability strong{
  font-size:12px;
  font-weight:700;
}
.hero .status-dot{
  width:8px;height:8px;
  box-shadow:0 0 0 4px rgba(43,150,56,.08);
}
.hero .text-link{
  width:max-content;
  font-size:10px;
  letter-spacing:.1em;
}
.hero-image-wrap{
  min-height:690px;
  background:#aaa19f;
}
.hero-image{
  object-position:50% 16%;
  filter:saturate(.86) contrast(1.025);
}
.image-caption{
  right:18px;
  bottom:18px;
}

/* Add the three target-role chips without changing semantic HTML */
html[lang="de"] .career-focus{
  color:#252525;
  font-size:11px;
}
html[lang="en"] .career-focus{
  color:#252525;
  font-size:11px;
}
.career-focus{
  display:block;
  text-transform:none;
  letter-spacing:0;
  font-weight:600;
}
.career-focus::before{display:none}

/* CONTACT — dark, deliberate final section */
.contact{
  display:grid;
  grid-template-columns:1.05fr 1.55fr .8fr;
  gap:52px;
  padding:64px 68px 68px;
  align-items:start;
  background:var(--dark);
  color:#f4f0e9;
  border-top:0;
}
.contact span{
  color:var(--accent);
}
.contact h2{
  color:#fff;
  font-size:clamp(42px,4.3vw,64px);
  margin-top:15px;
}
.contact-copy{
  padding-top:32px;
}
.contact-copy>p{
  font-size:17px;
  line-height:1.65;
  max-width:610px;
  color:#d8d5cf;
  margin:0;
}
.contact-actions{
  margin-top:30px;
  gap:10px;
}
.contact .button{
  border-color:rgba(255,255,255,.35);
  color:#f7f4ef;
  padding:14px 18px;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.contact .button:hover{
  border-color:#fff;
  background:rgba(255,255,255,.07);
  transform:translateY(-1px);
}
.contact .button.primary{
  color:#fff;
  border-color:var(--accent);
  background:var(--accent);
}
.contact .button.primary:hover{
  background:#ef6849;
  border-color:#ef6849;
}
.contact-meta{
  align-self:end;
  padding:24px 0 2px 28px;
  border-left:1px solid rgba(255,255,255,.18);
}
.contact-meta>span{
  display:block;
  margin-bottom:10px;
  color:#8f8b85;
  font-size:9px;
  letter-spacing:.16em;
}
.contact-meta strong{
  display:block;
  font-size:16px;
  margin-bottom:7px;
  color:#fff;
}
.contact-meta p{
  margin:0;
  color:#aaa7a1;
  font-size:12px;
  line-height:1.55;
}
footer{
  border-top:1px solid rgba(255,255,255,.08);
}

/* CV REQUEST MODAL */
.cv-modal{
  position:fixed;
  inset:0;
  z-index:1000;
  display:none;
}
.cv-modal.open{
  display:grid;
  place-items:center;
}
.cv-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(13,15,17,.72);
  backdrop-filter:blur(8px);
}
.cv-modal-dialog{
  position:relative;
  z-index:2;
  width:min(860px,calc(100vw - 40px));
  max-height:calc(100vh - 48px);
  overflow:auto;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  background:var(--paper);
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 35px 110px rgba(0,0,0,.3);
  padding:0;
  transform:none;
  top:auto;
  right:auto;
}
.cv-modal-close{
  position:absolute;
  z-index:4;
  top:17px;
  right:19px;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:50%;
  background:var(--paper);
  font-size:21px;
  color:#222;
}
.cv-modal-close:hover{
  border-color:#999;
}
.cv-modal-intro{
  padding:52px 42px 44px;
  background:var(--dark);
  color:#f5f1ea;
}
.cv-modal-kicker{
  display:block;
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:10px;
  font-weight:800;
  margin-bottom:24px;
}
.cv-modal-dialog h2{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-size:clamp(34px,3.2vw,48px);
  font-weight:750;
  line-height:1.02;
  letter-spacing:-.045em;
  color:#fff;
  margin:0 0 18px;
}
.cv-modal-intro>p{
  color:#c8c4bd;
  line-height:1.65;
  font-size:14px;
  max-width:330px;
  margin:0;
}
.privacy-note{
  margin-top:52px;
  padding-top:20px;
  border-top:1px solid rgba(255,255,255,.15);
}
.privacy-note span{
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:9px;
  font-weight:800;
}
.privacy-note p{
  color:#918e88;
  font-size:11px;
  line-height:1.55;
  margin:7px 0 0;
}
.cv-modal-form-wrap{
  padding:54px 46px 46px;
}
.cv-request-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:19px 16px;
}
.cv-request-form label{
  display:grid;
  gap:8px;
  color:#4c4945;
  font-size:9px;
  font-weight:800;
  letter-spacing:.11em;
}
.cv-request-form label:nth-child(3),
.cv-request-form label:nth-child(4){
  grid-column:1/-1;
}
.cv-request-form input,
.cv-request-form textarea{
  border:0;
  border-bottom:1px solid #bcb6ad;
  background:transparent;
  padding:10px 1px 11px;
  border-radius:0;
  font-size:14px;
}
.cv-request-form input::placeholder,
.cv-request-form textarea::placeholder{
  color:#aaa49b;
}
.cv-request-form input:focus,
.cv-request-form textarea:focus{
  border-color:var(--accent);
  box-shadow:none;
}
.cv-request-form textarea{
  min-height:86px;
}
.cv-request-form .button{
  grid-column:1/-1;
  justify-self:start;
  margin-top:7px;
  padding:14px 20px;
}
body.modal-open{overflow:hidden}

/* Responsive refinements */
@media (max-width:1100px){
  .hero{
    min-height:620px;
    grid-template-columns:46% 54%;
  }
  .hero-copy{padding:54px 38px}
  .hero h1{font-size:72px}
  .hero-image-wrap{min-height:620px}
  .contact{
    grid-template-columns:1fr 1.4fr;
    padding:54px 38px;
  }
  .contact-meta{
    grid-column:2;
    padding-left:0;
    border-left:0;
    border-top:1px solid rgba(255,255,255,.15);
    padding-top:20px;
  }
}
@media (max-width:760px){
  .hero{grid-template-columns:1fr}
  .hero-copy{padding:44px 22px 40px}
  .hero h1{font-size:58px;margin-bottom:28px}
  .hero-profile{font-size:16px}
  .hero-image-wrap{min-height:430px}
  .contact{
    display:block;
    padding:44px 22px 48px;
  }
  .contact-copy{padding-top:18px}
  .contact-meta{
    margin-top:34px;
    padding-top:22px;
    border-top:1px solid rgba(255,255,255,.15);
  }
  .cv-modal-dialog{
    width:min(560px,calc(100vw - 24px));
    grid-template-columns:1fr;
  }
  .cv-modal-intro{padding:42px 24px 30px}
  .privacy-note{margin-top:28px}
  .cv-modal-form-wrap{padding:32px 24px 30px}
  .cv-request-form{grid-template-columns:1fr}
  .cv-request-form label,
  .cv-request-form label:nth-child(3),
  .cv-request-form label:nth-child(4),
  .cv-request-form .button{grid-column:1}
}


/* =========================================================
   V13 — editorial hero + icon contact cards
   ========================================================= */

.hero{
  grid-template-columns:44% 56%;
  min-height:720px;
}
.hero-copy{
  padding:68px 64px 62px 74px;
  justify-content:center;
}
.hero-focus{
  order:initial;
  margin:0 0 28px;
  color:var(--accent);
  font-size:16px;
  letter-spacing:.16em;
  font-weight:800;
  line-height:1.2;
}
.hero-focus:before{display:none}
.hero h1{
  font-family:Georgia,ui-serif,serif;
  font-size:clamp(78px,7vw,116px);
  line-height:.77;
  font-weight:500;
  letter-spacing:-.055em;
  margin:0 0 34px;
}
.hero-profile{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  max-width:520px;
  font-size:19px;
  line-height:1.45;
  font-weight:520;
  margin-bottom:22px;
}
.career-focus{
  font-size:13px;
  font-weight:700;
  margin-bottom:24px;
}
.career-focus span{
  display:inline;
  color:var(--accent);
  margin:0 10px;
}
.hero .availability{
  padding:12px 14px;
  border:1px solid rgba(43,150,56,.32);
  background:rgba(43,150,56,.055);
  margin-bottom:27px;
}
.hero .availability strong{
  color:#34763d;
  font-size:13px;
}
.hero .text-link{
  font-size:10px;
  letter-spacing:.1em;
  padding-bottom:8px;
  border-bottom:1px solid var(--accent);
}
.hero-image-wrap{min-height:720px}

/* CONTACT GRID */
.contact{
  display:grid;
  grid-template-columns:1.55fr 1fr 1fr 1fr;
  gap:0;
  padding:0;
  background:#101214;
  color:#f5f2ed;
}
.contact-heading{
  padding:60px 54px 56px 74px;
  border-right:1px solid rgba(255,255,255,.12);
}
.contact-heading>span{
  color:var(--accent);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:10px;
  font-weight:800;
}
.contact-heading h2{
  font-family:Georgia,ui-serif,serif;
  font-size:clamp(44px,4vw,64px);
  line-height:.98;
  font-weight:500;
  letter-spacing:-.035em;
  color:#fff;
  margin:18px 0 20px;
}
.contact-heading p{
  max-width:430px;
  color:#c9c5be;
  font-size:14px;
  line-height:1.65;
  margin:0;
}
.contact-card{
  padding:54px 30px 48px;
  border-right:1px solid rgba(255,255,255,.1);
  display:flex;
  flex-direction:column;
  min-height:330px;
}
.contact-card:last-child{border-right:0}
.contact-icon{
  width:54px;
  height:54px;
  border-radius:50%;
  background:#1b1e21;
  display:grid;
  place-items:center;
  margin-bottom:26px;
  color:var(--accent);
  font-size:25px;
  font-weight:800;
}
.contact-icon svg{
  width:26px;
  height:26px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.linkedin-icon{
  font-family:Arial,sans-serif;
  font-size:24px;
  letter-spacing:-.08em;
}
.contact-card h3{
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:12px;
  margin:0 0 12px;
  color:#fff;
}
.contact-card p{
  color:#aaa7a1;
  font-size:12px;
  line-height:1.55;
  margin:0 0 26px;
  max-width:200px;
}
.contact-card .button{
  margin-top:auto;
  align-self:flex-start;
  border:1px solid rgba(255,255,255,.4);
  color:#fff;
  padding:12px 14px;
  background:transparent;
  font-size:10px;
}
.contact-card .button:hover{
  border-color:#fff;
  background:rgba(255,255,255,.06);
}
.contact-card .button.primary{
  background:var(--accent);
  border-color:var(--accent);
}
.contact-card .button.primary:hover{
  background:#ef6849;
  border-color:#ef6849;
}

footer{
  background:#0d0f11;
  color:#777;
  border-top:1px solid rgba(255,255,255,.07);
}

@media (max-width:1100px){
  .hero{
    grid-template-columns:46% 54%;
    min-height:650px;
  }
  .hero-copy{padding:56px 38px}
  .hero h1{font-size:76px}
  .hero-image-wrap{min-height:650px}
  .contact{
    grid-template-columns:1fr 1fr;
  }
  .contact-heading{
    grid-column:1/-1;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.12);
    padding:48px 38px;
  }
  .contact-card:nth-child(3){border-right:0}
  .contact-card:nth-child(4){border-top:1px solid rgba(255,255,255,.1)}
}
@media (max-width:760px){
  .hero{grid-template-columns:1fr;min-height:0}
  .hero-copy{padding:44px 22px 40px}
  .hero-focus{
    margin-bottom:22px;
    font-size:14px;
  }
  .hero h1{font-size:62px;margin-bottom:28px}
  .hero-profile{font-size:17px}
  .hero-image-wrap{min-height:430px}
  .contact{display:block}
  .contact-heading{padding:44px 22px}
  .contact-card{
    min-height:0;
    border-right:0;
    border-top:1px solid rgba(255,255,255,.1);
    padding:34px 22px;
  }
  .contact-card p{max-width:none}
}


/* V15 — AI tools */
@media (min-width:1250px){
  .tools-grid{
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:18px;
  }
  .tools-grid>div{
    padding-right:16px;
  }
}


/* =========================================================
   V17 — Tools & Knowledge layout fix
   ========================================================= */

/* The previous five-column layout was too narrow, especially for
   "Projekt & Zusammenarbeit / Project & Collaboration". */
.tools-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:0 !important;
  align-items:stretch;
}

.tools-grid>div{
  min-width:0;
  padding:22px 22px 24px 0;
  margin-right:22px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.tools-grid>div:nth-child(3n){
  border-right:0;
  margin-right:0;
}

.tools-grid>div:nth-child(n+4){
  padding-top:28px;
  border-bottom:0;
}

.tools-grid h3{
  font-size:12px;
  line-height:1.35;
  letter-spacing:.055em;
  margin:0 0 14px;
  overflow-wrap:anywhere;
  hyphens:auto;
}

.tools-grid p{
  font-size:13px;
  line-height:1.55;
  margin:0;
}

@media (max-width:1200px){
  .tools-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .tools-grid>div,
  .tools-grid>div:nth-child(3n){
    margin-right:18px;
    border-right:1px solid var(--line);
    border-bottom:1px solid var(--line);
    padding:20px 18px 22px 0;
  }
  .tools-grid>div:nth-child(2n){
    border-right:0;
    margin-right:0;
  }
  .tools-grid>div:nth-child(n+4){
    padding-top:20px;
  }
  .tools-grid>div:last-child{
    border-bottom:0;
  }
}

@media (max-width:760px){
  .tools-grid{
    grid-template-columns:1fr !important;
  }
  .tools-grid>div,
  .tools-grid>div:nth-child(2n),
  .tools-grid>div:nth-child(3n){
    border-right:0;
    border-bottom:1px solid var(--line);
    margin-right:0;
    padding:20px 0;
  }
  .tools-grid>div:last-child{
    border-bottom:0;
  }
}


/* =========================================================
   V20 — German layout fix
   ========================================================= */

/* Move the 4th capability ("Umsetzen") down on the German page
   so the section divider no longer cuts through the text area. */
html[lang="de"] .capability-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:0;
}
html[lang="de"] .capability-grid article{
  min-width:0;
}
html[lang="de"] .capability-grid article:nth-child(4){
  grid-column:1 / 2;
  grid-row:2;
  border-top:1px solid var(--line);
  padding-top:22px;
  margin-top:20px;
  border-right:0;
}

/* Give the German left half a touch more room to breathe */
html[lang="de"] .capabilities{
  grid-template-columns:48% 52%;
}

/* Clean Tools heading / prevent odd divider feel */
html[lang="de"] .tools-grid h3{
  hyphens:none !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  font-size:11px;
  line-height:1.3;
}

/* Keep responsive layouts clean on narrower screens */
@media (max-width:1100px){
  html[lang="de"] .capability-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  html[lang="de"] .capability-grid article:nth-child(4){
    grid-column:auto;
    grid-row:auto;
    border-top:0;
    padding-top:0;
    margin-top:0;
  }
}
@media (max-width:760px){
  html[lang="de"] .capability-grid{
    grid-template-columns:1fr !important;
  }
}


/* =========================================================
   V21 — Mobile stability fix
   ========================================================= */

html, body{
  max-width:100%;
  overflow-x:hidden;
}

/* Safer wrapping globally on mobile */
@media (max-width:760px){

  /* Header / navigation */
  .topbar{
    min-height:74px;
    padding:14px 20px;
  }
  .brand{
    font-size:30px;
  }
  .menu-toggle{
    display:block;
    margin-left:auto;
  }
  .nav{
    left:0;
    right:0;
    width:100%;
    max-width:100%;
    box-sizing:border-box;
  }

  /* General sections */
  main,
  section,
  .featured,
  .journey,
  .education,
  .projects,
  .capabilities,
  .contact{
    width:100%;
    max-width:100%;
    min-width:0;
  }

  /* PROJECTS: stack everything */
  .projects{
    display:block !important;
    grid-template-columns:none !important;
  }
  .projects-intro{
    width:100%;
    max-width:none;
    border-right:0 !important;
    border-bottom:1px solid var(--line);
    padding:36px 22px 32px !important;
    box-sizing:border-box;
  }
  .projects-intro h2{
    font-size:44px !important;
    line-height:.98;
    margin:14px 0 18px;
  }
  .projects-intro p{
    max-width:none;
    font-size:15px;
    line-height:1.55;
  }

  .projects-grid{
    display:block !important;
    width:100%;
    min-width:0;
  }
  .project-card,
  .project-card.featured-project,
  .project-card.university-slot{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box;
    padding:34px 22px !important;
    border-right:0 !important;
    border-bottom:1px solid var(--line) !important;
    overflow:hidden;
  }
  .project-card:last-child{
    border-bottom:0 !important;
  }
  .project-meta{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:5px;
    width:100%;
    min-width:0;
  }
  .project-card h3,
  .university-slot h3{
    font-size:44px !important;
    line-height:.98;
    margin:24px 0 8px !important;
    overflow-wrap:anywhere;
  }
  .project-role{
    font-size:10px;
    line-height:1.4;
    margin-bottom:18px;
  }
  .project-description{
    width:100%;
    max-width:none;
    font-size:15px !important;
    line-height:1.58;
    overflow-wrap:anywhere;
  }
  .project-tags{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    width:100%;
    margin:22px 0;
  }
  .project-tags span{
    max-width:100%;
    white-space:normal;
    line-height:1.3;
  }
  .project-points{
    width:100%;
    max-width:none;
    padding-left:20px;
    font-size:14px;
    line-height:1.55;
  }
  .project-points li{
    padding-left:2px;
    margin-bottom:10px;
  }
  .project-template{
    grid-template-columns:1fr !important;
  }

  /* Journey */
  .journey{
    display:block !important;
    padding:36px 22px !important;
  }
  .journey-intro{
    margin-bottom:34px !important;
  }
  .timeline{
    width:100%;
    min-width:0;
  }

  /* Education */
  .education{
    display:block !important;
  }
  .education-intro{
    padding:36px 22px !important;
  }
  .education-grid{
    display:block !important;
  }
  .education-card,
  .education-card.current-study{
    width:100%;
    min-width:0;
    padding:32px 22px !important;
    box-sizing:border-box;
  }

  /* Skills / Tools */
  .capabilities{
    display:block !important;
  }
  .capabilities-block,
  .tools-block{
    padding:36px 22px !important;
    border-right:0 !important;
  }
  .capability-grid,
  .tools-grid{
    grid-template-columns:1fr !important;
    gap:0 !important;
  }
  .capability-grid article,
  .tools-grid > div{
    width:100%;
    min-width:0;
    box-sizing:border-box;
    border-right:0 !important;
    border-bottom:1px solid var(--line);
    padding:20px 0 !important;
    margin:0 !important;
  }
  .capability-grid article:last-child,
  .tools-grid > div:last-child{
    border-bottom:0;
  }

  /* Contact cards */
  .contact{
    display:block !important;
  }
  .contact-heading,
  .contact-card{
    width:100%;
    box-sizing:border-box;
  }

  /* CV modal */
  .cv-modal-dialog{
    width:calc(100vw - 24px) !important;
    max-width:560px;
  }
  .cv-request-form{
    grid-template-columns:1fr !important;
  }

  /* Images should never force overflow */
  img, svg{
    max-width:100%;
  }
}


/* V22 — Direct CV request form status */
.form-status{
  grid-column:1/-1;
  margin:4px 0 0;
  font-size:12px;
  line-height:1.5;
  color:#666;
}
.form-status.success{color:#2f7a3c}
.form-status.error{color:#b1372e}
.cv-request-form button[disabled]{
  opacity:.65;
  cursor:wait;
}
