:root{
  --bg-top:#f4f8ff; --bg-mid:#dce9ff; --bg-bot:#f7fbff;
  --navy:#0b1b33; --navy2:#0b3478; --blue:#1f5ba5;
  --muted:rgba(11,27,51,.72); --muted2:rgba(11,27,51,.58);
  --border:rgba(11,27,51,.14);
  --card:rgba(255,255,255,.86); --card2:rgba(255,255,255,.72);
  --shadow:0 18px 60px rgba(11,27,51,.10);
  --shadow2:0 26px 80px rgba(11,27,51,.14);
  --ring:rgba(31,91,165,.18);
}
.bg-aurora{
  background:
    radial-gradient(1000px 600px at 10% 8%, rgba(31,91,165,.18), transparent 62%),
    radial-gradient(900px 540px at 92% 10%, rgba(11,52,120,.16), transparent 62%),
    radial-gradient(900px 520px at 50% 92%, rgba(11,27,51,.07), transparent 62%),
    linear-gradient(180deg, var(--bg-top), var(--bg-mid) 55%, var(--bg-bot));
}
body{ color:var(--navy); }
h1,h2,h3{ font-family: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; letter-spacing:-0.018em; }
.hero-title{ line-height:1.05; }
.glass{ background:var(--card); border:1px solid var(--border); backdrop-filter: blur(12px); box-shadow: var(--shadow); }
.placeholder{
  background:
    radial-gradient(220px 160px at 20% 30%, rgba(31,91,165,.14), transparent 65%),
    radial-gradient(200px 140px at 80% 20%, rgba(11,52,120,.12), transparent 65%),
    rgba(11,27,51,.045);
  border:1px solid rgba(11,27,51,.14);
}
.lift{ transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.lift:hover{ transform: translateY(-2px); box-shadow: var(--shadow2); }
header{ background: rgba(255,255,255,.86)!important; border-bottom:1px solid rgba(11,27,51,.12)!important; }
a.underline:hover{ color: var(--navy2)!important; }
.btn-primary{
  background: linear-gradient(180deg, var(--navy2), var(--navy));
  color:#fff!important;
  border:1px solid rgba(11,27,51,.18);
  box-shadow:0 12px 30px rgba(11,52,120,.20);
  transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease;
}
.btn-primary:hover{ transform: translateY(-1px); box-shadow:0 16px 42px rgba(11,52,120,.24); }
.btn-secondary{
  background: rgba(255,255,255,.78);
  border:1px solid rgba(11,27,51,.16);
  transition: background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.btn-secondary:hover{ background: rgba(255,255,255,.92); transform: translateY(-1px); box-shadow: var(--shadow); }
.pill{ background: rgba(255,255,255,.78); border:1px solid rgba(11,27,51,.14); }
.navy-band{
  background:
    radial-gradient(900px 520px at 20% 0%, rgba(255,255,255,.12), transparent 58%),
    radial-gradient(700px 420px at 90% 10%, rgba(31,91,165,.18), transparent 58%),
    linear-gradient(180deg, rgba(11,27,51,.95), rgba(11,27,51,.90));
  color:#fff;
  border-top:1px solid rgba(255,255,255,.14);
  border-bottom:1px solid rgba(255,255,255,.14);
}
.navy-band *{ color: rgba(255,255,255,.92)!important; }
.navy-band .muted{ color: rgba(255,255,255,.72)!important; }
.navy-band .card-dark{
  background: rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter: blur(10px);
  box-shadow: 0 16px 46px rgba(0,0,0,.22);
}
.hero-surface{
  background:
    radial-gradient(900px 520px at 12% 18%, rgba(31,91,165,.18), transparent 60%),
    radial-gradient(820px 520px at 88% 20%, rgba(11,52,120,.16), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,.60));
  border:1px solid rgba(11,27,51,.14);
  box-shadow: var(--shadow2);
}
.input{
  background: rgba(255,255,255,.70);
  border:1px solid rgba(11,27,51,.16);
  outline:none;
  transition: box-shadow .18s ease, border-color .18s ease;
}
.input:focus{ border-color: rgba(31,91,165,.32); box-shadow: 0 0 0 6px var(--ring); }
.fade-in{ opacity:0; transform: translateY(12px); transition: opacity .7s ease, transform .7s ease; }
.fade-in.show{ opacity:1; transform: translateY(0); }

/* animated workshop topic strip */
.marquee{
  overflow:hidden;
  border:1px solid rgba(11,27,51,.14);
  background: rgba(255,255,255,.70);
}
.marquee-track{
  display:flex;
  gap:14px;
  width:max-content;
  animation: marquee 18s linear infinite;
  padding: 12px 14px;
}
.marquee:hover .marquee-track{ animation-play-state: paused; }
.marquee-pill{
  white-space:nowrap;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(31,91,165,.10);
  border:1px solid rgba(11,27,51,.14);
  font-size: 13px;
  color: rgba(11,27,51,.86);
}
@keyframes marquee{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}

.workshop-gallery{
  column-count:1;
  column-gap:16px;
}

@media (min-width: 700px){
  .workshop-gallery{
    column-count:2;
  }
}

@media (min-width: 1024px){
  .workshop-gallery{
    column-count:3;
  }
}

.workshop-photo-card{
  overflow:hidden;
  border-radius:24px;
  background:rgba(255,255,255,.76);
  border:1px solid rgba(11,27,51,.14);
  box-shadow:0 18px 50px rgba(11,27,51,.10);
  transition: transform .18s ease, box-shadow .18s ease;
  display:inline-block;
  width:100%;
  margin:0 0 16px;
  break-inside:avoid;
}

.workshop-photo-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow2);
}

.workshop-photo-frame{
  aspect-ratio:4 / 3;
  overflow:hidden;
  background:rgba(11,27,51,.06);
}

.workshop-photo-card.featured .workshop-photo-frame{
  aspect-ratio:16 / 10;
}

.workshop-photo-frame.wide{
  aspect-ratio:16 / 10;
}

.workshop-photo-frame.tall{
  aspect-ratio:3 / 4;
}

.workshop-photo-card.span-tall .workshop-photo-frame{
  aspect-ratio:3 / 4;
}

.workshop-photo-frame img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  filter:saturate(1.04) contrast(1.03);
  transition:transform .24s ease;
}

.workshop-photo-frame.focus-top img{
  object-position:center 24%;
}

.workshop-photo-frame.focus-center img{
  object-position:center center;
}

.workshop-photo-frame.focus-left img{
  object-position:28% center;
}

.workshop-photo-frame.focus-right img{
  object-position:72% center;
}

.workshop-photo-frame.focus-bottom img{
  object-position:center 72%;
}

.workshop-photo-card:hover img{
  transform:scale(1.025);
}

.workshop-caption{
  padding:12px 16px 14px;
}

.workshop-caption strong{
  display:block;
  font-size:14px;
  line-height:1.25;
  color:rgba(11,27,51,.92);
}

.workshop-caption span{
  display:block;
  margin-top:4px;
  font-size:12px;
  line-height:1.35;
  color:var(--muted2);
}

.workshop-collage,
.donate-photo-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:12px;
}

.workshop-collage .workshop-photo-card:first-child{
  grid-column: span 2;
}

@media (min-width: 640px){
  .donate-photo-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.chapter-socials{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.chapter-socials a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 14px;
  border-radius:999px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(11,27,51,.16);
  color:rgba(11,27,51,.86);
  font-size:13px;
  font-weight:600;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.chapter-socials a:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.94);
  box-shadow:var(--shadow);
}

.chapter-member-grid{
  display:grid;
  grid-template-columns:repeat(1, minmax(0, 1fr));
  gap:14px;
}

@media (min-width: 640px){
  .chapter-member-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px){
  .chapter-member-grid{
    grid-template-columns:repeat(4, minmax(0, 1fr));
  }
}

.chapter-member-card{
  overflow:hidden;
  border-radius:22px;
  background:rgba(255,255,255,.76);
  border:1px solid rgba(11,27,51,.14);
  box-shadow:0 14px 42px rgba(11,27,51,.08);
}

.chapter-headshot{
  aspect-ratio:1 / 1;
  overflow:hidden;
  background:rgba(11,27,51,.06);
}

.chapter-headshot img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
}

.chapter-initials{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:34px;
  font-weight:700;
  color:rgba(11,52,120,.86);
  background:
    radial-gradient(180px 140px at 25% 22%, rgba(31,91,165,.16), transparent 65%),
    radial-gradient(180px 140px at 78% 30%, rgba(11,52,120,.14), transparent 65%),
    rgba(255,255,255,.74);
}

.chapter-member-body{
  padding:14px 15px 16px;
}

.chapter-member-body strong{
  display:block;
  font-size:14px;
  line-height:1.25;
}

.chapter-member-body span{
  display:block;
  margin-top:5px;
  font-size:12px;
  line-height:1.35;
  color:var(--muted2);
}

/* ===== Logo Styling ===== */

/* Clean logo badge */

.logo-badge{
  width:52px;
  height:52px;
  border-radius:16px;
  background:white;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:
    0 4px 10px rgba(0,0,0,0.06),
    inset 0 0 0 1px rgba(0,0,0,0.06);
}

/* zoom logo */
.logo-img{
  width:34px;
  height:34px;
  object-fit:contain;
}

/* ---------- Team photo improvements ---------- */
.team-card {
  overflow: hidden;
}

/* Team photos */

.team-photo{
  width:100%;
  height:320px;
  object-fit:cover;
  object-position:center;
  border-radius:18px;
  box-shadow:0 12px 30px rgba(0,0,0,.08);
}

.team-photo-frame{
  width:100%;
  height:320px;
  overflow:hidden;
  border-radius:18px;
  box-shadow:0 12px 30px rgba(0,0,0,.08);
}

.team-photo-frame .team-photo{
  height:100%;
  border-radius:0;
  box-shadow:none;
}

/* Move Srinidhi up slightly */
.team-srinidhi{
  object-position:center 40%;
}

/* Move Agni up more */
.team-agni{
  object-position:center 15%;
}

.team-photo--samhitha{
  object-position:center 44%;
}

.chapter-headshot.zoom-out img{
  object-position:center 48%;
}

.team-photo--ria{
  object-position:center;
  transform:translateX(-5%) scale(1.08);
  transform-origin:center center;
}

.chapter-headshot.focus-left img{
  object-position:70% center;
}

.chapter-headshot.crop-samhitha-ucla img{
  object-position:center 34%;
}

.chapter-headshot.crop-srinidhi-leadership img{
  object-position:center 46%;
  transform:scale(1.12);
}

.chapter-headshot.crop-leadership-ria img{
  object-position:74% 50%;
}

.chapter-headshot.crop-leadership-agni img{
  object-position:center 46%;
}

.chapter-headshot.crop-leadership-navya img{
  object-position:center 42%;
}

.chapter-headshot.crop-saydi img{
  object-position:center 56%;
  transform:scale(1.28);
}

.chapter-headshot.crop-lizbeth img{
  object-position:center 100%;
}

.chapter-headshot.crop-tara img{
  object-position:center 48%;
}

.chapter-headshot.crop-ria-up img{
  object-position:center 64%;
}

.chapter-headshot.crop-reva-up img{
  object-position:center 61%;
  transform:scale(1.06);
}

.chapter-headshot.crop-agni-down img{
  object-position:center 0%;
}

.chapter-headshot.crop-riya-right img{
  object-position:35% center;
}

.chapter-headshot.crop-ellye img{
  object-position:center 44%;
}

/* Make the text breathe slightly under the image */
.team-card .bio {
  margin-top: 14px;
}

/* On small screens: slightly taller images so face stays clear */
@media (max-width: 640px) {
  .team-photo {
    height: 260px;
    object-position: 50% 28%;
  }

  .team-photo-frame{
    height:260px;
  }

  .team-photo--ria{
    object-position:center;
  }
}

.partner-tile{
  height: 64px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;

  background: rgba(255,255,255,.70);
  border: 1px solid rgba(11,27,51,.14);

  padding: 8px 14px;
  transition: transform .15s ease, opacity .15s ease;
}

.partner-tile:hover{
  transform: translateY(-1px);
  opacity: .95;
}

.partner-tile img{
  height: 40px;
  max-height: 100%;
  max-width: 100%;
  object-fit: contain;
  display: block;
}

.partner-tile img[src*="826-la"]{ height: 34px; }
.partner-tile img[src*="bigbrothersbigsisters"]{ height: 40px; }
.partner-tile img[src*="girlsforachange"]{
  height: 50px;
  max-height: none;
}
.partner-tile img[src*="hands4hope"]{
  height: 42px;
  max-height: none;
}
.partner-tile img[src*="heartofla"]{ height: 42px; }
.partner-tile img[src*="ihaveadream"]{ height: 34px; }
.partner-tile img[src*="peace4kids"]{ height: 38px; }
.partner-tile img[src*="projectleayd"]{ height: 38px; }
.partner-tile img[src*="upwardbound"]{ height: 42px; }
.partner-tile img[src*="ywca"]{ height: 42px; }

.partner-card{
  border-radius: 18px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(11,27,51,.14);
  padding: 12px 12px 14px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  transition: transform .15s ease, opacity .15s ease;
}

.partner-card:hover{
  transform: translateY(-1px);
  opacity: .96;
}

.partner-name{
  font-weight: 700;              /* bold */
  font-size: 12px;
  text-align: center;
  color: rgba(11,27,51,.86);
  line-height: 1.15;
}

.partner-card img{
  height: 54px;
  width: 100%;
  max-width: 188px;
  object-fit: contain;
  display: block;
}

.partner-card img[src*="826-la"]{ height: 44px; max-width: 170px; }
.partner-card img[src*="bigbrothersbigsisters"]{ height: 58px; max-width: 168px; }
.partner-card img[src*="girlsforachange"]{ height: 78px; max-width: 178px; }
.partner-card img[src*="hands4hope"]{ height: 62px; max-width: 156px; }
.partner-card img[src*="heartofla"]{ height: 62px; max-width: 154px; }
.partner-card img[src*="ihaveadream"]{ height: 42px; max-width: 176px; }
.partner-card img[src*="peace4kids"]{ height: 48px; max-width: 174px; }
.partner-card img[src*="projectleayd"]{ height: 52px; max-width: 164px; }
.partner-card img[src*="upwardbound"]{ height: 58px; max-width: 168px; }
.partner-card img[src*="ywca"]{ height: 58px; max-width: 150px; }

.partner-logo-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
}

@media (min-width:640px){
  .partner-logo-grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}

.partner-logo-grid .partner-card{
  min-height:124px;
  justify-content:center;
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.72));
  box-shadow:0 12px 28px rgba(11,27,51,.06);
}

.partner-story-image{
  overflow:hidden;
  border-radius:20px;
  border:1px solid rgba(11,27,51,.14);
  box-shadow:0 16px 36px rgba(11,27,51,.10);
  background:rgba(255,255,255,.72);
}

.partner-story-image img{
  display:block;
  width:100%;
  aspect-ratio:16 / 10;
  object-fit:cover;
  object-position:center;
}

.marquee-pill{
  padding:10px 18px;
  border-radius:999px;
  font-size:14px;
  font-weight:500;
  background:rgba(255,255,255,0.85);
  border:1px solid rgba(11,27,51,.12);
  white-space:nowrap;
  transition:transform .2s ease;
}

.marquee-pill:hover{
  transform:translateY(-2px);
}
