:root{
  --black:#1a1a1a;
  --white:#f8f8f8;
  --ink:#1a1a1a;
  --line:#303030;
  --soft:#b9b9b9;
  --max:1500px;
  --radius:34px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--white);font-family:"Helvetica Neue",Helvetica,Arial,"Segoe UI",sans-serif;font-size:18px;line-height:1.5;font-weight:300}
a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page-shell{width:min(calc(100% - 52px),var(--max));margin:0 auto}
.site-header{position:sticky;top:0;z-index:50;width:min(calc(100% - 52px),var(--max));margin:0 auto;padding:22px 0;display:flex;justify-content:space-between;align-items:center;background:var(--black)}
.name-pill,.footer-name{display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--white);border-radius:999px;padding:12px 30px;font-weight:500}.nav{display:flex;gap:28px;align-items:center;font-weight:500;font-size:.92rem}.nav a:hover{text-decoration:underline;text-underline-offset:5px}.menu-toggle{display:none;background:transparent;border:0}.menu-toggle span{display:block;width:26px;height:2px;background:white;margin:5px 0}
.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;padding:34px 0 72px}.hero-title-card,.hero-info-card,.content-card,.research-card{background:var(--white);color:var(--ink);border-radius:var(--radius)}.hero-title-card{padding:54px 52px;min-height:510px;display:flex;flex-direction:column;justify-content:space-between}.kicker{margin:0;font-size:1rem;font-weight:500}.hero h1{margin:0;font-size:clamp(4.8rem,10vw,10.5rem);line-height:.82;letter-spacing:-.075em}.hero-info-card{padding:48px;display:flex;flex-direction:column;justify-content:flex-end}.hero-intro{font-size:clamp(1.5rem,2.6vw,2.5rem);font-weight:500;line-height:1.12;margin:0 0 48px}.quick-facts{margin:0;border-top:2px solid var(--ink)}.quick-facts div{display:grid;grid-template-columns:140px 1fr;gap:20px;padding:14px 0;border-bottom:1px solid #999}.quick-facts dt{font-size:.8rem;text-transform:uppercase;font-weight:500}.quick-facts dd{margin:0;font-weight:500}
.content-card{padding:52px;margin-bottom:18px}.card-heading{display:grid;grid-template-columns:90px 1fr;align-items:start;border-bottom:2px solid var(--ink);padding-bottom:22px;margin-bottom:42px}.card-heading span{font-weight:500}.card-heading h2,.dark-section-head h2{margin:0;font-size:clamp(2.8rem,6vw,6.7rem);line-height:.9;letter-spacing:-.06em}.large-copy{max-width:1000px;margin-left:auto}.large-copy p:first-child{font-size:clamp(1.6rem,3.1vw,3rem);line-height:1.14;font-weight:500}.large-copy p{margin:0 0 26px}.timeline{border-top:0}.timeline-item{display:grid;grid-template-columns:180px 1fr;gap:42px;padding:28px 0;border-bottom:1px solid #000}.timeline-date{font-weight:500;font-size:.92rem}.timeline-item h3{margin:0 0 2px;font-size:1.45rem}.timeline-item p{margin:6px 0;max-width:900px}.institution{font-weight:500}.compact .timeline-item:last-child{border-bottom:0}
.dark-section-head{display:grid;grid-template-columns:90px 1fr .8fr;align-items:end;padding:70px 0 34px;border-bottom:2px solid var(--white)}.dark-section-head span{font-weight:500}.dark-section-head p{margin:0 0 5px;color:#c8c8c8;max-width:390px}.research-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:18px 0 72px}.research-card{padding:34px;min-height:430px;display:flex;flex-direction:column;transition:transform .18s ease}.research-card:hover{transform:translateY(-5px)}.research-card .number{font-weight:500;font-size:.85rem}.research-card .meta{margin:52px 0 14px;text-transform:uppercase;font-size:.76rem;font-weight:500;letter-spacing:.05em}.research-card h3{font-size:clamp(1.8rem,2.6vw,2.8rem);line-height:1.03;letter-spacing:-.035em;margin:0 0 20px}.research-card p{margin:0}.research-card .open{margin-top:auto;padding-top:34px;font-weight:500}
.contact-footer{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:72px 0 0}.contact-panel{background:var(--white);color:var(--ink);border-radius:var(--radius);padding:42px 34px 34px}.contact-panel h2{margin:0 0 24px;font-size:clamp(2.4rem,4vw,4.2rem);letter-spacing:-.04em}.contact-panel form{display:grid;gap:13px}.contact-panel label{display:grid;gap:7px;font-weight:500}.contact-panel input,.contact-panel textarea{width:100%;border:2px solid var(--ink);border-radius:28px;padding:14px 18px;background:transparent;color:var(--ink);outline:none}.contact-panel textarea{border-radius:22px;resize:vertical}.contact-panel input:focus,.contact-panel textarea:focus{box-shadow:0 0 0 2px #777}.contact-panel button{justify-self:start;border:0;border-radius:999px;background:var(--ink);color:white;padding:13px 54px;font-weight:500;cursor:pointer}.form-note{font-size:.72rem;color:#666;margin:0}
.footer-panel{border:1px solid var(--white);padding:34px 38px;display:flex;flex-direction:column;min-height:100%;margin-left:-1px}.footer-name{align-self:flex-start;margin-bottom:70px}.footer-columns{display:grid;grid-template-columns:1fr 1fr;gap:34px 48px}.footer-columns>div{display:flex;flex-direction:column;align-items:flex-start}.footer-columns h3{margin:0 0 12px;background:var(--white);color:var(--ink);width:100%;padding:3px 12px;font-size:1.05rem}.footer-columns a,.footer-columns span{font-weight:500;margin:2px 0}.footer-columns a:hover{text-decoration:underline;text-underline-offset:4px}.copyright{margin:auto 0 0;font-weight:500;font-size:.92rem;padding-top:40px}
.research-page{padding-bottom:60px}.subhero{padding:58px 0 54px}.subhero h1{font-size:clamp(4rem,9vw,9rem);line-height:.85;letter-spacing:-.07em;margin:36px 0 24px}.subhero p{max-width:700px;font-size:1.2rem}.project-detail{background:var(--white);color:var(--ink);border-radius:var(--radius);padding:46px;margin-bottom:18px}.project-detail-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}.project-detail .meta{font-weight:500;text-transform:uppercase;font-size:.8rem}.project-detail h2{font-size:clamp(2.5rem,4.6vw,5.4rem);line-height:.95;letter-spacing:-.05em;margin:10px 0 0}.detail-copy h3{margin:0 0 8px;font-size:1rem;text-transform:uppercase}.detail-copy p,.detail-copy ul{margin:0 0 28px}.back-row{padding:30px 0;font-weight:500}
.legal-page{padding:54px 0 80px}.legal-card{background:var(--white);color:var(--ink);border-radius:var(--radius);padding:48px}.legal-card h1{font-size:clamp(3rem,7vw,7rem);letter-spacing:-.06em;margin:0 0 35px}.legal-card h2{margin-top:38px}.legal-card a{text-decoration:underline}.legal-card p,.legal-card li{max-width:900px}
@media(max-width:950px){.nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--black);padding:26px;flex-direction:column;align-items:flex-start}.nav.open{display:flex}.menu-toggle{display:block}.hero,.contact-footer{grid-template-columns:1fr}.hero-title-card{min-height:400px}.dark-section-head{grid-template-columns:60px 1fr}.dark-section-head p{grid-column:2}.research-grid{grid-template-columns:1fr}.research-card{min-height:320px}.project-detail-grid{grid-template-columns:1fr}.footer-panel{margin-left:0;margin-top:18px}.footer-name{margin-bottom:40px}}
@media(max-width:640px){body{font-size:16px}.page-shell,.site-header{width:min(calc(100% - 24px),var(--max))}.site-header{padding:14px 0}.name-pill{padding:9px 17px}.hero{padding-top:18px}.hero-title-card,.hero-info-card,.content-card,.research-card,.contact-panel,.project-detail,.legal-card{border-radius:24px}.hero-title-card,.hero-info-card,.content-card{padding:28px 24px}.hero h1{font-size:clamp(3.6rem,20vw,6rem)}.card-heading{grid-template-columns:42px 1fr}.timeline-item{grid-template-columns:1fr;gap:8px}.dark-section-head{padding-top:52px}.contact-panel{padding:30px 22px}.footer-panel{padding:28px 24px}.footer-columns{grid-template-columns:1fr}.project-detail{padding:30px 24px}}

/* legal pages */
.legal-hero{background:var(--white);color:var(--ink);border-radius:var(--radius);padding:46px;margin-bottom:18px}.legal-hero .eyebrow{margin:0 0 12px;font-weight:500;text-transform:uppercase;font-size:.78rem}.legal-hero h1{margin:0 0 18px;font-size:clamp(3rem,7vw,7rem);line-height:.9;letter-spacing:-.06em}.legal-hero p{max-width:760px}.legal-grid{display:grid;grid-template-columns:260px 1fr;gap:18px}.legal-toc,.legal-content{background:var(--white);color:var(--ink);border-radius:var(--radius);padding:30px}.legal-toc{align-self:start;position:sticky;top:100px}.legal-toc a{display:block;font-weight:500;padding:8px 0}.legal-content section{padding:0 0 28px;margin-bottom:28px;border-bottom:1px solid #000}.legal-content section:last-child{border-bottom:0;margin-bottom:0}.legal-content h2{font-size:1.45rem;margin:0 0 12px}.legal-content h3{margin:22px 0 8px}.legal-content a{text-decoration:underline;text-underline-offset:3px}.legal-address{font-style:normal}.legal-note{font-size:.9rem;color:#555}@media(max-width:850px){.legal-grid{grid-template-columns:1fr}.legal-toc{position:static}}

/* typography refinement */
h1,h2,h3,h4,h5,h6{font-weight:500}
.hero h1,.card-heading h2,.dark-section-head h2,.subhero h1,.project-detail h2,.legal-hero h1,.legal-card h1{font-weight:400}
strong,b{font-weight:500}
.institution{font-weight:400}
.timeline-item h3,.research-card h3,.contact-panel h2{font-weight:400}

/* single, consistent rules */
.name-pill,.footer-name{border-width:1px}
.quick-facts{border-top-width:1px}
.card-heading{border-bottom-width:1px}
.timeline{border-top:0}
.dark-section-head{border-bottom-width:1px}
.contact-panel input,.contact-panel textarea{border-width:1px}
.footer-panel{border-width:1px;margin-left:0}
.legal-content section{border-bottom-width:1px}

/* visual refinement: black rules, boxed navigation, scientific iconography */
:root{--line:#000}
.nav{gap:10px}
.nav a{border:1px solid #fff;border-radius:999px;padding:9px 16px;line-height:1;transition:background .16s ease,color .16s ease}
.nav a:hover{background:#fff;color:#000;text-decoration:none}
.hero{grid-template-columns:1.25fr .75fr}
.hero-symbol-card{min-height:510px;border:1px solid #fff;border-radius:var(--radius);padding:30px;display:flex;align-items:stretch}
.symbol-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:16px;width:100%}
.symbol-tile{border:1px solid #fff;border-radius:26px;display:grid;place-items:center;min-height:180px}
.symbol-tile.wide{grid-column:1/-1}
.symbol-tile svg{width:44%;max-width:120px;fill:none;stroke:#fff;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.symbol-tile svg circle{fill:none}
.card-heading{grid-template-columns:90px 1fr auto}
.section-icon{width:54px;height:54px;border:1px solid #000;border-radius:50%;display:grid;place-items:center}
.section-icon.light{border-color:#fff}
.section-icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.dark-section-head{grid-template-columns:90px 1fr .8fr auto}
.research-card{position:relative}
.research-icon{position:absolute;top:28px;right:28px;width:48px;height:48px;border:1px solid #000;border-radius:50%;display:grid;place-items:center}
.research-icon svg{width:24px;height:24px;fill:none;stroke:#000;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.timeline-item{border-bottom-color:#000}
.quick-facts div{border-bottom-color:#000}
.legal-content section{border-bottom-color:#000}
.contact-panel input:focus,.contact-panel textarea:focus{box-shadow:0 0 0 1px #000}
@media(max-width:950px){.hero{grid-template-columns:1fr}.hero-symbol-card{min-height:360px}.dark-section-head{grid-template-columns:60px 1fr auto}.dark-section-head p{grid-column:2}.section-icon{width:46px;height:46px}}
@media(max-width:640px){.nav{gap:10px}.nav a{width:100%;padding:12px 16px}.card-heading{grid-template-columns:42px 1fr auto}.section-icon{width:42px;height:42px}.section-icon svg{width:21px;height:21px}.hero-symbol-card{min-height:300px;padding:20px}.symbol-tile{min-height:120px;border-radius:20px}}


/* Language + device controls */
.header-actions{display:flex;align-items:center;gap:12px;margin-left:auto;margin-right:18px}
.utility-switches{display:flex;align-items:center;gap:8px}
.switch-group{display:flex;align-items:center;border:1px solid #fff;border-radius:999px;padding:3px;gap:2px}
.switch-button{width:34px;height:30px;display:grid;place-items:center;border:0;border-radius:999px;background:transparent;color:#fff;cursor:pointer;font-size:17px;line-height:1;padding:0}
a.switch-button{font-size:17px}
.switch-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.switch-button.active{background:#fff;color:#000}
.switch-button:focus-visible{outline:2px solid #fff;outline-offset:3px}
.site-header{flex-wrap:wrap}
.site-header .nav{margin-left:auto}

/* User-selectable mobile presentation. Desktop remains the normal responsive site. */
body.view-mobile .page-shell,body.view-mobile .site-header{width:min(calc(100% - 24px),430px)}
body.view-mobile .site-header{padding:14px 0}
body.view-mobile .site-header .nav{display:none;position:absolute;top:66px;left:0;right:0;background:var(--black);padding:18px 12px 24px;flex-direction:column;align-items:stretch;z-index:60}
body.view-mobile .site-header .nav.open{display:flex}
body.view-mobile .menu-toggle{display:block}
body.view-mobile .nav a{width:100%;padding:12px 16px;text-align:center}
body.view-mobile .hero,body.view-mobile .contact-footer{grid-template-columns:1fr}
body.view-mobile .hero{padding-top:18px;gap:12px}
body.view-mobile .hero-title-card,body.view-mobile .hero-info-card,body.view-mobile .content-card,body.view-mobile .research-card,body.view-mobile .contact-panel,body.view-mobile .project-detail,body.view-mobile .legal-card{border-radius:24px}
body.view-mobile .hero-title-card,body.view-mobile .hero-info-card,body.view-mobile .content-card{padding:28px 24px}
body.view-mobile .hero-title-card{min-height:330px}
body.view-mobile .hero h1{font-size:clamp(3.7rem,18vw,5.6rem)}
body.view-mobile .hero-symbol-card{min-height:290px;padding:16px;border-radius:24px}
body.view-mobile .symbol-grid{gap:10px}
body.view-mobile .symbol-tile{min-height:110px;border-radius:18px}
body.view-mobile .card-heading{grid-template-columns:42px 1fr auto;gap:8px}
body.view-mobile .card-heading h2{font-size:2rem}
body.view-mobile .section-icon{width:40px;height:40px}
body.view-mobile .timeline-item{grid-template-columns:1fr;gap:8px}
body.view-mobile .dark-section-head{grid-template-columns:42px 1fr auto;padding-top:46px;gap:8px}
body.view-mobile .dark-section-head p{grid-column:2/-1}
body.view-mobile .research-grid{grid-template-columns:1fr;gap:12px;padding-bottom:46px}
body.view-mobile .research-card{min-height:300px;padding:26px}
body.view-mobile .contact-footer{padding-top:46px}
body.view-mobile .contact-panel{padding:28px 22px}
body.view-mobile .footer-panel{margin:12px 0 0;padding:28px 22px}
body.view-mobile .footer-columns{grid-template-columns:1fr;gap:24px}
body.view-mobile .project-detail-grid,body.view-mobile .legal-grid{grid-template-columns:1fr}
body.view-mobile .project-detail{padding:28px 22px}
body.view-mobile .legal-toc{position:static}
body.view-mobile .subhero h1{font-size:3.7rem}
body.view-mobile .header-actions{margin-right:8px;gap:7px}
body.view-mobile .utility-switches{gap:5px}
body.view-mobile .switch-button{width:30px;height:28px}
body.view-mobile .name-pill{padding:8px 14px;font-size:.88rem}

@media(max-width:760px){
  .site-header{gap:8px}
  .header-actions{order:2;margin:0 0 0 auto;gap:8px}
  .menu-toggle{margin-left:2px}
  .utility-switches{gap:6px}
  .switch-button{width:30px;height:28px;font-size:15px}
  .switch-button svg{width:15px;height:15px}
  .name-pill{padding:9px 14px;font-size:.9rem}
  .site-header .nav{order:3;width:100%}
}
@media(max-width:420px){
  .page-shell,.site-header{width:calc(100% - 18px)}
  .name-pill{padding:8px 11px;font-size:.8rem}
  .header-actions{gap:5px}
  .switch-group{padding:2px}
  .switch-button{width:27px;height:26px;font-size:14px}
  .switch-button svg{width:14px;height:14px}
  .hero-title-card,.hero-info-card,.content-card{padding:24px 20px}
  .hero h1{font-size:17vw}
  .research-card{padding:24px 20px}
  .research-icon{top:20px;right:20px}
}


/* Robust utility controls + hand-drawn vector flags/arrows */
.header-actions{position:relative;z-index:120;pointer-events:auto}
.utility-switches,.switch-group,.switch-button{pointer-events:auto}
.switch-button{position:relative;isolation:isolate}
.flag-icon{display:block;width:22px;height:15px;border-radius:1.5px;overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.55)}
.switch-button.active .flag-icon{box-shadow:0 0 0 1px rgba(0,0,0,.28)}
.arrow-icon{display:inline-block;width:1em;height:1em;vertical-align:-.13em;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin-left:.18em}
.arrow-icon.arrow-left{margin-left:0;margin-right:.28em}
.open{display:inline-flex;align-items:center;gap:.12em}
.back-row a{display:inline-flex;align-items:center}

/* Explicit desktop mode must always restore the wide version on a desktop browser. */
body.view-desktop .page-shell,body.view-desktop .site-header{width:min(calc(100% - 48px),var(--max))}
body.view-desktop .hero{grid-template-columns:1.25fr .75fr}
body.view-desktop .contact-footer{grid-template-columns:1fr 1fr}
body.view-desktop .research-grid{grid-template-columns:repeat(3,1fr)}
body.view-desktop .footer-columns{grid-template-columns:repeat(3,1fr)}
body.view-desktop .timeline-item{grid-template-columns:180px 1fr}
body.view-desktop .project-detail-grid{grid-template-columns:.85fr 1.15fr}
body.view-desktop .legal-grid{grid-template-columns:260px 1fr}
body.view-desktop .menu-toggle{display:none}
body.view-desktop .site-header .nav{display:flex;position:static;padding:0;background:transparent;flex-direction:row;align-items:center;width:auto}

@media(max-width:950px){
  body.view-desktop{min-width:980px;overflow-x:auto}
  body.view-desktop .site-header{position:relative}
}
@media(max-width:760px){
  body.view-desktop .header-actions{order:initial;margin-left:auto;margin-right:18px}
  body.view-desktop .site-header .nav{order:initial;width:auto}
}
\n\n/* Final layout refinements */\n.utility-switches,.switch-group,.switch-button,.header-actions{display:none!important}\n.arrow-icon{width:.68em!important;height:.68em!important;vertical-align:-.06em!important;margin-left:.12em!important;stroke-width:1.45!important}\n.arrow-icon.arrow-left{margin-left:0!important;margin-right:.2em!important}\n.hero-title-card h1{width:82%;text-align:center;align-self:flex-start;transform:translateX(-2%)}\n@media(max-width:950px){.hero-title-card h1{width:88%;transform:translateX(-1%)}}\n@media(max-width:640px){.hero-title-card h1{width:94%;transform:none}}\n

/* Language selector — vector flags, no emoji, no device-mode control */
.utility-switches,.switch-group,.switch-button,.header-actions{display:none!important}
.language-switch{
  display:flex;
  align-items:center;
  gap:10px;
  margin-left:auto;
  margin-right:16px;
  flex:0 0 auto;
}
.language-switch .lang-link{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:2px 0;
  line-height:0;
  opacity:.55;
  transition:opacity .18s ease, transform .18s ease;
}
.language-switch .lang-link:hover,
.language-switch .lang-link:focus-visible,
.language-switch .lang-link.active{opacity:1}
.language-switch .lang-link:hover{transform:translateY(-1px)}
.language-switch .lang-link:focus-visible{outline:1px solid #000;outline-offset:4px}
.language-switch .flag-icon{
  display:block;
  width:25px;
  height:15px;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible;
}
.arrow-icon{width:.58em!important;height:.58em!important;vertical-align:-.04em!important;margin-left:.10em!important;stroke-width:1.35!important}
.arrow-icon.arrow-left{margin-left:0!important;margin-right:.18em!important}
@media(max-width:950px){
  .language-switch{margin-left:auto;margin-right:52px;gap:9px}
  .language-switch .flag-icon{width:23px;height:14px}
}
@media(max-width:640px){
  .language-switch{margin-right:48px;gap:8px}
  .language-switch .flag-icon{width:22px;height:13.2px}
}


/* Header + language selector refinement */
.site-header{
  justify-content:flex-start;
  gap:18px;
}
.language-switch{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0 auto 0 0;
  padding:8px 13px;
  border:1px solid #fff;
  border-radius:999px;
  line-height:0;
  flex:0 0 auto;
}
.language-switch .lang-link{
  padding:0;
  border:0;
  outline:0;
  opacity:.55;
}
.language-switch .lang-link.active,
.language-switch .lang-link:hover,
.language-switch .lang-link:focus-visible{
  opacity:1;
}
.language-switch .lang-link:focus-visible{
  outline:1px solid #fff;
  outline-offset:4px;
  border-radius:1px;
}
.language-switch .flag-icon{
  width:25px;
  height:15px;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
.site-header .nav{
  margin-left:0;
}
/* Research header icon: align optically with the title row. */
.dark-section-head .section-icon{
  align-self:center;
  justify-self:end;
  margin:0;
  transform:none;
}
/* Footer starts directly with the link columns after removing the name badge. */
.footer-columns{
  margin-top:0;
}
@media(max-width:950px){
  .language-switch{margin-right:auto}
  .dark-section-head .section-icon{align-self:center}
}
@media(max-width:640px){
  .language-switch{padding:7px 11px;gap:8px}
  .language-switch .flag-icon{width:22px;height:13.2px}
}


/* Refinement v2: language pill, clean section rules, research-icon alignment */
.site-header{
  justify-content:flex-start;
  align-items:center;
  gap:18px;
}
.site-header .nav{
  margin-left:auto !important;
}
.language-switch{
  display:inline-flex;
  align-items:center;
  gap:3px;
  margin:0 !important;
  padding:3px;
  border:1px solid #fff;
  border-radius:999px;
  line-height:1;
  flex:0 0 auto;
}
.language-switch .lang-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:34px;
  padding:7px 11px;
  border-radius:999px;
  opacity:.64;
  color:#fff;
  font-size:.72rem;
  font-weight:400;
  letter-spacing:.08em;
  line-height:1;
  transition:background .16s ease,color .16s ease,opacity .16s ease;
}
.language-switch .lang-link:hover,
.language-switch .lang-link:focus-visible{
  opacity:1;
  background:rgba(255,255,255,.1);
  transform:none;
}
.language-switch .lang-link.active{
  opacity:1;
  background:#fff;
  color:#000;
}
.language-switch .lang-link:focus-visible{
  outline:1px solid #fff;
  outline-offset:3px;
}
.language-switch .flag-icon{
  width:22px;
  height:13.2px;
  flex:0 0 auto;
}
.language-switch .lang-code{
  display:inline-block;
  transform:translateY(.02em);
}
/* On the active white segment, keep flag geometry crisp without a frame. */
.language-switch .lang-link.active .flag-icon{
  box-shadow:none !important;
}

/* One rule per section: the heading rule is sufficient. */
.content-card .timeline{
  border-top:0 !important;
}
.content-card .timeline-item:last-child{
  border-bottom:0 !important;
}

/* Research heading follows the same visual alignment as the white section headings. */
.dark-section-head{
  grid-template-columns:90px minmax(0,1fr) auto !important;
  grid-template-rows:auto auto;
  align-items:start !important;
  column-gap:0;
}
.dark-section-head > span:first-child{
  grid-column:1;
  grid-row:1;
  align-self:start;
}
.dark-section-head h2{
  grid-column:2;
  grid-row:1;
  align-self:start;
}
.dark-section-head p{
  grid-column:2 !important;
  grid-row:2;
  margin-top:18px;
}
.dark-section-head .section-icon{
  grid-column:3;
  grid-row:1;
  align-self:start !important;
  justify-self:end;
  margin:0 !important;
  transform:none !important;
}

@media(max-width:950px){
  .site-header{gap:12px}
  .language-switch{margin:0 !important}
  .site-header .nav{margin-left:auto !important}
  .dark-section-head{
    grid-template-columns:60px minmax(0,1fr) auto !important;
  }
}
@media(max-width:640px){
  .language-switch{padding:3px}
  .language-switch .lang-link{min-height:31px;padding:6px 8px;gap:5px;font-size:.66rem}
  .language-switch .flag-icon{width:20px;height:12px}
  .dark-section-head{
    grid-template-columns:42px minmax(0,1fr) auto !important;
  }
  .dark-section-head p{margin-top:14px}
}
.contact-panel h2{line-height:1.02}


/* Refinement v4 — authoritative fixes */
/* Slim, clear two-position language slider: flags only. */
.site-header{
  justify-content:flex-start !important;
  align-items:center !important;
  gap:18px !important;
}
.site-header .nav{margin-left:auto !important;}
.language-switch{
  position:relative !important;
  z-index:2;
  display:grid !important;
  grid-template-columns:36px 36px;
  align-items:center;
  width:80px;
  height:38px;
  margin:0 !important;
  padding:3px !important;
  gap:2px !important;
  border:1px solid #fff !important;
  border-radius:999px !important;
  background:transparent !important;
  overflow:hidden;
  isolation:isolate;
  flex:0 0 80px;
}
.language-switch::before{
  content:"";
  position:absolute;
  z-index:0;
  top:3px;
  left:3px;
  width:35px;
  height:30px;
  border-radius:999px;
  background:#fff;
  transition:transform .18s ease;
}
.language-switch.lang-en::before{transform:translateX(0);}
.language-switch.lang-de::before{transform:translateX(37px);}
.language-switch .lang-link{
  position:relative;
  z-index:1;
  display:grid !important;
  place-items:center;
  width:36px;
  height:30px;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:999px !important;
  background:transparent !important;
  color:inherit !important;
  line-height:0 !important;
  opacity:.55 !important;
  transform:none !important;
  transition:opacity .16s ease !important;
}
.language-switch .lang-link.active,
.language-switch .lang-link:hover,
.language-switch .lang-link:focus-visible{opacity:1 !important;}
.language-switch .lang-link:focus-visible{outline:1px solid #fff !important;outline-offset:4px !important;}
.language-switch .flag-icon{
  display:block !important;
  width:24px !important;
  height:14.4px !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:hidden !important;
}
.language-switch .lang-code{display:none !important;}

/* Profile statement: intentionally restrained rather than display-sized. */
.large-copy{max-width:900px !important;}
.large-copy p:first-child{
  font-size:clamp(1.15rem,1.7vw,1.62rem) !important;
  line-height:1.34 !important;
  font-weight:300 !important;
  letter-spacing:-.015em;
}

/* Exactly one rule below each white-card section heading. */
.content-card .card-heading{
  border-bottom:1px solid #000 !important;
  margin-bottom:34px !important;
}
.content-card .timeline{
  border-top:0 !important;
}
.content-card .timeline-item{
  border-bottom:1px solid #000 !important;
}
.content-card .timeline-item:last-child{
  border-bottom:0 !important;
}

/* Research heading: number, title, description and icon share one visual axis. */
.dark-section-head{
  display:grid !important;
  grid-template-columns:90px minmax(0,1fr) minmax(260px,.72fr) 62px !important;
  grid-template-rows:auto !important;
  align-items:center !important;
  column-gap:24px !important;
  padding:58px 0 34px !important;
  border-bottom:1px solid #fff !important;
}
.dark-section-head > span:first-child{
  grid-column:1 !important;
  grid-row:1 !important;
  align-self:center !important;
}
.dark-section-head h2{
  grid-column:2 !important;
  grid-row:1 !important;
  align-self:center !important;
}
.dark-section-head p{
  grid-column:3 !important;
  grid-row:1 !important;
  align-self:center !important;
  margin:0 !important;
}
.dark-section-head .section-icon{
  grid-column:4 !important;
  grid-row:1 !important;
  align-self:center !important;
  justify-self:end !important;
  margin:0 !important;
  transform:none !important;
}

@media(max-width:950px){
  .site-header{gap:12px !important;}
  .language-switch{flex-basis:80px;}
  .dark-section-head{
    grid-template-columns:60px minmax(0,1fr) 54px !important;
    grid-template-rows:auto auto !important;
    column-gap:12px !important;
  }
  .dark-section-head > span:first-child{grid-column:1 !important;grid-row:1 !important;}
  .dark-section-head h2{grid-column:2 !important;grid-row:1 !important;}
  .dark-section-head .section-icon{grid-column:3 !important;grid-row:1 !important;}
  .dark-section-head p{grid-column:2 / 4 !important;grid-row:2 !important;margin-top:14px !important;}
}
@media(max-width:640px){
  .language-switch{width:72px;height:35px;grid-template-columns:32px 32px;flex-basis:72px;}
  .language-switch::before{width:31px;height:27px;}
  .language-switch.lang-de::before{transform:translateX(33px);}
  .language-switch .lang-link{width:32px;height:27px;}
  .language-switch .flag-icon{width:21px !important;height:12.6px !important;}
  .dark-section-head{grid-template-columns:42px minmax(0,1fr) 46px !important;padding-top:46px !important;}
}


/* Refinement v5 — compact layout, serif headings, aligned research header */
:root{
  --heading-serif:"Iowan Old Style","Palatino Linotype","Book Antiqua",Palatino,Georgia,serif;
}

/* A clear baseline under the sticky top bar. */
.site-header{
  border-bottom:1px solid #fff !important;
  padding-top:16px !important;
  padding-bottom:16px !important;
}

/* Serif display typography; body remains clean sans-serif. */
.hero h1,
.card-heading h2,
.dark-section-head h2,
.contact-panel h2,
.subhero h1,
.project-detail h2,
.legal-hero h1,
.legal-card h1,
.research-card h3,
.timeline-item h3,
.hobby-callout{
  font-family:var(--heading-serif) !important;
  font-weight:400 !important;
}

/* Dates are intentionally more visible. */
.timeline-date{
  font-size:1.24rem !important;
  line-height:1.15 !important;
  font-weight:400 !important;
  letter-spacing:-.02em;
}
.research-card .meta,
.project-detail .meta{
  font-size:.88rem !important;
  letter-spacing:.035em !important;
}

/* Research header mirrors the Industry Experience heading geometry. */
.dark-section-head{
  grid-template-columns:90px minmax(0,1fr) auto !important;
  grid-template-rows:auto auto !important;
  column-gap:0 !important;
  row-gap:10px !important;
  align-items:start !important;
  padding:34px 0 20px !important;
}
.dark-section-head > span:first-child{
  grid-column:1 !important;
  grid-row:1 !important;
  align-self:start !important;
  padding-top:.34rem;
}
.dark-section-head h2{
  grid-column:2 !important;
  grid-row:1 !important;
  align-self:start !important;
}
.dark-section-head p{
  grid-column:2 !important;
  grid-row:2 !important;
  margin:0 !important;
  max-width:520px !important;
}
.dark-section-head .section-icon{
  grid-column:3 !important;
  grid-row:1 !important;
  align-self:start !important;
  justify-self:end !important;
  margin:0 !important;
  width:54px !important;
  height:54px !important;
}
.dark-section-head .section-icon svg{
  width:26px !important;
  height:26px !important;
}

/* Less vertical travel without flattening the design. */
.hero{
  padding:22px 0 38px !important;
}
.hero-title-card,
.hero-symbol-card{
  min-height:360px !important;
}
.hero-title-card{
  padding:40px 42px !important;
}
.hero-symbol-card{
  padding:24px !important;
}
.content-card{
  padding:38px 42px !important;
  margin-bottom:12px !important;
}
.content-card .card-heading{
  padding-bottom:16px !important;
  margin-bottom:24px !important;
}
.card-heading h2,.dark-section-head h2{
  font-size:clamp(2.6rem,5.1vw,5.6rem) !important;
}
.large-copy p:first-child{
  margin-bottom:0 !important;
}
.timeline-item{
  padding:20px 0 !important;
  gap:34px !important;
}
.research-grid{
  gap:12px !important;
  padding:12px 0 38px !important;
}
.research-card{
  min-height:340px !important;
  padding:28px !important;
}
.research-card .meta{
  margin:38px 0 10px !important;
}
.research-card h3{
  font-size:clamp(1.7rem,2.25vw,2.35rem) !important;
  margin-bottom:14px !important;
}
.research-card .open{
  padding-top:22px !important;
}
.contact-footer{
  padding:38px 0 0 !important;
}
.contact-panel{
  padding:32px 28px 28px !important;
}
.contact-panel h2{
  margin-bottom:18px !important;
  font-size:clamp(2.2rem,3.4vw,3.5rem) !important;
}
.contact-panel form{
  gap:9px !important;
}
.contact-panel input,.contact-panel textarea{
  padding:11px 15px !important;
}
.contact-panel textarea{
  min-height:82px;
}
.footer-panel{
  padding:28px 32px !important;
}
.footer-columns{
  gap:22px 36px !important;
}
.copyright{
  padding-top:26px !important;
}
.subhero{
  padding:36px 0 30px !important;
}
.subhero h1{
  margin:22px 0 16px !important;
}
.project-detail{
  padding:34px !important;
  margin-bottom:12px !important;
}
.project-detail-grid{
  gap:46px !important;
}
.detail-copy p,.detail-copy ul{
  margin-bottom:20px !important;
}
.back-row{
  padding:20px 0 !important;
}
.legal-page{
  padding:34px 0 52px !important;
}
.legal-hero{
  padding:34px !important;
  margin-bottom:12px !important;
}
.legal-grid{
  gap:12px !important;
}
.legal-toc,.legal-content{
  padding:24px !important;
}
.legal-content section{
  padding-bottom:20px !important;
  margin-bottom:20px !important;
}

/* Hobbies teaser. */
.hobbies-card{
  margin-top:0;
}
.hobby-callout{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  font-size:clamp(1.65rem,3vw,3rem);
  line-height:1.05;
  padding:4px 0 2px;
}
.hobby-callout .arrow-icon{
  flex:0 0 auto;
  width:.72em !important;
  height:.72em !important;
}
.compact-subhero{
  padding-bottom:22px !important;
}
.hobby-detail{
  min-height:0;
}

@media(max-width:950px){
  .site-header{padding-top:13px !important;padding-bottom:13px !important;}
  .hero-title-card,.hero-symbol-card{min-height:310px !important;}
  .content-card{padding:30px !important;}
  .dark-section-head{
    grid-template-columns:60px minmax(0,1fr) auto !important;
    grid-template-rows:auto auto !important;
  }
  .dark-section-head p{grid-column:2 / 4 !important;grid-row:2 !important;}
  .dark-section-head .section-icon{grid-column:3 !important;grid-row:1 !important;width:46px !important;height:46px !important;}
  .research-grid{grid-template-columns:1fr !important;}
  .research-card{min-height:280px !important;}
}
@media(max-width:640px){
  .site-header{padding-top:11px !important;padding-bottom:11px !important;}
  .hero{padding-top:14px !important;padding-bottom:24px !important;}
  .hero-title-card,.hero-symbol-card{min-height:250px !important;}
  .hero-title-card,.content-card{padding:24px 20px !important;}
  .content-card .card-heading{margin-bottom:18px !important;}
  .timeline-item{padding:16px 0 !important;}
  .timeline-date{font-size:1.1rem !important;}
  .dark-section-head{grid-template-columns:42px minmax(0,1fr) auto !important;padding:30px 0 16px !important;}
  .dark-section-head .section-icon{width:42px !important;height:42px !important;}
  .dark-section-head .section-icon svg{width:21px !important;height:21px !important;}
  .research-grid{padding-bottom:26px !important;}
  .research-card{padding:22px !important;min-height:250px !important;}
  .research-card .meta{margin-top:32px !important;}
  .contact-footer{padding-top:28px !important;}
  .footer-panel{padding:24px 22px !important;}
  .project-detail{padding:24px 20px !important;}
}


/* Profile image placeholder with double contour */
.profile-grid{
  display:grid;
  grid-template-columns:minmax(220px,320px) minmax(0,1fr);
  gap:34px;
  align-items:start;
}
.profile-image-frame{
  border:2px solid var(--ink);
  border-radius:28px;
  padding:10px;
  background:var(--white);
}
.profile-image-inner{
  border:2px solid var(--ink);
  border-radius:22px;
  padding:0;
  background:linear-gradient(180deg,#f5f5f5 0%, #ececec 100%);
  overflow:hidden;
}
.profile-image-placeholder{
  min-height:380px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.95rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:#666;
  background:
    radial-gradient(circle at 68% 18%, rgba(0,0,0,.06) 0 8%, transparent 9%),
    linear-gradient(135deg, rgba(0,0,0,.045), rgba(0,0,0,.01) 58%);
}
.profile-copy{
  margin-left:0 !important;
  max-width:none !important;
}
.profile-copy p:first-child{
  margin-top:4px;
}
@media(max-width:950px){
  .profile-grid{grid-template-columns:1fr;gap:24px;}
  .profile-image-frame{max-width:340px;}
  .profile-image-placeholder{min-height:300px;}
}
@media(max-width:640px){
  .profile-image-frame{max-width:none;padding:8px;border-radius:24px;}
  .profile-image-inner{border-radius:18px;}
  .profile-image-placeholder{min-height:240px;font-size:.88rem;}
}


/* Integrated Profile + Education section */
.profile-education-grid{
  grid-template-columns:minmax(230px,310px) minmax(0,1fr) !important;
  gap:38px !important;
  align-items:stretch !important;
}
.profile-main{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.profile-copy{
  padding:2px 0 26px;
}
.education-inline{
  margin-top:4px;
  border-top:1px solid #000;
}
.education-inline-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:15px 0 11px;
  font-size:.78rem;
  font-weight:500;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.education-inline-icon{
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
}
.education-inline-icon svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.35;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.education-inline-list{
  border-top:1px solid #000;
}
.education-inline-row{
  display:grid;
  grid-template-columns:155px minmax(0,1fr);
  gap:28px;
  padding:16px 0;
  border-bottom:1px solid #000;
}
.education-inline-row:last-child{border-bottom:0;}
.education-inline-row h3{
  margin:0 0 2px;
  font-size:1.18rem;
  font-weight:500;
}
.education-inline-row p{
  margin:4px 0 0;
}
.profile-image-frame{
  align-self:stretch;
}
.profile-image-inner,
.profile-image-placeholder{
  height:100%;
}
.profile-image-placeholder{
  min-height:100% !important;
}
@media(max-width:950px){
  .profile-education-grid{grid-template-columns:minmax(210px,290px) minmax(0,1fr) !important;gap:26px !important;}
  .education-inline-row{grid-template-columns:130px minmax(0,1fr);gap:20px;}
}
@media(max-width:760px){
  .profile-education-grid{grid-template-columns:1fr !important;}
  .profile-image-frame{max-width:320px;}
  .profile-image-placeholder{min-height:300px !important;}
  .education-inline-row{grid-template-columns:1fr;gap:5px;}
}


/* v9 — Profile hierarchy, research alignment, creative photo frame */
/* Profile + education: one section hierarchy; education stays secondary. */
.education-inline{
  margin-top:8px !important;
  border-top:1px solid #000 !important;
}
.education-inline-heading{display:none !important;}
.education-inline-list{border-top:0 !important;}
.education-inline-row{
  grid-template-columns:155px minmax(0,1fr) !important;
  gap:28px !important;
  padding:17px 0 !important;
  border-bottom:1px solid #000 !important;
}
.education-inline-row:last-child{border-bottom:0 !important;}
.education-inline-row h3{font-size:1.22rem !important;}

/* One contour + offset reinforcement on the left/bottom, echoing the first creative version. */
.profile-image-frame{
  border:2px solid var(--ink) !important;
  border-radius:28px !important;
  padding:0 !important;
  background:var(--white) !important;
  box-shadow:-10px 10px 0 var(--ink) !important;
  margin-left:10px;
  margin-bottom:10px;
}
.profile-image-inner{
  border:0 !important;
  border-radius:25px !important;
  overflow:hidden !important;
  background:linear-gradient(180deg,#f5f5f5 0%,#ececec 100%) !important;
}

/* Research heading now uses the exact same 3-column logic as the white card headings. */
.dark-section-head{
  display:grid !important;
  grid-template-columns:90px minmax(0,1fr) auto !important;
  align-items:start !important;
  padding:48px 0 18px !important;
  border-bottom:1px solid var(--white) !important;
  column-gap:0 !important;
}
.dark-section-head > span:first-child{
  grid-column:1 !important;
  grid-row:1 !important;
  align-self:start !important;
  padding-top:.34rem !important;
}
.dark-section-head h2{
  grid-column:2 !important;
  grid-row:1 !important;
  align-self:start !important;
}
.dark-section-head .section-icon{
  grid-column:3 !important;
  grid-row:1 !important;
  align-self:start !important;
  justify-self:end !important;
  margin:0 !important;
  width:54px !important;
  height:54px !important;
}
.dark-section-head .section-icon svg{width:26px !important;height:26px !important;}
.research-section-intro{
  margin:12px 0 0 90px;
  max-width:520px;
  color:#c8c8c8;
  font-size:.92rem;
  font-weight:300;
}

@media(max-width:950px){
  .education-inline-row{grid-template-columns:130px minmax(0,1fr) !important;gap:20px !important;}
  .dark-section-head{grid-template-columns:60px minmax(0,1fr) auto !important;padding:36px 0 16px !important;}
  .dark-section-head .section-icon{width:46px !important;height:46px !important;}
  .research-section-intro{margin-left:60px;}
}
@media(max-width:760px){
  .education-inline-row{grid-template-columns:1fr !important;gap:5px !important;}
  .profile-image-frame{margin-left:8px;margin-bottom:8px;box-shadow:-8px 8px 0 var(--ink) !important;}
}
@media(max-width:640px){
  .dark-section-head{grid-template-columns:42px minmax(0,1fr) auto !important;padding:30px 0 14px !important;}
  .dark-section-head .section-icon{width:42px !important;height:42px !important;}
  .dark-section-head .section-icon svg{width:21px !important;height:21px !important;}
  .research-section-intro{margin:10px 0 0 42px;font-size:.86rem;}
}


/* v10 — academic cap per education entry; hobby callout stays sans serif */
.education-inline-row{
  grid-template-columns:155px minmax(0,1fr) 42px !important;
  align-items:center !important;
}
.education-cap{
  width:38px;
  height:38px;
  border:1px solid #000;
  border-radius:50%;
  display:grid;
  place-items:center;
  justify-self:end;
  align-self:center;
}
.education-cap svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.35;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.hobby-callout,
.hobby-callout span{
  font-family:"Helvetica Neue",Helvetica,Arial,"Segoe UI",sans-serif !important;
  font-style:normal !important;
}
@media(max-width:950px){
  .education-inline-row{grid-template-columns:130px minmax(0,1fr) 38px !important;}
  .education-cap{width:34px;height:34px;}
  .education-cap svg{width:19px;height:19px;}
}
@media(max-width:760px){
  .education-inline-row{grid-template-columns:minmax(0,1fr) 36px !important;gap:8px 14px !important;}
  .education-inline-row .timeline-date{grid-column:1;}
  .education-inline-row > div:nth-child(2){grid-column:1;}
  .education-cap{grid-column:2;grid-row:1 / span 2;align-self:center;}
}


/* v11 — ordered home sections, separate Education card, Research title pill */
.home-section{
  margin-bottom:18px !important;
}
.content-card.home-section{
  margin-bottom:18px !important;
}
.profile-only-grid{
  grid-template-columns:minmax(230px,310px) minmax(0,1fr) !important;
  gap:38px !important;
  align-items:center !important;
}
.profile-only-grid .profile-image-frame{align-self:stretch;}
.profile-only-grid .profile-copy{align-self:center;}

/* Education is a separate pill card, with a cap opposite each entry. */
.simple-heading{grid-template-columns:90px 1fr !important;}
.education-list{border-top:0;}
.education-row{
  display:grid;
  grid-template-columns:180px minmax(0,1fr) 48px;
  gap:34px;
  align-items:center;
  padding:20px 0;
  border-bottom:1px solid #000;
}
.education-row:last-child{border-bottom:0;}
.education-row h3{margin:0 0 2px;font-size:1.45rem;font-weight:400;}
.education-row p{margin:6px 0;}
.education-row .education-cap{justify-self:end;}

/* Research gets its own compact heading pill instead of a misaligned section icon. */
.research-section{margin-bottom:18px !important;}
.research-title-pill{
  background:var(--white);
  color:var(--ink);
  border-radius:var(--radius);
  display:grid;
  grid-template-columns:90px minmax(0,1fr) minmax(240px,.65fr);
  align-items:end;
  gap:0;
  padding:30px 42px 24px;
  margin-bottom:12px;
}
.research-title-pill .section-number{
  align-self:start;
  padding-top:.35rem;
  font-weight:500;
}
.research-title-pill h2{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2.6rem,5.1vw,5.6rem);
  line-height:.9;
  letter-spacing:-.045em;
  font-weight:400;
}
.research-title-pill p{
  margin:0 0 4px 28px;
  font-size:.92rem;
  line-height:1.4;
  color:#555;
  max-width:360px;
}
.research-grid{
  padding:0 !important;
  gap:12px !important;
}

/* Keep the same vertical rhythm between all home sections. */
#profile,#education,#research,#experience,#hobbies{scroll-margin-top:92px;}
#profile + #education,
#education + #research,
#research + #experience,
#experience + #hobbies{margin-top:0 !important;}

/* Smaller hobby teaser. */
.hobby-callout{
  font-size:clamp(1.2rem,1.75vw,1.65rem) !important;
  line-height:1.2 !important;
  padding:0 !important;
}
.hobbies-card .card-heading{margin-bottom:18px !important;}

@media(max-width:950px){
  .profile-only-grid{grid-template-columns:minmax(210px,290px) minmax(0,1fr) !important;gap:26px !important;}
  .research-title-pill{grid-template-columns:60px minmax(0,1fr);padding:26px 30px 22px;}
  .research-title-pill p{grid-column:2;margin:12px 0 0;}
  .education-row{grid-template-columns:130px minmax(0,1fr) 42px;gap:20px;}
}
@media(max-width:760px){
  .profile-only-grid{grid-template-columns:1fr !important;}
  .education-row{grid-template-columns:minmax(0,1fr) 38px;gap:8px 14px;}
  .education-row .timeline-date{grid-column:1;}
  .education-row > div:nth-child(2){grid-column:1;}
  .education-row .education-cap{grid-column:2;grid-row:1 / span 2;align-self:center;}
}
@media(max-width:640px){
  .home-section{margin-bottom:12px !important;}
  .content-card.home-section{margin-bottom:12px !important;}
  .research-section{margin-bottom:12px !important;}
  .research-title-pill{grid-template-columns:42px minmax(0,1fr);padding:22px 20px 18px;border-radius:24px;}
  .research-title-pill h2{font-size:clamp(2.3rem,11vw,3.7rem);}
  .research-title-pill p{grid-column:2;margin-top:9px;font-size:.86rem;}
  .education-row h3{font-size:1.2rem;}
  .hobby-callout{font-size:1.12rem !important;}
}


/* v12 — single graduation cap in Education heading; Research icon restored */
.simple-heading{
  grid-template-columns:90px minmax(0,1fr) auto !important;
  align-items:start !important;
}
.simple-heading .section-icon{
  grid-column:3 !important;
  justify-self:end !important;
  align-self:start !important;
  margin:0 !important;
}
.education-row{
  grid-template-columns:180px minmax(0,1fr) !important;
}
.education-row .education-cap{display:none !important;}

.research-title-pill{
  grid-template-columns:90px minmax(0,1fr) minmax(240px,.65fr) auto !important;
  align-items:start !important;
}
.research-title-pill .section-number{grid-column:1;grid-row:1;}
.research-title-pill h2{grid-column:2;grid-row:1;}
.research-title-pill p{
  grid-column:3;
  grid-row:1;
  align-self:end;
  margin:0 20px 4px 28px !important;
}
.research-title-pill .research-heading-icon{
  grid-column:4;
  grid-row:1;
  justify-self:end;
  align-self:start;
  margin:0 !important;
  width:54px !important;
  height:54px !important;
}
.research-title-pill .research-heading-icon svg{
  width:26px !important;
  height:26px !important;
}

@media(max-width:950px){
  .education-row{grid-template-columns:130px minmax(0,1fr) !important;}
  .research-title-pill{
    grid-template-columns:60px minmax(0,1fr) auto !important;
  }
  .research-title-pill h2{grid-column:2;grid-row:1;}
  .research-title-pill .research-heading-icon{grid-column:3;grid-row:1;width:46px !important;height:46px !important;}
  .research-title-pill .research-heading-icon svg{width:22px !important;height:22px !important;}
  .research-title-pill p{grid-column:2 / 4;grid-row:2;margin:12px 0 0 !important;}
}
@media(max-width:760px){
  .education-row{grid-template-columns:1fr !important;gap:8px !important;}
  .education-row .timeline-date,.education-row > div:nth-child(2){grid-column:1 !important;}
}
@media(max-width:640px){
  .simple-heading{grid-template-columns:42px minmax(0,1fr) auto !important;}
  .research-title-pill{grid-template-columns:42px minmax(0,1fr) auto !important;}
  .research-title-pill .research-heading-icon{width:42px !important;height:42px !important;}
  .research-title-pill .research-heading-icon svg{width:21px !important;height:21px !important;}
}


/* v13 — uniform vertical rhythm between all main homepage blocks */
:root{--home-gap:18px;--home-gap-mobile:12px;}

/* Hero -> Profile uses the same gap as the middle sections. */
.hero{
  padding-bottom:var(--home-gap) !important;
}

/* Every middle homepage section uses one shared gap. */
.home-section,
.content-card.home-section,
.research-section{
  margin-bottom:var(--home-gap) !important;
}

/* Within Research, the title pill and card grid use the same gap too. */
.research-title-pill{
  margin-bottom:var(--home-gap) !important;
}
.research-grid{
  margin:0 !important;
  padding:0 !important;
}

/* Hobbies -> Contact matches the same spacing. */
.contact-footer{
  padding-top:0 !important;
  margin-top:0 !important;
}

@media(max-width:640px){
  .hero{
    padding-bottom:var(--home-gap-mobile) !important;
  }
  .home-section,
  .content-card.home-section,
  .research-section{
    margin-bottom:var(--home-gap-mobile) !important;
  }
  .research-title-pill{
    margin-bottom:var(--home-gap-mobile) !important;
  }
  .contact-footer{
    padding-top:0 !important;
  }
}

/* v14 — verified section-icon geometry */
/* Keep the Research glyph optically and mathematically consistent with the other header icons. */
@media (min-width:641px) and (max-width:950px){
  .research-title-pill .research-heading-icon svg{
    width:26px !important;
    height:26px !important;
  }
}

/* v15 — lock all section-heading icons to the same right-hand column, including long German headings. */
.card-heading{
  grid-template-columns:90px minmax(0,1fr) auto !important;
}
.card-heading h2{
  min-width:0;
}
@media(max-width:950px){
  .card-heading{
    grid-template-columns:60px minmax(0,1fr) auto !important;
    column-gap:8px;
  }
}
@media(max-width:640px){
  .card-heading{
    grid-template-columns:42px minmax(0,1fr) 42px !important;
    column-gap:8px;
  }
  .card-heading h2{
    overflow-wrap:anywhere;
  }
  .card-heading .section-icon{
    justify-self:end !important;
  }
}


/* v16 — copy, education and research-card refinements */

/* Slightly more polished profile intro. */
.profile-copy p:first-child{
  max-width:28ch;
}

/* Research cards: swap number and icon positions and add original abstract scientific backgrounds. */
.research-card{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background-color:#f6f6f4 !important;
}
.research-card > *{
  position:relative;
  z-index:1;
}
.research-card::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.24;
  z-index:0;
  pointer-events:none;
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center;
}
.research-card .number{
  position:absolute;
  top:30px;
  right:30px;
  font-weight:500;
  font-size:.9rem;
  letter-spacing:.02em;
}
.research-card .research-icon{
  top:28px !important;
  left:28px !important;
  right:auto !important;
}
.research-card:nth-child(1)::before{
  background-image:
    radial-gradient(circle at 78% 18%, rgba(0,0,0,.07) 0 3px, transparent 3.5px),
    radial-gradient(circle at 82% 26%, rgba(0,0,0,.045) 0 2px, transparent 2.6px),
    radial-gradient(circle at 86% 33%, rgba(0,0,0,.04) 0 2px, transparent 2.6px),
    linear-gradient(135deg, transparent 0 53%, rgba(0,0,0,.07) 53% 54.2%, transparent 54.2%),
    linear-gradient(155deg, transparent 0 59%, rgba(0,0,0,.055) 59% 60%, transparent 60%),
    radial-gradient(circle at 14% 88%, rgba(0,0,0,.06), transparent 36%);
}
.research-card:nth-child(2)::before{
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 400'%3E%3Cg fill='none' stroke='%23000' stroke-opacity='.16' stroke-width='2'%3E%3Cpath d='M120 40c70 60 70 260 140 320'/%3E%3Cpath d='M280 40c-70 60-70 260-140 320'/%3E%3Cpath d='M146 78h108M132 122h136M126 166h148M124 210h152M130 254h140M146 298h108'/%3E%3C/g%3E%3C/svg%3E"),
    radial-gradient(circle at 80% 20%, rgba(0,0,0,.05), transparent 34%);
  background-size:cover;
}
.research-card:nth-child(3)::before{
  background-image:
    radial-gradient(circle at 74% 28%, rgba(0,0,0,.075) 0 70px, transparent 72px),
    radial-gradient(circle at 74% 28%, transparent 0 92px, rgba(0,0,0,.06) 92px 94px, transparent 94px),
    radial-gradient(circle at 74% 28%, transparent 0 122px, rgba(0,0,0,.04) 122px 124px, transparent 124px),
    radial-gradient(circle at 20% 88%, rgba(0,0,0,.05), transparent 34%);
}

/* Education copy: more room for the added descriptions. */
.education-row{
  align-items:start !important;
}
.education-row p{
  max-width:68ch;
}

@media(max-width:640px){
  .research-card .number{top:23px;right:22px;}
  .research-card .research-icon{top:20px !important;left:20px !important;}
}

/* Research-card cleanup: no decorative background; icons moved upward. */
.research-card{
  background:var(--white) !important;
}
.research-card::before{
  content:none !important;
  display:none !important;
  background:none !important;
}
.research-card .research-icon{
  top:18px !important;
  left:28px !important;
  right:auto !important;
}
@media(max-width:950px){
  .research-card .research-icon{
    top:16px !important;
  }
}
@media(max-width:640px){
  .research-card .research-icon{
    top:14px !important;
    left:20px !important;
  }
}

/* Final research-card icon alignment fix */
.research-card .research-icon{
  position:absolute !important;
  top:28px !important;
  left:28px !important;
  right:auto !important;
  margin:0 !important;
  transform:none !important;
}
.research-card .number{
  position:absolute !important;
  top:30px !important;
  right:30px !important;
  left:auto !important;
  margin:0 !important;
}
@media(max-width:640px){
  .research-card .research-icon{
    top:20px !important;
    left:20px !important;
  }
  .research-card .number{
    top:23px !important;
    right:22px !important;
  }
}


/* Verified optical alignment: research-card icon sits slightly above the number. */
.research-card .research-icon{
  position:absolute !important;
  top:18px !important;
  left:28px !important;
  right:auto !important;
  margin:0 !important;
  transform:none !important;
}
.research-card .number{
  position:absolute !important;
  top:30px !important;
  right:30px !important;
  left:auto !important;
  margin:0 !important;
}
@media (min-width:641px) and (max-width:950px){
  .research-card .research-icon{top:16px !important;}
}
@media(max-width:640px){
  .research-card .research-icon{
    top:14px !important;
    left:20px !important;
  }
  .research-card .number{
    top:23px !important;
    right:22px !important;
  }
}

/* Smaller research-card icons for a calmer visual balance */
.research-card .research-icon{
  width:38px !important;
  height:38px !important;
  top:20px !important;
  left:28px !important;
}
.research-card .research-icon svg{
  width:19px !important;
  height:19px !important;
}
@media (min-width:641px) and (max-width:950px){
  .research-card .research-icon{
    width:36px !important;
    height:36px !important;
    top:18px !important;
  }
  .research-card .research-icon svg{
    width:18px !important;
    height:18px !important;
  }
}
@media(max-width:640px){
  .research-card .research-icon{
    width:34px !important;
    height:34px !important;
    top:16px !important;
    left:20px !important;
  }
  .research-card .research-icon svg{
    width:17px !important;
    height:17px !important;
  }
}

/* v17 — visibly smaller research project icons; authoritative final override */
.research-card .research-icon{
  position:absolute !important;
  width:30px !important;
  height:30px !important;
  top:17px !important;
  left:24px !important;
  right:auto !important;
  margin:0 !important;
  transform:none !important;
  border-width:1px !important;
}
.research-card .research-icon svg{
  width:14px !important;
  height:14px !important;
  stroke-width:1.25 !important;
}
.research-card .number{
  top:23px !important;
  right:24px !important;
}
@media (min-width:641px) and (max-width:950px){
  .research-card .research-icon{
    width:29px !important;
    height:29px !important;
    top:16px !important;
    left:22px !important;
  }
  .research-card .research-icon svg{
    width:13px !important;
    height:13px !important;
  }
  .research-card .number{
    top:22px !important;
    right:22px !important;
  }
}
@media(max-width:640px){
  .research-card .research-icon{
    width:28px !important;
    height:28px !important;
    top:14px !important;
    left:18px !important;
  }
  .research-card .research-icon svg{
    width:12px !important;
    height:12px !important;
  }
  .research-card .number{
    top:20px !important;
    right:20px !important;
  }
}
