/* LINK GLOBAL FORMAT + READABILITY V15
   Last-loaded safety layer. Focuses on readability, overflow prevention, and known broken page layouts. */
:root{
  --link-v15-text:20px;
  --link-v15-card:18px;
  --link-v15-small:17px;
  --link-v15-control:18px;
  --link-v15-line:1.58;
  --link-v15-navy:#082f57;
  --link-v15-green:#67b43d;
}
html{font-size:18px!important;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{overflow-x:hidden!important}
body.link-v15-readable{font-size:var(--link-v15-text)!important;line-height:var(--link-v15-line)!important}
body.link-v15-readable *,body.link-v15-readable *::before,body.link-v15-readable *::after{box-sizing:border-box}
body.link-v15-readable img,body.link-v15-readable video,body.link-v15-readable iframe,body.link-v15-readable svg{max-width:100%;height:auto}

/* The text Jaime identified as too small. */
body.link-v15-readable main p,
body.link-v15-readable main li,
body.link-v15-readable main dd,
body.link-v15-readable main dt,
body.link-v15-readable main label,
body.link-v15-readable main .description,
body.link-v15-readable main .lead,
body.link-v15-readable main .copy,
body.link-v15-readable main .caption,
body.link-v15-readable main .note,
body.link-v15-readable main .help,
body.link-v15-readable main [class*="description"],
body.link-v15-readable main [class*="summary"],
body.link-v15-readable main [class*="lead"],
body.link-v15-readable main [class*="copy"]{
  font-size:var(--link-v15-text)!important;
  line-height:var(--link-v15-line)!important;
}
body.link-v15-readable main small,
body.link-v15-readable footer small,
body.link-v15-readable footer p,
body.link-v15-readable footer a,
body.link-v15-readable [class*="eyebrow"],
body.link-v15-readable [class*="kicker"]{
  font-size:var(--link-v15-small)!important;
  line-height:1.5!important;
}
body.link-v15-readable main article p,
body.link-v15-readable main .card p,
body.link-v15-readable main [class*="card"] p{
  font-size:var(--link-v15-card)!important;
  line-height:1.58!important;
}
body.link-v15-readable main h1{line-height:1.05!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important}
body.link-v15-readable main h2{line-height:1.12!important;overflow-wrap:normal!important;word-break:normal!important}
body.link-v15-readable main h3{font-size:clamp(22px,2vw,28px)!important;line-height:1.22!important}

/* Buttons / form controls / back-forward-home controls. */
body.link-v15-readable button,
body.link-v15-readable input,
body.link-v15-readable select,
body.link-v15-readable textarea,
body.link-v15-readable .btn,
body.link-v15-readable [class*="button"],
body.link-v15-readable [class*="-btn"],
body.link-v15-readable [class*="cta"]{
  font-size:var(--link-v15-control)!important;
}
body.link-v15-readable input,
body.link-v15-readable select,
body.link-v15-readable textarea{
  min-height:48px!important;
  line-height:1.4!important;
}
body.link-v15-readable textarea{min-height:130px!important}
body.link-v15-readable button,
body.link-v15-readable .btn,
body.link-v15-readable [class*="button"],
body.link-v15-readable [class*="-btn"]{
  min-height:46px;
  line-height:1.25!important;
}
body.link-v15-readable .link-v406-page-controls,
body.link-v15-readable [class*="page-controls"]{
  width:min(1280px,calc(100% - 40px))!important;
  margin:16px auto 26px!important;
  gap:14px!important;
}
body.link-v15-readable .link-v406-control,
body.link-v15-readable [class*="page-controls"] a,
body.link-v15-readable [class*="page-controls"] button{
  font-size:18px!important;
  min-height:46px!important;
  padding:11px 18px!important;
}

/* Keep primary navigation readable without making the header enormous. */
body.link-v15-readable header nav a,
body.link-v15-readable .main-nav a,
body.link-v15-readable [class*="-nav"] a{
  font-size:15px!important;
  line-height:1.25!important;
}

/* Wide images and content should never blow out the page. */
body.link-v15-readable main > img,
body.link-v15-readable main > a > img,
body.link-v15-readable main section > img{
  display:block;
  width:auto;
  max-width:min(100%,1100px)!important;
  margin-left:auto;
  margin-right:auto;
}
body.link-v15-readable figure{max-width:100%;margin-left:auto;margin-right:auto}

/* FOUNDATIONS — repairs giant-logo/raw-browser appearance. */
body.link-v15-foundation-page .foundation-public-main{
  width:min(1280px,calc(100% - 48px))!important;
  max-width:1280px!important;
  margin:0 auto!important;
  padding:42px 0 72px!important;
}
body.link-v15-foundation-page .foundation-public-hero{
  display:grid!important;
  grid-template-columns:minmax(220px,320px) minmax(0,1fr)!important;
  align-items:center!important;
  gap:40px!important;
  padding:40px!important;
  margin:0 0 34px!important;
  border:1px solid #dce6eb!important;
  border-radius:22px!important;
  background:#f7fbfb!important;
  overflow:hidden!important;
}
body.link-v15-foundation-page .foundation-public-visual{
  display:flex!important;
  justify-content:center!important;
  align-items:center!important;
  min-width:0!important;
}
body.link-v15-foundation-page .foundation-public-visual img{
  width:min(100%,280px)!important;
  max-width:280px!important;
  height:auto!important;
  margin:0 auto!important;
}
body.link-v15-foundation-page .foundation-public-hero h1{
  font-size:clamp(42px,5vw,66px)!important;
  margin:8px 0 18px!important;
}
body.link-v15-foundation-page .foundation-public-hero p{font-size:20px!important;max-width:850px!important}
body.link-v15-foundation-page .foundation-public-hero .actions{display:flex!important;flex-wrap:wrap!important;gap:12px!important;margin-top:24px!important}
body.link-v15-foundation-page .foundation-public-hero .actions a{font-size:18px!important;min-height:50px!important;padding:13px 20px!important;display:inline-flex!important;align-items:center!important}
body.link-v15-foundation-page .foundation-view-head{margin:48px 0 20px!important}
body.link-v15-foundation-page .foundation-view-head h2{font-size:clamp(32px,3vw,44px)!important}
body.link-v15-foundation-page .link-vpm-placement,
body.link-v15-foundation-page [class*="context"] img{max-width:900px!important;margin-inline:auto!important}

/* FUNDING PAGE — contain campaign graphics and establish a real content column. */
body.link-v15-funding-page main{
  width:min(1280px,calc(100% - 48px))!important;
  max-width:1280px!important;
  margin:0 auto!important;
  padding:38px 0 72px!important;
}
body.link-v15-funding-page main > img,
body.link-v15-funding-page main section > img,
body.link-v15-funding-page .link-vpm-placement img{
  display:block!important;
  width:auto!important;
  max-width:min(100%,900px)!important;
  height:auto!important;
  margin:24px auto!important;
}
body.link-v15-funding-page main h1{font-size:clamp(42px,5vw,64px)!important;margin-bottom:18px!important}
body.link-v15-funding-page main > p{max-width:900px!important}

/* OPPORTUNITY POSTING / BUSINESS FORMS — prevent the right-shifted cropped layout. */
body.link-v15-opportunity-page .link-v407e-portalbar,
body.link-v15-opportunity-page [class*="portalbar"]{font-size:17px!important}
body.link-v15-opportunity-page .opp-shell{
  width:min(1180px,calc(100% - 40px))!important;
  max-width:1180px!important;
  margin:28px auto 72px!important;
  padding:0!important;
  transform:none!important;
  left:auto!important;
  right:auto!important;
}
body.link-v15-opportunity-page .opp-topbar,
body.link-v15-opportunity-page .opp-hero,
body.link-v15-opportunity-page .opp-form,
body.link-v15-opportunity-page .opp-section{
  width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  transform:none!important;
}
body.link-v15-opportunity-page .opp-hero{padding:34px!important;border-radius:20px!important}
body.link-v15-opportunity-page .opp-hero h1{font-size:clamp(44px,5.5vw,68px)!important}
body.link-v15-opportunity-page .opp-hero p,
body.link-v15-opportunity-page .opp-help,
body.link-v15-opportunity-page .opp-note,
body.link-v15-opportunity-page .opp-field label{font-size:18px!important;line-height:1.55!important}
body.link-v15-opportunity-page .link-v407-page-art{
  width:min(100%,960px)!important;
  margin:28px auto!important;
  overflow:hidden!important;
  border-radius:20px!important;
}
body.link-v15-opportunity-page .link-v407-page-art img{width:100%!important;height:auto!important;display:block!important}

/* V14/V15 Visual Manager placements remain visually contained. */
body.link-v15-readable .link-vpm-placement{max-width:100%!important;overflow:hidden!important}
body.link-v15-readable .link-vpm-placement img{max-width:100%!important;height:auto!important}

@media(max-width:900px){
  :root{--link-v15-text:18px;--link-v15-card:18px;--link-v15-small:16px;--link-v15-control:17px}
  body.link-v15-foundation-page .foundation-public-hero{grid-template-columns:1fr!important;padding:28px!important;gap:24px!important}
  body.link-v15-foundation-page .foundation-public-visual img{max-width:220px!important}
  body.link-v15-funding-page main,body.link-v15-foundation-page .foundation-public-main{width:min(100% - 24px,1280px)!important}
  body.link-v15-opportunity-page .opp-shell{width:min(100% - 22px,1180px)!important}
}
