:root{--purple:#9B86C4;--purple-deep:#65508D;--lavender:#ECE5FA;--lavender-soft:#F7F3FD;--blue:#327EA5;--sky:#5CB7D2;--sky-soft:#E7F7FB;--sand-soft:#F4F0EA;--ink:#253044;--muted:#677286;--shadow:0 20px 60px rgba(55,49,88,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Montserrat,system-ui,sans-serif;color:var(--ink);background:#fff;overflow-x:hidden}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}
.rainbow-bar{height:5px;background:linear-gradient(90deg,#d98dcc,#a99bdf,#79bce5,#78d0d0,#eed67f,#efaf8a)}
.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:10px clamp(18px,4vw,66px);background:rgba(255,255,255,.93);backdrop-filter:blur(18px);border-bottom:1px solid rgba(101,80,141,.09)}
.brand{display:flex;align-items:center;gap:11px}.brand img{width:62px;height:62px;object-fit:contain}.brand span{display:flex;flex-direction:column;line-height:1.1}.brand strong{font-family:Cinzel,serif;color:var(--purple-deep);font-size:17px}.brand small{margin-top:5px;font-size:10px;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}
.nav{display:flex;align-items:center;gap:25px;font-size:12px;font-weight:700}.nav a{position:relative}.nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:linear-gradient(90deg,var(--purple),var(--sky));transition:.25s}.nav a:hover::after{right:0}.nav-cta{color:#fff;padding:11px 18px;border-radius:999px;background:var(--purple-deep)}.menu-toggle{display:none;border:0;background:transparent;width:42px;height:42px;padding:8px}.menu-toggle span{display:block;height:2px;background:var(--ink);margin:5px 0}
.hero{min-height:720px;display:grid;grid-template-columns:.92fr 1.08fr;gap:60px;align-items:center;padding:78px clamp(24px,7vw,110px);background:radial-gradient(circle at 10% 10%,rgba(99,183,211,.17),transparent 30%),radial-gradient(circle at 40% 90%,rgba(155,134,196,.14),transparent 30%),linear-gradient(135deg,#fff 0%,#fbf9ff 62%,#f7fcff 100%)}
.hero-copy{max-width:760px}.eyebrow{margin:0 0 16px;color:var(--purple-deep);font-size:11px;font-weight:800;letter-spacing:.18em}.hero h1,.section h2,.today-panel h2,.contact-card h2{font-family:"Libre Baskerville",serif;letter-spacing:-.03em}.hero h1{margin:0 0 25px;font-size:clamp(48px,5.7vw,82px);line-height:1.04}.hero h1 span{background:linear-gradient(90deg,var(--purple-deep),var(--blue));-webkit-background-clip:text;background-clip:text;color:transparent}.lead{max-width:690px;color:var(--muted);font-size:17px;line-height:1.78}.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:31px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:51px;padding:0 24px;border-radius:999px;font-weight:800;font-size:12px;transition:.25s}.btn:hover{transform:translateY(-2px)}.btn-primary{color:#fff;background:linear-gradient(135deg,var(--purple-deep),#7B63A6);box-shadow:0 13px 30px rgba(101,80,141,.24)}.btn-secondary{color:var(--blue);background:#fff;border:1px solid rgba(50,126,165,.22)}.hero-note{display:flex;align-items:center;gap:10px;margin-top:27px;color:var(--muted);font-size:12px}.rainbow-dot{width:17px;height:17px;border-radius:50%;background:conic-gradient(#d98dcc,#a99bdf,#79bce5,#78d0d0,#eed67f,#efaf8a,#d98dcc)}
.hero-photo-wrap{position:relative;min-height:545px;border-radius:38px;overflow:hidden;box-shadow:var(--shadow)}.hero-photo{width:100%;height:545px;object-fit:cover}.hero-photo-wrap::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(17,35,57,.35))}.photo-label{position:absolute;z-index:2;left:28px;bottom:26px;display:flex;flex-direction:column;color:#fff}.photo-label strong{font:700 27px/1.2 "Libre Baskerville",serif}.photo-label span{margin-top:5px;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.section{padding:95px clamp(24px,7vw,110px)}.section-heading{max-width:850px;margin-bottom:46px}.section-heading.narrow{max-width:760px}.section h2,.today-panel h2,.contact-card h2{margin:0 0 18px;font-size:clamp(37px,4.4vw,60px);line-height:1.12}.section-heading>p:last-child,.story-copy>p,.today-panel>p,.cleanup-copy>p,.youth-card>p,.contact-copy>p{color:var(--muted);font-size:15px;line-height:1.8}
.promise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.promise-card{padding:31px;border-radius:30px;background:#fff;border:1px solid rgba(101,80,141,.1);box-shadow:0 16px 42px rgba(52,58,91,.07)}.promise-card .icon{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:var(--lavender);color:var(--purple-deep);font-size:23px}.promise-card h3,.timeline-item h3,.program-card h3,.vision-card h3,.involve-card h3{font-family:"Libre Baskerville",serif}.promise-card h3{margin:20px 0 10px;font-size:20px}.promise-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.7}
.story-section{display:grid;grid-template-columns:1.05fr .95fr;gap:62px;align-items:center;background:var(--lavender-soft)}.story-image{border-radius:34px;overflow:hidden;box-shadow:var(--shadow)}.story-image img{width:100%;height:520px;object-fit:cover}.story-copy h2{margin-top:0}.history-tags,.fact-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.history-tags span,.fact-pills span{padding:11px 14px;border-radius:999px;font-size:11px;font-weight:800;background:#fff;color:var(--purple-deep);box-shadow:0 8px 24px rgba(55,49,88,.07)}
.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.timeline-item{min-height:285px;padding:28px;border-radius:26px;background:linear-gradient(180deg,#fbf9ff,#fff);border:1px solid rgba(101,80,141,.1)}.year{display:inline-block;margin-bottom:22px;padding:8px 11px;border-radius:999px;background:var(--lavender);color:var(--purple-deep);font-size:11px;font-weight:800}.timeline-item h3{font-size:19px;margin:0 0 11px}.timeline-item p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}
.today-section{display:grid;grid-template-columns:1.1fr .9fr;min-height:620px;background:var(--sky-soft)}.today-photo{min-height:620px;overflow:hidden}.today-photo img{width:100%;height:100%;object-fit:cover}.today-panel{padding:80px clamp(30px,6vw,90px);display:flex;flex-direction:column;justify-content:center}.today-panel .fact-pills span{background:rgba(255,255,255,.82);color:#153F62}
.programs{background:#fbfaff}.program-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:21px}.program-card{position:relative;overflow:hidden;min-height:330px;padding:34px;border-radius:31px;background:#fff;border:1px solid rgba(101,80,141,.1);box-shadow:0 16px 42px rgba(52,58,91,.07);transition:.25s}.program-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.program-number{position:absolute;top:18px;right:25px;color:rgba(101,80,141,.07);font:700 64px/1 Cinzel,serif}.program-icon{font-size:37px}.program-card h3{margin:22px 0 12px;font-size:24px}.program-card p{max-width:91%;color:var(--muted);line-height:1.75;font-size:14px}.program-card a{display:inline-block;margin-top:17px;color:var(--purple-deep);font-size:12px;font-weight:800}
.cleanup-section{display:grid;grid-template-columns:.86fr 1.14fr;gap:55px;align-items:center}.cleanup-image{overflow:hidden;border-radius:36px;box-shadow:var(--shadow)}.cleanup-image img{width:100%;height:500px;object-fit:cover}.text-link{display:inline-block;margin-top:18px;color:var(--purple-deep);font-weight:800;font-size:12px}
.youth{display:grid;grid-template-columns:1.15fr .85fr;gap:26px;background:linear-gradient(135deg,#f3edff,#edfafd)}.youth-card,.youth-quote{position:relative;overflow:hidden;padding:45px;border-radius:34px;background:rgba(255,255,255,.88);border:1px solid rgba(101,80,141,.08)}.mini-rainbow{position:absolute;right:-55px;top:-65px;width:220px;height:120px;border-radius:220px 220px 0 0;border:10px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(90deg,#d98dcc,#a99bdf,#79bce5,#78d0d0,#eed67f,#efaf8a) border-box;opacity:.5}.mini-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:27px}.mini-list span{padding:13px 14px;border-radius:15px;background:var(--lavender-soft);color:var(--purple-deep);font-weight:800;font-size:11px}.youth-quote{display:flex;flex-direction:column;justify-content:center;background:linear-gradient(135deg,var(--purple-deep),var(--blue));color:#fff}.youth-quote span{font:700 90px/1 "Libre Baskerville",serif;opacity:.3}.youth-quote p{margin:0;font:400 25px/1.55 "Libre Baskerville",serif}
.vision-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.vision-card{padding:30px;border-radius:28px;background:var(--sand-soft)}.vision-card>span{display:inline-grid;place-items:center;width:39px;height:39px;border-radius:50%;background:#fff;color:var(--purple-deep);font-size:11px;font-weight:800}.vision-card h3{font-size:19px;margin:20px 0 10px}.vision-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}
.get-involved{background:#fbfaff}.involve-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.involve-card{padding:31px;border-radius:29px;background:#fff;border:1px solid rgba(101,80,141,.1);box-shadow:0 16px 42px rgba(52,58,91,.07);transition:.25s}.involve-card:hover{transform:translateY(-5px);border-color:rgba(101,80,141,.24)}.involve-icon{font-size:37px}.involve-card h3{margin:17px 0 10px;font-size:21px}.involve-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.72}.involve-card strong{display:block;margin-top:19px;color:var(--purple-deep);font-size:12px}
.contact{padding-top:45px}.contact-card{position:relative;overflow:hidden;max-width:1180px;margin:auto;padding:55px;border-radius:38px;background:linear-gradient(135deg,#efe8ff,#eefaff);box-shadow:var(--shadow)}.contact-copy{max-width:760px;position:relative;z-index:2}.contact-accent{position:absolute;right:55px;top:50%;transform:translateY(-50%);display:flex;align-items:end;gap:11px;opacity:.6}.contact-accent span{width:35px;border-radius:30px 30px 8px 8px}.contact-accent span:nth-child(1){height:125px;background:#d88fca}.contact-accent span:nth-child(2){height:170px;background:#a998df}.contact-accent span:nth-child(3){height:205px;background:#78bce5}.contact-accent span:nth-child(4){height:160px;background:#7fd0cf}.contact-accent span:nth-child(5){height:110px;background:#ecd779}
footer{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:35px clamp(24px,7vw,110px);border-top:1px solid rgba(101,80,141,.09);background:#fff}footer div{display:flex;flex-direction:column;gap:5px}footer strong{font-family:"Libre Baskerville",serif;font-size:13px}footer span,footer p{color:var(--muted);font-size:11px;margin:0}footer p{letter-spacing:.1em;text-transform:uppercase}.whatsapp-float{position:fixed;z-index:40;right:22px;bottom:22px;width:58px;height:58px;display:grid;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(135deg,var(--purple-deep),var(--blue));box-shadow:0 14px 38px rgba(40,60,100,.24);font-size:26px}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:1060px){.hero{grid-template-columns:1fr;padding-top:60px}.hero-photo-wrap,.hero-photo{height:520px;min-height:520px}.story-section,.today-section,.cleanup-section,.youth{grid-template-columns:1fr}.today-photo{min-height:480px}.timeline{grid-template-columns:repeat(2,1fr)}.promise-grid,.vision-grid,.involve-grid{grid-template-columns:1fr}}
@media(max-width:780px){.site-header{padding:8px 15px}.brand img{width:54px;height:54px}.brand span{display:none}.menu-toggle{display:block}.nav{position:absolute;top:72px;left:14px;right:14px;display:none;flex-direction:column;align-items:stretch;padding:17px;border-radius:20px;background:#fff;box-shadow:var(--shadow)}.nav.open{display:flex}.nav a{padding:10px}.nav-cta{text-align:center}.hero{padding:55px 20px;gap:35px}.hero h1{font-size:43px}.hero-photo-wrap,.hero-photo{height:380px;min-height:380px}.section{padding:72px 20px}.section h2,.today-panel h2,.contact-card h2{font-size:37px}.story-image img,.cleanup-image img{height:360px}.timeline{grid-template-columns:1fr}.program-grid{grid-template-columns:1fr}.today-panel{padding:60px 20px}.mini-list{grid-template-columns:1fr}.contact-card{padding:38px 25px}.contact-accent{opacity:.16;right:10px}footer{flex-direction:column;text-align:center}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.reveal{opacity:1;transform:none}}
