/* Home revision, 20 October 2026. Keep the original Webflow components. */
/* Shared CTA styling, retained after removing the hero booking button. */
.hero_cta_button {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 14px 28px;
    border-radius: 999px;
    background: rgba(244, 241, 236, 0.92);
    color: #111111;
    text-decoration: none;
    overflow: visible;
    z-index: 20;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    transition:
      transform 180ms ease,
      background-color 180ms ease,
      box-shadow 180ms ease;
  }
  .hero_cta_button::before {
    content: "";
    position: absolute;
    left: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 58%;
    height: 42px;
    border-radius: 999px;
    background: #D59FFF;
    opacity: 0.42;
    filter: blur(13px);
    z-index: -1;
    pointer-events: none;
    transition:
      opacity 180ms ease,
      filter 180ms ease,
      transform 180ms ease;
  }
  .hero_cta_button::after {
    content: "";
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 58%;
    height: 42px;
    border-radius: 999px;
    background: #75D7F5;
    opacity: 0.38;
    filter: blur(13px);
    z-index: -1;
    pointer-events: none;
    transition:
      opacity 180ms ease,
      filter 180ms ease,
      transform 180ms ease;
  }
  .hero_cta_button:hover {
    transform: translateY(-1px);
    background: rgba(255, 255, 255, 0.98);
    box-shadow:
      0 0 18px rgba(255, 255, 255, 0.35),
      0 0 34px rgba(213, 159, 255, 0.42),
      0 0 48px rgba(117, 215, 245, 0.34);
  }
  .hero_cta_button:hover::before {
    opacity: 0.75;
    filter: blur(18px);
    transform: translateY(-50%) scale(1.18);
  }
  .hero_cta_button:hover::after {
    opacity: 0.70;
    filter: blur(18px);
    transform: translateY(-50%) scale(1.18);
  }
  .hero_cta_text {
    position: relative;
    z-index: 1;
    font-size: clamp(1.125rem, 1rem + .2vw, 1.25rem);
    line-height: 1;
    font-weight: 500;
    color: inherit;
    pointer-events: none;
    white-space: nowrap;
    letter-spacing: 0;
    -webkit-font-smoothing: antialiased;
    text-rendering: geometricPrecision;
  }

.main_hero_contain.u-container {
  padding-top: calc(var(--_spacing---section-space--xlarge) - clamp(1rem, 2vw, 2rem));
}
.main_hero_layout .main_hero_visual_wrap {
  margin-top: calc(50px - clamp(2rem, 4vw, 4rem));
}
/* Home content CTAs only: the header CTA keeps the size used on every page. */
.page_main .button_main_text { font-size: clamp(1.125rem, 1rem + .2vw, 1.25rem); }
.main_hero_subheading { text-transform: none; }
.main_hero_subheading .abila-pencil {
  display: inline-block;
  padding-bottom: .12em;
  color: #fff;
  -webkit-text-fill-color: currentColor;
  font-weight: 500;
  background: url("../images/abila-pencil-underline.svg") center bottom / 100% .14em no-repeat;
}
.main_hero_subheading a.abila-pencil { text-decoration: none; border-radius: .15em; }
.main_hero_subheading a.abila-pencil:focus-visible { outline: 2px solid #a8c9ff; outline-offset: .15em; }
.abila-brush {
  display: inline;
  padding: .04em .24em .07em;
  color: #fff;
  font-weight: 500;
  background: url("../images/abila-brush.svg?v=20261020-5") center / 100% 100% no-repeat;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.overview_intro_copy { width: 100%; max-width: 86ch; margin-inline: auto; }
.page_main :is(.overview_intro_copy, .overview_service_copy) > p {
  margin: 0;
  font-size: var(--abila-section-copy-size);
  line-height: 1.65;
  text-wrap: pretty;
}
.page_main .overview_intro_copy > p + p { margin-top: 1em; }
.page_main .overview_intro_copy > p:first-child + p { margin-top: 1.75em; }
.overview_service_actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 1rem; width: 100%; margin-block: 1.5rem 2.75rem; }
.overview_service_cta {
  align-self: center;
  flex: none;
  width: auto !important;
  max-width: calc(100% - 1rem);
  margin: 0;
  padding: 1rem 1.8rem;
}
.overview_service_cta .hero_cta_text { white-space: normal; text-align: center; line-height: 1.35; }
/* Full-width paragraphs retain their own centred service link. */
.overview_service_blocks { display: flex; flex-direction: column; gap: 3rem; width: 100%; max-width: 86ch; margin: 0 auto 2.75rem; text-align: center; }
.overview_service_block { display: flex; flex-direction: column; align-items: center; gap: 1.75rem; min-width: 0; width: 100%; }
.overview_service_copy { width: 100%; }
.overview_service_block > .overview_service_cta { align-self: center; max-width: 100%; }
.method_home_intro_heading { max-width: 34ch; margin-inline: auto; text-wrap: balance; }
.method_home_wrap { overflow-x: clip; }
.home_ai_evidence {
  --home-ai-section-space: clamp(6rem, 18vw, 16rem);
  width: 100%;
  max-width: 76rem;
  margin: clamp(4rem, 8vw, 7rem) auto 0;
  font-size: clamp(1.125rem, .95rem + .35vw, 1.375rem);
  line-height: 1.65;
  color: #53535d;
}
.home_ai_evidence :is(h3, h4, p, figure, dl, dd) { margin: 0; }
.home_ai_evidence :is(h3, h4) { color: #20202a; font-weight: 500; }
.home_ai_evidence h3 { font-size: clamp(1.875rem, 1.3rem + 1.3vw, 3rem); line-height: 1.15; letter-spacing: -.035em; text-wrap: balance; }
.home_ai_evidence p { text-wrap: pretty; }
.home_ai_productivity { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; text-align: left; }
.home_ai_productivity_copy { min-width: 0; }
.home_ai_productivity_copy > h3 { max-width: 23ch; }
.home_ai_chart { min-width: 0; padding: 0; border: 0; border-radius: 0; background: none; }
.home_ai_chart_stats { display: grid; gap: 1.75rem; }
.home_ai_chart_stat { min-width: 0; }
.home_ai_chart_stat + .home_ai_chart_stat { padding-top: clamp(1.5rem, 3vw, 2rem); border-top: 1px solid #e3e3ed; }
.home_ai_chart_values { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .5rem 1.25rem; align-items: center; }
.home_ai_stat_value { display: block; width: fit-content; margin: 0 0 .75rem; font-size: clamp(2.25rem, 4.6vw, 4.5rem); font-weight: 500; line-height: 1.1; letter-spacing: -.045em; font-variant-numeric: lining-nums tabular-nums; color: #5055ba; background: linear-gradient(115deg, #4268ba, #6262c6 55%, #966ac8); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.home_ai_stat_value > span { font-size: .65em; margin-left: .03em; }
.home_ai_chart .home_ai_stat_value { margin: 0; font-size: clamp(3.5rem, 5.4vw, 5rem); }
.home_ai_chart_description { font-size: clamp(1.125rem, 1rem + .45vw, 1.5rem); line-height: 1.5; text-wrap: pretty; }
.home_ai_chart_track { display: block; grid-column: 1 / -1; height: .5rem; margin-top: .25rem; overflow: hidden; border-radius: 1rem; background: #e9eaf2; }
.home_ai_chart_track > span { display: block; width: var(--home-ai-share); height: 100%; border-radius: inherit; background: linear-gradient(90deg, #7aa8e1, #8a70cd); }
.home_ai_chart_stat + .home_ai_chart_stat .home_ai_chart_track > span { background: linear-gradient(90deg, #7d80c9, #a18ad7); }
.home_ai_barriers { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; margin-top: var(--home-ai-section-space); text-align: left; overflow-anchor: none; }
html.is-home-barrier-toggling, html.is-home-barrier-toggling body { overflow-anchor: none; }
.home_ai_barriers_header { min-width: 0; margin: 0; text-align: left; }
.home_ai_barriers_header > h3 { max-width: 23ch; }
.home_ai_barriers_header > .home_ai_failure_note { max-width: 43ch; margin: 1.5rem 0 0; color: #555563; font-size: clamp(1.125rem, 1rem + .25vw, 1.25rem); line-height: 1.6; text-wrap: pretty; }
.home_ai_failure_note > strong { color: #333342; font-weight: 500; }
.home_ai_barrier_grid { display: grid; position: relative; grid-template-columns: minmax(0, 1fr); justify-self: end; width: 100%; max-width: 34rem; min-width: 0; border-top: 1px solid #e3e3ed; text-align: left; }
/* A flexible brace groups the four reasons, including an expanded explanation. */
.home_ai_barrier_grid::before {
  content: ""; position: absolute; inset-block: 0; right: calc(100% + 1rem); width: clamp(1.25rem, 2vw, 2rem);
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 240' preserveAspectRatio='none'%3E%3Cpath d='M34 1C20 1 20 17 20 32V88C20 108 13 120 2 120C13 120 20 132 20 152V208C20 223 20 239 34 239' fill='none' stroke='%23b5aad5' stroke-width='1.5' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
  pointer-events: none;
}
.home_ai_barrier { min-width: 0; padding: 0; border: 0; border-bottom: 1px solid #e3e3ed; border-radius: 0; background: none; }
.home_ai_barrier.is-animating { box-sizing: border-box; overflow: clip; will-change: height; }
.home_ai_barrier_toggle { display: block; padding: 1.125rem .25rem; list-style: none; cursor: pointer; border-radius: .5rem; transition: background-color .18s ease; }
.home_ai_barrier_toggle::-webkit-details-marker { display: none; }
.home_ai_barrier_toggle::marker { content: ""; }
.home_ai_barrier_toggle:hover { background-color: #7963c207; }
.home_ai_barrier_toggle:focus-visible { outline: 2px solid #7963c2; outline-offset: 4px; }
.home_ai_barrier_toggle > .home_ai_barrier_title { display: flex; align-items: center; gap: .875rem; min-width: 0; font-size: clamp(1.25rem, 1.1rem + .35vw, 1.5rem); font-weight: 400; line-height: 1.3; letter-spacing: -.02em; white-space: nowrap; }
.home_ai_barrier_icon { display: grid; place-items: center; flex: none; width: 2.25rem; height: 2.25rem; border: 1px solid #e4dff3; border-radius: 50%; background: #fff; color: #7963c2; }
.home_ai_barrier_icon > svg { width: 1.25rem; height: 1.25rem; }
.home_ai_barrier_chevron { flex: none; width: .625rem; height: .625rem; margin: -.3rem .5rem 0 auto; border-right: 1.5px solid #79758c; border-bottom: 1.5px solid #79758c; transform: rotate(45deg); transition: transform .2s ease; }
.home_ai_barrier[open] .home_ai_barrier_chevron { transform: translateY(.3rem) rotate(225deg); }
.home_ai_barrier[open] .home_ai_barrier_title { color: #6555a2; }
.home_ai_barrier_content { display: grid; gap: .75rem; padding: 0 .75rem 1.25rem 3.375rem; }
.home_ai_barrier_content > .home_ai_stat_value { margin: 0; font-size: clamp(2.5rem, 4.3vw, 4rem); white-space: nowrap; }
.home_ai_barrier_content > .home_ai_barrier_statement { color: #333342; font-size: clamp(1.25rem, 1rem + .4vw, 1.5rem); line-height: 1.3; letter-spacing: -.025em; }
.home_ai_barrier_content > p[data-abila-type="body"] { font-size: clamp(1rem, .95rem + .2vw, 1.125rem) !important; line-height: 1.6 !important; }
@media (prefers-reduced-motion: reduce) {
  .home_ai_barrier_toggle, .home_ai_barrier_chevron { transition: none; }
}
.home_ai_takeaway { display: grid; grid-template-columns: minmax(0, 1fr); justify-items: center; gap: clamp(1.75rem, 3vw, 2.5rem); margin-top: var(--home-ai-section-space); padding-block: clamp(4rem, 7vw, 6rem); border-block: 1px solid #e3e4ed; text-align: center; }
.home_ai_takeaway_copy, .home_ai_measurement { min-width: 0; }
.home_ai_takeaway h3 { max-width: 30ch; margin-inline: auto; font-size: var(--_typography---font-size--h2); line-height: 1.12; }
.home_ai_audit_cta { margin-top: .25rem; max-width: 100%; color: #111; }
.home_ai_audit_cta .hero_cta_text { white-space: normal; text-align: center; line-height: 1.35; }
.home_ai_takeaway .home_ai_audit_cta[data-abila-button-theme] { background: linear-gradient(110deg, #e7d8ef, #d1e7ec) !important; color: #111 !important; }
.home_ai_takeaway .home_ai_audit_cta[data-abila-button-theme]:is(:hover, :focus-visible) { background: #111 !important; color: #fff !important; }
.home_ai_takeaway h3 .abila-brush { color: inherit; font-weight: inherit; }
.home_ai_measurement { width: 100%; max-width: 52ch; }
.home_ai_measurement .home_ai_inline_metric { display: inline-block; width: auto; margin: 0 .04em; font-size: clamp(3.5rem, 5.4vw, 5rem); line-height: 1; vertical-align: -.08em; white-space: nowrap; }
.home_ai_measurement > p:last-child { margin-inline: auto; font-size: clamp(1.125rem, 1rem + .45vw, 1.5rem); line-height: 1.6; }
.method_home_header > .home_ai_bridge { max-width: 26ch; margin: clamp(7rem, 14vw, 11rem) auto clamp(2rem, 4vw, 3rem); font-size: var(--_typography---font-size--h2); font-weight: 500; line-height: 1.12; letter-spacing: -.04em; text-wrap: balance; color: #242432; }
.home_ai_ref { font-size: .65em; margin-left: .2em; }
.home_ai_ref a { color: inherit; text-decoration: underline; text-underline-offset: .15em; }
.home_ai_source_wrap { display: flex; align-items: baseline; flex-wrap: wrap; gap: .25rem 1rem; margin-top: 1rem; text-align: left; }
.home_ai_source_label { color: #4b4b59; font-size: .75rem; font-weight: 400; }
.home_ai_source { display: flex; align-items: baseline; flex-wrap: wrap; gap: .25rem 1rem; max-width: none; margin: 0 !important; font-size: .75rem; line-height: 1.5; color: #696977; }
.home_ai_source > span { display: inline; scroll-margin-top: 8rem; white-space: nowrap; }
.home_ai_source a { color: inherit; text-underline-offset: .22em; }
@media (max-width: 1099px) {
  .home_ai_barrier_content > .home_ai_stat_value { font-size: clamp(2.5rem, 5vw, 3.5rem); }
}
@media (max-width: 899px) {
  .home_ai_productivity { grid-template-columns: minmax(0, 1fr); gap: 2rem; }
  .home_ai_productivity_copy > h3 { max-width: 40ch; }
  .home_ai_barriers { grid-template-columns: minmax(0, 1fr); gap: 2.5rem; }
  .home_ai_barriers_header > h3 { max-width: 40ch; }
  .home_ai_barrier_grid { max-width: none; }
  .home_ai_barrier_grid::before { display: none; }
}
@media (max-width: 479px) {
  .home_ai_chart_values { grid-template-columns: minmax(0, 1fr); gap: .375rem; }
}
/* Keep the large illustration above the copy at every bento breakpoint. */
.method_home_wrap .home_problem_puzzle.main_service_content_wrap { display: grid; width: 100%; grid-template-columns: repeat(11, minmax(0, 1fr)); grid-template-rows: none; grid-auto-rows: 1fr; gap: 1.25rem; align-items: stretch; }
.method_home_wrap .home_problem_puzzle > .main_service_item { display: grid; grid-column: span 5; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto 1fr; min-width: 0; height: auto; align-self: stretch; }
/* Override the older start-aligned cards; only their column spans differ. */
.method_home_wrap .home_problem_puzzle.main_service_content_wrap > .main_service_item:nth-child(n) { height: 100%; align-self: stretch; }
.method_home_wrap .home_problem_puzzle > .main_service_item:is(:first-child, :last-child) { grid-column: span 6; }
.method_home_wrap .home_problem_puzzle > .main_service_item .main_service_item_visual_wrap { display: block; position: relative; grid-column: 1; grid-row: 1; flex: none; width: 100%; min-width: 0; height: clamp(14rem, 27vw, 24rem); min-height: 0; aspect-ratio: auto; overflow: hidden; -webkit-mask-image: none; mask-image: none; }
.method_home_wrap .home_problem_puzzle > .main_service_item .main_service_item_visual_wrap::after { display: none; }
.method_home_wrap .home_problem_puzzle.main_service_content_wrap > .main_service_item:nth-child(n) .main_service_item_visual_wrap { flex: none; width: 100%; min-width: 0; -webkit-mask-image: none; mask-image: none; }
.method_home_wrap .home_problem_puzzle > .main_service_item .main_service_item_content_wrap { grid-column: 1; grid-row: 2; flex: none; width: 100%; min-width: 0; height: auto; padding: clamp(1.25rem, 2vw, 2rem); text-align: left; }
.home_problem_puzzle .main_service_item_visual_wrap > :is(img, video, svg, object) { display: block; position: relative; width: 100%; height: 100%; min-width: 0; object-fit: contain; }
.home_problem_puzzle .main_service_item_visual_wrap > .home_problem_image { position: absolute; inset: 0; object-fit: contain; }
.home_problem_puzzle .main_service_item_btn_wrap:empty { display: none; }
.home_solutions_section .home_funding_card { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1.5rem, 4vw, 4rem); width: 100%; margin-top: 1.25rem; padding: clamp(1.25rem, 3vw, 3rem); text-align: left; }
.home_funding_intro { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 1.5rem; min-width: 0; }
.home_funding_visual { display: flex; align-items: center; justify-content: center; min-width: 0; }
.home_funding_visual img { display: block; width: 100%; max-width: 30rem; height: auto; object-fit: contain; }
.home_funding_card :is(h3, p) { margin: 0; }
.home_funding_card .hero_cta_button { max-width: 100%; margin-top: .25rem; }
.home_funding_card .hero_cta_text { white-space: normal; text-align: center; }
@media (max-width: 699px) {
  .home_solutions_section .home_funding_card { grid-template-columns: minmax(0, 1fr); }
  .home_funding_visual { grid-row: 1; }
  .method_home_wrap .home_problem_puzzle.main_service_content_wrap { grid-template-columns: minmax(0, 1fr); }
  .method_home_wrap .home_problem_puzzle > .main_service_item,
  .method_home_wrap .home_problem_puzzle > .main_service_item:is(:first-child, :last-child) { grid-column: 1 / -1; }
}
.home_services_heading { text-align: center; margin: 0 auto 2rem; max-width: 64rem; }
.home_services_heading h2 { max-width:26ch; margin-inline:auto; }
#servizi-ai { scroll-margin-top:8rem; }
#contatti { scroll-margin-top: 6rem; }
.service_slide .method_slide_visual {
  position: relative;
  aspect-ratio: 16 / 9;
  border: 1px solid #d9dbeb;
  border-radius: 1.5rem;
  overflow: hidden;
  background: #f5f5f7;
}
.service_slide .method_slide_visual video { width: 100%; height: 100%; object-fit: cover; }
.service_slide .method_slide_visual > .home_service_visual { display: block; position: absolute; inset: 0; width: 100%; height: 100%; padding: .75rem; object-fit: contain; }
.service_slide_content { display: flex; flex-direction: column; gap: clamp(1.25rem, 2vw, 1.75rem); padding: 1.75rem 1rem 0; }
.service_slide_heading { font-size: var(--_typography---font-size--h4); font-weight: 400; line-height: 1.2; margin: 0; }
.service_slide_heading .abila-brush { color: inherit; font-weight: inherit; }
.service_slide_index { color: #7775bd; font-variant-numeric: tabular-nums; }
.service_slide_content .method_slide_text { margin: 0; max-width: 54ch; }
.service_slide_cta {
  gap: .75rem;
  align-self: flex-start;
  min-height: 56px;
  margin-top: .5rem;
  padding: 1rem 1.5rem;
  border: 1px solid #d9dbeb;
  font-size: clamp(1.125rem, 1rem + .2vw, 1.25rem);
  font-weight: 500;
}
.service_slide_cta .hero_cta_text { white-space: normal; line-height: 1.25; }
.service_slide_cta_arrow { flex: none; font-size: 1.25em; line-height: 1; }
.home_problem_puzzle .main_service_item_btn_wrap { margin-top: auto; }
.home_problem_cta {
  max-width: 100%;
  padding: .9rem 1.25rem;
}
.home_problem_cta .hero_cta_text {
  min-width: 0;
  white-space: normal;
  line-height: 1.25;
  text-align: center;
}
.swiper-initialized .service_slide_content { transition: opacity .4s, transform .4s; }
.swiper-initialized .service_slide:not(.swiper-slide-active) .service_slide_content { opacity: 0; transform: translateY(1rem); pointer-events: none; }
.service_slide_cta:focus-visible { outline: 2px solid #7278df; outline-offset: 4px; }
/* Vertical page scrolling drives this finite horizontal sequence. */
.method_home_wrap .home_services_scroll { display: block; padding: 0; position: relative; margin-top: clamp(4rem, 8vw, 8rem); }
.home_services_pin { width: 100%; }
.home_services_scroll .method_home_slider_comp { grid-column: auto; position: relative; height: auto; width: 100%; }
.home_services_scroll .swiper-wrapper.is-method { display: grid; gap: 3rem; transform: none; }
.home_services_scroll:not(.is-scroll-driven) .swiper-wrapper.is-method { max-width: 44rem; margin-inline: auto; }
.home_services_scroll .service_slide { width: 100%; height: auto; }
.home_services_scroll .method_slide_wrap { gap: 0; }
.home_services_scroll .method_slide_visual { height: auto; }
.home_services_scroll.is-scroll-driven .home_services_pin { position: sticky; top: var(--home-services-top); }
.home_services_scroll.is-scroll-driven .swiper-wrapper.is-method {
  display: flex;
  flex-direction: row !important;
  align-items: stretch;
  gap: clamp(1.5rem, 4vw, 3rem);
  width: max-content;
  padding-inline: var(--home-services-inset, 0px);
  padding-block: 1rem 5rem;
  box-sizing: border-box;
  transform: translate3d(var(--home-services-x, 0px), 0, 0);
  transition: none;
  will-change: transform;
}
.home_services_scroll.is-scroll-driven .service_slide { flex: 0 0 var(--home-service-card-width); width: var(--home-service-card-width); }
.home_services_scroll.is-scroll-driven .method_slide_wrap {
  height: 100%;
  transform-origin: center bottom;
  transform: translateY(var(--home-service-drop, 0px)) rotate(var(--home-service-angle, 0deg));
  transition: none;
  will-change: transform;
}
.home_services_scroll.is-scroll-driven .service_slide_content { flex: 1; }
.home_services_scroll.is-scroll-driven .service_slide_cta { margin-top: auto; }
.home_services_scroll.is-height-constrained .method_slide_wrap { height: var(--home-service-card-height); }
.home_services_scroll.is-height-constrained .service_slide_content { flex: none; }
.work_item_content_title em { font-style: italic; }
.work_item_icon_rive .work_funding_icon { width: 100%; height: 100%; object-fit: contain; }
.work_funding_icon :is(.work_funding_orb, .work_funding_symbol) { transform-box: fill-box; transform-origin: center; }
[data-funding-entrance].is-funding-pending :is(.work_funding_orb, .work_funding_symbol) { opacity: 0; }
[data-funding-entrance].is-funding-entering .work_funding_orb { animation: workFundingOrbEnter .5s cubic-bezier(.16, 1, .3, 1) both; }
[data-funding-entrance].is-funding-entering .work_funding_symbol { animation: workFundingSymbolEnter .8s cubic-bezier(.2, .8, .2, 1) .4s both; }
@keyframes workFundingOrbEnter {
  from { opacity: 0; transform: scale(.5); }
  to { opacity: 1; transform: scale(1); }
}
@keyframes workFundingSymbolEnter {
  from { opacity: 0; transform: scale(.4) rotate(-45deg); }
  to { opacity: 1; transform: scale(1) rotate(0); }
}
@media (prefers-reduced-motion: reduce) {
  [data-funding-entrance] :is(.work_funding_orb, .work_funding_symbol) { animation: none !important; opacity: 1 !important; transform: none !important; }
}
#perche-abila .work_item { display: flex; flex-direction: column; min-width: 0; }
#perche-abila .work_contain { min-height: 0; }
#perche-abila .work_layout { justify-content: flex-start; gap: clamp(2.5rem, 6vw, 5rem); }
#perche-abila .work_heading { line-height: 1.15; padding-bottom: .18em; }
#perche-abila .work_item_content_wrap { flex: 1; width: 100%; }
#perche-abila .work_item_content_wrap > .work_card_cta { align-self: center; flex: none; width: fit-content; max-width: 100%; margin-top: auto; padding: .8rem 1.35rem; }
.work_card_cta .hero_cta_text { white-space: normal; text-align: center; line-height: 1.35; }

/* The three small widgets share the original frosted-glass treatment. */
.hero-widget { color: #f8f8ff; font-family: inherit; background: linear-gradient(135deg, #5652864d, #b1caef24 58%, #b7e7eb3b); border: 1px solid #d7dcff24; box-shadow: inset 0 1px 0 #ffffff1c, 0 8px 30px #080c2930; }
.hero-security { padding: .9rem 1rem; position: relative; }
.hero-widget-label { font-size: .68rem; letter-spacing: .015em; line-height: 1.35; }
.security-heading { position: relative; height: 1.2rem; margin-bottom: .65rem; }
.security-heading span { position: absolute; inset: 0; }
.security-checking { animation: securityChecking 9s infinite; }
.security-safe { animation: securitySafe 9s infinite; color: #c1ffe3; }
.security-row { display: flex; align-items: center; gap: .6rem; margin-top: .6rem; }
.security-dot { display: grid; place-items: center; flex: 0 0 1.05rem; height: 1.05rem; border-radius: 50%; background: #94b6f840; color: #d5e4ff; font-size: .63rem; animation: securityDot 9s infinite; }
.security-row:nth-of-type(3) .security-dot { animation-delay: .45s; }
.security-row:nth-of-type(4) .security-dot { animation-delay: .9s; }
.security-row-line { height: .22rem; flex: 1; border-radius: 2rem; background: #afbbe333; overflow: hidden; }
.security-row-line::after { content: ""; display: block; height: 100%; background: linear-gradient(90deg, #76c6ed, #c0a4ff); transform-origin: left; animation: securityLine 9s infinite; }
.security-row:nth-of-type(3) .security-row-line::after { animation-delay: .45s; }
.security-row:nth-of-type(4) .security-row-line::after { animation-delay: .9s; }
.hero-roi { display: flex; align-items: center; gap: .6rem; padding: .75rem .8rem; }
.roi-badge { display: grid; place-items: center; flex: 0 0 1.75rem; height: 1.75rem; border-radius: 50%; color: white; background: linear-gradient(140deg,#777bfb,#84c9ed); box-shadow: 0 0 15px #8a9dff55; font-size: .6rem; }
.roi-copy { font-size: .65rem; line-height: 1.3; max-width: 8.5rem; }
.roi-trend { width: 2.75rem; height: 1.8rem; margin-left: auto; color: #b6f3eb; }
.roi-trend path { stroke-dasharray: 100; stroke-dashoffset: 100; animation: roiTrend 9s ease infinite; }
.main_hero_visual_status_wrap { top: 56%; left: -24%; }
.main_hero_visual_order_wrap { width: 16.5rem; height: 11.5rem; position: absolute; top: 0; left: -20%; border-radius: 18px; overflow: hidden; z-index: 1; backdrop-filter: blur(5px); }
/* Spread the left widgets out progressively as desktop space becomes available. */
@media (min-width: 1024px) {
  .main_hero_visual_order_wrap { top: clamp(1rem, 2vw, 2rem); left: calc(-20% - clamp(0rem, 6vw - 3.84rem, 3rem)); }
  .main_hero_visual_status_wrap { top: 52%; left: calc(-24% - clamp(0rem, 22vw - 14.08rem, 9rem)); }
}
.hero-order-header { font-size: .68rem; padding: .8rem 1rem 0; }
.hero-order-svg { display: block; width: 100%; height: calc(100% - 2rem); overflow: visible; }
.order-node { transform-box: fill-box; transform-origin: center; animation: orderNode 10s ease-in-out infinite; }
.order-chaos { animation: orderChaos 10s ease-in-out infinite; }
.order-channels { animation: orderChannels 10s ease-in-out infinite; }
.order-energy { stroke-dasharray: 5 80; animation: orderEnergy 10s linear infinite; }
.order-core { transform-box: fill-box; transform-origin: center; animation: orderCore 10s ease-in-out infinite; }
.is-motion-paused *, .is-motion-paused *::after { animation-play-state: paused !important; }
@keyframes securityChecking { 0%, 40% { opacity: 1; } 48%, 88% { opacity: 0; } 96%,100% { opacity: 1; } }
@keyframes securitySafe { 0%,40% { opacity:0; } 48%,88% { opacity:1; } 96%,100% { opacity:0; } }
@keyframes securityDot { 0%,15% { background:#94b6f840; color:#d5e4ff; } 45%,87% { background:#72c99d; color:#123c34; } 100% { background:#94b6f840; color:#d5e4ff; } }
@keyframes securityLine { 0%,10% { transform:scaleX(.1); opacity:.45; } 45%,87% { transform:scaleX(1); opacity:1; } 100% { transform:scaleX(.1); opacity:.45; } }
@keyframes roiTrend { 0%,10% { stroke-dashoffset:100; opacity:.2; } 48%,85% { stroke-dashoffset:0; opacity:1; } 100% { stroke-dashoffset:100; opacity:.2; } }
@keyframes orderNode { 0%,17%,100% { transform:translate(var(--chaos-x),var(--chaos-y)) rotate(var(--chaos-r)); } 43%,82% { transform:translate(0,0) rotate(0deg); } }
@keyframes orderChaos { 0%,16%,100% { opacity:.7; } 40%,84% { opacity:0; } }
@keyframes orderChannels { 0%,25%,100% { opacity:0; } 48%,82% { opacity:.8; } }
@keyframes orderEnergy { 0%,40% { opacity:0; stroke-dashoffset:85; } 48%,80% { opacity:1; } 82% { stroke-dashoffset:-85; } 90%,100% { opacity:0; stroke-dashoffset:-85; } }
@keyframes orderCore { 0%,18%,100% { opacity:.65; transform:scale(.9); } 42%,82% { opacity:1; transform:scale(1); } }
@media (max-width: 886px) {
  .swiper-wrapper.is-method { flex-direction:column !important; gap: 3rem; }
  .service_slide:first-of-type { order: 0 !important; }
  .service_slide_content { padding-inline: .25rem; }
  .method_slider_swipe { display:none; }
  .home_services_heading { margin-bottom:2rem; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-widget *, .hero-widget *::after { animation:none !important; }
  .security-checking, .order-chaos { opacity:0; }
  .security-safe, .order-channels, .order-core { opacity:1; }
  .order-node { transform:none; }
  .roi-trend path { stroke-dashoffset:0; }
}

/* The evidence ends with the site's existing divider; the next sections are black. */
.home_evidence_section .method_home_header { margin-bottom: 0; }
.home_evidence_section .home_ai_source_wrap { margin-bottom: 0; }
.home_solutions_section, #perche-abila.home_dark_work {
  --_theme---background: #000;
  --_theme---text: #f5f5f7;
  --_theme---text-faded: #b8b8c5;
  --_theme---border: #ffffff30;
  background-color: #000;
  background-image: none;
  color: #f5f5f7;
}
.home_solutions_section .method_home_header > .home_ai_bridge { margin-top: 0; color: #f5f5f7; }
:is(.home_solutions_section, .home_dark_work) .u-color-gradient-dark {
  background-image: linear-gradient(150deg, #fff 35%, #b5b6c5);
  -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
:is(.home_solutions_section, .home_dark_work) .u-color-faded { color: #b8b8c5; }
.home_solutions_section .main_service_item,
#perche-abila.home_dark_work .work_item {
  background: #10111bdd; border: 1px solid #ffffff26; box-shadow: none;
}
.home_solutions_section .service_slide .method_slide_wrap {
  --_theme---background: #fff;
  --_theme---text: #111;
  --_theme---text-faded: #555563;
  background: #fff;
  border: 1px solid #d9dbeb;
  border-radius: 1.5rem;
  overflow: hidden;
  color: #111;
}
.home_solutions_section .service_slide .method_slide_visual {
  background: #fff; border: 0; border-radius: 0;
}
.home_solutions_section .service_slide .service_slide_content { padding: 1.75rem 1.5rem 1.5rem; }
.home_solutions_section .service_slide .u-color-faded { color: #555563; }
.home_solutions_section .service_slide_index { color: #7775bd; }
.home_solutions_section .service_slide_heading .abila-brush { color: #111; }
/* Confine the glow to the illustration area: it fades before the card boundary. */
#perche-abila .work_item_visual_icon_wrap { box-shadow: inset 0 0 17px #e6e6f280; }
#perche-abila .work_item_visual_wrap {
  background: radial-gradient(ellipse at 50% 60%, #8a8cf02b 0%, #8a8cf014 30%, transparent 65%);
}
#perche-abila.home_dark_work .work_item_visual_bg { opacity: .13; }
#perche-abila.home_dark_work .work_item_content_title { color: #f5f5f7; }

/* Native page scrolling drives the same arc on desktop, tablet and phone. */
.home_services_scroll.is-scroll-driven .method_slide_visual {
  aspect-ratio: auto; height: var(--home-service-visual-height, clamp(8rem, 23vh, 16rem)); flex: none;
}
.home_services_scroll.is-scroll-driven .swiper-wrapper.is-method { padding-block: 1rem 2.5rem; }
.home_services_scroll.is-scroll-driven .service_slide_content { padding-top: 1.5rem; }
.home_services_scroll.is-scroll-driven .service_slide_cta { min-height: 48px; padding: .8rem 1.25rem; }
@media (max-width: 991px) {
  .home_solutions_section .method_home_slider_comp { overflow: visible; }
}
@media (max-width: 699px) {
  .home_services_scroll .home_services_heading { margin-bottom: 1rem; }
  .home_services_scroll.is-scroll-driven .swiper-wrapper.is-method { padding-block: .5rem 1.5rem; }
  .home_solutions_section .home_services_scroll .service_slide_content { gap: 1rem; padding: 1rem; }
  /* Smaller card copy on phones, so the illustration shrinks less to fit. */
  .page_main .home_services_scroll .method_slide_text { font-size: var(--_typography---font-size--text-main) !important; }
  /* Only the cards stay pinned; the heading scrolls away (see "phone" in abila-home.js). */
  .home_services_scroll.is-scroll-driven .home_services_pin { position: static; height: 100%; }
  .home_services_scroll.is-scroll-driven .method_home_slider_comp { position: sticky; top: var(--home-services-top); }
}
@media (max-height: 600px) and (min-aspect-ratio: 3/2) {
  .home_services_scroll .home_services_heading { max-width: none; margin-bottom: 1rem; }
  .home_services_scroll .home_services_heading h2 { max-width: none; font-size: var(--_typography---font-size--h4); line-height: 1.2; }
}
/* Reduced motion retains horizontal access without a pinned animation. */
@media (prefers-reduced-motion: reduce) {
  .home_services_scroll:not(.is-scroll-driven) .swiper-wrapper.is-method {
    display: flex; flex-direction: row !important; max-width: none; overflow-x: auto; gap: 2rem; scroll-snap-type: x mandatory; padding-bottom: 1rem;
  }
  .home_services_scroll:not(.is-scroll-driven) .service_slide { flex: 0 0 min(640px, 90%); scroll-snap-align: center; }
}
.home_services_scroll:not(.is-scroll-driven) .method_slide_wrap { transform: none; transition: none; }

/* Same pencil treatment as the hero verbs, flowing naturally across lines. */
.overview_intro_copy .abila-pencil {
  display: inline; padding: 0 0 .12em; color: #fff;
  -webkit-text-fill-color: currentColor; font-weight: inherit;
  background: url("../images/abila-pencil-underline.svg") center bottom / 100% .14em no-repeat;
  -webkit-box-decoration-break: clone; box-decoration-break: clone;
}
