:root{
  --mint:#8fe6c8;
  --mint-light:#e3f8f1;
  --peach:#fbd9bf;
  --coral:#f3a7a0;
  --cream:#fdf3e7;
  --ink:#181824;
  --navy:#1c1c2b;
  --blue:#a9c2f0;
  --green:#c7dd8e;
  --max-w:1100px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
html,body{overflow-x:hidden;}
body{
  margin:0;
  font-family:"Heebo","Arial Hebrew","Segoe UI",Arial,sans-serif;
  direction:rtl;
  text-align:right;
  color:var(--navy);
  background:#fff;
  line-height:1.7;
}
h1,h2,h3,h4,.btn,nav a,.bubble-box,.duration-badge{font-weight:800;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}

.wrap{max-width:var(--max-w);margin:0 auto;padding:0 24px;}

/* Header */
header{
  position:sticky;top:0;z-index:50;
  background:#fff;
  border-bottom:1px solid #eee;
}
.nav-inner{
  display:flex;align-items:center;justify-content:space-between;
  max-width:var(--max-w);margin:0 auto;padding:14px 24px;
}
.logo-link{display:flex;align-items:center;gap:10px;}
.logo-link img{height:72px;width:auto;}
nav ul{
  list-style:none;display:flex;gap:28px;margin:0;padding:0;
  font-weight:700;font-size:15px;
}
nav a{position:relative;padding:8px 14px;border-radius:8px;font-weight:700;transition:.2s;}
nav a:hover{background:var(--mint-light);}
nav a.active{background:var(--mint);}
nav a.active::after{
  content:"";position:absolute;bottom:-8px;right:50%;transform:translateX(50%) rotate(45deg);
  width:10px;height:10px;background:var(--mint);
}
.nav-toggle{display:none;background:none;border:none;font-size:26px;cursor:pointer;}

@media (max-width:780px){
  nav ul{
    position:absolute;top:100%;right:0;left:0;background:#fff;
    flex-direction:column;gap:0;border-top:1px solid #eee;
    display:none;
  }
  nav ul.open{display:flex;}
  nav li{padding:14px 24px;border-bottom:1px solid #f3f3f3;}
  .nav-toggle{display:block;}
}

/* Hero */
.hero{
  background:linear-gradient(180deg,var(--mint-light) 0%, #fff 100%);
  padding:60px 0 40px;
}
.hero .wrap{
  display:flex;align-items:center;gap:40px;flex-wrap:wrap;
}
.hero-text{flex:1 1 380px;}
.hero-text h1{
  font-size:42px;margin:0 0 14px;line-height:1.25;
}
.hero-text p.tagline{
  font-size:20px;font-weight:700;color:var(--navy);margin-bottom:18px;
}
.hero-img{flex:1 1 320px;min-width:260px;text-align:center;}
.hero-img img{max-width:380px;margin:0 auto;}

/* Photo bubble frame (speech-bubble shaped photo) */
.photo-bubble{
  position:relative;display:inline-block;max-width:380px;
}
.photo-bubble .pb-shadow{
  position:absolute;inset:8px -8px -8px 8px;
  background:var(--peach);border-radius:22px;z-index:0;
}
.photo-bubble img{
  position:relative;z-index:1;
  border:3px solid var(--ink);border-radius:22px;
  object-fit:cover;width:100%;aspect-ratio:4/3;
}
.photo-bubble .pb-tail{
  position:relative;z-index:1;margin-right:36px;margin-top:-3px;
  width:26px;height:18px;
  background:#fff;border-left:3px solid var(--ink);border-bottom:3px solid var(--ink);
  border-radius:0 0 0 8px;transform:rotate(45deg) translateY(-9px);
}

/* Hero logo speech-bubble */
.hero-logo .wrap{display:block;text-align:center;}
.logo-bubble{position:relative;display:inline-block;}
.logo-bubble .bubble-shadow{position:absolute;inset:8px -8px -8px 8px;background:var(--peach);border-radius:24px;z-index:0;}
.logo-bubble .bubble-box{
  position:relative;z-index:1;background:var(--mint);border:3px solid var(--ink);border-radius:24px;
  padding:26px 50px;
}
.logo-bubble-img{height:80px;width:auto;margin:0 auto;}
.hero-main-logo{max-width:420px;width:100%;margin:0 auto;display:block;}
.hero-logo .tagline{font-size:26px;font-weight:800;margin-top:18px;}

/* Intro flex row (text + photo bubble) */
.intro-flex{display:flex;align-items:center;gap:40px;flex-wrap:wrap;}

/* Secondary mini photo bubble, overlapping main photo */
.photo-bubble-mini{
  position:absolute;top:-30px;left:-30px;max-width:140px;z-index:3;
}
.photo-bubble-mini img{aspect-ratio:4/3;border-radius:14px;}
@media (max-width:700px){.photo-bubble-mini{display:none;}}

/* Clients section with character */
.clients-flex{display:flex;align-items:center;gap:30px;flex-wrap:wrap;}
.clients-text-col{flex:3 1 480px;min-width:0;}
.clients-char{flex:1 1 180px;text-align:center;}
.clients-char img{max-width:200px;margin:0 auto;}

@media (max-width:780px){
  .hero .wrap{flex-direction:column;}
  .hero-text h1{font-size:30px;}
}

/* Buttons - comic pill style */
.btn{
  display:inline-block;
  background:var(--mint);color:var(--ink);
  padding:11px 26px;border-radius:999px;
  font-weight:700;font-size:15px;
  border:2.5px solid var(--ink);
  transition:transform .15s, background .2s;
}
.btn:hover{background:var(--ink);color:#fff;transform:translateY(-2px);}
.btn.outline{
  background:transparent;border:2.5px solid var(--ink);color:var(--ink);
}
.btn.outline:hover{background:var(--ink);color:#fff;}

/* Sections */
section{padding:64px 0;}
section.alt{background:var(--cream);}

/* Speech-bubble heading badge */
.bubble-heading{
  position:relative;display:inline-block;margin:0 0 30px;
}
.bubble-heading .bubble-shadow{
  position:absolute;inset:6px -6px -6px 6px;
  background:var(--peach);border-radius:16px;z-index:0;
}
.bubble-heading .bubble-box{
  position:relative;z-index:1;
  background:var(--mint);border:3px solid var(--ink);border-radius:16px;
  padding:10px 26px;
}
.bubble-heading .bubble-box h2{
  margin:0;font-size:28px;color:var(--ink);
}
.bubble-heading .bubble-tail{
  position:relative;z-index:1;
  width:22px;height:16px;margin-right:30px;
  background:var(--mint);border-left:3px solid var(--ink);border-bottom:3px solid var(--ink);
  border-radius:0 0 0 6px;
  transform:translateY(-3px) rotate(45deg);
}

.section-head{margin-bottom:32px;}
.lead-block{max-width:760px;}
.lead-block p{font-size:18px;margin-bottom:18px;}

/* Diagonal color-block section */
.section-diagonal{
  position:relative;background:#fff;overflow:hidden;padding:70px 0;
}
.section-diagonal::before{
  content:"";position:absolute;inset:0;
  background:var(--peach);
  clip-path:polygon(0 18%, 100% 0%, 100% 82%, 0% 100%);
  z-index:0;
}
.section-diagonal .wrap{position:relative;z-index:1;}

/* Character illustration rows */
.character-row{
  display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap;justify-content:center;
}
.character-row img{height:240px;width:auto;object-fit:contain;}
@media (max-width:700px){.character-row img{height:160px;}}

.diversity-grid{
  display:flex;align-items:center;gap:40px;flex-wrap:wrap;
}
.diversity-grid .character-row{flex:1 1 260px;}
.diversity-grid .lead-block{flex:2 1 420px;}

/* Page header (sub pages) */
.page-banner{
  background:var(--navy);color:#fff;padding:54px 0;text-align:center;
}
.page-banner h1{margin:0;font-size:34px;}

/* Cards / grid */
.card-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:24px;
}
.card{
  background:#fff;border-radius:18px;padding:26px;
  box-shadow:0 4px 18px rgba(0,0,0,.06);
  border:1px solid #f0f0f0;
}
.card h3{margin-top:0;font-size:19px;}

/* Clients carousel */
.client-carousel{
  display:flex;align-items:center;gap:14px;
}
.client-track{
  display:flex;gap:36px;overflow-x:auto;scroll-behavior:smooth;
  padding:10px 4px;flex:1;
}
.client-track::-webkit-scrollbar{display:none;}
.client-track img{
  max-height:60px;width:auto;flex:0 0 auto;margin:0 auto;
}
.client-arrow{
  flex:0 0 auto;width:38px;height:38px;border-radius:50%;
  border:2.5px solid var(--ink);background:#fff;
  font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;
}
.client-arrow:hover{background:var(--mint);}

/* Running clients marquee */
.marquee{overflow:hidden;width:100%;min-width:0;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);}
.marquee-track{
  display:flex;gap:48px;width:max-content;
  animation:marquee-scroll 28s linear infinite;
}
.marquee:hover .marquee-track{animation-play-state:paused;}
.marquee-track img{max-height:60px;width:auto;flex:0 0 auto;}
@keyframes marquee-scroll{
  from{transform:translateX(0);}
  to{transform:translateX(50%);}
}

/* Photo carousel (activity photos) */
.photo-track{
  display:flex;gap:18px;overflow-x:auto;scroll-behavior:smooth;
  padding:6px 4px;flex:1;
}
.photo-track::-webkit-scrollbar{display:none;}
.photo-track img{
  height:220px;width:auto;flex:0 0 auto;border-radius:8px;object-fit:cover;
}

.flip-horizontal{transform:scaleX(-1);}

/* Team - circular (legacy, kept for compatibility) */
.team-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:30px;
}
.team-card{text-align:center;}
.team-card img{
  width:160px;height:160px;border-radius:50%;object-fit:cover;
  margin:0 auto 14px;border:4px solid var(--mint-light);
}
.team-card h3{margin:0 0 4px;font-size:18px;}
.team-card span{color:#777;font-size:14px;}

/* Board grid - rectangular photo + name tag pill */
.board-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:40px 24px;
}
.board-card{position:relative;text-align:center;}
.board-card img{
  width:100%;aspect-ratio:3/4;object-fit:cover;
  border-radius:10px;border:2.5px solid var(--ink);
  box-shadow:5px 5px 0 var(--peach);
}
.board-card .name-tag{
  position:relative;display:inline-block;margin-top:-18px;
  background:var(--mint);border:2.5px solid var(--ink);border-radius:999px;
  padding:6px 16px;font-weight:700;font-size:14px;white-space:nowrap;
}
/* Team flip cards - hover to reveal bio */
.team-flip{
  position:relative;text-align:center;border-radius:14px;overflow:hidden;
  box-shadow:5px 5px 0 var(--peach);border:2.5px solid var(--ink);
}
.team-flip img{
  width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top;display:block;
}
.founders-grid .team-flip img{aspect-ratio:4/3;}
.team-tag{background:var(--mint-light);padding:10px 8px 16px;}
.team-tag .name-tag{
  position:relative;display:inline-block;margin-top:-26px;
  background:var(--mint);border:2.5px solid var(--ink);border-radius:999px;
  padding:6px 16px;font-weight:700;font-size:14px;white-space:nowrap;
}
.team-bio{
  position:absolute;inset:0;background:rgba(28,28,43,.94);color:#fff;
  padding:22px;text-align:right;opacity:0;transition:opacity .25s;
  display:flex;flex-direction:column;justify-content:center;overflow-y:auto;
}
.team-flip:hover .team-bio{opacity:1;}
.team-bio h3{margin:0 0 8px;font-size:18px;color:var(--mint);}
.team-bio p{font-size:13px;line-height:1.6;margin:0 0 8px;}

.board-bio{
  display:flex;align-items:center;font-size:15px;color:#333;
  padding:0 10px;
}

/* Stats line */
.stats-line{
  font-weight:700;font-size:18px;margin-top:8px;
}

/* Photo strip / carousel */
.photo-strip{
  display:flex;gap:18px;overflow-x:auto;padding:6px 4px;
}
.photo-strip::-webkit-scrollbar{display:none;}
.photo-strip img{
  height:200px;width:auto;flex:0 0 auto;border-radius:4px;
  object-fit:cover;
}
.strip-row{display:flex;align-items:center;gap:14px;}
.strip-row .client-arrow{flex:0 0 auto;}

/* Duration badge pill */
.duration-badge{
  display:inline-flex;align-items:center;gap:8px;
  background:var(--mint);border:2.5px solid var(--ink);border-radius:999px;
  padding:8px 18px;font-weight:700;font-size:15px;margin-bottom:18px;
}

/* Flagship program card */
.flagship{
  display:flex;align-items:flex-start;gap:50px;flex-wrap:wrap;
}
.flagship-char{flex:1 1 280px;position:relative;}
.flagship-char img{max-width:340px;}
.flagship-bubble{
  position:relative;margin-top:-30px;margin-right:10px;max-width:320px;
  background:var(--mint-light);border:2.5px solid var(--ink);border-radius:14px;
  padding:18px;font-size:14px;font-weight:600;
}
.flagship-text{flex:2 1 420px;}
.flagship-text h3{font-size:26px;margin:0 0 4px;}
.flagship-text h4{font-size:17px;margin:0 0 16px;font-weight:700;}
.flagship-text p{font-size:16px;margin-bottom:16px;}

/* Workshop block (character + text) */
.workshop-block{
  display:flex;align-items:center;gap:50px;flex-wrap:wrap;
}
.workshop-char{flex:1 1 260px;text-align:center;}
.workshop-char img{max-width:280px;margin:0 auto;}
.workshop-text{flex:2 1 420px;}
.workshop-text h3{font-size:18px;margin:18px 0 6px;}
.workshop-text h3:first-child{margin-top:0;}
.workshop-text p{margin:0 0 4px;font-size:16px;}

/* Community photo collage */
.collage{
  position:relative;height:340px;max-width:760px;margin:50px auto 0;
}
.collage img{
  position:absolute;border-radius:8px;border:2.5px solid #fff;
  box-shadow:0 6px 18px rgba(0,0,0,.18);object-fit:cover;
}
.collage-placeholder{
  position:absolute;border-radius:8px;border:2.5px dashed #bbb;
  box-shadow:0 6px 18px rgba(0,0,0,.1);
  background:#f3f3f3;color:#999;font-size:13px;font-weight:700;
  display:flex;align-items:center;justify-content:center;text-align:center;
}
.photo-placeholder{
  position:relative;z-index:1;border:3px dashed var(--ink);border-radius:22px;
  width:100%;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;
  text-align:center;color:#777;font-weight:700;background:#f6f6f6;
}
.collage .c1{width:230px;height:150px;top:0;right:0;}
.collage .c2{width:140px;height:90px;top:10px;left:230px;}
.collage .c3{width:230px;height:160px;top:30px;left:0;}
.collage .c4{width:280px;height:260px;top:80px;right:160px;z-index:2;}
@media (max-width:700px){
  .collage{height:auto;}
  .collage img{position:static;width:100%!important;height:auto!important;margin-bottom:10px;}
}

/* FAQ */
.faq-search{
  position:relative;margin-bottom:30px;
}
.faq-search input{
  width:100%;padding:14px 44px 14px 16px;border-radius:10px;
  border:1px solid #ccc;font-size:15px;font-family:inherit;direction:rtl;
}
.faq-search span{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#888;}

.faq-item{
  border-bottom:1px solid #e7e7e7;padding:18px 0;
}
.faq-item summary{
  cursor:pointer;font-weight:700;font-size:17px;list-style:none;
  display:flex;justify-content:space-between;align-items:center;
}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"⌄";font-size:20px;color:var(--ink);transition:transform .2s;}
.faq-item[open] summary::after{transform:rotate(180deg);}
.faq-item p{margin:12px 0 0;color:#444;}

/* Contact */
.contact-box{
  background:var(--mint-light);border-radius:24px;padding:46px;
  text-align:center;max-width:680px;margin:0 auto;
}
.contact-box a.btn{margin-top:18px;}
.contact-info{
  display:flex;gap:30px;justify-content:center;flex-wrap:wrap;
  margin-top:24px;font-weight:700;font-size:17px;
}

form.contact-form{max-width:600px;margin:36px auto 0;display:grid;gap:16px;}
form.contact-form input,form.contact-form textarea{
  width:100%;padding:13px 16px;border-radius:12px;border:1px solid #ddd;
  font-size:15px;font-family:inherit;direction:rtl;
}
form.contact-form button{justify-self:start;}

/* Footer */
footer{
  background:#fff;color:var(--ink);padding:40px 0 0;font-size:15px;
}
footer .wrap{
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;
}
footer a{color:inherit;text-decoration:underline;}
footer .foot-links{display:flex;gap:18px;}
.social-icon img{height:26px;width:26px;}

.foot-top{padding-bottom:24px;}
.foot-contact p{margin:2px 0;}
.foot-logos{display:flex;align-items:center;gap:16px;}
.fb-icon{
  width:38px;height:38px;border-radius:6px;background:#1877f2;color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:900;font-size:20px;
  font-family:Georgia,serif;text-decoration:none;
}
.foot-bottom{
  background:var(--navy);color:#fff;text-align:center;flex-direction:column;
  gap:4px;padding:18px 0;font-size:13px;
}
.foot-bottom a{color:#fff;}

@media (max-width:600px){
  .foot-top{flex-direction:column;text-align:center;}
}

/* Accessibility floating button */
.a11y-btn{
  position:fixed;bottom:18px;left:18px;z-index:80;
  width:52px;height:52px;border-radius:50%;
  background:#0a6cff;color:#fff;border:none;
  font-size:24px;display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 14px rgba(0,0,0,.25);cursor:pointer;
}
