/*
 * Foresmart V27 — page-specific layouts and independent image focal points.
 */
body.fs-legal-page .fs-generic-page{
  padding-top:clamp(56px,8vw,96px);
  padding-bottom:clamp(72px,9vw,120px);
  background:linear-gradient(180deg,#f4f8fb 0,#fff 260px);
}

body.fs-legal-page .fs-generic-page>.container{
  max-width:920px!important;
  padding:clamp(28px,5vw,58px);
  border:1px solid #d7e4ec;
  border-radius:24px;
  background:#fff;
  box-shadow:0 22px 60px rgba(12,47,77,.08);
}

body.fs-legal-page .fs-generic-page h1{
  max-width:760px;
  margin:0 0 18px;
  color:#0058a0;
  font-size:clamp(40px,6vw,66px);
  line-height:1.04;
  letter-spacing:-.04em;
}

body.fs-legal-page .entry-content{
  color:#43566a;
  font-size:15px;
  line-height:1.78;
}

body.fs-legal-page .entry-content h2{
  margin:42px 0 12px;
  color:#123b5a;
  font-size:clamp(24px,3vw,32px);
  line-height:1.2;
}

body.fs-legal-page .entry-content h3{
  margin:28px 0 8px;
  color:#123b5a;
  font-size:19px;
}

body.fs-legal-page .entry-content :is(ul,ol){
  padding-left:22px;
}

body.fs-legal-page .entry-content a{
  color:#0058a0;
  font-weight:700;
}

/* The team portrait is 4:3 while the story column is nearly square. Keep the
   complete group visible and use a soft backdrop instead of cropping people. */
.cc-about .fs-about-gallery-v36-slide.fs-fit-contain{
  overflow:hidden;
  background:#102b43;
}

.cc-about .fs-about-gallery-v36-slide.fs-fit-contain::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:-28px;
  background-image:var(--fs-slide-background);
  background-position:var(--fs-image-focus,50% 50%);
  background-size:cover;
  filter:blur(18px) brightness(.58) saturate(.88);
  transform:scale(1.08);
}

.cc-about .fs-about-gallery-v36 .fs-about-gallery-v36-slide.fs-fit-contain img{
  z-index:1;
  object-fit:contain!important;
  object-position:var(--fs-image-focus,50% 50%)!important;
}

.cc-about .fs-about-gallery-v36-slide:nth-child(1) img{--fs-image-focus:50% 62%}
.cc-about .fs-about-gallery-v36-slide:nth-child(2) img{--fs-image-focus:50% 48%}
.cc-about .fs-about-gallery-v36-slide:nth-child(3) img{--fs-image-focus:50% 52%}
.cc-about .fs-about-gallery-v36-slide:nth-child(4) img{--fs-image-focus:50% 50%}
.cc-about .fs-about-gallery-v36-slide:nth-child(5) img{--fs-image-focus:50% 50%}

@media(max-width:480px){
  body.fs-legal-page .fs-generic-page>.container{
    padding:28px 20px;
    border-radius:18px;
  }
}
.fs-resource-library{
  display:grid;
  gap:clamp(28px,4vw,52px);
  margin:32px 0 72px;
}

.fs-resource-library-intro{
  max-width:780px;
  margin:0;
  color:#35506a;
  font-size:1.05rem;
  line-height:1.75;
}

.fs-resource-library-group{
  padding:clamp(22px,3vw,34px);
  border:1px solid #cfe0ef;
  border-radius:20px;
  background:#fff;
  box-shadow:0 16px 42px rgba(11,58,93,.07);
}

.fs-resource-library-group h2{
  margin:0 0 10px;
  color:#075da7;
}

.fs-resource-library-group>p{
  max-width:860px;
  margin:0 0 22px;
  color:#4e667c;
  line-height:1.65;
}

.fs-resource-library-group ul{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0 26px;
  margin:0;
  padding:0;
  list-style:none;
}

.fs-resource-library-group li{
  display:grid;
  gap:5px;
  padding:13px 0;
  border-top:1px solid #e2ebf3;
}

.fs-resource-library-group a{
  color:#0a4778;
  font-weight:700;
  line-height:1.4;
  text-decoration:none;
}

.fs-resource-library-group a:hover,
.fs-resource-library-group a:focus-visible{
  color:#0076c9;
  text-decoration:underline;
  text-underline-offset:3px;
}

.fs-resource-library-group time{
  color:#71859a;
  font-size:.78rem;
}

@media (max-width:760px){
  .fs-resource-library-group ul{grid-template-columns:1fr}
}
