/* Global styles */
:root{
  --primary-yellow:#FFC72C;
  --maroon:#800000;
  --cream:#FFF9F0;
  --muted:#6c6c6c;
}
body{font-family: 'Poppins', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial; background:var(--cream); color:#222;}
.bg-maroon{background:white}
.text-yellow{color:var(--primary-yellow)!important}
.navbar-brand{font-family:'Merriweather', serif; font-size:1rem}
.nav-link{transition:color .2s;color: var(--maroon) !important;}
.nav-link:hover{color:var(--primary-yellow)!important}
.navbar-toggler{border-color:var(--primary-yellow)!important;color: var(--maroon) !important;}
.navbar-toggler-icon{
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='%23FFC72C' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 1.25em 1.25em;
}
.site-footer .footer-link{color:#fff; text-decoration:none}
.site-footer .footer-link:hover{color:var(--primary-yellow)}
.footer-social-icon{display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; background:rgba(255,255,255,0.1); border-radius:50%; color:#fff; transition:all .3s ease; text-decoration:none}
.footer-social-icon:hover{background:var(--primary-yellow); color:var(--maroon); transform:translateY(-3px)}

/* About page sections */
.about-hero{background:linear-gradient(135deg, rgba(255,199,44,0.1), rgba(128,0,0,0.05)); padding:3rem 2rem; border-radius:16px; margin-bottom:3rem; text-align:center}
.about-hero h1{color:var(--maroon); font-family:'Merriweather', serif; font-size:2.5rem; font-weight:700; margin-bottom:1rem}
.about-hero-subtitle{color:var(--muted); font-size:1.1rem; line-height:1.7}
.about-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:2rem; margin:3rem 0}
.about-card{background:#fff; padding:2rem; border-radius:12px; box-shadow:0 8px 24px rgba(0,0,0,0.06); border-top:6px solid var(--primary-yellow); transition:all .3s ease}
.about-card:hover{transform:translateY(-8px); box-shadow:0 12px 36px rgba(0,0,0,0.1)}
.about-card h3{color:var(--maroon); font-weight:700; margin-bottom:1rem; font-size:1.3rem}
.about-card p{color:#444; line-height:1.8; font-size:.95rem}
.about-icon{width:56px; height:56px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg, rgba(255,199,44,0.9), rgba(255,199,44,0.7)); border-radius:12px; margin-bottom:1rem}
.about-icon svg{width:32px; height:32px; color:var(--maroon)}
.symbolism-section{background:linear-gradient(135deg, rgba(255,199,44,0.08), rgba(128,0,0,0.04)); padding:3rem; border-radius:16px; text-align:center}
.symbolism-section h3{color:var(--maroon); font-weight:700; margin-bottom:1.5rem}
.symbolism-icon{width:120px; height:120px; margin:0 auto 1.5rem; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg, rgba(255,199,44,0.95), rgba(255,199,44,0.75)); border-radius:50%; box-shadow:0 12px 32px rgba(255,199,44,0.3)}
.symbolism-icon svg{width:64px; height:64px; color:var(--maroon)}
.symbolism-section p{color:#444; line-height:1.8; font-size:1rem; max-width:600px; margin-left:auto; margin-right:auto}

@media (max-width:767px){
  .about-hero h1{font-size:1.8rem}
  .about-grid{gap:1.5rem}
  .symbolism-section{padding:2rem}
}
.sunflower-divider{height:8px; background:radial-gradient(circle at 20% 50%, var(--primary-yellow) 0, transparent 40%), repeating-linear-gradient(90deg, rgba(255,199,44,0.15) 0 6px, transparent 6px 12px); border-radius:6px}

/* Section headings */
.section-heading{color:var(--maroon); font-family:'Merriweather', serif; font-size:1.35rem; font-weight:700; margin-bottom:.6rem}
.section-heading + .sunflower-divider-small{width:72px; height:6px; margin-bottom:1rem; background:linear-gradient(90deg, var(--primary-yellow), rgba(255,199,44,0.6)); border-radius:6px}

/* Hero top memorial */
.memorial-hero{position:relative; overflow:hidden; border-radius:8px}
.memorial-hero img{width:100%; object-fit:cover; filter:saturate(.95)}
.memorial-overlay{position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:2rem; background:linear-gradient(180deg, rgba(0,0,0,0.15), rgba(0,0,0,0.25)); color:#fff}
.memorial-overlay h1{font-family:'Merriweather', serif; font-size:1.7rem}
.memorial-overlay p{opacity:.95}

/* Carousel */
.carousel-item img{height:500px; object-fit:cover}

/* Carousel caption visibility and styling */
.carousel-caption{position:absolute; left:50%; transform:translateX(-50%); bottom:18px; z-index:5; max-width:92%;}
.carousel-caption h5{background:rgba(0,0,0,0.55); display:inline-block; padding:.6rem 1rem; border-radius:8px; color:#fff; font-weight:600; text-shadow:0 1px 2px rgba(0,0,0,0.6);}
.carousel-caption.text-center{left:50%; transform:translateX(-50%); text-align:center}

@media (max-width:767px){
  .carousel-caption h5{font-size:1rem; padding:.5rem .8rem}
  .carousel-item img{height:240px}
}

/* Cards */
.card{border-radius:12px; box-shadow:0 6px 18px rgba(0,0,0,0.08); transition:transform .25s, box-shadow .25s}
.card:hover{transform:translateY(-6px); box-shadow:0 12px 30px rgba(0,0,0,0.12)}

.sunflower-bg{background-image:url('assets/sunflower.svg'); background-repeat:no-repeat; background-position:right bottom; background-size:120px; opacity:.06}

.counsellor-photo{width:100%; height:220px; object-fit:cover; border-top-left-radius:12px; border-top-right-radius:12px}

.btn-maroon{background:var(--maroon); color:#fff; border-radius:8px}
.btn-maroon:hover{background:var(--primary-yellow); color:var(--maroon);}

/* Volunteer & team grid */
.profile-card{overflow:hidden}
.profile-body{padding:1rem}

/* Events */
.event-card img{height:140px; object-fit:cover}

/* Resource card modern styling */
.resource-card{border-radius:12px; padding:1rem; background:linear-gradient(180deg, #fff, #fff); box-shadow:0 8px 20px rgba(0,0,0,0.06); border-left:6px solid rgba(255,199,44,0.9); display:flex; flex-direction:column}
.resource-card .icon{width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; background:linear-gradient(135deg, rgba(255,199,44,0.95), rgba(255,199,44,0.8)); color:var(--maroon); box-shadow:0 4px 12px rgba(0,0,0,0.08)}
.resource-card h6{margin:0 0 .2rem 0}
.resource-card .small{color:var(--muted)}
.resource-actions{display:flex; gap:.5rem; margin-top:1rem}
.btn-call{background:transparent; border:1px solid rgba(0,0,0,0.08); color:var(--maroon); padding:.5rem .75rem; border-radius:8px; display:inline-flex; align-items:center; gap:.5rem}
.btn-call svg{width:18px; height:18px}
.btn-call:hover{background:rgba(255,199,44,0.06); border-color:rgba(128,0,0,0.08)}
.btn-more{background:var(--maroon); color:#fff; border-radius:8px; padding:.5rem .75rem}

@media (max-width:767px){
  .resource-actions{flex-direction:column}
  .btn-call, .btn-more{width:100%}
}

/* Impact stats cards */
.impact-section{background:linear-gradient(135deg, rgba(255,199,44,0.06), rgba(128,0,0,0.03)); padding:2rem 0; border-radius:16px; margin:2rem 0}
.impact-card{text-align:center; padding:2rem 1rem; background:#fff; border-radius:12px; box-shadow:0 8px 20px rgba(0,0,0,0.05); transition:transform .3s ease, box-shadow .3s ease}
.impact-card:hover{transform:translateY(-8px); box-shadow:0 16px 32px rgba(0,0,0,0.1)}
.impact-icon{width:64px; height:64px; margin:0 auto 1rem; display:flex; align-items:center; justify-content:center; border-radius:50%; background:linear-gradient(135deg, rgba(255,199,44,0.95), rgba(255,199,44,0.75)); box-shadow:0 8px 16px rgba(255,199,44,0.3)}
.impact-icon svg{width:36px; height:36px; color:var(--maroon)}
.impact-number{font-size:2.5rem; font-weight:700; color:var(--maroon); margin:.5rem 0}
.impact-label{color:var(--muted); font-size:.95rem; margin:0}

/* Team section modern styling */
.team-section h2{text-align:center}
.team-carousel{overflow-x:auto; scroll-behavior:smooth; padding:1rem 0; -webkit-overflow-scrolling:touch}
.team-carousel::-webkit-scrollbar{height:6px}
.team-carousel::-webkit-scrollbar-track{background:rgba(0,0,0,0.05); border-radius:10px}
.team-carousel::-webkit-scrollbar-thumb{background:var(--maroon); border-radius:10px}
.team-member-card{flex:0 0 280px; position:relative; overflow:hidden; border-radius:16px; box-shadow:0 12px 32px rgba(0,0,0,0.1); transition:transform .35s ease, box-shadow .35s ease; display:flex; flex-direction:column}
.team-member-card:hover{transform:translateY(-10px); box-shadow:0 20px 48px rgba(0,0,0,0.15)}
.team-member-image-wrapper{position:relative; overflow:hidden; flex:0 0 340px}
.team-member-card img{width:100%; height:340px; object-fit:cover; display:block}
.team-member-info{position:absolute; bottom:0; left:0; right:0; background:linear-gradient(180deg, transparent, rgba(0,0,0,0.85)); color:#fff; padding:2rem 1.5rem 1.5rem; text-align:center; transform:translateY(40px); transition:transform .35s ease}
.team-member-card:hover .team-member-info{transform:translateY(0)}
.team-member-name{font-size:1.2rem; font-weight:700; margin:0 0 .25rem 0}
.team-member-title{font-size:.9rem; color:rgba(255,199,44,0.9); margin:0}
.team-member-bio{padding:1rem 1.5rem; font-size:.85rem; line-height:1.5; color:var(--muted); background:#fff; flex:1}

/* Case studies section */
.case-studies-section{background:linear-gradient(135deg, rgba(255,199,44,0.04), rgba(128,0,0,0.02)); padding:2rem 0; border-radius:16px; margin:2rem 0}
.case-studies-section h2{text-align:center}
.case-studies-intro{text-align:center; color:var(--muted); font-size:.95rem; margin-bottom:2rem; max-width:600px; margin-left:auto; margin-right:auto}
.nav-tabs{border-bottom:2px solid rgba(255,199,44,0.2); gap:1rem}
.nav-link{color:var(--maroon); border:none; border-bottom:3px solid transparent; padding:.75rem 1.5rem; font-weight:500; transition:all .25s ease}
.nav-link:hover{border-bottom-color:var(--primary-yellow); color:var(--primary-yellow)}
.nav-link.active{border-bottom-color:var(--maroon); color:var(--maroon); background:transparent}
.tab-pane{animation:fadeInTab .4s ease-in}
@keyframes fadeInTab{from{opacity:0; transform:translateY(10px)} to{opacity:1; transform:none}}
.case-study-card{background:#fff; padding:2rem; border-radius:12px; box-shadow:0 8px 24px rgba(0,0,0,0.06); border-left:6px solid var(--primary-yellow)}
.case-study-card h5{color:var(--maroon); font-weight:700; margin-bottom:1rem}
.case-study-card p{color:#444; line-height:1.7; font-size:.95rem}

/* Events section modern styling */
.events-section{background:linear-gradient(135deg, rgba(255,199,44,0.05), rgba(128,0,0,0.02)); padding:2rem 0; border-radius:16px; margin:2rem 0}
.events-section h2{text-align:center}
.event-hero-card{display:grid; grid-template-columns:1fr 1fr; gap:2rem; align-items:center; background:#fff; border-radius:16px; overflow:hidden; box-shadow:0 12px 32px rgba(0,0,0,0.08); transition:transform .3s ease, box-shadow .3s ease}
.event-hero-card:hover{transform:translateY(-8px); box-shadow:0 20px 48px rgba(0,0,0,0.12)}
.event-image{width:100%; height:320px; object-fit:cover; display:block}
.event-content{padding:2.5rem}
.event-content h3{color:var(--maroon); font-size:1.5rem; font-weight:700; margin-bottom:.5rem}
.event-date{color:var(--primary-yellow); font-weight:600; font-size:1.1rem; margin-bottom:1rem}
.event-meta{display:flex; flex-direction:column; gap:.75rem; margin:1.5rem 0; color:var(--muted)}
.event-meta-item{display:flex; align-items:center; gap:.75rem}
.event-meta-item svg{width:20px; height:20px; color:var(--primary-yellow)}
.event-description{color:#444; line-height:1.7; margin:1.5rem 0; font-size:.95rem}
.event-cta-button{display:inline-flex; gap:.75rem; align-items:center; background:var(--maroon); color:#fff; padding:1rem 2rem; border-radius:8px; text-decoration:none; font-weight:600; transition:all .3s ease; margin-top:1.5rem}
.event-cta-button:hover{background:var(--primary-yellow); color:var(--maroon); transform:translateX(4px)}

@media (max-width:767px){
  .event-hero-card{grid-template-columns:1fr; gap:1rem}
  .event-content{padding:1.5rem}
  .event-image{height:240px}
}

/* Volunteer CTA section */
.volunteer-cta-section{background:linear-gradient(135deg, var(--maroon) 0%, rgba(128,0,0,0.85) 100%); color:#fff; padding:4rem 2rem; border-radius:20px; margin:3rem 0; position:relative; overflow:hidden}
.volunteer-cta-section::before{content:''; position:absolute; top:-50%; right:-50%; width:500px; height:500px; background:radial-gradient(circle, rgba(255,199,44,0.1), transparent); border-radius:50%; pointer-events:none}
.volunteer-cta-content{position:relative; z-index:2; text-align:center; max-width:700px; margin:0 auto}
.volunteer-cta-section h2{color:#fff; font-size:2.2rem; font-weight:700; margin-bottom:1.5rem}
.volunteer-cta-description{font-size:1.05rem; line-height:1.8; margin-bottom:2rem; opacity:.95}
.volunteer-cta-button{display:inline-block; background:var(--primary-yellow); color:var(--maroon); padding:1rem 3rem; border-radius:8px; text-decoration:none; font-weight:700; font-size:1.05rem; transition:all .3s ease; box-shadow:0 8px 20px rgba(0,0,0,0.2)}
.volunteer-cta-button:hover{background:#fff; color:var(--maroon); transform:translateY(-3px); box-shadow:0 12px 30px rgba(0,0,0,0.3)}

@media (max-width:767px){
  .volunteer-cta-section{padding:2.5rem 1.5rem}
  .volunteer-cta-section h2{font-size:1.8rem}
}

/* Sponsors section */
.sponsors-section{background:linear-gradient(135deg, rgba(255,199,44,0.06), rgba(128,0,0,0.03)); padding:3rem 0; border-radius:16px; margin:3rem 0}
.sponsors-section h2{text-align:center}
.sponsors-intro{text-align:center; color:var(--muted); font-size:1rem; line-height:1.8; margin-bottom:2.5rem; max-width:750px; margin-left:auto; margin-right:auto}
.sponsors-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); gap:1.5rem; margin-top:2.5rem}
.sponsor-card{background:#fff; padding:1.5rem; border-radius:12px; text-align:center; box-shadow:0 6px 16px rgba(0,0,0,0.05); transition:all .3s ease; border-top:4px solid var(--primary-yellow)}
.sponsor-card:hover{transform:translateY(-6px); box-shadow:0 12px 28px rgba(0,0,0,0.1)}
.sponsor-name{font-weight:600; color:var(--maroon); margin:0; word-break:break-word}
.sponsors-footer{text-align:center; margin-top:2rem; padding-top:2rem; border-top:1px solid rgba(255,199,44,0.2); color:var(--muted); font-size:.9rem}

/* Newsletter subscription section */
.newsletter-section{background:linear-gradient(135deg, var(--primary-yellow) 0%, rgba(255,199,44,0.9) 100%); padding:4rem 2rem; border-radius:20px; margin:3rem 0; position:relative; overflow:hidden}
.newsletter-section::before{content:''; position:absolute; top:-40%; left:-40%; width:400px; height:400px; background:radial-gradient(circle, rgba(128,0,0,0.1), transparent); border-radius:50%; pointer-events:none}
.newsletter-section::after{content:''; position:absolute; bottom:-30%; right:-30%; width:350px; height:350px; background:radial-gradient(circle, rgba(128,0,0,0.08), transparent); border-radius:50%; pointer-events:none}
.newsletter-content{position:relative; z-index:2; max-width:600px; margin:0 auto; text-align:center}
.newsletter-section h2{color:var(--maroon); font-size:2rem; font-weight:700; margin-bottom:1rem}
.newsletter-description{color:var(--maroon); font-size:1rem; line-height:1.6; margin-bottom:2rem; opacity:.95}
.newsletter-form{display:flex; gap:.75rem; align-items:stretch; flex-wrap:wrap; justify-content:center}
.newsletter-input{flex:1; min-width:250px; padding:1rem 1.25rem; border:none; border-radius:8px; font-size:.95rem; background:#fff; color:var(--maroon); box-shadow:0 4px 12px rgba(0,0,0,0.1)}
.newsletter-input::placeholder{color:rgba(128,0,0,0.5)}
.newsletter-input:focus{outline:none; box-shadow:0 6px 16px rgba(0,0,0,0.15)}
.newsletter-button{padding:1rem 2rem; background:var(--maroon); color:#fff; border:none; border-radius:8px; font-weight:700; cursor:pointer; transition:all .3s ease; box-shadow:0 4px 12px rgba(0,0,0,0.15)}
.newsletter-button:hover{background:rgba(128,0,0,0.9); transform:translateY(-2px); box-shadow:0 6px 16px rgba(0,0,0,0.2)}

@media (max-width:767px){
  .newsletter-section{padding:2.5rem 1.5rem}
  .newsletter-section h2{font-size:1.6rem}
  .newsletter-form{flex-direction:column}
  .newsletter-input{min-width:100%}
  .newsletter-button{width:100%}
}

/* Contact form */
.form-control:focus{outline:3px solid rgba(255,199,44,0.2); box-shadow:none}

/* Scroll to top */
#scrollTop{position:fixed; right:18px; bottom:18px; display:none; background:var(--maroon); color:#fff; border:none; padding:10px 12px; border-radius:50%; box-shadow:0 8px 18px rgba(0,0,0,0.18)}

/* Responsive tweaks */
@media (max-width:767px){.memorial-overlay h1{font-size:1.2rem}.carousel-item img{height:240px}}

/* Small fade-in animation */
.fade-in{opacity:0; transform:translateY(10px); transition:opacity .6s ease, transform .6s ease}
.fade-in.visible{opacity:1; transform:none}
.bg-black{background-color: #581f1f;}

/* Angie Memorial Page */
.angie-hero{background:linear-gradient(135deg, rgba(128,0,0,0.1), rgba(255,199,44,0.05)); padding:3rem 2rem; border-radius:16px; margin-bottom:3rem; text-align:center}
.angie-hero h1{color:var(--maroon); font-family:'Merriweather', serif; font-size:2.8rem; font-weight:700; margin-bottom:2rem}
.angie-story-grid{display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center; margin:3rem 0; padding:2rem}
.angie-story-image{position:relative; border-radius:16px; overflow:hidden; box-shadow:0 12px 40px rgba(128,0,0,0.15)}
.angie-story-image img{width:100%; height:auto; display:block}
.angie-story-content h2{color:var(--maroon); font-family:'Merriweather', serif; font-size:1.8rem; font-weight:700; margin-bottom:1.5rem}
.angie-quote{font-size:1.2rem; font-style:italic; color:var(--maroon); margin:2rem 0; padding:1.5rem; background:linear-gradient(135deg, rgba(255,199,44,0.1), rgba(128,0,0,0.05)); border-left:6px solid var(--primary-yellow); border-radius:8px}
.angie-story-text{color:#444; line-height:2; font-size:.95rem}
.angie-story-text p{margin-bottom:1.5rem}
.gallery-section{margin:4rem 0}
.gallery-section h3{color:var(--maroon); font-family:'Merriweather', serif; font-size:1.8rem; font-weight:700; margin-bottom:2.5rem; text-align:center}
.gallery-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); gap:1.5rem}
.gallery-item{position:relative; border-radius:12px; overflow:hidden; box-shadow:0 8px 24px rgba(0,0,0,0.1); transition:all .3s ease; aspect-ratio:1}
.gallery-item img{width:100%; height:100%; object-fit:cover; transition:transform .3s ease}
.gallery-item:hover img{transform:scale(1.08)}
.video-section{margin:4rem 0; background:linear-gradient(135deg, rgba(128,0,0,0.08), rgba(255,199,44,0.05)); padding:3rem 2rem; border-radius:16px; text-align:center}
.video-section h3{color:var(--maroon); font-family:'Merriweather', serif; font-size:1.8rem; font-weight:700; margin-bottom:2rem}
.video-container{position:relative; width:100%; padding-bottom:56.25%; height:0; overflow:hidden; border-radius:12px; box-shadow:0 12px 40px rgba(0,0,0,0.15)}
.video-container video{position:absolute; top:0; left:0; width:100%; height:100%; border-radius:12px}
.tribute-quote{background:linear-gradient(135deg, var(--primary-yellow), rgba(255,199,44,0.8)); color:var(--maroon); padding:2.5rem; border-radius:12px; margin:3rem 0; font-size:1.3rem; font-style:italic; text-align:center; box-shadow:0 8px 24px rgba(255,199,44,0.3)}

@media (max-width:767px){
  .angie-hero h1{font-size:2rem}
  .angie-story-grid{grid-template-columns:1fr; gap:2rem; padding:1rem}
  .angie-story-content h2{font-size:1.4rem}
  .angie-quote{font-size:1rem}
  .gallery-grid{grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); gap:1rem}
  .gallery-item{aspect-ratio:1}
  .video-section{padding:2rem 1rem}
  .tribute-quote{font-size:1.1rem; padding:1.5rem}
}

/* Lightbox Gallery Modal */
.lightbox-modal{display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.95); z-index:2000; justify-content:center; align-items:center; padding:1rem}
.lightbox-modal.active{display:flex}
.lightbox-content{position:relative; width:100%; max-width:90vw; max-height:90vh; display:flex; flex-direction:column; justify-content:center; align-items:center}
.lightbox-image{max-width:100%; max-height:80vh; object-fit:contain; border-radius:8px; box-shadow:0 12px 48px rgba(0,0,0,0.8)}
.lightbox-counter{position:absolute; top:1rem; right:1rem; background:rgba(255,199,44,0.95); color:var(--maroon); padding:0.75rem 1rem; border-radius:6px; font-weight:700; font-size:0.9rem}
.lightbox-close{position:absolute; top:1rem; left:1rem; width:40px; height:40px; background:rgba(255,199,44,0.9); border:none; color:var(--maroon); font-size:1.5rem; border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:all .2s ease}
.lightbox-close:hover{background:var(--primary-yellow); transform:scale(1.1)}
.lightbox-nav{position:absolute; bottom:2rem; left:50%; transform:translateX(-50%); display:flex; gap:1rem}
.lightbox-btn{background:rgba(255,199,44,0.9); border:none; color:var(--maroon); padding:0.75rem 1.5rem; border-radius:6px; cursor:pointer; font-weight:700; transition:all .2s ease; font-size:0.95rem}
.lightbox-btn:hover{background:var(--primary-yellow); transform:translateY(-2px)}
.gallery-item{cursor:pointer}
.gallery-item:hover{opacity:0.85}

/* Contact Page */
.contact-hero{background:linear-gradient(135deg, rgba(255,199,44,0.1), rgba(128,0,0,0.05)); padding:3rem 2rem; border-radius:16px; margin-bottom:3rem; text-align:center}
.contact-hero h1{color:var(--maroon); font-family:'Merriweather', serif; font-size:2.5rem; font-weight:700; margin-bottom:1rem}
.contact-hero-subtitle{color:var(--muted); font-size:1.1rem; line-height:1.7}
.contact-grid{display:grid; grid-template-columns:1.2fr 1fr; gap:3rem; margin:3rem 0; align-items:start}
.contact-form-section{background:#fff; padding:2.5rem; border-radius:16px; box-shadow:0 8px 24px rgba(0,0,0,0.06)}
.contact-info-section{display:flex; flex-direction:column; gap:2rem}
.contact-info-card{background:linear-gradient(135deg, rgba(255,199,44,0.1), rgba(128,0,0,0.05)); padding:2rem; border-radius:12px; border-left:6px solid var(--primary-yellow); transition:all .3s ease}
.contact-info-card:hover{transform:translateX(6px); box-shadow:0 8px 24px rgba(0,0,0,0.08)}
.contact-info-icon{width:48px; height:48px; display:flex; align-items:center; justify-content:center; background:linear-gradient(135deg, var(--primary-yellow), rgba(255,199,44,0.8)); border-radius:10px; margin-bottom:1rem}
.contact-info-icon svg{width:28px; height:28px; color:var(--maroon)}
.contact-info-card h3{color:var(--maroon); font-weight:700; margin-bottom:0.75rem; font-size:1.1rem}
.contact-info-card p{color:#444; margin:0; font-size:0.95rem}
.contact-info-card a{color:var(--maroon); text-decoration:none; font-weight:600; transition:color .2s}
.contact-info-card a:hover{color:var(--primary-yellow)}
.form-group{margin-bottom:1.5rem}
.form-label{color:var(--maroon); font-weight:600; margin-bottom:0.75rem; display:block; font-size:0.95rem}
.form-input,.form-textarea,.form-select{width:100%; padding:0.75rem 1rem; border:2px solid #e0e0e0; border-radius:8px; font-size:0.95rem; font-family:'Poppins', sans-serif; transition:all .3s ease; background:#fff; color:#333}
.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none; border-color:var(--primary-yellow); box-shadow:0 0 0 3px rgba(255,199,44,0.2)}
.form-textarea{resize:vertical; min-height:120px}
.form-submit{background:linear-gradient(135deg, var(--primary-yellow), rgba(255,199,44,0.9)); color:var(--maroon); border:none; padding:1rem 2.5rem; border-radius:8px; font-weight:700; font-size:1rem; cursor:pointer; transition:all .3s ease; box-shadow:0 8px 24px rgba(255,199,44,0.3)}
.form-submit:hover{transform:translateY(-3px); box-shadow:0 12px 32px rgba(255,199,44,0.4)}
.form-submit:active{transform:translateY(-1px)}
.form-hint{font-size:0.85rem; color:var(--muted); margin-top:0.5rem}
.response-success{background:linear-gradient(135deg, rgba(76,175,80,0.1), rgba(76,175,80,0.05)); border:2px solid #4CAF50; color:#2e7d32; padding:1rem; border-radius:8px; margin-bottom:1.5rem; display:none}
.response-success.show{display:block}

@media (max-width:767px){
  .contact-hero h1{font-size:2rem}
  .contact-grid{grid-template-columns:1fr; gap:2rem}
  .contact-form-section{padding:1.5rem}
  .form-input,.form-textarea,.form-select{padding:0.65rem 0.85rem; font-size:0.9rem}
}
