@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
:root{--hwa-blue:#1680bd;--hwa-blue-dark:#116da5;--hwa-yellow:#ffd229;--hwa-white:#fff;--hwa-text:#1679b5;--border:#e5edf3;--nav-height:74px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;color:#1f3445;background:#f4f8fb}.site-header{width:100%;background:#fff;border-bottom:3px solid var(--hwa-yellow)}.contact-bar{min-height:66px;padding:10px 2.4%;display:flex;align-items:center;justify-content:space-between;gap:22px;background:#fff;border-bottom:1px solid #e8edf1}.contact-details{display:flex;align-items:center;gap:clamp(16px,3vw,42px);min-width:0}.contact-item{display:inline-flex;align-items:center;gap:10px;color:var(--hwa-text);font-size:13px;font-weight:500;text-decoration:none;white-space:nowrap}.contact-item svg{width:16px;height:16px;fill:currentColor;flex:none}.contact-item:hover,.social-links a:hover{color:var(--hwa-blue-dark)}.social-links{display:flex;align-items:center;gap:clamp(18px,2.5vw,36px);flex:none}.social-links a{display:inline-flex;align-items:center;justify-content:center;color:var(--hwa-text);width:20px;height:28px;transition:transform .18s ease,color .18s ease}.social-links a:hover{transform:translateY(-2px)}.social-links svg{width:20px;height:20px;fill:currentColor}.nav-shell{min-height:var(--nav-height);padding:0 2.4%;display:flex;align-items:stretch;gap:clamp(18px,2.4vw,36px);background:var(--hwa-blue)}.brand{width:190px;min-width:150px;display:flex;align-items:center;justify-content:flex-start;padding:7px 0;text-decoration:none}.brand img{display:block;width:100%;max-height:65px;object-fit:contain;object-position:left center}.primary-nav{display:flex;align-items:stretch;justify-content:space-between;flex:1;min-width:0;gap:4px}.nav-link{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;min-height:var(--nav-height);padding:0 clamp(9px,1.15vw,18px);border:0;border-radius:0;background:transparent;color:#fff;text-decoration:none;text-transform:uppercase;white-space:nowrap;font-family:Inter,Arial,sans-serif;font-size:13px;font-weight:800;letter-spacing:-.25px;cursor:pointer}.nav-link:after{content:"";position:absolute;bottom:15px;left:12px;right:12px;height:3px;background:#fff;transform:scaleX(0);transform-origin:center;transition:transform .18s ease}.nav-link:hover:after,.nav-link:focus-visible:after,.nav-link.active:after{transform:scaleX(1)}.nav-link.active{color:var(--hwa-yellow)}.nav-link:focus-visible,.dropdown-menu a:focus-visible,.social-links a:focus-visible{outline:2px solid var(--hwa-yellow);outline-offset:-3px}.nav-dropdown{position:relative;display:flex;align-items:stretch}.chevron{display:inline-block;width:7px;height:7px;flex:none;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-4px;opacity:.9;transition:transform .18s ease,margin-top .18s ease}.nav-dropdown.open>.dropdown-toggle .chevron{transform:rotate(225deg);margin-top:4px}.dropdown-menu{display:none;position:absolute;top:100%;left:0;min-width:245px;max-width:330px;background:#fff;border-top:4px solid var(--hwa-yellow);box-shadow:0 12px 28px rgba(13,45,68,.2);z-index:50;padding:7px 0}.dropdown-menu a{display:block;padding:12px 17px;color:#28516b;text-decoration:none;text-transform:uppercase;font-size:12px;font-weight:700;line-height:1.45;border-bottom:1px solid #edf2f5}.dropdown-menu a:last-child{border-bottom:0}.dropdown-menu a:hover{background:#edf7fc;color:var(--hwa-blue-dark)}.nav-dropdown.open>.dropdown-menu{display:block}.departments-menu{min-width:285px}.menu-toggle{display:none}.preview-content{max-width:1180px;margin:48px auto;padding:0 24px}.preview-label{display:inline-block;color:var(--hwa-blue);font-size:11px;font-weight:800;letter-spacing:1.5px}.preview-content h1{font-size:clamp(28px,4vw,44px);margin:12px 0;color:#173e59}.preview-content p{max-width:620px;color:#63798a;line-height:1.7;font-size:15px}
@media (min-width:1400px){.nav-link{font-size:14px;padding-left:clamp(12px,1.25vw,22px);padding-right:clamp(12px,1.25vw,22px)}.brand{width:210px}}
@media (max-width:1050px){.contact-bar{padding:10px 18px}.contact-details{gap:16px;flex-wrap:wrap}.contact-item{font-size:12px}.nav-shell{padding:0 18px;gap:18px}.brand{width:150px;min-width:130px}.nav-link{font-size:11px;padding:0 8px}.nav-link:after{left:8px;right:8px}}
@media (max-width:780px){.contact-bar{align-items:flex-start;flex-direction:column;gap:10px;padding:12px 16px}.contact-details{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;width:100%}.contact-item{white-space:normal;align-items:flex-start;font-size:11px}.contact-item svg{width:15px;height:15px}.social-links{gap:24px;align-self:flex-end}.nav-shell{position:relative;min-height:76px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:5px 16px}.brand{width:160px;min-width:0;padding:4px 0}.brand img{max-height:62px}.menu-toggle{display:flex;align-items:center;gap:10px;padding:12px 14px;background:transparent;border:1px solid rgba(255,255,255,.6);color:#fff;font-family:inherit;font-size:12px;font-weight:800;letter-spacing:.4px;cursor:pointer}.menu-lines,.menu-lines:before,.menu-lines:after{display:block;width:18px;height:2px;background:#fff;position:relative}.menu-lines:before,.menu-lines:after{content:"";position:absolute;left:0}.menu-lines:before{top:-6px}.menu-lines:after{top:6px}.primary-nav{display:none;flex:0 0 calc(100% + 32px);width:calc(100% + 32px);margin:0 -16px -5px;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid rgba(255,255,255,.2)}.primary-nav.is-open{display:flex}.nav-link{justify-content:space-between;text-align:left;min-height:48px;width:100%;padding:0 20px;font-size:13px;border-bottom:1px solid rgba(255,255,255,.15)}.nav-link:after{bottom:0;left:20px;right:auto;width:54px;height:3px}.nav-dropdown{display:block}.dropdown-menu{position:static;min-width:0;max-width:none;box-shadow:none;border-top:0;padding:0;background:#0f6fa8}.dropdown-menu a{padding:12px 32px;color:#fff;font-size:11px;border-color:rgba(255,255,255,.12)}.dropdown-menu a:hover{background:#0b6398;color:#fff}.chevron{margin-left:auto}.preview-content{margin:30px auto}}
@media (max-width:420px){.contact-details{grid-template-columns:1fr}.social-links{align-self:flex-start}.brand{width:140px}.menu-toggle{padding:10px 11px}}


/* Department fly-out menus: each department reveals its own offices/units */
.departments-menu{min-width:290px;max-width:none;max-height:calc(100vh - 180px);overflow:visible}
.department-item{position:relative;border-bottom:1px solid #edf2f5}
.department-item:last-child{border-bottom:0}
.department-toggle{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:12px 17px;border:0;background:#fff;color:#28516b;text-align:left;text-transform:uppercase;font:700 12px/1.45 Inter,Arial,sans-serif;cursor:pointer}
.department-toggle:hover,.department-item.open>.department-toggle{background:#edf7fc;color:var(--hwa-blue-dark)}
.side-chevron{font-size:22px;line-height:12px;color:var(--hwa-blue);flex:none}
.office-submenu{display:none;position:absolute;top:0;left:100%;min-width:285px;max-width:340px;max-height:calc(100vh - 24px);overflow-y:auto;overscroll-behavior:contain;background:#fff;border-top:4px solid var(--hwa-yellow);box-shadow:0 12px 28px rgba(13,45,68,.2);z-index:60;padding:5px 0}
.department-item:hover>.office-submenu,.department-item:focus-within>.office-submenu,.department-item.open>.office-submenu{display:block}
.office-submenu a{display:block;padding:11px 15px;color:#28516b;text-decoration:none;text-transform:uppercase;font-size:11px;font-weight:700;line-height:1.45;border-bottom:1px solid #edf2f5}
.office-submenu a:last-child{border-bottom:0}
.office-submenu a:hover{background:#edf7fc;color:var(--hwa-blue-dark)}
@media(max-width:780px){
 .departments-menu{max-height:none;overflow:visible}
 .department-toggle{padding:13px 32px;background:#0f6fa8;color:#fff;font-size:11px;border-bottom:1px solid rgba(255,255,255,.12)}
 .department-toggle:hover,.department-item.open>.department-toggle{background:#0b6398;color:#fff}
 .side-chevron{color:#fff;transform:rotate(90deg)}
 .office-submenu{position:static;top:auto!important;left:auto;right:auto;min-width:0;max-width:none;max-height:none;overflow:visible;box-shadow:none;border-top:0;padding:0;background:#075987}
 .office-submenu a{padding:11px 44px;color:#fff;font-size:10px;border-color:rgba(255,255,255,.12)}
 .office-submenu a:hover{background:#064f78;color:#fff}
}

/* Professional alignment for the rightmost DIGITALIZATION dropdown */
.primary-nav > .nav-dropdown:last-child > .dropdown-menu {
  left: auto;
  right: 0;
  width: 320px;
  min-width: 300px;
  max-width: min(360px, calc(100vw - 24px));
}
.primary-nav > .nav-dropdown:last-child > .dropdown-menu a {
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
  padding: 13px 18px;
  font-size: 12px;
  line-height: 1.5;
}
.primary-nav > .nav-dropdown:last-child > .dropdown-menu a:hover {
  padding-left: 22px;
  transition: padding-left .16s ease, background-color .16s ease;
}

/* Keep every department office fly-out inside the viewport.
   The Departments menu sits toward the right of the page, so open its
   office lists to the LEFT instead of creating horizontal page overflow. */
@media (min-width: 781px) {
  .department-item > .office-submenu {
    left: auto;
    right: 100%;
    width: 300px;
    min-width: 285px;
    max-width: min(340px, calc(100vw - 24px));
  }
  html, body {
    max-width: 100%;
    overflow-x: clip;
  }
}
@media (max-width: 780px) {
  .primary-nav > .nav-dropdown:last-child > .dropdown-menu {
    left: auto;
    right: auto;
    width: 100%;
    min-width: 0;
    max-width: none;
  }
}

/* Clean, consistent CSS chevrons for top-level dropdowns (no text glyphs). */
.nav-link.dropdown-toggle .chevron {
  display: inline-block;
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border: 0;
  border-right: 1.8px solid currentColor;
  border-bottom: 1.8px solid currentColor;
  margin: -3px 0 0 2px;
  opacity: .95;
  transform: rotate(45deg);
  transition: transform .18s ease, margin .18s ease;
  font-size: 0;
  line-height: 0;
}
.nav-dropdown.open > .dropdown-toggle .chevron {
  transform: rotate(225deg);
  margin-top: 3px;
}
.nav-link.dropdown-toggle .chevron::before { content: none !important; display: none !important; }
@media (max-width: 780px) {
  .nav-link.dropdown-toggle .chevron { margin-left: auto; }
}


/* Full-width image carousel: images only, no captions or text overlays */
.home-slider {
  position: relative;
  width: 100%;
  height: clamp(360px, calc(100vh - 145px), 720px);
  min-height: 360px;
  overflow: hidden;
  background: #eaf5fb;
  isolation: isolate;
}
.slider-track, .slide { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; }
.slide { opacity: 0; visibility: hidden; transition: opacity 850ms ease, visibility 850ms ease; }
.slide.is-active { opacity: 1; visibility: visible; z-index: 1; }
.slide img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.slider-control {
  position: absolute; top: 50%; z-index: 3; transform: translateY(-50%);
  display: grid; place-items: center; width: 46px; height: 46px; padding: 0;
  border: 1px solid rgba(255,255,255,.75); border-radius: 50%;
  background: rgba(16, 91, 139, .62); color: #fff; cursor: pointer;
  transition: background .2s ease, transform .2s ease;
}
.slider-control:hover { background: #116da5; transform: translateY(-50%) scale(1.05); }
.slider-control svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.slider-prev { left: clamp(14px, 3vw, 42px); }
.slider-next { right: clamp(14px, 3vw, 42px); }
.slider-dots { position: absolute; z-index: 3; bottom: 22px; left: 50%; transform: translateX(-50%); display: flex; align-items: center; gap: 10px; padding: 8px 12px; border-radius: 999px; background: rgba(9, 43, 66, .24); }
.slider-dot { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.65); cursor: pointer; transition: width .2s ease, background .2s ease; }
.slider-dot.is-active { width: 24px; border-radius: 99px; background: var(--hwa-yellow); }
.slider-control:focus-visible, .slider-dot:focus-visible { outline: 3px solid var(--hwa-yellow); outline-offset: 3px; }
@media (max-width: 780px) {
  .home-slider { height: clamp(300px, 62vh, 560px); min-height: 300px; }
  .slider-control { width: 40px; height: 40px; }
  .slider-dots { bottom: 15px; }
}
@media (prefers-reduced-motion: reduce) { .slide, .slider-control, .slider-dot { transition: none; } }


/* Partners and Stakeholders — continuously moving horizontal carousel */
.partners-section{background:#fff;padding:76px 24px 84px;color:#172b3a;overflow:hidden}
.partners-container{width:min(1200px,100%);margin:0 auto}
.partners-heading{max-width:720px;margin:0 0 34px}
.partners-heading .section-eyebrow{margin:0 0 10px;color:#1680b8;font-size:11px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase}
.partners-heading h2{margin:0;color:#172b3a;font-size:clamp(27px,3vw,34px);line-height:1.2;font-weight:750;letter-spacing:-.6px}
.partners-intro{max-width:680px;margin:14px 0 0;color:#647482;font-size:15px;line-height:1.7}
.partners-marquee-viewport{width:100%;overflow:hidden;position:relative;padding:4px 2px 16px;}
.partners-track{display:flex;flex-wrap:nowrap;align-items:stretch;gap:24px;width:max-content;animation:partners-scroll 36s linear infinite;}
.partner-card{flex:0 0 clamp(260px,28vw,340px);min-width:0;display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #e4edf3;border-radius:14px;box-shadow:0 4px 16px rgba(20,68,96,.055);transition:transform .2s ease,box-shadow .2s ease}
.partner-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(20,68,96,.12)}
.partners-marquee-viewport:hover .partners-track,.partners-marquee-viewport:focus-within .partners-track{animation-play-state:paused}
.partners-marquee-viewport:focus-within{outline:2px solid #1680b8;outline-offset:3px;border-radius:14px}
.partner-logo-frame{height:132px;margin:20px 20px 0;border-radius:12px;background:#e8f5fb;display:flex;align-items:center;justify-content:center;padding:16px}
.partner-logo-frame img{display:block;max-width:100%;max-height:100px;object-fit:contain}
.partner-card-content{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:24px 20px 22px}
.partner-card h3{margin:0 0 12px;color:#16265f;font-size:18px;line-height:1.35;font-weight:700}
.partner-card p{margin:0 0 24px;color:#6d7881;font-size:14px;line-height:1.65}
.partner-card a{display:inline-flex;align-items:center;gap:8px;margin-top:auto;color:#1382bd;text-decoration:none;font-size:14px;font-weight:650}
.partner-card a:hover{color:#075d8e;text-decoration:underline}
.partner-card a span{font-size:20px;line-height:1}
@keyframes partners-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(max-width:950px){.partners-section{padding:60px 22px}}
@media(max-width:520px){.partners-section{padding:48px 16px}.partners-track{gap:16px;animation-duration:30s}.partner-card{flex-basis:min(78vw,320px)}.partner-logo-frame{height:124px;margin:16px 16px 0}.partner-card-content{padding:20px 16px}.partners-heading{margin-bottom:26px}}
@media(prefers-reduced-motion:reduce){.partners-track{animation:none;transform:none;overflow-x:auto}.partners-marquee-viewport{overflow-x:auto}.partners-track .partner-card[aria-hidden="true"]{display:none}}
/* Text-based KfW mark: avoids using an unverified logo asset. */
.partner-text-logo span{font-size:48px;font-weight:800;letter-spacing:-3px;color:#075b9a}
