/* Font ospitati sul sito: nessuna richiesta a Google Fonts. */
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/playfair-display-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Playfair Display';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/playfair-display-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Playfair Display';font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/playfair-display-latin-400-italic.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/instrument-sans-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/instrument-sans-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/instrument-sans-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
.shared-footer{background:#0F1B3D;color:#F7F5F0;padding:clamp(56px,7vw,96px) 8vw 0;overflow:hidden;}
.sf-top{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding:0 0 clamp(52px,7vw,92px);}
.sf-brand img{display:block;width:min(34vw,360px);height:auto;object-fit:contain;}
.sf-place{margin:0;font:400 11.5px 'IBM Plex Mono',monospace;letter-spacing:.16em;text-transform:uppercase;color:rgba(247,245,240,.52);}
.sf-columns{display:grid;grid-template-columns:1.45fr 1fr .7fr;gap:clamp(32px,6vw,96px);padding:44px 0 clamp(52px,7vw,84px);border-top:1px solid rgba(247,245,240,.18);}
.sf-columns nav{display:flex;flex-direction:column;align-items:flex-start;gap:4px;}
.sf-columns h3{margin:0 0 16px;font:400 10.5px 'IBM Plex Mono',monospace;letter-spacing:.2em;text-transform:uppercase;color:rgba(247,245,240,.42);font-weight:400;}
.shared-footer a,.sf-language button{color:inherit;text-decoration:none;}
/* identica alle voci della navbar */
.sf-columns a{display:inline-block;padding:8px 0;border-bottom:1px solid transparent;font:400 11.5px 'IBM Plex Mono',monospace;letter-spacing:.16em;text-transform:uppercase;transition:border-color 300ms,color 300ms;}
.sf-columns a:hover{color:#F5A31A;border-bottom-color:#F5A31A;}
.sf-columns a[aria-disabled="true"]{color:rgba(247,245,240,.38);cursor:default;}
.sf-columns a[aria-disabled="true"]:hover{color:rgba(247,245,240,.38);border-bottom-color:transparent;}
/* selettore lingua a pastiglia, come quello in alto */
.sf-language{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid rgba(247,245,240,.28);border-radius:999px;}
.sf-language button{padding:7px 15px;border:0;border-radius:999px;background:none;cursor:pointer;font:600 11px 'IBM Plex Mono',monospace;letter-spacing:.12em;text-transform:uppercase;color:rgba(247,245,240,.62);transition:background 260ms,color 260ms;}
.sf-language button[aria-pressed=true]{background:#F5A31A;color:#131A2B;}
.sf-language button:hover{color:#F7F5F0;}
.sf-language button[aria-pressed=true]:hover{color:#131A2B;}
.sf-language>span{display:none;}

/* Certificazioni: le stesse mostrate nella sezione «Non solo tradizione» */
.sf-certs{display:flex;align-items:center;flex-wrap:wrap;gap:clamp(26px,4vw,58px);padding:40px 0;border-top:1px solid rgba(247,245,240,.18);}
.sf-certs-label{flex:0 0 auto;margin:0;font:400 10.5px 'IBM Plex Mono',monospace;letter-spacing:.2em;text-transform:uppercase;color:rgba(247,245,240,.42);}
.sf-certs-list{display:flex;align-items:center;flex-wrap:wrap;gap:clamp(24px,3.4vw,52px);margin:0;padding:0;list-style:none;}
.sf-certs-list li{display:flex;align-items:center;min-width:0;}
.sf-certs-list strong{font:500 clamp(17px,1.7vw,22px)/1 'Playfair Display',Georgia,serif;letter-spacing:-.02em;white-space:nowrap;}
.sf-certs-list img{display:block;}
.sf-cert-brc{width:34px;height:53px;}
.sf-cert-ifs{width:84px;height:auto;mix-blend-mode:screen;filter:grayscale(1) brightness(.6) contrast(5) invert(1);clip-path:inset(5%);}
.sf-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid rgba(247,245,240,.18);padding:26px 0 30px;font:400 11px 'IBM Plex Mono',monospace;letter-spacing:.16em;text-transform:uppercase;color:rgba(247,245,240,.52);}
.sf-bottom a:hover{color:#F5A31A;}

/* Riga di rendicontazione: fascia bianca a tutta larghezza, fuori dal blu. */
.sf-funding{background:#FFFFFF;padding:clamp(24px,3vw,38px) 8vw;}
.sf-funding-list{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:clamp(22px,4.2vw,64px);margin:0;padding:0;list-style:none;}
.sf-funding-list li{display:flex;align-items:center;}
/* allineati per altezza: così ogni logo resta leggibile e le proporzioni reggono */
.sf-funding-list img{display:block;width:auto;height:clamp(46px,5.4vw,68px);}
.closing-link:focus-visible,.shared-footer a:focus-visible,.sf-language button:focus-visible{outline:2px solid #F5A31A;outline-offset:6px;}
@media(max-width:600px){.closing-content h2{font-size:clamp(37px,11vw,58px);}.shared-footer{padding:52px 24px 0;}.sf-top{align-items:flex-start;flex-direction:column;gap:26px;padding:0 0 48px;}.sf-brand img{width:min(62vw,260px);height:auto;}.sf-columns{grid-template-columns:1fr 1fr;gap:36px 20px;padding:36px 0 56px;}.sf-columns nav:first-child{grid-column:1/-1;}.sf-columns a{font-size:14px;line-height:1.4;}.sf-bottom{align-items:flex-start;flex-direction:column;gap:14px;}.sf-certs{gap:22px;padding:30px 0;}.sf-funding{padding:20px 20px;}}
/* Shared shell: the home geometry and behavior, independent of page content. */

body{margin:0}.shared-header,.shared-footer,.sf-funding{box-sizing:border-box;font-family:'Instrument Sans',Helvetica,sans-serif;line-height:1.55}.shared-header *,.shared-footer *,.sf-funding *{box-sizing:border-box}.shared-header{position:fixed;inset:0 0 auto;z-index:100;background:#0F1B3D;color:#F7F5F0;transition:background 400ms cubic-bezier(.16,1,.3,1)}body[data-shell-overlay] .shared-header:not(.shell-scrolled){background:linear-gradient(to bottom,rgba(10,18,45,.6),rgba(10,18,45,0))}.shell-bar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px clamp(22px,4vw,64px);transition:padding 400ms cubic-bezier(.16,1,.3,1)}.shell-logo{display:block;flex:none}.shell-logo img{height:58px;width:auto;max-width:none;object-fit:contain;display:block;transition:height 400ms cubic-bezier(.16,1,.3,1)}.shell-scrolled .shell-bar{padding-block:12px}.shell-scrolled .shell-logo img{height:38px}.shell-desktop{display:flex;align-items:center;gap:clamp(18px,2.4vw,38px)}.shell-link,.shell-link:visited{font:400 11.5px/1.55 'IBM Plex Mono',monospace;letter-spacing:.16em;text-transform:uppercase;color:#F7F5F0;text-decoration:none;display:flex;align-items:center;min-height:48px;padding:8px 0;border-bottom:1px solid transparent;transition:color 300ms,border-color 300ms}.shell-link:hover,.shell-link[aria-current=page]{color:#F5A31A;border-color:#F5A31A}.shell-language{display:flex;align-items:center;padding:3px;border:1px solid rgba(247,245,240,.2);border-radius:999px;background:rgba(247,245,240,.1)}.shell-language button{font:600 11px/1.55 'IBM Plex Mono',monospace;letter-spacing:.12em;padding:6px 12px;border:0;min-width:42px;min-height:32px;color:#F7F5F0;background:transparent;border-radius:999px;cursor:pointer}.shell-language button[aria-pressed=true]{background:#F5A31A;color:#131A2B}.shell-language button:disabled{opacity:.55;cursor:default}.shell-contact,.shell-contact:visited{display:inline-flex;align-items:center;gap:10px;padding:9px 20px;min-height:42px;border-radius:999px;background:#F5A31A;border:1px solid #F5A31A;color:#131A2B;font:600 11px/1.55 'IBM Plex Mono',monospace;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;white-space:nowrap;transition:background 300ms,transform 300ms cubic-bezier(.16,1,.3,1)}.shell-contact:hover{background:#DB8E0E;transform:translateY(-2px)}.shell-contact svg,.shell-menu-toggle svg{flex:none}.shell-menu-toggle{display:none;align-items:center;gap:10px;min-height:48px;padding:9px 18px;border:1px solid rgba(247,245,240,.35);border-radius:999px;background:transparent;color:#F7F5F0;font:600 11px/1.55 'IBM Plex Mono',monospace;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.shell-progress{height:2px;background:#F5A31A;transform:scaleX(0);transform-origin:0 50%;will-change:transform}.shell-menu{position:fixed;inset:0;margin:0;padding:120px clamp(22px,6vw,64px) 48px;background:#0F1B3D;border:0;color:#F7F5F0;width:100vw;max-width:none;height:100svh;max-height:none;overflow-y:auto}.shell-menu:not([open]){display:none}.shell-menu nav{display:flex;flex-direction:column;gap:8px}.shell-menu .shell-link{font:400 34px/1.2 'Playfair Display',Georgia,serif;text-transform:none;letter-spacing:normal;min-height:68px;padding:14px 0;border-bottom:1px solid rgba(247,245,240,.12)}.shell-menu .shell-mobile-contact{color:#F5A31A;border-bottom:0}.shell-menu-close{position:absolute;right:24px;top:24px;min-height:48px;min-width:48px;color:#F7F5F0;background:transparent;border:1px solid currentColor;border-radius:999px;font:26px/1 'Instrument Sans',sans-serif;cursor:pointer}.shell-menu .shell-language{display:inline-flex;margin-top:32px}.shell-menu .shell-language button{min-width:64px;min-height:48px;font-size:12px;padding:11px 18px}.shell-menu-open{overflow:hidden}.shared-header :focus-visible,.shared-footer :focus-visible{outline:2px solid #F5A31A;outline-offset:5px}.shared-footer .sf-place{line-height:1.8}.shared-footer .sf-place a{display:inline-block}.shared-footer .sf-bottom{max-width:none;margin:0}.shared-footer .sf-columns a{min-height:40px}.shared-footer .sf-language button{min-width:48px;min-height:48px}.shared-footer .sf-place,.shared-footer .sf-certs-label{margin-top:0}.sf-funding img{max-width:100%;object-fit:contain}.catalog-reader{padding-top:112px}.catalog-index{top:88px}html{scroll-padding-top:112px}
@media(max-width:1100px){.shell-desktop{gap:18px}.shell-logo img{height:48px}}
@media(max-width:900px){.shell-desktop{display:none}.shell-menu-toggle{display:inline-flex}.shell-bar{padding-block:20px}.shell-logo img{height:48px}.shell-scrolled .shell-logo img{height:38px}.catalog-reader{padding-top:96px}.shell-scrolled .shell-bar{padding-block:12px}}
@media(prefers-reduced-motion:no-preference){@keyframes shell-menu-enter{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:translateY(0)}}.shell-menu[open]{animation:shell-menu-enter 500ms cubic-bezier(.16,1,.3,1)}@keyframes shell-footer-enter{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}.shared-footer.sf-enter .sf-top,.shared-footer.sf-enter .sf-columns{animation:shell-footer-enter 600ms cubic-bezier(.16,1,.3,1) both}.shared-footer.sf-enter .sf-columns{animation-delay:100ms}}
@media(prefers-reduced-motion:reduce){.shared-header *,.shared-footer *{transition:none!important;animation:none!important}html{scroll-behavior:auto}}

.shared-footer p{line-height:1.55}.shared-footer .sf-place{line-height:1.8}
