/*
 * Commercial service-page system.
 *
 * The R&D page is the first live implementation and the source for later
 * service pages. Content remains Elementor-owned; this file supplies the
 * shared consultancy-grade presentation and responsive behaviour.
 */

.if-service-sales {
  --if-type-supporting: 1rem;
  --if-type-small: 1rem;
  --if-type-label: 1rem;
  --if-type-button: 1rem;
  width: 100%;
  gap: 0;
  color: var(--if-ink);
  background: var(--if-white);
  --if-section-space: clamp(4.5rem, 6vw, 7rem);
}

.if-service-sales :is(.elementor-widget-heading, .elementor-widget-text-editor, .elementor-widget-html) {
  margin-block-end: 0;
}

.if-service-sales :is(p, li, dd, summary, a, button) {
  font-size: 1rem;
}

.if-service-sales p:last-child {
  margin-bottom: 0;
}

.if-service-sales .if-rd-section {
  --padding-top: var(--if-section-space);
  --padding-right: 0px;
  --padding-bottom: var(--if-section-space);
  --padding-left: 0px;
  width: 100%;
  padding-block: var(--if-section-space);
  scroll-margin-top: 6rem;
}

.if-service-sales .if-rd-section__inner {
  --gap: clamp(2.25rem, 5vw, 5.5rem);
  --row-gap: clamp(2.25rem, 5vw, 5.5rem);
  --column-gap: clamp(2.25rem, 5vw, 5.5rem);
  gap: clamp(2.25rem, 5vw, 5.5rem);
}

.if-rd-section h2 {
  max-width: 18ch;
  margin: 0;
  font-size: clamp(2.5rem, 3.65vw, 3.75rem);
  letter-spacing: -0.045em;
  line-height: 1.02;
}

.if-rd-section h3 {
  font-size: clamp(1.35rem, 1.8vw, 1.7rem);
  line-height: 1.12;
}

.if-rd-section :is(.if-eyebrow, .if-rd-kicker) {
  font-family: Montserrat, Arial, sans-serif;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.085em;
  line-height: 1.35;
  text-transform: uppercase;
}

.if-rd-section .if-eyebrow {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  margin-bottom: 1.45rem;
  color: var(--if-violet);
}

.if-rd-section .if-eyebrow::before {
  width: 1.75rem;
  height: 1px;
  background: currentColor;
  content: "";
}

.if-rd-section .if-eyebrow--light {
  color: var(--if-lilac);
}

.if-rd-section-intro,
.if-rd-dark-intro {
  max-width: 48rem;
  color: var(--if-muted);
  font-size: clamp(1.08rem, 1.3vw, 1.2rem);
  line-height: 1.65;
}

.if-rd-dark-intro {
  color: var(--if-muted-on-dark);
}

.elementor .if-service-sales .if-rd-actions,
.elementor .if-service-sales .if-rd-inline-actions {
  --gap: 1rem;
  --row-gap: 1rem;
  --column-gap: 1rem;
  align-items: center;
  flex-wrap: wrap;
  gap: 1rem;
}

.elementor .if-service-sales .if-rd-actions .elementor-widget-button,
.elementor .if-service-sales .if-rd-inline-actions .elementor-widget-button {
  width: auto;
  margin: 0;
}

/* Hero */
.if-service-sales .if-rd-hero {
  --min-height: min(48rem, 84vh);
  --padding-top: var(--if-header-overlay-clearance);
  --padding-right: 0px;
  --padding-bottom: clamp(4rem, 6vw, 6rem);
  --padding-left: 0px;
  --overflow: hidden;
  position: relative;
  min-height: min(48rem, 84vh);
  padding: var(--if-header-overlay-clearance) 0 clamp(4rem, 6vw, 6rem);
  overflow: hidden;
  color: var(--if-white);
  background:
    radial-gradient(circle at 77% 45%, rgba(142, 68, 160, 0.26), transparent 36%),
    linear-gradient(112deg, var(--if-ink) 0%, #1e1836 51%, var(--if-indigo) 100%);
}

.elementor .if-service-sales .if-rd-hero .if-rd-section__inner {
  --display: flex;
  --min-height: 30rem;
  position: relative;
  z-index: 1;
  display: flex;
  min-height: 30rem;
  align-items: flex-start;
  justify-content: center;
}

.elementor .if-service-sales .if-rd-hero__copy {
  position: relative;
  z-index: 2;
  width: 52%;
  max-width: 48rem;
  gap: 0;
}

.if-rd-hero__title .elementor-heading-title {
  max-width: 11ch;
  margin: 0;
  color: var(--if-white);
  font-size: clamp(3.75rem, 6vw, 6rem);
  letter-spacing: -0.065em;
  line-height: 0.94;
}

.if-rd-hero__title .elementor-heading-title em {
  color: var(--if-lilac);
}

.if-rd-hero__intro {
  max-width: 47rem;
  margin-top: clamp(1.75rem, 3vw, 2.75rem);
  color: rgba(255, 255, 255, 0.82);
  font-size: clamp(1.1rem, 1.35vw, 1.24rem);
  line-height: 1.62;
}

.if-rd-hero .if-rd-actions {
  margin-top: 2rem;
}

.if-rd-proof-line {
  display: flex;
  padding: 1.4rem 0 0;
  margin: 2rem 0 0;
  flex-wrap: wrap;
  gap: 0.75rem 1.5rem;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  color: rgba(255, 255, 255, 0.82);
  font-family: Montserrat, Arial, sans-serif;
  font-weight: 600;
  list-style: none;
}

.if-rd-proof-line li {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
}

.if-rd-proof-line .if-icon {
  color: var(--if-lilac);
  font-size: 1.2rem;
}

/* Match the sector hero: full-height media anchored to the hero's right edge.
 * The mask belongs to the whole media layer, including its purple overlay. */
.elementor .if-service-sales .if-rd-hero__image {
  z-index: 0;
  position: absolute;
  inset: 0 0 0 auto;
  width: min(58vw, 72rem);
  max-width: none;
  height: 100%;
  margin: 0;
  overflow: hidden;
  opacity: 0.34;
  pointer-events: none;
  -webkit-mask-image: radial-gradient(ellipse 72% 82% at 72% 48%, #000 24%, rgba(0, 0, 0, 0.88) 54%, transparent 100%);
  mask-image: radial-gradient(ellipse 72% 82% at 72% 48%, #000 24%, rgba(0, 0, 0, 0.88) 54%, transparent 100%);
}

.elementor .if-service-sales .if-rd-hero__image::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, var(--if-ink) 0%, rgba(28, 20, 48, 0.42) 42%, rgba(61, 46, 94, 0.18) 100%);
  content: "";
}

.elementor .if-service-sales .if-rd-hero__image > .elementor-widget-container,
.elementor .if-service-sales .if-rd-hero__image img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-height: none;
}

.elementor .if-service-sales .if-rd-hero__image img {
  object-fit: cover;
  object-position: center;
  filter: saturate(0.68) contrast(1.04);
}

/* Intro and proof commitments */
.if-rd-intro {
  background: var(--if-white);
}

.if-rd-intro .if-rd-section__inner,
.if-rd-costs .if-rd-section__inner {
  display: grid;
  grid-template-columns: minmax(18rem, 0.78fr) minmax(0, 1.22fr);
}

.elementor .if-service-sales :is(.if-rd-intro, .if-rd-costs) .if-rd-section__inner {
  --display: grid;
}

.if-rd-split-heading,
.if-rd-split-copy,
.if-rd-section-heading {
  gap: 0;
}

.if-rd-split-copy {
  max-width: 47rem;
  justify-self: end;
}

.if-rd-split-copy .elementor-widget-text-editor {
  color: var(--if-muted);
  font-size: clamp(1.05rem, 1.25vw, 1.16rem);
  line-height: 1.7;
}

.if-rd-split-copy .if-home-text-link {
  margin-top: 1.25rem;
}

.if-rd-commitments {
  display: grid;
  padding: 2rem 0 0;
  margin: 0;
  border-top: 1px solid var(--if-line);
  grid-column: 1 / -1;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.if-rd-intro .if-rd-section__inner > .elementor-widget-html,
.if-rd-costs .if-rd-section__inner > .elementor-widget-html {
  grid-column: 1 / -1;
}

.if-rd-commitments > div {
  padding: 0 1.75rem;
  border-left: 1px solid var(--if-line);
}

.if-rd-commitments > div:first-child {
  padding-left: 0;
  border-left: 0;
}

.if-rd-commitments dt {
  color: var(--if-ink);
  font-family: Montserrat, Arial, sans-serif;
  font-size: 1rem;
  font-weight: 700;
}

.if-rd-commitments dd {
  margin: 0.65rem 0 0;
  color: var(--if-muted);
  line-height: 1.55;
}

/* Published track record */
.if-service-sales .if-rd-trust {
  --padding-top: clamp(3.25rem, 4.5vw, 5rem);
  --padding-bottom: clamp(3.25rem, 4.5vw, 5rem);
  background: var(--if-mist);
}

.if-rd-trust .if-rd-section__inner {
  gap: clamp(2rem, 4vw, 3.5rem);
}

.if-rd-trust__heading {
  max-width: 58rem;
}

.if-rd-trust__heading h2 {
  max-width: 18ch;
}

.if-rd-trust-grid {
  display: grid;
  border-top: 1px solid var(--if-line);
  border-bottom: 1px solid var(--if-line);
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.if-rd-trust-grid article {
  display: flex;
  min-width: 0;
  padding: clamp(1.5rem, 2.5vw, 2.35rem);
  border-left: 1px solid var(--if-line);
  flex-direction: column;
}

.if-rd-trust-grid article:first-child {
  padding-left: 0;
  border-left: 0;
}

.if-rd-trust-grid strong {
  color: var(--if-indigo);
  font-family: "Google Sans", Arial, sans-serif;
  font-size: clamp(2.85rem, 4vw, 4.25rem);
  font-weight: 550;
  letter-spacing: -0.06em;
  line-height: 0.95;
}

.if-rd-trust-grid strong span {
  font-size: 1rem;
  letter-spacing: 0;
}

.if-rd-trust-grid article > span:not(.if-rd-stars) {
  margin-top: 1rem;
  color: var(--if-ink);
  font-family: Montserrat, Arial, sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.45;
}

.if-rd-trust-grid small,
.if-rd-trust-note {
  color: var(--if-muted);
  font-size: 1rem;
  line-height: 1.55;
}

.if-rd-trust-grid small {
  margin-top: 0.8rem;
}

.if-rd-trust-grid .if-rd-stars {
  margin-top: 0.65rem;
  color: var(--if-violet);
  font-size: 1.15rem;
  letter-spacing: 0.08em;
}

.if-rd-trust-grid__trustpilot a {
  display: inline-flex;
  width: max-content;
  max-width: 100%;
  margin-top: 0.5rem;
  align-items: center;
  gap: 0.35rem;
  color: var(--if-indigo);
  font-family: Montserrat, Arial, sans-serif;
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
}

.if-rd-trust-grid__trustpilot a:is(:hover, :focus-visible) {
  color: var(--if-violet);
  text-decoration: underline;
  text-underline-offset: 0.25em;
}

.if-rd-trust-note {
  max-width: 72rem;
  margin: 1.25rem 0 0;
}

/* Dark proposition and process sections */
.if-rd-difference,
.if-rd-process {
  color: var(--if-white);
  background:
    radial-gradient(circle at 85% 0%, rgba(142, 68, 160, 0.22), transparent 31%),
    linear-gradient(120deg, var(--if-ink), var(--if-deep));
}

.if-rd-difference .if-rd-section__inner,
.if-rd-process .if-rd-section__inner {
  gap: 0;
}

.if-rd-difference h2,
.if-rd-process h2 {
  max-width: 17ch;
}

.if-rd-difference .if-rd-dark-intro,
.if-rd-process .if-rd-dark-intro {
  margin-top: 1.75rem;
}

.if-rd-difference-grid {
  display: grid;
  margin-top: clamp(3rem, 5vw, 5rem);
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.if-rd-difference-grid article {
  position: relative;
  padding: 2rem clamp(1.25rem, 2vw, 2rem) 2.2rem;
  border-left: 1px solid rgba(255, 255, 255, 0.2);
}

.if-rd-difference-grid article:first-child {
  padding-left: 0;
  border-left: 0;
}

.if-rd-difference-grid > article > .if-icon {
  display: inline-grid;
  width: 3rem;
  height: 3rem;
  margin-bottom: 2rem;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  color: var(--if-lilac);
  font-size: 1.35rem;
  place-items: center;
}

.if-rd-difference-grid .if-rd-kicker,
.if-rd-engagement-list .if-rd-kicker {
  margin: 0 0 0.85rem;
  color: var(--if-lilac);
}

.if-rd-difference-grid h3 {
  max-width: 13ch;
  margin-bottom: 1rem;
  color: var(--if-white);
}

.if-rd-difference-grid article > p:last-child {
  color: var(--if-muted-on-dark);
  line-height: 1.6;
}

.if-rd-principle {
  max-width: 54rem;
  padding-left: 1.25rem;
  margin-top: 2rem;
  border-left: 2px solid var(--if-lilac);
  color: var(--if-muted-on-dark);
}

.if-rd-principle strong {
  color: var(--if-white);
}

.if-rd-difference .if-button {
  width: max-content;
  margin-top: 2rem;
}

/* Qualifying projects */
.if-rd-qualifying {
  background: var(--if-white);
}

.if-rd-section-heading {
  max-width: 70rem;
}

.if-rd-section-heading h2 {
  max-width: 17ch;
}

.if-rd-section-heading .if-rd-section-intro {
  margin-top: 1.75rem;
}

.if-rd-example-grid {
  display: grid;
  border-top: 1px solid var(--if-line);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.if-rd-example-grid article {
  min-height: 17rem;
  padding: 2rem clamp(1.3rem, 2.2vw, 2.25rem) 2.25rem 0;
  border-bottom: 1px solid var(--if-line);
}

.if-rd-example-grid article:not(:nth-child(3n + 1)) {
  padding-left: clamp(1.3rem, 2.2vw, 2.25rem);
  border-left: 1px solid var(--if-line);
}

.if-rd-example-grid article > span {
  display: block;
  margin-bottom: 3rem;
  color: var(--if-violet);
  font-family: Montserrat, Arial, sans-serif;
  font-size: 1rem;
  font-weight: 700;
}

.if-rd-example-grid h3 {
  margin-bottom: 0.8rem;
}

.if-rd-example-grid p {
  color: var(--if-muted);
  line-height: 1.58;
}

.if-rd-inline-actions {
  margin-top: 0.5rem;
}

/* Costs */
.elementor .if-service-sales .if-rd-calculator-links {
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
  margin-top: 1rem;
  padding-top: 2rem;
  border-top: 1px solid var(--if-line);
  gap: 1rem;
}
.elementor .if-service-sales .if-rd-calculator-links h3 {
  font-size: clamp(1.5rem, 2.3vw, 2rem);
  line-height: 1.2;
}
.elementor .if-service-sales .if-rd-calculator-links .elementor-widget-text-editor {
  max-width: 60rem;
  color: var(--if-muted);
  line-height: 1.7;
}
.elementor .if-service-sales .if-rd-calculator-links p { margin: 0; }
.if-rd-costs {
  background: var(--if-mist);
}

.if-rd-cost-list {
  display: grid;
  padding: 2.25rem 0 0;
  margin: 0;
  border-top: 1px solid var(--if-line);
  gap: 0;
  grid-column: 1 / -1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
}

.if-rd-cost-list li {
  display: grid;
  min-height: 11rem;
  padding: 1.6rem clamp(1.5rem, 2.5vw, 2.75rem) 1.8rem 0;
  border-bottom: 1px solid var(--if-line);
  gap: 1rem;
  grid-template-columns: 2.8rem 1fr;
}

.if-rd-cost-list li:nth-child(2n) {
  padding-right: 0;
  padding-left: clamp(1.5rem, 2.5vw, 2.75rem);
  border-left: 1px solid var(--if-line);
}

.if-rd-cost-list .if-icon {
  display: grid;
  width: 2.7rem;
  height: 2.7rem;
  border: 1px solid var(--if-lilac);
  border-radius: 50%;
  color: var(--if-violet);
  font-size: 1.25rem;
  place-items: center;
}

.if-rd-cost-list h3 {
  margin-bottom: 0.65rem;
}

.if-rd-cost-list p {
  color: var(--if-muted);
  line-height: 1.58;
}

/* Process */
.if-rd-process-list {
  display: grid;
  padding: 0;
  margin: clamp(3rem, 5vw, 5rem) 0 0;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  list-style: none;
}

.if-rd-process-list li {
  display: grid;
  padding: 1.6rem 0;
  align-items: start;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  gap: clamp(1.5rem, 4vw, 4rem);
  grid-template-columns: 4rem minmax(11rem, 0.45fr) minmax(0, 1fr);
}

.if-rd-process-list li > span {
  color: var(--if-lilac);
  font-family: Montserrat, Arial, sans-serif;
  font-size: 1rem;
  font-weight: 700;
}

.if-rd-process-list li > div {
  display: contents;
}

.if-rd-process-list h3 {
  margin: 0;
  color: var(--if-white);
}

.if-rd-process-list p {
  max-width: 48rem;
  margin: 0;
  color: var(--if-muted-on-dark);
  line-height: 1.6;
}

/* SecuRD is an image-led product signpost, deliberately distinct from the
 * five-stage claim process above it. */
.if-rd-securd {
  --if-rd-securd-surface: var(--if-mist);
  background: var(--if-rd-securd-surface);
}

.elementor .if-service-sales .if-rd-securd .if-rd-section__inner {
  --display: grid;
  align-items: center;
  grid-template-columns: minmax(24rem, 1.08fr) minmax(0, 0.92fr);
}

.elementor .if-service-sales .if-rd-securd__visual {
  --min-height: clamp(31rem, 42vw, 40rem);
  --display: block;
  position: relative;
  display: block;
  height: clamp(31rem, 42vw, 40rem);
  min-height: clamp(31rem, 42vw, 40rem);
}

.elementor .if-service-sales .if-rd-securd__image {
  position: absolute;
  overflow: hidden;
  border-radius: var(--if-panel-radius);
  box-shadow: var(--if-shadow);
}

.elementor .if-service-sales .if-rd-securd__image .elementor-widget-container,
.elementor .if-service-sales .if-rd-securd__image img {
  display: block;
  width: 100%;
  height: 100%;
}

.elementor .if-service-sales .if-rd-securd__image img {
  object-fit: cover;
}

.elementor .if-service-sales .if-rd-securd__image--technical {
  inset: 0 auto auto 0;
  width: 86%;
  height: 92%;
}

.elementor .if-service-sales .if-rd-securd__image--technical img {
  object-position: center;
}

.elementor .if-service-sales .if-rd-securd__image--financial {
  z-index: 2;
  right: 0;
  bottom: 0;
  width: 48%;
  height: 42%;
  border: 0.7rem solid var(--if-rd-securd-surface);
  border-radius: 1.5rem;
  background: var(--if-rd-securd-surface);
  /* A shadow around this rim makes the matching surface look like a white frame. */
  box-shadow: none;
}

.if-rd-securd__copy {
  max-width: 42rem;
}

.if-rd-securd__copy .if-rd-section-intro {
  margin-top: 1.5rem;
}

.if-rd-securd__outcomes {
  display: grid;
  padding: 1.25rem 0 0;
  margin: 1.5rem 0 0;
  border-top: 1px solid var(--if-line);
  gap: 0.8rem;
  list-style: none;
}

.if-rd-securd__outcomes li {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  color: var(--if-indigo);
}

.if-rd-securd__outcomes .if-icon {
  flex: 0 0 auto;
  color: var(--if-violet);
  font-size: 1.2rem;
}

.if-rd-securd__copy .if-button {
  width: max-content;
  margin-top: 1.75rem;
}

/* Engagement options */
.if-rd-engagement {
  background: var(--if-white);
}

.if-rd-engagement-list {
  display: grid;
  border-top: 1px solid var(--if-line);
  border-bottom: 1px solid var(--if-line);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.if-rd-engagement-list article {
  min-height: 15.5rem;
  padding: 2.1rem clamp(1.5rem, 3vw, 3.5rem) 2.4rem 0;
}

.if-rd-engagement-list article:nth-child(2n) {
  padding-right: 0;
  padding-left: clamp(1.5rem, 3vw, 3.5rem);
  border-left: 1px solid var(--if-line);
}

.if-rd-engagement-list article:nth-child(-n + 2) {
  border-bottom: 1px solid var(--if-line);
}

.if-rd-engagement-list .if-rd-kicker {
  color: var(--if-violet);
}

.if-rd-engagement-list h3 {
  margin-bottom: 1rem;
}

.if-rd-engagement-list article > p:last-child {
  max-width: 35rem;
  color: var(--if-muted);
  line-height: 1.6;
}

.if-rd-engagement-list .if-rd-included {
  display: inline-flex;
  width: fit-content;
  padding: 0.45rem 0.75rem;
  margin: 0 0 1rem;
  align-items: center;
  gap: 0.45rem;
  border-radius: 999px;
  color: var(--if-indigo);
  background: var(--if-mist);
  font-family: Montserrat, Arial, sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.35;
}

.if-rd-engagement-list .if-rd-included .if-icon {
  color: var(--if-violet);
  font-size: 1.1rem;
}

.if-rd-engagement .if-button {
  width: max-content;
}

/* Expert and testimonials retain the dynamic CPT-backed widgets. */
.if-rd-expert {
  background: var(--if-mist);
}

.if-rd-experts {
  background: var(--if-mist);
}

.if-rd-experts .ifx-expert-grid {
  padding: 0;
}

.if-rd-experts .ifx-expert-grid__controls {
  display: flex;
}

.if-rd-experts .ifx-expert-grid__rail {
  overflow-x: auto;
  padding: 0.1rem 0.1rem 1rem;
  grid-template-columns: none;
  grid-auto-columns: minmax(16.5rem, calc((100% - 4.5rem) / 4));
  grid-auto-flow: column;
  scroll-padding-inline: 0.1rem;
  scroll-snap-type: inline mandatory;
  scrollbar-color: var(--if-lilac) transparent;
  scrollbar-width: thin;
}

.if-rd-experts .ifx-expert-card {
  scroll-snap-align: start;
}

/* Linked and unlinked names have the same hierarchy; do not inherit the
 * service body's anchor sizing or the generic surface link colour. */
.elementor .if-service-sales .if-rd-experts .ifx-expert-card h3 {
  margin: 0;
  color: var(--if-ink);
  font-size: clamp(1.3rem, 1.7vw, 1.75rem);
  font-weight: 600;
  letter-spacing: -0.035em;
  line-height: 1.15;
}

.elementor .if-service-sales .if-rd-experts .ifx-expert-grid .ifx-expert-card .ifx-expert-card__body h3 a {
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-decoration: none;
}

.elementor .if-service-sales .if-rd-experts .ifx-expert-grid .ifx-expert-card .ifx-expert-card__body h3 a:is(:hover, :focus-visible) {
  color: var(--if-violet);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.18em;
}

/* Reserve the frame independently of the image's intrinsic dimensions. This
 * also prevents a square portrait leaving a blank strip in a taller frame. */
.elementor .if-service-sales .if-rd-experts .ifx-expert-card__media {
  display: block;
  aspect-ratio: 4 / 4.65;
}

.elementor .if-service-sales .if-rd-experts .ifx-expert-card__portrait-link,
.elementor .if-service-sales .if-rd-experts .ifx-expert-card__media img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-height: none;
}

.elementor .if-service-sales .if-rd-experts .ifx-expert-card__media img {
  object-fit: cover;
  object-position: center top;
}

.elementor .if-service-sales .if-rd-experts [data-expert-id="303"] .ifx-expert-card__media img {
  object-position: 48% top;
}

.elementor .if-service-sales .if-rd-experts a.ifx-expert-grid__cta {
  border: 1px solid var(--if-violet);
  color: var(--if-white);
  background: var(--if-violet);
  font-size: 1rem;
}

.elementor .if-service-sales .if-rd-experts a.ifx-expert-grid__cta:is(:hover, :focus-visible) {
  border-color: var(--if-indigo);
  color: var(--if-white);
  background: var(--if-indigo);
}

.elementor .if-service-sales .if-rd-experts a.ifx-expert-grid__cta:focus-visible {
  outline: 2px solid var(--if-indigo);
  outline-offset: 4px;
}

.elementor .if-service-sales .if-rd-experts a.ifx-expert-grid__cta span {
  color: inherit;
}

.if-rd-experts .ifx-expert-card :is(.ifx-expert-card__role, .ifx-expert-card__proof, .ifx-expert-card__action--text, .ifx-expert-card__tooltip) {
  font-size: 1rem;
}

.if-rd-expert .if-rd-section__inner {
  gap: 0;
}

.if-rd-expert .ifx-expert-spotlight {
  padding: 0;
}

.if-rd-expert .ifx-expert-spotlight__heading {
  max-width: 16ch;
}

.if-rd-expert .ifx-expert-spotlight__body,
.if-rd-expert .ifx-expert-spotlight__proof,
.if-rd-expert .ifx-expert-spotlight__role,
.if-rd-expert .ifx-expert-spotlight__cta,
.if-rd-testimonials .ifx-query-section__intro,
.if-rd-testimonials .ifx-testimonial-card__details,
.if-rd-testimonials .ifx-testimonial-card__name,
.if-rd-testimonials .ifx-testimonial-card__source-icon {
  font-size: 1rem;
}

.if-rd-testimonials {
  background: var(--if-white);
}

.if-rd-testimonials .if-rd-section__inner {
  gap: 0;
}

.if-rd-testimonials .ifx-query-section {
  padding: 0;
}

.if-rd-testimonials .ifx-query-section__header {
  margin-bottom: clamp(2.5rem, 4vw, 4rem);
}

.if-rd-testimonials .ifx-query-section__header h2 {
  max-width: 15ch;
}

.if-rd-testimonials .ifx-testimonials:not(.ifx-testimonials--editorial) .ifx-testimonial-card {
  min-height: clamp(25rem, 34vw, 31rem);
  padding: clamp(1.75rem, 3vw, 2.75rem);
  gap: clamp(2rem, 4vw, 3.75rem);
}

.if-rd-testimonials .ifx-testimonial-card__quote,
.if-rd-testimonials .ifx-testimonial-card__quote p {
  font-size: clamp(1.45rem, 2vw, 1.9rem);
  line-height: 1.25;
  letter-spacing: -0.035em;
}

.elementor .if-service-sales .if-rd-testimonials .ifx-testimonials--editorial .ifx-testimonial-card__quote,
.elementor .if-service-sales .if-rd-testimonials .ifx-testimonials--editorial .ifx-testimonial-card__quote p {
  color: var(--if-ink);
  font-size: clamp(1.5rem, 2vw, 1.9rem);
  line-height: 1.4;
  font-weight: 500;
  letter-spacing: -0.025em;
}

/* The longer service names need their own display scale, not compressed copy. */
.elementor .if-specialist-sales .if-rd-hero__title .elementor-heading-title {
  max-width: 17ch;
  font-size: clamp(3.25rem, 5.15vw, 5.25rem);
  line-height: 1;
  text-wrap: balance;
}

/* A visibly half-filled final star reflects the 4.5 TrustScore. */
.if-specialist-sales .if-rd-trust-grid .if-ss-rating {
  position: relative;
  display: inline-block;
  width: max-content;
  color: var(--if-line);
  margin-top: 0.65rem;
  font-size: 1.15rem;
  letter-spacing: 0.08em;
}

.if-ss-rating::after {
  position: absolute;
  inset: 0;
  overflow: hidden;
  width: 90%;
  color: var(--if-violet);
  white-space: nowrap;
  content: "★★★★★";
}

/* Case studies are open editorial blocks, with every result available as text. */
.if-service-cases {
  background: var(--if-white);
}

.elementor .if-specialist-sales .if-service-cases .if-rd-section__inner {
  --gap: 1.5rem;
  --row-gap: 1.5rem;
  gap: 1.5rem;
}

.elementor .if-specialist-sales .if-service-cases .if-eyebrow {
  margin-bottom: 0;
}

.elementor .if-specialist-sales .if-service-cases__grid {
  --display: grid;
  --padding-top: 0px;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  display: grid;
  padding: 0;
  margin-top: 1.5rem;
  gap: 4rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}

.elementor .if-specialist-sales .if-service-case {
  --gap: 1.15rem;
  --row-gap: 1.15rem;
  --padding-top: 1.75rem;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  min-width: 0;
  padding: 1.75rem 0 0;
  gap: 1.15rem;
  border: 0;
  border-top: 1px solid var(--if-line);
  border-radius: 0;
  box-shadow: none;
  background: transparent;
}

.elementor .if-specialist-sales .if-service-case .if-rd-kicker {
  color: var(--if-violet);
  font-size: 1rem;
  margin: 0;
}

.elementor .if-specialist-sales .if-service-case h3 {
  color: var(--if-ink);
  margin: 0;
  font-size: clamp(1.55rem, 2.2vw, 2rem);
  line-height: 1.2;
  letter-spacing: -0.03em;
}

.elementor .if-specialist-sales .if-service-case .elementor-widget-text-editor {
  color: var(--if-muted);
  line-height: 1.65;
}

.elementor .if-specialist-sales .if-service-case__image {
  width: 100%;
  margin-bottom: 0.65rem;
}

.elementor .if-specialist-sales .if-service-case__image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 2 / 1;
  object-fit: cover;
  border-radius: 0.75rem;
}

.elementor .if-specialist-sales .if-service-case__result {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  margin-top: 0.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--if-line);
}

.elementor .if-specialist-sales .if-service-case__result strong {
  color: var(--if-indigo);
  font-size: clamp(2rem, 3vw, 3.25rem);
  font-weight: 550;
  letter-spacing: -0.045em;
  line-height: 1.1;
}

.elementor .if-specialist-sales .if-service-case__result span,
.elementor .if-specialist-sales .if-service-cases__note p {
  color: var(--if-muted);
  font-size: 1rem;
  line-height: 1.6;
}

.elementor .if-specialist-sales .if-service-cases__note {
  max-width: 70rem;
  margin-top: 1rem;
}

.elementor .if-ip-sales .if-service-cases__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2.5rem;
}

.if-specialist-sales .if-rd-testimonials .ifx-testimonials__grid {
  max-width: 68rem;
}

.elementor .if-lrr-sales .ifx-testimonials--editorial .ifx-testimonial-card__logo {
  width: 7rem;
  height: 5.5rem;
}

@media (max-width: 900px) {
  .elementor .if-specialist-sales .if-service-cases__grid {
    gap: 2.5rem;
  }
  .elementor .if-ip-sales .if-service-cases__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .elementor .if-specialist-sales .if-rd-hero__title .elementor-heading-title {
    font-size: clamp(2.75rem, 11.5vw, 4rem);
    max-width: 100%;
    overflow-wrap: normal;
  }
  .elementor .if-specialist-sales .if-service-cases__grid {
    grid-template-columns: 1fr;
  }
}

/* FAQ */
.if-pb-sales .if-rd-testimonials .ifx-testimonials__grid {
  max-width: 68rem;
}

.if-rd-faq {
  background: var(--if-mist);
}

.if-rd-faq .if-rd-section__inner {
  gap: 0;
}

.if-rd-faq .ifx-faq {
  padding: 0;
}

.if-rd-faq .ifx-faq :is(.ifx-faq__intro, summary, p, a) {
  font-size: 1rem;
}

.if-rd-faq .ifx-faq__header h2 {
  max-width: 12ch;
}

/* Knowledge signpost */
.if-service-sales .if-rd-knowledge {
  --padding-top: clamp(3.25rem, 5vw, 5.5rem);
  --padding-bottom: clamp(3.25rem, 5vw, 5.5rem);
  padding-block: clamp(3.25rem, 5vw, 5.5rem);
  background: var(--if-white);
}

.elementor .if-service-sales .if-rd-knowledge .if-rd-section__inner {
  --display: grid;
  --padding-top: clamp(2rem, 4vw, 3.5rem);
  --padding-bottom: clamp(2rem, 4vw, 3.5rem);
  display: grid;
  padding-block: clamp(2rem, 4vw, 3.5rem);
  align-items: end;
  border-top: 1px solid var(--if-line);
  border-bottom: 1px solid var(--if-line);
  grid-template-columns: minmax(0, 1fr) auto;
}

.if-rd-knowledge__copy {
  max-width: 58rem;
  gap: 0;
}

.if-rd-knowledge h2 {
  max-width: 21ch;
  font-size: clamp(2.25rem, 3.6vw, 3.75rem);
}

.if-rd-knowledge__copy .elementor-widget-text-editor {
  max-width: 48rem;
  margin-top: 1.25rem;
  color: var(--if-muted);
  line-height: 1.65;
}

.if-rd-knowledge .if-button {
  width: max-content;
}

/* Final conversion scene */
.if-service-sales .if-rd-consultation {
  --padding-top: 0px;
  --padding-bottom: var(--if-section-space);
  padding: 0 0 var(--if-section-space);
  color: var(--if-white);
  /* Continue the FAQ surface, then gently fade into the page background. */
  background: linear-gradient(180deg, var(--if-mist) 0%, var(--if-white) 85%);
}

.elementor .if-service-sales .if-rd-consultation .if-rd-section__inner {
  --display: grid;
  --padding-top: clamp(2.25rem, 5vw, 5rem);
  --padding-right: clamp(2.25rem, 5vw, 5rem);
  --padding-bottom: clamp(2.25rem, 5vw, 5rem);
  --padding-left: clamp(2.25rem, 5vw, 5rem);
  --overflow: hidden;
  display: grid;
  padding: clamp(2.25rem, 5vw, 5rem);
  overflow: hidden;
  border-radius: var(--if-panel-radius);
  background:
    radial-gradient(circle at var(--if-pointer-x) var(--if-pointer-y), rgba(142, 68, 160, 0.32), transparent 34%),
    linear-gradient(125deg, var(--if-ink), var(--if-deep));
  box-shadow: var(--if-shadow);
  grid-template-columns: minmax(0, 1fr) minmax(19rem, 0.48fr);
}

.if-rd-consultation__copy {
  max-width: 50rem;
  gap: 0;
}

.if-rd-consultation h2 {
  max-width: 19ch;
}

.if-rd-consultation__copy .elementor-widget-text-editor {
  max-width: 45rem;
  margin-top: 1.5rem;
  color: var(--if-muted-on-dark);
  font-size: clamp(1.05rem, 1.25vw, 1.17rem);
  line-height: 1.65;
}

.if-rd-consultation__copy .if-button {
  width: max-content;
  margin-top: 1.75rem;
}

.if-rd-consultation__proof {
  padding: 0;
  margin: 0;
  align-self: end;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  list-style: none;
}

.if-rd-consultation__proof li {
  display: grid;
  padding: 1rem 0;
  align-items: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  gap: 0.7rem;
  grid-template-columns: 1.5rem minmax(8.5rem, 0.55fr) minmax(0, 1fr);
}

.if-rd-consultation__proof .if-icon {
  color: var(--if-lilac);
  font-size: 1.2rem;
}

.if-rd-consultation__proof strong {
  color: var(--if-white);
  font-family: Montserrat, Arial, sans-serif;
  font-size: 1rem;
}

.if-rd-consultation__proof span:last-child {
  color: var(--if-muted-on-dark);
  font-size: 1rem;
}

/*
 * Elementor's Kit rules are emitted after theme styles and set colours directly
 * on heading elements. Keep these page-level design decisions explicit on the
 * actual heading node, rather than relying on inherited colour from the panel.
 */
.elementor-kit-6 .if-service-sales .if-rd-hero__title .elementor-heading-title,
.elementor-kit-6 .if-service-sales :is(.if-rd-difference, .if-rd-process, .if-rd-consultation) h2,
.elementor-kit-6 .if-service-sales :is(.if-rd-difference, .if-rd-process, .if-rd-consultation) h3 {
  color: var(--if-white);
}

/* Keep every service CTA on the same accessible colour contract, regardless
 * of Elementor Kit button rules emitted later in the document. */
.elementor .if-service-sales .elementor-widget-button.if-button--dark .elementor-button {
  border-color: var(--if-ink);
  color: var(--if-white);
  background: var(--if-ink);
}

.elementor .if-service-sales .elementor-widget-button.if-button--dark .elementor-button:is(:hover, :focus-visible) {
  border-color: var(--if-violet);
  color: var(--if-white);
  background: var(--if-violet);
}

.elementor .if-service-sales .elementor-widget-button.if-button--light .elementor-button {
  border-color: var(--if-white);
  color: var(--if-ink);
  background: var(--if-white);
}

.elementor .if-service-sales .elementor-widget-button.if-button--light .elementor-button:is(:hover, :focus-visible) {
  border-color: var(--if-lilac);
  color: var(--if-ink);
  background: var(--if-lilac);
}

.elementor .if-service-sales .elementor-widget-button.if-home-text-link:not(.if-home-text-link--light) .elementor-button {
  border-color: var(--if-indigo);
  color: var(--if-indigo);
  background: transparent;
}

.elementor .if-service-sales .elementor-widget-button.if-home-text-link:not(.if-home-text-link--light) .elementor-button:is(:hover, :focus-visible) {
  border-color: var(--if-violet);
  color: var(--if-white);
  background: var(--if-violet);
}

.elementor .if-service-sales .elementor-widget-button.if-home-text-link--light .elementor-button {
  border-color: rgba(255, 255, 255, 0.72);
  color: var(--if-white);
  background: transparent;
}

.elementor .if-service-sales .elementor-widget-button.if-home-text-link--light .elementor-button:is(:hover, :focus-visible) {
  border-color: var(--if-white);
  color: var(--if-ink);
  background: var(--if-white);
}

/* The service body's 1rem floor must not flatten this display headline. */
.elementor .if-service-sales .if-rd-floating-cta .if-floating-cta__heading {
  max-width: 100%;
  margin: 1.1rem 0 1.4rem;
  color: var(--if-white);
  font-size: 1.875rem;
  font-weight: 540;
  line-height: 1.12;
  letter-spacing: -0.04em;
  text-wrap: balance;
}

.if-rd-floating-cta .if-eyebrow,
.if-rd-floating-cta .if-floating-cta__proof,
.if-rd-floating-cta .if-button {
  font-size: 1rem;
}

@media (max-width: 1180px) {
  .if-service-sales .if-rd-hero {
    --min-height: 0px;
    min-height: 0;
  }

  .if-rd-commitments,
  .if-rd-difference-grid,
  .if-rd-trust-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .if-rd-commitments > div:nth-child(3),
  .if-rd-commitments > div:nth-child(4),
  .if-rd-difference-grid article:nth-child(3),
  .if-rd-difference-grid article:nth-child(4) {
    margin-top: 1.75rem;
    padding-top: 1.75rem;
    border-top: 1px solid var(--if-line);
  }

  .if-rd-difference-grid article:nth-child(3),
  .if-rd-difference-grid article:nth-child(4) {
    border-top-color: rgba(255, 255, 255, 0.2);
  }

  .if-rd-difference-grid article:nth-child(3) {
    padding-left: 0;
    border-left: 0;
  }

  .if-rd-trust-grid article:nth-child(3) {
    padding-left: 0;
    border-left: 0;
  }

  .if-rd-trust-grid article:nth-child(-n + 2) {
    border-bottom: 1px solid var(--if-line);
  }

  .if-rd-consultation .if-rd-section__inner {
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 0.65fr);
  }
}

@media (max-width: 900px) {
  .elementor .if-service-sales .if-rd-intro .if-rd-section__inner,
  .elementor .if-service-sales .if-rd-costs .if-rd-section__inner,
  .elementor .if-service-sales .if-rd-securd .if-rd-section__inner,
  .elementor .if-service-sales .if-rd-consultation .if-rd-section__inner,
  .elementor .if-service-sales .if-rd-knowledge .if-rd-section__inner {
    grid-template-columns: 1fr;
  }

  .if-rd-hero .if-rd-section__inner {
    gap: 2.5rem;
  }

  .elementor .if-service-sales .if-rd-hero__copy {
    width: 100%;
    max-width: 47rem;
  }

  .elementor .if-service-sales .if-rd-hero__image {
    width: 100%;
    opacity: 0.2;
    -webkit-mask-image: radial-gradient(ellipse 90% 72% at 76% 42%, #000 18%, rgba(0, 0, 0, 0.68) 48%, transparent 100%);
    mask-image: radial-gradient(ellipse 90% 72% at 76% 42%, #000 18%, rgba(0, 0, 0, 0.68) 48%, transparent 100%);
  }

  .if-rd-split-copy {
    max-width: 48rem;
    justify-self: start;
  }

  .if-rd-commitments {
    grid-column: auto;
  }

  .if-rd-example-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .if-rd-example-grid article:not(:nth-child(3n + 1)) {
    padding-left: 0;
    border-left: 0;
  }

  .if-rd-example-grid article:nth-child(2n) {
    padding-left: 1.5rem;
    border-left: 1px solid var(--if-line);
  }

  .if-rd-knowledge .if-rd-section__inner {
    align-items: start;
  }

  .elementor .if-service-sales .if-rd-securd__visual {
    --min-height: 32rem;
    min-height: 32rem;
    height: 32rem;
  }

  .if-rd-consultation__proof {
    margin-top: 1rem;
  }
}

@media (max-width: 767px) {
  .if-service-sales .if-rd-section {
    --padding-top: clamp(3.5rem, 14vw, 5rem);
    --padding-bottom: clamp(3.5rem, 14vw, 5rem);
    padding-block: clamp(3.5rem, 14vw, 5rem);
  }

  .if-service-sales .if-rd-section__inner {
    --gap: 2rem;
    --row-gap: 2rem;
    --column-gap: 2rem;
    gap: 2rem;
  }

  .if-rd-section h2 {
    font-size: clamp(2.35rem, 12vw, 3.5rem);
  }

  .if-service-sales .if-rd-hero {
    --padding-top: clamp(9.5rem, 30vw, 12rem);
    padding-top: clamp(9.5rem, 30vw, 12rem);
  }

  .if-rd-hero__title .elementor-heading-title {
    font-size: clamp(3.3rem, 16vw, 5rem);
  }

  .if-rd-actions,
  .if-rd-inline-actions {
    align-items: flex-start;
    flex-direction: column !important;
  }

  .elementor .if-service-sales .if-rd-actions,
  .elementor .if-service-sales .if-rd-inline-actions {
    --gap: 1rem;
    --row-gap: 1rem;
    gap: 1rem;
  }

  .if-rd-proof-line {
    align-items: flex-start;
    flex-direction: column;
  }

  .if-rd-commitments,
  .if-rd-difference-grid,
  .if-rd-trust-grid,
  .if-rd-example-grid,
  .if-rd-cost-list,
  .if-rd-engagement-list {
    grid-template-columns: 1fr;
  }

  .if-rd-trust-grid article,
  .if-rd-trust-grid article:first-child,
  .if-rd-trust-grid article:nth-child(3) {
    padding: 1.5rem 0;
    border-bottom: 1px solid var(--if-line);
    border-left: 0;
  }

  .if-rd-trust-grid article:last-child {
    border-bottom: 0;
  }

  .if-rd-commitments > div {
    padding: 1.35rem 0;
    margin: 0 !important;
    border-top: 1px solid var(--if-line);
    border-left: 0;
  }

  .if-rd-commitments > div:first-child {
    border-top: 0;
  }

  .if-rd-difference-grid article,
  .if-rd-difference-grid article:first-child,
  .if-rd-difference-grid article:nth-child(3) {
    padding: 1.75rem 0;
    margin: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    border-left: 0;
  }

  .if-rd-difference-grid article:first-child {
    border-top: 0;
  }

  .if-rd-difference-grid > article > .if-icon {
    margin-bottom: 1.25rem;
  }

  .if-rd-example-grid article,
  .if-rd-example-grid article:nth-child(2n),
  .if-rd-cost-list li,
  .if-rd-cost-list li:nth-child(2n),
  .if-rd-engagement-list article,
  .if-rd-engagement-list article:nth-child(2n) {
    min-height: 0;
    padding: 1.75rem 0;
    border-left: 0;
  }

  .if-rd-example-grid article > span {
    margin-bottom: 1.5rem;
  }

  .if-rd-cost-list li {
    grid-template-columns: 2.8rem 1fr;
  }

  .elementor .if-service-sales .if-rd-securd__visual {
    --min-height: 26rem;
    min-height: 26rem;
    height: 26rem;
  }

  .elementor .if-service-sales .if-rd-securd__image--technical {
    width: 95%;
  }

  .elementor .if-service-sales .if-rd-securd__image--financial {
    width: 54%;
    height: 38%;
    border-width: 0.4rem;
  }

  .if-rd-process-list li {
    gap: 0.65rem 1rem;
    grid-template-columns: 2.6rem 1fr;
  }

  .if-rd-process-list li > div {
    display: block;
  }

  .if-rd-process-list p {
    margin-top: 0.65rem;
  }

  .if-service-sales .if-rd-knowledge .if-rd-section__inner {
    --padding-top: 2rem;
    --padding-bottom: 2rem;
    padding-block: 2rem;
  }

  .if-service-sales .if-rd-consultation {
    --padding-top: 0px;
    padding-top: 0;
  }

  .if-service-sales .if-rd-consultation .if-rd-section__inner {
    --padding-top: 2rem;
    --padding-right: 1.5rem;
    --padding-bottom: 2rem;
    --padding-left: 1.5rem;
    padding: 2rem 1.5rem;
    border-radius: 1.5rem;
  }

  .if-rd-consultation__proof li {
    align-items: start;
    gap: 0.35rem 0.65rem;
    grid-template-columns: 1.35rem 1fr;
  }

  .if-rd-consultation__proof span:last-child {
    grid-column: 2;
  }
}

@media (max-width: 390px) {
  .if-rd-cost-list li {
    grid-template-columns: 1fr;
  }

  .if-rd-cost-list .if-icon {
    width: 2.5rem;
    height: 2.5rem;
  }
}

/* Ireland-only additions: the approved UK presentation is left unchanged. */
.elementor .if-ie-sales .if-rd-hero__title .elementor-heading-title {
  max-width: 21ch;
  font-size: clamp(3.25rem, 4.8vw, 4.75rem);
  text-wrap: balance;
}

.elementor .if-ie-sales .if-ie-related-grid {
  --display: grid;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2.5rem 4rem;
  padding: 0;
}

.elementor .if-ie-sales .if-ie-related-service {
  --padding-top: 1.5rem;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  padding: 1.5rem 0 0;
  gap: 1rem;
  min-width: 0;
  border: 0;
  border-top: 1px solid var(--if-line, #ddd5e6);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.elementor .if-ie-sales .if-ie-related-service h3 {
  font-size: clamp(1.375rem, 1.8vw, 1.75rem);
  line-height: 1.2;
}

.elementor .if-ie-sales .if-ie-related-service .elementor-widget-button {
  margin-top: auto;
}

.elementor .if-ie-sales .if-ie-related-service .elementor-button-text {
  white-space: normal;
  text-align: start;
}

.elementor .if-ie-sales .if-ie-service-sources {
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid var(--if-line, #ddd5e6);
  font-size: 1rem;
  line-height: 1.65;
}

.elementor .if-ie-sales .if-ie-service-sources a {
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

@media (max-width: 767px) {
  .elementor .if-ie-sales .if-rd-hero__title .elementor-heading-title {
    font-size: clamp(2.5rem, 9.5vw, 3.5rem);
    max-width: 21ch;
  }
  .elementor .if-ie-sales .if-ie-related-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .if-service-sales *,
  .if-service-sales *::before,
  .if-service-sales *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
