   x*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:'Inter',sans-serif;
    background:#524f4b;
    overflow-x:hidden;
}


/* NAVBAR */

header{
    background:#f5f0e8;
    border-bottom:1px solid #ddd;
    position:sticky;
    top:0;
    z-index:999;
    box-shadow:0 6px 18px rgba(143,46,15,0.14);
    border-bottom:3px solid #9b3413;
}



.navbar{
    max-width:1400px;
    margin:auto;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:22px 40px;
}

.logo{
    display:flex;
    text-decoration:none;
    color:inherit;

    align-items:center;
    gap:10px;
    color:#8f2e0f;
    font-size:1.8rem;
    font-weight:700;
    font-family:'Playfair Display', serif;
}

.logo i{
    font-size:20px;
}

.nav-links{
    display:flex;
    list-style:none;
    gap:40px;
}

.hamburger{
    display:none;
    width:48px;
    height:44px;
    border:none;
    background:transparent;
    cursor:pointer;
    padding:0;
}

.hamburger span{
    display:block;
    width:28px;
    height:3px;
    margin:6px auto;
    background:#8f2e0f;
    border-radius:999px;
}





.nav-links a{
    text-decoration:none;
    color:#141414;
    font-size:16px;
    transition:0.3s;
}

.nav-links a:hover{
    color:#9b210b;
}

.donate-btn{
    text-decoration:none;
    background:#851b0d;
    color:#ffffff;
    padding:12px 28px;
    border-radius:30px;
    display:flex;
    align-items:center;
    gap:10px;
    font-weight:600;
}

.donate-btn:hover{
    opacity:.95;
    box-shadow:0 0 22px rgba(143,46,15,0.35);
    transform:translateY(-1px);
}


/* HERO SECTION */

.hero{
    position:relative;
    min-height:90vh;
    overflow:hidden;
    display:flex;
    align-items:center;
    padding-top:90px;
}


.hero-slideshow{
    position:absolute;
    inset:0;
}

.hero-slide{
    position:absolute;
    inset:0;
    opacity:0;
    transform:scale(1.02);
    transition:opacity 900ms ease;
}

.hero-slide.is-active{
    opacity:1;
}

.hero-slide img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.hero-overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(
        rgba(107, 107, 105, 0.35),
        rgba(247, 246, 246, 0.65)
    );
}

.hero-content{
    position:relative;
    z-index:2;
    max-width:760px;
    padding-left:60px;
}

.hero-controls{
    margin-top:34px;
    display:flex;
    align-items:center;
    gap:18px;
}

.hero-btn{
    width:44px;
    height:44px;
    border:none;
    border-radius:50%;
    background:rgba(143,46,15,0.22);
    color:#8f2e0f;
    cursor:pointer;
    font-size:20px;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:0.25s ease;
}

.hero-btn:hover{
    background:rgba(143,46,15,0.35);
}

.hero-dots{
    display:flex;
    gap:10px;
    align-items:center;
}

.hero-dot{
    width:12px;
    height:12px;
    border-radius:999px;
    border:1px solid rgba(143,46,15,0.6);
    background:transparent;
    cursor:pointer;
    padding:0;
}

.hero-dot.is-active{
    background:#8f2e0f;
}

.main-text{
    margin-top:30px;
    font-size:1.7rem;
    line-height:1.65;
    color:#2a1c12;
    text-shadow:0 2px 10px rgba(255,248,240,0.65);
}

.quote{
    margin-top:18px;
    color:#9c3110;
    font-size:1.5rem;
    font-style:italic;
    text-shadow:0 2px 10px rgba(255,248,240,0.7);
}

.badge{
    display:inline-block;
    background:#f6d8b6;
    color:#8f2e0f;
    padding:12px 22px;
    border-radius:30px;
    font-size:14px;
    font-weight:600;
    margin-bottom:30px;
}

.hero h1{
    font-family:'Playfair Display', serif;
    font-size:5rem;
    line-height:1.05;
    color:#241106;
}

.hero h1 span{
    color:#9c3110;
    font-style:italic;
}




/* RESPONSIVE */

@media(max-width:1100px){
    .nav-links{ gap:22px; }
    .navbar{ padding:18px 22px; }
}

@media(max-width:900px){
    .navbar{
        flex-direction:column;
        gap:20px;
        align-items:flex-start;
    }

    .hamburger{
        display:block;
        margin-left:auto;
    }

    .nav-links{
        width:100%;
        flex-direction:column;
        gap:16px;
        padding:18px 16px;
        background:#f5f0e8;
        border:1px solid #ddd;
        border-radius:16px;
        display:none;
        align-items:flex-start;
    }

    .nav-links.is-open{
        display:flex;
    }

    .hero-content{
        padding:40px;
    }

    .hero h1{
        font-size:3rem;
    }

    .main-text{
        font-size:1.2rem;
    }

    .hero-controls{
        margin-top:22px;
    }
}

@media(max-width:480px){
    .hero-content{ padding:24px; }
    .hero h1{ font-size:2.4rem; }
    .main-text{ font-size:1rem; }
    .navbar{ padding:18px 16px; }
    .cta-card{ padding:50px 20px; }
}




/* OPEN LETTER SECTION */

.open-letter{
    background:#f5f1ea;
    padding:110px 20px;
}

.letter-container{
    max-width:920px;
    margin:auto;
}

.open-letter h2{
    margin-top:0;
}

.open-letter p{
    font-size:1.25rem;
    line-height:1.95;
}

.letter-message{
    max-width:920px;
    margin:50px auto 0;
}

.letter-message p{
    font-size:1.2rem;
    line-height:1.95;
}


.section-tag{
    display:block;
    color:#9b3413;
    font-size:14px;
    font-weight:700;
    letter-spacing:2px;
    margin-bottom:20px;
}

.open-letter h2{
    font-family:'Playfair Display', serif;
    font-size:4rem;
    line-height:1.1;
    color:#241106;
    margin-bottom:40px;
}

.open-letter p{
    font-size:1.6rem;
    line-height:1.8;
    color:#4d4037;
    margin-bottom:30px;
}

.open-letter strong{
    color:#9b3413;
}

.open-letter blockquote{
    margin-top:50px;
    border-left:5px solid #9b3413;
    padding-left:25px;

    font-family:'Playfair Display', serif;
    font-size:2rem;
    font-style:italic;
    line-height:1.6;
    color:#2d170b;
}
.letter-message{
    margin-top:50px;
}

.letter-message p{
    font-size:1.5rem;
    line-height:1.8;
    color:#4d4037;
    margin-bottom:25px;
}

.signature{
    margin-top:40px;
    font-family:'Playfair Display', serif;
    font-size:2rem;
    color:#9b3413;
    font-style:italic;
}

/* ABOUT SECTION */

.about{
    padding:120px 20px;
    background:#fffdf9;
}

.about-container{
    max-width:1200px;
    margin:auto;
    display:grid;
    grid-template-columns:1fr 1.3fr;
    gap:60px;
    align-items:center;
}

.about-image{
    width:100%;
}

.about-image img{
    width:100%;
    /* portrait-friendly sizing */
    aspect-ratio:3/4;
    object-fit:cover;
    object-position:center;
    border-radius:20px;
    display:block;
    box-shadow:0 10px 30px rgba(0,0,0,0.1);
}


.about .section-tag{
    color:#9b3413;
    font-size:14px;
    font-weight:700;
    letter-spacing:2px;
    text-transform:uppercase;
    display:block;
    margin-bottom:15px;
}

.about h2{
    font-family:'Playfair Display', serif;
    font-size:3rem;
    margin-bottom:20px;
    color:#241106;
}

.about h3{
    font-size:2rem;
    margin-bottom:10px;
    color:#241106;
}

.about h4{
    color:#9b3413;
    margin-bottom:20px;
    font-weight:600;
}

.credentials{
    font-weight:600;
    color:#666;
    margin-bottom:30px;
}

.about blockquote{
    border-left:4px solid #9b3413;
    padding-left:20px;
    margin-bottom:30px;
    font-style:italic;
    font-size:1.2rem;
    line-height:1.8;
    color:#4d4037;
}

.about p{
    font-size:1.1rem;
    line-height:1.9;
    color:#4d4037;
    margin-bottom:20px;
}

.quote-box{
    margin-top:40px;
    background:#f8f1ea;
    padding:30px;
    border-radius:15px;
}

.quote-box p{
    font-family:'Playfair Display', serif;
    font-size:1.5rem;
    font-style:italic;
    margin-bottom:10px;
    color:#241106;
}

.quote-box span{
    color:#9b3413;
    font-weight:600;
}

@media(max-width:900px){

    .about-container{
        grid-template-columns:1fr;
    }

    .about h2{
        font-size:2.5rem;
    }

    .about h3{
        font-size:1.7rem;
    }
}


/* OUR WORK SECTION */

.our-work{
    padding:120px 20px;
    background:#f8f4ee;
}

.work-header{
    text-align:center;
    max-width:800px;
    margin:auto;
    margin-bottom:70px;
}

.work-header .section-tag{
    color:#9b3413;
    font-size:14px;
    letter-spacing:2px;
    font-weight:700;
    text-transform:uppercase;
}

.work-header h2{
    font-family:'Playfair Display', serif;
    font-size:3.5rem;
    color:#241106;
    margin:20px 0;
}

.work-header p{
    font-size:1.2rem;
    color:#5c4a40;
}

.work-cards{
    max-width:1300px;
    margin:auto;

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:35px;
}

.work-card{
    background:white;
    border-radius:20px;
    overflow:hidden;

    box-shadow:0 10px 30px rgba(0,0,0,0.08);

    transition:0.4s ease;
}

.work-card:hover{
    transform:translateY(-10px);
}

.work-card img{
    width:100%;
    height:260px;
    object-fit:cover;
}

.card-content{
    padding:30px;
}

.card-content h3{
    font-family:'Playfair Display', serif;
    font-size:1.8rem;
    color:#241106;
    margin-bottom:15px;
}

.card-content p{
    color:#5f4f45;
    line-height:1.8;
    margin-bottom:25px;
}

.card-btn{
    text-decoration:none;
    color:#9b3413;
    font-weight:600;
}

.card-btn:hover{
    text-decoration:underline;
}

@media(max-width:992px){

    .work-cards{
        grid-template-columns:1fr;
    }

    .work-header h2{
        font-size:2.5rem;
    }

}

/* SHIFTS / SLIDES IMAGES (RIGHT AFTER OUR WORK CARDS) */

.work-book-images{
    max-width:1300px;
    margin:0 auto;
    padding:0 20px 80px;
}

.work-slide{
    position:relative;
    width:100%;
    height:260px;
    border-radius:22px;
    overflow:hidden;

    display:grid;
    place-items:stretch;

    box-shadow:0 18px 45px rgba(0,0,0,0.12);

    /* each img will fill the viewport area */
    background:#000;
}

.work-slide img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;

    opacity:0;
    transform:translateX(18px) scale(1.02);
    transition:
        opacity 550ms ease,
        transform 700ms cubic-bezier(.2,.8,.2,1);

    will-change:transform, opacity;
}

/* show first image by default */
.work-slide img:nth-child(1){
    opacity:1;
    transform:translateX(0) scale(1);
}

/* On hover/focus, keep pushing images in sequence */
.work-book-images:hover .work-slide img:nth-child(1),
.work-slide:focus img:nth-child(1){
    opacity:0;
    transform:translateX(-70px) scale(1.03);
}

.work-book-images:hover .work-slide img:nth-child(2),
.work-slide:focus img:nth-child(2){
    opacity:1;
    transform:translateX(0) scale(1);
    transition-delay:80ms;
}

.work-book-images:hover .work-slide img:nth-child(3),
.work-slide:focus img:nth-child(3){
    opacity:0.98;
    transform:translateX(18px) scale(1.02);
    transition-delay:160ms;
}

.work-book-images:hover .work-slide img:nth-child(4),
.work-slide:focus img:nth-child(4){
    opacity:0;
    transform:translateX(80px) scale(1.03);
    transition-delay:240ms;
}

.work-slide-shadow{
    position:absolute;
    inset:0;
    background:radial-gradient(ellipse at center, rgba(0,0,0,0.18), rgba(0,0,0,0) 60%);
    pointer-events:none;
    z-index:2;
}

.work-slide:hover,
.work-slide:focus{
    outline:none;
    cursor:pointer;
}

@media(max-width:992px){
    .work-slide{ height:220px; }
}

@media(max-width:600px){
    .work-slide{ height:200px; }
}

/* DONATION CTA */

.donation-cta{
    padding:80px 20px;
    background:#f8f4ee;
}

.cta-card{
    max-width:1000px;
    margin:auto;

    background:#b54818;
    color:white;

    text-align:center;

    padding:70px 50px;

    border-radius:25px;

    box-shadow:0 15px 40px rgba(0,0,0,0.12);
}

.cta-card h2{
    font-family:'Playfair Display', serif;
    font-size:3rem;
    margin-bottom:25px;
}

.cta-card p{
    font-size:1.2rem;
    line-height:1.8;
    max-width:700px;
    margin:auto;
    margin-bottom:40px;
}

.cta-buttons{
    display:flex;
    justify-content:center;
    gap:20px;
    flex-wrap:wrap;
}

.donate-link{
    background:white;
    color:#b54818;

    text-decoration:none;

    padding:15px 30px;

    border-radius:50px;

    font-weight:600;

    transition:0.3s;
}

.donate-link:hover{
    transform:translateY(-3px);
}

.contact-link{
    border:2px solid white;

    color:white;

    text-decoration:none;

    padding:15px 30px;

    border-radius:50px;

    font-weight:600;

    transition:0.3s;
}

.contact-link:hover{
    background:white;
    color:#b54818;
}


/* GALLERY SECTION */

.gallery{
    padding:120px 20px;
    background:#fffdf9;
}

.gallery-header{
    text-align:center;
    max-width:800px;
    margin:auto;
    margin-bottom:70px;
}

.gallery-header h2{
    font-family:'Playfair Display', serif;
    font-size:3rem;
    color:#241106;
    margin:20px 0;
}

.gallery-header p{
    color:#5f4f45;
    font-size:1.1rem;
}

.gallery-grid{
    max-width:1200px;
    margin:auto;

    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:30px;
}

.gallery-card{
    position:relative;
    overflow:hidden;
    border-radius:20px;
    cursor:pointer;
}

.gallery-card img{
    width:100%;
    height:350px;
    object-fit:cover;
    display:block;

    transition:0.5s;
}

.gallery-overlay{
    position:absolute;
    inset:0;

    background:rgba(0,0,0,0.75);

    color:white;

    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;

    text-align:center;

    padding:30px;

    opacity:0;

    transition:0.4s ease;
}

.gallery-overlay h3{
    margin-bottom:15px;
    font-size:1.8rem;
}

.gallery-overlay p{
    line-height:1.7;
}

.gallery-card:hover img{
    transform:scale(1.1);
}

.gallery-card:hover .gallery-overlay{
    opacity:1;
}

/* LINKS */

.connect-links{
    max-width:1000px;
    margin:70px auto 0;

    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}

.connect-links a{
    text-decoration:none;
    background:#f8f4ee;
    color:#9b3413;

    padding:18px;

    text-align:center;

    border-radius:12px;

    font-weight:600;

    transition:.3s;

    display:flex;
    flex-direction:column;
    gap:10px;
    align-items:center;
    justify-content:center;
}

.connect-links a i{
    font-size:20px;
}

.connect-links a span{
    font-size:14px;
}

.connect-links a:hover{
    background:#9b3413;
    color:white;
    box-shadow:0 0 24px rgba(155,52,19,0.35);
    transform:translateY(-2px);
}



/* CONTACT SECTION */

.contact{
    background:#1f120c;
    color:white;
    padding:100px 20px;
}

.contact-container{
    max-width:1200px;
    margin:auto;

    display:grid;
    grid-template-columns:2fr 1fr;
    gap:80px;
}

.contact-info h2{
    font-family:'Playfair Display', serif;
    font-size:2.8rem;
    margin-bottom:20px;
}

.contact-description{
    color:#d9c7bc;
    line-height:1.8;
    margin-bottom:40px;
    max-width:600px;
}

.contact-item{
    display:flex;
    align-items:flex-start;
    gap:15px;
    margin-bottom:25px;
}

.contact-item i{
    color:#c65a26;
    font-size:1.2rem;
    margin-top:4px;
}

.contact-item span{
    color:#f1e6df;
    line-height:1.7;
}

/* QUICK LINKS */

.quick-links h3{
    font-size:1.6rem;
    margin-bottom:25px;
    color:#fff;
}

.quick-links ul{
    list-style:none;
}

.quick-links li{
    margin-bottom:15px;
}

.quick-links a{
    text-decoration:none;
    color:#d9c7bc;
    transition:0.3s;
}

.quick-links a:hover{
    color:#c65a26;
    padding-left:5px;
}

/* MOBILE */

@media(max-width:768px){

    .contact-container{
        grid-template-columns:1fr;
        gap:50px;
    }

    .contact-info h2{
        font-size:2rem;
    }

}


.footer{
    background:#d89a3d;
    padding:25px 20px;
}

.footer p{
    color:white;
    text-align:center;
    font-weight:500;
}