:root{
  --cream:#FAF5EC; --cream-2:#F1E8D8; --ink:#2B241C; --ink-soft:#5B5145;
  --teal:#2C5F59; --teal-deep:#1E4844; --terracotta:#C1693F; --line:#E2D5BE; --white:#FFFDF9;
  --bs-body-bg:var(--cream); --bs-body-color:var(--ink);
}
@media (prefers-color-scheme: dark){
  :root{
    --cream:#211D18; --cream-2:#2A251E; --ink:#F3EADB; --ink-soft:#C9BEAC;
    --teal:#6FAFA6; --teal-deep:#8FC7BD; --terracotta:#E2966A; --line:#3B342A; --white:#282219;
  }
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--cream); color:var(--ink);
  font-family:"Source Sans 3", system-ui, sans-serif; font-size:17px; line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:"Fraunces", Georgia, serif; font-weight:600; margin:0 0 .4em; color:var(--ink); line-height:1.12;}
p{margin:0 0 1em; max-width:64ch;}
a{color:inherit;}
img{max-width:100%; display:block;}
:focus-visible{outline:3px solid var(--terracotta); outline-offset:3px;}
@media (prefers-reduced-motion: reduce){ *{animation:none !important; transition:none !important; scroll-behavior:auto !important;} }

.wrap{max-width:1080px; margin:0 auto; padding:0 24px;}

header.site{position:sticky; top:0; z-index:50; background:var(--cream); border-bottom:1px solid var(--line);}
.nav-row{display:flex; align-items:center; justify-content:space-between; padding:14px 24px; max-width:1080px; margin:0 auto; gap:16px;}
.brand{display:flex; align-items:baseline; gap:10px; flex-shrink:0; color:var(--ink);}
.brand .en{font-family:"Fraunces", serif; font-weight:600; font-size:1.28rem; letter-spacing:.2px;}
.brand .ur{font-size:1.05rem; color:var(--teal); direction:rtl;}
nav.tabs{display:flex; gap:2px; flex-wrap:wrap;}
nav.tabs a{color:var(--ink-soft); font-size:.92rem; padding:9px 13px; border-radius:5px; white-space:nowrap; text-decoration:none;}
nav.tabs a:hover{color:var(--ink); background:var(--cream-2);}
nav.tabs a[aria-current="page"]{color:var(--teal-deep); font-weight:600; background:var(--cream-2);}
.menu-btn{display:none; background:none; border:1px solid var(--line); border-radius:6px; padding:8px 10px; cursor:pointer; color:var(--ink);}
@media (max-width:860px){
  nav.tabs{display:none; position:absolute; top:100%; left:0; right:0; background:var(--cream); flex-direction:column; padding:8px 24px 16px; border-bottom:1px solid var(--line);}
  nav.tabs.open{display:flex;}
  nav.tabs a{padding:11px 6px; border-bottom:1px solid var(--line);}
  .menu-btn{display:block;}
}

section.page{padding:64px 0 72px;}
.eyebrow{color:var(--teal); font-weight:600; font-size:.86rem; margin-bottom:6px;}
.lede{font-size:1.18rem; color:var(--ink-soft); max-width:60ch;}

.hero{display:grid; grid-template-columns:1.1fr .9fr; gap:40px; align-items:center; padding-top:8px;}
@media (max-width:800px){ .hero{grid-template-columns:1fr;} }
.hero h1{font-size:clamp(2.1rem, 4.2vw, 3.1rem); max-width:14ch;}
.hero-photo{border-radius:4px; overflow:hidden; box-shadow:0 14px 34px -14px rgba(30,20,10,.35);}
.hero-photo img{aspect-ratio:4/5; object-fit:cover; width:100%;}
.img-placeholder{background:var(--cream-2); border:1px dashed var(--line); color:var(--ink-soft); display:flex; align-items:center; justify-content:center; text-align:center; font-size:.9rem; padding:20px; aspect-ratio:4/5;}

.prose-block{max-width:68ch; margin-top:44px;}
.prose-block + .prose-block{margin-top:30px;}
.prose-block h3{font-size:1.05rem; color:var(--teal-deep); margin-bottom:.5em;}
.callout{background:var(--white); border:1px solid var(--line); border-left:4px solid var(--terracotta); border-radius:6px; padding:24px 26px; margin-top:34px;}
.callout p{margin-bottom:0; max-width:none;}
.founder-note{background:var(--cream-2); border-radius:6px; padding:26px 28px; margin-top:46px;}

.founders{display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:34px;}
@media (max-width:700px){ .founders{grid-template-columns:1fr;} }
.founder-card{background:var(--white); border:1px solid var(--line); border-radius:6px; padding:24px;}
.founder-card h4{font-size:1.15rem;}
.founder-card .role{color:var(--teal); font-weight:600; font-size:.85rem; margin-bottom:.6em;}
.fill{color:var(--ink-soft); font-style:italic; font-size:.94rem;}

.team-photo{margin-top:40px; border-radius:4px; overflow:hidden;}
.team-cap{font-size:.85rem; color:var(--ink-soft); margin-top:10px;}
.team-list{margin-top:36px;}
.team-list h3{font-size:1.05rem; color:var(--teal-deep);}
.team-list ul{list-style:none; padding:0; margin:14px 0 0; display:grid; grid-template-columns:1fr 1fr; gap:10px 30px;}
@media (max-width:600px){ .team-list ul{grid-template-columns:1fr;} }
.team-list li{border-bottom:1px solid var(--line); padding:10px 0; display:flex; justify-content:space-between; gap:10px;}
.team-list li .role{color:var(--ink-soft); font-size:.88rem; text-align:right;}

.stat-row{display:flex; gap:48px; flex-wrap:wrap; margin:38px 0 46px;}
.stat{min-width:140px;}
.stat .num{font-family:"Fraunces", serif; font-size:2.6rem; color:var(--teal-deep); line-height:1;}
.stat .label{color:var(--ink-soft); font-size:.92rem; margin-top:6px;}

.camps{display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-top:10px;}
@media (max-width:760px){ .camps{grid-template-columns:1fr;} }
.camp-card{background:var(--white); border:1px solid var(--line); border-radius:6px; overflow:hidden;}
.camp-card .body{padding:20px 22px;}
.camp-card h4{font-size:1.1rem;}
.camp-card .loc{color:var(--teal); font-size:.85rem; font-weight:600; margin-bottom:.5em;}
.story-box{margin-top:48px; background:var(--teal); color:#FFFDF9; border-radius:8px; padding:34px 36px;}
.story-box p{color:#FFFDF9; max-width:70ch; margin-bottom:0; opacity:.96;}
.story-box .eyebrow{color:#CFE9E3;}

/* Testimonials (dynamic) */
.quote-grid{display:grid; grid-template-columns:1fr 1fr; gap:26px; margin-top:36px;}
@media (max-width:760px){ .quote-grid{grid-template-columns:1fr;} }
.quote-card{background:var(--white); border:1px solid var(--line); border-radius:6px; padding:26px 28px;}
.quote-card blockquote{margin:0 0 14px; font-family:"Fraunces", serif; font-style:italic; font-size:1.14rem; line-height:1.5;}
.quote-card cite{font-style:normal; color:var(--ink-soft); font-size:.88rem;}
.video-grid{display:grid; grid-template-columns:1fr 1fr; gap:26px; margin-top:40px;}
@media (max-width:760px){ .video-grid{grid-template-columns:1fr;} }
.video-card{background:var(--white); border:1px solid var(--line); border-radius:6px; overflow:hidden;}
.video-card video{width:100%; display:block; background:#000;}
.video-card .cap{padding:14px 18px; font-size:.9rem; color:var(--ink-soft);}
.consent-note{margin-top:30px; font-size:.85rem; color:var(--ink-soft); font-style:italic;}
.empty-state{color:var(--ink-soft); font-style:italic; padding:30px 0;}

/* Gallery (dynamic) */
.gallery-filters{display:flex; gap:8px; flex-wrap:wrap; margin-top:26px;}
.gallery-filters button{background:var(--white); border:1px solid var(--line); color:var(--ink-soft); border-radius:20px; padding:5px 14px; font-size:.85rem; cursor:pointer;}
.gallery-filters button.active{background:var(--teal); border-color:var(--teal); color:#fff;}
.gallery-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:10px; margin-top:20px;}
@media (max-width:820px){ .gallery-grid{grid-template-columns:repeat(3, 1fr);} }
@media (max-width:560px){ .gallery-grid{grid-template-columns:repeat(2, 1fr);} }
.g-item{position:relative; aspect-ratio:1/1; overflow:hidden; border-radius:4px; cursor:pointer; background:var(--cream-2); border:0; padding:0;}
.g-item img{width:100%; height:100%; object-fit:cover; transition:transform .35s ease;}
.g-item:hover img{transform:scale(1.04);}
.g-item .visit-tag{position:absolute; bottom:8px; left:8px; background:rgba(30,20,10,.62); color:#fff; font-size:.7rem; padding:3px 8px; border-radius:20px;}
#lightboxModal .modal-content{background:transparent; border:0;}
#lightboxModal img{max-width:100%; max-height:82vh; margin:0 auto; border-radius:4px;}
#lightboxModal .lb-cap{color:#fff; text-align:center; margin-top:10px; font-size:.9rem;}
.lb-nav{position:fixed; top:50%; transform:translateY(-50%); background:none; border:none; color:#fff; font-size:2.4rem; cursor:pointer; padding:10px 16px; z-index:1060;}
.lb-prev{left:6px;} .lb-next{right:6px;}

.involve-grid{display:grid; grid-template-columns:1fr 1fr 1fr; gap:26px; margin-top:36px;}
@media (max-width:820px){ .involve-grid{grid-template-columns:1fr;} }
.involve-card{background:var(--white); border:1px solid var(--line); border-radius:6px; padding:24px;}
.involve-card h4{font-size:1.08rem; color:var(--teal-deep);}
.involve-card ul{margin:0; padding-left:18px; color:var(--ink-soft); font-size:.95rem;}
.involve-card li{margin-bottom:6px;}

form.contact-form{margin-top:40px; max-width:560px; display:grid; gap:14px;}
form.contact-form label{font-size:.85rem; color:var(--ink-soft); display:block; margin-bottom:5px;}
form.contact-form input, form.contact-form textarea{
  width:100%; padding:11px 13px; border:1px solid var(--line); border-radius:5px;
  background:var(--white); color:var(--ink); font-family:inherit; font-size:.98rem;
}
form.contact-form textarea{min-height:110px; resize:vertical;}
.btn-teal{background:var(--teal); color:#fff; border:none; padding:12px 24px; border-radius:5px; font-size:.98rem; cursor:pointer; font-weight:600; width:max-content;}
.btn-teal:hover{background:var(--teal-deep); color:#fff;}
.form-note{font-size:.82rem; color:var(--ink-soft); margin-top:2px;}
.contact-info{display:flex; gap:40px; flex-wrap:wrap; margin-top:36px;}
.contact-info .item h4{font-size:.85rem; color:var(--teal); margin-bottom:.3em;}

footer.site-footer{padding:34px 24px; text-align:center; color:var(--ink-soft); font-size:.85rem; border-top:1px solid var(--line);}
footer.site-footer a{color:var(--ink-soft);}
