@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Merriweather:wght@700&display=swap";:root{--color-primary:#0b2a5b;--color-primary-soft:#123a7a;--color-accent:#2e86de;--color-accent-soft:#4da3ff;--color-text:#1f2937;--color-muted:#667085;--color-line:#dce5f2;--color-surface:#f6f9fd;--color-white:#fff;--font-heading:"Merriweather", Georgia, serif;--font-body:"Inter", Roboto, Arial, sans-serif;color:var(--color-text);background:var(--color-white);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.6}*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input,textarea,select{font:inherit}.app-shell{background:var(--color-white);min-height:100vh}.site-header{background:var(--color-primary);color:var(--color-white);z-index:20;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;min-height:72px;padding:12px 40px;display:grid;position:sticky;top:0}.brand{font-family:var(--font-heading);font-size:24px;font-weight:700;text-decoration:none}.main-nav{flex-wrap:wrap;justify-content:center;align-items:center;gap:4px;display:flex}.main-nav a,.language-switcher button,.primary-link,.action-row a{border-radius:6px;text-decoration:none;transition:background-color .16s,color .16s,border-color .16s}.main-nav a{color:#ffffffdb;padding:8px 10px;font-size:15px;line-height:1.25}.main-nav a:hover,.main-nav a.active{color:var(--color-white);background:#4da3ff2e}.language-switcher{gap:4px;display:flex}.language-switcher button{color:#ffffffc7;cursor:pointer;background:0 0;border:1px solid #ffffff40;min-width:42px;padding:6px 8px}.language-switcher button:hover,.language-switcher button.active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-white)}.home-hero{color:var(--color-white);background-position:50%;background-size:cover;align-items:center;min-height:calc(100vh - 72px);padding:80px 48px;display:flex;position:relative}.home-hero:before{content:"";background:linear-gradient(90deg,#0b2a5bf0,#123a7ab8,#0b2a5b66);position:absolute;inset:0}.home-hero__content{z-index:1;max-width:780px;position:relative}.eyebrow,.meta{color:var(--color-accent);letter-spacing:0;text-transform:uppercase;margin:0 0 12px;font-size:14px;font-weight:700}.home-hero h1,.page-heading h1{font-family:var(--font-heading);letter-spacing:0;margin:0;font-size:48px;line-height:1.16}.home-hero p:not(.eyebrow){color:#ffffffe0;max-width:680px;margin:24px 0 32px;font-size:20px}.primary-link{background:var(--color-accent);color:var(--color-white);padding:12px 18px;font-weight:700;display:inline-flex}.primary-link:hover,.action-row a:hover{background:var(--color-accent-soft)}.content-page{max-width:1120px;margin:0 auto;padding:64px 48px 88px}.content-page.narrow{max-width:820px}.page-heading{border-bottom:1px solid var(--color-line);margin-bottom:32px;padding-bottom:24px}.page-heading .eyebrow{color:var(--color-accent)}.page-heading h1{color:var(--color-primary)}.section-list,.team-list,.publication-list,.trip-list{gap:20px;display:grid}.text-section{border-left:4px solid var(--color-line);padding:2px 0 2px 24px}.text-section--highlight{background:var(--color-surface);border-color:var(--color-accent);border-radius:8px;padding:24px}.text-section h2,.team-member h2,.publication h3,.achievement h3,.trip-card h3{color:var(--color-primary);font-family:var(--font-heading);letter-spacing:0;margin:0 0 10px;line-height:1.25}.text-section p,.team-member p,.publication p,.achievement p,.trip-card p,.contact-box p{margin:0 0 12px}.team-member{border-bottom:1px solid var(--color-line);grid-template-columns:180px 1fr;align-items:start;gap:28px;padding:28px 0;display:grid}.team-member img,.photo-placeholder{aspect-ratio:1;border-radius:8px;width:180px}.team-member img{object-fit:cover}.photo-placeholder{background:var(--color-surface);border:1px solid var(--color-line);color:var(--color-primary);font-family:var(--font-heading);justify-content:center;align-items:center;font-size:42px;display:flex}.role,.metrics{color:var(--color-muted);font-weight:600}.profile-links,.action-row{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.profile-links a{color:var(--color-accent);font-weight:700}.accordion{border:1px solid var(--color-line);border-radius:8px;margin-bottom:18px;overflow:hidden}.accordion>button{background:var(--color-primary);color:var(--color-white);cursor:pointer;border:0;justify-content:space-between;align-items:center;width:100%;padding:18px 22px;font-weight:700;display:flex}.accordion-body{padding:24px}.publication,.achievement,.trip-card,.contact-box{background:var(--color-white);border:1px solid var(--color-line);border-radius:8px;padding:22px}.publication .meta,.trip-card .meta{color:var(--color-muted)}.action-row a{background:var(--color-accent);color:var(--color-white);padding:8px 12px;font-weight:700}.achievement-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:24px;display:grid}.achievement img{aspect-ratio:4/3;object-fit:cover;border-radius:6px;width:100%;margin-bottom:14px}.trip-card{grid-template-columns:1.2fr .8fr;gap:24px;display:grid}.carousel-image{background:var(--color-surface);cursor:zoom-in;border:0;border-radius:8px;width:100%;padding:0;display:block;overflow:hidden}.carousel-image img{aspect-ratio:4/3;object-fit:cover;width:100%;display:block}.carousel-controls{justify-content:center;gap:8px;margin-top:12px;display:flex}.carousel-controls button{background:var(--color-line);cursor:pointer;border:0;border-radius:999px;width:10px;height:10px;padding:0}.carousel-controls button.active{background:var(--color-accent)}.image-modal{color:var(--color-white);cursor:zoom-out;z-index:50;background:#0b2a5be0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:32px;display:flex;position:fixed;inset:0}.image-modal img{object-fit:contain;border-radius:8px;max-width:min(1100px,100%);max-height:82vh}.contact-box a{color:var(--color-accent);font-size:18px;font-weight:700}.page-state{color:var(--color-muted);max-width:720px;margin:80px auto;padding:0 24px}@media (width<=900px){.site-header{grid-template-columns:1fr;padding:16px 20px}.main-nav{flex-wrap:wrap;justify-content:start}.home-hero,.content-page{padding-left:24px;padding-right:24px}.home-hero h1,.page-heading h1{font-size:34px}.team-member,.trip-card{grid-template-columns:1fr}.team-member img,.photo-placeholder{width:132px}}
