:root{
  --pau-ink:#002262; --pau-body:#14176E; --pau-link:#0031FF; --pau-hover:#00C3FF;
  --pau-soft:#ECF3FC; --pau-lav:#F7F9FF; --pau-line:rgba(0,34,98,.10);
  --pau-ease:cubic-bezier(.22,.85,.28,1);
}
body:not(.elementor-page) main.site-main{padding-top:109px !important;padding-bottom:0 !important}
body:not(.elementor-page){overflow-x:hidden}
body:not(.elementor-page) main.site-main .page-content{padding:0 0 90px}

/* ---------- REVEAL ---------- */
.pau-rv{opacity:0;transform:translateY(26px);transition:opacity .8s var(--pau-ease),transform .8s var(--pau-ease)}
.pau-rv.pau-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .pau-rv{opacity:1 !important;transform:none !important;transition:none !important}
  .pau-hero__bg{animation:none !important}
}

/* ---------- HERO ---------- */
body:not(.elementor-page) main.site-main > .page-header{
  position:relative;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);width:100vw;
  padding:120px 24px 116px;text-align:center;overflow:hidden;isolation:isolate;
  background:#03113a;border-radius:0 0 44px 44px;margin-bottom:64px
}
body:not(.elementor-page) main.site-main > .page-header::before{
  content:"";position:absolute;inset:0;z-index:-2;background-image:var(--pau-hero,none);
  background-size:cover;background-position:center;transform:scale(1.02);
  animation:pau-kb 26s ease-in-out infinite alternate
}
body:not(.elementor-page) main.site-main > .page-header::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:radial-gradient(120% 90% at 50% 12%,rgba(3,17,58,.30) 0%,rgba(3,17,58,.72) 55%,rgba(3,17,58,.92) 100%)
}
@keyframes pau-kb{from{transform:scale(1.02)}to{transform:scale(1.12)}}
body:not(.elementor-page) main.site-main > .page-header .entry-title{
  color:#fff !important;font-size:clamp(34px,5.4vw,66px);line-height:1.06;margin:0 auto;max-width:16em;
  letter-spacing:-.015em;text-wrap:balance;text-shadow:0 2px 40px rgba(0,0,0,.45)
}
body:not(.elementor-page) main.site-main > .page-header .entry-title::after{
  content:"";display:block;width:74px;height:3px;margin:30px auto 0;border-radius:3px;
  background:linear-gradient(90deg,#00C3FF,#7B6CFF)
}
.pau-eyebrow{display:block;font-family:Montserrat,sans-serif;font-size:12px;font-weight:700;
  letter-spacing:.22em;text-transform:uppercase;color:#8FB6FF;margin:0 0 22px}
.pau-hero-lead{max-width:38em;margin:34px auto 0;color:rgba(255,255,255,.90) !important;
  font-size:clamp(16px,1.5vw,20px) !important;line-height:1.75 !important;text-wrap:pretty}
.pau-hero-lead strong{color:#fff !important}

/* ---------- TIPOGRAFIA E RITMO ---------- */
body:not(.elementor-page) .page-content > p{max-width:44em;margin-left:auto;margin-right:auto;text-wrap:pretty}
body:not(.elementor-page) .page-content > p:first-of-type{font-size:1.12em;line-height:1.9}
body:not(.elementor-page) .page-content > h2{
  position:relative;max-width:24em;margin:88px auto 26px;padding-top:34px;
  font-size:clamp(26px,3.1vw,40px);line-height:1.18;letter-spacing:-.01em;text-wrap:balance
}
body:not(.elementor-page) .page-content > h2::before{
  content:"";position:absolute;top:0;left:0;width:34px;height:4px;border-radius:4px;
  background:linear-gradient(90deg,#0031FF,#00C3FF)
}
body:not(.elementor-page) .page-content > h3{max-width:34em;margin:52px auto 16px;font-size:clamp(20px,2.1vw,26px)}
body:not(.elementor-page) .page-content strong{color:var(--pau-ink)}
body:not(.elementor-page) .page-content a{text-decoration:none;background-image:linear-gradient(currentColor,currentColor);
  background-size:0% 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .35s var(--pau-ease),color .25s}
body:not(.elementor-page) .page-content a:hover{background-size:100% 1px}
body:not(.elementor-page) .page-content > ul,body:not(.elementor-page) .page-content > ol{max-width:42em;margin-left:auto;margin-right:auto}
body:not(.elementor-page) .page-content > ul li{margin-bottom:12px}

/* ---------- CITAZIONE ---------- */
.pau-quote{position:relative;max-width:32em;margin:64px auto;padding:44px 40px 44px 56px;
  background:linear-gradient(135deg,#F7F9FF 0%,#ECF3FC 100%);border-radius:22px;
  font-family:"Nunito Sans",sans-serif;font-size:clamp(19px,2.2vw,26px);line-height:1.45;
  color:var(--pau-ink);font-weight:700;letter-spacing:-.01em}
.pau-quote::before{content:"";position:absolute;left:0;top:26px;bottom:26px;width:5px;border-radius:5px;
  background:linear-gradient(180deg,#00C3FF,#7B6CFF)}
.pau-quote cite{display:block;margin-top:18px;font-family:Montserrat,sans-serif;font-size:13px;
  font-weight:600;font-style:normal;letter-spacing:.08em;text-transform:uppercase;color:#5B62B5}

/* ---------- FIGURA ---------- */
.pau-figura{position:relative;margin:76px auto;max-width:1040px;border-radius:26px;overflow:hidden;
  box-shadow:0 26px 70px rgba(0,34,98,.18)}
.pau-figura img{display:block;width:100%;height:auto}
.pau-figura figcaption{position:absolute;left:0;right:0;bottom:0;padding:56px 30px 24px;
  background:linear-gradient(180deg,transparent,rgba(3,17,58,.85));color:#fff;
  font-family:Montserrat,sans-serif;font-size:13.5px;line-height:1.6;letter-spacing:.02em}
.pau-figura--tonda{border-radius:26px}

/* ---------- BANDA ---------- */
.pau-banda{position:relative;margin:96px calc(50% - 50vw);width:100vw;padding:96px 24px;
  background:var(--pau-lav);text-align:center;overflow:hidden}
.pau-banda--scura{background:#03113a;color:#fff}
.pau-banda--scura h2,.pau-banda--scura p{color:#fff !important}
.pau-banda__inner{position:relative;max-width:44em;margin:0 auto}
.pau-banda h2{margin:0 0 18px !important;padding-top:0 !important}
.pau-banda h2::before{display:none !important}

/* ---------- AURORA DECORATIVA ---------- */
.pau-aurora{position:absolute;border-radius:50%;filter:blur(70px);opacity:.55;pointer-events:none;z-index:0}
.pau-aurora--1{width:420px;height:420px;background:#9BB8FF;top:-140px;left:-120px}
.pau-aurora--2{width:360px;height:360px;background:#C9BEFF;bottom:-150px;right:-110px}
@media(max-width:700px){.pau-aurora{display:none}}

/* ---------- GRIGLIA CARD ---------- */
.pau-griglia{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:26px;
  max-width:1080px;margin:56px auto}
.pau-tile{position:relative;padding:36px 30px 32px;background:#fff;border:1px solid var(--pau-line);
  border-radius:22px;text-align:left;overflow:hidden;
  transition:transform .45s var(--pau-ease),box-shadow .45s var(--pau-ease),border-color .45s}
.pau-tile::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,#0031FF,#00C3FF);transform:scaleX(0);transform-origin:left;
  transition:transform .5s var(--pau-ease)}
.pau-tile:hover{transform:translateY(-7px);box-shadow:0 24px 54px rgba(0,34,98,.15);border-color:transparent}
.pau-tile:hover::before{transform:scaleX(1)}
.pau-tile__n{display:block;font-family:Montserrat,sans-serif;font-size:12px;font-weight:700;
  letter-spacing:.2em;color:#8A93D6;margin-bottom:14px}
.pau-tile h3{margin:0 0 12px !important;font-size:20px !important;line-height:1.3;color:var(--pau-ink)}
.pau-tile p{margin:0 !important;font-size:15.5px;line-height:1.75;max-width:none !important}

/* ---------- CTA ---------- */
.pau-cta{display:inline-flex;align-items:center;gap:12px;padding:17px 34px;border-radius:100px;
  background:linear-gradient(120deg,#0031FF,#0A57FF);color:#fff !important;font-family:Montserrat,sans-serif;
  font-weight:700;font-size:14.5px;letter-spacing:.04em;text-decoration:none !important;
  box-shadow:0 12px 30px rgba(0,49,255,.30);transition:transform .3s var(--pau-ease),box-shadow .3s,background .3s;
  background-size:auto !important}
.pau-cta:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(0,49,255,.40)}
.pau-cta span{transition:transform .3s var(--pau-ease)}
.pau-cta:hover span{transform:translateX(5px)}
.pau-cta--ghost{background:transparent;color:var(--pau-ink) !important;border:1.5px solid rgba(0,34,98,.22);box-shadow:none}
.pau-cta--ghost:hover{border-color:var(--pau-link);box-shadow:0 12px 30px rgba(0,49,255,.14)}
.pau-cta-riga{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin:46px 0}
.pau-banda--scura .pau-cta--ghost{color:#fff !important;border-color:rgba(255,255,255,.35)}
.pau-banda--scura .pau-cta--ghost:hover{border-color:#00C3FF}

/* ---------- FAQ ---------- */
.pau-faq{max-width:46em;margin:0 auto}
.pau-faq details{transition:background .3s;border-radius:14px}
.pau-faq details[open]{background:var(--pau-lav)}
.pau-faq summary{transition:color .25s}
.pau-faq summary:hover{color:var(--pau-link)}

/* ---------- STAT ---------- */
.pau-numeri{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:30px;
  max-width:920px;margin:52px auto}
.pau-numero{text-align:center}
.pau-numero b{display:block;font-family:"Nunito Sans",sans-serif;font-weight:700;
  font-size:clamp(38px,5vw,58px);line-height:1;letter-spacing:-.02em;
  background:linear-gradient(120deg,#0031FF,#00C3FF);-webkit-background-clip:text;background-clip:text;color:transparent}
.pau-numero span{display:block;margin-top:12px;font-family:Montserrat,sans-serif;font-size:13px;
  line-height:1.55;color:#5B62B5;letter-spacing:.03em}
.pau-banda--scura .pau-numero span{color:rgba(255,255,255,.72)}

@media(max-width:782px){
  body:not(.elementor-page) main.site-main > .page-header{padding:88px 20px 80px;border-radius:0 0 30px 30px;margin-bottom:44px}
  body:not(.elementor-page) .page-content > h2{margin:64px auto 22px}
  .pau-banda{padding:70px 20px;margin:70px calc(50% - 50vw)}
  .pau-quote{padding:34px 26px 34px 34px;margin:48px auto}
  .pau-figura{margin:52px auto;border-radius:20px}
}
