:root{--bg:#1e2023;--panel:#25292e;--nav:#2d3138;--gold:#c3ad70;--text:#fff;--paper:#ded7d7;--max:1370px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.45}img,video{display:block;max-width:100%}a{color:inherit;text-decoration:none}a:hover{color:var(--gold)}h1,h2,h3,h4{font-family:Georgia,'Times New Roman',serif;font-weight:400}.container{width:min(calc(100% - 70px),var(--max));margin-inline:auto}.skip-link{position:fixed;left:1rem;top:-4rem;z-index:1000;background:#fff;color:#111;padding:.75rem}.skip-link:focus{top:1rem}.topbar{height:55px;background:var(--nav);display:flex;align-items:center;padding-left:max(10px,calc((100% - var(--max))/2))}.topbar img{height:45px;width:auto}.brand{height:140px;display:grid;place-items:center}.brand img{width:250px}.main-nav{min-height:100px;background:var(--nav);display:flex;justify-content:center;align-content:center;flex-wrap:wrap;gap:0}.main-nav a{padding:16px 20px;font-family:Georgia,'Times New Roman',serif;font-weight:700;color:#ddd}.main-nav a:last-child{flex-basis:100%;text-align:center;padding-top:6px}.menu-toggle{display:none}.hero{height:min(31.25vw,600px);overflow:hidden;background:#eee}.hero video{width:100%;height:100%;object-fit:cover}.section-dark{background:#1b1d20}.section-mid{background:var(--panel)}.intro{padding:85px 0 65px}.intro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}.intro h1,.intro h2{font-size:28px;margin:0 0 17px;color:var(--gold)}.intro p{margin:0}.intro strong{font-weight:700}.services{padding:70px 0 55px}.services h2{text-align:center;color:var(--gold);font-size:32px;margin:0 0 30px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.service{overflow:hidden;text-align:center;color:var(--gold);font-family:Georgia,'Times New Roman',serif;text-transform:uppercase;font-size:16px}.service img{width:100%;aspect-ratio:450/363;object-fit:cover;transition:opacity .25s ease,transform .35s ease}.service span{display:block;padding:30px 0 12px}.service:hover img{opacity:.8;transform:scale(1.015)}.spacer{height:115px;background:#191b1d}.children{padding:55px 0}.children-grid{display:grid;grid-template-columns:2fr 1fr;gap:30px;align-items:start}.children-grid>img{width:100%;height:100%;object-fit:cover}.children h2{font-size:32px;margin:18px 0 20px}.children p{margin:0 0 16px}.publications{background:var(--paper);color:var(--panel);text-align:center;padding:70px 0 65px}.publications h2{font-size:32px;margin:0 0 8px}.publications>div>p{margin:0 0 50px}.carousel{position:relative;display:flex;align-items:center}.carousel-track{display:grid;grid-template-columns:repeat(3,1fr);gap:90px;width:100%;overflow:hidden}.publication{min-width:0}.publication img{width:100%;aspect-ratio:1/1;object-fit:contain}.carousel button{position:absolute;z-index:2;border:0;background:transparent;color:var(--gold);font-size:32px;cursor:pointer}.carousel-prev{left:-30px}.carousel-next{right:-30px}.site-footer{padding:95px 0 25px;background:var(--panel);text-align:center}.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:50px}.footer-grid section{border-top:1px solid #383c42;padding-top:18px}.footer-grid h2{font-size:27px;margin:0 0 22px}.footer-grid section>a{display:block;color:var(--gold);padding:7px;border-top:1px solid #383c42}.social{display:flex;justify-content:center;gap:10px}.social img{width:35px;height:35px;object-fit:cover}.mobile-number{width:120px;margin:10px auto 0}.footer-brand>img{width:250px;margin:0 auto 28px}.counter{display:inline-block;background:#080808;color:#fff;font:14px monospace;letter-spacing:3px;padding:0 4px}.copyright{color:#8c949a;font-size:11px;margin:30px 0 0;line-height:2}.cookie-banner{position:fixed;left:50%;bottom:0;z-index:20;width:min(800px,85%);transform:translateX(-50%);background:rgba(255,255,255,.95);color:#777;border-radius:5px 5px 0 0;box-shadow:0 0 20px #777;padding:12px;font-size:12px}.cookie-banner h2{font:700 11px Arial;margin:0 0 5px;color:#444;text-transform:uppercase}.cookie-banner p{margin:0 0 5px;line-height:1.1}.cookie-banner a{color:#999}.cookie-banner button{position:absolute;right:7px;top:5px;border:0;background:none;color:#777;font-size:18px;cursor:pointer}.cookie-ok{display:inline-block!important;background:var(--gold);color:#fff!important;padding:3px 6px}
@media(max-width:900px){.container{width:min(calc(100% - 32px),720px)}.topbar{justify-content:center;height:65px;padding:0}.brand{height:105px}.brand img{width:250px}.menu-toggle{display:block;width:100%;height:48px;border:0;background:var(--nav);color:#fff;font:14px Georgia;cursor:pointer}.menu-toggle span{display:inline-block;width:14px;height:10px;border-top:2px solid;border-bottom:2px solid;position:relative;margin-right:5px}.menu-toggle span:after{content:'';position:absolute;left:0;right:0;top:3px;border-top:2px solid}.main-nav{display:none;min-height:0;flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.main-nav a,.main-nav a:last-child{flex-basis:auto;text-align:center;padding:12px;border-top:1px solid #3c4045}.hero{height:31.25vw;min-height:120px}.intro-grid{grid-template-columns:1fr}.children-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}}
@media(max-width:560px){body{font-size:13px}.container{width:calc(100% - 40px)}.topbar{height:64px}.topbar img{height:43px}.brand{height:104px}.brand img{width:245px}.hero{height:121px}.intro{padding:52px 0 45px}.intro-grid{gap:24px}.intro h1,.intro h2{font-size:25px;margin-bottom:12px}.services{margin:0 20px;padding:50px 20px 34px}.services .container{width:100%}.services h2{font-size:28px;line-height:.9;margin-bottom:28px}.service-grid{grid-template-columns:1fr;gap:22px}.service span{padding:18px 0 5px}.spacer{height:90px}.children{margin:0 20px;padding:55px 20px}.children .container{width:100%}.children h2{font-size:29px;line-height:.95;margin:28px 0 20px}.publications{margin:90px 20px 0;padding:60px 20px}.publications .container{width:100%}.publications h2{font-size:29px;line-height:.9}.publications>div>p{font-size:12px;line-height:1.2;margin-bottom:50px}.carousel-track{gap:20px}.carousel button{display:none}.site-footer{padding-top:85px}.footer-grid{gap:42px}.footer-grid section{padding-top:15px}.footer-grid h2{font-size:24px;margin-bottom:18px}.footer-brand>img{width:230px}.cookie-banner{width:90%;font-size:10px}.cookie-banner h2{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.service img{transition:none}}
.social img{border-radius:8px}
@font-face{font-family:'Droid Serif';src:url('assets/fonts/droid-serif.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Adamina';src:url('assets/fonts/adamina.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
body{font-family:'Open Sans',Arial,Helvetica,sans-serif;font-size:14.4px;font-style:normal;font-weight:400;line-height:21.6px}
@media(min-width:1200px){.main-nav{height:64.8px;min-height:64.8px;padding:0 14px;flex-wrap:nowrap;align-items:center;align-content:normal}.main-nav a{flex:0 1 auto;margin-right:14.4px;padding:10.8px 14.4px 13.68px 0;font-family:'Droid Serif',Georgia,serif;font-style:normal;font-weight:400;white-space:nowrap}.main-nav a:last-child{flex-basis:auto;margin-right:0;padding-right:0;text-align:left}}
@media(min-width:901px) and (max-width:1199px){.menu-toggle{display:block;width:100%;height:48px;border:0;background:var(--nav);color:#fff;font:14px 'Droid Serif',Georgia,serif;cursor:pointer}.menu-toggle span{display:inline-block;width:14px;height:10px;border-top:2px solid;border-bottom:2px solid;position:relative;margin-right:5px}.menu-toggle span:after{content:'';position:absolute;left:0;right:0;top:3px;border-top:2px solid}.main-nav{display:none;min-height:0;flex-direction:column;align-items:stretch}.main-nav.open{display:flex}.main-nav a,.main-nav a:last-child{flex-basis:auto;text-align:center;padding:12px;border-top:1px solid #3c4045;font-family:'Droid Serif',Georgia,serif;font-weight:400}}
@media(max-width:900px){.menu-toggle,.main-nav a{font-family:'Droid Serif',Georgia,serif;font-weight:400}.menu-toggle{letter-spacing:0}}
.main-nav,.main-nav a,.menu-toggle{font-family:'Droid Serif',Georgia,serif}
.intro p,.children p,.publications p,.site-footer,.cookie-banner{font-family:'Open Sans',Arial,Helvetica,sans-serif}
h1,h2,h3,h4{font-family:'Adamina',serif}.services h2{font-size:30px;line-height:30px}.service{font-family:'Adamina',serif;font-weight:700}.footer-grid h2{font-family:'Adamina',serif;font-size:25px;line-height:35px;margin:10px 0 25px}

/* Homepage publications carousel: original three-up geometry. */
.publications>.container{width:min(calc(100% - 40px),1400px)}
.carousel-track{grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.publication{display:block;padding:0 10px}
.publication img{width:100%;height:auto;aspect-ratio:auto;object-fit:contain}
.carousel-prev{left:0}.carousel-next{right:0}
@media(min-width:561px){.publication{width:min(100%,320px);margin:0 auto}}
@media(max-width:560px){.publications>.container{width:100%}.carousel{padding:0 30px}.carousel-track{grid-template-columns:1fr;gap:0;touch-action:pan-y}.publication{width:min(100%,260px);margin:0 auto;padding:0 5px}.carousel button{display:block;width:30px;height:60px;padding:0;background:rgba(255,255,255,.72);border-radius:3px;line-height:60px}.carousel-prev{left:0}.carousel-next{right:0}}

.site-header{padding-top:55px}.topbar{position:fixed;z-index:1000;inset:0 0 auto}.topbar-tools{position:absolute;right:max(10px,calc((100% - var(--max))/2));top:50%;display:flex;gap:20px;align-items:center;transform:translateY(-50%)}.top-social,.language-links{display:flex;align-items:center}.top-social{gap:6px}.language-links{gap:9px}.top-social a,.language-links a{display:block;line-height:0}.top-social img{width:18px;height:18px;object-fit:cover;border-radius:4px}.language-links img{width:30px;height:18px;object-fit:cover;border:1px solid rgba(255,255,255,.45);box-shadow:0 1px 3px rgba(0,0,0,.35)}
@media(max-width:900px){.site-header{padding-top:65px}.topbar{justify-content:flex-start;padding-left:12px}.topbar-tools{right:12px;gap:15px}.top-social{gap:4px}.top-social img{width:17px;height:17px}.language-links{gap:7px}.language-links img{width:27px;height:17px}}

/* Corpo del testo */
.intro p,.children p{text-align:justify}
@media(max-width:560px){.site-header{padding-top:64px}}

.footer-bottom{position:relative;min-height:48px;margin-top:30px;padding:0 35px}.footer-bottom .copyright{margin:0}.accessibility-link{position:absolute;left:35px;bottom:0;color:#8c949a;font-size:11px;line-height:2}.accessibility-link:hover{color:#c3ad70}
@media(max-width:700px){.footer-bottom{padding:0 20px}.accessibility-link{position:static;display:inline-block;margin-bottom:12px}.footer-bottom .copyright{margin:0}}

/* Topbar icons: social icons must be exactly as tall as the language flags. */
.topbar .top-social img,
.topbar .language-links img{height:18px!important}
.topbar .top-social img{width:18px!important;object-fit:contain}
.topbar .language-links img{width:30px!important;object-fit:cover}
@media(max-width:900px){
  .topbar .top-social img,
  .topbar .language-links img{height:17px!important}
  .topbar .top-social img{width:17px!important}
  .topbar .language-links img{width:27px!important}
}

/* Crisp Google Material Symbols icon replaces the CSS-drawn hamburger. */
.menu-toggle span{
  width:18px!important;
  height:18px!important;
  margin-right:6px;
  border:0!important;
  background:url('assets/images/menu.svg') center/18px 18px no-repeat;
  vertical-align:middle;
}
.menu-toggle span::after{display:none!important}

/* Optical sizing: square social icons need a little more height than wide flags. */
.topbar .top-social a{
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:5px;
}
.topbar .top-social img{
  width:20px!important;
  height:20px!important;
  object-fit:cover;
}
.topbar .top-social img[src$="mail.jpg"]{transform:scale(1.12)}
.site-footer .social a{
  width:35px;
  height:35px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:8px;
}
.site-footer .social img[src$="mail.jpg"]{transform:scale(1.12)}
@media(max-width:900px){
  .topbar .top-social a{width:19px;height:19px}
  .topbar .top-social img{width:19px!important;height:19px!important}
}
img{height:auto}
