/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(../assets/fonts/poppins-500-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Poppins';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(../assets/fonts/poppins-500-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../assets/fonts/poppins-500-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../assets/fonts/poppins-500-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../assets/fonts/poppins-600-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../assets/fonts/poppins-600-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../assets/fonts/poppins-700-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../assets/fonts/poppins-700-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(../assets/fonts/poppins-800-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(../assets/fonts/poppins-800-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Noto Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(../assets/fonts/noto-sans-700-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Noto Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: 100%;
  font-display: swap;
  src: url(../assets/fonts/noto-sans-700-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Anton';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../assets/fonts/anton-400-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Anton';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../assets/fonts/anton-400-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Original CAFTA typography is self-hosted; font faces are prepended below. */
:root{--ink:#3a505f;--heading:#223543;--green:#57bd5e;--nav:#198d59;--teal:#34c9b6}
*{box-sizing:border-box}
html{scroll-padding-top:90px}
body{margin:0;background:#fff;color:var(--ink);font:500 18px/32px Poppins,Arial,sans-serif;letter-spacing:.3px}
a{color:var(--green);text-decoration:none}
a:hover{color:var(--heading)}
a:focus-visible,button:focus-visible{outline:3px solid #223543;outline-offset:4px}
img{display:block;max-width:100%;height:auto}
p{margin:0 0 20px}
strong,b{font-weight:700}
h1,h2,h3{color:var(--heading)}
ul{padding-left:30px;margin:0 0 20px;list-style-type:square}
li{line-height:30px}
.container{width:1170px;max-width:100%;padding:0 15px;margin:0 auto}
.skip-link{position:absolute;left:15px;top:-100px;z-index:100;background:#fff;padding:8px 16px}
.skip-link:focus{top:10px}
.site-header{position:sticky;top:0;z-index:20;background:#fff;padding-top:10px}
.header-bar{position:relative}
.mobile-brand,.menu-toggle{display:none}
.navigation{background:var(--nav);box-shadow:0 2px 7px #0005}
.navigation ul{display:flex;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.navigation a{display:flex;align-items:center;min-height:70px;padding:0 35px;color:#fff;font:700 15px/25px 'Noto Sans',Arial,sans-serif;letter-spacing:1px}
.navigation a:hover,.navigation a[aria-current=page]{background:var(--green)}
.navigation a:focus-visible{outline-color:#fff;outline-offset:-5px}
.hero{position:relative;height:600px;isolation:isolate;overflow:hidden;letter-spacing:0}
.hero-image{position:absolute;inset:-229px 0 auto;width:100%;max-width:none;height:1081px;z-index:-1}
.hero-inner{padding-top:124px}
.hero h1{font:700 64px/72px Poppins,Arial,sans-serif;margin:0 0 65px;color:#1d2f3c;text-shadow:0 3px 4px #0006}
.hero-description{width:549px;max-width:100%;font:400 20px/34px Anton,Impact,sans-serif;color:#002533;margin:0 0 38px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:7px 35px;border-radius:25px;background:var(--green);color:#fff;font:600 17px/36px Poppins,Arial,sans-serif}
.hero-button:hover{background:#1d2f3c;color:#fff}
.hero-button.people{background:#1d2f3c;padding-inline:45px}
.hero-button.people:hover{background:var(--green)}
.home-content{padding-top:52px;padding-bottom:91px}
.home-content p,.home-content ul:first-of-type li:nth-child(-n+3){text-align:justify}
.home-content ul{padding-left:60px}
.home-content li{line-height:30px}
.text-heading{font:700 18px/32px Poppins,Arial,sans-serif;color:var(--ink);margin:0 0 20px}
.page-content{padding-top:35px;padding-bottom:115px;overflow-wrap:break-word}
.about-content{padding-top:0;padding-bottom:80px}
.about-content p.blank-line{height:32px}
.publications{padding-top:35px;padding-bottom:115px}
.publication-group:not([data-year="2026"]) p{text-align:justify}
.publication-year{display:flex;align-items:center;gap:15px;font:700 18px/18px Poppins,Arial,sans-serif;color:var(--heading);margin:0 0 35px}
.publication-year::before,.publication-year::after{content:'';height:1px;background:#ebebeb;flex:1}
.publication-group+.publication-group{margin-top:35px}
.publication-group[data-year="2022"]{margin-top:87px}
.publication-group p:last-child{margin-bottom:0}
.publication-group[data-year="2025"] p:first-of-type{margin-bottom:32px;text-align:left}
.section-intro{text-align:center;padding-top:55px;margin-bottom:110px}
.eyebrow{display:flex;align-items:center;justify-content:center;gap:15px;color:var(--teal);font:600 14px/26px Poppins,Arial,sans-serif;letter-spacing:2px;margin:0 0 10px}
.eyebrow:before,.eyebrow:after{content:'';width:150px;max-width:22%;height:6px;background:repeating-linear-gradient(135deg,#e3e4ec 0 1px,transparent 1px 3px)}
.section-intro h1{font:700 35px/48px Poppins,Arial,sans-serif;margin:0 0 16px}
.section-intro>p:last-child{max-width:570px;margin:0 auto}
.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px 30px;padding-bottom:30px}
.team-member{position:relative;min-width:0;height:333px;padding-bottom:33px}
.team-member img{width:100%;height:300px;object-fit:cover;border-radius:20px}
.team-caption{position:absolute;left:13%;right:0;bottom:0;padding:7px 20px;background:#fff;border-radius:0 0 20px 0;box-shadow:0 5px 5px #ccc8c857}
.team-caption h2{font:700 20px/23px Poppins,Arial,sans-serif;margin:0;color:#000;letter-spacing:0}
.team-caption h2 a{color:inherit}
.team-caption h2 a:hover{color:var(--green)}
.team-caption p{font:500 14px/32px Poppins,Arial,sans-serif;color:var(--teal);margin:0}
.profile{padding:15px 11% 75px}
.profile-header{display:grid;grid-template-columns:1fr 2fr;align-items:center;gap:0;margin-bottom:60px}
.profile-photo{padding-right:15px}
.profile-photo img{width:100%;border-radius:50%}
.profile-details{padding-left:40px}
.profile-heading{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:25px}
.profile-heading h1{font:800 20px/32px Poppins,Arial,sans-serif;margin:0}
.profile-role{color:var(--teal);font-size:15px;font-weight:600}
.profile-contacts{display:grid;grid-template-columns:1fr 1fr;gap:30px;font:500 16px/25px Poppins,Arial,sans-serif;color:var(--heading)}
.profile-contacts p{position:relative;padding-left:27px;margin-bottom:18px}
.profile-contacts a{color:#000}
.contact-icon{position:absolute;left:0;top:4px;width:16px;height:16px;fill:currentColor}
.profile-body{overflow-wrap:break-word}
.profile-body p[align=justify]{text-align:justify}
.contacts{text-align:center;padding-top:35px;padding-bottom:115px}
.contacts h1{font:700 16px/55px Poppins,Arial,sans-serif;margin:0}
.contacts p:last-child{margin:0}
.jobs{min-height:311.5px;padding-top:55px;text-align:center}
.jobs h1{font:700 30px/40px Poppins,Arial,sans-serif;margin:0}
.site-footer{background:#207440 url('../assets/images/footr-scaled.jpg') center/cover no-repeat}
.footer-inner{display:grid;grid-template-columns:1fr 1fr;column-gap:60px;padding-top:80px;padding-bottom:90px;align-items:start}
.footer-inner img{width:100%}
.footer-inner p{margin:35px 0 0;color:#999;font:500 15px/26px Poppins,Arial,sans-serif;text-align:justify}
.empty-page{min-height:115px}
.error-page{min-height:400px;padding-block:65px}
.error-page h1{font-size:35px;line-height:48px}
@media(min-width:1001px) and (max-width:1199px){.container{width:970px}.navigation a{padding-inline:28px}.hero{height:525px}.hero-image{top:-200px;height:946px}.hero-inner{padding-top:105px}.hero h1{font-size:60px;line-height:68px;margin-bottom:50px}.hero-description{font-size:17px;line-height:29px;width:480px;margin-bottom:30px}.team-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.team-caption{padding-inline:12px}.team-caption h2{font-size:18px}}
@media(max-width:1000px){
 .container{width:750px}.site-header{position:relative;padding:0}.header-bar{display:flex;align-items:center;justify-content:space-between;min-height:70px;flex-wrap:wrap}
 .mobile-brand{display:block;padding-block:19px;color:#000;font-size:18px;line-height:32px}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border:0;background:transparent;color:var(--heading);cursor:pointer}
 .menu-toggle span,.menu-toggle span::before,.menu-toggle span::after{display:block;width:28px;height:2px;background:currentColor;position:relative}.menu-toggle span::before,.menu-toggle span::after{content:'';position:absolute;left:0}.menu-toggle span::before{top:-8px}.menu-toggle span::after{top:8px}
 .menu-toggle[aria-expanded=true] span{background:transparent}.menu-toggle[aria-expanded=true] span::before{top:0;transform:rotate(45deg)}.menu-toggle[aria-expanded=true] span::after{top:0;transform:rotate(-45deg)}
 .navigation{flex-basis:100%;box-shadow:none}.navigation ul{display:block}.navigation a{min-height:48px;padding:10px 20px}.js .navigation:not(.is-open){display:none}
 .hero{height:auto;min-height:480px}.hero-inner{padding-block:60px}.hero-image{top:-151px;height:718px}.hero h1{font-size:56px;line-height:64px;margin-bottom:40px}.hero-description{font-size:18px;line-height:28px;width:527px;margin-bottom:30px}
 .team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 30px}.section-intro{margin-bottom:75px}
 .profile{padding:35px 0 75px}.profile-header{grid-template-columns:1fr;gap:35px}.profile-photo{padding:0;max-width:320px}.profile-details{padding:0}.profile-contacts{max-width:620px}
 .footer-inner{gap:30px}.footer-inner p{margin-top:20px}
}
@media(max-width:767px){
 .container{width:100%;padding-inline:15px}.hero{min-height:440px}.hero-inner{padding-top:50px;padding-bottom:42px}.hero-image{top:0;height:100%;object-fit:cover;object-position:center}
 .hero h1{font-size:44px;line-height:50px;margin-bottom:36px}.hero-description{font-size:18px;line-height:26px;width:414px;max-width:100%;margin-bottom:30px}
 .hero-actions{gap:12px}.hero-button{padding-inline:23px;font-size:16px;line-height:32px;min-height:48px}.hero-button.people{padding-inline:30px}
 .home-content{padding-top:45px;padding-bottom:75px}.home-content ul{padding-left:30px}.home-content p,.home-content ul:first-of-type li:nth-child(-n+3),.publications .publication-group p{text-align:left}
 .page-content,.publications,.contacts{padding-bottom:75px}.about-content{padding-top:30px}.publication-year{margin-bottom:25px}.publication-group[data-year="2022"]{margin-top:35px}
 .section-intro{padding-top:40px;margin-bottom:55px}.section-intro h1{font-size:30px;line-height:40px}.team-grid{grid-template-columns:1fr;gap:40px;padding-bottom:60px}.team-member img{height:auto;min-height:300px}.team-caption{position:relative;left:auto;right:auto;bottom:auto;margin:-36px 0 0 13%}.team-member{padding-bottom:0;height:auto}
 .profile-contacts{grid-template-columns:1fr;gap:0}.profile-header{margin-bottom:40px}.profile-heading{display:block}.profile-role{display:block;margin-top:6px}.profile-body p[align=justify]{text-align:left}
 .footer-inner{grid-template-columns:1fr;gap:50px;padding-top:70px;padding-bottom:75px}.footer-inner p{margin:0}.jobs{min-height:330px;padding-top:45px}.jobs h1{font-size:26px;line-height:38px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
