/* Standalone site shell. Page-specific approved content styles load first. */
html{background:#091823;scroll-behavior:auto;color-scheme:dark}
body{min-width:280px;margin:0;background:#091823}
*,*:before,*:after{box-sizing:border-box}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #e8874d;outline-offset:5px}
.skip-link{position:absolute;left:20px;top:-100px;z-index:20;background:#fff;color:#14232d;padding:12px 18px;border-radius:4px}
.skip-link:focus{top:12px}
.site-header{background:#fff;color:#14232d;border-bottom:1px solid #e9eef1;color-scheme:light}
.site-header-inner{max-width:1240px;margin:auto;min-height:92px;padding:12px 28px;display:flex;align-items:center;gap:24px}
.site-brand{flex:0 0 188px;display:block;line-height:1}
.site-brand img{width:188px;height:auto;aspect-ratio:1624/480;object-fit:contain}
.primary-nav{display:flex;align-items:center;justify-content:flex-end;flex:1;gap:21px}
.primary-nav a{font-size:15px;font-weight:700;line-height:1.4;text-decoration:none;white-space:nowrap;padding:10px 0;border-bottom:2px solid transparent}
.primary-nav a[aria-current="page"]{color:#a94b1f;border-bottom-color:#e8874d}
.primary-nav a:hover{color:#a94b1f}
.language-switch{display:flex;gap:4px;flex:none;padding-left:16px;border-left:1px solid #dce5e9}
.language-switch a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:5px 7px;color:#526571;font-size:11px;font-weight:700;line-height:1.2;text-decoration:none;border:1px solid transparent;border-radius:5px}
.language-switch img{width:24px;height:16px;object-fit:cover;box-shadow:0 0 0 1px #0002}
.language-switch a[aria-current="true"]{background:#edf3f5;border-color:#c8d6df;color:#14232d}
.language-switch a:hover{border-color:#e8874d}
.menu-toggle{display:none;font:inherit;border:1px solid #c8d6df;border-radius:5px;background:#fff;color:#14232d;padding:8px 10px;cursor:pointer;font-size:14px}
main{min-height:50vh}
.hero{width:100%;max-width:1366px;margin-inline:auto}
.hero .wrap{max-width:1240px}
.publications{padding-top:12px}
.publications>h2{margin-top:36px}
.publication{padding:20px 0;border-bottom:1px solid #314653}
.publication p{font-size:16px;line-height:1.65;margin-bottom:12px}
.publication-links{display:flex;gap:10px 20px;flex-wrap:wrap}
.publication-links a{color:#ffae7b;font-size:15px;text-underline-offset:4px;overflow-wrap:anywhere}
.citation{overflow-wrap:anywhere}
.footer{margin-top:48px}
.footer .wrap{max-width:1240px}
.footer nav{gap:24px}
.footer a[aria-current="page"]{text-decoration:underline;text-underline-offset:5px}
.footer .footer-linkedin{padding:6px}
.footer .footer-linkedin img{width:28px;height:28px}
.legal:empty{display:none}
.home-project-title{max-width:none}
.home-brand-panel img{width:100%;height:auto}
@media(max-width:1180px){.site-header-inner{gap:18px}.site-brand,.site-brand img{width:164px;flex-basis:164px}.primary-nav{gap:15px}.primary-nav a{font-size:14px}.language-switch{padding-left:10px}}
@media(max-width:1000px){
 .site-header-inner{flex-wrap:wrap;gap:14px;min-height:82px}
 .site-brand{margin-right:auto}
 .language-switch{border:0;padding:0}
 .js .menu-toggle{display:block}
 .primary-nav{order:4;flex-basis:100%;display:flex;justify-content:flex-start;flex-wrap:wrap;gap:8px 22px;padding:10px 0;border-top:1px solid #e0e8ec}
 .primary-nav a{font-size:16px;padding:8px 0}
 .js .primary-nav:not(.is-open){display:none}
}
@media(max-width:600px){
 .site-header-inner{padding:12px 20px;gap:10px;min-height:76px}
 .site-brand,.site-brand img{width:148px;flex-basis:148px}
 .primary-nav{flex-direction:column;align-items:stretch;gap:0}
 .primary-nav a{padding:12px 4px}
 .language-switch a{padding:4px 5px}
 .footer .wrap{align-items:flex-start;flex-direction:column}
 .footer nav{gap:16px;flex-wrap:wrap}
}
@media(max-width:380px){.site-header-inner{padding-inline:14px;gap:7px}.site-brand,.site-brand img{width:112px;flex-basis:112px}.menu-toggle{padding:8px;font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{.site-header,.footer,.back,.skip-link{display:none}body{background:white;color:black}.hero{color:black}.hero>img,.hero:after{display:none}.card{break-inside:avoid}.detail-copy{background:white}}
