/* Friendly two-path giving experience on the home page */
#charity-categories { scroll-margin-top: 90px; }
.page-home .hero-wrap { height:auto;min-height:0;padding:22px 0 38px; }
.page-home .hero-wrap .slider-text { height:auto;min-height:0; }
.page-home .hero-wrap .container.pt-5 { padding-top:12px!important; }
.page-home .hero-wrap .slider-text > .col-lg-10 { padding-bottom:0!important; }
.page-home .hero-wrap .slider-text h1 { font-size:clamp(2.2rem,3.4vw,3rem);line-height:1.05;margin:0 0 7px; }
.page-home .hero-wrap .slider-text h1 + p { font-size:1rem;margin:0; }
.page-home .home-charity-experience { background: rgba(255,255,255,.97); border: 3px solid rgba(255,255,255,.7); border-radius: 26px; box-shadow: 0 24px 65px rgba(0,17,35,.34); margin: 19px auto 0; max-width: 1050px; padding: 22px 27px; position: relative; text-align: left; }
.page-home .home-charity-experience::before, .page-home .home-charity-experience::after { border-radius: 50%; content: ""; pointer-events: none; position: absolute; }
.page-home .home-charity-experience::before { background: #ffd760; height: 26px; right: 34px; top: -13px; width: 26px; }
.page-home .home-charity-experience::after { background: #55cbb0; bottom: -10px; height: 20px; left: 46px; width: 20px; }
.page-home .home-giveback-welcome { margin: 0 auto 15px; max-width: 760px; text-align: center; }
.page-home .home-thank-you { color: #e8334f; display: inline-block; font-size: .78rem; font-weight: 900; letter-spacing: .1em; margin-bottom: 5px; text-transform: uppercase; }
.page-home .home-thank-you .fa { margin-right: 5px; }
.page-home .home-giveback-welcome h2 { color: #0b2b46; font-size: clamp(1.65rem,3vw,2.35rem); font-weight: 800; margin: 4px 0 7px; text-shadow: none; }
.page-home .home-giveback-welcome p { color: #526c7e; font-size: .94rem; line-height: 1.55; margin: 0; text-shadow: none; }
.page-home .home-giveback-paths { display: grid; gap: 17px; grid-template-columns: 1.25fr .75fr .9fr; }
.page-home .home-charity-finder, .page-home .home-passion-finder, .page-home .home-nearby-needs-finder { border-radius: 18px; min-width: 0; padding: 22px; }
.page-home .home-charity-finder { background: #edf7fb; border: 2px solid #c9e4ef; }
.page-home .home-passion-finder { background: linear-gradient(145deg,#fff1b9,#ffe178); border: 2px solid #f2ca45; color: #0b2b46; display: flex; flex-direction: column; justify-content: space-between; text-decoration: none; }
.page-home .home-nearby-needs-finder { background:linear-gradient(145deg,#e6faf5,#c9f1e6);border:2px solid #55bea6;color:#0b2b46;display:flex;flex-direction:column;justify-content:space-between;text-decoration:none; }
.page-home .home-path-heading { align-items: center; display: flex; gap: 13px; margin-bottom: 15px; }
.page-home .home-path-icon { align-items: center; background: #fff; border-radius: 50%; color: #e8334f; display: flex; flex: 0 0 46px; font-size: 1.1rem; height: 46px; justify-content: center; }
.page-home .home-passion-finder .home-path-icon { color: #9a6500; }
.page-home .home-nearby-needs-finder .home-path-icon { color:#08705d; }
.page-home .home-path-heading h3 { color: #0b2b46; font-size: 1.22rem; font-weight: 800; margin: 0; text-shadow: none; }
.page-home .home-path-heading p { color: #597082; font-size: .84rem; margin: 2px 0 0; text-shadow: none; }
.page-home .home-passion-finder .home-path-heading p { color: #6e5819; }
.page-home .home-nearby-needs-finder .home-path-heading p { color:#315f57; }
.page-home .home-charity-finder-row { display: flex; gap: 10px; }
.page-home .home-charity-area-row { align-items:center;display:grid;gap:8px;grid-template-columns:auto 128px minmax(0,1fr);margin-top:10px; }
.page-home .home-charity-area-label { color:#456276;font-size:.72rem;font-weight:800;line-height:1.2; }
.page-home .home-charity-area-label small { display:block;font-size:.66rem;font-weight:700; }
.page-home .home-charity-area-row .home-charity-state-label { margin:0; }
.page-home .home-charity-area-row .home-charity-state-label select { height:48px;max-width:none;width:100%; }
.page-home .home-charity-input-wrap { flex: 1; min-width: 0; position: relative; }
.page-home .home-charity-input-wrap > .fa { color: #60798b; left: 17px; position: absolute; top: 50%; transform: translateY(-50%); }
.page-home .home-charity-input-wrap input { background: #fff; border: 2px solid #b8cfda; border-radius: 11px; color: #17324d; font-size: 1rem; height: 56px; padding: 0 15px 0 46px; width: 100%; }
.page-home .home-charity-input-wrap input:focus { border-color: #0b6b8d; box-shadow: 0 0 0 4px rgba(11,107,141,.14); outline: 0; }
.page-home .home-charity-state-label select { background:#fff; border:2px solid #b8cfda; border-radius:11px; color:#17324d; height:56px; max-width:145px; padding:0 30px 0 12px; }
.page-home .home-charity-state-label select:focus { border-color:#0b6b8d; box-shadow:0 0 0 4px rgba(11,107,141,.14); outline:0; }
.page-home .home-charity-city-wrap { min-width:0;position:relative; }
.page-home .home-charity-city-wrap .fa { color:#60798b;left:13px;position:absolute;top:50%;transform:translateY(-50%); }
.page-home .home-charity-city-wrap input { background:#fff;border:2px solid #b8cfda;border-radius:11px;color:#17324d;font-size:.88rem;height:48px;padding:0 10px 0 36px;width:100%; }
.page-home .home-charity-city-wrap input:focus { border-color:#0b6b8d;box-shadow:0 0 0 4px rgba(11,107,141,.14);outline:0; }
.page-home .home-charity-city-wrap input:disabled { background:#e5edf1;color:#6c7f8b;cursor:not-allowed; }
.page-home .home-charity-finder button, .page-home .home-passion-button, .page-home .home-nearby-needs-button { align-items: center; border-radius: 11px; display: inline-flex; font-weight: 900; justify-content: center; }
.page-home .home-charity-finder button { background: #e8334f; border: 0; color: #fff; min-height: 56px; padding: 0 23px; }
.page-home .home-charity-finder button:hover, .page-home .home-charity-finder button:focus { background: #c9213d; }
.page-home .home-charity-finder-help { color: #607687; font-size: .77rem; line-height: 1.45; margin: 9px 0 0; text-shadow: none; }
.page-home .home-passion-button { align-self: flex-start; background: #0b2b46; color: #fff; margin-top: 12px; min-height: 46px; padding: 0 17px; }
.page-home .home-nearby-needs-button { align-self:flex-start;background:#08705d;color:#fff;margin-top:12px;min-height:46px;padding:0 17px; }
.page-home .home-passion-finder:hover, .page-home .home-nearby-needs-finder:hover { box-shadow: 0 12px 25px rgba(83,63,0,.16); color: #0b2b46; transform: translateY(-3px); }
.page-home .home-giveback-note { color: #456276; font-size: .84rem; font-weight: 700; margin: 17px 0 0; text-align: center; text-shadow: none; }
@media (prefers-reduced-motion: no-preference) { .page-home .home-passion-finder, .page-home .home-charity-finder button { transition: transform .2s ease, box-shadow .2s ease, background .2s ease; } }
@media (max-width: 767.98px) {
    .page-home .home-charity-experience { margin-top: 22px; padding: 18px; }
    .page-home .home-giveback-paths { grid-template-columns: 1fr; }
    .page-home .home-charity-finder-row { flex-direction: column; }
    .page-home .home-charity-area-row { grid-template-columns:1fr; }
    .page-home .home-charity-area-label small { display:inline; }
    .page-home .home-charity-finder button, .page-home .home-charity-state-label select { max-width:none; width: 100%; }
}
.home-share-kindness{background:#f3f7f9;padding:42px 0}.home-share-kindness-card{align-items:center;background:linear-gradient(135deg,#082c49,#0b5d79);border-radius:20px;color:#fff;display:flex;gap:25px;justify-content:space-between;padding:30px}.home-share-kindness-card span{color:#ffcf4d;font-size:.78rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.home-share-kindness-card h2{color:#fff;font-size:1.8rem;font-weight:900;margin:5px 0}.home-share-kindness-card p{color:#e5f0f4;margin:0}.home-share-kindness-card a{background:#ffcf4d;border-radius:12px;color:#0b2b46;flex:0 0 auto;font-weight:900;padding:15px 20px;text-decoration:none}@media(max-width:767.98px){.home-share-kindness-card{align-items:stretch;flex-direction:column}.home-share-kindness-card a{text-align:center}}

/* Current charity needs. Kept in the versioned page stylesheet so new cards
   render correctly even when a visitor has an older global stylesheet cached. */
.home-needs-now{background:#eef5f7;padding:56px 0}
.home-impact-summary{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:38px}
.home-impact-summary>div{align-items:center;background:linear-gradient(135deg,#0b2b46,#0b6680);border-radius:17px;box-shadow:0 10px 25px rgba(11,43,70,.12);color:#fff;display:flex;gap:18px;padding:19px 24px}
.home-impact-summary strong{color:#ffcf4d;font-size:clamp(1.65rem,3vw,2.25rem);font-weight:900;line-height:1;white-space:nowrap}
.home-impact-summary span{color:#fff;font-size:.92rem;font-weight:700;line-height:1.35}
.home-needs-heading{align-items:flex-end;display:flex;gap:28px;justify-content:space-between;margin-bottom:22px}
.home-needs-heading span{color:#e8334f;font-size:.78rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.home-needs-heading h2{color:#0b2b46;font-size:clamp(1.8rem,4vw,2.7rem);font-weight:800;line-height:1.15;margin:7px 0;text-shadow:none}
.home-needs-heading p{color:#526c7e;margin:0;text-shadow:none}
.home-needs-heading>a{background:#0b2b46;border-radius:11px;color:#fff;flex:0 0 auto;font-weight:800;padding:13px 17px;text-decoration:none}
.home-needs-actions{align-items:flex-end;display:flex;flex-direction:column;gap:9px}
.home-needs-actions button,.home-needs-actions a{border-radius:11px;font-weight:900;padding:13px 17px;text-decoration:none}
.home-needs-actions button{background:#e8334f;border:0;color:#fff;cursor:pointer}
.home-needs-actions button:hover,.home-needs-actions button:focus{background:#c9213d}
.home-needs-actions a{background:#0b2b46;color:#fff}
.home-needs-actions span{color:#456276;font-size:.78rem;font-weight:700;max-width:260px;text-align:right}
.home-needs-grid{display:grid;gap:15px;grid-template-columns:repeat(3,minmax(0,1fr))}
.home-needs-grid>a{background:#fff;border:2px solid #d4e4e9;border-radius:16px;box-shadow:0 9px 24px rgba(11,43,70,.07);color:#17324d;display:flex;flex-direction:column;line-height:1.45;min-height:205px;padding:20px;text-decoration:none}
.home-needs-grid>a:hover,.home-needs-grid>a:focus{border-color:#55bea6;color:#17324d;transform:translateY(-2px)}
.home-needs-grid span{color:#087092;font-size:.73rem;font-weight:900;text-transform:uppercase}
.home-needs-grid strong{display:block;font-size:1.12rem;line-height:1.35;margin:11px 0}
.home-needs-grid small{color:#627887}
.home-needs-grid b{color:#e8334f;margin-top:auto;padding-top:14px}
.home-needs-empty{background:#fff;border-radius:15px;padding:22px}
.home-needs-empty p{margin:5px 0}
@media(max-width:760px){.home-impact-summary{grid-template-columns:1fr}.home-impact-summary>div{align-items:flex-start;flex-direction:column;gap:7px}.home-needs-heading{align-items:flex-start;flex-direction:column}.home-needs-actions{align-items:stretch;width:100%}.home-needs-actions button,.home-needs-actions a{text-align:center;width:100%}.home-needs-actions span{text-align:left}.home-needs-grid{grid-template-columns:1fr}}

/* Phone home page: get visitors to a useful choice immediately. The longer
   background/marketing sections remain available on tablets and desktops. */
@media (max-width: 767.98px) {
  .page-home .hero-wrap { padding: 18px 0 24px; }
  .page-home .hero-wrap .container.pt-5 { padding-top: 0 !important; }
  .page-home .hero-wrap .slider-text h1 { font-size: clamp(1.9rem, 9vw, 2.55rem) !important; margin-bottom: 5px; }
  .page-home .hero-wrap .slider-text h1 + p { font-size: .9rem; line-height: 1.4; }
  .page-home .home-charity-experience { border-radius: 17px; margin-top: 14px; padding: 14px; }
  .page-home .home-charity-experience::before,
  .page-home .home-charity-experience::after { display: none; }
  .page-home .home-giveback-welcome { margin-bottom: 11px; }
  .page-home .home-thank-you { font-size: .7rem; }
  .page-home .home-giveback-welcome h2 { font-size: 1.48rem; margin: 2px 0 4px; }
  .page-home .home-giveback-welcome p { display: none; }
  .page-home .home-giveback-paths { gap: 10px; }
  .page-home .home-charity-finder,
  .page-home .home-passion-finder,
  .page-home .home-nearby-needs-finder { border-radius: 13px; padding: 14px; }
  .page-home .home-path-heading { gap: 10px; margin-bottom: 10px; }
  .page-home .home-path-icon { flex-basis: 40px; height: 40px; width: 40px; }
  .page-home .home-path-heading h3 { font-size: 1.05rem; }
  .page-home .home-path-heading p { display: none; }
  .page-home .home-charity-input-wrap input,
  .page-home .home-charity-state-label select { height: 50px; }
  .page-home .home-charity-area-row { margin-top: 8px; }
  .page-home .home-charity-finder-help,
  .page-home .home-giveback-note { display: none; }
  .page-home .home-passion-button,
  .page-home .home-nearby-needs-button { align-self: stretch; margin-top: 2px; text-align: center; }

  .home-needs-now { padding: 34px 0; }
  .home-impact-summary { gap: 9px; margin-bottom: 25px; }
  .home-impact-summary > div { border-radius: 13px; flex-direction: row; padding: 14px 16px; }
  .home-impact-summary strong { font-size: 1.5rem; }
  .home-needs-heading { gap: 14px; }
  .home-needs-grid { gap: 11px; }
  .home-needs-grid > a { border-radius: 13px; min-height: 0; padding: 16px; }
  .home-needs-grid > a:nth-child(n+4) { display: none; }
  .home-needs-grid strong { margin: 7px 0; }
  .home-share-kindness { padding: 28px 0; }
  .home-share-kindness-card { border-radius: 15px; gap: 15px; padding: 21px 18px; }
  .home-share-kindness-card h2 { font-size: 1.45rem; }

  .home-secondary-story,
  .home-secondary-latest,
  .home-secondary-networking,
  .home-secondary-how { display: none !important; }
}

/* Make search the full-width working surface instead of squeezing it into a
   narrow marketing card. */
@media (min-width: 768px) {
  .page-home .hero-wrap { padding:14px 0 24px; }
  .page-home .hero-wrap > .container { max-width:1500px; }
  .page-home .hero-wrap .slider-text > .col-lg-10 { flex:0 0 100%;max-width:100%; }
  .page-home .hero-wrap .slider-text h1 { font-size:2.35rem; }
  .page-home .home-charity-experience { max-width:1320px;padding:17px 20px; }
  .page-home .home-giveback-welcome { margin-bottom:12px; }
  .page-home .home-giveback-welcome h2 { font-size:1.8rem;margin:1px 0 3px; }
  .page-home .home-giveback-welcome p { font-size:.88rem; }
  .page-home .home-giveback-paths { grid-template-columns:1fr 1fr;gap:12px; }
  .page-home .home-charity-finder { grid-column:1 / -1;padding:15px 17px; }
  .page-home .home-charity-finder .home-path-heading { margin-bottom:9px; }
  .page-home .home-passion-finder,.page-home .home-nearby-needs-finder { align-items:center;display:grid;gap:13px;grid-template-columns:minmax(0,1fr) auto;padding:14px 17px; }
  .page-home .home-passion-finder .home-path-heading,.page-home .home-nearby-needs-finder .home-path-heading { margin:0; }
  .page-home .home-passion-button,.page-home .home-nearby-needs-button { align-self:center;margin:0;white-space:nowrap; }
  .page-home .home-giveback-note { margin-top:10px; }
  .page-home .slider-text > .col-lg-10 > .mt-4 { margin-top:9px!important; }
}
.page-home .home-charity-search-controls{align-items:end;display:grid;gap:10px;grid-template-columns:minmax(300px,1fr) 180px minmax(220px,.65fr) 115px}
.page-home .home-charity-control{display:block;margin:0;min-width:0}
.page-home .home-charity-control>span:first-child{color:#29485e;display:block;font-size:.82rem;font-weight:900;margin:0 0 5px}
.page-home .home-charity-control small{color:#667e8f;font-size:.72rem}
.page-home .home-charity-name-control .home-charity-input-wrap{display:block}
.page-home .home-charity-input-wrap>i{color:#60798b;left:17px;position:absolute;top:50%;transform:translateY(-50%)}
.page-home .home-charity-search-controls .home-charity-input-wrap input,.page-home .home-charity-search-controls .home-charity-state-label select,.page-home .home-charity-search-controls .home-charity-city-wrap input{font-size:1rem;height:52px;max-width:none;width:100%}
.page-home .home-charity-search-controls .home-charity-city-wrap input{padding-left:40px}
.page-home .home-charity-city-input>i{color:#60798b;left:14px;position:absolute;top:26px;transform:translateY(-50%);z-index:1}
.page-home .home-charity-search-controls>button{height:52px;min-height:52px;padding:0 18px}
@media(max-width:767.98px){.page-home .home-charity-search-controls{grid-template-columns:1fr}.page-home .home-charity-search-controls>button{width:100%}}
