:root{--blue:#0079b9;--navy:#073451;--deep:#092a40;--red:#cf202b;--white:#fff;--mist:#f0f7fc;--line:#d7e5ed;--muted:#476377;--radius:18px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--deep);background:var(--white);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.55}img{display:block;max-width:100%}a{color:inherit}button,input,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.08;letter-spacing:-.045em}h2{font-size:clamp(2.6rem,5vw,4.35rem)}h3{font-size:1.35rem}section[id]{scroll-margin-top:24px}.wrap{width:min(1220px,calc(100% - 104px));margin-inline:auto}.skip{position:absolute;z-index:3;top:8px;left:8px;padding:10px;background:white;transform:translateY(-150%)}.skip:focus{transform:none}:focus-visible{outline:3px solid var(--blue);outline-offset:4px}.header{border-bottom:1px solid var(--line)}.nav{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:inline-flex;gap:12px;align-items:center;text-decoration:none;font-weight:800;line-height:1.15;white-space:nowrap}.brand img{border-radius:50%}.brand small{display:block;font-size:.62rem;letter-spacing:.2em;margin-top:4px;color:var(--blue)}nav{display:flex;align-items:center;gap:29px}nav>a{font-weight:650;font-size:.89rem;text-decoration:none}nav>a:not(.button):hover{color:var(--blue)}.menu{display:none}.button{display:inline-flex;justify-content:center;align-items:center;gap:14px;min-height:51px;padding:11px 18px;border:1px solid transparent;border-radius:8px;text-decoration:none;font-size:.91rem;font-weight:750;transition:background .2s,border-color .2s}.button span{font-size:1.12rem;line-height:1}.primary{color:white;background:var(--red)}.primary:hover{background:#ad1620}.outline{border-color:#afc9da;background:white}.outline:hover{background:var(--mist)}.nav-cta{min-height:43px;padding:8px 14px}.hero{background:linear-gradient(112deg,#fff 43%,#edf7fd 100%);padding:65px 0 50px}.hero-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:46px;align-items:center}.eyebrow{display:flex;align-items:center;gap:10px;color:#00659b;font-weight:850;letter-spacing:.17em;font-size:.72rem}.eyebrow span{width:20px;height:3px;background:var(--red);border-radius:2px}.eyebrow.light{color:#d5efff}.hero h1{font-size:clamp(4rem,6.6vw,7.1rem);line-height:.94;margin:24px 0;font-weight:870;letter-spacing:-.075em}.hero h1 em{display:block;color:#0076b1;font-style:normal}.hero h1 em span{color:var(--red)}.intro,.section-intro{color:var(--muted);max-width:57ch;font-size:1.06rem}.intro{font-size:1.16rem;max-width:41ch}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.hero-frame{position:relative;isolation:isolate;overflow:hidden;aspect-ratio:1.32;background:radial-gradient(ellipse at 65% 23%,#0d85bd,#073451 72%);border-radius:var(--radius)}.hero-frame img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-frame:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#052b46a8,transparent 40%);pointer-events:none}.frame-mark,.frame-label{position:absolute;z-index:1}.frame-mark{top:18px;right:18px;background:white;color:var(--navy);width:41px;height:41px;display:grid;place-items:center;border-radius:50%;font-size:1.35rem}.frame-label{bottom:19px;left:20px;color:#fff;font-weight:850;letter-spacing:.15em;font-size:.72rem}.hero-figure figcaption{display:flex;justify-content:space-between;gap:10px;margin-top:9px;color:var(--muted);font-size:.72rem}.stats{padding:33px 0 27px;color:white;background:var(--navy)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:20px}.stat{border-left:1px solid #52738a;padding-left:25px}.stat:first-child{border:0;padding-left:0}.stat-number{display:block;font-size:clamp(2.55rem,4.7vw,4.6rem);font-weight:850;letter-spacing:-.065em;line-height:1.04;font-variant-numeric:tabular-nums}.stat-label{display:block;color:#d8ebf7;font-weight:600;font-size:.88rem;margin-top:5px}.stat-note{font-size:.74rem;color:#d8ebf7;margin-top:22px}.section{padding-block:82px}.section h2{margin:13px 0 15px}.about,.contact{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.text-link{display:inline-block;color:#00659b;font-weight:750;margin-top:18px;text-underline-offset:4px}.timeline{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}.timeline li{display:grid;grid-template-columns:70px 1fr;gap:17px;padding:19px 0;border-bottom:1px solid var(--line)}.timeline li>span{color:#00659b;font-weight:850}.timeline p{color:var(--muted);margin-top:6px;font-size:.92rem}.feed{background:var(--mist)}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:23px 0}.filter{border:1px solid #bacfdd;background:white;color:var(--deep);border-radius:999px;padding:6px 13px;font-size:.85rem;font-weight:650}.filter[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:white}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.post{display:flex;flex-direction:column;background:white;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.post-media{aspect-ratio:1.45;background:var(--navy);width:100%;object-fit:cover}.post-art{position:relative;overflow:hidden;display:grid;align-content:end;gap:6px;padding:20px;color:white;background:radial-gradient(circle at 78% 22%,#168aca,#073451 69%)}.post-art:after{content:"";width:54%;aspect-ratio:1;position:absolute;right:-2%;top:-19%;border:1px solid #ffffff65;border-radius:50%;box-shadow:0 0 0 20px #ffffff22,0 0 0 42px #ffffff17}.post-art small,.post-art strong{position:relative;z-index:1}.post-art small{letter-spacing:.14em;font-size:.66rem;font-weight:750}.post-art strong{font-size:clamp(1.45rem,3vw,2.4rem);line-height:1;max-width:12ch}.post-body{padding:18px;display:flex;flex-direction:column;align-items:flex-start;flex:1}.post-meta{color:#00659b;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.post h3,.dialog-body h3{margin:8px 0}.post p:not(.post-meta),.dialog-body p:not(.post-meta){font-size:.91rem;color:var(--muted);margin-bottom:15px}.post button{color:#00659b;font-weight:750;background:none;border:none;padding:0;text-align:left;margin-top:auto}.post button:hover{text-decoration:underline}.leaders{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:26px}.leader{border:1px solid var(--line);border-radius:14px;padding:19px;min-height:145px}.leader img,.portrait-placeholder{width:54px;height:54px;object-fit:cover;border-radius:50%;margin-bottom:14px}.portrait-placeholder{display:grid;place-items:center;color:#00659b;background:var(--mist);font-weight:850}.leader h3{font-size:1.1rem}.leader p{font-size:.86rem;color:var(--muted);margin-top:6px}.join{background:var(--navy);color:white}.join-grid{display:grid;grid-template-columns:1fr .93fr;align-items:center;gap:64px}.join-grid>div>p:not(.eyebrow){color:#d8ebf7;max-width:36ch;font-size:1.08rem}.application{background:white;color:var(--deep);border-radius:var(--radius);padding:26px;display:grid;gap:13px}.application label{font-size:.86rem;font-weight:700;display:grid;gap:5px}.application label span{display:inline;color:var(--muted);font-weight:400}.application input,.application textarea{width:100%;color:var(--deep);border:1px solid #afc9da;border-radius:7px;background:white;padding:9px 11px}.application textarea{resize:vertical}.application .button{justify-self:start}.form-note{font-size:.8rem;color:var(--muted)}.form-note:empty{display:none}footer{border-top:1px solid var(--line);background:var(--mist)}.footer{display:flex;align-items:center;justify-content:space-between;padding-block:22px;gap:12px}dialog{width:min(550px,calc(100% - 26px));max-height:calc(100% - 32px);padding:0;border:0;border-radius:var(--radius);color:var(--deep)}dialog::backdrop{background:#072b45ba}.dialog-body>.post-media{max-height:300px}.dialog-text{padding:24px}.dialog-text a{font-weight:750;color:#00659b}.close{position:absolute;top:10px;right:10px;width:38px;height:38px;border:0;background:white;border-radius:50%;font-size:1.45rem;box-shadow:0 2px 10px #07345140}
@media(max-width:1000px){.wrap{width:calc(100% - 56px)}nav{gap:16px}.hero-grid{gap:26px}.hero h1{font-size:clamp(3.6rem,7.7vw,5.9rem)}.about,.contact,.join-grid{gap:33px}}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}.nav{position:relative;min-height:68px}.brand img{width:42px;height:42px}.menu{display:inline-flex;gap:7px;border:1px solid var(--line);background:white;color:var(--navy);border-radius:7px;padding:7px 10px;font-weight:700}.nav nav{display:none;position:absolute;top:calc(100% - 2px);left:0;right:0;z-index:2;align-items:stretch;background:white;padding:12px;box-shadow:0 8px 24px #07345122;border:1px solid var(--line);border-radius:8px}.nav nav.open{display:grid;gap:0}.nav nav a{padding:10px 12px}.nav-cta{margin-top:4px}.hero{padding:42px 0 28px}.hero-grid,.about,.contact,.join-grid{grid-template-columns:1fr}.hero h1{font-size:clamp(3.4rem,12vw,6rem);margin:15px 0 20px}.intro{font-size:1.03rem}.actions{margin-top:20px}.hero-frame{aspect-ratio:1.48}.stat-grid{grid-template-columns:1fr 1fr;gap:19px 10px}.stat{padding-left:14px}.stat:nth-child(odd){border:0;padding-left:0}.section{padding-block:50px}.post-grid,.leaders{grid-template-columns:repeat(2,1fr)}}
@media(max-width:460px){.post-grid{grid-template-columns:1fr}.hero-figure figcaption{font-size:.65rem}.leader{padding:14px}.application{padding:18px}.contact-row small{font-size:.72rem}.button{gap:8px;padding-inline:12px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
.frame-mark{font-size:.68rem;font-weight:850;letter-spacing:.07em}

.counting .stat.settled .stat-number {
  animation: stat-settle 420ms ease-out;
}
@keyframes stat-settle {
  0% { transform: translateY(0); }
  36% { transform: translateY(-5px); color: #b3e7ff; }
  100% { transform: translateY(0); }
}

.post-grid.is-carousel {
  display: block;
  touch-action: pan-y;
}
.post-grid.is-carousel .post {
  display: grid;
  grid-template-columns: 1fr 1fr;
  animation: slide-in 160ms ease-out;
}
.post[hidden], .carousel-controls[hidden] {
  display: none !important;
}
.post {
  position: relative;
  transition: border-color .2s, box-shadow .2s;
}
.post:hover, .post:focus-within {
  border-color: #0079b9;
  box-shadow: 0 5px 18px #07345118;
}
.post-open::after {
  position: absolute;
  inset: 0;
  content: "";
}
.is-carousel .post-media {
  aspect-ratio: auto;
  height: clamp(240px, 31vw, 370px);
}
.is-carousel .post-body {
  justify-content: center;
  padding: clamp(22px, 4vw, 57px);
}
.is-carousel .post h3 {
  font-size: clamp(1.6rem, 3.6vw, 3.2rem);
  margin-block: 12px;
}
.is-carousel .post button {
  margin-top: 4px;
}
@keyframes slide-in {
  from { opacity: .5; transform: translateX(8px); }
  to { opacity: 1; transform: translateX(0); }
}
.carousel-controls, .carousel-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
}
.carousel-controls {
  margin-top: 15px;
}
.carousel-arrow {
  border: 1px solid #bacfdd;
  background: #fff;
  color: var(--navy);
  border-radius: 8px;
  min-height: 40px;
  min-width: 40px;
  font-weight: 750;
}
.carousel-arrow:hover {
  border-color: var(--blue);
}
.carousel-dot {
  display: grid;
  place-items: center;
  min-width: 26px;
  min-height: 40px;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: transparent;
}
.carousel-dot::before {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #7296ae;
}
.carousel-dot[aria-current=true]::before {
  width: 19px;
  background: var(--navy);
}
@media (max-width: 620px) {
  .post-grid.is-carousel .post { grid-template-columns: 1fr; }
  .is-carousel .post-media { height: clamp(185px, 56vw, 290px); }
  .is-carousel .post-body { min-height: 190px; }
}
@media (prefers-reduced-motion: reduce) {
  .counting .stat.settled .stat-number, .post-grid.is-carousel .post { animation: none; }
}

.icon-library {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}
.contact-links {
  display: grid;
  gap: 10px;
  min-width: 0;
}
.contact-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 13px;
  padding: 12px;
  color: var(--navy);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  text-decoration: none;
  transition: background .2s, border-color .2s;
}
.contact-row:hover {
  background: var(--mist);
  border-color: var(--blue);
}
.contact-badge {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 9px;
  color: #00659b;
  background: var(--mist);
}
.contact-text {
  display: grid;
  gap: 2px;
}
.contact-text small {
  color: var(--muted);
  overflow-wrap: anywhere;
}
.contact-icon, .contact-arrow {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.contact-arrow {
  color: #00659b;
}
.footer-rights {
  color: var(--muted);
  font-size: .84rem;
  text-align: right;
}
.leaders-dots {
  display: none;
}
@media (max-width: 760px) {
  .leaders {
    position: relative;
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: 100%;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
  }
  .leaders::-webkit-scrollbar { display: none; }
  .leader {
    scroll-snap-align: start;
    min-height: 0;
    padding: 16px;
  }
  .leader img, .leader .portrait-placeholder {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    border-radius: 10px;
  }
  .leader img { object-position: center 30%; }
  .leader .portrait-placeholder {
    background: linear-gradient(145deg, #e6f5fd, #f0f7fc);
    font-size: 2.1rem;
  }
  .leaders-dots:not(:empty) {
    display: flex;
    margin-top: 5px;
  }
}
@media (max-width: 460px) {
  .footer { flex-wrap: wrap; }
  .footer-rights { text-align: left; }
}

.application button:disabled {
  cursor: wait;
  opacity: .7;
}
.leaders > .leader {
  min-width: 0;
  min-height: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 16px;
}

.leader-open {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 3 / 4;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: inherit;
  color: #fff;
  background: var(--navy);
  text-align: left;
  cursor: pointer;
}

.leader-open::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(
    0deg,
    #03253df2,
    #03253d55 36%,
    transparent 65%
  );
  pointer-events: none;
}

.leader .leader-photo,
.leader .portrait-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  margin: 0;
  border-radius: 0;
  object-fit: cover;
  object-position: center 30%;
  transition: transform 250ms ease;
}

.leader .portrait-placeholder {
  display: grid;
  place-items: center;
  color: #aadfff;
  background: linear-gradient(140deg, #087eb9, #073451);
  font-size: 4rem;
}

.leader-role {
  position: absolute;
  z-index: 1;
  right: 20px;
  bottom: 22px;
  left: 20px;
  font-size: clamp(1.15rem, 1.8vw, 1.55rem);
  font-weight: 800;
  line-height: 1.16;
  letter-spacing: -.035em;
}

.leader-open:hover .leader-photo {
  transform: scale(1.035);
}

.leader-open:focus-visible {
  outline: 3px solid var(--red);
  outline-offset: -4px;
}

.biography-dialog {
  width: min(850px, calc(100% - 28px));
}

.biography-content {
  display: grid;
  grid-template-columns: .8fr 1fr;
}

.biography-content > .leader-photo {
  width: 100%;
  height: 100%;
  max-height: 650px;
  object-fit: cover;
  object-position: center 30%;
}

.biography-content > .portrait-placeholder {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  min-height: 330px;
  margin: 0;
  border-radius: 0;
  background: var(--navy);
  color: #aadfff;
  font-size: 4rem;
}

.biography-copy {
  padding: 42px 30px 30px;
}

.biography-role {
  margin-bottom: 12px;
  color: #00659b;
  font-weight: 750;
  font-size: .85rem;
}

.biography-copy h2 {
  font-size: clamp(1.8rem, 4vw, 2.5rem);
}

.biography-text {
  margin-top: 20px;
  white-space: pre-line;
  color: var(--muted);
  line-height: 1.7;
  overflow-wrap: anywhere;
}

@media (max-width: 760px) {
  .leaders {
    position: relative;
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: 100%;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    overscroll-behavior-inline: contain;
    scrollbar-width: none;
  }

  .leaders::-webkit-scrollbar {
    display: none;
  }

  .leaders > .leader {
    scroll-snap-align: start;
  }

  .leader-open {
    aspect-ratio: 4 / 5;
  }

  .leader-role {
    font-size: 1.6rem;
  }

  .leaders-dots:not(:empty) {
    display: flex;
    margin-top: 5px;
  }
}

@media (max-width: 620px) {
  .biography-content {
    grid-template-columns: 1fr;
  }

  .biography-content > .leader-photo {
    height: 290px;
    max-height: 42vh;
  }

  .biography-content > .portrait-placeholder {
    min-height: 180px;
  }

  .biography-copy {
    padding: 24px;
  }
}
.hero-frame .hero-video {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.report-list {
  display: grid;
  gap: 12px;
  margin-top: 24px;
}

.report-link {
  display: block;
  padding: 16px 20px;
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--navy);
  font-weight: 750;
  text-decoration: none;
}

.report-link:hover { background: var(--mist); }
.report-link small { display: block; color: var(--muted); font-weight: 500; }

.post-gallery-frame {
  position: relative;
  background: var(--navy);
}

.post-gallery-track {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}

.post-gallery-track::-webkit-scrollbar { display: none; }
.post-gallery-track:focus-visible { outline-offset: -4px; }

.post-gallery-track > .post-media {
  flex: 0 0 100%;
  min-width: 0;
  height: clamp(180px, 58vw, 300px);
  object-fit: contain;
  scroll-snap-align: start;
}

.post-gallery-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border: 1px solid #fff8;
  border-radius: 50%;
  background: #fff;
  color: var(--navy);
  box-shadow: 0 2px 12px #06243866;
  font-size: 2rem;
  line-height: 1;
}

.post-gallery-arrow:focus-visible { outline-color: white; }
.post-gallery-arrow[aria-disabled="true"] { opacity: .5; cursor: default; }
.post-gallery-previous { left: 10px; }
.post-gallery-next { right: 10px; }

.post-gallery-caption {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 16px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  background: var(--mist);
  font-size: .8rem;
}

.post-gallery-counter { flex-shrink: 0; font-variant-numeric: tabular-nums; }
