/* Pagine documento (Privacy e Cookie Policy): stesso mondo del sito, testo su "fogli" di carta */
:root{
  --canvas:#F5F2F8;--panel:#FFFFFF;--paper:#FFFFFF;--paper-2:#F3EFF8;--paper-line:#DDD6E8;--paper-ink:#1B1424;--paper-ink-2:#5A4F66;--paper-link:#C8124F;
  --accent:#EE2669;--accent-hover:#FF3D7F;--luce:#07CDF2;--gas:#FFB347;--viola:#9B7FC9;
  --tp:#1B1424;--ts:#54495F;--tm:#6F657C;--line:rgba(27,20,36,.10);--line-strong:rgba(27,20,36,.24);
  --twin:linear-gradient(90deg,var(--luce),var(--gas));--ease:cubic-bezier(.22,.7,.24,1);
  --fd:"Sora","Helvetica Neue",Arial,sans-serif;--fb:"Hanken Grotesk","Helvetica Neue",Arial,sans-serif;--fm:"IBM Plex Mono",Consolas,monospace;
  --maxw:800px;--pad:clamp(16px,4vw,32px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:#F5F2F8}
body{background:var(--canvas);color:var(--tp);font-family:var(--fb);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-x:clip}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}
::selection{background:var(--gas);color:var(--paper-ink)}
html{scrollbar-color:#C6BAD3 var(--canvas);scrollbar-width:thin}
::-webkit-scrollbar{width:11px}::-webkit-scrollbar-track{background:var(--canvas)}::-webkit-scrollbar-thumb{background:#C6BAD3;border-radius:99px;border:3px solid var(--canvas)}
body{caret-color:var(--accent)}
td,th,nav.toc li::before,section>h2 .num{font-variant-numeric:tabular-nums}
.skip{position:absolute;left:16px;top:-60px;z-index:200;background:#DC1A5A;color:#fff;padding:10px 16px;border-radius:999px;font-weight:600;transition:top .2s}
.skip:focus{top:14px}
.mark{background:#FFF0A8;padding:1px 7px;border-radius:5px;color:#5F4800;font-weight:500;font-size:.92em}
[id]{scroll-margin-top:84px}


/* topbar */
.topbar{position:fixed;inset:0 0 auto;z-index:80;background:rgba(245,242,248,.86);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border-bottom:1px solid var(--line)}
.topbar-in{max-width:1180px;margin:0 auto;padding:12px var(--pad);display:flex;align-items:center;gap:26px}
.brand img{height:40px;width:auto}
.topbar .back{margin-left:auto;display:inline-flex;align-items:center;gap:8px;font-size:14.5px;font-weight:500;color:var(--ts);min-height:44px}
.topbar .back svg{width:16px;height:16px}
.topbar .back:hover{color:var(--tp)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:10px 18px;border-radius:999px;font-weight:600;font-size:14px;border:1px solid transparent;cursor:pointer;transition:transform .3s var(--ease),background .3s;white-space:nowrap;min-height:44px}
.btn-p{background:#DC1A5A;color:#fff}
.btn-p:hover{background:#E21E5F;transform:translateY(-2px)}
/* selettore lingua (markup generato da build/i18n/build.js) */
.lang{position:relative;flex:none}
.lang summary{list-style:none;display:flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;border-radius:999px;border:1px solid var(--line-strong);background:rgba(255,255,255,.7);color:var(--tp);font-size:13.5px;font-weight:600;letter-spacing:.05em;cursor:pointer;user-select:none;-webkit-tap-highlight-color:transparent;transition:border-color .25s}
.lang summary::-webkit-details-marker{display:none}
.lang summary:hover{border-color:var(--tp)}
.lang summary svg{width:17px;height:17px;flex:none}
.lang summary .chev{width:12px;height:12px;transition:transform .25s var(--ease)}
.lang[open] summary .chev{transform:rotate(180deg)}
.lang-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:172px;list-style:none;padding:6px;border-radius:16px;background:#fff;border:1px solid var(--line-strong);box-shadow:0 1px 2px rgba(27,20,36,.06),0 16px 36px -18px rgba(27,20,36,.28)}
.lang-menu a{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px;padding:0 14px;border-radius:10px;font-size:15px;font-weight:500;color:var(--tp)}
.lang-menu a:hover{background:rgba(27,20,36,.04)}
.lang-menu a[aria-current]{background:rgba(27,20,36,.08);font-weight:600}
.lang-menu a[aria-current]::after{content:"✓";color:#C8124F}
@media (max-width:600px){.topbar .btn{display:none}.topbar-in{gap:10px}}

/* masthead */
.masthead{position:relative;z-index:1;padding:150px 0 54px}
.masthead-inner{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
.masthead h1{font-family:var(--fd);font-weight:700;font-size:clamp(34px,5.6vw,60px);line-height:1.05;letter-spacing:-.035em;margin:0 0 22px}
.meta-row{display:flex;flex-wrap:wrap;gap:8px 28px;font-size:14px;color:var(--ts);padding-top:16px;border-top:1px solid var(--line-strong)}
.meta-row strong{color:var(--tp);font-weight:600;font-family:var(--fm);font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-right:6px}

/* corpo: fogli di carta */
main{position:relative;z-index:1;padding:10px 0 80px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);color:var(--paper-ink)}
nav.toc{background:var(--paper);border-radius:16px;padding:26px 28px;margin:0 0 20px;box-shadow:0 2px 4px rgba(27,20,36,.05),0 30px 60px -34px rgba(27,20,36,.3),0 0 0 1px var(--paper-line)}
nav.toc h2{font-family:var(--fd);font-weight:600;font-size:21px;letter-spacing:-.02em;margin:0 0 14px;color:var(--paper-ink)}
nav.toc ol{margin:0;padding:0;list-style:none;columns:2;column-gap:34px;font-size:14.5px;counter-reset:toc}
nav.toc li{margin:0 0 7px;break-inside:avoid;counter-increment:toc;position:relative;padding-left:28px;color:var(--paper-ink-2)}
nav.toc li::before{content:counter(toc,decimal-leading-zero);position:absolute;left:0;top:0;font-family:var(--fm);font-size:12px;color:var(--paper-link);letter-spacing:.04em}
nav.toc a:hover{color:var(--paper-link)}
section{background:var(--paper);border-radius:16px;padding:34px 40px;margin:0 0 20px;box-shadow:0 2px 4px rgba(27,20,36,.05),0 30px 60px -34px rgba(27,20,36,.3),0 0 0 1px var(--paper-line)}
section>h2{font-family:var(--fd);font-weight:600;font-size:24px;line-height:1.2;margin:0 0 20px;padding-bottom:14px;border-bottom:1px dashed var(--paper-line);letter-spacing:-.025em;color:var(--paper-ink)}
section>h2 .num{font-family:var(--fm);font-weight:400;font-size:14px;letter-spacing:.08em;color:var(--paper-link);margin-right:12px}
h3{font-family:var(--fd);font-weight:600;font-size:17.5px;line-height:1.25;letter-spacing:-.015em;margin:22px 0 8px;color:var(--paper-ink)}
h4{font-size:15.5px;font-weight:600;margin:16px 0 6px;color:var(--paper-ink)}
p{margin:0 0 12px;color:var(--paper-ink-2)}
ul,ol{padding-left:22px;margin:6px 0 14px;color:var(--paper-ink-2)}
li{margin-bottom:5px}
strong{color:var(--paper-ink);font-weight:600}
.wrap a{color:var(--paper-link);text-decoration:underline;text-decoration-color:rgba(200,18,79,.35);text-underline-offset:3px}
.wrap a:hover{text-decoration-color:var(--paper-link)}
.lead{color:var(--paper-ink);font-size:18px;line-height:1.55;margin-bottom:20px;padding-bottom:16px;border-bottom:1px dashed var(--paper-line)}
.callout{background:#FBE9EF;border-radius:10px;padding:12px 16px;margin:14px 0;color:var(--paper-ink)}
.callout p{margin:0;color:var(--paper-ink)}
.table-scroll{overflow-x:auto;margin:14px 0 8px;-webkit-overflow-scrolling:touch;border-radius:8px}
table{border-collapse:collapse;width:100%;min-width:560px;font-size:13.5px}
th,td{text-align:left;vertical-align:top;padding:9px 11px;border-bottom:1px solid var(--paper-line)}
thead th{background:#EDE7F4;color:var(--paper-ink);font-weight:500;font-size:12px;letter-spacing:.04em;font-family:var(--fm)}
thead th:first-child{border-top-left-radius:7px}
thead th:last-child{border-top-right-radius:7px}
tbody tr:nth-child(even){background:var(--paper-2)}
td:first-child{color:var(--paper-ink);font-weight:500}
.cat-row td{background:rgba(7,205,242,.14);color:#0A5A6E;font-weight:500;text-transform:uppercase;font-size:11.5px;letter-spacing:.06em;font-family:var(--fm)}
.def dt{font-weight:600;color:var(--paper-ink);margin-top:10px}
.def dd{margin:2px 0 0;color:var(--paper-ink-2)}
.contact-card{background:var(--paper-2);color:var(--paper-ink);border:1px solid var(--paper-line);border-radius:12px;padding:18px 20px;margin:8px 0 14px}
.contact-card p{color:var(--paper-ink-2);margin:0 0 4px}
.contact-card strong{color:var(--paper-ink)}

/* footer */
footer{position:relative;z-index:1;background:#ECE7F2;color:var(--tm);padding:34px 0;font-size:13px;border-top:1px solid var(--line);text-align:center}
footer .wrap{color:var(--tm)}
footer .wrap a{color:var(--ts);text-decoration-color:rgba(84,73,95,.4)}
footer .wrap a:hover{color:var(--paper-link)}
footer .backtop{display:inline-flex;align-items:center;gap:6px;margin-bottom:12px;min-height:44px;font-weight:500}
@media (max-width:640px){section{padding:24px 18px}nav.toc{padding:20px 18px}nav.toc ol{columns:1}.masthead{padding-top:120px}}
/* movimento: titolo che sale, fogli che entrano con lo scorrimento, passaggio morbido fra le pagine */
html{interpolate-size:allow-keywords}
body::before{content:"";position:fixed;inset:-12%;z-index:0;pointer-events:none;background:radial-gradient(38% 34% at 12% 18%,rgba(7,205,242,.09),transparent 70%),radial-gradient(34% 30% at 88% 34%,rgba(255,179,71,.11),transparent 70%),radial-gradient(40% 34% at 56% 92%,rgba(155,127,201,.12),transparent 70%);animation:ambient 38s ease-in-out infinite alternate}
@keyframes ambient{from{transform:translate3d(-2%,-1.5%,0) scale(1)}to{transform:translate3d(2.5%,2%,0) scale(1.06)}}
.masthead h1,.masthead .meta-row{animation:rise 1s var(--ease) both}
.masthead .meta-row{animation-delay:.18s}
@keyframes rise{from{opacity:0;transform:translateY(22px)}}
nav.toc a{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .4s var(--ease),color .25s}
nav.toc a:hover{background-size:100% 1px}
.btn-p{position:relative;overflow:hidden;isolation:isolate}
.btn-p::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 38%,rgba(255,255,255,.34) 50%,transparent 62%);transform:translateX(-130%)}
.btn-p:hover::after{transform:translateX(130%);transition:transform .8s var(--ease)}
@supports (animation-timeline:view()){
  nav.toc,section{animation:sheetin linear both;animation-timeline:view();animation-range:entry 0px entry 220px}
  @keyframes sheetin{from{opacity:0;transform:translateY(34px) scale(.985)}}
}
.topbar{animation:barin .7s var(--ease) both}
@keyframes barin{from{transform:translateY(-100%)}}
@view-transition{navigation:auto}
::view-transition-old(root){animation:vtout .28s var(--ease) both}
::view-transition-new(root){animation:vtin .5s cubic-bezier(.16,1,.3,1) both}
@keyframes vtout{to{opacity:0;transform:translateY(-8px)}}
@keyframes vtin{from{opacity:0;transform:translateY(14px)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition-duration:.01ms!important}html{scroll-behavior:auto}}
