/* Supplementary design corrections, October 2026. Loaded after the theme. */
:root {
  --accent--light: #4b21d3;
  --accent--dark: #4b21d3;
}

/* Zona Black needs more room than the template's original display face. */
#mxd-page-content :is(h1, h2, h3, h4, h5, h6) {
  letter-spacing: -.015em;
  line-height: 1.12;
}
#mxd-page-content :is(.line-mask, .char-mask) {
  padding-block: .08em .18em;
  margin-block: -.08em -.18em;
}
.findigital-software-hero .mxd-hero-03__headline > a {
  mix-blend-mode: difference;
  color: #fff;
}
.findigital-software-hero .mxd-hero-03__headline h1,
.findigital-software-hero .mxd-hero-03__headline h1 :is(.line, .word) {
  color: #fff;
}
.findigital-about-preview__title,
.findigital-about-preview__actions .btn {
  color: var(--fd-theme-fg);
}
.findigital-about-preview__actions .btn:hover { color: var(--fd-action-color); }
.findigital-directory-card__label { text-transform: none; }
.findigital-directory-card--elarisa .findigital-directory-card__media { aspect-ratio: 1856 / 2304; }
.findigital-directory-card--findhere .findigital-directory-card__media { aspect-ratio: 2752 / 1536; }
.findigital-directory-card__media img { object-fit: contain; }
.findigital-project-media--directory-artwork {
  padding: clamp(2.4rem, 4vw, 6rem);
  background: var(--fd-theme-bg);
}
.findigital-project-media--directory-artwork img {
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 85svh;
  object-fit: contain;
  margin-inline: auto;
}
.findigital-menu a[href="findhere.php"],
.findigital-menu a[href="elarisa-gr.php"],
.findigital-footer__menu a[href="findhere.php"],
.findigital-footer__menu a[href="elarisa-gr.php"] { text-transform: none; }

@media (min-width: 992px) {
  .findigital-about-preview-section {
    padding-block: clamp(3rem, 4svh, 5rem);
  }
  .findigital-about-preview__title { margin-bottom: 2.4rem; }
  .findigital-about-preview__body {
    grid-template-columns: minmax(0, 1.4fr) minmax(28rem, 1fr);
    align-items: center;
  }
  .findigital-about-preview__media {
    height: min(57svh, 56rem);
    aspect-ratio: auto;
  }
  .findigital-about-preview__copy { max-width: 48rem; }
  .findigital-about-preview__copy p { font-size: clamp(1.6rem, 1.2vw, 2rem); }
  .findigital-about-preview__copy p + p { margin-top: 1.6rem; }
  .findigital-about-preview__actions { margin-top: 2.4rem; }
}

/* Keep the complete wordmark visible, including the italic overhang. */
.findigital-footer__wordmark {
  /* Letters rise from behind the legal bar, not over it. */
  overflow: hidden;
  font-size: min(14.5vw, 48rem);
  line-height: 1.05;
  letter-spacing: .005em;
  padding: .08em .18em 0 0;
  margin-bottom: -.12em;
}
.findigital-footer__legal { position: relative; z-index: 1; }
.findigital-footer__wordmark-light { letter-spacing: .005em; }
.findigital-footer__wordmark :is(.word, .char) { overflow: visible !important; }
.findigital-footer__promo h2 { letter-spacing: -.015em; line-height: 1.12; }
.findigital-footer__promo .line-mask { padding-block: .08em .18em; margin-block: -.08em -.18em; }

/* Solid controls use only purple and white, including their hover states. */
:is(.btn-default, .btn-default-icon, .btn-form, .findigital-service-action, .findigital-home-blog__all) {
  --accent: var(--fd-action-color);
}
:is(.btn-default, .btn-default-icon, .btn-form, .findigital-service-action, .findigital-home-blog__all):hover {
  color: var(--fd-action-color) !important;
  background-color: #fff !important;
  border-color: var(--fd-action-color) !important;
}
:is(.btn-default, .btn-default-icon, .btn-form, .findigital-service-action, .findigital-home-blog__all):hover .btn-caption {
  color: var(--fd-action-color) !important;
}
.btn-default-icon:hover i { background-color: var(--fd-action-color); }
.btn-default-icon:hover i svg { fill: #fff; }
.findigital-pixel-arrow {
  display: block;
  width: 1.8rem;
  height: 1.8rem;
  fill: currentColor;
  transform: rotate(-45deg);
}

/* Contact follows the supplied reference: transparent form, purple Connect. */
.findigital-contact-hero {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
  gap: clamp(4rem, 6vw, 10rem);
  min-height: 0;
  padding-top: clamp(16rem, 18vw, 25rem);
  padding-bottom: clamp(8rem, 12vw, 18rem);
}
.findigital-contact-hero__eyebrow { margin-bottom: 2.2rem; }
.findigital-contact-hero__title { font-size: min(10.5vw, 19cqi); }
.findigital-contact-hero__form-wrap {
  align-self: start;
  padding: 0;
  color: var(--fd-theme-fg);
  color-scheme: inherit;
  background: transparent;
}
.findigital-contact-hero__intro {
  margin-bottom: clamp(3rem, 4vw, 6rem);
  font-size: clamp(2rem, 1.6vw, 2.8rem);
  color: var(--fd-theme-fg);
  line-height: 1.45;
  letter-spacing: 0;
}
.findigital-contact-form__field { border-color: var(--fd-theme-line); padding-block: 1rem; }
/* Keep real labels available to assistive technology; the reference uses inline prompts. */
.findigital-contact-form--inline .findigital-contact-form__field > span {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
.findigital-contact-form :is(input, textarea) { color: var(--fd-theme-fg); font-size: 2.1rem; }
.findigital-contact-form :is(input, textarea)::placeholder {
  color: var(--fd-theme-muted);
  opacity: 1;
  font-size: clamp(1.5rem, 1.1vw, 1.8rem);
  letter-spacing: .01em;
}
.findigital-contact-form :is(input, textarea):focus { outline-color: var(--fd-action-color); }
.findigital-contact-form textarea { height: 18rem; min-height: 12rem; }
.findigital-contact-form__submit { min-width: 15rem; }
[color-scheme="light"] .findigital-contact-form__notice.is-success { color: #28652c; }
[color-scheme="light"] .findigital-contact-form__notice.is-error { color: #aa243a; }
.findigital-contact-marquee {
  padding: .12em 0 0;
  color: var(--fd-action-color);
  background: var(--fd-theme-bg);
}
.findigital-contact-marquee__track span {
  font-size: clamp(5rem, 9.2vw, 18rem);
  line-height: .85;
  margin-bottom: -.13em;
  letter-spacing: 0;
}
.findigital-contact-connect {
  grid-template-columns: minmax(0, 1fr) minmax(0, .9fr);
  gap: clamp(4rem, 6vw, 10rem);
  background: var(--fd-action-color);
  align-items: start;
  min-height: 40rem;
  padding-block: clamp(6rem, 8vw, 12rem);
}
#mxd-page-content .findigital-contact-connect__title { font-size: clamp(4.5rem, 5.2vw, 9rem); }
.findigital-contact-connect__links { padding-top: 1.4rem; border-top: 0; }
.findigital-contact-connect__label {
  margin: 0 0 1.4rem;
  color: rgba(255, 255, 255, .8);
  font-family: var(--_font-accent);
  font-size: clamp(1.1rem, .85vw, 1.4rem);
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: .04em;
}
.findigital-contact-connect__links a { font-family: var(--_font-default); font-size: 2rem; }
.findigital-contact-connect__links a:hover { color: #fff; opacity: .8; }
.findigital-contact-offices { gap: clamp(4rem, 6vw, 10rem); }
.findigital-contact-offices__heading h2 { font-size: clamp(4rem, 4.2vw, 7rem); }
.findigital-contact-offices__intro { margin-bottom: clamp(4rem, 5vw, 8rem); }
.findigital-contact-office { padding-top: 0; border-top: 0; }

@media (max-width: 991.98px) {
  .findigital-contact-hero { grid-template-columns: 1fr; padding-top: 13rem; }
  .findigital-contact-hero__title { font-size: min(13vw, 19cqi); }
  .findigital-contact-connect { grid-template-columns: 1fr; min-height: 0; }
  .findigital-contact-connect__links { padding-top: 0; }
}
@media (max-width: 575.98px) {
  .findigital-contact-form__grid { grid-template-columns: 1fr; }
  .findigital-contact-form textarea { height: 16rem; }
  .findigital-footer__wordmark { font-size: 13.6vw; }
}
@media (prefers-reduced-motion: reduce) {
  .findigital-contact-marquee__track { animation: none; }
}

/* Revision 4: a single, font-relative viewport for the three rotating titles.
   A tight shared clip also hides the previous title's descenders. */
#mxd-page-content .mxd-dv-sticky-img__titlelist {
  height: 1.5em;
  font-size: clamp(5rem, 7.5vw, 12rem);
  overflow: hidden;
}
#mxd-page-content .mxd-dv-sticky-img__titleitem {
  height: 100%;
  overflow: hidden;
}
#mxd-page-content .mxd-dv-sticky-img__titleitem h2 {
  margin: 0;
  padding-block: .1em;
  font-size: inherit;
  line-height: 1.3;
}

/* Give the long client names their own space without crowding tablet metrics. */
@media (min-width: 1200px) {
  .findigital-case-study {
    grid-template-columns: minmax(0, .85fr) minmax(0, 1fr);
    column-gap: clamp(6rem, 7vw, 14rem);
  }
  .findigital-case-study__identity { container-type: inline-size; }
  .findigital-case-study__identity h2,
  .findigital-case-study__identity h2.findigital-case-study__title--compact {
    max-width: 100%;
    font-size: min(4.4vw, 10.6cqi);
    white-space: nowrap;
  }
}

/* Keep the expanded SEO detail rows clear of their separators. */
@media (min-width: 992px) {
  .findigital-service-page--seo .findigital-service-overview__project-details dl > div {
    padding-block: 2rem;
  }
}

/* Keep the title at the top in every two-column viewport, within its section.
   Tall sidebars leave with their section, making the remaining copy reachable. */
@media (min-width: 992px) {
  .findigital-service-page--websites .findigital-service-overview__heading,
  .findigital-service-page--eshop .findigital-service-overview__heading,
  .findigital-service-page--ads .findigital-service-overview__heading,
  .findigital-service-page--social .findigital-service-overview__heading,
  .findigital-service-page--email .findigital-service-overview__heading,
  .findigital-service-page--gmbtools .findigital-service-overview__heading,
  .findigital-service-page--aivisibility .findigital-service-overview__heading,
  .findigital-service-page--chatbots .findigital-service-overview__heading,
  .findigital-directory-detail--findhere .findigital-project-overview__copy,
  .findigital-directory-detail--elarisa .findigital-project-overview__copy,
  .findigital-service-page--seo .findigital-service-overview__heading--seo,
  .findigital-service-page--seo .findigital-service-deep-dive__copy {
    align-self: start;
    position: sticky;
    top: 4rem;
  }
}

/* Directory reading typography follows the equivalent service overview/FAQ.
   Keep the existing grids, media, spacing and theme colours unchanged. */
.findigital-directory-detail .findigital-project-overview__copy h2 {
  font-size: clamp(4.2rem, 3.6vw, 6.8rem);
}
.findigital-directory-detail .findigital-project-overview__copy > p:not(.findigital-project-overview__eyebrow) {
  line-height: 1.55;
}
.findigital-directory-detail .findigital-project-overview__eyebrow {
  letter-spacing: .08em;
}
.findigital-directory-detail .findigital-project-overview__details dt {
  font-size: 1.15rem;
  font-weight: 600;
  letter-spacing: .04em;
}
.findigital-directory-detail .findigital-project-overview__details dd {
  min-width: 0;
  font-size: clamp(1.7rem, 1.25vw, 2.25rem);
  line-height: 1.35;
}
.findigital-directory-detail .findigital-project-faq__intro {
  font-size: clamp(1.8rem, 1.45vw, 2.5rem);
  line-height: 1.45;
}
.findigital-directory-detail .findigital-project-faq__item summary {
  font-size: clamp(1.8rem, 1.4vw, 2.6rem);
  font-weight: 500;
  line-height: 1.2;
}
.findigital-directory-detail .findigital-project-faq__item > p {
  font-size: clamp(1.6rem, 1.15vw, 2rem);
  line-height: 1.55;
}

/* Keep the entire word Findhere in the hero crop; crop towards the icon. */
.findigital-directory-detail--findhere .findigital-project-media--primary img {
  height: auto;
  object-position: right center;
}
@media (max-width: 767.98px) {
  .findigital-directory-detail--findhere .findigital-project-media--primary img {
    aspect-ratio: 2752 / 1536;
    object-fit: contain;
  }
}
