/* LINK V20 — final local visual stabilizer
   Focus: Services hero, Home hero + nonprofit wall, readable website-scale UI.
   Loaded LAST. No data changes. */
:root{
  --link-v20-edge:clamp(12px,1.2vw,20px);
  --link-v20-body:22px;
  --link-v20-card:20px;
  --link-v20-small:17px;
  --link-v20-button:19px;
  --link-v20-nav:17px;
}
html{font-size:18px!important;-webkit-text-size-adjust:100%!important;text-size-adjust:100%!important}
body{overflow-x:hidden!important}
body main p,body main li,body main label,body main td,body main th{font-size:var(--link-v20-body)!important;line-height:1.55!important}
body main article p,body main [class*="card"] p,body main [class*="panel"] p{font-size:var(--link-v20-card)!important;line-height:1.5!important}
body small,body main small,body footer p,body footer a,body footer small,body [class*="meta"],body [class*="kicker"]{font-size:var(--link-v20-small)!important;line-height:1.45!important}
body button,body input,body select,body textarea,body .btn,body [class*="button"],body [class*="-btn"],body [class*="cta"]{font-size:var(--link-v20-button)!important;line-height:1.25!important}
body button,body .btn,body [class*="button"],body [class*="-btn"]{min-height:50px!important;padding:12px 18px!important}
body header nav a,body .main-nav a,body [class*="-nav"] a{font-size:var(--link-v20-nav)!important;line-height:1.25!important}
body main h3,body main [class*="card"] h3{font-size:clamp(24px,2vw,31px)!important;line-height:1.16!important}

/* HOME — canonical hero uses nearly all of the viewport, never cropped. */
body.link-home-page main{width:100%!important;max-width:none!important;margin:0!important;padding:0 var(--link-v20-edge) 48px!important}
body.link-home-page #top.link-locked-home-hero{
  display:block!important;
  width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;
  margin:12px 0 22px!important;padding:0!important;overflow:visible!important;
  border:0!important;background:transparent!important;
}
body.link-home-page #top.link-locked-home-hero .link-locked-home-hero-image{
  display:block!important;width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;
  margin:0!important;padding:0!important;object-fit:contain!important;object-position:center top!important;
}
body.link-home-page .needs-section{width:100%!important;max-width:none!important;margin:0!important;padding:32px 0 46px!important}
body.link-home-page .needs-grid{width:100%!important;max-width:none!important;margin:0!important;display:grid!important;grid-template-columns:minmax(245px,22%) minmax(0,1fr)!important;gap:24px!important;align-items:start!important}
body.link-home-page .needs-intro h2{font-size:clamp(48px,4.2vw,70px)!important;line-height:1.03!important;margin:0 0 20px!important}
body.link-home-page .needs-intro p{font-size:20px!important;line-height:1.5!important}
body.link-home-page .needs-intro .launch-card-link{font-size:18px!important;line-height:1.25!important;display:inline-flex!important;align-items:center!important;min-height:50px!important}
body.link-home-page .verified-opportunity-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;width:100%!important;max-width:none!important}
body.link-home-page .verified-opportunity-grid .verified-card,
body.link-home-page .verified-opportunity-grid .need-card{min-width:0!important;min-height:360px!important;height:auto!important;padding:18px!important}
body.link-home-page .verified-opportunity-grid h3{font-size:24px!important;line-height:1.14!important}
body.link-home-page .verified-opportunity-grid p{font-size:18px!important;line-height:1.45!important}
body.link-home-page .verified-opportunity-grid small,
body.link-home-page .verified-opportunity-grid strong,
body.link-home-page .verified-opportunity-grid a,
body.link-home-page .verified-opportunity-grid button{font-size:16px!important;line-height:1.3!important}

/* HOME — ALL canonical/live nonprofits remain visible in one logo wall. */
body.link-home-page .home-partner-separator,
body.link-home-page .home-partner-separator-inner,
body.link-home-page .partners-panel{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
body.link-home-page .partners-panel{height:auto!important;max-height:none!important;overflow:visible!important;padding:22px!important}
body.link-home-page .partners-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:18px!important;flex-wrap:wrap!important}
body.link-home-page .partners-head strong{font-size:23px!important}
body.link-home-page .partners-head a{font-size:17px!important}
body.link-home-page #partnerRail,
body.link-home-page .partner-rail{
  display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:14px!important;
  width:100%!important;max-width:none!important;height:auto!important;max-height:none!important;overflow:visible!important;
  transform:none!important;white-space:normal!important;
}
body.link-home-page #partnerRail .partner-cell,
body.link-home-page .partner-rail .partner-cell{
  width:auto!important;min-width:0!important;min-height:145px!important;height:auto!important;
  padding:14px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:10px!important;
  border:1px solid #d8e2e8!important;border-radius:12px!important;background:#fff!important;
}
body.link-home-page #partnerRail .partner-cell img{display:block!important;width:auto!important;max-width:92%!important;height:76px!important;max-height:76px!important;object-fit:contain!important;margin:0 auto!important}
body.link-home-page #partnerRail .partner-cell span{display:block!important;font-size:17px!important;line-height:1.22!important;font-weight:800!important;text-align:center!important;color:#0b2f52!important;white-space:normal!important}

/* SERVICES — eliminate the legacy .services-wrap geometry from the hero. */
body.link-services-page main{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;overflow:visible!important}
body.link-services-page .services-hero-v2{
  display:block!important;width:calc(100% - (var(--link-v20-edge) * 2))!important;max-width:none!important;
  margin:16px auto 42px!important;padding:0!important;background:#eef6f5!important;border:0!important;border-radius:22px!important;overflow:hidden!important;
  box-shadow:0 14px 34px rgba(8,39,70,.08)!important;
}
body.link-services-page .services-hero-v2-grid{
  display:grid!important;grid-template-columns:minmax(0,46%) minmax(0,54%)!important;gap:0!important;
  width:100%!important;max-width:none!important;min-width:0!important;min-height:650px!important;margin:0!important;padding:0!important;
  transform:none!important;position:relative!important;left:auto!important;right:auto!important;inset:auto!important;overflow:hidden!important;
}
body.link-services-page .services-hero-v2-copy{
  position:relative!important;inset:auto!important;transform:none!important;float:none!important;
  width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;padding:48px clamp(32px,3.6vw,62px)!important;
  display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;overflow:visible!important;
}
body.link-services-page .services-hero-v2-copy > *{max-width:100%!important}
body.link-services-page .services-hero-v2-copy h1{
  width:100%!important;max-width:680px!important;margin:10px 0 20px!important;padding:0!important;
  font-size:clamp(52px,4.2vw,72px)!important;line-height:1.01!important;letter-spacing:-.035em!important;
  white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;overflow:visible!important;
}
body.link-services-page .services-hero-v2 .services-kicker{font-size:17px!important;line-height:1.3!important;margin:0 0 10px!important}
body.link-services-page .services-hero-v2 .services-hero-topics{font-size:20px!important;line-height:1.45!important;margin:0 0 18px!important;max-width:650px!important}
body.link-services-page .services-hero-v2 .services-lead{font-size:21px!important;line-height:1.55!important;max-width:650px!important}
body.link-services-page .services-hero-v2 .services-model-note{font-size:18px!important;line-height:1.45!important;width:100%!important;max-width:650px!important;margin:22px 0 0!important;padding:18px 20px!important}
body.link-services-page .services-hero-v2 .services-model-note strong,
body.link-services-page .services-hero-v2 .services-model-note span{font-size:18px!important;line-height:1.45!important}
body.link-services-page .services-hero-v2 .services-actions{display:flex!important;flex-wrap:wrap!important;gap:12px!important;width:100%!important;max-width:650px!important;margin:24px 0 0!important}
body.link-services-page .services-hero-v2 .services-primary,
body.link-services-page .services-hero-v2 .services-secondary{font-size:18px!important;line-height:1.25!important;min-height:52px!important;padding:14px 20px!important}
body.link-services-page .services-hero-v2-photo{
  position:relative!important;inset:auto!important;transform:none!important;float:none!important;
  width:100%!important;max-width:none!important;min-width:0!important;min-height:650px!important;height:auto!important;margin:0!important;padding:0!important;overflow:hidden!important;
}
body.link-services-page .services-hero-v2-photo > img{
  position:absolute!important;inset:0!important;display:block!important;width:100%!important;max-width:none!important;height:100%!important;min-height:0!important;
  margin:0!important;padding:0!important;object-fit:cover!important;object-position:center!important;transform:none!important;
}
body.link-services-page .services-hero-v2 .services-hero-script{top:28px!important;right:32px!important;max-width:300px!important;font-size:29px!important;line-height:1.12!important}
body.link-services-page .services-hero-v2 .services-hero-invest{top:116px!important;right:24px!important;width:145px!important}

@media(max-width:1180px){
  body.link-home-page .verified-opportunity-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.link-home-page #partnerRail,body.link-home-page .partner-rail{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  body.link-services-page .services-hero-v2-grid{grid-template-columns:1fr!important;min-height:0!important}
  body.link-services-page .services-hero-v2-photo{min-height:560px!important}
}
@media(max-width:760px){
  :root{--link-v20-body:19px;--link-v20-card:18px;--link-v20-small:15px;--link-v20-button:17px;--link-v20-nav:15px}
  body.link-home-page main{padding-left:10px!important;padding-right:10px!important}
  body.link-home-page .needs-grid{grid-template-columns:1fr!important}
  body.link-home-page .verified-opportunity-grid{grid-template-columns:1fr!important}
  body.link-home-page #partnerRail,body.link-home-page .partner-rail{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.link-services-page .services-hero-v2{width:calc(100% - 20px)!important;margin:10px auto 30px!important}
  body.link-services-page .services-hero-v2-copy{padding:34px 22px 38px!important}
  body.link-services-page .services-hero-v2-copy h1{font-size:clamp(42px,11vw,56px)!important}
  body.link-services-page .services-hero-v2-photo{min-height:430px!important}
}
