/* Revision 5 — shared controls, cursor colours and reference-layout refinements.
   Footer controls and the Back to top button deliberately retain their styles. */
:root {
  --fd-label-size: 1.6rem;
  --fd-brand-pink: #ea4593;
}

#mxd-page-content :is(
  .btn, .btn-caption, .findigital-text-link, .findigital-service-action,
  .findigital-portfolio-showcase__all, .findigital-home-blog__all,
  .findigital-kicker, [class$="__eyebrow"], .findigital-service-tile__label,
  .findigital-directory-card__label, .findigital-service-hero__meta,
  .findigital-service-hero__meta > span, .tag,
  .findigital-portfolio-ribbons__label,
  .findigital-blog-pagination__control, .findigital-blog-pagination__pages a,
  .findigital-blog-pagination__pages span, .findigital-project-hero__scroll
) {
  font-size: var(--fd-label-size);
  line-height: 1.5;
}

/* The two retained text-link variants: theme colour or the brand purple. */
#mxd-page-content :is(.btn-line, .btn-line-icon, .findigital-text-link) {
  color: var(--fd-theme-fg);
  border: 0;
  background: transparent;
}
#mxd-page-content .findigital-about-preview__actions .btn-line {
  color: var(--fd-action-color);
}
#mxd-page-content #services .card__btngroup .btn-line { color: #fff; }
#mxd-page-content .btn-line span { white-space: normal; }
#mxd-page-content :is(.btn-line-icon, .findigital-text-link) svg { fill: currentColor; }
#mxd-page-content .btn-line-icon::before { content: "["; }
#mxd-page-content .btn-line-icon::after { content: "]"; }
#mxd-page-content .findigital-project-hero__scroll {
  gap: .8rem;
  color: var(--fd-theme-fg);
  border: 0;
}
#mxd-page-content .findigital-project-hero__scroll::before { content: "["; }
#mxd-page-content .findigital-project-hero__scroll::after { content: "]"; }
@media (min-width: 768px) {
  #mxd-page-content .findigital-project-hero__scroll {
    display: inline-flex;
    align-items: center;
  }
}

#mxd-page-content .findigital-service-action {
  display: inline-flex;
  gap: .8rem;
  min-height: 4.4rem;
  padding: 0;
  color: var(--fd-theme-fg);
  border: 0;
  background: transparent;
  font-family: var(--_font-accent);
  font-weight: 500;
  transform: none;
}
#mxd-page-content .findigital-service-action::before { content: "["; }
#mxd-page-content .findigital-service-action::after { content: "]"; }
#mxd-page-content .findigital-service-action:hover {
  color: var(--fd-action-color) !important;
  background: transparent !important;
  transform: none;
}

/* One continuous surface, including the arrow, adjusted with Day / Night. */
#mxd-page-content .btn-default-icon {
  gap: 1.4rem;
  min-height: 4.4rem;
  padding: .5rem .8rem .5rem 1.8rem;
  color: var(--fd-action-color);
  background: var(--fd-theme-bg);
  border: 1px solid var(--fd-action-color);
}
#mxd-page-content .btn-default-icon :is(.btn-caption, i) { color: inherit; }
#mxd-page-content .btn-default-icon i {
  background: transparent !important;
}
#mxd-page-content .btn-default-icon i svg { fill: currentColor; }
#mxd-page-content .btn-default-icon:hover {
  color: #fff !important;
  background: var(--fd-action-color) !important;
  border-color: var(--fd-action-color) !important;
}
#mxd-page-content .btn-default-icon:hover .btn-caption { color: inherit !important; }
#mxd-page-content .btn-default-icon:hover i svg { fill: currentColor; }
[color-scheme="dark"] #mxd-page-content .btn-default-icon {
  color: #fff;
  border-color: var(--fd-theme-line);
}
#mxd-page-content :is(.btn, .findigital-service-action, .findigital-text-link):focus-visible {
  outline: 2px solid var(--fd-action-color) !important;
  outline-offset: .5rem;
  box-shadow: none;
}

/* This CTA now uses exactly the same bracket-link treatment as Portfolio. */
#mxd-page-content .findigital-home-blog__all {
  display: inline-flex;
  width: fit-content;
  min-height: 4.4rem;
  margin-top: 3rem;
  padding: .8rem 0;
  color: var(--fd-theme-fg);
  background: transparent;
  border: 0;
  font-family: var(--_font-accent);
  font-weight: 500;
  letter-spacing: .04em;
  text-transform: uppercase;
}
#mxd-page-content .findigital-home-blog__all:hover {
  color: var(--fd-brand-pink) !important;
  background: transparent !important;
}
.findigital-home-blog :is(h3 a, a):hover,
.findigital-blog-card__title a:hover { color: var(--fd-brand-pink); }

/* Contextual cursor styling leaves the footer's art direction untouched. */
body:has(:is(
  .findigital-service-tile, #services .card__title,
  .findigital-home-blog [data-cursor-text],
  .findigital-blog-card [data-cursor-text],
  .findigital-cases-ribbon__item
):hover) .mxd-cursor__dot {
  background-color: var(--fd-brand-pink);
}
body:has(:is(
  .findigital-service-tile, #services .card__title,
  .findigital-home-blog [data-cursor-text],
  .findigital-blog-card [data-cursor-text],
  .findigital-cases-ribbon__item
):hover) .mxd-cursor__text { color: #fff; }
body:has(.findigital-blog-hero [data-cursor-text]:hover) .mxd-cursor__dot {
  background-color: #fff;
}
body:has(.findigital-blog-hero [data-cursor-text]:hover) .mxd-cursor__text { color: #111; }

/* Reference: elarisa left and larger, Findhere right and lower. */
.findigital-directories-showcase__gallery {
  grid-template-columns: minmax(0, .73fr) minmax(0, 1fr);
  gap: clamp(3rem, 3.4vw, 6rem);
  max-width: 124rem;
  align-items: start;
}
.findigital-directory-card--elarisa {
  order: 0;
  width: 100%;
}
.findigital-directory-card--findhere {
  order: 1;
  width: 100%;
  margin-top: clamp(8rem, 9vw, 16rem);
}
@media (max-width: 991.98px) {
  .findigital-directories-showcase__gallery {
    grid-template-columns: 1fr;
    max-width: 68rem;
    gap: 5rem;
  }
  .findigital-directory-card--elarisa { width: 78%; }
  .findigital-directory-card--findhere { width: 100%; margin-top: 0; }
}

/* Trim the actual capital-letter box so it meets Connect by just one pixel. */
.findigital-contact-marquee {
  padding: 0;
  overflow: hidden;
}
.findigital-contact-marquee__track {
  align-items: start;
  margin-bottom: -1px;
}
.findigital-contact-marquee__track span {
  display: block;
  margin: 0;
  line-height: .76;
}
@supports (text-box-trim: trim-both) {
  .findigital-contact-marquee__track span {
    line-height: 1;
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
  }
}
