/* LINK V31 — surgical recovery only. No homepage hero redesign. */
:root{
  --link31-navy:#0b2344;
  --link31-green:#5f8b45;
  --link31-line:#d8e3e9;
}

/* HOME: current header is white, so navigation must be dark. */
body.link-home-v31 .site-header,
body.link-home-v31 header.site-header{
  background:#fff!important;
}
body.link-home-v31 .main-nav a,
body.link-home-v31 .site-header nav a,
body.link-home-v31 header.site-header nav a{
  color:var(--link31-navy)!important;
  text-shadow:none!important;
  opacity:1!important;
  font-family:Montserrat,Arial,sans-serif!important;
}
body.link-home-v31 .main-nav a:hover,
body.link-home-v31 .site-header nav a:hover{
  color:#477431!important;
}
body.link-home-v31 a[href*="get-involved"],
body.link-home-v31 .nav-cta,
body.link-home-v31 .get-involved{
  background:var(--link31-green)!important;
  color:#fff!important;
  text-shadow:none!important;
}

/* HOME: ecosystem copy was white on a light section. */
body.link-home-v31 .v3-ecosystem,
body.link-home-v31 .v3-ecosystem h1,
body.link-home-v31 .v3-ecosystem h2,
body.link-home-v31 .v3-ecosystem h3,
body.link-home-v31 .v3-ecosystem p,
body.link-home-v31 .v3-ecosystem .v3-ecosystem-copy,
body.link-home-v31 .v3-ecosystem .v3-ecosystem-copy *{
  color:var(--link31-navy)!important;
  text-shadow:none!important;
}
body.link-home-v31 .v3-ecosystem .eyebrow,
body.link-home-v31 .v3-ecosystem .kicker{
  color:#c48616!important;
}

/* HOME: clickable / animated cards. */
body.link-home-v31 [data-link-v31-card="true"]{
  cursor:pointer!important;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease!important;
  transform:translateY(0)!important;
  will-change:transform!important;
}
body.link-home-v31 [data-link-v31-card="true"]:hover{
  transform:translateY(-7px)!important;
  box-shadow:0 16px 32px rgba(11,35,68,.16)!important;
  border-color:rgba(95,139,69,.55)!important;
}
body.link-home-v31 [data-link-v31-card="true"]:focus-visible{
  outline:3px solid rgba(95,139,69,.55)!important;
  outline-offset:3px!important;
}
body.link-home-v31 .link-v31-card-hint{
  display:inline-flex!important;
  margin-top:9px!important;
  color:var(--link31-navy)!important;
  font:900 11px/1 Montserrat,Arial,sans-serif!important;
}

/* Existing linked-page nav bars stay intact; just guarantee readability. */
body.link-linked-v31 .link-standard-nav{
  background:var(--link31-navy)!important;
}
body.link-linked-v31 .link-standard-nav a{
  color:#fff!important;
  text-shadow:none!important;
  opacity:1!important;
  font-family:Montserrat,Arial,sans-serif!important;
}
body.link-linked-v31 .link-standard-nav a:hover{
  color:#fff!important;
  background:rgba(255,255,255,.08)!important;
}

/* All footer typography white only. */
body.link-linked-v31 footer,
body.link-home-v31 footer{
  background:#061f3b!important;
  color:#fff!important;
}
body.link-linked-v31 footer *,
body.link-home-v31 footer *{
  color:#fff!important;
  text-decoration-color:rgba(255,255,255,.65)!important;
}
body.link-linked-v31 footer a:hover,
body.link-home-v31 footer a:hover{
  color:#fff!important;
  opacity:.82!important;
}

/* MEDIA — photos first, compact. */
body.link-media-v31 main{
  width:min(1240px,calc(100% - 30px))!important;
  max-width:1240px!important;
  margin:0 auto!important;
  padding:22px 0 52px!important;
}
.link-media-v31-submit{
  display:grid;
  grid-template-columns:1fr auto;
  gap:16px;
  align-items:center;
  margin:0 0 12px;
  padding:12px 14px;
  border:1px solid var(--link31-line);
  border-radius:10px;
  background:#f7fafb;
}
.link-media-v31-submit strong{
  display:block;
  margin-bottom:3px;
  color:var(--link31-navy);
  font:900 13px/1.2 Montserrat,Arial,sans-serif;
}
.link-media-v31-submit span{
  color:#667b8c;
  font-size:13px;
}
.link-media-v31-submit .actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.link-media-v31-submit a{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:7px 10px;
  border-radius:6px;
  background:var(--link31-navy);
  color:#fff!important;
  text-decoration:none!important;
  font:900 10px/1 Montserrat,Arial,sans-serif;
}
.link-media-v31-submit a.secondary{
  background:#fff;
  color:var(--link31-navy)!important;
  border:1px solid var(--link31-line);
}
.link-media-v31-controls{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  margin:0 0 12px;
}
.link-media-v31-controls .actions{
  display:flex;
  gap:7px;
}
.link-media-v31-controls button{
  min-height:34px;
  padding:7px 9px;
  border:0;
  border-radius:6px;
  background:var(--link31-navy);
  color:#fff;
  font:800 10px/1 Montserrat,Arial,sans-serif;
  cursor:pointer;
}
.link-media-v31-controls button.secondary{
  background:#fff;
  color:var(--link31-navy);
  border:1px solid var(--link31-line);
}
.link-media-v31-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:11px!important;
}
.link-media-v31-card{
  overflow:hidden!important;
  border:1px solid var(--link31-line)!important;
  border-radius:10px!important;
  background:#fff!important;
  box-shadow:none!important;
}
.link-media-v31-card img{
  display:block!important;
  width:100%!important;
  height:170px!important;
  object-fit:cover!important;
}
.link-media-v31-card h1,
.link-media-v31-card h2,
.link-media-v31-card h3{
  margin:9px 10px!important;
  color:var(--link31-navy)!important;
  font-size:15px!important;
  line-height:1.25!important;
}
.link-media-v31-card p{
  margin:0 10px 10px!important;
  color:#65798b!important;
  font-size:12px!important;
  line-height:1.4!important;
}
.link-media-v31-empty{
  padding:28px;
  border:1px solid var(--link31-line);
  border-radius:10px;
  background:#f7fafb;
  color:#5e7385;
  text-align:center;
}

@media(prefers-reduced-motion:reduce){
  body.link-home-v31 [data-link-v31-card="true"]{transition:none!important}
}
@media(max-width:980px){
  .link-media-v31-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:720px){
  .link-media-v31-submit{grid-template-columns:1fr}
  .link-media-v31-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:480px){
  .link-media-v31-grid{grid-template-columns:1fr!important}
}
