:root{--blue:#335aa4;--coral:#ec6951;--yellow:#f9c348;--cream:#fff6e6;--navy:#335aa4;--ink:#1f1f1f;--muted:#555555}
@font-face{font-family:"Axiforma";src:url("assets/Axiforma-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Axiforma";src:url("assets/Axiforma-Black.woff2") format("woff2");font-weight:900;font-style:normal;font-display:swap}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:"Axiforma",Helvetica,Arial,sans-serif;color:var(--ink);background:var(--cream);line-height:1.65;font-size:1.0625rem;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
a:focus-visible{outline:3px solid var(--ink);outline-offset:4px;border-radius:999px}
.skip{position:absolute;left:-999px;top:0;background:#fff;padding:.5rem 1rem;z-index:10}
.skip:focus{left:1rem;top:1rem}
h1,h2{font-weight:900;line-height:1.05;margin:0 0 1.1rem;letter-spacing:-.015em}
h1{font-size:clamp(2.7rem,12vw,5.5rem);color:var(--blue)}
h2{font-size:clamp(2rem,8.5vw,3.6rem)}
.wrap{max-width:46rem;margin:0 auto;padding:0 1.5rem;position:relative}
.pill{display:inline-block;padding:.5rem 1.1rem;border-radius:999px;font-weight:900;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase}
.btn{display:inline-block;text-align:center;padding:1.15rem 2rem;border-radius:999px;font-weight:900;font-size:.95rem;text-transform:uppercase;letter-spacing:.05em;text-decoration:none;box-shadow:0 6px 0 rgba(0,0,0,.16);transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 0 rgba(0,0,0,.16)}
.btn:active{transform:translateY(3px);box-shadow:0 2px 0 rgba(0,0,0,.16)}
.btn--yellow{background:var(--yellow);color:var(--navy)}
.btn--blue{background:var(--blue);color:#fff}

.eyebrow{margin:0 0 .6rem;font-weight:900;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--blue)}
.eyebrow--yellow{color:var(--yellow)}
.hero{background:var(--blue);color:var(--cream);text-align:center;padding:2.5rem 1.25rem 0;overflow:hidden}
.hero__pill{margin:0 0 1.5rem}
.pill{background:var(--yellow);color:var(--navy)}
.hero__logo{margin:0 auto;width:min(86vw,560px)}
.hero__logo img{width:100%}
.hero__big{font-weight:900;font-size:clamp(2.3rem,10.5vw,5rem);line-height:1.02;letter-spacing:-.02em;margin:2rem auto 1.75rem;max-width:12ch;color:var(--cream)}
.hero__actions{margin-bottom:2.25rem}
.hero__photo{display:block;width:calc(100% + 2.5rem);max-width:none;height:auto;aspect-ratio:1288/356;object-fit:cover;object-position:center top;margin:0 -1.25rem 1.75rem;-webkit-mask-image:linear-gradient(180deg,#000 72%,transparent 100%);mask-image:linear-gradient(180deg,#000 72%,transparent 100%)}
.sec{position:relative;padding:3.5rem 0 4.5rem}
.wave{position:absolute;left:0;top:-59px;width:100%;height:60px;display:block}
.sec--cream{background:var(--cream)}
.sec--blue{background:var(--blue);color:#fff}
.sec--yellow{background:var(--yellow);color:var(--ink)}
.sec--navy{background:var(--navy);color:#fff}
.sec p{margin:0 0 1.1rem;max-width:36rem}
.sec .btn{margin-top:.75rem}
.intro{text-align:center}
.intro p{margin-left:auto;margin-right:auto;color:var(--ink)}
.intro h2{color:var(--blue);font-size:clamp(2.4rem,10.5vw,4.6rem)}
.intro__bowl{width:clamp(7rem,32vw,10rem);margin:0 auto 1.25rem}
.lead{font-weight:900;font-size:clamp(1.25rem,5.2vw,1.7rem);line-height:1.3;color:var(--blue)!important}
.badges{list-style:none;padding:0;margin:2.5rem auto 0;display:flex;justify-content:center;gap:clamp(.6rem,3vw,1.5rem);flex-wrap:wrap}
.badges li{width:clamp(5.6rem,26vw,8rem);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:var(--yellow);font-weight:900;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(.72rem,3vw,.95rem);box-shadow:0 6px 0 rgba(0,0,0,.16)}
.badges li:nth-child(2){background:var(--navy);color:var(--yellow)}
.badges li:nth-child(3){background:var(--cream);color:var(--blue)}
.promise{text-align:center}
.promise__big{font-weight:900;text-transform:uppercase;font-size:clamp(3rem,15vw,7rem);line-height:.95;color:var(--yellow);margin:0 auto .9rem!important;max-width:none!important;letter-spacing:-.01em}
.promise__sub{font-size:clamp(1.1rem,4.6vw,1.4rem);margin:0 auto!important;color:var(--cream)}
#volunteer h2{color:var(--blue)}
#service-day h2{color:#fff}
#service-day p{color:var(--cream)}
#volunteer p{color:var(--muted)}
.feed{display:grid;gap:2rem}
.feed__photo{width:min(78%,20rem);margin:0 auto;background:var(--blue);border-radius:32px;padding:1.25rem 1.25rem 0}
.feed h2{color:var(--blue)}
.feed p{color:var(--ink)}
.involve{text-align:center}
.involve h2{color:var(--yellow)}
.involve__sub{margin:0 auto 2rem!important;color:var(--cream)}
.cards{display:grid;gap:1rem}
.card{display:flex;flex-direction:column;gap:.35rem;padding:1.6rem 1.5rem;border-radius:28px;text-decoration:none;box-shadow:0 7px 0 rgba(0,0,0,.18);transition:transform .15s}
.card:hover{transform:translateY(-3px)}
.card__t{font-weight:900;font-size:clamp(1.6rem,7vw,2.1rem);line-height:1.1}
.card__s{font-size:.95rem}
.card--yellow{background:var(--yellow);color:var(--navy)}
.card--blue{background:var(--blue);color:#fff}
.card--cream{background:var(--cream);color:var(--blue)}
.footer{text-align:center;padding-bottom:calc(3rem + env(safe-area-inset-bottom))}
.footer__label{margin:0 auto .25rem!important;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.footer__logo{display:inline-block;padding:1.5rem 1.75rem}
.footer__logo img{width:220px}
.contact{font-style:normal;display:flex;flex-direction:column;gap:.35rem;margin:.5rem 0 1.25rem;font-weight:900;font-size:1.1rem}
.contact a{text-decoration:none;color:var(--blue);padding:.2rem 0}
.contact a:hover{text-decoration:underline}
.small{font-size:.85rem;color:var(--muted);margin:0 auto!important}
.small span{display:block;margin-top:.25rem}
@media (max-width:420px){.btn{display:block;width:100%;padding:1.1rem 1rem;font-size:.85rem;letter-spacing:.03em}}
@media (min-width:760px){
  .wave{height:90px;top:-89px}
  .sec{padding:4.5rem 0 6rem}
  .feed{grid-template-columns:20rem 1fr;align-items:center;max-width:62rem}
  .feed__photo{width:100%}
  .cards{grid-template-columns:repeat(3,1fr);max-width:62rem;margin:0 auto}
  .involve .wrap{max-width:62rem}
  .contact{flex-direction:row;justify-content:center;gap:2rem}
  .hero__logo{width:150px}
}

/* Community partners slider */
.partners{text-align:center;padding-bottom:4rem}
.partners h2{color:var(--blue)}
.partners__sub{margin:0 auto 2rem!important;color:var(--ink)}
.slider{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:.5rem 0 1.25rem;cursor:grab;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.slider::-webkit-scrollbar{display:none}
.slider:focus-visible{outline:3px solid var(--navy);outline-offset:-3px}
.slider__track{list-style:none;margin:0;padding:0 1.5rem;display:flex;gap:1rem;width:max-content}
.logo a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;width:13.5rem;height:10rem;padding:1.1rem 1.25rem .9rem;border-radius:28px;text-decoration:none;box-shadow:0 7px 0 rgba(0,0,0,.16);transition:transform .15s}
.logo a:hover{transform:translateY(-3px)}
.logo img{max-width:100%;max-height:5.6rem;width:auto;height:auto;object-fit:contain;-webkit-user-drag:none;user-select:none;pointer-events:none}
.logo span{font-weight:900;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;line-height:1.2}
.logo--navy a{background:var(--navy);color:var(--yellow)}
.logo--blue a{background:var(--blue);color:var(--yellow)}
.logo--white a{background:#fff;color:var(--blue)}
.partners__cta .btn{margin-top:1.25rem}
/* Follow us */
.follow{margin:0 auto 2.25rem}
.follow__title{margin:0 auto .9rem!important;font-weight:900;font-size:clamp(1.5rem,6vw,2rem);color:var(--blue);line-height:1.1}
.follow__list{list-style:none;padding:0;margin:0;display:flex;justify-content:center;gap:.85rem;flex-wrap:wrap}
.social{display:inline-flex;align-items:center;gap:.6rem;padding:.8rem 1.35rem .8rem 1rem;border-radius:999px;background:var(--blue);color:#fff;text-decoration:none;font-weight:900;font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 6px 0 rgba(0,0,0,.16);transition:transform .15s}
.social:hover{transform:translateY(-2px)}
.social svg{width:1.6rem;height:1.6rem;color:var(--yellow);flex:none}
@media (min-width:760px){.logo a{width:16rem;height:11rem}.logo img{max-height:6.4rem}.partners{padding-bottom:5rem}}
@media (max-width:420px){.follow__list{gap:.6rem}.social{padding:.7rem 1rem .7rem .8rem;font-size:.8rem;gap:.45rem}.social svg{width:1.4rem;height:1.4rem}}

/* Brand-blue pass: the Get Involved block is now Azure, so the blue card gets a yellow ring to stand apart */
.sec--blue .card--blue{box-shadow:inset 0 0 0 3px var(--yellow),0 7px 0 rgba(0,0,0,.16)}
/* Wide partner logos (e.g. the Federation wordmark) */
.logo--wide img{max-height:3.4rem}
@media (max-width:759px){
  .hero__photo{width:calc(100% + 2.5rem);margin-bottom:2.25rem}
  .feed__photo{width:100%;max-width:26rem;aspect-ratio:602/680;height:auto;object-fit:contain;object-position:center bottom}
}
@media (min-width:760px){.hero__photo{margin-bottom:2.5rem}}
