body {
margin: 0;
font-family: "Proxima Nova", sans-serif;
background: linear-gradient(135DEG, #9de6a6, #8acceb);
color: #051f18;
}

.container {
max-width: 654px;
margin: auto;
padding: 18px;
}

/* Carousel */
.carousel {
position: relative;
display: flex;
align-items: center;
justify-content: center;
gap: 11px;
}

.slides-wrapper {
position: relative;
width: 321px;
height: 321px;
margin: 0 auto;
overflow: hidden;
}

.slide {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border-radius: 50%;
object-fit: cover;
opacity: 0;
transition: opacity 0.7s ease-in-out;
}

.slide.active {
opacity: 1;
}

.nav {
background: none;
border: none;
font-size: 2rem;
cursor: pointer;
user-select: none;
}

.slides img {
width: 100%;
max-width: 321px;
height: 321px;
object-fit: cover;
border-radius: 50%;
display: block;
margin: 0 auto;
}

.dots {
    position: absolute;
    bottom: 11px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    gap: 11px;
    z-index: 11;
}

.dot {
    width: 13px;
    height: 13px;
    background: #dfebe4;
    border-radius: 50%;
    cursor: pointer;
    transition: background 0.3s ease;
}

.dot.active {
    background: #7eb995;

}

/* Funding Progress Bar */
.funding-progress {
margin-bottom: 27px;
text-align: center;
font-family: "Proxima Nova", sans-serif;    
}

.funding-progress p {
margin: 0 0 9px 0;
font-weight: bold;
color: #043529;
font-size: 1rem;
}

/* Outer bar */
.progress-bar {
width: 100%;
max-width: 321px;
height: 27px;
background: #adeccf;
border-radius: 13px;
margin: 0 auto;
overflow: hidden;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* Inner fill */
.progress {
position: relative;
height: 100%;
width: 0%;
background: linear-gradient(134deg, #4dbbac, #5fa66b);
border-radius: 13px 0 0 13px;
display: flex;
align-items: center;
justify-content: center;
color: #fff;
overflow: hidden;
transition: width 0.7s ease-in-out;
}

/* Sparkles */

.sparkle {
position: absolute;
color: #ffffff;
opacity: 0;
animation: sparkle 3s infinite;
}

/* Sparkle positions */
.sparkle:nth-child(1) {
left: 20%;
top: 30%;
animation-delay: 0s;
}

.sparkle:nth-child(2) {
left: 50%;
top: 10%;
animation-delay: 0.5s;
}

.sparkle:nth-child(3) {
left: 75%;
top: 40%;
animation-delay: 1s;
}

.sparkle:nth-child(4) {
left: 30%;
top: 20%;
animation-delay: 0.3s;
}

.sparkle:nth-child(5) {
left: 40%;
top: 20%;
animation-delay: 0.7s;
}

/* Sparkle animation */
@keyframes sparkle {
0% { opacity: 0; transform: translateY(0) scale(0.5); }
50% { opacity: 1; transform: translateY(-3px) scale(1); }
100% { opacity: 0; transform: translateY(0) scale(0.5); }
}

/* Make progress bar responsive */
@media (max-width: 543px) {
.progress-bar {
    max-width: 90%;
    height: 18px;
}
.sparkle {
font-size: 0.7rem;
}
}

/* Top paragraph links */
#top-paragraph a {
color: #0a5a3e; 
text-decoration: none;
font-weight: 600;
text-shadow: 0 0 1px rgba(26, 115, 232, 0.7);
transition: color 0.3s, text-shadow 0.3s;
}

#top-paragraph a:hover {
color: #047d92; 
text-shadow: 0 0 3px rgba(43, 182, 147, 0.6); 
}

/* About section */
.about {
text-align: center;
margin-bottom: 32px;
}

.about h1 {
margin-bottom: 11px;
font-size: 2rem;
color: #073d3a
}

/* Links */
.links {
display: flex;
flex-direction: column;
gap: 13px;
margin-bottom: 32px;
}

.link-btn {
text-decoration: none;
padding: 13px;
border-radius: 11px;
background: linear-gradient(134DEG, #4dbbac, #5Fa66B);
color: #043529;
box-shadow: 0 3px 7px rgba(0,0,0,0.13);
font-weight: bold;
text-align: center;
transition: background 0.2s;
}

.link-btn:hover {
background: linear-gradient(134deg, #20ac82, #20aca0);
color: #a9ecdc;
transform: scale(1.03);
}

/* Share Button */
#shareBtn {
font-size: 1rem;
padding: 13px 18px;
border-radius: 18px;
background: linear-gradient(134deg, #4dbbac, #5Fa66B);
color: #043529;
font-weight: bold;
text-align: center;
border: none;
cursor: pointer;
box-shadow: 0 0 10px rgba(129, 246, 250, 0.596); 
transition: box-shadow 0.3s ease;
position: relative;
}

#shareBtn:hover {
transform: scale(1.03);
box-shadow: 0 0 15px rgba(176, 250, 246, 0.8);
background: linear-gradient(134deg, #20ac82, #20aca0);
color: #a9ecdc;
}

.share {
margin-bottom: 32px;
text-align: center;
}

/* Updates */
.updates h2 {
margin-bottom: 13px;
font-size: 1.3rem;
}

.updates-carousel {
  position: relative;
  display: flex;
  align-items: center;
  max-width: 550px;
  margin: 0 auto 18px auto;
}

.update-slide {
display: none;
background: linear-gradient(134deg, #acf3c7,#aff3f3);
padding: 13px;
border-radius: 13px;
box-shadow: none;
box-sizing: border-box;
padding: 13px 2.5rem; 
}

.update-slide.active {
display: block;
}

.update-nav {
position: absolute;
top: 50%;
transform: translateY(-50%);
background: none;
border: none;
font-size: 1.5rem;
cursor: pointer;
color: #051f18;
user-select: none;
z-index: 10;
}

.update-nav.prev {
  left: 8px;
}

.update-nav.next {
  right: 8px;
}

.updates-carousel:focus {
  outline: 2px solid #051f18;
  outline-offset: 4px;
}

.update-nav:focus-visible {
  outline: 2px solid #051f18;
  border-radius: 4px;
}


/* Update links */
#updates a {
color: #0a5a3e; 
text-decoration: none;
font-weight: 543;
transition: color 0.3s, text-shadow 0.3s;
}

#updates a:hover {
color: #047d92; 
text-shadow: 0 0 3px rgba(43, 182, 147, 0.6); 
}

/* Dots */
.update-dots {
display: flex;
justify-content: center;
gap: 9px;
margin-top: 11px;
}

.update-dot {
width: 13px;
height: 13px;
background: #dfebe4;
border-radius: 50%;
cursor: pointer;
transition: background 0.3s;
}

.update-dot.active {
background: #7eb995;
}

/* More Information */
.info h2 {
margin-bottom: 13px;
font-size: 1.3rem;
}

.update-box, 
.info-box {
background: linear-gradient(135deg, #acf3c7,#aff3f3);
padding: 13px;
border-radius: 13px;
box-shadow: 0 3px 7px rgba(0,0,0,0.15);
margin: 0 auto 18px auto;
width: 100%;
box-sizing: border-box;
}

/* Grant links */
#grants a {
color: #0a5a3e; 
text-decoration: none;
font-weight: 543;
transition: color 0.3s, text-shadow 0.3s;
}

#grants a:hover {
color: #047d92; 
text-shadow: 0 0 3px rgba(43, 182, 147, 0.6); 
}
