:root{
  --pink-50:#fff7fa;
  --pink-100:#fdeaf2;
  --pink-300:#f3a6c5;
  --pink-500:#df7ca6;
  --pink-700:#9f356f;
  --plum:#4f1646;
  --plum-900:#251126;
  --green:#16d72f;
  --green-soft:#e6ffe9;
  --gold:#f4c95d;
  --ink:#241529;
  --muted:#6c5a6c;
  --white:#ffffff;
  --shadow:0 18px 45px rgba(79,22,70,.13);
  --shadow-soft:0 12px 26px rgba(79,22,70,.09);
  --radius:24px;
  --radius-sm:16px;
  --container:min(1120px, calc(100% - 40px));
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:var(--ink);
  background:
    radial-gradient(circle at 12% 10%, rgba(22,215,47,.10), transparent 30%),
    radial-gradient(circle at 88% 4%, rgba(223,124,166,.22), transparent 30%),
    linear-gradient(180deg, #fffafb 0%, #fff7fa 42%, #ffffff 100%);
  line-height:1.65;
}

img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
p{margin:0 0 1rem;color:var(--muted)}
h1,h2,h3{margin:0;color:var(--plum-900);line-height:1.12;letter-spacing:-.03em}
h1{font-size:clamp(2.45rem, 6vw, 5.2rem)}
h2{font-size:clamp(2rem, 4vw, 3.35rem)}
h3{font-size:clamp(1.1rem, 2vw, 1.45rem)}
ul{margin:0;padding:0}

.container{width:var(--container);margin-inline:auto}
.section{padding:88px 0}
.section--soft{background:linear-gradient(180deg, rgba(253,234,242,.72), rgba(255,255,255,.86))}
.section-header{max-width:760px;margin:0 auto 42px;text-align:center}
.section-kicker,.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  margin-bottom:14px;
  color:var(--pink-700);
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:.78rem;
}
.section-kicker::before,.eyebrow::before{
  content:"";
  width:10px;height:10px;border-radius:999px;background:var(--green);
  box-shadow:0 0 0 6px rgba(22,215,47,.12);
}
.lead{font-size:clamp(1.02rem, 2vw, 1.22rem);color:#5a485b;max-width:780px}
.center{margin-left:auto;margin-right:auto;text-align:center}

/* Header */
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  backdrop-filter:blur(18px);
  background:rgba(255,247,250,.86);
  border-bottom:1px solid rgba(159,53,111,.12);
}
.navbar{
  width:var(--container);
  margin-inline:auto;
  min-height:82px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:235px;
}
.brand img{
  width:54px;
  height:54px;
  border-radius:50%;
  object-fit:cover;
  background:#fff;
  border:3px solid rgba(255,255,255,.9);
  box-shadow:0 10px 24px rgba(79,22,70,.16);
}
.brand span{display:block;font-weight:900;color:var(--plum);letter-spacing:-.04em;font-size:1.04rem;line-height:1.05}
.brand small{display:block;color:var(--pink-700);font-weight:800;font-size:.68rem;letter-spacing:.10em;text-transform:uppercase;margin-top:4px}
.nav-links{display:flex;align-items:center;gap:6px;list-style:none}
.nav-links a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 15px;
  border-radius:999px;
  color:#4c3a4d;
  font-weight:750;
  font-size:.94rem;
  transition:.22s ease;
}
.nav-links a:hover,.nav-links a.active{
  color:var(--plum);
  background:rgba(223,124,166,.14);
}
.nav-links .cta a,.btn{
  border:none;
  background:linear-gradient(135deg, var(--plum) 0%, var(--pink-700) 58%, var(--pink-500) 100%);
  color:#fff;
  box-shadow:0 14px 28px rgba(159,53,111,.22);
  transform:translateY(0);
}
.nav-links .cta a:hover,.btn:hover{transform:translateY(-2px);color:#fff;background:linear-gradient(135deg, var(--plum-900), var(--pink-700))}
.menu-toggle{display:none;border:0;background:#fff;color:var(--plum);border-radius:14px;padding:10px 12px;font-size:1.35rem;box-shadow:var(--shadow-soft)}

/* Buttons and cards */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:50px;
  padding:0 22px;
  border-radius:999px;
  cursor:pointer;
  font-weight:850;
  letter-spacing:-.01em;
}
.btn--light{background:#fff;color:var(--plum);box-shadow:var(--shadow-soft)}
.btn--light:hover{color:var(--plum);background:#fff}
.btn--outline{background:transparent;color:var(--plum);border:1px solid rgba(159,53,111,.22);box-shadow:none}
.btn--outline:hover{background:#fff;color:var(--plum)}
.actions{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.card{
  background:rgba(255,255,255,.82);
  border:1px solid rgba(159,53,111,.10);
  border-radius:var(--radius);
  box-shadow:var(--shadow-soft);
  overflow:hidden;
}
.card-pad{padding:28px}

/* Hero */
.hero{padding:88px 0 64px;position:relative;overflow:hidden}
.hero::after{
  content:"";position:absolute;inset:auto -12% -28% 52%;height:420px;border-radius:999px;background:rgba(22,215,47,.09);filter:blur(8px);z-index:-1;
}
.hero-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:48px;align-items:center}
.hero-copy .lead{margin:22px 0 30px}
.hero-card{
  position:relative;
  min-height:520px;
  border-radius:40px;
  padding:22px;
  background:linear-gradient(145deg, rgba(255,255,255,.82), rgba(253,234,242,.62));
  box-shadow:var(--shadow);
  border:1px solid rgba(159,53,111,.12);
}
.hero-card::before{
  content:"";
  position:absolute;
  inset:30px 30px auto auto;
  width:112px;height:112px;border-radius:50%;
  background:linear-gradient(135deg, rgba(22,215,47,.88), rgba(22,215,47,.18));
  opacity:.62;
}
.hero-image{
  height:410px;
  border-radius:32px;
  overflow:hidden;
  box-shadow:0 20px 50px rgba(79,22,70,.18);
  position:relative;
}
.hero-image img{width:100%;height:100%;object-fit:cover;filter:saturate(1.06) contrast(1.02)}
.hero-image::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, transparent 40%, rgba(37,17,38,.48))}
.logo-medallion{
  position:absolute;
  right:30px;
  bottom:78px;
  width:132px;
  border-radius:50%;
  overflow:hidden;
  background:#fff;
  border:7px solid rgba(255,255,255,.88);
  box-shadow:0 18px 40px rgba(79,22,70,.22);
}
.hero-note{
  position:absolute;
  left:22px;right:22px;bottom:22px;
  display:grid;grid-template-columns:1fr auto;align-items:center;gap:18px;
  padding:20px 22px;
  border-radius:28px;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(12px);
}
.hero-note strong{display:block;color:var(--plum);font-size:1.1rem}.hero-note span{color:var(--muted);font-weight:650;font-size:.95rem}
.impact-number{font-size:2.05rem;font-weight:950;color:var(--green);line-height:1;text-shadow:0 1px 0 #fff}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px}.stat{padding:18px;border-radius:20px;background:#fff;border:1px solid rgba(159,53,111,.10);box-shadow:var(--shadow-soft)}.stat strong{display:block;font-size:1.45rem;color:var(--plum)}.stat span{color:var(--muted);font-weight:650;font-size:.9rem}

/* Newsletter */
.newsletter{
  margin-top:28px;
  padding:22px;
  display:grid;
  grid-template-columns:1fr minmax(300px,440px);
  gap:22px;
  align-items:center;
  border-radius:30px;
  background:linear-gradient(135deg, var(--plum), var(--pink-700));
  color:#fff;
  box-shadow:var(--shadow);
}
.newsletter h2,.newsletter h3,.newsletter p{color:#fff}.newsletter p{opacity:.84;margin-bottom:0}.newsletter form{display:flex;gap:10px;background:rgba(255,255,255,.13);padding:8px;border-radius:999px}.newsletter input{flex:1;min-width:0;border:0;border-radius:999px;padding:0 16px;font:inherit;background:#fff;color:var(--ink)}.newsletter .btn{min-height:44px;box-shadow:none;background:var(--green);color:var(--plum-900)}

/* Mission */
.mission-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:28px;align-items:stretch}.mission-badge{display:flex;min-height:100%;align-items:center;justify-content:center;padding:34px;background:linear-gradient(135deg, var(--green-soft), #fff);border-radius:var(--radius);box-shadow:var(--shadow-soft);border:1px solid rgba(22,215,47,.18)}.mission-badge img{width:min(270px,75%);border-radius:50%;box-shadow:0 24px 50px rgba(79,22,70,.15)}.mission-copy{padding:36px}.mission-copy p:last-child{margin-bottom:0}

/* Galleries */
.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.gallery-card{position:relative;min-height:320px;border-radius:26px;overflow:hidden;background:#fff;box-shadow:var(--shadow-soft)}.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}.gallery-card:hover img{transform:scale(1.05)}.gallery-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, transparent 30%, rgba(37,17,38,.76))}.gallery-card figcaption{position:absolute;z-index:2;left:20px;right:20px;bottom:18px;color:#fff;font-weight:850;font-size:1.05rem}.gallery-card figcaption span{display:block;color:rgba(255,255,255,.78);font-size:.84rem;font-weight:650;margin-top:4px}
.featured-gallery{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;margin-top:26px}.featured-gallery .gallery-card:first-child{min-height:420px}.featured-gallery .stack{display:grid;gap:22px}.featured-gallery .stack .gallery-card{min-height:199px}

/* Programs / values */
.program-grid,.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.program-card,.value-card{padding:26px;border-radius:24px;background:#fff;border:1px solid rgba(159,53,111,.10);box-shadow:var(--shadow-soft);transition:.25s ease}.program-card:hover,.value-card:hover{transform:translateY(-6px);box-shadow:var(--shadow)}.icon{width:52px;height:52px;border-radius:17px;display:grid;place-items:center;background:linear-gradient(135deg, var(--pink-100), #fff);color:var(--pink-700);font-size:1.45rem;margin-bottom:18px;border:1px solid rgba(223,124,166,.18)}.value-card:nth-child(even) .icon,.program-card:nth-child(even) .icon{background:var(--green-soft);color:var(--plum)}.program-card p,.value-card p{margin-bottom:0;font-size:.96rem}

/* Team */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.team-card{background:#fff;border-radius:28px;overflow:hidden;box-shadow:var(--shadow-soft);border:1px solid rgba(159,53,111,.10)}.team-card img{width:100%;height:310px;object-fit:cover;object-position:top}.team-card .content{padding:24px}.role{display:inline-flex;margin:8px 0 12px;padding:6px 12px;border-radius:999px;background:var(--pink-100);color:var(--pink-700);font-weight:850;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.team-card p{font-size:.96rem;margin-bottom:0}

/* Inner pages */
.page-hero{padding:72px 0 46px;background:linear-gradient(135deg, rgba(253,234,242,.84), rgba(230,255,233,.72));border-bottom:1px solid rgba(159,53,111,.10)}.page-hero-grid{display:grid;grid-template-columns:1fr .55fr;gap:34px;align-items:center}.page-hero img{border-radius:34px;box-shadow:var(--shadow);max-height:330px;width:100%;object-fit:cover}.main-grid{display:grid;grid-template-columns:1fr 360px;gap:28px;align-items:start}.content-panel{padding:34px;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-soft);border:1px solid rgba(159,53,111,.10)}.objective-list{display:grid;gap:16px;list-style:none}.objective-list li{padding:22px;border-radius:20px;background:linear-gradient(135deg,#fff,var(--pink-50));border:1px solid rgba(159,53,111,.10);box-shadow:0 10px 22px rgba(79,22,70,.05)}.objective-list strong{display:block;color:var(--plum);font-size:1.08rem;margin-bottom:6px}.side-card{position:sticky;top:105px;padding:26px;background:linear-gradient(160deg,var(--plum),#7a2864);color:#fff;border-radius:var(--radius);box-shadow:var(--shadow)}.side-card h3,.side-card p{color:#fff}.side-card p{opacity:.82}.side-card .btn{background:#fff;color:var(--plum);box-shadow:none}

.service-list{display:grid;gap:18px}.service-item{display:grid;grid-template-columns:auto 1fr;gap:18px;padding:24px;border-radius:24px;background:#fff;border:1px solid rgba(159,53,111,.10);box-shadow:var(--shadow-soft)}.service-item .icon{margin:0}.contact-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:28px}.contact-info{padding:32px;background:linear-gradient(160deg,var(--plum),var(--pink-700));border-radius:var(--radius);color:#fff;box-shadow:var(--shadow)}.contact-info h2,.contact-info h3,.contact-info p{color:#fff}.contact-method{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-top:1px solid rgba(255,255,255,.18)}.contact-method:first-of-type{border-top:0}.contact-method span:first-child{width:38px;height:38px;display:grid;place-items:center;background:rgba(255,255,255,.14);border-radius:13px}.form-card{padding:32px;background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-soft);border:1px solid rgba(159,53,111,.10)}.form-grid{display:grid;gap:16px}.field label{display:block;color:var(--plum);font-weight:850;margin-bottom:7px}.field input,.field textarea{width:100%;border:1px solid rgba(159,53,111,.20);background:#fffafb;border-radius:16px;padding:14px 15px;font:inherit;color:var(--ink);outline:none;transition:.2s ease}.field input:focus,.field textarea:focus{border-color:var(--pink-500);box-shadow:0 0 0 4px rgba(223,124,166,.14)}textarea{min-height:150px;resize:vertical}
.sign-wrap{min-height:calc(100vh - 82px);display:grid;place-items:center;padding:70px 20px}.sign-card{width:min(460px,100%);padding:36px;border-radius:30px;background:#fff;box-shadow:var(--shadow);border:1px solid rgba(159,53,111,.10)}.sign-card .brand{justify-content:center;margin-bottom:18px}.sign-card h1{text-align:center;font-size:2.2rem}.sign-card p{text-align:center}.tiny-note{font-size:.88rem;color:var(--muted);margin-top:16px;text-align:center}

/* Legacy IDs kept for compatibility */
#showcase,#newsletter,#mission,#boxes,#values,#main{display:block}.button_1{border:0}.dark{background:var(--plum);color:#fff}.dark p,.dark h3{color:#fff}aside#sidebar .quote input,aside#sidebar .quote textarea{width:100%}footer{margin-top:0}

.site-footer{background:var(--plum-900);color:#fff;padding:48px 0 24px}.footer-grid{display:grid;grid-template-columns:1.2fr repeat(2,.6fr);gap:28px;align-items:start}.footer-brand{display:flex;gap:12px;align-items:center;margin-bottom:16px}.footer-brand img{width:54px;height:54px;border-radius:50%;object-fit:cover}.site-footer h3,.site-footer p,.site-footer a{color:#fff}.site-footer p,.site-footer a{opacity:.78}.footer-links{display:grid;gap:8px}.footer-bottom{margin-top:34px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;color:rgba(255,255,255,.64);font-size:.92rem}

@media (max-width: 980px){
  .hero-grid,.mission-grid,.page-hero-grid,.main-grid,.contact-layout,.featured-gallery{grid-template-columns:1fr}.hero-card{min-height:auto}.program-grid,.values-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid,.team-grid{grid-template-columns:repeat(2,1fr)}.side-card{position:static}.newsletter{grid-template-columns:1fr}.page-hero img{max-height:420px}.hero-image{height:390px}
}
@media (max-width: 760px){
  :root{--container:min(100% - 28px, 1120px)}.section{padding:64px 0}.navbar{min-height:74px}.menu-toggle{display:inline-grid}.nav-links{position:absolute;left:14px;right:14px;top:82px;display:none;flex-direction:column;align-items:stretch;background:#fff;border:1px solid rgba(159,53,111,.12);border-radius:24px;padding:12px;box-shadow:var(--shadow)}.nav-links.open{display:flex}.nav-links a{justify-content:flex-start}.brand{min-width:auto}.brand span{font-size:.95rem}.brand small{display:none}.hero{padding-top:54px}.hero-card{padding:14px;border-radius:30px}.hero-image{height:330px;border-radius:24px}.hero-note{position:relative;left:auto;right:auto;bottom:auto;margin-top:12px;grid-template-columns:1fr}.logo-medallion{width:104px;right:24px;bottom:118px}.stats{grid-template-columns:1fr}.program-grid,.values-grid,.gallery-grid,.team-grid,.footer-grid{grid-template-columns:1fr}.newsletter form{border-radius:22px;flex-direction:column}.newsletter .btn{width:100%}.featured-gallery .gallery-card:first-child,.gallery-card{min-height:280px}.team-card img{height:300px}.service-item{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:8px}
}
