@charset "utf-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&family=Nunito+Sans:wght@400;500;600;700&display=swap');
:root{
    --green-deep:#0B6E4F;
    --green:#149A5B;
    --green-light:#E8F5EC;
    --gold:#F0A500;
    --ink:#12241C;
    --muted:#5B6D64;
    --cream:#F6F8F4;
    --radius:18px;
  }
  *{box-sizing:border-box;}
  body{
    font-family:'Nunito Sans', sans-serif;
    color:var(--ink);
    background:#fff;
    overflow-x:hidden;
  }
  h1,h2,h3,h4,h5,.font-head{
    font-family:'Poppins', sans-serif;
    font-weight:700;
  }
  a{text-decoration:none;}
  .eyebrow{
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--green-deep);
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
    font-size:.8rem;
    margin-bottom:10px;
  }
  .eyebrow::before{
    content:"";
    width:26px;height:2px;background:var(--gold);display:inline-block;
  }
  .btn-ccer{
    background:var(--green);
    border:none;
    color:#fff;
    font-weight:600;
    padding:.75rem 1.6rem;
    border-radius:50px;
    transition:.25s;
    display:inline-flex;
    align-items:center;
    gap:8px;
  }
  .btn-ccer:hover{background:var(--green-deep); color:#fff; transform:translateY(-2px);}
  .btn-outline-ccer{
    border:1.5px solid var(--green);
    color:var(--green-deep);
    font-weight:600;
    padding:.7rem 1.5rem;
    border-radius:50px;
    transition:.25s;
  }
  .btn-outline-ccer:hover{background:var(--green); color:#fff;}

  /* Topbar */
  .topbar{
    background:var(--green-deep);
    color:#eafff1;
    font-size:.85rem;
    padding:8px 0;
  }
  .topbar a{color:#eafff1; opacity:.9;}
  .topbar a:hover{opacity:1; color:var(--gold);}
  .topbar .social a{
    display:inline-flex;align-items:center;justify-content:center;
    width:28px;height:28px;border-radius:50%;
    background:rgba(255,255,255,.12);
    margin-left:6px;
  }

  /* Navbar */
  .navbar-ccer{
    background:#fff;
    padding:14px 0;
    box-shadow:0 4px 20px rgba(18,36,28,.06);
    position:sticky; top:0; z-index:999;
  }
  .navbar-ccer .navbar-brand{
    font-family:'Poppins',sans-serif;
    font-weight:800;
    font-size:1.5rem;
    color:var(--green-deep);
  }
  .navbar-ccer .navbar-brand span{color:var(--gold);}
  .navbar-ccer .nav-link{
    font-weight:600;
    color:var(--ink) !important;
    padding:.5rem 1rem !important;
    font-size:.95rem;
  }
  .navbar-ccer .nav-link:hover{color:var(--green) !important;}
  .navbar-ccer .dropdown-menu{
    border:none;
    border-radius:14px;
    box-shadow:0 20px 45px rgba(18,36,28,.14);
    padding:10px;
    min-width:230px;
  }
  .navbar-ccer .dropdown-item{
    border-radius:8px;
    padding:.55rem .8rem;
    font-weight:500;
    font-size:.92rem;
  }
  .navbar-ccer .dropdown-item:hover{background:var(--green-light); color:var(--green-deep);}
  .dropdown-submenu{position:relative;}
  .dropdown-submenu .dropdown-menu{top:0; left:100%; margin-top:-6px;}
  @media (min-width:992px){
    .navbar-ccer .dropdown:hover > .dropdown-menu{display:block; margin-top:0;}
    .dropdown-submenu:hover > .dropdown-menu{display:block;}
  }

  /* Hero */
  .hero{
    position:relative;
    background:linear-gradient(120deg, rgba(11,110,79,.92), rgba(20,154,91,.78)), url('https://picsum.photos/seed/ccer-hero-climate/1800/950') center/cover no-repeat;
    color:#fff;
    padding:130px 0 100px;
  }
  .hero::after{
    content:"";
    position:absolute; inset:0;
    background:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100"><circle cx="50" cy="50" r="1" fill="white" opacity="0.15"/></svg>');
    opacity:.4; pointer-events:none;
  }
  .hero .badge-pill{
    background:rgba(255,255,255,.16);
    border:1px solid rgba(255,255,255,.35);
    padding:8px 18px;
    border-radius:50px;
    font-weight:600;
    font-size:.85rem;
    display:inline-block;
    margin-bottom:18px;
  }
  .hero h1{
    font-size:3.1rem;
    line-height:1.15;
    margin-bottom:20px;
  }
  .hero p.lead{
    font-size:1.1rem;
    color:#e9f7ee;
    max-width:600px;
  }
  .hero-feature-row{
    background:#fff;
    border-radius:var(--radius);
    box-shadow:0 25px 60px rgba(18,36,28,.18);
    margin-top:-70px;
    position:relative;
    z-index:5;
  }
  .hero-feature-item{
    padding:34px 26px;
    display:flex;
    gap:16px;
    align-items:flex-start;
    border-right:1px solid #eef1ee;
  }
  .hero-feature-item:last-child{border-right:none;}
  .hero-feature-item .icon-wrap{
    width:54px;height:54px;min-width:54px;
    background:var(--green-light);
    color:var(--green-deep);
    border-radius:14px;
    display:flex;align-items:center;justify-content:center;
    font-size:1.4rem;
  }
  .hero-feature-item h6{font-weight:700; margin-bottom:4px;}
  .hero-feature-item p{font-size:.87rem; color:var(--muted); margin:0;}

  section{padding:90px 0;}
  .section-cream{background:var(--cream);}

  /* About */
  .about-img-wrap{position:relative;}
  .about-img-wrap img{
    border-radius:var(--radius);
    width:100%;
    box-shadow:0 25px 55px rgba(18,36,28,.15);
  }
  .about-badge-card{
    position:absolute;
    bottom:-30px; left:-30px;
    background:var(--green-deep);
    color:#fff;
    padding:22px 26px;
    border-radius:16px;
    box-shadow:0 20px 40px rgba(18,36,28,.25);
  }
  .about-badge-card .num{font-size:2rem; font-weight:800; font-family:'Poppins',sans-serif;}
  .about-badge-card .lbl{font-size:.8rem; opacity:.85;}
  .check-list{list-style:none; padding:0; margin:22px 0;}
  .check-list li{
    display:flex; align-items:flex-start; gap:12px;
    margin-bottom:12px; font-weight:600; color:var(--ink);
  }
  .check-list li i{color:var(--green); font-size:1.2rem; margin-top:2px;}

  /* Focus / What we do cards */
  .focus-card{
    background:#fff;
    border-radius:var(--radius);
    padding:34px 28px;
    height:100%;
    border:1px solid #eef1ee;
    transition:.3s;
  }
  .focus-card:hover{
    transform:translateY(-8px);
    box-shadow:0 25px 55px rgba(18,36,28,.12);
    border-color:transparent;
  }
  .focus-card .icon-circle{
    width:64px;height:64px;
    background:var(--green-light);
    color:var(--green-deep);
    border-radius:50%;
    display:flex;align-items:center;justify-content:center;
    font-size:1.6rem;
    margin-bottom:20px;
  }
  .focus-card:hover .icon-circle{background:var(--green); color:#fff;}
  .focus-card p{color:var(--muted); font-size:.92rem;}
  .focus-card .learn{font-weight:700; color:var(--green-deep); font-size:.88rem;}

  /* Stats */
  .stats-section{
    background:linear-gradient(120deg, var(--green-deep), var(--green));
    color:#fff;
    border-radius:var(--radius);
    margin:0 auto;
  }
  .stat-item{text-align:center; padding:20px;}
  .stat-item .num{font-family:'Poppins',sans-serif; font-weight:800; font-size:2.6rem;}
  .stat-item .lbl{opacity:.85; font-weight:500;}

  /* Projects/Publications */
  .pub-card{
    border-radius:var(--radius);
    overflow:hidden;
    background:#fff;
    border:1px solid #eef1ee;
    height:100%;
    transition:.3s;
  }
  .pub-card:hover{box-shadow:0 25px 55px rgba(18,36,28,.12); transform:translateY(-6px);}
  .pub-card img{width:100%; height:190px; object-fit:cover;}
  .pub-card .body{padding:22px;}
  .tag-pill{
    background:var(--green-light); color:var(--green-deep);
    font-size:.72rem; font-weight:700; padding:5px 12px; border-radius:50px;
    text-transform:uppercase; letter-spacing:.04em;
  }

  /* Events */
  .event-card{
    background:#fff; border-radius:var(--radius); overflow:hidden;
    border:1px solid #eef1ee; height:100%;
  }
  .event-card .thumb{position:relative;}
  .event-card .thumb img{width:100%; height:180px; object-fit:cover;}
  .event-date{
    position:absolute; top:16px; left:16px;
    background:#fff; border-radius:10px; padding:8px 12px; text-align:center;
    box-shadow:0 8px 18px rgba(0,0,0,.15);
  }
  .event-date .d{font-weight:800; color:var(--green-deep); font-size:1.1rem; line-height:1;}
  .event-date .m{font-size:.7rem; text-transform:uppercase; color:var(--muted);}
  .event-card .body{padding:20px;}
  .event-meta{font-size:.83rem; color:var(--muted); margin-bottom:6px; display:flex; gap:8px; align-items:center;}

  /* Team */
  .team-card{text-align:center;}
  .team-photo{
    border-radius:var(--radius);
    overflow:hidden;
    position:relative;
    margin-bottom:16px;
  }
  .team-photo img{width:100%; height:280px; object-fit:cover; transition:.4s;}
  .team-card:hover .team-photo img{transform:scale(1.06);}
  .team-social{
    position:absolute; bottom:14px; left:50%; transform:translateX(-50%);
    display:flex; gap:8px; opacity:0; transition:.3s;
  }
  .team-card:hover .team-social{opacity:1; bottom:18px;}
  .team-social a{
    width:34px;height:34px; border-radius:50%; background:#fff; color:var(--green-deep);
    display:flex; align-items:center; justify-content:center; font-size:.85rem;
  }
  .team-card h6{font-weight:700; margin-bottom:2px;}
  .team-card .role{color:var(--green); font-size:.85rem; font-weight:600;}

  /* Partners */
  .partner-box{
    background:#fff; border:1px solid #eef1ee; border-radius:14px;
    padding:26px; text-align:center; font-weight:700; color:var(--muted);
    height:100%; display:flex; align-items:center; justify-content:center;
    font-family:'Poppins',sans-serif;
  }

  /* Media */
  .gallery-item{border-radius:14px; overflow:hidden; position:relative;}
  .gallery-item img{width:100%; height:220px; object-fit:cover; transition:.4s;}
  .gallery-item:hover img{transform:scale(1.08);}
  .gallery-item .overlay{
    position:absolute; inset:0; background:rgba(11,110,79,.55);
    display:flex; align-items:center; justify-content:center;
    opacity:0; transition:.3s; color:#fff; font-size:1.6rem;
  }
  .gallery-item:hover .overlay{opacity:1;}

  /* Careers / CTA */
  .cta-strip{
    background:linear-gradient(120deg, var(--green-deep), var(--green));
    border-radius:var(--radius);
    color:#fff;
    padding:60px;
    position:relative;
    overflow:hidden;
  }
  .cta-strip::before{
    content:"";
    position:absolute; right:-60px; top:-60px; width:220px; height:220px;
    background:rgba(255,255,255,.08); border-radius:50%;
  }

  /* Contact */
  .contact-box{
    background:#fff; border-radius:var(--radius); padding:32px;
    border:1px solid #eef1ee; height:100%;
  }
  .contact-box .icon-circle{
    width:52px;height:52px; background:var(--green-light); color:var(--green-deep);
    border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:16px;
  }
  .form-control{
    border-radius:10px; padding:.75rem 1rem; border:1px solid #e1e7e2;
  }
  .form-control:focus{box-shadow:0 0 0 3px rgba(20,154,91,.15); border-color:var(--green);}

  /* Footer */
  footer{
    background:#0B1F16; color:#cfe4d8; padding-top:70px;
  }
  footer h6{color:#fff; font-weight:700; margin-bottom:20px;}
  footer a{color:#cfe4d8;}
  footer a:hover{color:var(--gold);}
  footer ul{list-style:none; padding:0;}
  footer ul li{margin-bottom:10px;}
  .footer-logo{font-family:'Poppins',sans-serif; font-weight:800; font-size:1.5rem; color:#fff;}
  .footer-logo span{color:var(--gold);}
  .footer-social a{
    width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);
    display:inline-flex;align-items:center;justify-content:center;margin-right:8px;
  }
  .footer-bottom{
    border-top:1px solid rgba(255,255,255,.08);
    margin-top:50px; padding:22px 0; font-size:.85rem; color:#9fb8ab;
  }
  .subscribe-form input{
    border-radius:50px 0 0 50px; border:none; padding:.8rem 1.2rem;
  }
  .subscribe-form button{
    border-radius:0 50px 50px 0; background:var(--gold); border:none; color:#12241C; font-weight:700; padding:0 1.4rem;
  }

  .section-title-wrap{max-width:640px;}
  .section-title-wrap.mx-auto{text-align:center;}
  @media (max-width:991px){
    .hero{padding:100px 0 80px;}
    .hero h1{font-size:2.2rem;}
    .hero-feature-item{border-right:none; border-bottom:1px solid #eef1ee;}
    section{padding:60px 0;}
    .cta-strip{padding:36px;}
  }

#team .team-photo,
#advisory-board .team-photo{
  width:180px;
  height:180px;
  margin:0 auto 18px;
  border-radius:50%;
  overflow:hidden;
  box-shadow:0 12px 30px rgba(18,36,28,.12);
}

#team .team-photo img,
#advisory-board .team-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:50%;
}

#team .team-card,
#advisory-board .team-card{
  text-align:center;
}

#team .team-social,
#advisory-board .team-social{
  bottom:10px;
}

@media (max-width:575px){
  #team .team-photo,
  #advisory-board .team-photo{
    width:150px;
    height:150px;
  }
}
.initiative-card{
  background:#fff;
  border:1px solid #eef1ee;
  border-radius:14px;
  padding:28px 20px;
  text-align:center;
  height:100%;
  position:relative;
  transition:.25s;
}
.initiative-card:hover{
  transform:translateY(-5px);
  box-shadow:0 20px 45px rgba(18,36,28,.1);
  border-color:transparent;
}
.initiative-card .icon-circle{
  width:56px;
  height:56px;
  margin:0 auto 16px;
  background:var(--green-light);
  color:var(--green-deep);
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.4rem;
}
.initiative-card h6{
  font-weight:700;
  margin-bottom:10px;
  font-size:.95rem;
}
.initiative-card .badge-soon{
  position:absolute;
  top:14px;
  right:14px;
  background:var(--gold);
  color:#12241C;
  font-size:.62rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  padding:4px 10px;
  border-radius:50px;
}
.initiative-card a.learn{
  font-weight:700;
  color:var(--green-deep);
  font-size:.85rem;
}

@media (max-width:575px){
  .initiative-card{padding:22px 16px;}
}
.page-banner{
  position:relative;
  background:linear-gradient(120deg, rgba(11,110,79,.92), rgba(20,154,91,.78)), url('https://picsum.photos/seed/ccer-coo-banner/1800/500') center/cover no-repeat;
  color:#fff;
  padding:70px 0 60px;
}
.page-banner h1{
  font-size:2.3rem;
  margin-bottom:10px;
}
.page-banner .breadcrumb-ccer{
  display:flex;
  gap:8px;
  align-items:center;
  font-size:.9rem;
  opacity:.9;
}
.page-banner .breadcrumb-ccer a{color:#fff;}
.page-banner .breadcrumb-ccer a:hover{color:var(--gold);}
.page-banner .breadcrumb-ccer i{font-size:.7rem;}

/* Message section */
.message-section{padding:90px 0;}
.message-photo-card{
  background:#fff;
  border:1px solid #eef1ee;
  border-radius:var(--radius);
  padding:26px;
  text-align:center;
  box-shadow:0 20px 45px rgba(18,36,28,.08);
}
.message-photo-card img{
  width:190px;
  height:190px;
  object-fit:cover;
  border-radius:50%;
  border:4px solid var(--green-light);
  margin-bottom:18px;
}
.message-photo-card h5{margin-bottom:2px;}
.message-photo-card .role{
  color:var(--green);
  font-weight:600;
  font-size:.9rem;
  margin-bottom:4px;
}
.message-photo-card .org{
  color:var(--muted);
  font-size:.83rem;
}
.message-photo-card .team-social{
  position:static;
  opacity:1;
  transform:none;
  justify-content:center;
  display:flex;
  gap:8px;
  margin-top:16px;
}
.message-photo-card .team-social a{
  width:34px;height:34px;border-radius:50%;
  background:var(--green-light);color:var(--green-deep);
  display:flex;align-items:center;justify-content:center;font-size:.85rem;
}
.message-photo-card .team-social a:hover{background:var(--green);color:#fff;}

.message-quote{
  background:var(--cream);
  border-radius:var(--radius);
  padding:40px;
  position:relative;
}
.message-quote i.bi-quote{
  font-size:2.2rem;
  color:var(--green);
  opacity:.4;
  display:block;
  margin-bottom:10px;
}
.message-quote p{
  font-size:1.05rem;
  line-height:1.85;
  color:var(--ink);
  margin-bottom:1.1rem;
}
.message-quote p:last-of-type{margin-bottom:0;}

.other-messages-card{
  background:#fff;
  border:1px solid #eef1ee;
  border-radius:14px;
  padding:20px;
  display:flex;
  align-items:center;
  gap:14px;
  transition:.25s;
  height:100%;
}
.other-messages-card:hover{
  border-color:transparent;
  box-shadow:0 20px 45px rgba(18,36,28,.1);
  transform:translateY(-4px);
}
.other-messages-card .icon-circle{
  width:48px;height:48px;min-width:48px;
  background:var(--green-light);color:var(--green-deep);
  border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;
}
.other-messages-card h6{margin-bottom:2px;font-size:.92rem;}
.other-messages-card span{font-size:.8rem;color:var(--muted);}

@media (max-width:991px){
  .page-banner{padding:50px 0 40px;}
  .page-banner h1{font-size:1.7rem;}
  .message-section{padding:60px 0;}
  .message-photo-card{margin-bottom:30px;}
}


.project-tabs{
  border:none;
  display:inline-flex;
  gap:8px;
  background:var(--green-light);
  padding:6px;
  border-radius:50px;
  margin:0 auto 3rem;
}
.project-tabs .nav-link{
  border:none;
  border-radius:50px;
  padding:.65rem 1.5rem;
  font-weight:700;
  font-size:.9rem;
  color:var(--green-deep);
  background:transparent;
  transition:.25s;
}
.project-tabs .nav-link.active{
  background:var(--green-deep);
  color:#fff;
}
.project-tabs .nav-link:hover:not(.active){
  color:var(--green);
}

.project-tab-wrap{text-align:center;}

.pub-card .learn{
  font-weight:700;
  color:var(--green-deep);
  font-size:.85rem;
}
.pub-card .learn:hover{color:var(--green);}

@media (max-width:575px){
  .project-tabs{
    flex-wrap:wrap;
    border-radius:20px;
  }
  .project-tabs .nav-link{
    padding:.55rem 1rem;
    font-size:.82rem;
  }
}


.map-wrap{
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:0 20px 45px rgba(18,36,28,.12);
  margin-bottom:70px;
}
.map-wrap iframe{
  width:100%;
  height:400px;
  border:0;
  display:block;
}

@media (max-width:767px){
  .map-wrap iframe{height:280px;}
  .map-wrap{margin-bottom:40px;}
}

.paper-card{
  background:#fff;
  border:1px solid #eef1ee;
  border-radius:var(--radius);
  padding:30px;
  display:flex;
  gap:22px;
  align-items:flex-start;
  transition:.25s;
}
.paper-card:hover{
  box-shadow:0 20px 45px rgba(18,36,28,.1);
  border-color:transparent;
}
.paper-card .icon-circle{
  width:58px;
  height:58px;
  min-width:58px;
  background:var(--green-light);
  color:var(--green-deep);
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.5rem;
}
.paper-card h6{
  font-weight:700;
  margin-bottom:8px;
  line-height:1.5;
}
.paper-card .citation{
  color:var(--muted);
  font-size:.88rem;
  line-height:1.7;
  margin-bottom:10px;
}
.paper-card a.doi-link{
  color:var(--green-deep);
  font-weight:700;
  font-size:.85rem;
}
.paper-card a.doi-link:hover{color:var(--green);}

.coming-soon-note{
  border:1.5px dashed #d7e2da;
  border-radius:var(--radius);
  padding:34px;
  text-align:center;
  color:var(--muted);
}
.coming-soon-note i{
  font-size:1.6rem;
  color:var(--gold);
  margin-bottom:10px;
  display:block;
}

@media (max-width:575px){
  .paper-card{
    flex-direction:column;
    padding:22px;
  }
}