
/* ===== Presenza Pro — pp-avv1 — Studio Legale ===== */
:root{
  --pp-avv1-bg:#F4F0E8;
  --pp-avv1-ink:#1B1815;
  --pp-avv1-ink-soft:#4A453E;
  --pp-avv1-accent:#B15E33;
  --pp-avv1-accent-soft:#C98A5E;
  --pp-avv1-line:#D9D2C4;
  --pp-avv1-surface:#FFFFFF;
  --pp-avv1-surface-dark:#161311;
  --pp-avv1-overlay:rgba(15,12,10,.40);

  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:24px;
  --space-6:32px; --space-7:48px; --space-8:64px; --space-9:96px; --space-10:128px;
  --space-11:160px; --space-12:192px;

  --measure:65ch; --measure-narrow:45ch;
  --lh-display:1.05; --lh-heading:1.2; --lh-subheading:1.35; --lh-body:1.6; --lh-small:1.45;

  --radius-sm:4px;

  --anim-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --anim-ease-ui: cubic-bezier(0.4, 0, 0.2, 1);
  --anim-dur: 760ms;
  --anim-dur-ui: 280ms;
  --anim-shift: 32px;
}


*,*::before,*::after{ box-sizing:border-box; }

html,body{ max-width:100%; overflow-x:hidden; }

html{ scroll-behavior:auto; }

body{
  margin:0; background:var(--pp-avv1-bg); color:var(--pp-avv1-ink);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  font-size:1rem; line-height:var(--lh-body); -webkit-font-smoothing:antialiased;
}

img{ max-width:100%; display:block; }

a{ color:inherit; text-decoration:none; }

ul{ list-style:none; margin:0; padding:0; }


h1,h2,h3,h4,h5,h6{ font-family:'Jost',sans-serif; font-weight:400; margin:0; text-wrap:balance; color:var(--pp-avv1-ink); }

h1{ font-size:clamp(2.25rem, 1.4rem + 3.6vw, 4.5rem); line-height:var(--lh-display); letter-spacing:-0.02em; }

h2{ font-size:clamp(1.75rem, 1.2rem + 2.2vw, 3rem); line-height:var(--lh-heading); letter-spacing:-0.015em; }

h3{ font-size:clamp(1.35rem, 1.1rem + 1.1vw, 2rem); line-height:var(--lh-heading); font-weight:500; }

h4,h5,h6{ line-height:var(--lh-subheading); font-weight:500; }

p,li{ line-height:var(--lh-body); }

small,.pp-avv1-caption{ line-height:var(--lh-small); }

p{ text-wrap:pretty; }

p,li,blockquote{ max-width:var(--measure); }

.pp-avv1-lead,.pp-avv1-subtitle{ max-width:var(--measure-narrow); }


.pp-avv1-container{ max-width:1240px; margin-inline:auto; padding-inline:var(--space-6); }


section{ padding-block:var(--space-10); }

section.is-compact{ padding-block:var(--space-9); }

section.is-roomy{ padding-block:var(--space-11); }


.pp-avv1-eyebrow{
  display:inline-block; font-family:'Inter',sans-serif; font-weight:500; font-size:.85rem;
  color:var(--pp-avv1-accent); letter-spacing:.02em; margin-bottom:var(--space-4);
  border-bottom:1px solid var(--pp-avv1-accent); padding-bottom:var(--space-1);
}


/* ---- Buttons ---- */
.pp-avv1-btn{
  display:inline-flex; align-items:center; gap:var(--space-2);
  padding:var(--space-3) var(--space-5); border-radius:var(--radius-sm);
  font-family:'Inter',sans-serif; font-weight:500; font-size:.95rem; white-space:nowrap;
  transition:transform var(--anim-dur-ui) var(--anim-ease-ui), background var(--anim-dur-ui) var(--anim-ease-ui), filter var(--anim-dur-ui) var(--anim-ease-ui);
  min-height:44px;
}

.pp-avv1-btn svg{ width:16px; height:16px; transition:transform var(--anim-dur-ui) var(--anim-ease-ui); }

.pp-avv1-btn:hover{ transform:translateY(-2px); }

.pp-avv1-btn:hover svg{ transform:translateX(3px); }

.pp-avv1-btn--dark{ background:var(--pp-avv1-surface-dark); color:#fff; }

.pp-avv1-btn--dark:hover{ filter:brightness(1.15); }

.pp-avv1-btn--outline{ background:var(--pp-avv1-surface); color:var(--pp-avv1-ink); border:1px solid var(--pp-avv1-ink); }

.pp-avv1-btn--outline:hover{ background:var(--pp-avv1-ink); color:#fff; }

.pp-avv1-btn--accent{ background:var(--pp-avv1-accent); color:#fff; }

.pp-avv1-btn--accent:hover{ filter:brightness(1.1); }


/* ---- Header ---- */
.pp-avv1-header{
  position:sticky; top:0; z-index:500; background:rgba(244,240,232,.92); backdrop-filter:blur(6px);
  border-bottom:1px solid var(--pp-avv1-line);
  transition:background var(--anim-dur-ui) var(--anim-ease-ui), border-color var(--anim-dur-ui) var(--anim-ease-ui);
}

/* Header overlay: si sovrappone trasparente all'hero full-bleed (come nella reference),
   diventa solido allo scroll. Applicato solo alla home, dove l'hero segue subito l'header. */
.pp-avv1-header--overlay{ position:absolute; width:100%; background:transparent; border-bottom-color:transparent; }

.pp-avv1-header--overlay .pp-avv1-logo,
.pp-avv1-header--overlay .pp-avv1-nav__list a{ color:#fff; }

.pp-avv1-header--overlay .pp-avv1-btn--dark{ background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.5); backdrop-filter:blur(4px); }

.pp-avv1-header--overlay .pp-avv1-burger{ border-color:rgba(255,255,255,.6); color:#fff; }

.pp-avv1-header--overlay.is-scrolled{
  position:fixed; top:0; background:rgba(244,240,232,.92); backdrop-filter:blur(6px); border-bottom:1px solid var(--pp-avv1-line);
}

.pp-avv1-header--overlay.is-scrolled .pp-avv1-logo,
.pp-avv1-header--overlay.is-scrolled .pp-avv1-nav__list a{ color:var(--pp-avv1-ink); }

.pp-avv1-header--overlay.is-scrolled .pp-avv1-btn--dark{ background:var(--pp-avv1-surface-dark); border-color:transparent; }

.pp-avv1-header--overlay.is-scrolled .pp-avv1-burger{ border-color:var(--pp-avv1-line); color:var(--pp-avv1-ink); }

.pp-avv1-header__inner{ display:flex; align-items:center; justify-content:space-between; padding-block:var(--space-4); }

.pp-avv1-logo{ font-family:'Jost',sans-serif; font-size:1.3rem; letter-spacing:.01em; display:flex; align-items:center; gap:var(--space-2); }

.pp-avv1-logo svg{ width:22px; height:22px; color:var(--pp-avv1-accent); }

.pp-avv1-nav{ display:flex; align-items:center; gap:var(--space-7); }

.pp-avv1-nav__list{ display:flex; gap:var(--space-6); font-size:.95rem; }

.pp-avv1-nav__list a{ transition:color var(--anim-dur-ui) var(--anim-ease-ui); }

.pp-avv1-nav__list a:hover{ color:var(--pp-avv1-accent); }

.pp-avv1-burger{ display:none; width:44px; height:44px; align-items:center; justify-content:center; border:1px solid var(--pp-avv1-line); border-radius:var(--radius-sm); background:none; }

.pp-avv1-burger svg{ width:22px; height:22px; }

.pp-avv1-mobile-nav{ display:none; flex-direction:column; gap:var(--space-2); padding:var(--space-4) 0 var(--space-6); border-top:1px solid var(--pp-avv1-line); }

.pp-avv1-mobile-nav a{ padding:var(--space-3) 0; font-size:1.05rem; }

.pp-avv1-mobile-nav.is-open{ display:flex; background:rgba(244,240,232,.98); margin-inline:calc(var(--space-6) * -1); padding-inline:var(--space-6); box-shadow:0 12px 24px rgba(0,0,0,.12); }


/* ---- Hero (full-bleed overlay) ---- */
.pp-avv1-hero{ position:relative; min-height:clamp(460px, 54vw, 820px); display:flex; align-items:flex-end; overflow:hidden; color:#fff; }

.pp-avv1-hero__bg{ position:absolute; inset:0; z-index:0; overflow:hidden; }

.pp-avv1-hero__bg .parallax__inner{ position:absolute; inset:-6% 0; }

.pp-avv1-hero__bg img{ width:100%; height:100%; object-fit:cover; }

.pp-avv1-hero__bg::after{ content:''; position:absolute; inset:0; background:linear-gradient(0deg, rgba(10,8,7,.55) 0%, rgba(10,8,7,.15) 55%, rgba(10,8,7,.45) 100%); }

.pp-avv1-hero__content{ position:relative; z-index:1; width:100%; padding-block:var(--space-9) var(--space-8); }

.pp-avv1-hero__top{ display:flex; justify-content:space-between; align-items:flex-start; gap:var(--space-6); margin-bottom:var(--space-11); }

.pp-avv1-hero__stats{ display:flex; gap:var(--space-8); }

.pp-avv1-hero__stat b{ display:block; font-family:'Jost',sans-serif; font-size:clamp(2rem,4vw,2.8rem); font-weight:400; }

.pp-avv1-hero__stat span{ font-size:.85rem; opacity:.85; }

.pp-avv1-hero__intro{ max-width:280px; font-size:.9rem; opacity:.9; text-align:right; }

.pp-avv1-hero__bottom{ display:flex; justify-content:space-between; align-items:flex-end; gap:var(--space-6); flex-wrap:wrap; }

.pp-avv1-hero h1{ color:#fff; max-width:16ch; }

.pp-avv1-hero__actions{ display:flex; flex-direction:column; align-items:flex-end; gap:var(--space-4); }

.pp-avv1-hero__since{ font-size:.85rem; opacity:.85; display:flex; align-items:center; gap:var(--space-2); }


/* ---- Generic split (about / editorial 50/50) ---- */
.pp-avv1-split{ display:grid; grid-template-columns:.9fr 1.4fr .9fr; gap:var(--space-7); align-items:center; }

.pp-avv1-split__col img{ border-radius:var(--radius-sm); width:100%; height:260px; object-fit:cover; }

.pp-avv1-split__badge{ margin-top:var(--space-3); font-size:.8rem; color:var(--pp-avv1-ink-soft); }

.pp-avv1-split__main{ display:flex; flex-direction:column; gap:var(--space-5); }

.pp-avv1-split__stat{ font-size:.8rem; color:var(--pp-avv1-ink-soft); text-align:right; margin-bottom:var(--space-4); }

.pp-avv1-hr{ border:0; border-top:1px solid var(--pp-avv1-line); }


/* ---- Full-height 50/50 split (pagine servizio / chi siamo) ---- */
.pp-avv1-split-full{ display:grid; grid-template-columns:1fr 1fr; min-height:80vh; }

.pp-avv1-split-full__media{ position:relative; }

.pp-avv1-split-full__media img{ width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }

.pp-avv1-split-full__text{ display:flex; flex-direction:column; justify-content:center; padding:var(--space-9) var(--space-8); gap:var(--space-5); }

.pp-avv1-split-full.pp-avv1-split-full--rev .pp-avv1-split-full__media{ order:2; }


/* ---- Services list (no boxes, divided rows) ---- */
.pp-avv1-services__head{ display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:var(--space-7); gap:var(--space-5); }

.pp-avv1-services__head svg{ width:32px; height:32px; color:var(--pp-avv1-accent); flex-shrink:0; }

.pp-avv1-service-row{ display:grid; grid-template-columns:140px 60px 1.1fr 1.4fr auto; gap:var(--space-6); align-items:center; padding-block:var(--space-6); border-bottom:1px solid var(--pp-avv1-line); }

.pp-avv1-service-row:first-of-type{ border-top:1px solid var(--pp-avv1-line); }

.pp-avv1-service-row__img{ width:140px; height:140px; object-fit:cover; border-radius:var(--radius-sm); }

.pp-avv1-service-row__num{ font-family:'Jost',sans-serif; font-size:1.1rem; color:var(--pp-avv1-ink-soft); }

.pp-avv1-service-row__who{ font-size:.78rem; color:var(--pp-avv1-ink-soft); }

.pp-avv1-service-row__who span{ display:block; }

.pp-avv1-service-row__who small{ text-transform:uppercase; letter-spacing:.05em; color:var(--pp-avv1-accent); }


/* ---- Feature columns (vantaggio competitivo) ---- */
.pp-avv1-features{ text-align:center; }

.pp-avv1-features__head{ max-width:640px; margin-inline:auto; margin-bottom:var(--space-8); }

.pp-avv1-features__grid{ display:grid; grid-template-columns:repeat(4,1fr); }

.pp-avv1-feature{ padding-inline:var(--space-5); border-left:1px solid var(--pp-avv1-line); display:flex; flex-direction:column; gap:var(--space-3); align-items:center; }

.pp-avv1-feature:first-child{ border-left:0; }

.pp-avv1-feature svg{ width:28px; height:28px; color:var(--pp-avv1-accent); }


/* ---- Method steps ---- */
.pp-avv1-method__list{ display:grid; grid-template-columns:repeat(4,1fr); gap:var(--space-6); margin-top:var(--space-7); }

.pp-avv1-method__step{ display:flex; flex-direction:column; gap:var(--space-3); }

.pp-avv1-method__step b{ font-family:'Jost',sans-serif; font-size:1.6rem; color:var(--pp-avv1-accent); }


/* ---- Stats dark strip ---- */
.pp-avv1-stats{ background:var(--pp-avv1-surface-dark); color:#fff; }

.pp-avv1-stats__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:var(--space-6); text-align:center; }

.pp-avv1-stats__item b{ display:block; font-family:'Jost',sans-serif; font-size:clamp(2rem,4vw,3rem); font-weight:400; color:var(--pp-avv1-accent-soft); }

.pp-avv1-stats__item span{ font-size:.85rem; opacity:.85; }


/* ---- Testimonials ---- */
.pp-avv1-testi__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-7); margin-top:var(--space-7); }

.pp-avv1-testi__item{ display:flex; flex-direction:column; gap:var(--space-4); border-top:1px solid var(--pp-avv1-line); padding-top:var(--space-5); }

.pp-avv1-testi__person{ display:flex; align-items:center; gap:var(--space-3); margin-top:var(--space-2); }

.pp-avv1-testi__person img{ width:44px; height:44px; border-radius:50%; object-fit:cover; }

.pp-avv1-testi__person b{ display:block; font-size:.9rem; }

.pp-avv1-testi__person small{ color:var(--pp-avv1-ink-soft); }


/* ---- Case studies (split full-height reused) ---- */
.pp-avv1-cases{ display:flex; flex-direction:column; gap:var(--space-9); }


/* ---- Differentiation ---- */
.pp-avv1-diff__grid{ display:grid; grid-template-columns:1fr 1fr; gap:var(--space-8); align-items:start; }

.pp-avv1-diff__list{ display:flex; flex-direction:column; gap:var(--space-5); }

.pp-avv1-diff__list li{ display:flex; gap:var(--space-3); align-items:flex-start; }

.pp-avv1-diff__list svg{ width:22px; height:22px; color:var(--pp-avv1-accent); flex-shrink:0; transform:translateY(2px); }


/* ---- Resources / education ---- */
.pp-avv1-res__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-7); margin-top:var(--space-7); }

.pp-avv1-res__item img{ width:100%; height:190px; object-fit:cover; border-radius:var(--radius-sm); margin-bottom:var(--space-4); }

.pp-avv1-res__item .pp-avv1-eyebrow{ margin-bottom:var(--space-2); }


/* ---- FAQ accordion ---- */
.pp-avv1-faq{ max-width:820px; margin-inline:auto; }

.pp-avv1-faq__item{ border-bottom:1px solid var(--pp-avv1-line); }

.pp-avv1-faq__q{ width:100%; display:flex; justify-content:space-between; align-items:center; gap:var(--space-4); padding-block:var(--space-5); background:none; border:0; text-align:left; font-family:'Jost',sans-serif; font-size:1.1rem; color:var(--pp-avv1-ink); cursor:pointer; }

.pp-avv1-faq__q svg{ width:18px; height:18px; flex-shrink:0; transition:transform var(--anim-dur-ui) var(--anim-ease-ui); }

.pp-avv1-faq__item.is-open .pp-avv1-faq__q svg{ transform:rotate(45deg); }

.pp-avv1-faq__a{ max-height:0; overflow:hidden; transition:max-height var(--anim-dur) var(--anim-ease); }

.pp-avv1-faq__a p{ padding-bottom:var(--space-5); color:var(--pp-avv1-ink-soft); }

.pp-avv1-faq__item.is-open .pp-avv1-faq__a{ max-height:400px; }


/* ---- CTA strips ---- */
.pp-avv1-cta-mid{ background:var(--pp-avv1-surface-dark); color:#fff; text-align:center; }

.pp-avv1-cta-mid h2{ color:#fff; max-width:16ch; margin-inline:auto; }

.pp-avv1-cta-mid__actions{ display:flex; gap:var(--space-4); justify-content:center; margin-top:var(--space-6); flex-wrap:wrap; }


.pp-avv1-cta-final__grid{ display:grid; grid-template-columns:1fr 1fr; gap:var(--space-9); align-items:start; }

.pp-avv1-form{ display:flex; flex-direction:column; gap:var(--space-4); background:var(--pp-avv1-surface); padding:var(--space-7); border:1px solid var(--pp-avv1-line); border-radius:var(--radius-sm); min-width:0; }

.pp-avv1-form .pp-avv1-btn{ align-self:flex-start; border:0; cursor:pointer; font:inherit; }

.pp-avv1-form label{ font-size:.85rem; font-weight:500; display:flex; flex-direction:column; gap:var(--space-2); }

.pp-avv1-form input, .pp-avv1-form select, .pp-avv1-form textarea{
  font-family:'Inter',sans-serif; font-size:1rem; padding:var(--space-3); border:1px solid var(--pp-avv1-line);
  border-radius:var(--radius-sm); background:#fff; color:var(--pp-avv1-ink); min-height:44px; width:100%; min-width:0;
}

.pp-avv1-form textarea{ min-height:110px; resize:vertical; }

.pp-avv1-form__note{ font-size:.8rem; color:var(--pp-avv1-ink-soft); }


/* ---- Footer ---- */
.pp-avv1-footer{ background:var(--pp-avv1-surface-dark); color:#fff; }

.pp-avv1-footer__grid{ display:grid; grid-template-columns:1.4fr repeat(3,1fr); gap:var(--space-7); }

.pp-avv1-footer h4{ color:#fff; font-size:.95rem; margin-bottom:var(--space-4); font-family:'Inter',sans-serif; font-weight:600; }

.pp-avv1-footer__list{ display:flex; flex-direction:column; gap:var(--space-3); font-size:.9rem; }

.pp-avv1-footer__list a{ opacity:.85; transition:opacity var(--anim-dur-ui) var(--anim-ease-ui); }

.pp-avv1-footer__list a:hover{ opacity:1; color:var(--pp-avv1-accent-soft); }

.pp-avv1-footer__brand{ display:flex; align-items:center; gap:var(--space-2); font-family:'Jost',sans-serif; font-size:1.3rem; margin-bottom:var(--space-4); }

.pp-avv1-footer__brand svg{ width:22px; height:22px; color:var(--pp-avv1-accent-soft); }

.pp-avv1-footer__bottom{ border-top:1px solid rgba(255,255,255,.15); margin-top:var(--space-8); padding-top:var(--space-5); display:flex; justify-content:space-between; flex-wrap:wrap; gap:var(--space-3); font-size:.8rem; opacity:.75; }


/* ---- WhatsApp float ---- */
.pp-avv1-whatsapp{
  position:fixed; width:60px; height:60px; bottom:20px; right:20px;
  background-color:#25d366; color:#fff; border-radius:50%; display:flex; align-items:center;
  justify-content:center; box-shadow:0 4px 12px rgba(0,0,0,.2); z-index:1000;
  transition:background var(--anim-dur-ui) var(--anim-ease-ui), transform var(--anim-dur-ui) var(--anim-ease-ui);
}

.pp-avv1-whatsapp:hover{ background-color:#1ebe5d; transform:translateY(-2px); }

.pp-avv1-whatsapp svg{ width:28px; height:28px; }


/* ---- Page hero variants (funnel pages, different from home) ---- */
.pp-avv1-pagehero{ padding-block:var(--space-11) var(--space-9); background:var(--pp-avv1-surface); }

.pp-avv1-pagehero__grid{ display:grid; grid-template-columns:1.2fr 1fr; gap:var(--space-8); align-items:center; }

.pp-avv1-pagehero img{ border-radius:var(--radius-sm); width:100%; height:380px; object-fit:cover; }


.pp-avv1-numlist{ counter-reset:pp-avv1-c; display:flex; flex-direction:column; }

.pp-avv1-numlist li{ counter-increment:pp-avv1-c; display:flex; gap:var(--space-5); padding-block:var(--space-5); border-bottom:1px solid var(--pp-avv1-line); max-width:none; }

.pp-avv1-numlist li::before{ content:counter(pp-avv1-c,decimal-leading-zero) "."; font-family:'Jost',sans-serif; color:var(--pp-avv1-accent); flex-shrink:0; width:2.4ch; }


/* ---- utility ---- */
.pp-avv1-center{ text-align:center; }

.pp-avv1-mx-auto{ margin-inline:auto; }

.pp-avv1-mt-7{ margin-top:var(--space-7); }

.pp-avv1-flex-between{ display:flex; justify-content:space-between; align-items:center; gap:var(--space-5); flex-wrap:wrap; }


/* ---- Reveal / parallax (scozzese.com style) ---- */
.reveal{ opacity:0; transform:translateY(var(--anim-shift)); transition:opacity var(--anim-dur) var(--anim-ease), transform var(--anim-dur) var(--anim-ease); will-change:opacity,transform; }

.reveal--left{ transform:translateX(calc(var(--anim-shift) * -1)); }

.reveal--right{ transform:translateX(var(--anim-shift)); }

.reveal--scale{ transform:scale(.96); }

.reveal.is-in{ opacity:1; transform:none; }

.reveal[style*="--i"]{ transition-delay:calc(var(--i) * 90ms); }

.parallax{ will-change:transform; }

.parallax > .parallax__inner{ transform:translateY(var(--py,0px)); }


body.elementor-editor-active .reveal,
body.elementor-editor-active .reveal--left,
body.elementor-editor-active .reveal--right,
body.elementor-editor-active .reveal--scale,
body.elementor-editor-active [class*="reveal"]{
  opacity:1 !important; transform:none !important; transition:none !important; animation:none !important; visibility:visible !important;
}

body.elementor-editor-active .parallax > .parallax__inner{ transform:none !important; }

body.elementor-editor-active .elementor-invisible{ opacity:1 !important; animation:none !important; }

.pp-avv1-hero-split{ display:grid; grid-template-columns:1fr 1fr; min-height:520px; }

.pp-avv1-hero-split__text{ display:flex; flex-direction:column; justify-content:center; gap:var(--space-5); padding-block:var(--space-8); padding-left:max(var(--space-9), calc((100vw - 1240px) / 2 + var(--space-6))); padding-right:var(--space-7); }

.pp-avv1-hero-split__media{ position:relative; overflow:hidden; }

.pp-avv1-hero-split__media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
@media (prefers-reduced-motion: no-preference){
   html{ scroll-behavior:smooth; }
}
@media (max-width:768px){
   .pp-avv1-container{ padding-inline:var(--space-4); }
  
  section{ padding-block:var(--space-9); }
  
  section.is-compact{ padding-block:var(--space-8); }
  
  section.is-roomy{ padding-block:var(--space-10); }
   .pp-avv1-mobile-nav.is-open{ margin-inline:calc(var(--space-4) * -1); padding-inline:var(--space-4); }
  
  .pp-avv1-hero{ min-height:620px; }
  
  .pp-avv1-hero__top{ flex-direction:column; gap:var(--space-4); margin-bottom:var(--space-8); }
  
  .pp-avv1-hero__intro{ text-align:left; max-width:80%; }
  
  .pp-avv1-hero__bottom{ flex-direction:column; align-items:flex-start; gap:var(--space-5); }
  
  .pp-avv1-hero__actions{ align-items:flex-start; width:100%; }
  
  .pp-avv1-hero__actions .pp-avv1-btn{ width:auto; justify-content:center; }
  
  .pp-avv1-hero__bg::after{ background:linear-gradient(0deg, rgba(10,8,7,.5) 0%, rgba(10,8,7,.12) 55%, rgba(10,8,7,.38) 100%); }
  
  .pp-avv1-hero__bg img{ object-position:62% center; }
   .pp-avv1-stats__grid{ grid-template-columns:1fr 1fr; }
   .pp-avv1-whatsapp{ width:54px; height:54px; bottom:16px; right:16px; }
   .pp-avv1-whatsapp svg{ width:24px; height:24px; }
}
@media (max-width:900px){
  
  .pp-avv1-nav__list, .pp-avv1-header .pp-avv1-btn{ display:none; }
  
  .pp-avv1-burger{ display:flex; }
  
  .pp-avv1-split{ grid-template-columns:1fr; }
  
  .pp-avv1-split__col{ order:2; }
  
  .pp-avv1-split__main{ order:1; }
  
  .pp-avv1-split-full{ grid-template-columns:1fr; min-height:auto; }
  
  .pp-avv1-split-full__media{ height:340px; }
  
  .pp-avv1-split-full.pp-avv1-split-full--rev .pp-avv1-split-full__media{ order:0; }
  
  .pp-avv1-split-full__text{ padding:var(--space-8) var(--space-5); }
  
  .pp-avv1-service-row{ grid-template-columns:80px 1fr; grid-template-areas:"img num" "img title" "img who" "cta cta"; row-gap:var(--space-2); }
  
  .pp-avv1-service-row__img{ grid-area:img; width:80px; height:80px; }
  
  .pp-avv1-service-row__num{ grid-area:num; }
  
  .pp-avv1-service-row__title{ grid-area:title; }
  
  .pp-avv1-service-row__who{ grid-area:who; }
  
  .pp-avv1-service-row__cta{ grid-area:cta; margin-top:var(--space-3); justify-self:start; }
  
  .pp-avv1-features__grid{ grid-template-columns:1fr 1fr; row-gap:var(--space-7); }
  
  .pp-avv1-feature:nth-child(3){ border-left:0; }
   .pp-avv1-method__list{ grid-template-columns:1fr 1fr; }
   .pp-avv1-testi__grid{ grid-template-columns:1fr; }
   .pp-avv1-diff__grid{ grid-template-columns:1fr; }
   .pp-avv1-res__grid{ grid-template-columns:1fr; }
   .pp-avv1-cta-final__grid{ grid-template-columns:1fr; }
   .pp-avv1-footer__grid{ grid-template-columns:1fr 1fr; }
   .pp-avv1-pagehero__grid{ grid-template-columns:1fr; }
   .pp-avv1-pagehero img{ height:260px; }
  
  .pp-avv1-hero-split{ grid-template-columns:1fr; }
  
  .pp-avv1-hero-split__media{ min-height:50vh; order:-1; }
  
  .pp-avv1-hero-split__text{ padding-left:var(--space-6); padding-right:var(--space-6); padding-block:var(--space-7); }
}
@media (max-width:560px){
  
  .pp-avv1-features__grid{ grid-template-columns:1fr; }
  
  .pp-avv1-feature{ border-left:0; border-top:1px solid var(--pp-avv1-line); padding-top:var(--space-6); }
  
  .pp-avv1-feature:first-child{ border-top:0; padding-top:0; }
   .pp-avv1-method__list{ grid-template-columns:1fr; }
   .pp-avv1-footer__grid{ grid-template-columns:1fr; }
}
@media (prefers-reduced-motion: reduce){
  
  .reveal,.reveal--left,.reveal--right,.reveal--scale{ opacity:1 !important; transform:none !important; transition:none !important; }
  
  .parallax > .parallax__inner{ transform:none !important; }
}
/* Consenso privacy (CF7 acceptance): il checkbox sta sulla stessa riga del testo, non impilato/stirato — pp7006-checkbox */
.pp-avv1-form .wpcf7-list-item label{ flex-direction:row; align-items:flex-start; gap:var(--space-2); text-transform:none; font-weight:400; }
.pp-avv1-form input[type="checkbox"]{ width:auto; min-height:auto; padding:0; flex:0 0 auto; margin-top:.3em; }

/* I <p> di Contact Form 7 non ereditano il max-width dei paragrafi di testo — pp7006-form-p */
.pp-avv1-form p{ max-width:none; }
.wpcf7-form p{ max-width:none; }
