:root{
  --brand-50:#eef6ff;
  --brand-100:#d9ecff;
  --brand-500:#3b74c9;
  --brand-600:#2f63b6;
  --ink:#0f2a4a;
}

body{background:#f6f9fc;color:#1f2d3d;}

.top-strip{background:linear-gradient(90deg,#6bb6ff,#3f8fe6);}
.top-link{color:#ffffff;text-decoration:none;opacity:.95;}
.top-link:hover{opacity:1;text-decoration:underline;}
.icon-sm{font-size:.9rem;line-height:1;}
.social-pill{width:26px;height:26px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.22);color:#fff;text-decoration:none;font-size:.72rem;font-weight:700;letter-spacing:.02em;}
.social-pill svg{width:14px;height:14px;display:block;}
.social-pill:hover{background:rgba(255,255,255,.32);}

.brand-title{font-weight:800;letter-spacing:.08em;font-size:.78rem;color:var(--ink);line-height:1;}
.brand-sub{font-weight:700;font-size:.72rem;color:#3e6ea8;line-height:1.1;}
.brand-logo{width:auto;display:block;}

.navbar-overlap{overflow:visible;}
.brand-overlap{position:relative;min-height:56px;min-width:132px;padding-top:0;padding-bottom:0;}
.brand-overlap .brand-logo{position:absolute;left:0;top:-8px;height:78px;z-index:1031;}

@media (min-width: 992px){
  .brand-overlap{min-height:64px;min-width:190px;}
  .brand-overlap .brand-logo{top:-16px;height:108px;}
}

@media (max-width: 575.98px){
  .brand-overlap{min-height:52px;min-width:110px;}
  .brand-overlap .brand-logo{top:-6px;height:72px;}
}

.btn-pill{border-radius:999px;}
.btn-primary{background:linear-gradient(180deg,var(--brand-500),var(--brand-600));border-color:transparent;box-shadow:0 10px 24px rgba(59,116,201,.25);}
.btn-primary:hover{filter:brightness(.98);}

.btn-hero-light{background:#ffffff;border:1px solid rgba(255,255,255,.85);color:var(--brand-600);box-shadow:0 12px 30px rgba(0,0,0,.20);}
.btn-hero-light:hover{background:#f7fbff;color:var(--brand-600);}

.hero-carousel{position:relative;}
.hero-carousel .carousel{position:relative;}
.hero-carousel .carousel-inner{border-radius:0;}
.hero-carousel .carousel-item img{height:360px;object-fit:cover;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.55),rgba(0,0,0,.15));z-index:2;}
.hero-content{position:absolute;inset:0;z-index:3;display:flex;align-items:center;}
.hero-title{font-weight:800;font-size:clamp(1.7rem,2.6vw,2.6rem);line-height:1.15;text-shadow:0 14px 36px rgba(0,0,0,.4);}
.hero-sub{font-weight:700;font-size:clamp(1.05rem,1.3vw,1.25rem);text-shadow:0 12px 30px rgba(0,0,0,.35);}

.section-title{font-weight:800;color:#142a43;}

.feature-card{border:0;border-radius:18px;box-shadow:0 20px 50px rgba(17,37,63,.10);}
.feature-card .icon-wrap{width:54px;height:54px;border-radius:16px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.6);box-shadow:0 10px 22px rgba(0,0,0,.06);margin-inline:auto;}
.feature-card .icon-wrap img{width:30px;height:30px;}
.feature-peach{background:#fde7d6;}
.feature-blue{background:#e8f3ff;}

.story-panel{background:linear-gradient(180deg,#eaf5ff,#f7fbff);border-radius:26px;box-shadow:0 26px 70px rgba(17,37,63,.10);}
.photo-card{border-radius:18px;overflow:hidden;box-shadow:0 18px 44px rgba(17,37,63,.12);}
.photo-card img{width:100%;height:100%;object-fit:cover;}

.overview-hero{background:linear-gradient(135deg,#3b74c9,#5aa2f2);border-radius:28px;position:relative;overflow:hidden;}
.overview-hero:after{content:"";position:absolute;inset:-30% -10% auto auto;width:60%;height:160%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.35),rgba(255,255,255,0));transform:rotate(15deg);}
.overview-hero .inner{position:relative;z-index:1;}

.service-card{border:0;border-radius:20px;overflow:hidden;box-shadow:0 18px 46px rgba(17,37,63,.12);}
.service-card img{width:100%;height:160px;object-fit:cover;}

.gallery-band{background:linear-gradient(180deg,#fff3e8,#fff9f2);}
.gallery-item{position:relative;border-radius:18px;overflow:hidden;box-shadow:0 18px 46px rgba(17,37,63,.12);}
.gallery-item img{width:100%;height:100%;object-fit:cover;}
.gallery-label{position:absolute;left:14px;bottom:12px;color:#fff;font-weight:800;text-shadow:0 10px 26px rgba(0,0,0,.55);}

.volunteer-cta{background:#5d7592;border-radius:0;}
.volunteer-top{padding-top:.2rem;}
.volunteer-brand{font-family:ui-serif,Georgia,serif;font-weight:700;letter-spacing:.02em;font-size:clamp(1.15rem,1.2vw,1.45rem);}
.volunteer-link{color:rgba(255,255,255,.92);text-decoration:none;font-weight:500;}
.volunteer-link:hover{color:#fff;text-decoration:underline;text-underline-offset:4px;}
.volunteer-title{font-family:ui-serif,Georgia,serif;font-weight:800;letter-spacing:.01em;line-height:1.02;font-size:clamp(2.6rem,5vw,4.2rem);}
.volunteer-copy{max-width:520px;font-size:1.05rem;opacity:.95;}
.btn-volunteer{background:linear-gradient(180deg,#72b0ff,#3b74c9);border:0;box-shadow:0 18px 40px rgba(0,0,0,.22);color:#fff;}
.btn-volunteer:hover{filter:brightness(.98);color:#fff;}
.volunteer-photo{width:min(360px,72vw);aspect-ratio:1/1;border-radius:999px;border:10px solid rgba(255,255,255,.92);box-shadow:0 24px 60px rgba(0,0,0,.25);overflow:hidden;}
.volunteer-photo img{width:100%;height:100%;object-fit:cover;}

.float-actions{position:fixed;left:18px;bottom:18px;display:flex;flex-direction:column;gap:10px;z-index:1050;}
.float-actions a{width:46px;height:46px;border-radius:999px;display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;font-weight:800;box-shadow:0 18px 42px rgba(0,0,0,.20);}
.float-actions a svg{width:22px;height:22px;display:block;}
.fab-whatsapp{background:#25D366;}

.contact-location{background:linear-gradient(180deg,#cfe7ff,#e9f5ff);}
.contact-title{font-family:ui-serif,Georgia,serif;font-weight:800;letter-spacing:.01em;color:#9d6f53;font-size:clamp(2rem,3.2vw,3rem);}
.map-frame{border-radius:18px;overflow:hidden;box-shadow:0 20px 52px rgba(17,37,63,.16);background:#fff;}
.map-frame iframe{display:block;}
.contact-cards-band{margin-top:-10px;background:linear-gradient(180deg,#fff3e8,#fff9f2);border-radius:18px;box-shadow:0 20px 52px rgba(17,37,63,.12);}
.contact-card{padding:28px 22px;}
.contact-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:999px;margin:0 auto 12px;color:#142a43;background:rgba(255,255,255,.6);box-shadow:0 12px 28px rgba(0,0,0,.06);}
.contact-card-title{font-family:ui-serif,Georgia,serif;font-weight:800;color:#142a43;font-size:1.35rem;margin-bottom:6px;}
.contact-card-text{color:#1f2d3d;opacity:.88;}
.contact-link{color:inherit;text-decoration:none;}
.contact-link:hover{text-decoration:underline;text-underline-offset:4px;}

.partner-marquee{position:relative;overflow:hidden;border-radius:14px;background:linear-gradient(180deg,#f7fbff,#ffffff);}
.partner-track{display:flex;gap:28px;align-items:center;will-change:transform;animation:partnerScroll 22s linear infinite;}
.partner-group{display:flex;gap:28px;align-items:center;padding:10px 6px;}
.partner-group img{height:54px;width:auto;display:block;filter:drop-shadow(0 10px 18px rgba(17,37,63,.08));}

@keyframes partnerScroll{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}

@media (prefers-reduced-motion: reduce){
  .partner-track{animation:none;}
}

@media (max-width: 767.98px){
  .contact-card{border-right:0;border-top:1px solid rgba(15,42,74,.08);}
  .contact-card:first-child{border-top:0;}
}

@media (min-width: 768px){
  .contact-cards-band .col-md-4:not(:last-child) .contact-card{border-right:1px solid rgba(15,42,74,.08);}
}

.site-footer{background:#f5f7fb;border-top:1px solid rgba(15,42,74,.08);}
.footer-link{color:var(--brand-500);text-decoration:underline;text-underline-offset:3px;}

.footer-links-band{background:#5d7592;color:rgba(255,255,255,.92);}
.useful-title{font-family:ui-serif,Georgia,serif;font-weight:800;letter-spacing:.02em;font-size:1.25rem;}
.useful-links a{color:rgba(255,255,255,.92);text-decoration:none;font-weight:500;}
.useful-links a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px;}

@media (min-width: 992px){
  .hero-carousel .carousel-item img{height:520px;}
}
