/*
  Findability V20 — frontend-only visual refinement
  Scope: main Findability static pages only.
  Does not alter commerce, account, Score, Editor, API or server logic.
*/

:root{
  --fnd-v20-readable:12px;
}

/* Shared readability improvements requested across the reviewed pages. */
.header nav>a,
.header>.btn{
  font-size:var(--fnd-v20-readable)!important;
}

.footer b{font-size:11px!important}
.footer a{font-size:14px!important}
.footer-brand p{font-size:12px!important}
.footer-brand>a{font-size:14px!important}

/* ---------- HOME ---------- */
.fnd-v20-home .home-hero .eyebrow,
.fnd-v20-home .home-hero .actions .btn,
.fnd-v20-home .service-shortcuts .eyebrow,
.fnd-v20-home .service-shortcuts .arrow-link,
.fnd-v20-home .maintenance-band .eyebrow,
.fnd-v20-home .partner-strip--programme .eyebrow{
  font-size:12px!important;
}

/* Keep the two-column FOUND section, but remove the accidental 8vw row-gap. */
.fnd-v20-home .intro-found{
  column-gap:8vw!important;
  row-gap:26px!important;
  padding-bottom:30px!important;
}
.fnd-v20-home .foundation-rail{
  margin-top:0!important;
}
.fnd-v20-home .found-compact{
  min-height:390px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.fnd-v20-home .found-compact__letters span{
  min-height:150px;
  padding:20px 14px;
}
.fnd-v20-home .found-compact__letters b{font-size:52px}
.fnd-v20-home .found-compact__letters small{font-size:10px!important;line-height:1.25}
.fnd-v20-home .found-compact>strong{font-size:14px}

/* Bring the next section closer to the FOUND rail and stack its desktop heading action. */
.fnd-v20-home .service-shortcuts{
  padding-top:48px!important;
}
.fnd-v20-home .service-shortcuts .section-head{
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:18px!important;
  margin-bottom:42px!important;
}
.fnd-v20-home .service-shortcuts .section-head .arrow-link{
  align-self:flex-start;
}
.fnd-v20-home .shortcut-card>span,
.fnd-v20-home .shortcut-card>b{
  font-size:12px!important;
}
.fnd-v20-home .shortcut-card>strong{
  font-size:14px!important;
}

.fnd-v20-home .maintenance-options small{
  font-size:11px!important;
}
.fnd-v20-home .maintenance-options b{
  font-size:16px!important;
  line-height:1.25;
}

.fnd-v20-home .programme-flow span{
  font-size:11px!important;
  line-height:1.45;
}
.fnd-v20-home .programme-flow b{
  font-size:11px!important;
}

/* Home: two genuinely separate routes instead of one combined statement. */
.fnd-v20-home .final-cta.fnd-v20-start-routes{
  display:block!important;
  padding-top:72px!important;
  padding-bottom:72px!important;
}
.fnd-v20-home .fnd-v20-start-heading .eyebrow{
  font-size:12px!important;
  margin-bottom:30px;
}
.fnd-v20-home .fnd-v20-start-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  border-top:1px solid rgba(255,255,255,.18);
  border-bottom:1px solid rgba(255,255,255,.18);
}
.fnd-v20-home .fnd-v20-start-route{
  min-height:260px;
  padding:44px 48px 46px 0;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:space-between;
  gap:32px;
}
.fnd-v20-home .fnd-v20-start-route+ .fnd-v20-start-route{
  border-left:1px solid rgba(255,255,255,.18);
  padding-left:48px;
  padding-right:0;
}
.fnd-v20-home .fnd-v20-start-route h2{
  margin:0;
  max-width:560px;
  font-size:clamp(42px,4.8vw,72px);
  line-height:.94;
}
.fnd-v20-home .fnd-v20-start-route .btn{
  font-size:12px!important;
}

/* ---------- SERVICES ---------- */
.fnd-v20-services .page-hero .eyebrow,
.fnd-v20-services .service-principle>.eyebrow,
.fnd-v20-services .section.grey>.eyebrow,
.fnd-v20-services .template-service-bridge .eyebrow,
.fnd-v20-services .decision-block .eyebrow{
  font-size:12px!important;
}
.fnd-v20-services .page-hero .actions .btn{
  font-size:12px!important;
}
.fnd-v20-services .logic-line span{
  font-size:12px!important;
}
.fnd-v20-services .service-card .service-stage{
  font-size:12px!important;
}
.fnd-v20-services .service-card>strong{
  font-size:15px!important;
}
.fnd-v20-services .service-card .btn{
  font-size:12px!important;
}
.fnd-v20-services .template-service-bridge>div:first-child .body-large{
  margin:24px 0 30px!important;
}
.fnd-v20-services .template-service-bridge>div:first-child .btn{
  margin-top:6px;
  font-size:12px!important;
}
.fnd-v20-services .hosting-mini small{
  font-size:11px!important;
}
.fnd-v20-services .hosting-mini b{
  font-size:18px!important;
  line-height:1.2;
  white-space:nowrap;
}
.fnd-v20-services .hosting-mini p{
  font-size:14px!important;
}
.fnd-v20-services .hosting-mini .fnd-hosting-mini-buy{
  font-size:11px!important;
}

/* ---------- TEMPLATES ---------- */
.fnd-v20-templates .template-library .eyebrow{
  font-size:12px!important;
}
.fnd-v20-templates .template-library .section-head{
  align-items:flex-start!important;
}
.fnd-v20-templates .template-card>span,
.fnd-v20-templates .template-card>strong,
.fnd-v20-templates .template-card .fnd-v20-demo-micro,
.fnd-v20-templates .template-card .fnd-buy-button{
  font-size:11px!important;
}
.fnd-v20-templates .template-card .fnd-v20-demo-micro{
  letter-spacing:.07em;
  font-weight:900;
}

/* ---------- PARTNERS ---------- */
.fnd-v20-partners .page-hero .eyebrow,
.fnd-v20-partners .partner-position .eyebrow,
.fnd-v20-partners .section>.eyebrow.blue{
  font-size:12px!important;
}
.fnd-v20-partners .page-hero .actions .btn{
  font-size:12px!important;
}
.fnd-v20-partners .institution-fit span{
  font-size:11px!important;
  line-height:1.25;
}
.fnd-v20-partners .partner-grid span,
.fnd-v20-partners .partner-grid b{
  font-size:11px!important;
}
.fnd-v20-partners .partner-grid>a{
  transition:background-color .22s ease,color .22s ease,box-shadow .22s ease,transform .22s ease;
}
@media (hover:hover) and (pointer:fine){
  .fnd-v20-partners .partner-grid>a:hover,
  .fnd-v20-partners .partner-grid>a:focus-visible{
    background:var(--navy)!important;
    color:#fff!important;
    box-shadow:inset 0 -6px 0 var(--cobalt);
    transform:translateY(-4px);
    outline:none;
  }
  .fnd-v20-partners .partner-grid>a:hover p,
  .fnd-v20-partners .partner-grid>a:focus-visible p{
    color:#d9e1ee!important;
  }
  .fnd-v20-partners .partner-grid>a:hover span,
  .fnd-v20-partners .partner-grid>a:hover b,
  .fnd-v20-partners .partner-grid>a:focus-visible span,
  .fnd-v20-partners .partner-grid>a:focus-visible b{
    color:#8aa9ff!important;
  }
}

/* ---------- RESPONSIVE SAFETY ---------- */
@media (width<=1100px){
  .fnd-v20-home .found-compact{min-height:auto}
  .fnd-v20-home .found-compact__letters span{min-height:130px}
}

@media (width<=820px){
  .header nav>a,.header>.btn{font-size:inherit!important}

  .fnd-v20-home .intro-found{
    row-gap:34px!important;
    padding-bottom:30px!important;
  }
  .fnd-v20-home .found-compact{
    min-height:auto;
  }
  .fnd-v20-home .found-compact__letters span{
    min-height:105px;
    padding:11px 7px;
  }
  .fnd-v20-home .found-compact__letters b{font-size:32px}
  .fnd-v20-home .found-compact__letters small{font-size:8px!important}
  .fnd-v20-home .fnd-v20-start-grid{grid-template-columns:1fr}
  .fnd-v20-home .fnd-v20-start-route,
  .fnd-v20-home .fnd-v20-start-route+ .fnd-v20-start-route{
    min-height:auto;
    padding:34px 0;
    border-left:0;
  }
  .fnd-v20-home .fnd-v20-start-route+ .fnd-v20-start-route{
    border-top:1px solid rgba(255,255,255,.18);
  }

  .fnd-v20-services .hosting-mini b{white-space:normal}

  .fnd-v20-partners .partner-grid>a{transform:none!important}
}
