.elementor-kit-7{--e-global-color-primary:#000000;--e-global-color-secondary:#FFFFFF;--e-global-color-text:#000000;--e-global-color-accent:#F26A21;--e-global-typography-primary-font-family:"Inter";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Instrument Serif";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:600;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1560px;}.e-con{--container-max-width:1560px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//*
 * PromAlpi — Home
 * CSS specifico pagina da aggiungere sotto eventuale CSS esistente.
 * Origine: conversione fedele HTML/CSS in Elementor Pro.
 * Dipendenze: Global Colors Elementor e Global Fonts descritti nel README.
 * Nota: il frammento iniziale non valido presente nel CSS sorgente è stato rimosso.
 */
:root{
  /* Elementor Global Colors */
  --pa-ink:var(--e-global-color-primary);
  --pa-paper:var(--e-global-color-secondary);
  --pa-white:var(--e-global-color-secondary);
  --pa-text:var(--e-global-color-text);
  --pa-accent:var(--e-global-color-accent);

  /* Derived colors: they still inherit from Elementor globals */
  --pa-muted:color-mix(in srgb,var(--pa-text) 56%,transparent);
  --pa-line:color-mix(in srgb,var(--pa-ink) 16%,transparent);
  --pa-light-line:color-mix(in srgb,var(--pa-paper) 24%,transparent);

  /* Elementor Global Fonts — family only */
  --pa-sans:var(--e-global-typography-primary-font-family);
  --pa-serif:var(--e-global-typography-secondary-font-family);
  --pa-body:var(--e-global-typography-text-font-family);
  --pa-ui:var(--e-global-typography-accent-font-family);

  --pa-max:1560px;
  --pa-gutter:clamp(20px,3.45vw,66px);
  --pa-space:clamp(110px,14vw,230px);
  --hero-p:0;
}
html{scroll-behavior:smooth;background:var(--pa-paper)}
body{margin:0;background:var(--pa-paper);color:var(--pa-ink);font-family:var(--pa-body);overscroll-behavior:none}
body.pa-lock{overflow:hidden}
.promalpi-concept{position:relative;overflow:clip;background:var(--pa-paper)}
.promalpi-concept *{box-sizing:border-box}
.promalpi-concept a{color:inherit}
.promalpi-concept p,
.promalpi-concept .elementor-widget-text-editor{
  font-family:var(--pa-body);
  font-size:clamp(15px,1.12vw,18px);
  line-height:1.65;
}
.promalpi-concept strong{font-weight:600}
.promalpi-shell{width:min(100%,var(--pa-max));margin-inline:auto;padding-inline:var(--pa-gutter)}
.promalpi-section{padding-block:var(--pa-space)}
.promalpi-rule{border-top:1px solid var(--pa-line)}

.promalpi-kicker,
.promalpi-micro,
.promalpi-nav .elementor-heading-title{
  font-family:var(--pa-sans)!important;
  font-size:10px!important;
  line-height:1.15!important;
  letter-spacing:.18em!important;
  text-transform:uppercase;
  font-weight:500!important;
}
.promalpi-display .elementor-heading-title{
  margin:0;
  font-family:var(--pa-sans)!important;
  font-size:clamp(72px,11.3vw,182px)!important;
  line-height:.79!important;
  letter-spacing:-.075em!important;
  font-weight:500!important;
}
.promalpi-display-serif .elementor-heading-title,
.promalpi-serif .elementor-heading-title{
  font-family:var(--pa-serif)!important;
  font-weight:400!important;
}
.promalpi-display-serif .elementor-heading-title{
  margin:0;
  font-size:clamp(90px,13.2vw,214px)!important;
  line-height:.72!important;
  letter-spacing:-.055em!important;
  font-style:italic;
}
.promalpi-h2 .elementor-heading-title{
  margin:0;
  font-family:var(--pa-sans)!important;
  font-size:clamp(55px,8.3vw,132px)!important;
  line-height:.84!important;
  letter-spacing:-.065em!important;
  font-weight:500!important;
}
.promalpi-h2 em,
.promalpi-h2 i{
  font-family:var(--pa-serif);
  font-weight:400;
}
.promalpi-h3 .elementor-heading-title{
  margin:0;
  font-family:var(--pa-sans)!important;
  font-size:clamp(27px,3vw,48px)!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
  font-weight:500!important;
}
.promalpi-button .elementor-button{
  position:relative;
  padding:0 0 9px!important;
  color:var(--pa-ink)!important;
  background:transparent!important;
  border:0!important;
  border-bottom:1px solid currentColor!important;
  border-radius:0!important;
  font-family:var(--pa-sans);
  font-size:10px!important;
  font-weight:500!important;
  letter-spacing:.17em;
  text-transform:uppercase;
  transition:letter-spacing .35s ease,opacity .3s ease;
}
.promalpi-button .elementor-button:hover{letter-spacing:.22em;opacity:.6}
.promalpi-button-light .elementor-button{color:var(--pa-paper)!important}

/* Preloader: important animation 01 */
.pa-loader{
  position:fixed;inset:0;z-index:99999;
  display:grid;place-items:center;
  color:var(--pa-paper);
  background:var(--pa-ink);
  clip-path:inset(0 0 0 0);
  transition:clip-path 1.05s cubic-bezier(.77,0,.18,1) .15s;
}
.pa-loader:before,
.pa-loader:after{
  content:"";
  position:absolute;inset:0;
  transform-origin:bottom;
  pointer-events:none;
}
.pa-loader:before{background:color-mix(in srgb,var(--pa-paper) 8%,transparent);transform:scaleY(.66);z-index:-2}
.pa-loader:after{background:color-mix(in srgb,var(--pa-paper) 4%,transparent);transform:scaleY(.33);z-index:-1}
.pa-loader__brand{
  font-family:var(--pa-sans);
  font-size:clamp(38px,6vw,92px);
  line-height:.9;
  letter-spacing:-.065em;
}
.pa-loader__percent{
  position:absolute;right:var(--pa-gutter);bottom:28px;
  font-size:11px;letter-spacing:.18em;
}
.promalpi-ready .pa-loader{clip-path:inset(0 0 100% 0);pointer-events:none}
.pa-scrollbar{
  position:fixed;z-index:80;left:0;top:0;
  width:100%;height:2px;background:transparent;
  pointer-events:none;
}
.pa-scrollbar span{display:block;width:100%;height:100%;background:var(--pa-ink);transform:scaleX(0);transform-origin:left}

/* Header */
.promalpi-header{
  position:absolute!important;
  z-index:30;top:0;left:0;right:0;
  width:100%;
  padding:25px var(--pa-gutter);
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  color:var(--pa-ink);
  mix-blend-mode:difference;
}
.promalpi-header,
.promalpi-header a,
.promalpi-header .elementor-heading-title{color:var(--pa-paper)!important}
.promalpi-brand .elementor-heading-title{
  font-family:var(--pa-sans)!important;
  font-size:18px!important;
  line-height:1!important;
  letter-spacing:-.05em!important;
  font-weight:600!important;
}
.promalpi-brand sup{font-size:7px;vertical-align:top}
.promalpi-nav-wrap{flex-direction:row!important;align-items:center!important;gap:24px!important}
.promalpi-nav a{text-decoration:none}

/* Hero: important animation 02 */
.promalpi-hero{
  position:relative;
  min-height:126vh;
  overflow:hidden;
  background:var(--pa-paper);
  color:var(--pa-ink);
}
.promalpi-hero:before{
  content:"";
  position:absolute;z-index:4;
  left:0;right:0;bottom:0;height:14vh;
  background:linear-gradient(to bottom,transparent,var(--pa-paper));
  pointer-events:none;
}
.promalpi-hero-media{
  position:absolute!important;
  z-index:1;
  left:0;top:0;
  width:51vw!important;
  height:100vh!important;
  overflow:hidden;
  clip-path:inset(0 100% 0 0);
  transform:
    translate3d(calc(var(--hero-p) * 7vw),calc(var(--hero-p) * 6vh),0)
    scale(calc(1 + var(--hero-p) * .24));
  transform-origin:50% 55%;
  transition:clip-path 1.4s cubic-bezier(.77,0,.18,1) .2s;
}
.promalpi-ready .promalpi-hero-media{clip-path:inset(0 0 0 0)}
.promalpi-hero-media img{
  width:100%!important;height:100%!important;
  object-fit:cover;object-position:55% 50%;
  filter:grayscale(1) contrast(1.2);
  transform:scale(1.08);
}
.promalpi-hero-content{
  position:relative;z-index:6;
  min-height:100vh;
  justify-content:flex-end!important;
  padding:150px var(--pa-gutter) 54px;
  pointer-events:none;
}
.promalpi-hero-copy{
  width:100%;
  display:grid!important;
  grid-template-columns:1fr 1fr;
  grid-template-rows:auto auto auto;
  align-items:end!important;
}
.promalpi-hero-copy>.promalpi-kicker{grid-column:2;margin:0 0 23vh 2vw}
.promalpi-hero-line{
  grid-column:1/-1;
  flex-direction:column!important;
  align-items:flex-end!important;
  gap:0!important;
  transform:translate3d(0,calc(var(--hero-p) * -8vh),0);
}
.promalpi-hero-line>*{overflow:hidden}
.promalpi-hero-line .elementor-heading-title{
  clip-path:inset(0 0 105% 0);
  transform:translateY(105%);
  transition:clip-path 1.05s cubic-bezier(.2,.75,.2,1),transform 1.05s cubic-bezier(.2,.75,.2,1);
}
.promalpi-ready .promalpi-hero-line .elementor-heading-title{
  clip-path:inset(0 0 0 0);transform:none;
}
.promalpi-ready .promalpi-hero-line>*:nth-child(2) .elementor-heading-title{transition-delay:.13s}
.promalpi-display-serif{align-self:flex-start;transform:translateX(13vw)}
.promalpi-display{align-self:flex-end;transform:translateX(-1vw)}
.promalpi-hero-lede{
  grid-column:2;
  width:min(560px,100%);
  margin:40px 0 0 2vw;
  opacity:0;transform:translateY(28px);
  transition:opacity .8s ease .85s,transform .8s ease .85s;
}
.promalpi-ready .promalpi-hero-lede{opacity:1;transform:none}
.promalpi-hero-copy>.promalpi-button{
  grid-column:2;margin:20px 0 0 2vw;
  pointer-events:auto;
  opacity:0;transform:translateY(20px);
  transition:opacity .8s ease 1s,transform .8s ease 1s;
}
.promalpi-ready .promalpi-hero-copy>.promalpi-button{opacity:1;transform:none}
.promalpi-hero-meta{
  z-index:7;
  position:absolute!important;
  left:var(--pa-gutter);right:var(--pa-gutter);top:27px;
  flex-direction:row!important;
  justify-content:center!important;
  gap:clamp(18px,4vw,64px)!important;
  color:var(--pa-paper);
  mix-blend-mode:difference;
}

/* Manifesto / numbers block */
.promalpi-manifesto{
  position:relative;z-index:8;
  margin-top:-5vh;
  border-radius:28px 28px 0 0;
  background:var(--pa-paper);
  overflow:hidden;
}
.promalpi-manifesto:before{
  content:"01";
  position:absolute;
  right:-.03em;top:.02em;
  font-family:var(--pa-sans);
  font-size:min(40vw,620px);
  font-weight:500;
  line-height:.7;
  letter-spacing:-.11em;
  color:color-mix(in srgb,var(--pa-ink) 4.5%,transparent);
  pointer-events:none;
}
.promalpi-manifesto-grid{
  position:relative;z-index:1;
  display:grid!important;
  grid-template-columns:minmax(110px,.45fr) minmax(0,1.8fr);
  gap:clamp(40px,8vw,160px)!important;
}
.promalpi-manifesto-copy{max-width:1200px}
.promalpi-manifesto-copy .promalpi-h2 .elementor-heading-title{
  font-family:var(--pa-sans)!important;
  clip-path:inset(0 0 100% 0);
  transform:translateY(30px);
  transition:clip-path 1.15s cubic-bezier(.2,.75,.2,1),transform 1.15s cubic-bezier(.2,.75,.2,1);
}
.promalpi-manifesto-copy.is-visible .promalpi-h2 .elementor-heading-title{clip-path:inset(0);transform:none}
.promalpi-manifesto-note{max-width:600px;margin:68px 0 0 auto}

/* Important animation 03: pinned horizontal solutions */
#soluzioni{
  position:relative;
  width:100%!important;
  max-width:none!important;
  height:510vh;
  margin:0!important;
  padding:0!important;
  background:var(--pa-ink);
  color:var(--pa-paper);
}
.promalpi-services-head{
  position:absolute!important;
  z-index:4;
  top:0;left:0;right:0;
  width:min(100%,var(--pa-max));
  margin-inline:auto!important;
  padding:64px var(--pa-gutter) 0;
  flex-direction:row!important;
  justify-content:space-between!important;
  align-items:flex-start!important;
  gap:50px!important;
  pointer-events:none;
}
.promalpi-services-head .promalpi-h2 .elementor-heading-title{color:var(--pa-paper)}
.promalpi-services-head>*:last-child{width:min(390px,100%);color:color-mix(in srgb,var(--pa-paper) 65%,transparent)}
.promalpi-service-index{
  position:sticky!important;
  top:0;
  height:100vh;
  display:flex!important;
  flex-direction:row!important;
  align-items:flex-end!important;
  gap:22px!important;
  width:max-content!important;
  padding:210px var(--pa-gutter) 30px;
  will-change:transform;
}
.promalpi-service-row{
  position:relative;
  flex:0 0 min(72vw,1120px);
  height:68vh;
  display:grid!important;
  grid-template-columns:72px minmax(0,1fr) minmax(230px,.42fr);
  grid-template-rows:1fr auto;
  align-items:end!important;
  gap:20px!important;
  padding:28px;
  overflow:hidden;
  border-radius:18px;
  color:var(--pa-paper);
  background:var(--pa-ink);
  isolation:isolate;
}
.promalpi-service-row:after{
  content:"↗";
  position:absolute;z-index:4;
  right:24px;top:24px;
  width:54px;height:54px;
  display:grid;place-items:center;
  border:1px solid color-mix(in srgb,var(--pa-paper) 65%,transparent);
  border-radius:50%;
  font-size:18px;
  transform:rotate(0deg);
  transition:transform .4s ease,background .4s ease,color .4s ease;
}
.promalpi-service-row:hover:after{transform:rotate(45deg);background:var(--pa-paper);color:var(--pa-ink)}
.promalpi-service-image{
  position:absolute!important;z-index:-2;
  inset:0;width:100%!important;height:100%!important;
}
.promalpi-service-image:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,color-mix(in srgb,var(--pa-ink) 8%,transparent),color-mix(in srgb,var(--pa-ink) 82%,transparent));
}
.promalpi-service-image img{
  width:100%!important;height:100%!important;object-fit:cover;
  filter:grayscale(1) contrast(1.08);
  transform:scale(1.04);
  transition:transform 1.1s cubic-bezier(.2,.7,.2,1),filter .7s ease;
}
.promalpi-service-row:hover .promalpi-service-image img{transform:scale(1.095);filter:grayscale(.2) contrast(1.03)}
.promalpi-service-row>.promalpi-kicker{grid-column:1;grid-row:2;position:relative;z-index:3}
.promalpi-service-title{grid-column:2;grid-row:2;position:relative;z-index:3}
.promalpi-service-title .elementor-heading-title{
  color:var(--pa-paper)!important;
  font-family:var(--pa-serif)!important;
  font-size:clamp(48px,6vw,104px)!important;
  font-weight:400!important;
  line-height:.82!important;
  letter-spacing:-.055em!important;
}
.promalpi-service-desc{grid-column:3;grid-row:2;position:relative;z-index:3;color:color-mix(in srgb,var(--pa-paper) 76%,transparent)}

/* Important animation 04: method timeline */
.promalpi-method{
  position:relative;
  background:var(--pa-paper);
  color:var(--pa-ink);
}
.promalpi-method-layout{
  display:grid!important;
  grid-template-columns:minmax(300px,.85fr) minmax(0,1.2fr);
  gap:clamp(70px,11vw,190px)!important;
  align-items:flex-start!important;
}
.promalpi-method-sticky{position:sticky!important;top:90px}
.promalpi-method-sticky:after{
  content:"";
  position:absolute;left:0;bottom:-48px;
  width:var(--pa-method-progress,0%);
  height:2px;background:var(--pa-ink);
  transition:width .12s linear;
}
.promalpi-method-sticky p{max-width:500px;color:color-mix(in srgb,var(--pa-ink) 68%,transparent)}
.promalpi-method-steps{position:relative;border-top:1px solid var(--pa-line)}
.promalpi-method-steps:before{
  content:"";position:absolute;left:24px;top:0;bottom:0;width:1px;background:var(--pa-line)
}
.promalpi-method-step{
  position:relative;
  min-height:70vh;
  justify-content:center!important;
  padding:70px 0 70px 90px;
  border-bottom:1px solid var(--pa-line);
  opacity:.22;
  transform:translateY(45px);
  transition:opacity .55s ease,transform .65s cubic-bezier(.2,.7,.2,1);
}
.promalpi-method-step:before{
  content:"";position:absolute;left:18px;top:50%;
  width:13px;height:13px;border-radius:50%;
  background:var(--pa-paper);border:1px solid var(--pa-ink);
  transform:translateY(-50%) scale(.65);
  transition:background .4s ease,transform .4s ease;
}
.promalpi-method-step.is-active{opacity:1;transform:none}
.promalpi-method-step.is-active:before{background:var(--pa-ink);transform:translateY(-50%) scale(1)}
.promalpi-step-no .elementor-heading-title{
  font-family:var(--pa-sans)!important;font-size:10px!important;letter-spacing:.18em!important;font-weight:500!important
}
.promalpi-method-step p{max-width:620px;color:color-mix(in srgb,var(--pa-ink) 66%,transparent)}

/* Details media showcase */
.promalpi-details{background:var(--pa-white)}
.promalpi-details-head{
  flex-direction:row!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:50px!important;
  margin-bottom:100px;
}
.promalpi-details-head>*:last-child{max-width:420px}
.promalpi-gallery{
  display:grid!important;
  grid-template-columns:1.2fr .75fr 1fr;
  gap:clamp(14px,2vw,30px)!important;
  align-items:start!important;
}
.promalpi-gallery-card{position:relative;overflow:hidden}
.promalpi-gallery-card:nth-child(2){margin-top:150px}
.promalpi-gallery-card:nth-child(3){margin-top:50px}
.promalpi-gallery-card img{
  display:block;width:100%!important;
  height:clamp(520px,65vw,880px)!important;
  object-fit:cover;
  filter:grayscale(1) contrast(1.13);
  clip-path:inset(100% 0 0 0);
  transform:scale(1.1) translateY(var(--pa-parallax,0px));
  transition:clip-path 1.05s cubic-bezier(.77,0,.18,1),transform 1.2s cubic-bezier(.2,.7,.2,1);
}
.promalpi-gallery-card.is-visible img{clip-path:inset(0);transform:scale(1) translateY(var(--pa-parallax,0px))}
.promalpi-gallery-card:nth-child(2) img{height:clamp(420px,52vw,680px)!important;object-position:78% center}
.promalpi-gallery-card:nth-child(3) img{height:clamp(470px,59vw,760px)!important;object-position:20% center}
.promalpi-gallery-caption{margin-top:16px}
.promalpi-gallery-caption .elementor-heading-title{
  font-family:var(--pa-sans)!important;font-size:10px!important;letter-spacing:.17em!important;text-transform:uppercase
}

/* Sectors / modular cards */
.promalpi-sectors{background:var(--pa-paper)}
.promalpi-sectors-layout{
  display:grid!important;
  grid-template-columns:.72fr 1.28fr;
  gap:clamp(70px,10vw,170px)!important;
}
.promalpi-paths{gap:18px!important}
.promalpi-path{
  position:relative;
  min-height:390px;
  padding:30px;
  border:1px solid var(--pa-line);
  border-radius:16px;
  justify-content:space-between!important;
  overflow:hidden;
  transition:background .45s ease,color .45s ease,transform .45s cubic-bezier(.2,.7,.2,1);
}
.promalpi-path:hover{background:var(--pa-ink);color:var(--pa-paper);transform:translateY(-8px)}
.promalpi-path:hover p{color:color-mix(in srgb,var(--pa-paper) 72%,transparent)}
.promalpi-path>p{max-width:530px;color:color-mix(in srgb,var(--pa-ink) 62%,transparent)}
.promalpi-path-list{
  display:grid!important;grid-template-columns:1fr 1fr;gap:10px 30px!important;
  margin-top:44px;padding-top:18px;border-top:1px solid currentColor
}
.promalpi-path-list p{margin:0;font-size:13px!important}

/* Statement transition */
.promalpi-quote{
  min-height:94vh;
  display:flex!important;align-items:center!important;
  background:var(--pa-ink);color:var(--pa-paper);
  border-radius:28px 28px 0 0;
}
.promalpi-quote-inner{max-width:1280px;margin-inline:auto;text-align:center}
.promalpi-quote-mark .elementor-heading-title{
  color:var(--pa-paper)!important;
  font-family:var(--pa-serif)!important;
  font-size:clamp(75px,10vw,155px)!important;
  line-height:.38!important;font-weight:400!important
}
.promalpi-quote-copy .elementor-heading-title{
  color:var(--pa-paper)!important;
  font-family:var(--pa-sans)!important;
  font-size:clamp(48px,7.3vw,114px)!important;
  line-height:.88!important;
  letter-spacing:-.065em!important;
  font-weight:500!important
}

/* FAQ */
.promalpi-faq-layout{
  display:grid!important;grid-template-columns:.7fr 1.3fr;
  gap:clamp(60px,10vw,170px)!important
}
.promalpi-faq .elementor-accordion-item{border-width:0 0 1px!important;border-color:var(--pa-line)!important}
.promalpi-faq .elementor-tab-title{
  padding:27px 0!important;
  font-family:var(--pa-sans);font-size:15px;font-weight:500
}
.promalpi-faq .elementor-tab-content{
  padding:0 0 28px!important;border:0!important;
  font-family:var(--pa-sans);line-height:1.7;color:color-mix(in srgb,var(--pa-ink) 62%,transparent)
}

/* Contact panel */
.promalpi-contact{
  position:relative;
  background:var(--pa-ink);color:var(--pa-paper);
  border-radius:28px 28px 0 0;
  overflow:hidden
}
.promalpi-contact:before{
  content:"PROMALPI";
  position:absolute;left:-.04em;bottom:-.15em;
  font-family:var(--pa-sans);font-size:22vw;line-height:.7;
  letter-spacing:-.085em;font-weight:600;
  color:color-mix(in srgb,var(--pa-paper) 3.5%,transparent);white-space:nowrap;pointer-events:none
}
.promalpi-contact-grid{
  position:relative;z-index:1;
  display:grid!important;grid-template-columns:1.08fr .72fr;
  gap:clamp(70px,10vw,160px)!important;align-items:start!important
}
.promalpi-contact .promalpi-h2 .elementor-heading-title,
.promalpi-contact .promalpi-h3 .elementor-heading-title{color:var(--pa-paper)}
.promalpi-contact p{color:color-mix(in srgb,var(--pa-paper) 67%,transparent)}
.promalpi-form .elementor-field-group{margin-bottom:20px!important}
.promalpi-form .elementor-field{
  color:var(--pa-paper)!important;background:transparent!important;
  border:0!important;border-bottom:1px solid color-mix(in srgb,var(--pa-paper) 35%,transparent)!important;
  border-radius:0!important;padding:15px 0!important;font-family:var(--pa-sans)!important
}
.promalpi-form .elementor-field:focus{border-color:var(--pa-paper)!important;box-shadow:none!important}
.promalpi-form .elementor-button{
  width:100%;margin-top:16px;padding:17px 24px!important;
  border-radius:0!important;background:var(--pa-paper)!important;color:var(--pa-ink)!important;
  font-size:10px!important;letter-spacing:.17em;text-transform:uppercase
}
.promalpi-footer{
  padding:34px var(--pa-gutter);
  background:var(--pa-ink);color:color-mix(in srgb,var(--pa-paper) 62%,transparent);
  border-top:1px solid var(--pa-light-line);
  flex-direction:row!important;justify-content:space-between!important;align-items:center!important;gap:24px!important
}
.promalpi-footer .elementor-heading-title{color:var(--pa-paper)!important}
.promalpi-footer p{font-size:10px!important;letter-spacing:.11em;text-transform:uppercase;margin:0}

/* General reveal */
.promalpi-reveal{opacity:0;transform:translateY(45px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.2,1)}
.promalpi-reveal.is-visible{opacity:1;transform:none}

/* Standalone details */
.promalpi-faq details{border-bottom:1px solid var(--pa-line)}
.promalpi-faq summary{cursor:pointer;padding:27px 0;font-weight:500}
.promalpi-faq details p{padding-bottom:24px;color:color-mix(in srgb,var(--pa-ink) 62%,transparent)}

@media(max-width:1024px){
  .promalpi-nav-wrap{display:none!important}
  .promalpi-hero{min-height:110vh}
  .promalpi-hero-media{width:62vw!important}
  .promalpi-hero-copy{grid-template-columns:.8fr 1.2fr}
  .promalpi-manifesto-grid,
  .promalpi-method-layout,
  .promalpi-sectors-layout,
  .promalpi-faq-layout,
  .promalpi-contact-grid{grid-template-columns:1fr}
  .promalpi-method-sticky{position:relative!important;top:auto;margin-bottom:80px}
  .promalpi-method-step{min-height:55vh}
  #soluzioni{height:460vh}
  .promalpi-service-row{flex-basis:82vw}
  .promalpi-gallery{grid-template-columns:1fr 1fr}
  .promalpi-gallery-card:nth-child(2),
  .promalpi-gallery-card:nth-child(3){margin-top:0}
  .promalpi-gallery-card:nth-child(3){grid-column:1/-1;width:72%;margin-left:auto}
}
@media(max-width:767px){
  :root{--pa-gutter:20px;--pa-space:98px}
  .promalpi-header{padding:21px 20px}
  .promalpi-hero{min-height:105svh}
  .promalpi-hero-media{
    width:100vw!important;height:62svh!important;top:0;
    transform:scale(calc(1 + var(--hero-p) * .08))
  }
  .promalpi-hero-media:after{
    content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,var(--pa-paper) 100%)
  }
  .promalpi-hero-content{min-height:105svh;padding:100px 20px 28px}
  .promalpi-hero-copy{display:flex!important;flex-direction:column!important;align-items:stretch!important}
  .promalpi-hero-copy>.promalpi-kicker{margin:0 0 auto auto;color:var(--pa-paper);mix-blend-mode:difference}
  .promalpi-hero-line{margin-top:auto;align-items:flex-start!important;transform:none}
  .promalpi-display-serif{transform:none}
  .promalpi-display{align-self:flex-end;transform:none}
  .promalpi-display-serif .elementor-heading-title{font-size:clamp(70px,24vw,112px)!important}
  .promalpi-display .elementor-heading-title{font-size:clamp(58px,18vw,88px)!important}
  .promalpi-hero-lede{width:86%;margin:26px 0 0 auto}
  .promalpi-hero-copy>.promalpi-button{margin:17px 0 0 auto}
  .promalpi-hero-meta{display:none!important}
  .promalpi-manifesto{margin-top:0;border-radius:20px 20px 0 0}
  .promalpi-manifesto-grid{gap:46px!important}
  .promalpi-manifesto-note{margin-top:42px}
  #soluzioni{
    height:auto!important;
    padding:100px 0 26px!important
  }
  .promalpi-services-head{
    position:relative!important;padding:0 20px 55px;
    flex-direction:column!important
  }
  .promalpi-service-index{
    position:relative!important;height:auto;
    width:100%!important;overflow-x:auto;
    padding:0 20px 24px;scroll-snap-type:x mandatory;
    transform:none!important
  }
  .promalpi-service-row{
    flex-basis:87vw;height:68svh;
    grid-template-columns:42px 1fr;grid-template-rows:1fr auto auto;
    padding:20px;scroll-snap-align:center
  }
  .promalpi-service-title{grid-column:1/-1;grid-row:2}
  .promalpi-service-desc{grid-column:1/-1;grid-row:3}
  .promalpi-service-row>.promalpi-kicker{grid-column:1;grid-row:1;align-self:start}
  .promalpi-service-row:after{width:44px;height:44px;right:18px;top:18px}
  .promalpi-method-step{min-height:auto;padding:75px 0 75px 58px}
  .promalpi-method-steps:before{left:11px}
  .promalpi-method-step:before{left:5px}
  .promalpi-details-head{flex-direction:column!important;align-items:flex-start!important;margin-bottom:65px}
  .promalpi-gallery{grid-template-columns:1fr}
  .promalpi-gallery-card:nth-child(3){grid-column:auto;width:100%}
  .promalpi-gallery-card img,
  .promalpi-gallery-card:nth-child(2) img,
  .promalpi-gallery-card:nth-child(3) img{height:125vw!important;max-height:600px}
  .promalpi-path{min-height:330px;padding:23px}
  .promalpi-path-list{grid-template-columns:1fr}
  .promalpi-quote{min-height:76svh;border-radius:20px 20px 0 0}
  .promalpi-contact{border-radius:20px 20px 0 0}
  .promalpi-footer{flex-direction:column!important;align-items:flex-start!important}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .promalpi-concept *{animation:none!important;transition:none!important}
  .pa-loader{display:none!important}
  .promalpi-hero-media,
  .promalpi-hero-line .elementor-heading-title,
  .promalpi-hero-lede,
  .promalpi-hero-copy>.promalpi-button,
  .promalpi-reveal,
  .promalpi-gallery-card img,
  .promalpi-manifesto-copy .promalpi-h2 .elementor-heading-title{
    opacity:1!important;transform:none!important;clip-path:none!important
  }
  #soluzioni{height:auto!important;padding-block:100px!important}
  .promalpi-services-head{position:relative!important}
  .promalpi-service-index{position:relative!important;height:auto;overflow-x:auto;transform:none!important}
}


/* ==========================================================
   PROMALPI ULTRA MOTION — Aventura-inspired interaction layer
   ========================================================== */

:root{
  --pa-mx:50vw;
  --pa-my:50vh;
  --pa-velocity:0;
  --pa-shift:0px;
}

/* Global cinematic behavior */
.promalpi-concept{
  transition:background-color .8s cubic-bezier(.2,.7,.2,1),color .8s cubic-bezier(.2,.7,.2,1);
}
.promalpi-concept:after{
  content:"";
  position:fixed;z-index:9990;inset:0;
  pointer-events:none;
  opacity:.035;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
  mix-blend-mode:multiply;
}
.pa-transition{
  position:fixed;z-index:99998;inset:0;
  display:flex;pointer-events:none;
}
.pa-transition span{
  flex:1;background:var(--pa-ink);
  transform:scaleY(0);transform-origin:bottom;
}
.pa-transition.is-active span{
  animation:paCurtain .9s cubic-bezier(.77,0,.18,1) forwards;
}
.pa-transition span:nth-child(2){animation-delay:.045s}
.pa-transition span:nth-child(3){animation-delay:.09s}
.pa-transition span:nth-child(4){animation-delay:.135s}
.pa-transition span:nth-child(5){animation-delay:.18s}
@keyframes paCurtain{
  0%{transform:scaleY(0);transform-origin:bottom}
  48%{transform:scaleY(1);transform-origin:bottom}
  52%{transform:scaleY(1);transform-origin:top}
  100%{transform:scaleY(0);transform-origin:top}
}

/* Custom cursor */
.pa-cursor,
.pa-cursor-dot{
  position:fixed;z-index:100000;left:0;top:0;
  pointer-events:none;border-radius:50%;
  transform:translate3d(-100px,-100px,0);
}
.pa-cursor{
  width:72px;height:72px;
  display:grid;place-items:center;
  border:1px solid color-mix(in srgb,var(--pa-ink) 65%,transparent);
  background:color-mix(in srgb,var(--pa-paper) 8%,transparent);
  backdrop-filter:blur(5px);
  transition:width .35s ease,height .35s ease,background .35s ease,border-color .35s ease;
  mix-blend-mode:difference;
}
.pa-cursor-dot{width:6px;height:6px;background:var(--pa-paper);mix-blend-mode:difference}
.pa-cursor__label{
  color:var(--pa-paper);font-size:9px;letter-spacing:.15em;text-transform:uppercase;
  opacity:0;transform:scale(.7);transition:opacity .25s ease,transform .25s ease;
}
.pa-cursor.is-view{width:104px;height:104px;background:var(--pa-paper);border-color:var(--pa-paper);mix-blend-mode:normal}
.pa-cursor.is-view .pa-cursor__label{color:var(--pa-ink);opacity:1;transform:none}
.pa-cursor.is-link{width:48px;height:48px;background:var(--pa-paper);border-color:var(--pa-paper)}
.pa-cursor.is-hidden{opacity:0}

/* Fullscreen menu */
.pa-menu-trigger{
  display:none;
  position:relative;z-index:35;
  width:54px;height:54px;
  align-items:center;justify-content:center;
  border:1px solid color-mix(in srgb,var(--pa-paper) 55%,transparent);
  border-radius:50%;color:var(--pa-paper);
  font:500 9px/1 var(--pa-sans);
  letter-spacing:.15em;text-transform:uppercase;
  cursor:pointer;mix-blend-mode:difference;
}
.pa-menu{
  position:fixed;z-index:9000;inset:0;
  display:grid;grid-template-columns:1.18fr .82fr;
  color:var(--pa-paper);background:var(--pa-ink);
  clip-path:inset(0 0 100% 0);
  transition:clip-path .9s cubic-bezier(.77,0,.18,1);
  pointer-events:none;
}
.pa-menu.is-open{clip-path:inset(0);pointer-events:auto}
.pa-menu__main{
  padding:clamp(100px,13vh,170px) var(--pa-gutter) 50px;
  display:flex;flex-direction:column;justify-content:space-between
}
.pa-menu__links{display:flex;flex-direction:column}
.pa-menu__link{
  position:relative;display:flex;align-items:baseline;gap:24px;
  padding:10px 0;color:inherit;text-decoration:none;overflow:hidden;
}
.pa-menu__link span:first-child{font-size:10px;letter-spacing:.16em}
.pa-menu__link span:last-child{
  font-family:var(--pa-sans);font-size:clamp(58px,8vw,132px);
  line-height:.82;letter-spacing:-.065em;
  transition:transform .4s cubic-bezier(.2,.7,.2,1),font-family .2s ease;
}
.pa-menu__link:after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:color-mix(in srgb,var(--pa-paper) 22%,transparent);transform:scaleX(0);transform-origin:left;
  transition:transform .45s ease
}
.pa-menu__link:hover span:last-child{transform:translateX(22px);font-family:var(--pa-serif);font-style:italic}
.pa-menu__link:hover:after{transform:scaleX(1)}
.pa-menu__visual{position:relative;overflow:hidden}
.pa-menu__visual img{
  width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.12);
  transform:scale(1.12);transition:transform 1.2s cubic-bezier(.2,.7,.2,1)
}
.pa-menu.is-open .pa-menu__visual img{transform:scale(1)}
.pa-menu__visual:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 50%,color-mix(in srgb,var(--pa-ink) 80%,transparent))
}
.pa-menu__close{
  position:absolute;z-index:2;top:25px;right:var(--pa-gutter);
  width:58px;height:58px;border:1px solid color-mix(in srgb,var(--pa-paper) 55%,transparent);
  border-radius:50%;display:grid;place-items:center;cursor:pointer;
  font-size:20px
}
.pa-menu__meta{
  display:flex;justify-content:space-between;gap:30px;
  padding-top:24px;border-top:1px solid color-mix(in srgb,var(--pa-paper) 22%,transparent);
  font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb,var(--pa-paper) 65%,transparent)
}

/* Header enters and collapses on scroll */
.promalpi-header{
  transition:padding .4s ease,transform .55s cubic-bezier(.2,.7,.2,1),background .4s ease;
}
.promalpi-header.is-compact{
  position:fixed!important;
  padding-top:14px;padding-bottom:14px;
  background:color-mix(in srgb,var(--pa-ink) 8%,transparent);
  backdrop-filter:blur(12px);
}
.promalpi-header.is-hidden{transform:translateY(-120%)}
.promalpi-nav-wrap{display:none!important}
.pa-menu-trigger{display:flex}

/* Hero refinements */
.promalpi-hero{
  perspective:1400px;
}
.promalpi-hero-media{
  transform:
    translate3d(calc(var(--hero-p) * 16vw),calc(var(--hero-p) * 13vh),0)
    rotateY(calc(var(--hero-p) * -7deg))
    scale(calc(1 + var(--hero-p) * .34))!important;
}
.promalpi-hero-media:before{
  content:"";position:absolute;z-index:2;inset:0;
  background:
    radial-gradient(circle at var(--pa-mx) var(--pa-my),transparent 0,color-mix(in srgb,var(--pa-ink) 4%,transparent) 18%,color-mix(in srgb,var(--pa-ink) 35%,transparent) 70%);
  mix-blend-mode:multiply;
  pointer-events:none;
}
.promalpi-hero-line{
  transform:
    translate3d(calc(var(--hero-p) * -5vw),calc(var(--hero-p) * -12vh),0)
    scale(calc(1 - var(--hero-p) * .08))!important;
}
.promalpi-hero-line .elementor-heading-title{
  text-shadow:0 0 1px transparent;
}
.promalpi-hero-line .elementor-heading-title .pa-word{
  display:inline-block;overflow:hidden;vertical-align:bottom;
}
.promalpi-hero-line .elementor-heading-title .pa-word-inner{
  display:inline-block;will-change:transform;
}
.pa-hero-orbit{
  position:absolute;z-index:8;right:var(--pa-gutter);top:20vh;
  width:126px;height:126px;border:1px solid color-mix(in srgb,var(--pa-ink) 45%,transparent);
  border-radius:50%;display:grid;place-items:center;
  animation:paSpin 15s linear infinite;
}
.pa-hero-orbit:before{
  content:"SCROLL TO EXPLORE • TEXTILE IDENTITY • ";
  width:100%;height:100%;
  display:flex;align-items:center;justify-content:center;
  font-size:8px;letter-spacing:.18em;word-spacing:8px;text-align:center
}
.pa-hero-orbit:after{
  content:"↓";position:absolute;font-size:18px;
  animation:paCounterSpin 15s linear infinite
}
@keyframes paSpin{to{transform:rotate(360deg)}}
@keyframes paCounterSpin{to{transform:rotate(-360deg)}}

/* Word and line reveal */
.pa-split .elementor-heading-title .pa-word{
  display:inline-block;overflow:hidden;margin-right:.18em;vertical-align:bottom;
}
.pa-split .elementor-heading-title .pa-word-inner{
  display:inline-block;transform:translateY(115%) rotate(2deg);
  transition:transform .85s cubic-bezier(.2,.75,.2,1);
  transition-delay:calc(var(--i) * 38ms);
}
.pa-split.is-visible .elementor-heading-title .pa-word-inner{transform:none}
.pa-char-split .pa-char{
  display:inline-block;transform:translateY(110%);opacity:0;
  transition:transform .75s cubic-bezier(.2,.75,.2,1),opacity .5s ease;
  transition-delay:calc(var(--i) * 22ms)
}
.pa-char-split.is-visible .pa-char{transform:none;opacity:1}

/* Marquee */
.pa-marquee{
  position:relative;z-index:3;
  overflow:hidden;padding:22px 0;
  border-top:1px solid var(--pa-line);border-bottom:1px solid var(--pa-line);
  background:var(--pa-paper)
}
.pa-marquee__track{
  display:flex;width:max-content;gap:3vw;
  transform:translate3d(var(--pa-marquee-x,0px),0,0);
  will-change:transform
}
.pa-marquee__item{
  display:flex;align-items:center;gap:3vw;
  white-space:nowrap;
  font-family:var(--pa-sans);font-size:clamp(36px,5.8vw,92px);
  line-height:.88;letter-spacing:-.055em;text-transform:uppercase
}
.pa-marquee__item em{font-family:var(--pa-serif);font-weight:400;text-transform:none}
.pa-marquee__dot{width:10px;height:10px;border-radius:50%;background:var(--pa-ink)}

/* Numbers block: Aventura-like visual scene */
.pa-numbers{
  position:relative;min-height:115vh;
  display:flex;align-items:center;
  background:var(--pa-paper);overflow:hidden
}
.pa-numbers__grid{
  display:grid!important;
  grid-template-columns:.75fr 1.25fr;
  gap:clamp(50px,9vw,160px)!important;
  align-items:center!important
}
.pa-numbers__visual{
  position:relative;height:min(75vh,760px);
  border-radius:22px;overflow:hidden;
  transform:rotate(calc(var(--pa-number-p,0) * -2deg)) scale(calc(.92 + var(--pa-number-p,0) * .08))
}
.pa-numbers__visual img{
  width:100%!important;height:100%!important;object-fit:cover;
  filter:grayscale(1) contrast(1.12);
  transform:scale(calc(1.18 - var(--pa-number-p,0) * .12))
}
.pa-numbers__visual:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 45%,color-mix(in srgb,var(--pa-ink) 62%,transparent))
}
.pa-numbers__giant{
  position:absolute;z-index:2;left:-.05em;bottom:-.12em;
  font-family:var(--pa-sans);font-size:min(30vw,490px);
  line-height:.72;letter-spacing:-.12em;font-weight:600;color:var(--pa-paper);
  transform:translateX(calc((1 - var(--pa-number-p,0)) * -12%))
}
.pa-numbers__content{gap:36px!important}
.pa-numbers__intro{max-width:660px}
.pa-numbers__list{border-top:1px solid var(--pa-line)}
.pa-stat{
  display:grid!important;grid-template-columns:120px 1fr;
  gap:30px!important;align-items:center!important;
  padding:28px 0;border-bottom:1px solid var(--pa-line)
}
.pa-stat__number .elementor-heading-title{
  font-family:var(--pa-serif)!important;font-size:clamp(54px,6vw,92px)!important;
  font-weight:400!important;line-height:.8!important
}
.pa-stat__label p{margin:0}

/* Pinned solutions gets active layers, counter, and progress */
#soluzioni{height:640vh!important}
.promalpi-services-head{z-index:8!important}
.promalpi-services-head:after{
  content:"";position:absolute;left:var(--pa-gutter);right:var(--pa-gutter);bottom:-28px;height:1px;
  background:color-mix(in srgb,var(--pa-paper) 18%,transparent)
}
.pa-services-ui{
  position:sticky;z-index:10;top:calc(100vh - 64px);
  height:0;pointer-events:none;color:var(--pa-paper)
}
.pa-services-counter{
  position:absolute;left:var(--pa-gutter);bottom:26px;
  font-size:10px;letter-spacing:.16em
}
.pa-services-progress{
  position:absolute;left:50%;bottom:30px;
  width:min(36vw,520px);height:1px;
  background:color-mix(in srgb,var(--pa-paper) 20%,transparent);transform:translateX(-50%)
}
.pa-services-progress span{
  display:block;width:100%;height:100%;background:var(--pa-paper);
  transform:scaleX(var(--pa-services-progress,0));transform-origin:left
}
.promalpi-service-row{
  transform:
    translateY(calc((1 - var(--pa-card-active,0)) * 58px))
    rotate(calc((1 - var(--pa-card-active,0)) * 1.8deg))
    scale(calc(.92 + var(--pa-card-active,0) * .08));
  opacity:calc(.36 + var(--pa-card-active,0) * .64);
  transition:opacity .25s linear;
  box-shadow:0 35px 90px color-mix(in srgb,var(--pa-ink) 24%,transparent)
}
.promalpi-service-row:before{
  content:"";position:absolute;z-index:2;inset:0;
  opacity:calc(1 - var(--pa-card-active,0));
  background:color-mix(in srgb,var(--pa-ink) 35%,transparent);
  transition:opacity .2s linear;pointer-events:none
}
.promalpi-service-image img{
  transform:
    scale(calc(1.18 - var(--pa-card-active,0) * .12))
    translateX(calc((1 - var(--pa-card-active,0)) * 3%))!important
}

/* Craft / technology-driven scene */
.pa-craft{
  position:relative;height:620vh;
  color:var(--pa-paper);background:var(--pa-ink)
}
.pa-craft__sticky{
  position:sticky!important;top:0;height:100vh;
  display:grid!important;grid-template-columns:.78fr 1.22fr;
  gap:clamp(35px,7vw,120px)!important;
  align-items:stretch!important;
  padding:72px var(--pa-gutter) 34px;
  overflow:hidden
}
.pa-craft__left{
  position:relative;z-index:4;
  justify-content:space-between!important;padding-top:20px;padding-bottom:36px
}
.pa-craft__title .elementor-heading-title{color:var(--pa-paper)!important}
.pa-craft__title em{font-family:var(--pa-serif);font-weight:400}
.pa-craft__list{border-top:1px solid var(--pa-light-line)}
.pa-craft-item{
  display:grid!important;grid-template-columns:52px 1fr;
  gap:20px!important;align-items:center!important;
  padding:17px 0;border-bottom:1px solid var(--pa-light-line);
  opacity:.28;transition:opacity .45s ease,padding-left .45s ease
}
.pa-craft-item.is-active{opacity:1;padding-left:15px}
.pa-craft-item .elementor-heading-title{
  color:var(--pa-paper)!important;font-size:clamp(22px,2.1vw,34px)!important
}
.pa-craft__right{position:relative;border-radius:20px;overflow:hidden;background:var(--pa-ink)}
.pa-craft-media{
  position:absolute!important;inset:0;width:100%!important;height:100%!important;
  opacity:0;clip-path:inset(0 0 100% 0);
  transform:scale(1.15);
  transition:opacity .65s ease,clip-path .9s cubic-bezier(.77,0,.18,1),transform 1.2s cubic-bezier(.2,.7,.2,1)
}
.pa-craft-media.is-active{opacity:1;clip-path:inset(0);transform:scale(1)}
.pa-craft-media img{
  width:100%!important;height:100%!important;object-fit:cover;filter:grayscale(1) contrast(1.14)
}
.pa-craft-media:nth-child(2) img{object-position:80% 50%}
.pa-craft-media:nth-child(3) img{object-position:20% 50%;transform:scaleX(-1)}
.pa-craft-media:nth-child(4) img{object-position:60% 30%;filter:grayscale(1) contrast(1.35) brightness(.8)}
.pa-craft-media:nth-child(5) img{object-position:35% 70%;transform:scale(1.15)}
.pa-craft-media:nth-child(6) img{object-position:72% 65%;filter:grayscale(1) sepia(.18) contrast(1.2)}
.pa-craft__right:after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 55%,color-mix(in srgb,var(--pa-ink) 75%,transparent));pointer-events:none
}
.pa-craft__caption{
  position:absolute;z-index:4;left:30px;right:30px;bottom:28px;
  display:flex;justify-content:space-between;align-items:flex-end;gap:30px
}
.pa-craft__caption p{max-width:520px;margin:0;color:color-mix(in srgb,var(--pa-paper) 72%,transparent)}
.pa-craft__count{
  font-family:var(--pa-serif);font-size:clamp(50px,6vw,94px);line-height:.7
}
.pa-craft__progress{
  position:absolute;z-index:5;left:0;bottom:0;width:100%;height:3px;background:color-mix(in srgb,var(--pa-paper) 18%,transparent)
}
.pa-craft__progress span{
  display:block;width:100%;height:100%;background:var(--pa-paper);
  transform:scaleX(var(--pa-craft-progress,0));transform-origin:left
}

/* Gallery now reacts to velocity */
.promalpi-gallery-card{
  transform:skewY(calc(var(--pa-velocity) * -.015deg));
  transition:transform .45s ease
}
.promalpi-gallery-card img{
  filter:grayscale(1) contrast(1.13) saturate(calc(.2 + var(--pa-hover,0) * .8))!important;
}
.promalpi-gallery-card:hover{--pa-hover:1}
.promalpi-gallery-card:hover img{transform:scale(1.055) translateY(var(--pa-parallax,0px))!important}

/* Fabric ribbon */
.pa-ribbon{
  position:relative;min-height:92vh;
  display:flex;align-items:center;overflow:hidden;
  background:var(--pa-paper)
}
.pa-ribbon__word{
  position:absolute;left:50%;top:50%;
  transform:translate(-50%,-50%) rotate(calc(var(--pa-ribbon-p,0) * -4deg));
  font-family:var(--pa-sans);font-size:31vw;line-height:.7;
  letter-spacing:-.105em;font-weight:600;color:transparent;
  -webkit-text-stroke:1px color-mix(in srgb,var(--pa-ink) 20%,transparent);white-space:nowrap
}
.pa-ribbon__media{
  position:relative;z-index:2;width:min(58vw,860px)!important;height:min(70vh,690px)!important;
  margin:auto;overflow:hidden;border-radius:999px;
  transform:rotate(calc(-5deg + var(--pa-ribbon-p,0) * 10deg)) scale(calc(.78 + var(--pa-ribbon-p,0) * .22))
}
.pa-ribbon__media img{
  width:100%!important;height:100%!important;object-fit:cover;
  filter:grayscale(1) contrast(1.13);
  transform:translateY(calc((.5 - var(--pa-ribbon-p,0)) * 70px)) scale(1.12)
}
.pa-ribbon__copy{
  position:absolute;z-index:3;left:var(--pa-gutter);bottom:52px;
  width:min(430px,70vw)
}

/* Paths become animated stacked cards */
.promalpi-paths{perspective:1200px}
.promalpi-path{
  transform:translate3d(0,var(--pa-path-shift,0px),0) rotateX(var(--pa-path-rotate,0deg));
  transform-origin:center top
}
.promalpi-path:nth-child(2){margin-top:-1px}
.promalpi-path:after{
  content:"VIEW";position:absolute;right:26px;bottom:26px;
  width:56px;height:56px;display:grid;place-items:center;
  border-radius:50%;border:1px solid currentColor;
  font-size:8px;letter-spacing:.15em;
  transform:scale(.72);opacity:0;transition:transform .4s ease,opacity .4s ease
}
.promalpi-path:hover:after{transform:scale(1);opacity:1}

/* Principles slider, replacing invented testimonials */
.pa-principles{
  position:relative;height:430vh;background:var(--pa-paper)
}
.pa-principles__sticky{
  position:sticky!important;top:0;height:100vh;
  padding:70px var(--pa-gutter) 36px;
  display:grid!important;grid-template-rows:auto 1fr auto;overflow:hidden
}
.pa-principles__head{
  display:flex!important;flex-direction:row!important;justify-content:space-between!important;align-items:flex-start!important
}
.pa-principles__stage{position:relative}
.pa-principle{
  position:absolute!important;inset:0;
  display:grid!important;grid-template-columns:.6fr 1.4fr;
  gap:clamp(40px,8vw,130px)!important;align-items:center!important;
  opacity:0;transform:translateY(50px) scale(.96);
  pointer-events:none;transition:opacity .55s ease,transform .75s cubic-bezier(.2,.7,.2,1)
}
.pa-principle.is-active{opacity:1;transform:none;pointer-events:auto}
.pa-principle__no .elementor-heading-title{
  font-family:var(--pa-serif)!important;font-size:clamp(110px,20vw,320px)!important;
  line-height:.6!important;font-weight:400!important;color:color-mix(in srgb,var(--pa-ink) 12%,transparent)!important
}
.pa-principle__copy .elementor-heading-title{
  font-family:var(--pa-sans)!important;font-size:clamp(48px,7vw,110px)!important;
  line-height:.87!important;letter-spacing:-.065em!important;font-weight:500!important
}
.pa-principle__copy p{max-width:620px;color:color-mix(in srgb,var(--pa-ink) 62%,transparent)}
.pa-principles__footer{
  display:flex;justify-content:space-between;align-items:center;gap:30px;
  border-top:1px solid var(--pa-line);padding-top:20px
}
.pa-principles__progress{width:min(48vw,650px);height:1px;background:var(--pa-line)}
.pa-principles__progress span{
  display:block;width:100%;height:100%;background:var(--pa-ink);
  transform:scaleX(var(--pa-principles-progress,0));transform-origin:left
}

/* Quote and contact get 3D section transitions */
.promalpi-quote,
.promalpi-contact{
  transform-origin:center top;
  transform:perspective(1400px) rotateX(calc((1 - var(--pa-section-active,0)) * 4deg)) scale(calc(.965 + var(--pa-section-active,0) * .035));
}
.promalpi-quote-copy .elementor-heading-title{
  background:linear-gradient(90deg,var(--pa-paper) var(--pa-quote-progress,0%),color-mix(in srgb,var(--pa-paper) 17%,transparent) var(--pa-quote-progress,0%));
  -webkit-background-clip:text;background-clip:text;color:transparent!important
}

/* Magnetic buttons and liquid circle */
.pa-magnetic{will-change:transform}
.promalpi-button .elementor-button:after{
  content:"";position:absolute;left:50%;bottom:-2px;width:6px;height:6px;
  border-radius:50%;background:currentColor;
  transform:translate(-50%,50%) scale(0);transition:transform .4s cubic-bezier(.2,.7,.2,1)
}
.promalpi-button .elementor-button:hover:after{transform:translate(-50%,50%) scale(1)}

/* Form field motion */
.promalpi-form .elementor-field-group{position:relative}
.promalpi-form .elementor-field-group:after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--pa-paper);
  transform:scaleX(0);transform-origin:left;transition:transform .45s ease
}
.promalpi-form .elementor-field-group:focus-within:after{transform:scaleX(1)}
.promalpi-form .elementor-button{position:relative;overflow:hidden}
.promalpi-form .elementor-button:after{
  content:"";position:absolute;inset:0;background:var(--pa-white);
  transform:translateY(102%);transition:transform .45s cubic-bezier(.2,.7,.2,1);mix-blend-mode:difference
}
.promalpi-form .elementor-button:hover:after{transform:none}

/* Responsive */
@media(max-width:1024px){
  .pa-menu{grid-template-columns:1fr}
  .pa-menu__visual{display:none}
  .pa-numbers__grid{grid-template-columns:1fr}
  .pa-numbers__visual{height:62vh}
  .pa-craft__sticky{grid-template-columns:.9fr 1.1fr;gap:28px!important}
  .pa-principle{grid-template-columns:.45fr 1.55fr}
}
@media(max-width:767px){
  .pa-cursor,.pa-cursor-dot,.pa-hero-orbit{display:none!important}
  .pa-menu-trigger{width:46px;height:46px}
  .pa-menu__main{padding:100px 20px 35px}
  .pa-menu__link span:last-child{font-size:16vw}
  .promalpi-hero-media{transform:scale(calc(1 + var(--hero-p) * .08))!important}
  .promalpi-hero-line{transform:none!important}
  .pa-marquee__item{font-size:54px}
  .pa-numbers{min-height:auto}
  .pa-numbers__grid{gap:55px!important}
  .pa-numbers__visual{height:62svh}
  .pa-stat{grid-template-columns:85px 1fr}
  #soluzioni{height:auto!important}
  .pa-services-ui{display:none}
  .promalpi-service-row{transform:none!important;opacity:1!important}
  .pa-craft{height:auto;padding:90px 0;background:var(--pa-ink)}
  .pa-craft__sticky{
    position:relative!important;height:auto;display:flex!important;flex-direction:column!important;padding:0 20px
  }
  .pa-craft__right{height:70svh;order:-1}
  .pa-craft__list{margin-top:50px}
  .pa-craft-media{position:absolute!important}
  .pa-craft__caption{left:20px;right:20px;bottom:20px}
  .pa-ribbon{min-height:74svh}
  .pa-ribbon__media{width:82vw!important;height:56svh!important}
  .pa-ribbon__copy{bottom:30px}
  .pa-principles{height:auto;padding:100px 0}
  .pa-principles__sticky{position:relative!important;height:auto;padding:0 20px;display:flex!important;flex-direction:column!important}
  .pa-principles__stage{display:flex;flex-direction:column;gap:70px;margin:70px 0}
  .pa-principle{
    position:relative!important;display:grid!important;grid-template-columns:1fr!important;
    opacity:1!important;transform:none!important
  }
  .pa-principle__no .elementor-heading-title{font-size:120px!important}
  .pa-principles__footer{display:none}
}
@media(pointer:coarse){
  .pa-cursor,.pa-cursor-dot{display:none!important}
}
@media(prefers-reduced-motion:reduce){
  .pa-transition,.pa-cursor,.pa-cursor-dot,.pa-hero-orbit{display:none!important}
  .pa-menu{transition:none}
  .pa-split .elementor-heading-title .pa-word-inner,
  .pa-char-split .pa-char{transform:none!important;opacity:1!important}
  .pa-craft,.pa-principles{height:auto!important;padding-block:100px}
  .pa-craft__sticky,.pa-principles__sticky{position:relative!important;height:auto!important}
  .pa-craft-media,.pa-principle{opacity:1!important;clip-path:none!important;transform:none!important}
}


/* ==========================================================
   PROMALPI — DEFINITIVE BLACK / WHITE / ORANGE PALETTE
   Color-only override. No layout, content or motion changes.
   ========================================================== */

html,
body,
.promalpi-concept{
  background:var(--pa-paper)!important;
  color:var(--pa-ink)!important;
}

/* Pure white scenes */
.promalpi-hero,
.promalpi-manifesto,
.pa-numbers,
.promalpi-method,
.promalpi-details,
.promalpi-sectors,
.pa-ribbon,
.pa-principles,
.promalpi-rule{
  background:var(--pa-paper)!important;
  color:var(--pa-ink)!important;
}

/* Pure black scenes */
#soluzioni,
.pa-craft,
.promalpi-quote,
.promalpi-contact,
.promalpi-footer,
.pa-menu,
.pa-loader{
  background:var(--pa-ink)!important;
  color:var(--pa-paper)!important;
}

/* Black cards and panels */
.promalpi-service-row,
.pa-craft__right{
  background:var(--pa-ink)!important;
}

/* White typography inside black scenes */
#soluzioni .elementor-heading-title,
#soluzioni p,
.pa-craft .elementor-heading-title,
.pa-craft p,
.promalpi-quote .elementor-heading-title,
.promalpi-quote p,
.promalpi-contact .elementor-heading-title,
.promalpi-contact p,
.promalpi-footer .elementor-heading-title,
.promalpi-footer p,
.pa-menu,
.pa-menu a{
  color:var(--pa-paper)!important;
}

/* Black typography inside white scenes */
.promalpi-hero .elementor-heading-title,
.promalpi-hero p,
.promalpi-manifesto .elementor-heading-title,
.promalpi-manifesto p,
.pa-numbers .elementor-heading-title,
.pa-numbers p,
.promalpi-method .elementor-heading-title,
.promalpi-method p,
.promalpi-details .elementor-heading-title,
.promalpi-details p,
.promalpi-sectors .elementor-heading-title,
.promalpi-sectors p,
.pa-ribbon .elementor-heading-title,
.pa-ribbon p,
.pa-principles .elementor-heading-title,
.pa-principles p,
.promalpi-rule .elementor-heading-title,
.promalpi-rule p{
  color:var(--pa-ink);
}

/* Layered loader remains black/white only */
.pa-loader:before{background:color-mix(in srgb,var(--pa-paper) 8%,transparent)!important}
.pa-loader:after{background:color-mix(in srgb,var(--pa-paper) 4%,transparent)!important}

/* White/black borders only */
.promalpi-service-row,
.pa-craft-item,
.pa-craft__list,
.pa-craft__progress,
.pa-services-progress,
.pa-principles__progress{
  border-color:color-mix(in srgb,var(--pa-paper) 24%,transparent)!important;
}

/* Orange appears only in small interaction details */
.pa-loader__percent,
.pa-services-counter,
.pa-craft__count,
.pa-principles__footer > div:first-child{
  color:var(--pa-accent)!important;
}

.pa-scrollbar span,
.pa-marquee__dot,
.pa-services-progress span,
.pa-craft__progress span,
.pa-principles__progress span,
.promalpi-method-step.is-active:before,
.promalpi-button .elementor-button:after{
  background:var(--pa-accent)!important;
}

.pa-menu__link:after{
  background:var(--pa-accent)!important;
}

/* Keep orange away from large surfaces */
.promalpi-concept section,
.promalpi-service-row,
.pa-craft__right,
.promalpi-path,
.promalpi-contact,
.promalpi-footer{
  background-image:none;
}


/* ==========================================================
   V3 REFINEMENTS
   1. Smoother solutions horizontal motion
   2. Cleaner "Dal segno alla presenza" section
   ========================================================== */

/* Solutions: smoother, more stable rendering */
.promalpi-service-index{
  transform:translate3d(var(--pa-services-x,0px),0,0)!important;
  will-change:transform;
  backface-visibility:hidden;
  perspective:1000px;
  contain:layout paint style;
}
.promalpi-service-row{
  will-change:transform,opacity;
  backface-visibility:hidden;
  transform:
    translate3d(0,calc((1 - var(--pa-card-active,0)) * 34px),0)
    rotate(calc((1 - var(--pa-card-active,0)) * .8deg))
    scale(calc(.955 + var(--pa-card-active,0) * .045))!important;
  transition:opacity .32s ease!important;
}
.promalpi-service-image img{
  will-change:transform;
  backface-visibility:hidden;
  transform:
    scale(calc(1.11 - var(--pa-card-active,0) * .055))
    translate3d(calc((1 - var(--pa-card-active,0)) * 1.4%),0,0)!important;
}
#soluzioni{
  overscroll-behavior:contain;
}

/* Cleaner ribbon section */
.pa-ribbon{
  min-height:auto!important;
  padding:clamp(100px,13vw,190px) var(--pa-gutter)!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);
  gap:clamp(48px,8vw,130px)!important;
  align-items:center!important;
  background:var(--pa-paper)!important;
  overflow:visible!important;
}
.pa-ribbon__word{
  display:none!important;
}
.pa-ribbon__media{
  position:relative!important;
  z-index:1!important;
  width:100%!important;
  height:clamp(460px,62vw,760px)!important;
  margin:0!important;
  border-radius:18px!important;
  overflow:hidden!important;
  transform:none!important;
}
.pa-ribbon__media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  filter:grayscale(1) contrast(1.1)!important;
  transform:scale(1.03) translate3d(0,var(--pa-ribbon-image-y,0px),0)!important;
  transition:transform .3s linear;
}
.pa-ribbon__copy{
  position:relative!important;
  z-index:2!important;
  left:auto!important;
  bottom:auto!important;
  width:auto!important;
  max-width:560px!important;
  padding:0!important;
}
.pa-ribbon__copy .promalpi-kicker{
  margin-bottom:24px;
}
.pa-ribbon__copy p{
  margin:0;
  font-family:var(--pa-serif)!important;
  font-size:clamp(38px,5.2vw,78px)!important;
  line-height:.98!important;
  letter-spacing:-.035em!important;
  color:var(--pa-ink)!important;
}
@media(max-width:767px){
  .pa-ribbon{
    grid-template-columns:1fr!important;
    padding:90px 20px!important;
    gap:42px!important;
  }
  .pa-ribbon__media{
    height:118vw!important;
    max-height:610px!important;
  }
  .pa-ribbon__copy{
    max-width:100%!important;
  }
  .pa-ribbon__copy p{
    font-size:clamp(34px,11vw,56px)!important;
  }
}


/* Elementor Global Font role mapping */
.promalpi-concept,
.promalpi-concept p,
.promalpi-concept .elementor-widget-text-editor,
.promalpi-form .elementor-field,
.promalpi-faq .elementor-tab-content{
  font-family:var(--pa-body)!important;
}
.promalpi-kicker,
.promalpi-micro,
.promalpi-nav .elementor-heading-title,
.promalpi-button .elementor-button,
.pa-menu-trigger,
.pa-loader__percent,
.pa-services-counter,
.pa-menu__meta,
.pa-gallery-caption,
.promalpi-gallery-caption .elementor-heading-title{
  font-family:var(--pa-ui)!important;
}
.promalpi-display .elementor-heading-title,
.promalpi-h2 .elementor-heading-title,
.promalpi-h3 .elementor-heading-title,
.promalpi-brand .elementor-heading-title,
.pa-menu__link span:last-child,
.pa-marquee__item,
.pa-ribbon__word,
.promalpi-quote-copy .elementor-heading-title{
  font-family:var(--pa-sans)!important;
}
.promalpi-display-serif .elementor-heading-title,
.promalpi-serif .elementor-heading-title,
.promalpi-h2 em,
.promalpi-h2 i,
.promalpi-service-title .elementor-heading-title,
.pa-stat__number .elementor-heading-title,
.pa-principle__no .elementor-heading-title,
.pa-ribbon__copy p{
  font-family:var(--pa-serif)!important;
}

/* ==========================================================================
   Elementor production bridge
   Queste regole compensano esclusivamente i wrapper interni dei widget.
   Il layout principale resta nei Container Flexbox del template.
   ========================================================================== */
.promalpi-concept .elementor-widget,
.promalpi-concept .elementor-widget-container{
  min-width:0;
}
.promalpi-concept .elementor-widget-heading .elementor-heading-title,
.promalpi-concept .elementor-widget-text-editor p{
  margin-top:0;
}
.promalpi-concept .elementor-widget-text-editor p:last-child{
  margin-bottom:0;
}
.promalpi-hero-media .elementor-widget-container,
.promalpi-service-image .elementor-widget-container,
.pa-craft-media .elementor-widget-container,
.pa-ribbon__media .elementor-widget-container,
.pa-numbers__image .elementor-widget-container{
  width:100%;
  height:100%;
}
.promalpi-hero-media .elementor-widget-container img,
.promalpi-service-image .elementor-widget-container img,
.pa-craft-media .elementor-widget-container img,
.pa-ribbon__media .elementor-widget-container img,
.pa-numbers__image .elementor-widget-container img{
  display:block;
}
.promalpi-gallery-card > .elementor-widget-image .elementor-widget-container{
  overflow:hidden;
}
.promalpi-home-ui-layer,
.promalpi-home-hero-orbit-widget,
.promalpi-home-services-ui-widget{
  margin:0!important;
}
.promalpi-home-ui-layer > .elementor-widget-container,
.promalpi-home-hero-orbit-widget > .elementor-widget-container,
.promalpi-home-services-ui-widget > .elementor-widget-container{
  font-size:inherit;
  line-height:inherit;
}

/* Elementor editor safety */
body.elementor-editor-active .pa-loader,
body.elementor-editor-active .pa-transition,
body.elementor-editor-active .pa-cursor,
body.elementor-editor-active .pa-cursor-dot,
body.elementor-editor-active .pa-scrollbar{
  display:none!important;
}
body.elementor-editor-active.pa-lock{
  overflow:auto!important;
}
body.elementor-editor-active .promalpi-service-index{
  transform:none!important;
}/* End custom CSS */