@font-face{font-family:Newsreader;src:url('assets/fonts/Newsreader-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url('assets/fonts/Inter-400-700.ttf') format('truetype');font-style:normal;font-weight:400 700;font-display:swap}
:root{--navy:#102651;--paper:#F6F4EF;--mist:#E9EEF2;--ink:#22262B;--warm:#B9A27A;--rule:rgba(16,38,81,.19);--serif:Newsreader,Georgia,serif;--sans:Inter,Arial,sans-serif;--type-statement:2.25rem;--type-section:2.375rem;--type-intro:2rem;--type-subheading:1.5rem;--type-body:1.1875rem;--type-meta:1rem;--type-nav:1.1875rem}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:2rem}
body{margin:0;min-width:280px;background:var(--paper);color:var(--navy);font-family:var(--sans);font-size:var(--type-body);line-height:1.65;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
button{font:inherit}
a{color:inherit;text-decoration:none}
a:hover{text-decoration-color:currentColor}
:focus-visible{outline:2px solid var(--warm);outline-offset:5px}
::selection{background:var(--navy);color:#fff}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip-link{position:absolute;z-index:100;top:-90px;left:1rem;background:var(--navy);color:#fff;padding:.7rem 1rem}
.skip-link:focus{top:1rem}
.shell{width:min(100% - clamp(2.5rem,9vw,10rem),1320px);margin-inline:auto}
.section-space{padding-block:clamp(5.4rem,10vw,10.7rem)}
.site-header{background:var(--paper);border-bottom:1px solid var(--rule);position:relative;z-index:30}
.header-inner{height:86px;display:flex;align-items:center;justify-content:flex-end;gap:2rem}
.header-mark{display:flex;align-items:center;justify-content:flex-start;width:44px;height:44px;margin-right:auto;color:var(--navy)}
.header-mark svg{width:32px;height:32px;overflow:visible}
.header-mark text{fill:currentColor;font-family:var(--serif);font-size:31px;font-weight:400}
.header-mark path{fill:none;stroke:currentColor;stroke-width:2}
.primary-nav{display:flex;align-items:center;gap:clamp(1.5rem,3vw,3rem)}
.primary-nav a{font-family:var(--serif);font-size:var(--type-nav);font-weight:400;letter-spacing:0;color:var(--navy);border-bottom:1px solid transparent;padding:.35rem 0;transition:border-color .15s ease}
.primary-nav a:hover,.primary-nav a:focus-visible{border-bottom-color:var(--navy);text-decoration:none}
.menu-toggle{display:none}
.hero{min-height:min(740px,calc(100svh - 86px));display:grid;grid-template-columns:minmax(0,55fr) minmax(0,45fr);background:var(--paper)}
.hero-copy{display:flex;align-items:center;justify-content:flex-end;min-width:0;padding:4.5rem clamp(2.5rem,7.6vw,9.5rem) 3.5rem max(2rem,calc((100vw - 1320px)/2))}
.hero-copy-inner{width:min(100%,680px)}
.hero-field{color:var(--navy);font-size:1.125rem;font-weight:500;letter-spacing:0;line-height:1.45;margin:0 0 clamp(2.5rem,5vw,4.8rem)}
.hero-field span{color:inherit;padding:0 .16em}
.hero h1{font-family:var(--sans);font-weight:550;font-size:2.875rem;letter-spacing:-.035em;line-height:1.12;color:var(--navy);margin:0}
.hero-statement{font-family:var(--serif);font-weight:400;color:var(--navy);font-size:var(--type-statement);line-height:1.2;letter-spacing:-.025em;margin:clamp(2.6rem,5vw,5rem) 0 0}
.coordinates{font-size:1.0625rem;line-height:1.5;letter-spacing:0;color:var(--navy);margin:0;white-space:normal}
.coordinates span{color:inherit}
.hero-image{position:relative;overflow:hidden;margin:0;min-height:600px;background:#c6c8c7}
.hero-image img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:50% 10%;transform:scaleX(-1)}
.section-kicker{font-size:var(--type-meta);line-height:1.4;letter-spacing:.02em;font-weight:600;color:var(--navy);margin:0}
.intro{background:#fff;padding-top:clamp(2rem,3vw,3rem)}
.intro-lead{font:400 var(--type-intro)/1.2 var(--serif);letter-spacing:-.025em;color:var(--navy);margin:1.6rem 0 clamp(3.4rem,6vw,6rem);white-space:nowrap}
.intro-layout{display:grid;grid-template-columns:minmax(0,38fr) minmax(0,62fr);gap:clamp(3rem,5vw,5rem)}
.intro h2{font:400 clamp(2rem,2.8vw,2.375rem)/1.2 var(--serif);letter-spacing:-.035em;color:var(--navy);margin:0}
.intro-content p{font-size:var(--type-body);line-height:1.68;margin:0;max-width:none}
.intro-content p+p{margin-top:2.7rem}
.expertise{background:var(--paper)}
.section-topline{display:flex;justify-content:space-between;gap:2rem;border-bottom:1px solid var(--rule);padding-bottom:1.2rem}
.section-topline>span{align-self:center;font-family:var(--sans);font-size:var(--type-meta);font-weight:500;letter-spacing:.02em;color:#7c8792;white-space:nowrap}
.section-topline .section-kicker{font-family:var(--serif);font-size:var(--type-section);font-weight:400;letter-spacing:-.035em;line-height:1.2;color:var(--navy)}
.expertise-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(2.2rem,5vw,6rem);padding-top:clamp(3rem,6vw,6.1rem)}
.expertise article{min-width:0}
.expertise h3{font:600 var(--type-subheading)/1.25 var(--sans);letter-spacing:-.025em;color:var(--navy);margin:0 0 1.9rem}
.expertise p{max-width:350px;margin:0;font-size:var(--type-body);line-height:1.68}
.wirken{background:var(--mist)}
.section-title{font:400 var(--type-section)/1.2 var(--serif);letter-spacing:-.035em;color:var(--navy);margin:clamp(3rem,6vw,5.5rem) 0 clamp(3.8rem,7vw,7rem)}
.wirken-content{border-top:1px solid var(--rule)}
.wirken-row{display:grid;grid-template-columns:minmax(190px,26%) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);border-bottom:1px solid var(--rule);padding:2.4rem 0 2.7rem}
.wirken-row h3{font-size:1.25rem;letter-spacing:-.015em;line-height:1.45;font-weight:600;text-transform:none;color:var(--navy);margin:.15rem 0 0}
.wirken-row p{max-width:850px;line-height:1.7;margin:0;font-size:var(--type-body);color:var(--navy)}
.wirken-row p span{color:inherit;padding-inline:.18em}
.wirken-row .stations{font-family:var(--sans);font-size:var(--type-body);letter-spacing:0;line-height:1.7;color:var(--navy)}
.countries{background:#fff}
.countries-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,32%);gap:3rem;align-items:end}
.countries-heading .section-title{margin:0}
.country-number{font-variant-numeric:lining-nums}
.countries-heading>p{max-width:370px;margin:0 0 .4rem;font-size:var(--type-body);line-height:1.68}
.map-block{margin-top:clamp(3.4rem,6vw,6rem)}
.map-viewport{position:relative;width:100%;background:#f2f5f6;overflow:hidden;border-top:1px solid rgba(16,38,81,.09);border-bottom:1px solid rgba(16,38,81,.09)}
#world-map{width:100%;height:auto;min-height:280px}
.world-land{fill:#d7dfe3;stroke:#fff;stroke-width:.65;vector-effect:non-scaling-stroke}
.world-land.is-visited{fill:#6f889e;cursor:pointer;transition:fill .15s ease}
.world-land.is-visited:hover,.world-land.is-visited.is-current{fill:var(--navy)}
.map-point{fill:#6f889e;stroke:#f2f5f6;stroke-width:2;vector-effect:non-scaling-stroke;cursor:pointer}
.map-point.is-current,.map-point:hover{fill:var(--navy)}
.map-hit{fill:transparent;cursor:pointer}
.map-tooltip{position:absolute;z-index:4;pointer-events:none;min-width:max-content;background:var(--navy);color:#fff;font-size:var(--type-meta);line-height:1.3;padding:.56rem .75rem;transform:translate(12px,-125%)}
.map-footer{display:flex;justify-content:space-between;gap:1rem;min-height:3.2rem;align-items:center;border-bottom:1px solid var(--rule)}
.map-instruction,.map-selection{margin:.45rem 0;font-size:var(--type-meta);line-height:1.5;color:var(--navy)}
.map-instruction{display:none}
.mobile-note{display:none}
.map-selection{color:var(--navy);font-weight:600;text-align:right}
.countries-details{margin-top:1.65rem}
.countries-details summary{display:inline-block;cursor:pointer;list-style:none;font-size:var(--type-meta);color:var(--navy);padding:.3rem 0;border-bottom:1px solid var(--navy)}
.countries-details summary::-webkit-details-marker{display:none}
.countries-list{padding:1.8rem 0 0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:2rem;row-gap:.2rem}
.countries-list button{background:none;border:0;color:var(--navy);cursor:pointer;text-align:left;padding:.35rem 0;font-size:var(--type-meta);line-height:1.5}
.countries-list button:hover,.countries-list button:focus-visible{text-decoration:underline;text-underline-offset:.25em;color:var(--navy)}
.presence{background:var(--paper)}
.presence .section-title{margin-bottom:clamp(3rem,5vw,5rem)}
.presence-tabs{display:flex;gap:clamp(1.5rem,3.4vw,3.7rem);border-bottom:1px solid var(--rule);overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--rule) transparent}
.presence-tabs button{flex:0 0 auto;color:var(--navy);border:0;border-bottom:2px solid transparent;background:none;cursor:pointer;padding:1.1rem 0 1.2rem;white-space:nowrap;font-size:1.125rem;line-height:1.4;min-height:52px}
.presence-tabs button[aria-selected="true"]{color:var(--navy);border-color:var(--navy);font-weight:600}
.presence-panel{max-width:960px;margin-top:2rem}
.presence-panel[hidden]{display:none}
.presence-entry{padding:1.75rem 0 2rem;border-bottom:1px solid var(--rule);overflow-wrap:anywhere}
.presence-entry:last-child{border-bottom:0}
.presence-entry p{margin:0;font-size:var(--type-body);line-height:1.68;font-family:var(--sans);font-weight:400;color:var(--navy)}
.presence-entry strong{font-family:inherit;font-size:inherit;line-height:inherit;font-weight:700;color:inherit}
.contact{background:#fff}
.contact-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,41%);gap:3rem;align-items:end;margin-top:clamp(3.8rem,6vw,6rem)}
.contact-details{grid-column:2}
.contact-details{padding-bottom:.6rem}
.contact-details p{font-size:var(--type-body);margin:0 0 .55rem}
.email-link{display:inline-block;font-family:var(--sans);font-size:var(--type-body);line-height:1.5;letter-spacing:0;color:var(--navy);border-bottom:1px solid var(--navy);padding-bottom:.27rem;overflow-wrap:anywhere}
.email-link:hover,.email-link:focus-visible{border-bottom-color:var(--warm)}
.linkedin-link{display:flex;align-items:center;justify-content:flex-start;width:44px;height:44px;color:var(--navy);margin-top:1.55rem}
.linkedin-link:hover,.linkedin-link:focus-visible{color:var(--warm)}
.site-footer{background:var(--navy);color:#f2f4f7}
.footer-inner{min-height:110px;display:flex;align-items:center;justify-content:space-between;gap:2rem;font-size:var(--type-meta);letter-spacing:0}
.footer-inner nav{display:flex;gap:2.2rem}
.footer-inner a:hover{text-decoration:underline;text-underline-offset:.3em}
.legal-page{min-height:calc(100svh - 196px);background:var(--paper)}
.legal-page .shell{max-width:1320px}
.legal-content{max-width:760px;padding-block:clamp(5rem,9vw,9rem) clamp(7rem,10vw,10rem)}
.legal-content h1{font:400 var(--type-section)/1.2 var(--serif);letter-spacing:-.035em;color:var(--navy);margin:0 0 4rem}
.legal-content h2{font:600 var(--type-subheading)/1.3 var(--sans);color:var(--navy);margin:2.4rem 0 .7rem}
.legal-content p,.legal-content address{font-style:normal;line-height:1.75;margin:.4rem 0 1.3rem}
.legal-content a{text-decoration:underline;text-underline-offset:.24em}
.legal-content a:hover,.legal-content a:focus-visible{text-decoration-color:var(--warm)}
.legal-note{border-top:1px solid var(--rule);margin-top:4rem;padding-top:1.5rem;color:var(--navy);font-size:var(--type-meta)}
@media(max-width:1100px){.hero-copy{padding-left:5vw;padding-right:5vw}.hero-field{max-width:28rem}.countries-heading{grid-template-columns:1fr 38%}}
@media(max-width:1000px){.intro-layout{grid-template-columns:1fr;gap:2.4rem}.intro-content{max-width:700px}}
@media(min-width:781px) and (max-width:900px){:root{--type-statement:1.875rem}.hero h1{font-size:2.5rem}}
@media(max-width:780px){
  :root{--type-statement:1.875rem;--type-section:2rem;--type-intro:1.875rem;--type-subheading:1.375rem;--type-body:1.125rem;--type-meta:1rem;--type-nav:1.125rem}
  .shell{width:min(100% - 2.5rem,600px)}
  .section-space{padding-block:5.5rem}
  .header-inner{height:70px}
  .menu-toggle{display:inline-flex;align-items:center;gap:.85rem;padding:.75rem 0 .75rem .75rem;border:0;background:none;color:var(--navy);font-size:var(--type-nav);font-weight:500;cursor:pointer;min-height:48px}
  .menu-mark{display:flex;flex-direction:column;gap:5px;width:20px}
  .menu-mark span{height:1px;width:20px;background:currentColor}
  .primary-nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--paper);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:1.15rem max(1.25rem,calc((100vw - 600px)/2));box-shadow:0 16px 24px rgba(16,38,81,.06)}
  .primary-nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:0}
  .primary-nav a{font-size:var(--type-nav);padding:.82rem 0;min-height:46px;border-bottom:1px solid var(--rule)}
  .primary-nav a:last-child{border-bottom:0}
  .hero{display:flex;flex-direction:column;min-height:0}
  .hero-copy{display:block;padding:clamp(4rem,9vw,6rem) max(1.25rem,calc((100vw - 600px)/2)) 3.2rem}
  .hero-copy-inner{max-width:600px}
  .hero-field{font-size:clamp(.9375rem,2.7vw,1.0625rem);letter-spacing:-.03em;line-height:1.5;margin-bottom:3.1rem;max-width:none}
  .hero-field span{padding:0}
  .hero h1{font-size:2.375rem}
  .hero-statement{font-size:var(--type-statement);margin-top:2.9rem}
  .coordinates{font-size:var(--type-meta)}
  .hero-image{height:clamp(385px,93vw,640px);min-height:0}
  .hero-image img{object-position:50% 24%}
  .hero-image img{transform:none}
  .intro-layout,.countries-heading,.contact-layout{grid-template-columns:1fr;gap:2.8rem}
  .intro-lead{white-space:normal;margin:1.65rem 0 3.3rem}
  .intro-lead span{display:block}
  .intro h2{font-size:var(--type-section);margin:0}
  .intro-content p+p{margin-top:2.4rem}
  .expertise-grid{grid-template-columns:1fr;gap:0;padding-top:2rem}
  .expertise article{padding:2rem 0 2.3rem;border-bottom:1px solid var(--rule)}
  .expertise article:last-child{border-bottom:0}
  .expertise h3{font-size:var(--type-subheading);margin-bottom:1rem}
  .expertise p{max-width:460px}
  .section-title{font-size:var(--type-section);margin:3rem 0 3.4rem}
  .wirken-row{grid-template-columns:1fr;gap:.9rem;padding:1.9rem 0 2.2rem}
  .wirken-row h3{margin:0}
  .wirken-row p{font-size:var(--type-body)}
  .wirken-row .stations{font-size:var(--type-body)}
  .countries-heading{gap:1.35rem}
  .countries-heading>p{margin:0;max-width:570px}
  .map-block{margin-top:3.1rem}
  .map-viewport{margin-inline:calc((100vw - min(100vw - 2.5rem,600px)) / -2);overflow-x:auto;scrollbar-width:thin;scrollbar-color:#a6b5c0 transparent}
  #world-map{width:850px;max-width:none;min-height:0}
  .mobile-note{display:inline}
  .map-instruction{display:block}
  .map-footer{min-height:3.7rem;flex-wrap:wrap}
  .map-selection{text-align:left;font-size:var(--type-meta)}
  .map-tooltip{display:none}
  .countries-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem 1rem}
  .presence-tabs{margin-right:calc((100vw - min(100vw - 2.5rem,600px)) / -2);padding-right:1.25rem;gap:1.8rem}
  .presence-tabs button{font-size:var(--type-nav);min-height:55px}
  .presence-entry{padding:1.65rem 0 1.85rem}
  .presence-entry p{font-size:var(--type-body);line-height:1.68}
  .contact-layout{gap:2.7rem}
  .contact-details{grid-column:1}
  .footer-inner{padding-block:2.2rem;min-height:0}
}
@media(max-width:420px){
  .shell{width:calc(100% - 2.25rem)}
  .hero-copy{padding-inline:1.125rem}
  .hero h1{font-size:2.375rem}
  .hero-statement{font-size:var(--type-statement);line-height:1.2}
  .hero-image{height:110vw;max-height:470px}
  .hero-image img{object-position:50% 28%}
  .map-viewport{margin-inline:-1.125rem}
  .map-viewport svg{min-height:0}
  .countries-list{grid-template-columns:1fr 1fr}
  .footer-inner{flex-direction:column;align-items:flex-start;gap:1.1rem}
}
@media(min-width:370px) and (max-width:780px){.hero-field{white-space:nowrap}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
