
    :root{
      --bg-canvas:#1E1333;
      --bg-canvas-card:#2B1C47;
      --sidebar-purple:#6B5887;
      --palette-lavender:#9D85C6;
      --palette-plum:#7A3F67;
      --palette-terracotta:#8F5A5A;
      --palette-warm-sand:#BC957D;
      --palette-sand:#E8D19E;
      --palette-blue:#A5C4DC;
      --palette-sage:#98A78A;

      --canvas:var(--bg-canvas);
      --card:var(--bg-canvas-card);
      --sidebar:var(--sidebar-purple);
      --lavender:var(--palette-lavender);
      --plum:var(--palette-plum);
      --terracotta:var(--palette-terracotta);
      --warm-sand:var(--palette-warm-sand);
      --sand:var(--palette-sand);
      --blue:var(--palette-blue);
      --sage:var(--palette-sage);
      --ink:var(--bg-canvas);
      --white:#fff;
      --spring:cubic-bezier(.34,1.56,.64,1);
      --shadow:0 20px 50px -16px rgba(0,0,0,.68);
      --shadow-hover:0 28px 58px -16px rgba(0,0,0,.76);
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      min-height:100vh;
      color:var(--white);
      font-family:Inter,system-ui,sans-serif;
      background:
        radial-gradient(circle at 86% 6%,rgba(157,133,198,.15),transparent 22%),
        radial-gradient(circle at 8% 28%,rgba(143,90,90,.10),transparent 19%),
        var(--canvas);
    }
    body.modal-open{overflow:hidden}
    button,a,input,textarea{font:inherit}
    button,a{ -webkit-tap-highlight-color:transparent }
    a{color:inherit}
    :focus-visible{outline:3px solid var(--blue);outline-offset:4px}

    .page{width:min(1240px,calc(100% - 34px));margin:auto;padding:22px 0 72px}
    h1,h2,h3{font-family:Outfit,system-ui,sans-serif;margin:0}
    h1{font-size:clamp(54px,8vw,96px);line-height:.88;letter-spacing:-.055em;font-weight:900}
    h2{font-size:clamp(40px,5.2vw,68px);line-height:.94;letter-spacing:-.045em;font-weight:900}
    h3{font-size:clamp(22px,2.3vw,30px);line-height:1.03;font-weight:850;letter-spacing:-.025em}
    p{margin:0;color:rgba(255,255,255,.76);line-height:1.66}
    .section{
      position:relative;
      margin-top:26px;
      padding:clamp(26px,4.6vw,56px);
      border:1px solid rgba(157,133,198,.18);
      border-radius:34px;
      background:rgba(43,28,71,.52);
      overflow:hidden;
    }


    /* Hero + UI Kit lava */
    .hero{
      position:relative;
      isolation:isolate;
      overflow:hidden;
      min-height:min(760px,88svh);
      border:1px solid rgba(157,133,198,.28);
      border-radius:38px;
      background:linear-gradient(135deg,rgba(30,19,51,.96),rgba(43,28,71,.78) 56%,rgba(107,88,135,.78));
      box-shadow:0 30px 80px -28px rgba(0,0,0,.9);
      padding:clamp(34px,5.2vw,68px);
      display:grid;
      grid-template-columns:minmax(0,1.3fr) minmax(245px,.52fr);
      gap:clamp(28px,4vw,58px);
      align-items:end;
    }
    .lava-canvas{position:absolute;inset:0;overflow:hidden;z-index:-3;background:linear-gradient(180deg,rgba(107,88,135,.9),rgba(30,19,51,.96))}
    .hero::after{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(255,255,255,.015),rgba(0,0,0,.13));pointer-events:none}
    .hero-copy{position:relative;z-index:5;max-width:1230px;padding-top:90px}
    .hero-title-wrap{position:relative;display:inline-block;max-width:min(1230px,82vw)}
    .hero-copy h1{font:900 clamp(62px,6.8vw,108px)/.9 Outfit,sans-serif;letter-spacing:-.055em;color:#fff}
    .hero h1 .hero-title-accent{
      position:relative;display:inline-block;color:#fff;z-index:0;
      text-shadow:0 0 12px rgba(122,63,103,.75),0 0 30px rgba(122,63,103,.48),0 0 56px rgba(122,63,103,.28);
    }
    .hero h1 .hero-title-accent::before{
      content:"";position:absolute;z-index:-1;left:-1%;right:-1%;bottom:4%;height:38%;
      background:var(--plum);border-radius:16px 10px 14px 9px;transform:rotate(-.8deg);
      opacity:.92;filter:drop-shadow(0 0 16px rgba(122,63,103,.52));
    }
    .hero h1 .hero-title-accent::after{content:none}
    .hero-copy .hero-problem{
      max-width:1380px;margin-top:48px;
      font-size:clamp(18px,1.42vw,22px);line-height:1.58;color:rgba(255,255,255,.86);
    }
    .hero-copy .hero-em{position:relative;color:#fff;font-weight:850;z-index:0}
    .hero-copy .hero-em::after{
      content:"";position:absolute;z-index:-1;left:-2px;right:-2px;bottom:1px;height:.42em;
      background:var(--plum);opacity:.88;border-radius:7px;transform:rotate(-.7deg);
    }
    .hero-copy .hero-offer{
      max-width:1180px;margin-top:40px;color:rgba(255,255,255,.94);
      font-size:clamp(21px,1.72vw,27px);line-height:1.5;font-weight:650;
    }
    .hero-copy .hero-offer em,.hero-copy .hero-offer strong{
      background:linear-gradient(102deg,#fff 3%,var(--sand) 52%,#fff 96%);
      -webkit-background-clip:text;background-clip:text;color:transparent;
      text-shadow:0 0 18px rgba(232,209,158,.16);
    }
    .hero-copy .hero-offer em{font-style:italic;font-weight:850}
    .hero-copy .hero-offer strong{font-weight:900}


    .hero-cta-wrap{position:relative;z-index:6;display:grid;place-items:center;padding-bottom:26px}


    /* Contatti — second hero-like scene */
    .contacts-scene{
      position:relative;isolation:isolate;overflow:hidden;
      min-height:min(820px,92svh);margin-top:26px;
      padding:clamp(150px,16vh,190px) clamp(34px,5.2vw,76px) clamp(60px,7vw,92px);
      border:1px solid rgba(157,133,198,.28);border-radius:36px;
      background:linear-gradient(180deg,rgba(107,88,135,.88),rgba(30,19,51,.97));
      box-shadow:0 30px 80px -28px rgba(0,0,0,.88);
      display:grid;grid-template-columns:minmax(0,1.25fr) minmax(240px,.55fr);align-items:center;gap:48px;
    }
    .contacts-lava{position:absolute;inset:0;overflow:hidden;z-index:-2}
    .contacts-scene::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(255,255,255,.018),rgba(0,0,0,.14));pointer-events:none}
    .contact-bubble{position:absolute;bottom:-140px;filter:blur(7px);animation:lavalamp linear infinite;will-change:transform,border-radius,opacity}
    .cb1{left:9%;width:108px;height:108px;background:rgba(122,63,103,.5);animation-duration:14s;animation-delay:-5s}
    .cb2{left:32%;width:70px;height:70px;background:rgba(157,133,198,.44);animation-duration:17s;animation-delay:-9s}
    .cb3{left:55%;width:132px;height:132px;background:rgba(107,88,135,.48);animation-duration:19s;animation-delay:-3s}
    .cb4{left:76%;width:58px;height:58px;background:rgba(165,196,220,.32);animation-duration:13s;animation-delay:-7s}
    .cb5{left:88%;width:88px;height:88px;background:rgba(152,167,138,.28);animation-duration:16s;animation-delay:-11s}
    .contacts-content{position:relative;z-index:4;max-width:1040px}
    .contacts-title-row{display:flex;align-items:flex-start;gap:18px}
    .contacts-title-row h2{font-size:clamp(72px,9vw,138px);line-height:.82;letter-spacing:-.055em;font-weight:900;color:#fff}
    .contacts-location{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;margin-top:48px}
    .contacts-location strong{font:900 clamp(25px,2.4vw,34px)/1 Outfit,sans-serif;color:var(--sand)}
    .contacts-location span{font-size:clamp(17px,1.4vw,20px);font-weight:800;color:#fff}
    .contacts-neutral{max-width:790px;margin-top:26px;font-size:clamp(17px,1.5vw,21px);line-height:1.72;color:rgba(255,255,255,.82)}
    .contacts-buttons{display:flex;gap:18px;flex-wrap:wrap;margin-top:36px}
    .contact-channel{width:min(260px,100%);height:82px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;border-radius:26px;cursor:default}
    .contact-channel-main{font-size:21px;font-weight:900}
    .contact-channel-note{font:700 10px/1.2 "JetBrains Mono",monospace;text-transform:uppercase;letter-spacing:.08em;opacity:.6}
    
    .contact-whatsapp{background:rgba(30,19,51,.35);color:#fff;border:2px solid var(--sage)}
    .contact-whatsapp::before{content:"";position:absolute;inset:-6px;border:2px solid rgba(152,167,138,.55);border-radius:29px 25px 32px 26px;transform:rotate(-1.2deg);pointer-events:none}
    .contact-postit-target{position:absolute;z-index:2;right:6%;top:54%;width:220px;height:220px;pointer-events:none}

    @media(min-width:961px){
      .contacts-scene{
        min-height:520px;
        padding:72px clamp(50px,4.7vw,76px) 34px;
        grid-template-columns:minmax(0,1fr) 250px;
        gap:clamp(42px,4.2vw,72px);
        align-items:center;
      }

      .contacts-content{
        max-width:none;
        align-self:center;
        display:grid;
        grid-template-columns:minmax(0,1fr) minmax(320px,390px);
        grid-template-areas:
          "title channels"
          "location channels"
          "neutral channels";
        column-gap:clamp(46px,5vw,86px);
        row-gap:0;
        align-items:start;
      }

      .contacts-title-row{grid-area:title}
      .contacts-title-row h2{
        position:relative;
        display:inline-block;
        font-size:clamp(70px,6.4vw,104px);
        line-height:.88;
        letter-spacing:-.06em;
      }
      .contacts-title-row h2::after{
        content:"";
        position:absolute;
        left:2%;
        bottom:-10px;
        width:42%;
        height:8px;
        border-radius:999px;
        background:var(--blue);
        transform:rotate(-1.1deg);
        opacity:.86;
      }

      .contacts-location{
        grid-area:location;
        margin-top:34px;
        gap:14px;
      }
      .contacts-location strong{
        font-size:clamp(27px,2.05vw,33px);
      }
      .contacts-location span{
        font-size:clamp(16px,1.15vw,18px);
        color:rgba(255,255,255,.86);
      }

      .contacts-neutral{
        grid-area:neutral;
        max-width:690px;
        margin-top:20px;
        font-size:clamp(16px,1.25vw,19px);
        line-height:1.58;
      }

      .contacts-buttons{
        grid-area:channels;
        align-self:center;
        display:grid;
        grid-template-columns:1fr;
        gap:22px;
        width:100%;
        max-width:none;
        margin:0;
      }

      .contact-channel-group{
        width:100%;
        gap:9px;
      }

      .contact-channel{
        width:100%;
        height:102px;
        padding:0 24px;
        border-radius:28px;
      }

      .contact-channel-main{font-size:23px}
      .contact-channel-value{font-size:11px}

      /* Same family, different personality: sage WhatsApp above, blue Email below. */
      .contacts-buttons .contact-channel-group:nth-child(2){grid-row:1}
      .contacts-buttons .contact-channel-group:nth-child(1){grid-row:2}

      .contact-whatsapp{
        background:rgba(152,167,138,.88);
        color:var(--canvas);
        border:0;
        border-radius:31px 25px 33px 27px;
        box-shadow:0 12px 28px -18px rgba(0,0,0,.65);
        transform:rotate(-.45deg);
      }
      .contact-whatsapp::before{
        inset:-5px;
        border-color:rgba(200,216,186,.72);
        border-radius:34px 27px 35px 29px;
        transform:rotate(.8deg);
      }
      .contact-whatsapp .contact-channel-note{opacity:.72}

      .contact-email{
        background:rgba(165,196,220,.92);
        color:var(--canvas);
        border:0;
        border-radius:25px 32px 27px 34px;
        box-shadow:0 12px 28px -18px rgba(0,0,0,.65);
        transform:rotate(.35deg);
      }
      .contact-email::before{
        content:"";
        position:absolute;
        inset:-4px;
        border:2px solid rgba(197,222,239,.62);
        border-radius:28px 34px 29px 36px;
        transform:rotate(-.65deg);
        pointer-events:none;
      }
      .contact-email .contact-channel-note{opacity:.72}

      .home-page .contact-channel-group .contact-copy{
        color:#fff;
        background:rgba(30,19,51,.34);
        border-color:rgba(255,255,255,.18);
      }

      .contact-postit-target{
        position:absolute;
        right:clamp(46px,5vw,78px);
        top:84px;
        width:250px;
        height:250px;
      }
    }


    @media(max-width:960px){
      .hero{grid-template-columns:1fr;min-height:760px;align-items:center}
      .hero-copy{padding-top:100px}
      .hero-title-wrap{max-width:100%}
      .hero-cta-wrap{justify-self:end;padding-right:8%;padding-bottom:10px}
      
      .contacts-scene{grid-template-columns:1fr;min-height:780px;padding-top:150px;padding-bottom:230px}.contact-postit-target{right:8%;top:auto;bottom:36px;width:180px;height:180px}
    }

    @media(max-width:620px){
      .page{width:min(100% - 18px,1240px);padding-top:9px}
      .hero,.section,.contacts-scene{border-radius:24px}
      .hero{min-height:710px;padding:28px 23px;gap:20px}
      h1{font-size:clamp(48px,16vw,70px)}
      h2{font-size:clamp(36px,11vw,50px)}
      .hero-copy{padding-top:90px}
      .hero-title-wrap{max-width:100%}
      .hero-copy .hero-problem{margin-top:34px;font-size:16px;line-height:1.62}
      .hero-copy .hero-offer{margin-top:30px;font-size:18px;line-height:1.45}
      .hero-cta-wrap{justify-self:center;padding:0}.postit{width:min(248px,78vw)}
      .section{padding:28px 22px;margin-top:18px}
      
      .contacts-scene{min-height:760px;padding:132px 23px 54px;border-radius:24px;grid-template-columns:1fr;gap:28px}.contacts-title-row{gap:10px}.contacts-title-row h2{font-size:clamp(62px,20vw,90px)}.contacts-location{margin-top:34px;gap:10px}.contacts-neutral{font-size:16px;line-height:1.62}.contacts-buttons{gap:12px;margin-top:28px}.contact-channel{width:100%;height:68px}.contact-postit-target{right:7%;top:auto;bottom:24px;width:132px;height:132px}
    }


    /* Full-width layout + persistent navbar/post-it morph */
    :root{--site-edge:16px;--nav-height:104px;--nav-progress:0}
    body{padding-top:0}
    .page{width:calc(100% - (var(--site-edge) * 2));max-width:none}
    .section{padding-left:clamp(28px,4.3vw,74px);padding-right:clamp(28px,4.3vw,74px)}


    .hero{
      min-height:min(760px,88svh);
      padding-top:clamp(122px,12vh,150px);
      padding-bottom:clamp(42px,4.4vw,58px);
      width:100%;
      border-radius:34px;
    }
    .hero-copy{padding-top:0;max-width:1240px;align-self:center}
    .hero-title-wrap{max-width:min(920px,72vw)}
    .hero-copy .hero-problem{max-width:1160px;margin-top:40px}
    .hero-copy .hero-offer{max-width:1080px;margin-top:32px}
    .hero-cta-wrap{min-height:282px;min-width:282px;padding-bottom:8px}

    @media(max-width:900px){
      .hero{padding-top:132px}
    }
    @media(max-width:620px){
      .hero{padding-top:118px;min-height:760px}
      .hero-cta-wrap{min-width:0}
    }

    @media(prefers-reduced-motion:reduce){
      html{scroll-behavior:auto}
      *,*::before,*::after{animation:none!important;transition:none!important}
      .postit:hover,.btn:hover,.btn:active{transform:none!important}
      
    }
  

/* Contact channel helpers. */
.contact-channel-group{display:grid;gap:10px;width:min(300px,100%)}
.contact-channel-group .contact-channel{width:100%;cursor:pointer;text-decoration:none}
.contact-channel-value{text-transform:none;letter-spacing:0;font-size:12px;overflow-wrap:anywhere;text-align:right}
.home-page .contact-channel-group .contact-copy{justify-self:start;border:1px solid rgba(255,255,255,.24);background:rgba(30,19,51,.32);color:#fff}
.home-page .contact-channel-group .contact-copy:hover{background:rgba(30,19,51,.5)}
@media(max-width:620px){
  .contacts-buttons{align-items:stretch}
  .contact-channel-group{width:100%}
  .contact-channel{width:100%!important}
  .contact-channel-value{font-size:11px}
}


/* Homepage-specific persistent post-it origin. */
.home-page #homePostitOrigin{width:282px;height:282px}
.home-page .hero-cta-wrap{display:grid;place-items:center}
@media(max-width:620px){
  .home-page .hero{padding-top:135px}
  .home-page #homePostitOrigin{width:210px;height:210px}
}


/* Chi sono V2 — typographic two-part layout */
.home-page .about.about-v2{
  position:relative;
  isolation:isolate;
  display:block;
  width:100%;
  height:auto;
  min-height:0;
  margin-top:26px;
  padding:clamp(72px,8vw,118px) clamp(24px,4.5vw,58px) clamp(82px,9vw,126px);
  overflow:hidden;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.home-page .about-v2__bubble{
  position:absolute;
  z-index:-1;
  display:block;
  border-radius:50%;
  opacity:.9;
  pointer-events:none;
}
.home-page .about-v2__bubble--a{
  width:58px;height:58px;
  right:7%;top:10%;
  background:var(--plum);
}
.home-page .about-v2__bubble--b{
  width:24px;height:24px;
  right:3.5%;top:17%;
  background:var(--blue);
}
.home-page .about-v2__bubble--c{
  width:15px;height:15px;
  right:10.8%;top:20%;
  background:var(--sage);
}
.home-page .about-v2__bubble--d{
  width:31px;height:31px;
  left:2%;bottom:8%;
  background:var(--terracotta);
}
.home-page .about-v2__bubble--e{
  width:13px;height:13px;
  left:6%;bottom:4.5%;
  background:var(--sand);
}
.home-page .about-v2__label{
  margin:0 0 48px;
  color:var(--lavender);
  font:800 13px/1 Outfit,sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.home-page .about-v2__layout{
  display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);
  gap:clamp(72px,9vw,132px);
  align-items:start;
}
.home-page .about-v2__block{
  position:relative;
  min-width:0;
}
.home-page .about-v2__block--diaspro{
  padding-top:clamp(116px,13vw,205px);
}
.home-page .about-v2__title{
  position:relative;
  display:inline-block;
  max-width:none;
  margin:0;
  color:#fff;
  font:900 clamp(54px,6.3vw,96px)/.88 Outfit,sans-serif;
  letter-spacing:-.062em;
}
.home-page .about-v2__title::after{
  content:"";
  position:absolute;
  left:2%;
  bottom:-16px;
  width:76%;
  height:8px;
  border-radius:999px;
  background:var(--sage);
  transform:rotate(-1.5deg);
}
.home-page .about-v2__block--diaspro .about-v2__title::after{
  left:18%;
  width:62%;
  background:var(--terracotta);
  transform:rotate(1.2deg);
}
.home-page .about-v2__lead{
  max-width:620px;
  margin:54px 0 0;
  color:#fff;
  font-size:clamp(22px,2.05vw,31px);
  line-height:1.22;
  letter-spacing:-.026em;
  font-weight:650;
}
.home-page .about-v2__lead strong{
  color:var(--sand);
  font-weight:800;
}
.home-page .about-v2__copy{
  max-width:650px;
  margin-top:34px;
  display:grid;
  gap:20px;
  color:rgba(255,255,255,.72);
  font-size:clamp(16px,1.2vw,19px);
  line-height:1.72;
  font-weight:400;
}
.home-page .about-v2__copy p{
  margin:0;
  color:inherit;
  font-size:inherit;
  line-height:inherit;
}
.home-page .about-v2__accent{
  position:relative;
  max-width:700px;
  margin:42px 0 0;
  padding-left:24px;
  color:#fff;
  font-size:clamp(21px,1.85vw,28px);
  line-height:1.34;
  letter-spacing:-.018em;
  font-weight:700;
}
.home-page .about-v2__accent::before{
  content:"";
  position:absolute;
  left:0;
  top:.18em;
  bottom:.18em;
  width:4px;
  border-radius:999px;
  background:var(--blue);
  transform:rotate(1deg);
}
.home-page .about-v2__closing{
  max-width:710px;
  margin:48px 0 0;
  color:#fff;
  font-size:clamp(24px,2.25vw,35px);
  line-height:1.22;
  letter-spacing:-.03em;
  font-weight:800;
}
.home-page .about-v2__closing .about-v2__diaspro{
  position:relative;
  color:var(--sand);
}
.home-page .about-v2__closing .about-v2__diaspro::after{
  content:"";
  position:absolute;
  left:-2px;
  right:-4px;
  bottom:-4px;
  height:4px;
  border-radius:999px;
  background:var(--plum);
  transform:rotate(-1deg);
}
.home-page .about-v2__connector{
  position:absolute;
  z-index:-1;
  left:44%;
  top:39%;
  width:130px;
  height:210px;
  opacity:.55;
  transform:rotate(13deg);
  pointer-events:none;
}
.home-page .about-v2__connector path{
  fill:none;
  stroke:var(--lavender);
  stroke-width:2.5;
  stroke-linecap:round;
  stroke-dasharray:1 11;
}
.home-page .about-v2__footer-mark{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:9px;
  margin-top:90px;
  opacity:.62;
}
.home-page .about-v2__footer-mark span{
  display:block;
  border-radius:50%;
}
.home-page .about-v2__footer-mark span:nth-child(1){width:8px;height:8px;background:var(--sage)}
.home-page .about-v2__footer-mark span:nth-child(2){width:15px;height:15px;background:var(--plum)}
.home-page .about-v2__footer-mark span:nth-child(3){width:7px;height:7px;background:var(--blue)}

@media(max-width:900px){
  .home-page .about.about-v2{
    padding:68px 10px 92px;
  }
  .home-page .about-v2__label{margin-bottom:38px}
  .home-page .about-v2__layout{
    grid-template-columns:1fr;
    gap:92px;
  }
  .home-page .about-v2__block--diaspro{padding-top:0}
  .home-page .about-v2__title{
    font-size:clamp(54px,13vw,82px);
  }
  .home-page .about-v2__lead{
    margin-top:46px;
    font-size:clamp(21px,5.2vw,28px);
  }
  .home-page .about-v2__copy{
    font-size:16px;
    line-height:1.67;
  }
  .home-page .about-v2__accent{
    font-size:21px;
  }
  .home-page .about-v2__closing{
    font-size:clamp(24px,5.8vw,31px);
  }
  .home-page .about-v2__connector{display:none}
  .home-page .about-v2__bubble--a{
    right:-12px;top:42px;width:42px;height:42px;
  }
  .home-page .about-v2__bubble--b{right:35px;top:85px}
  .home-page .about-v2__bubble--c{display:none}
  .home-page .about-v2__bubble--d{
    left:auto;right:6%;bottom:3%;
  }
  .home-page .about-v2__bubble--e{
    left:auto;right:1%;bottom:6.5%;
  }
  .home-page .about-v2__footer-mark{margin-top:66px}
}
@media(max-width:460px){
  .home-page .about.about-v2{padding-left:4px;padding-right:4px}
  .home-page .about-v2__title::after{height:6px;bottom:-12px}
  .home-page .about-v2__lead{margin-top:40px}
  .home-page .about-v2__accent{padding-left:18px}
}
