.pp-page{--pp-orange:#FF7F2A;--pp-ink:#151515;--pp-muted:#666;--pp-line:#d9d9d9;--pp-soft:#f3f3f1;color:var(--pp-ink);font-family:Manrope,Arial,sans-serif;overflow:hidden}
.pp-frame{width:min(1360px,calc(100% - 64px));margin-inline:auto}
.pp-page h1,.pp-page h2,.pp-page h3,.pp-page p{margin-top:0}
.pp-page h1,.pp-page h2,.pp-page h3{font-weight:500;letter-spacing:-.045em;line-height:.98}
.pp-kicker{font-size:14px;font-weight:700;letter-spacing:.085em;text-transform:uppercase;color:var(--pp-orange);margin-bottom:22px}
.pp-slash{font-size:16px;font-weight:400;line-height:1.4;letter-spacing:normal;margin:0 0 20px;color:#000}
.pp-slash-mark{color:var(--pp-orange);font-weight:700;margin-right:3px}
.pp-hero{padding:76px 0 105px;background:#f7f7f5}
.pp-hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(430px,.98fr);gap:clamp(50px,7vw,110px);align-items:center}
.pp-hero h1{font-size:clamp(60px,7.2vw,112px);max-width:830px;margin-bottom:35px}
.pp-hero-copy>p{font-size:clamp(19px,1.55vw,25px);line-height:1.5;max-width:690px;color:#4d4d4d}
.pp-hero-actions{display:flex;gap:12px;align-items:center;margin-top:42px;flex-wrap:wrap}
.pp-button{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-width:258px;height:58px;padding:11px 12px 11px 21px;border:1px solid var(--pp-orange);background:var(--pp-orange);color:#fff!important;text-decoration:none;font-size:15px;font-weight:750;line-height:1.25;transition:background-color .25s ease,border-color .25s ease,transform .25s ease,box-shadow .25s ease}
.pp-button span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#fff;color:var(--pp-orange);font-size:18px;line-height:1;transition:transform .25s ease,background-color .25s ease,color .25s ease}.pp-button:hover{border-color:#111;background:#111;transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,0,0,.13)}.pp-button:hover span{transform:translateX(3px);background:var(--pp-orange);color:#fff}.pp-text-link{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:space-between;gap:24px;height:58px;min-width:205px;padding:11px 12px 11px 19px;border:1px solid #bdbdb9;color:#171717!important;background:transparent;font-size:15px;font-weight:700;text-decoration:none;transition:border-color .25s ease,background-color .25s ease,transform .25s ease}.pp-text-link span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#e2e2de;color:#111;font-size:15px;transition:background-color .25s ease,color .25s ease,transform .25s ease}.pp-text-link:hover{border-color:#111;background:#fff;transform:translateY(-2px)}.pp-text-link:hover span{background:#111;color:#fff;transform:translateY(2px)}
.pp-hero-visual{position:relative;min-height:620px}
.pp-hero-visual::before{content:"";position:absolute;inset:35px 0 35px 50px;background:#171717;box-shadow:0 28px 55px rgba(0,0,0,.13)}
.pp-hero-cad{position:absolute;width:80%;right:0;top:0;aspect-ratio:1/1;object-fit:cover;z-index:1}
.pp-hero-part{position:absolute;width:47%;left:0;bottom:0;aspect-ratio:1/1;object-fit:cover;z-index:2;border:12px solid #f7f7f5}
.pp-hero-note{position:absolute;right:25px;bottom:18px;z-index:3;color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.pp-intro{padding:120px 0}
.pp-intro-head{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;margin-bottom:78px}
.pp-intro h2,.pp-process h2,.pp-case h2,.pp-quality h2,.pp-quote h2,.pp-cta h2{font-size:clamp(44px,5.3vw,78px);max-width:900px}
.pp-intro-head>p{font-size:20px;line-height:1.65;color:var(--pp-muted);max-width:700px}
.pp-values{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--pp-line);border-bottom:1px solid var(--pp-line)}
.pp-values article{position:relative;padding:35px 35px 42px 0;border-right:1px solid var(--pp-line);transition:background-color .3s ease,transform .3s ease}
.pp-values article+article{padding-left:35px}.pp-values article:last-child{border-right:0}
.pp-values article::before{content:"";position:absolute;left:0;right:35px;top:-1px;height:3px;background:var(--pp-orange);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.pp-values article+article::before{left:35px}.pp-values article:hover{background:#fafaf8}.pp-values article:hover::before{transform:scaleX(1)}
.pp-step>span{display:block;color:var(--pp-orange);font-size:13px;font-weight:800;letter-spacing:.1em;margin-bottom:42px}
.pp-values h3{font-size:29px;margin-bottom:18px}.pp-values p{font-size:16px;color:var(--pp-muted);line-height:1.65;margin-bottom:0}
.pp-process{padding:115px 0;background:#181818;color:#fff}
.pp-process h2,.pp-process h3{color:#fff!important}
.pp-process-head{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:70px}
.pp-process-head p{max-width:500px;font-size:18px;line-height:1.65;color:#b9b9b9}
.pp-steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #444;border-left:1px solid #444}
.pp-step{min-height:310px;padding:30px;border-right:1px solid #444;border-bottom:1px solid #444;display:flex;flex-direction:column;transition:background-color .3s ease,border-color .3s ease}.pp-step:hover{background:#222;border-color:#555}
.pp-step>span{margin-bottom:auto}.pp-step h3{font-size:31px;margin-bottom:17px}.pp-step p{font-size:16px;color:#bcbcbc;line-height:1.68;margin-bottom:0}
.pp-timeline{padding:120px 0;background:#eeeee9}
.pp-timeline-head{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:end;margin-bottom:65px}
.pp-timeline h2{font-size:clamp(46px,5.4vw,80px)}.pp-timeline-head p{font-size:18px;line-height:1.65;color:var(--pp-muted);max-width:600px}
.pp-timeline-chart{background:#fff;padding:38px 35px 45px;border:1px solid #deded9;box-shadow:0 18px 55px rgba(0,0,0,.06)}
.pp-weeks,.pp-tl-row{display:grid;grid-template-columns:200px repeat(12,1fr);align-items:center}
.pp-weeks{font-size:11px;color:#707070;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid #ddd;padding-bottom:13px}.pp-weeks span:first-child{color:#111;font-weight:700}
.pp-tl-row{min-height:68px;border-bottom:1px solid #eee;position:relative}.pp-tl-row:last-child{border-bottom:0}.pp-tl-label{font-size:15px;font-weight:700;padding-right:20px}.pp-bar{height:10px;background:#202020;position:relative}.pp-bar.orange{background:var(--pp-orange)}
.pp-bar::after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:inherit;right:-4px;top:0}
.pp-tl-note{font-size:14px;line-height:1.55;color:#6e6e6e;margin:24px 0 0}
.pp-case{padding:120px 0}.pp-case-head{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:end;margin-bottom:62px}.pp-case-head p{font-size:18px;line-height:1.65;color:var(--pp-muted);max-width:650px}
.pp-case-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.pp-case-card{position:relative;background:#111;min-height:590px;overflow:hidden;box-shadow:0 18px 42px rgba(0,0,0,.1)}.pp-case-card img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:transform .7s ease}.pp-case-card:hover img{transform:scale(1.035)}
.pp-case-card figcaption{position:absolute;left:0;right:0;bottom:0;padding:65px 32px 30px;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.9));font-size:17px;line-height:1.45;font-weight:700}.pp-case-card figcaption span{display:block;color:var(--pp-orange);font-size:12px;letter-spacing:.1em;margin-bottom:10px}
.pp-quality{padding:120px 0;background:#f4f4f2}.pp-quality-head{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-bottom:70px}.pp-quality-head p{font-size:18px;line-height:1.65;color:var(--pp-muted);max-width:590px}
.pp-quality-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#d8d8d5}.pp-quality-item{background:#f4f4f2;padding:34px;min-height:275px;transition:background-color .3s ease,transform .3s ease,box-shadow .3s ease}.pp-quality-item:hover{position:relative;z-index:1;background:#fff;transform:translateY(-4px);box-shadow:0 14px 32px rgba(0,0,0,.08)}.pp-quality-item h3{font-size:27px;line-height:1.08;margin-bottom:16px}.pp-quality-item p{font-size:16px;line-height:1.65;color:var(--pp-muted)}
.pp-quote{padding:110px 0}.pp-quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.pp-costs{border-top:1px solid var(--pp-line)}.pp-cost{display:block;padding:27px 0;border-bottom:1px solid var(--pp-line);transition:padding-left .25s ease,background-color .25s ease}.pp-cost:hover{padding-left:10px;background:#fafaf8}.pp-cost h3{font-size:25px;letter-spacing:-.03em;margin-bottom:9px}.pp-cost p{font-size:16px;color:var(--pp-muted);line-height:1.6;margin-bottom:0}
.pp-cta{position:relative;background:#efefec;padding:105px 0;border-top:1px solid #d7d7d2}.pp-cta::before{content:"";position:absolute;left:0;top:0;width:clamp(90px,13vw,250px);height:7px;background:var(--pp-orange)}.pp-cta-grid{display:flex;justify-content:space-between;align-items:flex-end;gap:60px}.pp-cta .pp-kicker{color:var(--pp-orange)}.pp-cta h2{max-width:900px;margin-bottom:0;color:#151515!important}.pp-cta .pp-button{border-color:#171717;background:#171717;min-width:290px}.pp-cta .pp-button span{color:#171717}.pp-cta .pp-button:hover{border-color:var(--pp-orange);background:var(--pp-orange);color:#fff!important}.pp-cta .pp-button:hover span{background:#fff;color:var(--pp-orange)}
@media(max-width:1024px){.pp-frame{width:min(100% - 40px,1360px)}.pp-hero-grid{grid-template-columns:1fr}.pp-hero-visual{min-height:570px;max-width:700px;width:100%}.pp-intro-head,.pp-timeline-head,.pp-case-head,.pp-quality-head,.pp-quote-grid{grid-template-columns:1fr;gap:35px}.pp-values,.pp-steps,.pp-quality-grid{grid-template-columns:repeat(2,1fr)}.pp-values article:nth-child(2){border-right:0}.pp-values article:last-child{border-top:1px solid var(--pp-line);padding-left:0}.pp-weeks,.pp-tl-row{grid-template-columns:150px repeat(12,1fr)}.pp-case-card{min-height:500px}}
@media(max-width:767px){.pp-frame{width:calc(100% - 34px)}.pp-hero{padding:60px 0 70px}.pp-slash{margin-bottom:20px}.pp-hero h1{font-size:54px}.pp-hero-grid{gap:35px}.pp-hero-visual{min-height:420px}.pp-hero-visual::before{left:30px}.pp-hero-part{border-width:7px}.pp-intro,.pp-process,.pp-timeline,.pp-case,.pp-quality,.pp-quote{padding:75px 0}.pp-intro-head{margin-bottom:45px}.pp-values,.pp-steps,.pp-quality-grid,.pp-case-grid{grid-template-columns:1fr}.pp-values article,.pp-values article+article{padding:28px 0;border-right:0;border-top:1px solid var(--pp-line)}.pp-values article:first-child{border-top:0}.pp-process-head{display:block}.pp-process-head p{margin-top:25px}.pp-step{min-height:245px}.pp-timeline-chart{padding:25px 18px;overflow-x:auto}.pp-weeks,.pp-tl-row{min-width:760px;grid-template-columns:130px repeat(12,1fr)}.pp-case-card{min-height:390px}.pp-cta{padding:75px 0}.pp-cta-grid{display:block}.pp-cta .pp-button{margin-top:35px}}

/* Pulsanti coerenti con le CTA RECA */
.pp-page .pp-button,
.pp-page .pp-text-link{
  min-height:68px;
  height:auto;
  border-radius:0;
  padding:18px 24px 18px 26px;
  font-size:13px;
  font-weight:650;
  line-height:1.25;
  letter-spacing:.075em;
  text-transform:uppercase;
  box-shadow:none;
}
.pp-page .pp-button{
  min-width:270px;
  border:1px solid #191817;
  background:#191817;
  color:#fff!important;
}
.pp-page .pp-text-link{
  min-width:230px;
  border:1px solid #b9b8b3;
  background:transparent;
  color:#191817!important;
}
.pp-page .pp-button span,
.pp-page .pp-text-link span{
  display:inline-flex;
  place-items:unset;
  align-items:center;
  justify-content:center;
  flex:0 0 24px;
  width:24px;
  height:24px;
  border-radius:0;
  background:transparent;
  color:var(--pp-orange);
  font-size:20px;
  font-weight:400;
  line-height:1;
}
.pp-page .pp-button:hover{
  border-color:var(--pp-orange);
  background:var(--pp-orange);
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(21,21,21,.14);
}
.pp-page .pp-button:hover span{
  background:transparent;
  color:#fff;
  transform:translateX(4px);
}
.pp-page .pp-text-link:hover{
  border-color:#191817;
  background:#191817;
  color:#fff!important;
  transform:translateY(-2px);
}
.pp-page .pp-text-link:hover span{
  background:transparent;
  color:var(--pp-orange);
  transform:translateY(3px);
}
.pp-page .pp-button:focus-visible,
.pp-page .pp-text-link:focus-visible{
  outline:3px solid rgba(255,127,42,.32);
  outline-offset:4px;
}
.pp-page .pp-cta .pp-button{
  min-width:300px;
  border-color:#191817;
  background:#191817;
}
.pp-page .pp-cta .pp-button span{
  background:transparent;
  color:var(--pp-orange);
}
.pp-page .pp-cta .pp-button:hover{
  border-color:var(--pp-orange);
  background:var(--pp-orange);
}
.pp-page .pp-cta .pp-button:hover span{
  background:transparent;
  color:#fff;
}
@media(max-width:767px){
  .pp-page .pp-hero-actions{
    align-items:stretch;
    flex-direction:column;
  }
  .pp-page .pp-button,
  .pp-page .pp-text-link,
  .pp-page .pp-cta .pp-button{
    width:100%;
    min-width:0;
    max-width:360px;
  }
}

/* Rifinitura responsive tablet e mobile. */
@media(max-width:1024px){
  .pp-page .pp-hero{padding:64px 0 82px}
  .pp-page .pp-hero-grid{gap:48px}
  .pp-page .pp-hero h1{font-size:clamp(52px,8vw,72px)}
  .pp-page .pp-hero-visual{min-height:500px}
  .pp-page .pp-intro,
  .pp-page .pp-process,
  .pp-page .pp-timeline,
  .pp-page .pp-case,
  .pp-page .pp-quality,
  .pp-page .pp-quote{padding:90px 0}
  .pp-page .pp-timeline-chart{overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
}
@media(max-width:767px){
  .pp-page .pp-hero{padding:52px 0 66px}
  .pp-page .pp-hero h1{font-size:clamp(46px,13vw,52px);line-height:1}
  .pp-page .pp-hero-copy>p{font-size:18px}
  .pp-page .pp-hero-visual{min-height:380px}
  .pp-page .pp-intro,
  .pp-page .pp-process,
  .pp-page .pp-timeline,
  .pp-page .pp-case,
  .pp-page .pp-quality,
  .pp-page .pp-quote{padding:66px 0}
  .pp-page .pp-intro h2,
  .pp-page .pp-process h2,
  .pp-page .pp-case h2,
  .pp-page .pp-quality h2,
  .pp-page .pp-quote h2,
  .pp-page .pp-cta h2{font-size:clamp(38px,11vw,48px)}
  .pp-page .pp-step{min-height:220px}
  .pp-page .pp-case-card{min-height:350px}
}
