/* =====================================================================
   IL PROFUMO DEL PULITO — operazione a premi (commessa 2026-363)
   Landing statica: nessuna dipendenza esterna (no Bootstrap, no CDN),
   font ospitati in /fonts. Tutte le classi hanno prefisso pp- per non
   entrare in conflitto con altri fogli di stile.
   Colori presi dal banner convertito con il suo profilo FOGRA27,
   quindi uguali a quelli dei materiali stampati.
   ===================================================================== */

/* ---------- Font (self-hosted, licenza OFL) ---------- */
@font-face{font-family:"Montserrat";src:url("../fonts/montserrat-latin-wght-normal.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Nunito";src:url("../fonts/nunito-latin-wght-normal.woff2") format("woff2");font-weight:200 1000;font-style:normal;font-display:swap}
@font-face{font-family:"Nunito";src:url("../fonts/nunito-latin-wght-italic.woff2") format("woff2");font-weight:200 1000;font-style:italic;font-display:swap}

/* ---------- Variabili ---------- */
:root{
  --pp-teal:#00A6B7;       /* teal della grafica (solo decorativo) */
  --pp-teal-600:#008FA0;   /* fondo dell'hero sotto i testi bianchi grandi (3,9:1) */
  --pp-teal-700:#007A87;   /* teal per testi su fondo chiaro (AA) */
  --pp-ink:#0B3A42;        /* testo */
  --pp-coral:#EC7871;      /* corallo della grafica (solo decorativo) */
  --pp-coral-600:#E0574F;  /* fascia con testo bianco grande */
  --pp-coral-700:#C23B36;  /* corallo per testi su fondo chiaro (AA) */
  --pp-sun:#FFCF00;        /* giallo del logo */
  --pp-paper:#FFFFFF;
  --pp-foam:#EEF8F9;
  --pp-line:#C9E3E7;
  --pp-display:"Montserrat","Segoe UI",Arial,sans-serif;
  --pp-text:"Nunito","Segoe UI",system-ui,Arial,sans-serif;
  --pp-wrap:72.5rem;
  --pp-gutter:clamp(1.25rem,5vw,3rem);
}

/* ---------- Base ---------- */
.pp-page{margin:0;background:var(--pp-paper);color:var(--pp-ink);font-family:var(--pp-text);font-weight:500;font-size:1.0625rem;line-height:1.6;-webkit-text-size-adjust:100%;text-size-adjust:100%}
:where(.pp-page) *,:where(.pp-page) *::before,:where(.pp-page) *::after{box-sizing:border-box}
/* reset a specificità zero (:where), così le classi pp- qui sotto vincono sempre */
:where(.pp-page) :where(h1,h2,h3,p,ul,ol,address){margin:0;padding:0}
:where(.pp-page) :where(ul,ol){list-style:none}
:where(.pp-page) :where(img){display:block;max-width:100%;height:auto}
:where(.pp-page) :where(address){font-style:normal}
:where(.pp-page) :where(strong,b){font-weight:800}
:where(.pp-page) :where(a){color:var(--pp-teal-700);text-decoration-thickness:.09em;text-underline-offset:.2em}
:where(.pp-page) :where(a):hover{text-decoration-thickness:.16em}
.pp-page :focus-visible{outline:3px solid var(--pp-ink);outline-offset:3px;box-shadow:0 0 0 6px #fff}
@media (min-width:62em){.pp-page{font-size:1.125rem}}

.pp-wrap{width:100%;max-width:calc(var(--pp-wrap) + 2*var(--pp-gutter));margin-inline:auto;padding-inline:var(--pp-gutter)}
.pp-sr{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.pp-sprite{position:absolute}
.pp-skip{position:absolute;left:1rem;top:-6rem;z-index:100;padding:.75rem 1.1rem;border-radius:0 0 .6rem .6rem;background:var(--pp-ink);color:#fff !important;font-weight:800}
.pp-skip:focus{top:0}

/* ---------- Fiore (decorazioni e numeri dei passaggi) ---------- */
.pp-flower{display:block;overflow:visible}
.pp-flower__edge{fill:#fff;stroke:#fff;stroke-width:9;stroke-linejoin:round}
.pp-flower__fill{fill:var(--petal,var(--pp-sun))}
.pp-flower__eye{fill:var(--eye,var(--pp-coral))}

/* ---------- Pulsanti ---------- */
.pp-btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;min-height:3.25rem;padding:.8em 1.55em;border:0;border-radius:999px;font-family:var(--pp-display);font-weight:800;font-size:.9375rem;line-height:1.15;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;text-align:center;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}
.pp-btn svg{flex:none;width:1.3em;height:1.3em}
.pp-btn--sun{background:var(--pp-sun);color:var(--pp-ink) !important;box-shadow:0 .35rem 0 rgba(11,58,66,.24)}
.pp-btn--white{background:#fff;color:var(--pp-teal-700) !important;box-shadow:0 .35rem 0 rgba(11,58,66,.24)}
.pp-btn--line{background:#fff;color:var(--pp-teal-700) !important;box-shadow:inset 0 0 0 2px var(--pp-teal-700),0 .3rem 0 rgba(11,58,66,.12)}
.pp-btn:hover{transform:translateY(-2px)}
.pp-btn:active{transform:translateY(2px);box-shadow:0 .1rem 0 rgba(11,58,66,.24)}

/* =====================================================================
   1. HERO — la grafica della promo ricostruita con testo vero
   ===================================================================== */
.pp-hero{--pp-hero-pad:var(--pp-gutter);position:relative;isolation:isolate;overflow:hidden;color:#fff;background-color:var(--pp-teal-600)}
/* Le sfumature della grafica stanno su due livelli decorativi, solo dove non c'è testo:
   i testi bianchi poggiano sempre su un colore pieno, quindi il contrasto è misurabile (pa11y / axe) */
.pp-hero__sky,.pp-hero__sunset{position:absolute;z-index:0;left:0;right:0;pointer-events:none}
.pp-hero__sky{top:0;height:21rem;background:
    radial-gradient(ellipse 24rem 9.5rem at 50% 6.4rem,rgba(255,255,255,.97) 0%,rgba(255,255,255,.6) 42%,rgba(255,255,255,0) 76%),
    linear-gradient(to bottom,var(--pp-teal) 0%,var(--pp-teal) 40%,rgba(0,166,183,0) 100%)}
.pp-hero__sunset{bottom:0;height:10rem;background:linear-gradient(to bottom,rgba(224,87,79,0) 0%,rgba(224,87,79,.92) 100%)}
.pp-hero__grid{position:relative;z-index:2;display:flex;flex-direction:column;padding:1.5rem var(--pp-hero-pad) 5.25rem}
.pp-hero__logo{z-index:3;align-self:center;width:min(84%,23rem);filter:drop-shadow(0 .45rem .8rem rgba(0,70,80,.16))}
.pp-hero__brands{z-index:3;align-self:center;width:min(100%,27rem);margin-top:1rem}
.pp-hero__tognana{position:relative;z-index:4;align-self:flex-start;width:clamp(6.2rem,27vw,8rem);margin:1.5rem 0 -2.9rem;border-radius:.45rem;box-shadow:0 .3rem 0 rgba(11,58,66,.18)}
.pp-hero__prize{position:relative;align-self:center;width:100%;max-width:33rem;margin:0 0 -1.5rem}
.pp-hero__prize::before{content:"";position:absolute;z-index:0;inset:14% 8% -6% -2%;border-radius:50%;background:radial-gradient(closest-side,rgba(255,255,255,.98) 0%,rgba(255,255,255,.9) 42%,rgba(255,255,255,0) 100%)}
.pp-hero__prize img{position:relative;z-index:2;width:100%}

.pp-band{position:relative;z-index:1;margin-inline:calc(-1*var(--pp-hero-pad));padding:2.15rem var(--pp-hero-pad) .8rem;background:var(--pp-coral-600);font-family:var(--pp-display);font-weight:500;font-size:clamp(1.5rem,6.7vw,2.2rem);line-height:1.08;letter-spacing:.01em;text-transform:uppercase;color:#fff}
.pp-band b{font-weight:900}
.pp-band sup{margin-left:.04em;font-size:max(.6em,1.1875rem);font-weight:800;line-height:0;vertical-align:.6em} /* asterisco mai sotto i 19px in grassetto: resta "testo grande" per il contrasto */

.pp-hero__copy{position:relative;z-index:3}
.pp-claim{margin-top:1.15rem;font-family:var(--pp-display);font-weight:900;font-size:clamp(1.5rem,7vw,2.35rem);line-height:1.06;letter-spacing:.005em;text-transform:uppercase;text-wrap:balance}
.pp-hero__note{margin-top:.9rem;max-width:36ch;font-style:italic;font-weight:800;font-size:1.1875rem;line-height:1.3;text-wrap:balance}
.pp-hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1.5rem}
.pp-hero__dates{display:inline-flex;align-items:center;gap:.55em;padding:.5em 1em;border-radius:999px;background:#fff;color:var(--pp-ink);font-weight:800;font-size:.9375rem;line-height:1.2}
.pp-hero__dates svg{flex:none;width:1.25em;height:1.25em;color:var(--pp-coral-700)}

.pp-hero__fl{position:absolute;z-index:3;width:var(--s,3rem);height:var(--s,3rem);transform:rotate(var(--r,0deg));filter:drop-shadow(0 .2rem 0 rgba(0,70,80,.16));pointer-events:none}
.pp-hero__fl--1,.pp-hero__fl--3{display:none}
.pp-hero__fl--2{right:5%;bottom:3.1rem;--s:2.9rem}
.pp-hero__wave{position:absolute;z-index:2;left:0;bottom:-1px;width:100%;height:clamp(2.75rem,6.5vw,5.5rem);pointer-events:none}

@media (min-width:62em){
  .pp-hero{--pp-hero-pad:max(var(--pp-gutter),calc((100vw - 86rem)/2));--pp-logo-w:min(33rem,37vw)}
  /* il cielo finisce esattamente dove inizia la fascia; il tramonto occupa solo la zona a destra dei testi */
  .pp-hero__sky{height:calc(4rem + var(--pp-logo-w)*.4932);background:
      radial-gradient(ellipse calc(var(--pp-logo-w)*1.06) calc(var(--pp-logo-w)*.5) at calc(var(--pp-hero-pad) + var(--pp-logo-w)*.47) calc(2.25rem + var(--pp-logo-w)*.25),rgba(255,255,255,.97) 0%,rgba(255,255,255,.62) 40%,rgba(255,255,255,0) 74%),
      linear-gradient(to bottom,var(--pp-teal) 0%,var(--pp-teal) 35%,rgba(0,166,183,0) 100%)}
  .pp-hero__sunset{top:0;left:56%;height:auto;background:linear-gradient(128deg,rgba(224,87,79,0) 0%,rgba(224,87,79,0) 26%,rgba(224,87,79,.62) 66%,var(--pp-coral-600) 100%);-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 62%);mask-image:linear-gradient(to right,transparent 0%,#000 62%)}
  .pp-hero__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:auto auto auto;column-gap:1.5rem;padding:2.25rem var(--pp-hero-pad) 7rem}
  .pp-hero__logo{grid-column:1 / span 6;grid-row:1;align-self:start;justify-self:start;width:min(100%,var(--pp-logo-w));margin:0 0 1.75rem -.75rem}
  .pp-hero__brands{grid-column:7 / span 5;grid-row:1;align-self:start;justify-self:start;width:min(100%,31rem);margin:.9rem 0 0}
  /* la fascia arriva fin sotto i premi: è larga 10 colonne e il padding destro tiene il testo nelle prime 8 */
  .pp-band{grid-column:1 / span 10;grid-row:2;align-self:end;margin:0 0 0 calc(-1*var(--pp-hero-pad));padding:1.05rem 21% 1rem var(--pp-hero-pad);font-size:clamp(1.5rem,2.5vw,2.5rem)}
  .pp-hero__prize{grid-column:8 / -1;grid-row:1 / span 2;align-self:end;justify-self:end;width:calc(100% + 2.5rem);max-width:none;margin:0 -1.75rem -2.6rem 0}
  .pp-hero__prize::before{inset:20% 12% -8% 2%}
  .pp-hero__copy{grid-column:1 / span 8;grid-row:3}
  .pp-hero__tognana{grid-column:9 / -1;grid-row:3;align-self:end;justify-self:end;width:11.5rem;margin:0}
  .pp-claim{margin-top:1.5rem;font-size:clamp(1.9rem,3.05vw,2.9rem)}
  .pp-hero__note{max-width:min(100%,34rem,40vw);margin-top:1rem}
  .pp-hero__fl--1,.pp-hero__fl--3{display:block}
  .pp-hero__fl--1{left:44.5%;top:2.4rem;--s:2.9rem}
  .pp-hero__fl--2{right:23%;bottom:10.5rem;--s:4.4rem}
  .pp-hero__fl--3{right:3.5%;bottom:15.5rem;--s:2.6rem}
}

/* =====================================================================
   SEZIONI
   ===================================================================== */
.pp-section{padding-block:clamp(3.5rem,8vw,6rem)}
.pp-section--foam{background:var(--pp-foam)}
.pp-h2{font-family:var(--pp-text);font-style:italic;font-weight:900;font-size:clamp(2rem,4.6vw,3rem);line-height:1.05;letter-spacing:-.01em;color:var(--pp-teal-700);text-wrap:balance}
.pp-h2::after{content:"";display:block;width:7rem;height:.95rem;margin-top:.5rem;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 112 15' preserveAspectRatio='none'%3E%3Cpath d='M2 6C24 15 58 14 110 2 76 13 32 17 2 10Z' fill='%23FFCF00'/%3E%3C/svg%3E") no-repeat 0 50%/100% 100%}
.pp-lead{max-width:44rem;margin-top:1.1rem;font-size:1.125em}
.pp-h3{font-family:var(--pp-display);font-weight:800;font-size:1.1875rem;line-height:1.25}

/* ---------- 2. Come partecipare ---------- */
.pp-steps{position:relative;display:grid;gap:2rem;margin-top:2.75rem;counter-reset:pp-step}
.pp-steps::before{content:"";position:absolute;left:2.25rem;top:2.5rem;bottom:5rem;border-left:3px dashed var(--pp-coral);transform:translateX(-50%)}
.pp-step{position:relative;display:grid;grid-template-columns:4.5rem minmax(0,1fr);column-gap:1.1rem;align-items:start;counter-increment:pp-step}
.pp-step__badge{--b:4.5rem;position:relative;display:block;width:var(--b);height:var(--b);filter:drop-shadow(0 .25rem 0 rgba(11,58,66,.14))}
.pp-step__badge::after{content:counter(pp-step);position:absolute;inset:0;display:grid;place-items:center;font:900 calc(var(--b)*.25)/1 var(--pp-display);color:var(--pp-ink)}
.pp-step__title{margin-top:.6rem}
.pp-step__text{margin-top:.4rem}
.pp-step__more{margin-top:.55rem;font-weight:800}
.pp-step__more--no{color:var(--pp-coral-700)}
@media (min-width:48em){
  .pp-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.75rem 2.5rem}
  .pp-steps::before{display:none}
}
@media (min-width:68em){
  .pp-steps{grid-template-columns:repeat(4,minmax(0,1fr));gap:2rem}
  .pp-steps::before{display:block;left:3rem;right:calc((100% - 6rem)/4 - 3rem);top:3rem;bottom:auto;border-left:0;border-top:3px dashed var(--pp-coral);transform:translateY(-50%)}
  .pp-step{display:block}
  .pp-step__badge{--b:6rem}
  .pp-step__title{margin-top:1.1rem;font-size:1.25rem}
}

/* ---------- 3. La busta ---------- */
.pp-mail{display:grid;gap:3rem;margin-top:2.75rem}
@media (min-width:62em){.pp-mail{grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);gap:4.5rem;align-items:start}}
.pp-check{display:grid;gap:1.6rem}
.pp-check li{display:grid;grid-template-columns:2.6rem minmax(0,1fr);column-gap:1rem}
.pp-check__icon{display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:50%;background:var(--pp-sun);color:var(--pp-ink);box-shadow:0 .2rem 0 rgba(11,58,66,.16)}
.pp-check__icon svg{width:1.35rem;height:1.35rem}
.pp-check .pp-h3{margin-top:.4rem}
.pp-check p{margin-top:.3rem}
.pp-tip{margin-top:2rem;padding:1rem 1.2rem;border-left:.4rem solid var(--pp-sun);border-radius:0 .7rem .7rem 0;background:#fff;font-weight:700}

.pp-envelope{margin-top:1.1rem;padding:.62rem;border-radius:.9rem;background:repeating-linear-gradient(-45deg,var(--pp-coral) 0 .8rem,#fff .8rem 1.6rem,var(--pp-teal) 1.6rem 2.4rem,#fff 2.4rem 3.2rem);box-shadow:0 1.3rem 2.2rem -1.1rem rgba(11,58,66,.4);transform:rotate(-1.2deg)}
.pp-envelope__paper{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:14.3rem;padding:5.6rem 1.4rem 1.5rem;border-radius:.3rem;background-color:#fff}
.pp-envelope__stamp{position:absolute;top:.9rem;right:.9rem;width:4.4rem;padding:.5rem .5rem .6rem;background:var(--pp-teal);outline:3px dotted #fff;outline-offset:-2px}
.pp-envelope__mark{position:absolute;top:1.5rem;right:5.1rem;width:5.6rem;color:var(--pp-ink);opacity:.26}
.pp-envelope__to{font-style:italic;font-weight:800;color:var(--pp-teal-700)}
.pp-envelope__address{margin-top:.3rem;font-family:var(--pp-display);font-weight:600;font-size:clamp(1rem,4.2vw,1.3rem);line-height:1.45}
.pp-envelope__address strong{font-weight:800}
.pp-mail__copy{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.2rem;margin-top:1.75rem}
.pp-mail__status{font-weight:800;color:var(--pp-teal-700)}
.pp-mail__hint{margin-top:1.1rem}
.pp-deadline{margin-top:2.5rem;padding:1.5rem;border-radius:1rem;background:#fff;box-shadow:0 0 0 2px var(--pp-line)}
.pp-deadline__form{display:none}
.pp-js .pp-deadline__form{display:block}
.pp-deadline label{display:block;margin-top:.9rem;font-weight:800;font-size:.9375rem}
.pp-deadline input{display:block;width:100%;max-width:16rem;min-height:3rem;margin-top:.35rem;padding:.5rem .8rem;border:2px solid var(--pp-teal-700);border-radius:.6rem;background:#fff;color:var(--pp-ink);font:inherit;font-weight:700}
/* l'anello di focus resta anche quando il focus è sul pulsante interno del calendario */
.pp-deadline input:focus,.pp-search input:focus{outline:3px solid var(--pp-ink);outline-offset:3px;box-shadow:0 0 0 6px #fff}
.pp-deadline__out{margin-top:.9rem}
.pp-deadline__out strong{font-family:var(--pp-display);color:var(--pp-coral-700)}
.pp-deadline__warn{display:block;margin-top:.4rem;font-weight:700}

/* ---------- 4. Insegne ---------- */
.pp-search{display:none;max-width:28rem;margin-top:2rem}
.pp-js .pp-search{display:block}
.pp-search label{display:block;font-weight:800}
.pp-search__field{position:relative;margin-top:.4rem}
.pp-search__field svg{position:absolute;left:1.05rem;top:50%;width:1.3rem;height:1.3rem;color:var(--pp-teal-700);transform:translateY(-50%);pointer-events:none}
.pp-search input{width:100%;min-height:3.25rem;padding:.6rem 1rem .6rem 3rem;border:2px solid var(--pp-teal-700);border-radius:999px;background:#fff;color:var(--pp-ink);font:inherit;font-weight:700}
.pp-stores__status{margin-top:1.5rem;font-weight:800}
.pp-stores{margin-top:.6rem;columns:2;column-gap:1.5rem}
.pp-stores li{break-inside:avoid;padding:.55rem 0;border-bottom:1px solid var(--pp-line);font-weight:700;line-height:1.3}
.pp-stores li[hidden]{display:none}
.pp-stores__foot{margin-top:1.75rem}
@media (min-width:40em){.pp-stores{columns:3}}
@media (min-width:62em){.pp-stores{columns:4;column-gap:2.5rem}}

/* ---------- 5. Da sapere ---------- */
.pp-facts{display:grid;gap:.8rem;max-width:50rem;margin-top:2.5rem}
@media (min-width:62em){.pp-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.5rem;max-width:none;align-items:start}}
.pp-fact{border-radius:.9rem;background:#fff;box-shadow:0 0 0 2px var(--pp-line)}
.pp-fact[open]{box-shadow:0 0 0 2px var(--pp-teal-700)}
.pp-fact summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem 1rem 1.3rem;border-radius:.9rem;font-family:var(--pp-display);font-weight:800;font-size:1.0625rem;line-height:1.3;list-style:none;cursor:pointer}
.pp-fact summary::-webkit-details-marker{display:none}
.pp-fact summary::after{content:"";flex:none;width:2rem;height:2rem;border-radius:50%;background:var(--pp-sun) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5v14M5 12h14' fill='none' stroke='%230B3A42' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") 50%/58% no-repeat;transition:transform .2s ease}
.pp-fact[open] summary::after{transform:rotate(45deg)}
.pp-fact__body{padding:0 1.3rem 1.3rem}
.pp-fact__body p + p{margin-top:.7rem}

/* ---------- 6. Regolamento ---------- */
.pp-rules{position:relative;overflow:hidden;padding-block:clamp(3rem,7vw,4.75rem);background:var(--pp-coral-600);color:#fff}
.pp-rules__in{position:relative;z-index:1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.75rem 3rem}
.pp-rules__title{max-width:19ch;font-style:italic;font-weight:900;font-size:clamp(1.85rem,4.2vw,2.75rem);line-height:1.08;text-wrap:balance}
.pp-rules__fl{position:absolute;width:var(--s,6rem);height:var(--s,6rem);transform:rotate(var(--r,0deg));opacity:.95;pointer-events:none}
.pp-rules__fl--1{right:-1.4rem;top:-1.6rem;--s:6.5rem;--r:14deg}
.pp-rules__fl--2{left:38%;bottom:-2.4rem;--s:4.6rem;--r:-10deg}
@media (max-width:47.99em){.pp-rules__fl--2{left:auto;right:18%}}

/* ---------- 7. Footer ---------- */
.pp-footer{padding-block:3rem 3.5rem;background:var(--pp-ink);color:#DCEEF0;font-size:.9375rem;line-height:1.65}
.pp-footer__logo{width:11.5rem;margin-bottom:1.6rem}
.pp-footer p{max-width:62rem}
.pp-footer p + p{margin-top:.9rem}
.pp-footer a{color:#fff}
.pp-footer__links{display:flex;flex-wrap:wrap;gap:.5rem 1.75rem;margin-top:1.5rem;font-weight:800}

/* ---------- Pagina "Dichiarazione di accessibilità" ---------- */
.pp-doc__head{padding-block:1.1rem;background:var(--pp-foam)}
.pp-doc__logo{display:inline-block;width:11.5rem}
.pp-doc{max-width:46rem;padding-block:clamp(2.5rem,6vw,4rem) clamp(3.5rem,8vw,5.5rem)}
.pp-doc h2{margin-top:2.4rem;font-family:var(--pp-display);font-weight:800;font-size:1.25rem;line-height:1.25}
.pp-doc p{margin-top:.8rem}
.pp-doc ul{margin-top:.8rem;padding-left:1.25rem;list-style:disc}
.pp-doc li + li{margin-top:.35rem}
.pp-doc .pp-doc__back{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.75rem}
.pp-doc h1{font-size:clamp(1.45rem,3.2vw,2rem);line-height:1.18}
.pp-doc p a{overflow-wrap:anywhere}

/* ---------- Animazione d'ingresso (una sola, al caricamento) ---------- */
@media (prefers-reduced-motion:no-preference){
  html{scroll-behavior:smooth}
  .pp-hero__logo{animation:pp-pop .7s cubic-bezier(.2,.9,.3,1.25) both}
  .pp-hero__brands{animation:pp-rise .6s .25s ease-out both}
  .pp-band{animation:pp-wipe .65s .15s cubic-bezier(.2,.8,.2,1) both}
  .pp-hero__prize img{animation:pp-slide .8s .4s cubic-bezier(.2,.8,.2,1) both}
  .pp-hero__prize::before{animation:pp-fade .8s .5s ease-out both}
  .pp-hero__fl{animation:pp-bloom .7s cubic-bezier(.2,.9,.3,1.4) both;animation-delay:calc(.75s + var(--i,0)*.14s)}
  @keyframes pp-pop{from{opacity:0;transform:scale(.92) rotate(-2deg)}to{opacity:1;transform:none}}
  @keyframes pp-rise{from{opacity:0;transform:translateY(.8rem)}to{opacity:1;transform:none}}
  @keyframes pp-fade{from{opacity:0}to{opacity:1}}
  @keyframes pp-slide{from{opacity:0;transform:translateX(3rem)}to{opacity:1;transform:none}}
  @keyframes pp-wipe{from{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}
  @keyframes pp-bloom{from{opacity:0;transform:scale(0) rotate(-90deg)}to{opacity:1;transform:scale(1) rotate(var(--r,0deg))}}
}

@media print{
  .pp-hero__actions,.pp-search,.pp-mail__copy,.pp-deadline__form,.pp-hero__fl,.pp-rules__fl{display:none !important}
  .pp-fact__body{display:block}
}
