/* Faralink canonical card system v2. */
body.faralink-canvas{
  --fl-card-service-radius:18px;
  --fl-card-service-label-radius:13px;
  --fl-card-content-radius:18px;
  --fl-card-content-border:rgba(15,23,42,.08);
  --fl-card-content-shadow:0 14px 34px rgba(15,23,42,.07);
}

/* Services: identical image card and solid-white title plate everywhere. */
body.faralink-canvas :is(
  .fl-hpcServices:not(.fl-hpcPortfolio) .fl-msCard,
  [data-fl-content-archive="service"] .fl-bpCard,
  .flsp-relatedServiceCard:not(.flsp-relatedPortfolioCard)
){
  position:relative!important;
  box-sizing:border-box!important;
  border:0!important;
  border-radius:var(--fl-card-service-radius)!important;
  background:#e9eef4!important;
  color:#172033!important;
  box-shadow:none!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
body.faralink-canvas :is(
  .fl-hpcServices:not(.fl-hpcPortfolio) .fl-msImageWrap,
  [data-fl-content-archive="service"] .fl-bpMedia,
  .flsp-relatedServiceCard:not(.flsp-relatedPortfolioCard) .fl-msImageWrap
){
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  margin:0!important;
  border-radius:inherit!important;
  background:#e9eef4!important;
  overflow:hidden!important;
}
body.faralink-canvas :is(
  .fl-hpcServices:not(.fl-hpcPortfolio) .fl-msImage,
  [data-fl-content-archive="service"] .fl-bpMedia img,
  .flsp-relatedServiceCard:not(.flsp-relatedPortfolioCard) .fl-msImage
){
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  border-radius:0!important;
  object-fit:cover!important;
  object-position:center center!important;
  transition:transform .38s cubic-bezier(.22,1,.36,1)!important;
}
body.faralink-canvas :is(
  .fl-hpcServices:not(.fl-hpcPortfolio) .fl-msCard,
  [data-fl-content-archive="service"] .fl-bpCard,
  .flsp-relatedServiceCard:not(.flsp-relatedPortfolioCard)
):hover :is(.fl-msImage,.fl-bpMedia img){transform:scale(1.025)!important}
body.faralink-canvas :is(
  .fl-hpcServices:not(.fl-hpcPortfolio) .fl-msCardOverlay,
  [data-fl-content-archive="service"] .fl-bpBody,
  .flsp-relatedServiceCard:not(.flsp-relatedPortfolioCard) .fl-msCardOverlay
){
  position:absolute!important;
  inset:auto 12px 12px 12px!important;
  z-index:4!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  width:auto!important;
  height:auto!important;
  min-height:64px!important;
  padding:10px 15px!important;
  border:1px solid rgba(15,23,42,.055)!important;
  border-radius:var(--fl-card-service-label-radius)!important;
  background:#fff!important;
  color:#172033!important;
  box-shadow:0 8px 22px rgba(15,23,42,.075)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  text-align:center!important;
}
body.faralink-canvas :is(
  .fl-hpcServices:not(.fl-hpcPortfolio) .fl-msCardTitle,
  [data-fl-content-archive="service"] .fl-bpCardTitle,
  .flsp-relatedServiceCard:not(.flsp-relatedPortfolioCard) .fl-msCardTitle
){
  position:static!important;
  display:-webkit-box!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:55px!important;
  margin:0!important;
  padding:0!important;
  color:#172033!important;
  font-size:16.5px!important;
  font-weight:820!important;
  line-height:1.6!important;
  text-align:center!important;
  direction:rtl!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  transform:none!important;
  text-shadow:none!important;
}
body.faralink-canvas .fl-hpcServices:not(.fl-hpcPortfolio) .fl-msCard:not(:has(.fl-msCardOverlay)) .fl-msCardTitle{
  position:absolute!important;
  inset:auto 12px 12px 12px!important;
  z-index:4!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-height:64px!important;
  max-height:none!important;
  padding:10px 15px!important;
  border:1px solid rgba(15,23,42,.055)!important;
  border-radius:var(--fl-card-service-label-radius)!important;
  background:#fff!important;
  box-shadow:0 8px 22px rgba(15,23,42,.075)!important;
}
body.faralink-canvas :is(
  .fl-hpcServices:not(.fl-hpcPortfolio) .fl-msCardDesc,
  .fl-hpcServices:not(.fl-hpcPortfolio) .fl-msCardBtn,
  [data-fl-content-archive="service"] .fl-bpDate,
  [data-fl-content-archive="service"] .fl-bpExcerpt,
  [data-fl-content-archive="service"] .fl-bpCard::after
){display:none!important;content:none!important}

/* Articles/blog: one editorial surface across home, archive, and related cards. */
body.faralink-canvas :is(
  .fl-hpcArticles .fl-hpcArticleCard,
  #blog-page .fl-bpCard,
  [data-fl-content-archive="blog"] .fl-bpCard,
  [data-fl-content-archive="post"] .fl-bpCard,
  .flsp-relatedArticleCard
){
  box-sizing:border-box!important;
  border:1px solid var(--fl-card-content-border)!important;
  border-radius:var(--fl-card-content-radius)!important;
  background:#fff!important;
  box-shadow:var(--fl-card-content-shadow)!important;
  overflow:hidden!important;
}
body.faralink-canvas :is(
  .fl-hpcArticles .fl-hpcArticleCard .fl-mpImage,
  #blog-page .fl-bpMedia img,
  [data-fl-content-archive="blog"] .fl-bpMedia img,
  [data-fl-content-archive="post"] .fl-bpMedia img,
  .flsp-relatedArticleCard .fl-mbMedia img
){object-fit:cover!important;object-position:center center!important}
body.faralink-canvas :is(
  #blog-page .fl-bpCardTitle,
  [data-fl-content-archive="blog"] .fl-bpCardTitle,
  [data-fl-content-archive="post"] .fl-bpCardTitle,
  .flsp-relatedArticleCard .fl-mbCardTitle
){color:#fff!important;font-size:15.5px!important;font-weight:820!important;line-height:1.65!important;text-shadow:0 2px 14px rgba(0,0,0,.78)!important}

/* Podcasts: compact white caption card everywhere. */
body.faralink-canvas :is(
  .fl-hpcPodcasts .fl-mpCard,
  [data-fl-content-archive="podcast"] .fl-bpCard,
  .flsp-relatedPodcastCard
){border:0!important;border-radius:18px!important;background:#fff!important;color:#172033!important;box-shadow:none!important;overflow:hidden!important}
body.faralink-canvas :is(
  .fl-hpcPodcasts .fl-mpImage,
  [data-fl-content-archive="podcast"] .fl-bpMedia img,
  .flsp-relatedPodcastCard .fl-mbMedia img
){object-fit:cover!important;object-position:center center!important}
body.faralink-canvas :is(
  .fl-hpcPodcasts .fl-mpBody,
  [data-fl-content-archive="podcast"] .fl-bpBody,
  .flsp-relatedPodcastCard .fl-mbBody
){background:#fff!important;color:#172033!important}
body.faralink-canvas :is(
  .fl-hpcPodcasts .fl-mpCardTitle,
  [data-fl-content-archive="podcast"] .fl-bpCardTitle,
  .flsp-relatedPodcastCard .fl-mbCardTitle
){color:#172033!important;font-size:14.5px!important;font-weight:780!important;line-height:1.55!important;text-align:center!important}

/* Portfolio is intentionally distinct from services, but consistent per type. */
body.faralink-canvas :is(
  .fl-hpcPortfolio .fl-msCard,
  [data-fl-content-archive="portfolio"] .fl-bpCard,
  .flsp-relatedPortfolioCard
){border:0!important;border-radius:18px!important;background:#111827!important;box-shadow:0 14px 34px rgba(15,23,42,.10)!important;overflow:hidden!important}
body.faralink-canvas :is(
  .fl-hpcPortfolio .fl-msImage,
  [data-fl-content-archive="portfolio"] .fl-bpMedia img,
  .flsp-relatedPortfolioCard .fl-msImage
){object-fit:cover!important;object-position:center center!important}

/* Final contract enforcement over legacy context-specific selectors. */
body.faralink-canvas .fl-hpcServices:not(.fl-hpcPortfolio) .fl-msCard .fl-msCardOverlay .fl-msCardTitle,
body.faralink-canvas .flsp-serviceSimilar .flsp-relatedServiceCard:not(.flsp-relatedPortfolioCard) .fl-msCardOverlay .fl-msCardTitle,
body.faralink-canvas [data-fl-content-archive="service"] .fl-bpContent .fl-bpMain .fl-bpGrid .fl-bpCard .fl-bpBody .fl-bpCardTitle{
  position:static!important;
  display:-webkit-box!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:55px!important;
  margin:0!important;
  padding:0!important;
  color:#172033!important;
  font-size:16.5px!important;
  font-weight:820!important;
  line-height:1.6!important;
  text-align:center!important;
  direction:rtl!important;
  overflow:hidden!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  transform:none!important;
  text-shadow:none!important;
}
body.faralink-canvas .fl-hpcArticles .fl-mpCard.fl-hpcArticleCard,
body.faralink-canvas #blog-page .fl-bpContent .fl-bpMain .fl-bpGrid .fl-bpCard,
body.faralink-canvas .flsp-articleSimilar .flsp-relatedArticleCard{
  border:1px solid var(--fl-card-content-border)!important;
  border-radius:var(--fl-card-content-radius)!important;
  background:#fff!important;
  box-shadow:var(--fl-card-content-shadow)!important;
}

@media(max-width:767px){
  body.faralink-canvas :is(
    .fl-hpcServices:not(.fl-hpcPortfolio) .fl-msCardOverlay,
    [data-fl-content-archive="service"] .fl-bpBody,
    .flsp-relatedServiceCard:not(.flsp-relatedPortfolioCard) .fl-msCardOverlay
  ){inset:auto 10px 10px 10px!important;min-height:62px!important;padding:9px 13px!important}
  body.faralink-canvas :is(
    .fl-hpcServices:not(.fl-hpcPortfolio) .fl-msCardTitle,
    [data-fl-content-archive="service"] .fl-bpCardTitle,
    .flsp-relatedServiceCard:not(.flsp-relatedPortfolioCard) .fl-msCardTitle
  ){font-size:16px!important;max-height:52px!important}
  body.faralink-canvas .fl-hpcServices:not(.fl-hpcPortfolio) .fl-msCard .fl-msCardOverlay .fl-msCardTitle,
  body.faralink-canvas .flsp-serviceSimilar .flsp-relatedServiceCard:not(.flsp-relatedPortfolioCard) .fl-msCardOverlay .fl-msCardTitle,
  body.faralink-canvas [data-fl-content-archive="service"] .fl-bpContent .fl-bpMain .fl-bpGrid .fl-bpCard .fl-bpBody .fl-bpCardTitle{
    font-size:16px!important;
    max-height:52px!important;
  }
}