/* Editable landing-page compositions. Shared content widgets retain their data sources. */
.elementor .e-con.if-group-gateway {
  color: #fff;
  background: radial-gradient(ellipse at 80% 55%,rgba(142,68,160,.3),transparent 57%),linear-gradient(120deg,var(--if-deep),var(--if-indigo));
  padding: clamp(10rem,13vw,13rem) 0 4rem;
  --gap: 0;
}
.elementor .e-con.if-group-gateway__inner { display: grid; grid-template-columns: minmax(0,1.12fr) minmax(0,1fr); align-items: center; gap: clamp(2.5rem,6vw,6rem); }
.elementor .e-con.if-group-gateway__copy { gap: 1.5rem; padding: 0; }
.elementor .if-group-gateway .if-eyebrow { margin: 0; }
.elementor .if-group-gateway__title h1 { color: #fff; font-size: clamp(3rem,5.35vw,6rem); line-height: 1.04; letter-spacing: -.055em; font-weight: 540; margin: 0; }
.elementor .if-group-gateway__title em { font-style: normal; color: var(--if-lilac); }
.elementor .if-group-gateway__intro { max-width: 35rem; color: rgba(255,255,255,.8); font-size: 1.15rem; line-height: 1.65; }
.elementor .if-group-gateway__intro p { margin: 0; }
.elementor .e-con.if-group-gateway__choices { padding: 0; gap: .9rem; }
.elementor .if-group-gateway__prompt p { color: #fff; font-size: 1rem; letter-spacing: 0; line-height: 1.5; font-weight: 500; }
.elementor a.e-con.if-market-choice { position: relative; display: grid; grid-template-columns: 2.1rem minmax(0,1fr); align-items: center; gap: .65rem 1rem; padding: 1.45rem 1.65rem; color: var(--if-ink); background: #fff; border: 1px solid rgba(255,255,255,.7); border-radius: 1.1rem; text-decoration: none; transition: border-color 180ms ease,background 180ms ease,transform 180ms ease; }
.elementor .if-market-choice__flag { grid-column: 1; grid-row: 1; width: 2.1rem; }
.elementor .if-market-choice__flag img { width: 2.1rem; height: 2.1rem; object-fit: contain; }
.elementor .if-market-choice__title { grid-column: 2; grid-row: 1; }
.elementor .if-market-choice__title h2 { color: var(--if-indigo); font-size: 1.55rem; font-weight: 550; line-height: 1.15; letter-spacing: -.035em; }
.elementor .if-market-choice__description { grid-column: 1 / -1; font-size: .91rem; line-height: 1.5; color: var(--if-muted); }
.elementor .if-market-choice__description p { margin: 0; }
.elementor .if-market-choice__action { grid-column: 1 / -1; margin-top: .2rem; }
.elementor .if-market-choice__action p { display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: var(--if-violet); font-family: Montserrat,Arial,sans-serif; font-size: .7rem; font-weight: 650; line-height: 1.45; letter-spacing: .03em; text-transform: uppercase; }
.elementor .if-market-choice__action .if-icon { font-size: 1.3rem; transition: transform 180ms ease; }
.elementor a.e-con.if-market-choice:hover { background: #f8f2fb; border-color: var(--if-lilac); transform: translateY(-2px); }
.elementor a.e-con.if-market-choice:hover .if-icon { transform: translateX(3px); }
.elementor a.e-con.if-market-choice:focus-visible { outline: 3px solid var(--if-lilac); outline-offset: 5px; }
.elementor .if-group-gateway__hint { color: rgba(255,255,255,.65); font-size: .75rem; line-height: 1.55; }
.elementor .if-group-gateway__hint p { margin: .15rem 0 0; }
.elementor .e-con.if-market-section__inner { padding: 0; gap: 1.25rem; }
.elementor .elementor-element.if-market-section__intro { max-width: 49rem; font-size: 1.05rem; line-height: 1.7; }
.elementor .if-market-section__intro p { margin: 0; }
.elementor .if-group-expertise { background: #fff; }
.elementor .if-group-expertise .if-eyebrow { margin-bottom: 0; }
.elementor .e-con.if-group-expertise__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 2rem; padding: 0; margin-top: 1.5rem; }
.elementor .e-con.if-group-expertise__item { border-top: 1px solid var(--if-line); padding: 1.5rem 0 0; gap: 1rem; }
.elementor .if-group-expertise__item h3 { font-size: 1.5rem; line-height: 1.2; letter-spacing: -.035em; font-weight: 550; }
.elementor .if-group-expertise__item p { font-size: .95rem; margin: 0; }
.elementor .if-group-people { background: var(--if-pale,#f6f0f8); }
.elementor .if-group-people .ifx-expert-grid { display: grid; grid-template-columns: minmax(0,.78fr) minmax(0,1.22fr); gap: clamp(2rem,5vw,5rem); align-items: start; }
.elementor .if-group-people .ifx-expert-grid__header { display: block; padding: 0; margin: 0; }
.elementor .if-group-people .ifx-expert-grid__header h2 { font-size: var(--if-type-section); line-height: 1.06; letter-spacing: -.05em; font-weight: 540; }
.elementor .if-group-people .ifx-expert-grid__intro { margin-top: 1.5rem; font-size: 1.05rem; }
.elementor .if-group-people .ifx-expert-grid__rail { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); grid-auto-flow: row; grid-auto-columns: auto; gap: 1.5rem; overflow: visible; padding: 0; scroll-snap-type: none; }
.elementor .if-group-people .ifx-expert-grid__controls { display: none; }
.elementor .if-group-people .ifx-expert-card__media { aspect-ratio: .87; }
.elementor .if-group-people .ifx-expert-card__body h3 { font-size: 1.5rem; }
.elementor .if-group-close { text-align: center; background: #fff; }
.elementor .if-group-close .if-market-section__inner { align-items: center; }
.elementor .if-group-close h2 { max-width: none; }
.elementor .if-group-close .if-eyebrow { margin: 0; }
.elementor .e-con.if-group-close__actions { flex-direction: row; width: auto; padding: 0; flex-wrap: wrap; justify-content: center; gap: 1rem; }
.elementor .if-group-close__actions .elementor-widget-button.if-home-text-link .elementor-button { background: var(--if-indigo); color: #fff; border: 1px solid var(--if-indigo); padding: 1rem 1.4rem; }
.elementor .if-group-close__actions .elementor-widget-button.if-home-text-link .elementor-button:hover { background: var(--if-violet); border-color: var(--if-violet); color: #fff; }
.if-group-footer__main { position: relative; display: grid; grid-template-columns: minmax(0,1.3fr) repeat(2,minmax(0,1fr)); gap: 4rem; padding-block: 4rem; }
.if-group-footer .if-site-footer__brand p { margin-top: 1.8rem; max-width: 25rem; }
.if-group-footer__market { display: flex; flex-direction: column; align-items: flex-start; gap: 1rem; }
.if-site-footer.if-group-footer .if-group-footer__market a { display: inline-flex; align-items: center; gap: .8rem; color: rgba(255,255,255,.85); }
.if-site-footer.if-group-footer .if-group-footer__market a:is(:hover,:focus-visible) { color: var(--if-lilac); text-decoration: underline; text-underline-offset: .3em; }
.if-site-footer.if-group-footer .if-footer-social .if-menu--social a { color: var(--if-lilac); }
.if-site-footer.if-group-footer .if-footer-social .if-menu--social a:is(:hover,:focus-visible) { color: #fff; border-color: var(--if-lilac); }
.if-site-footer.if-group-footer a:focus-visible { outline: 2px solid var(--if-lilac); outline-offset: 4px; }
.if-landing-group .if-menu--primary > .current-menu-item > a[href*="#"]:not(:hover):not(:focus-visible)::after { transform: scaleX(0); }
.if-group-footer__market .if-footer-heading { width: 100%; margin-bottom: .25rem; }

/* Local homes share the design, not a mechanically swapped country name. */
:is(.if-landing-uk,.if-landing-ie) .elementor .elementor-element.e-con.if-home-hero .ifx-hero { min-height: 0; padding-top: clamp(10rem,13vw,13rem); padding-bottom: 4rem; }
:is(.if-landing-uk,.if-landing-ie) .elementor .ifx-hero__title { font-size: clamp(3rem,5vw,5.5rem); max-width: 20ch; }
.if-landing-ie .elementor .if-home-refined .ifx-hero__proof-value { font-size: 2.75rem; letter-spacing: -.04em; }
.elementor .if-market-services .if-eyebrow { margin-bottom: 0; }
.elementor .if-market-services .e-con.if-market-service-grid { display: grid; padding: 0; margin-top: 1rem; }
.elementor .if-home-refined.if-market-services a.e-con.if-market-service { display: flex; flex-direction: column; gap: 1rem; min-height: 19rem; padding: 2rem; text-decoration: none; color: var(--if-ink); }
.elementor .if-market-service__title h3 { font-size: 1.65rem; font-weight: 550; letter-spacing: -.04em; line-height: 1.13; color: inherit; }
.elementor .if-market-service__copy p { margin: 0; font-size: .95rem; line-height: 1.65; color: var(--if-muted); }
.elementor .if-market-service__link { margin-top: auto; padding-top: 1rem; }
.elementor .if-market-service__link p { display: flex; gap: 1rem; align-items: center; justify-content: space-between; color: var(--if-violet); font: 650 .72rem/1.5 Montserrat,Arial,sans-serif; text-transform: uppercase; letter-spacing: .04em; }
.elementor .if-home-refined.if-market-services a.e-con.if-market-service:first-child { color: #fff; }
.elementor .if-market-service:first-child .if-market-service__copy p { color: rgba(255,255,255,.8); }
.elementor .if-market-service:first-child .if-market-service__link p { color: var(--if-lilac); }
.elementor .if-market-service:hover .if-market-service__link p { text-decoration: underline; text-underline-offset: .3em; }
.elementor .if-market-service:first-child:focus-visible { outline-color: var(--if-violet); }
.if-landing-ie .elementor .if-market-service:first-child { grid-column: span 2; }
:is(.if-landing-uk,.if-landing-ie) .elementor .if-home-split__intro p + p { margin-top: 1rem; }

@media (max-width:1100px) {
  .elementor .e-con.if-group-gateway__inner { gap: 2.5rem; }
  .elementor .e-con.if-group-expertise__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .elementor .if-group-people .ifx-expert-grid { grid-template-columns: minmax(0,1fr); }
  .elementor .if-group-people .ifx-expert-grid__header { max-width: 48rem; }
  .if-group-footer__main { gap: 2rem; }
}
@media (max-width:767px) {
  .elementor .e-con.if-group-gateway { padding: 6.4rem 0 2.5rem; }
  .elementor .e-con.if-group-gateway__inner { grid-template-columns: minmax(0,1fr); gap: 1.6rem; }
  .elementor .e-con.if-group-gateway__copy { gap: 1rem; }
  .elementor .if-group-gateway__title h1 { font-size: clamp(2.2rem,9.7vw,3.7rem); }
  .elementor .if-group-gateway__intro { font-size: .95rem; line-height: 1.6; }
  .elementor .if-group-gateway__prompt p { font-size: .85rem; }
  .elementor a.e-con.if-market-choice { padding: 1.1rem 1.25rem; gap: .55rem .8rem; }
  .elementor .if-market-choice__title h2 { font-size: 1.4rem; }
  .elementor .if-market-choice__description { font-size: .8rem; }
  .elementor .if-market-choice__action p { font-size: .65rem; }
  .elementor .if-group-gateway__hint { font-size: .7rem; }
  .elementor .e-con.if-group-expertise__grid { grid-template-columns: minmax(0,1fr); gap: 1.75rem; }
  .elementor .if-group-people .ifx-expert-grid__rail { grid-template-columns: minmax(0,1fr); gap: 2.5rem; }
  .elementor .if-group-people .ifx-expert-card__media { aspect-ratio: 1.05; }
  .elementor .if-group-close__actions .elementor-button { font-size: .72rem; }
  .if-group-footer__main { grid-template-columns: minmax(0,1fr); padding-block: 3rem; gap: 2.5rem; }
  :is(.if-landing-uk,.if-landing-ie) .elementor .elementor-element.e-con.if-home-hero .ifx-hero { padding-top: 7.25rem; padding-bottom: 3rem; }
  :is(.if-landing-uk,.if-landing-ie) .elementor .ifx-hero__title { font-size: clamp(2.4rem,10vw,4rem); }
  .if-landing-ie .elementor .if-home-refined .ifx-hero__proof { display: block; }
  .if-landing-ie .elementor .ifx-hero__proof-label { margin-top: .7rem !important; }
  .elementor .if-home-refined.if-market-services a.e-con.if-market-service { min-height: 0; grid-column: auto; padding: 1.5rem; }
  .elementor .if-market-service__link { padding-top: .5rem; }
}
@media (prefers-reduced-motion: reduce) {
  .elementor a.e-con.if-market-choice, .elementor .if-market-choice__action .if-icon { transition: none; }
}
