:root{
  --home-dark:#090d19;
  --home-purple:#6265fe;
  --home-purple-light:#b6bbff;
  --home-blue:#cfe7ff;
  --home-yellow:#fffd98;
  --home-line:#dfdfdf;
  --home-text:#090d19;
  --home-muted:#414141;
  --home-white:#fff;
  --home-radius:10px;
  --home-container:1245px;
  --home-card-border-gradient:conic-gradient(from 24deg at 50% 50%,
    #0d1527 0deg,
    #090d19 42deg,
    #4950d6 108deg,
    #6265fe 148deg,
    #fffd98 222deg,
    #cfe7ff 280deg,
    #58779b 324deg,
    #162235 360deg);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--home-text);font-family:"Afacad Flux",Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
html.effika-home-route #root{display:none!important}
html.effika-app-route #effika-home{display:none!important}
#effika-home{overflow:hidden;background:#fff}
#effika-home a{color:inherit;text-decoration:none}
#effika-home button,#effika-home a{-webkit-tap-highlight-color:transparent}
.home-container{width:min(var(--home-container),calc(100% - 48px));margin-inline:auto}
.home-kicker{margin:0;color:var(--home-purple);font:500 16px/1.5 "Afacad Flux",sans-serif}
.home-title{font-family:Montserrat,sans-serif;font-weight:500;letter-spacing:-.035em}
.home-title strong{font-weight:600;color:var(--home-purple)}
.home-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;padding:10px 17px;border:1px solid transparent;border-radius:10px;font:600 16px/1 Montserrat,sans-serif;transition:border-radius .22s ease,background-color .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease}
.home-btn:hover{border-radius:0;transform:none;box-shadow:none}
.home-btn:focus-visible{outline:3px solid rgba(98,101,254,.35);outline-offset:3px}
.home-btn--primary{background:var(--home-purple);color:#fff!important;border-color:var(--home-purple)}
.home-btn--soft{background:var(--home-purple-light);color:var(--home-dark)!important;border-color:var(--home-purple-light)}
.home-btn--dark{background:var(--home-dark);color:#fff!important;border-color:var(--home-dark)}
.home-arrow{width:12px;height:12px;flex:none;transform-origin:center;transition:transform .42s cubic-bezier(.22,.8,.32,1)}
.home-btn:hover .home-arrow,.home-btn:focus-visible .home-arrow{transform:rotate(90deg)}
/* Header */
.home-header{height:80px;background:#fff;display:flex;align-items:center;position:relative;z-index:30;box-shadow:0 1px 0 rgba(9,13,25,.07)}
.home-header__inner{height:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:28px}
.home-logo{display:inline-flex;align-items:center;width:max-content}
.home-logo img{display:block;width:158px;height:auto}
.home-nav{display:flex;align-items:center;justify-content:center;gap:44px;font:400 16px/1 "Afacad Flux",sans-serif}
.home-nav a{position:relative;padding:10px 0}
.home-nav a::after{content:"";position:absolute;left:50%;right:50%;bottom:2px;height:2px;background:var(--home-purple);transition:left .2s ease,right .2s ease}
.home-nav a:hover::after,.home-nav a[aria-current="page"]::after{left:0;right:0}
.home-header__cta{justify-self:end}
.home-menu-button{display:none;border:0;background:var(--home-dark);color:#fff;border-radius:8px;width:44px;height:44px;align-items:center;justify-content:center;cursor:pointer}
.home-menu-button svg{width:22px;height:22px}
/* Hero */
.home-hero{position:relative;min-height:713px;background:var(--home-dark);isolation:isolate}
.home-hero__media{position:absolute;z-index:-2;inset:0 0 0 46.5%;overflow:hidden}
.home-hero__media picture,.home-hero__media img{display:block;width:100%;height:100%}
.home-hero__media img{object-fit:cover;object-position:center center}
.home-hero::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,var(--home-dark) 0%,var(--home-dark) 42%,rgba(9,13,25,.94) 48%,rgba(9,13,25,.48) 61%,rgba(9,13,25,0) 78%)}
.home-hero__inner{min-height:713px;display:flex;align-items:center;padding:72px 0}
.home-hero__content{width:568px;color:#fff}
.home-hero h1{margin:0;font:500 60px/1.16 Montserrat,sans-serif;letter-spacing:-.035em}
.home-hero h1 strong{font-weight:600}
.home-hero h1 em{font-weight:500;color:var(--home-purple-light)}
.home-hero__lead{margin:48px 0 0;max-width:555px;font:500 24px/1.38 Montserrat,sans-serif}
.home-actions{display:flex;align-items:center;gap:34px;margin-top:48px;flex-wrap:wrap}
/* Why */
.home-why{padding:64px 0 78px;background:#fff}
.home-why__intro{text-align:center;max-width:850px;margin:0 auto}
.home-why h2{margin:22px auto 0;max-width:650px;font-size:50px;line-height:1.22}
.home-why__text{margin:30px auto 0;max-width:820px;font-size:20px;line-height:1.55}
.home-values{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:58px}
.home-value{position:relative;min-height:288px;border:1px solid var(--home-line);border-radius:var(--home-radius);padding:31px;background:#fff;transition:border-color .22s ease,background .22s ease,box-shadow .22s ease}
.home-value::before,.home-service-card::before{display:none}
.home-value:hover,.home-value:focus-within{transform:none;box-shadow:0 6px 18px rgba(9,13,25,.08);border:1px solid transparent;background:linear-gradient(#fff,#fff) padding-box,var(--home-card-border-gradient) border-box}
.home-value__top{display:flex;align-items:center;justify-content:space-between}
.home-value__icon{width:39px;height:39px;border-radius:8px;display:block;background-position:center;background-repeat:no-repeat;background-size:cover;transition:background-image .22s ease}

.home-value__icon svg{display:none}

.home-values .home-value:nth-child(1) .home-value__icon{background-image:url(/assets/icon-target-dark.png)}
.home-values .home-value:nth-child(1):hover .home-value__icon,.home-values .home-value:nth-child(1):focus-within .home-value__icon{background-image:url(/assets/icon-target-purple.png)}
.home-values .home-value:nth-child(2) .home-value__icon{background-image:url(/assets/icon-doc-dark.png)}
.home-values .home-value:nth-child(2):hover .home-value__icon,.home-values .home-value:nth-child(2):focus-within .home-value__icon{background-image:url(/assets/icon-doc-purple.png)}
.home-values .home-value:nth-child(3) .home-value__icon{background-image:url(/assets/icon-people-dark.png)}
.home-values .home-value:nth-child(3):hover .home-value__icon,.home-values .home-value:nth-child(3):focus-within .home-value__icon{background-image:url(/assets/icon-people-purple.png)}
.home-values .home-value:nth-child(4) .home-value__icon{background-image:url(/assets/icon-lightning-dark.png)}
.home-values .home-value:nth-child(4):hover .home-value__icon,.home-values .home-value:nth-child(4):focus-within .home-value__icon{background-image:url(/assets/icon-lightning-purple.png)}

.home-value__number{font-size:14px;line-height:1;color:var(--home-dark)}
.home-value h3{margin:34px 0 0;font:600 24px/1.35 Montserrat,sans-serif;letter-spacing:-.025em}
.home-value p{margin:17px 0 0;font-size:18px;line-height:1.32}
/* Services */
.home-services{background:var(--home-blue);padding:72px 0 70px}
.home-services h2{margin:20px 0 0;font-size:50px;line-height:1.25}
.home-services__intro{max-width:790px;margin:26px 0 0;font-size:20px;line-height:1.45}
.home-service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:56px}
.home-service-card{position:relative;min-height:214px;padding:30px 31px;border:1px solid var(--home-line);border-radius:var(--home-radius);background:#fff;transition:border-color .22s ease,background .22s ease,box-shadow .22s ease}
.home-service-card:hover,.home-service-card:focus-visible{transform:none;box-shadow:0 6px 18px rgba(9,13,25,.08);border:1px solid transparent;background:linear-gradient(#fff,#fff) padding-box,var(--home-card-border-gradient) border-box}
.home-service-card h3{max-width:430px;margin:0;font:600 30px/1.35 Montserrat,sans-serif;letter-spacing:-.03em;cursor:pointer}
.home-service-card p{margin:23px 56px 0 0;font-size:18px;line-height:1.32;cursor:pointer}
.home-service-card__selectable{-webkit-user-select:text;user-select:text;cursor:text}
.home-service-card__arrow{position:absolute;top:30px;right:30px;width:39px;height:39px;border-radius:8px;display:grid;place-items:center;overflow:visible;background:var(--home-dark);color:var(--home-purple-light);transform:rotate(0deg);transform-origin:center;transition:transform .48s cubic-bezier(.22,.8,.32,1),background-color .24s ease}
.home-service-card__arrow::before,.home-service-card__arrow::after{display:none}
.home-service-card:hover .home-service-card__arrow,.home-service-card:focus-visible .home-service-card__arrow{background:var(--home-purple);transform:rotate(90deg)}
.home-service-card__arrow svg{display:block;width:17px;height:17px;overflow:visible}
.home-services__more{display:flex;justify-content:center;margin-top:56px}
/* Process */
.home-process{padding:72px 0 78px;background:#fff}
.home-process h2{margin:20px 0 0;font-size:50px;line-height:1.2}
.home-process__steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:40px;margin-top:64px}
.home-process__steps::before{content:"";position:absolute;left:18px;right:18px;top:18px;height:3px;background:var(--home-purple-light);transform-origin:left center;z-index:0}
.home-step{position:relative;z-index:1;background:transparent}
.home-step__number{position:relative;z-index:2;width:39px;height:39px;border-radius:8px;background:var(--home-purple);color:#fff;display:grid;place-items:center;font:700 14px/1 "Afacad Flux",sans-serif}
.home-step h3{margin:19px 0 0;font:600 24px/1.35 Montserrat,sans-serif}
.home-step p{margin:16px 0 0;font-size:18px;line-height:1.32}

/* Animació de la barra quan el procés entra a la pantalla. Durada total: 2,25 s. */
.home-process__steps--animate::before{
  left:var(--process-line-left,19.5px);
  right:auto;
  width:var(--process-line-width,calc(75% + 30px));
  transform:scaleX(0);
  transition:transform 2.25s linear;
}
.home-process__steps--animate .home-step:nth-child(n+2) .home-step__number{
  background:#fff;
  color:var(--home-purple);
  box-shadow:inset 0 0 0 0 var(--home-purple);
  transform:scale(.72);
  font-size:12px;
  transition:background-color .08s linear,color .08s linear,transform .12s ease-out,box-shadow .08s linear,font-size .08s linear;
}
.home-process__steps--animate.is-process-visible::before{transform:scaleX(1)}
.home-process__steps--animate.is-process-visible .home-step:nth-child(n+2) .home-step__number{
  background:var(--home-purple);
  color:#fff;
  box-shadow:inset 0 0 0 1px var(--home-purple);
  transform:scale(1);
  font-size:14px;
}
.home-process__steps--animate.is-process-visible .home-step:nth-child(2) .home-step__number{transition-delay:var(--process-step-2-delay,.75s)}
.home-process__steps--animate.is-process-visible .home-step:nth-child(3) .home-step__number{transition-delay:var(--process-step-3-delay,1.5s)}
.home-process__steps--animate.is-process-visible .home-step:nth-child(4) .home-step__number{transition-delay:var(--process-step-4-delay,2.25s)}
.home-testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:68px}
.home-quote{min-height:350px;border:2px solid var(--home-line);border-radius:var(--home-radius);padding:31px;display:flex;flex-direction:column;background:#fff}
.home-stars{color:var(--home-purple);font:600 24px/1 Montserrat,sans-serif;letter-spacing:5px}
.home-quote blockquote{margin:28px 0 30px;font:500 italic 24px/1.38 Montserrat,sans-serif;letter-spacing:-.02em}
.home-quote__meta{margin-top:auto}
.home-quote__meta strong{display:block;color:var(--home-purple);font-size:20px;line-height:1.2}
.home-quote__meta span{display:block;margin-top:5px;font-size:16px;line-height:1.3}
/* CTA */
.home-cta{min-height:443px;background:var(--home-dark);color:#fff;display:flex;align-items:center;text-align:center;padding:68px 0}
.home-cta__inner{max-width:980px;margin:auto}
.home-cta .home-kicker{color:var(--home-purple-light)}
.home-cta h2{margin:24px 0 0;font:500 50px/1.25 Montserrat,sans-serif;letter-spacing:-.035em}
.home-cta h2 strong{color:var(--home-yellow);font-weight:600}
.home-cta p:not(.home-kicker){max-width:720px;margin:28px auto 0;font-size:24px;line-height:1.4}
.home-cta .home-actions{justify-content:center;margin-top:48px}
/* Footer */
.home-footer{background:#fff;padding:64px 0 28px;color:var(--home-text)}
.home-footer__top{display:grid;grid-template-columns:1fr 180px 250px;gap:80px;align-items:start;min-height:245px}
.home-footer__brand img{width:176px;height:auto;display:block}
.home-footer__tagline{margin:12px 0 0;color:var(--home-purple);font:500 16px/1.5 Montserrat,sans-serif}
.home-socials{display:flex;gap:10px;margin-top:72px}
.home-social{width:39px;height:39px;border:1px solid var(--home-purple);border-radius:8px;color:var(--home-purple)!important;display:grid;place-items:center;transition:background .2s ease,color .2s ease}
.home-social:hover{background:var(--home-purple);color:#fff!important}
.home-social svg{width:22px;height:22px}
.home-footer h3{margin:0 0 20px;font:600 16px/1.4 Montserrat,sans-serif}
.home-footer nav,.home-footer__contact{display:grid;gap:12px;font-size:18px;color:var(--home-muted)}
.home-footer nav a:hover,.home-footer__contact a:hover{color:var(--home-purple)}
.home-footer__bottom{border-top:1px solid var(--home-line);margin-top:28px;padding-top:23px;display:flex;justify-content:space-between;gap:30px;align-items:center;color:var(--home-muted);font-size:14px}
.home-footer__legal{display:flex;gap:24px}
/* Responsive */
@media (max-width:1100px){
  .home-header__inner{grid-template-columns:auto 1fr auto}
  .home-nav{gap:24px}
  .home-values{grid-template-columns:repeat(2,1fr)}
  .home-process__steps{gap:22px}
  .home-footer__top{grid-template-columns:1fr 180px 230px;gap:35px}
}
@media (max-width:820px){
  .home-container{width:min(100% - 32px,var(--home-container))}
  .home-header{height:72px}
  .home-header__inner{grid-template-columns:1fr auto}
  .home-logo img{width:145px}
  .home-menu-button{display:flex;justify-self:end}
  .home-header__cta{display:none}
  .home-nav{position:absolute;left:16px;right:16px;top:64px;display:none;flex-direction:column;align-items:stretch;gap:0;padding:10px;background:#fff;border:1px solid var(--home-line);border-radius:10px;box-shadow:0 14px 32px rgba(9,13,25,.15)}
  .home-nav.is-open{display:flex}
  .home-nav a{padding:14px 16px;border-radius:7px}
  .home-nav a:hover{background:var(--home-blue)}
  .home-nav a::after{display:none}
  .home-hero{min-height:740px}
  .home-hero__media{inset:42% 0 0 0}
  .home-hero::before{background:linear-gradient(180deg,var(--home-dark) 0%,var(--home-dark) 42%,rgba(9,13,25,.85) 58%,rgba(9,13,25,.2) 100%)}
  .home-hero__inner{min-height:740px;align-items:flex-start;padding-top:70px}
  .home-hero__content{width:100%}
  .home-hero h1{font-size:44px;max-width:620px}
  .home-hero__lead{font-size:19px;line-height:1.45;margin-top:28px;max-width:560px}
  .home-actions{margin-top:30px;gap:14px}
  .home-why h2,.home-services h2,.home-process h2,.home-cta h2{font-size:40px}
  .home-values{grid-template-columns:repeat(2,1fr)}
  .home-service-grid{grid-template-columns:1fr}
  .home-process__steps{grid-template-columns:repeat(2,1fr);row-gap:48px}
  .home-process__steps::before{display:none}
  .home-testimonials{grid-template-columns:1fr}
  .home-quote{min-height:290px}
  .home-footer__top{grid-template-columns:1fr 1fr;gap:45px}
  .home-footer__brand{grid-column:1/-1}
  .home-socials{margin-top:34px}
}
@media (max-width:560px){
  .home-hero{min-height:700px}
  .home-hero__inner{min-height:700px;padding-top:54px}
  .home-hero h1{font-size:38px}
  .home-hero__lead{font-size:18px}
  .home-btn{font-size:14px;min-height:44px;padding-inline:14px}
  .home-why,.home-services,.home-process{padding:54px 0}
  .home-why h2,.home-services h2,.home-process h2,.home-cta h2{font-size:34px}
  .home-why__text,.home-services__intro{font-size:18px}
  .home-values{grid-template-columns:1fr;margin-top:42px}
  .home-value{min-height:auto}
  .home-service-card{min-height:auto;padding:25px}
  .home-service-card h3{font-size:25px;padding-right:46px}
  .home-service-card p{margin-right:0;font-size:17px}
  .home-service-card__selectable{-webkit-user-select:text;user-select:text;cursor:text}
.home-service-card__arrow{top:24px;right:24px}
  .home-process__steps{grid-template-columns:1fr}
  .home-step{padding-left:54px;min-height:120px}
  .home-step__number{position:absolute;left:0;top:0}
  .home-step h3{margin-top:0}
  .home-quote blockquote{font-size:21px}
  .home-cta{min-height:400px}
  .home-cta p:not(.home-kicker){font-size:19px}
  .home-footer__top{grid-template-columns:1fr}
  .home-footer__brand{grid-column:auto}
  .home-footer__bottom{align-items:flex-start;flex-direction:column}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.home-btn,.home-arrow,.home-value,.home-value::before,.home-value__icon,.home-service-card,.home-service-card::before,.home-service-card__arrow,.home-service-card__arrow::before,.home-service-card__arrow::after,.home-social{transition:none!important}}

@media (prefers-reduced-motion:reduce){
  .home-process__steps--animate::before{transform:scaleX(1)!important;transition:none!important}
  .home-process__steps--animate .home-step:nth-child(n+2) .home-step__number{background:var(--home-purple)!important;color:#fff!important;box-shadow:inset 0 0 0 1px var(--home-purple)!important;transform:none!important;font-size:14px!important;transition:none!important}
}


/* v40 — transició més suau entre el blau marí i la fotografia, només en escriptori */
@media (min-width:821px){
  html.effika-home-route .home-hero__media{
    inset:0 0 0 32%;
    -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.18) 9%,rgba(0,0,0,.58) 22%,#000 42%);
    mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.18) 9%,rgba(0,0,0,.58) 22%,#000 42%);
  }
  html.effika-home-route .home-hero::before{
    background:linear-gradient(90deg,
      var(--home-dark) 0%,
      var(--home-dark) 37%,
      rgba(9,13,25,.99) 43%,
      rgba(9,13,25,.90) 50%,
      rgba(9,13,25,.64) 59%,
      rgba(9,13,25,.28) 69%,
      rgba(9,13,25,0) 81%);
  }
}

/* v40 — animació vertical del procés en mòbil */
@media (max-width:560px){
  .home-process__steps--animate::before{
    display:block;
    left:var(--process-line-left,19.5px);
    right:auto;
    top:var(--process-line-top,19.5px);
    width:3px;
    height:var(--process-line-height,calc(100% - 39px));
    transform:scaleY(0);
    transform-origin:center top;
    transition:transform 2.25s linear;
  }
  .home-process__steps--animate.is-process-visible::before{
    transform:scaleY(1);
  }
}

@media (max-width:560px) and (prefers-reduced-motion:reduce){
  .home-process__steps--animate::before{transform:scaleY(1)!important}
}


/* Permet que la capçalera sticky funcioni dins la portada sense generar scroll horitzontal */
html.effika-home-route,
html.effika-home-route body{overflow-x:clip}
html.effika-home-route #effika-home{overflow:visible}

.home-service-card{-webkit-user-drag:none}
