/*
Theme Name: Ada Negri School
Theme URI: https://www.scuolaadanegri.it/
Author: Ada Negri / HDnetwork
Description: Tema WordPress personalizzato per la Scuola dell'Infanzia Paritaria Ada Negri di Palermo. Responsive, accessibile, con sezioni dedicate, grafica scolastica coerente e form contatti nativo.
Version: 1.31.6
Requires at least: 6.3
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: ada-negri-school
*/

:root{
  --an-blue:#0a2f68;--an-blue-deep:#062552;--an-blue-soft:#e8f5ff;--an-cream:#fff9f1;--an-paper:#fffdf9;
  --an-green:#168a48;--an-yellow:#f4ba22;--an-orange:#ef7d28;--an-coral:#ed4d58;--an-violet:#7446a7;
  --an-ink:#132033;--an-muted:#5c6878;--an-line:#dfe5ed;--an-white:#fff;
  --an-shadow:0 24px 68px rgba(8,47,104,.13);--an-shadow-soft:0 12px 34px rgba(8,47,104,.08);
  --an-container:min(1240px,calc(100% - 48px));--an-display:"Fredoka","Nunito",system-ui,sans-serif;
  --an-body:"Nunito",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--an-paper);color:var(--an-ink);font-family:var(--an-body);font-size:17px;line-height:1.62;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.an-wrap{width:var(--an-container);margin-inline:auto}.screen-reader-text,.an-skip{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.an-skip:focus{left:10px;top:10px;width:auto;height:auto;background:#fff;color:#000;padding:10px 14px;border-radius:10px;z-index:9999;box-shadow:var(--an-shadow-soft)}
.an-eyebrow{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:900;color:var(--an-green)}
.an-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid transparent;border-radius:999px;padding:13px 21px;font-weight:850;line-height:1.1;transition:.2s ease;cursor:pointer}.an-btn:hover{transform:translateY(-2px)}.an-btn-primary{background:var(--an-blue);color:#fff;box-shadow:0 8px 18px rgba(10,47,104,.16)}.an-btn-primary:hover{background:var(--an-blue-deep)}.an-btn-coral{background:var(--an-coral);color:#fff}.an-btn-light{background:#fff;color:var(--an-blue)}.an-btn-outline{border-color:#c9d5e4;background:#fff;color:var(--an-blue)}

/* Header */
.an-site-header{position:sticky;top:0;z-index:80;background:rgba(255,253,249,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(10,47,104,.08)}.admin-bar .an-site-header{top:32px}.an-nav{height:88px;display:flex;align-items:center;gap:26px}.an-brand{display:flex;align-items:center;flex:0 0 auto}.an-brand img,.an-brand .custom-logo{width:215px;max-height:66px;object-fit:contain}.an-main-menu{display:flex;align-items:center;gap:23px;margin-left:auto;list-style:none;padding:0}.an-main-menu>li>a{position:relative;font-size:.94rem;font-weight:780;color:#31415a}.an-main-menu>li>a:after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--an-coral);transition:.2s}.an-main-menu>li.current-menu-item>a:after,.an-main-menu>li.current_page_item>a:after,.an-main-menu>li>a:hover:after{right:0}.an-main-menu .menu-item-cta>a{display:inline-flex;background:var(--an-blue);color:#fff;border-radius:999px;padding:12px 17px}.an-main-menu .menu-item-cta>a:after{display:none}.an-menu-toggle{display:none;margin-left:auto;width:48px;height:48px;border:0;border-radius:14px;background:#eef4fb;color:var(--an-blue);padding:0}.an-menu-toggle span,.an-menu-toggle:before,.an-menu-toggle:after{content:"";display:block;width:22px;height:2px;background:currentColor;margin:5px auto;transition:.2s}.an-mobile-panel{display:none}

/* Hero */
.an-hero{position:relative;overflow:hidden;background:var(--an-blue);color:#fff;padding:88px 0 74px}.an-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(to right,#000 0%,#000 85%,transparent 100%)}.an-hero:after{content:"";position:absolute;width:440px;height:440px;border-radius:50%;right:-170px;top:-210px;background:var(--an-yellow)}.an-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(420px,.96fr);gap:56px;align-items:center}.an-hero h1{font-family:var(--an-display);font-size:clamp(3.45rem,5.7vw,6rem);line-height:.96;letter-spacing:-.055em;margin:15px 0 24px;max-width:760px}.an-marker{position:relative;color:#fff3b1;white-space:nowrap}.an-marker:after{content:"";position:absolute;left:0;right:0;bottom:.02em;height:.12em;background:var(--an-coral);border-radius:99px;transform:rotate(-1.5deg);z-index:-1}.an-hero-copy>p{font-size:1.14rem;max-width:650px;color:#e7eef8;margin:0}.an-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:29px}.an-hero .an-btn-outline{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.28);color:#fff}.an-hero-meta{display:flex;gap:9px;flex-wrap:wrap;margin-top:32px}.an-pill{padding:8px 13px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.07);font-size:.88rem;font-weight:750;color:#f5f8fc}
.an-hero-scene{position:relative;min-height:500px;isolation:isolate}.an-school-cutout{position:absolute;z-index:1;left:0;right:0;bottom:36px;width:100%;filter:drop-shadow(0 24px 36px rgba(0,0,0,.18));opacity:.96}.an-lorenzo-hero{position:absolute;z-index:3;right:-7%;bottom:-75px;height:530px;width:auto;filter:drop-shadow(0 24px 34px rgba(0,0,0,.22))}.an-sticker{position:absolute;z-index:2;filter:drop-shadow(0 9px 14px rgba(0,0,0,.14));animation:an-float 4.8s ease-in-out infinite}.an-sticker-star{width:70px;height:70px;left:9%;top:0;background:var(--an-yellow);clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 95%,50% 72%,21% 95%,32% 57%,2% 35%,39% 35%);transform:rotate(-12deg)}.an-sticker-heart{width:61px;height:55px;right:8%;top:17%;background:var(--an-coral);clip-path:path('M30 52C10 36 0 24 0 12 0 4 6 0 13 0c7 0 12 4 17 10C35 4 40 0 47 0c7 0 13 4 13 12 0 12-10 24-30 40Z');animation-delay:-1.7s}.an-sticker-note{left:3%;bottom:16%;width:115px;height:80px;border-radius:16px;background:#fff;transform:rotate(-7deg);box-shadow:0 15px 35px rgba(0,0,0,.18)}.an-sticker-note:before{content:"abc";position:absolute;inset:0;display:grid;place-items:center;font-family:var(--an-display);font-weight:900;font-size:2rem;color:var(--an-blue)}@keyframes an-float{50%{transform:translateY(-9px) rotate(3deg)}}

/* Home */
.an-quick{background:#fff;border-bottom:1px solid var(--an-line)}.an-quick-grid{display:grid;grid-template-columns:repeat(4,1fr)}.an-quick-item{padding:25px 28px;border-right:1px solid var(--an-line)}.an-quick-item:last-child{border-right:0}.an-quick-item strong{display:block;font-family:var(--an-display);font-size:1.36rem;color:var(--an-blue);line-height:1.1}.an-quick-item span{display:block;color:var(--an-muted);font-size:.88rem;margin-top:4px}
.an-section{padding:108px 0}.an-section-compact{padding:80px 0}.an-section-cream{background:var(--an-cream)}.an-section-sky{background:var(--an-blue-soft)}.an-section-dark{background:var(--an-blue);color:#fff}.an-section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:46px}.an-section-head h2,.an-page-hero h1{font-family:var(--an-display);color:var(--an-blue);font-size:clamp(2.3rem,4vw,4.25rem);line-height:1.03;letter-spacing:-.045em;margin:8px 0 0}.an-section-dark .an-section-head h2{color:#fff}.an-section-head p{max-width:600px;color:var(--an-muted);margin:0}.an-section-dark .an-section-head p{color:#cbd9ec}
.an-features{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.an-feature{position:relative;overflow:hidden;background:#fff;border:1px solid #e6ebf1;border-radius:26px;padding:30px;min-height:275px;box-shadow:var(--an-shadow-soft)}.an-feature:before{content:"";position:absolute;left:0;top:0;width:100%;height:6px;background:var(--accent,var(--an-green))}.an-feature .an-num{font-family:var(--an-display);font-size:3.55rem;line-height:1;color:#e9eef5;font-weight:900}.an-feature h3{font-family:var(--an-display);font-size:1.48rem;color:var(--an-blue);margin:18px 0 8px}.an-feature p{color:var(--an-muted);margin:0}.an-feature.green{--accent:var(--an-green)}.an-feature.orange{--accent:var(--an-orange)}.an-feature.violet{--accent:var(--an-violet)}
.an-timeline{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--an-line);border-radius:30px;overflow:hidden;background:#fff;box-shadow:var(--an-shadow-soft)}.an-time{padding:30px 24px;min-height:230px;border-right:1px solid var(--an-line)}.an-time:last-child{border-right:0}.an-time .hour{font-family:var(--an-display);font-weight:900;font-size:1.56rem;color:var(--an-blue)}.an-time h3{font-size:1rem;margin:18px 0 8px}.an-time p{font-size:.9rem;color:var(--an-muted);margin:0}.an-time .dot{width:12px;height:12px;border-radius:50%;background:var(--accent);margin-top:22px}.an-time:nth-child(1){--accent:var(--an-yellow)}.an-time:nth-child(2){--accent:var(--an-green)}.an-time:nth-child(3){--accent:var(--an-orange)}.an-time:nth-child(4){--accent:var(--an-coral)}.an-time:nth-child(5){--accent:var(--an-violet)}
.an-school-panel{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:stretch}.an-school-photo{border-radius:34px;overflow:hidden;min-height:480px;box-shadow:var(--an-shadow);background:#dde7f2}.an-school-photo img{width:100%;height:100%;object-fit:cover}.an-school-copy{background:var(--an-blue);color:#fff;border-radius:34px;padding:44px;display:flex;flex-direction:column;justify-content:space-between}.an-school-copy h2{font-family:var(--an-display);font-size:2.65rem;line-height:1.02;margin:7px 0 18px}.an-school-copy p{color:#dce7f4}.an-factlist{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}.an-fact{padding:16px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.11)}.an-fact strong{display:block;font-family:var(--an-display);font-size:1.35rem}.an-fact span{font-size:.85rem;color:#cbd9ec}
.an-week{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.an-lesson{background:#fff;border-radius:28px;padding:28px;border:1px solid var(--an-line);display:flex;flex-direction:column;gap:14px}.an-lesson .tag{align-self:flex-start;border-radius:999px;padding:7px 11px;font-size:.78rem;font-weight:850;background:#eff7ff;color:var(--an-blue)}.an-lesson h3{font-family:var(--an-display);font-size:1.5rem;color:var(--an-blue);margin:0}.an-lesson p{margin:0;color:var(--an-muted)}.an-lesson .when{margin-top:auto;padding-top:10px;border-top:1px dashed #ccd8e5;font-weight:800;color:var(--an-blue)}
.an-split{display:grid;grid-template-columns:1fr .82fr;align-items:center;gap:36px;background:#e9f7ef;border-radius:36px;overflow:hidden}.an-split-copy{padding:54px}.an-split-copy h2{font-family:var(--an-display);font-size:clamp(2.5rem,4vw,3.5rem);line-height:1.02;color:var(--an-blue);margin:8px 0 18px}.an-split-mascot{min-height:410px;position:relative;background:linear-gradient(135deg,#d8f3e4,#f6ffef);overflow:hidden}.an-split-mascot:after{content:"";position:absolute;inset:auto -70px -100px auto;width:330px;height:330px;border-radius:50%;background:rgba(244,186,34,.28)}.an-split-mascot img{height:430px;width:auto;position:absolute;left:50%;bottom:-30px;transform:translateX(-50%);z-index:2;filter:drop-shadow(0 22px 30px rgba(10,47,104,.16))}
.an-cta{background:var(--an-coral);color:#fff;border-radius:40px;padding:58px 60px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:40px;position:relative;overflow:hidden}.an-cta:after{content:"";position:absolute;width:220px;height:220px;border:36px solid rgba(255,255,255,.12);border-radius:50%;right:-50px;top:-90px}.an-cta h2{font-family:var(--an-display);font-size:clamp(2.4rem,4vw,4.35rem);line-height:.98;margin:0 0 12px}.an-cta p{margin:0;color:#fff1f3;max-width:680px}.an-cta .an-btn{position:relative;z-index:2;background:#fff;color:var(--an-blue)}

/* Inner pages */
.an-page-hero{position:relative;overflow:hidden;background:var(--an-cream);padding:74px 0 60px;border-bottom:1px solid var(--an-line)}.an-page-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:40px;align-items:center}.an-crumb{font-size:.85rem;color:var(--an-muted);margin-bottom:18px}.an-page-hero p{max-width:760px;color:var(--an-muted);font-size:1.08rem}.an-page-mascot{position:relative;height:310px}.an-page-mascot img{position:absolute;right:0;bottom:-62px;height:360px;width:auto;filter:drop-shadow(0 18px 28px rgba(10,47,104,.14))}.an-content-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:60px}.an-prose{min-width:0}.an-prose h2{font-family:var(--an-display);color:var(--an-blue);font-size:2rem;line-height:1.1;margin:2.2em 0 .5em}.an-prose h3{font-family:var(--an-display);color:var(--an-blue);font-size:1.35rem;margin:1.8em 0 .4em}.an-prose p,.an-prose li{color:#415066}.an-prose ul,.an-prose ol{padding-left:22px}.an-prose a{text-decoration:underline;text-decoration-color:#b9cbe0;text-underline-offset:3px}.an-prose img{border-radius:24px}.an-side-card{position:sticky;top:120px;background:#fff;border:1px solid var(--an-line);border-radius:26px;padding:24px;box-shadow:var(--an-shadow-soft);height:max-content}.admin-bar .an-side-card{top:152px}.an-side-card h3{font-family:var(--an-display);color:var(--an-blue);margin:0 0 12px}.an-side-card .an-btn{width:100%;margin-top:10px}.an-side-mascot{height:210px;display:grid;place-items:end center;overflow:hidden;margin:-12px -8px 10px}.an-side-mascot img{height:235px;width:auto;filter:drop-shadow(0 12px 16px rgba(10,47,104,.12))}
.an-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:30px 0}.an-stat{background:#fff;border:1px solid var(--an-line);border-radius:20px;padding:22px}.an-stat strong{display:block;font-family:var(--an-display);font-size:2.1rem;color:var(--an-blue);line-height:1}.an-stat span{font-size:.85rem;color:var(--an-muted)}.an-cards-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}.an-info-card{background:#fff;border:1px solid var(--an-line);border-radius:22px;padding:24px}.an-info-card h3{font-family:var(--an-display);color:var(--an-blue);margin-top:0}
.an-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.an-form-card,.an-contact-card{background:#fff;border:1px solid var(--an-line);border-radius:28px;padding:30px;box-shadow:var(--an-shadow-soft)}.an-form-card h2,.an-contact-card h2{font-family:var(--an-display);color:var(--an-blue);margin-top:0}.an-form-card label{display:block;font-weight:760;font-size:.9rem;margin:15px 0 7px;color:#2d3b50}.an-form-card input,.an-form-card textarea,.an-form-card select{width:100%;border:1px solid #ccd7e4;background:#fbfcfe;border-radius:12px;padding:13px 14px;color:#172334;outline:0}.an-form-card input:focus,.an-form-card textarea:focus,.an-form-card select:focus{border-color:var(--an-blue);box-shadow:0 0 0 3px rgba(10,47,104,.1)}.an-form-card textarea{min-height:135px;resize:vertical}.an-notice{font-size:.85rem;color:var(--an-muted)}.an-honeypot{position:absolute!important;left:-9999px!important}.an-status{padding:12px 15px;border-radius:12px;margin-bottom:16px}.an-status-ok{background:#e9f7ef;color:#116b38}.an-status-error{background:#fff0f1;color:#a62e38}

/* Posts / blog */
.an-post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.an-post-card{background:#fff;border:1px solid var(--an-line);border-radius:24px;overflow:hidden;box-shadow:var(--an-shadow-soft)}.an-post-card .thumb{aspect-ratio:16/10;background:#edf3fa;overflow:hidden}.an-post-card .thumb img{width:100%;height:100%;object-fit:cover}.an-post-card .body{padding:22px}.an-post-card h2,.an-post-card h3{font-family:var(--an-display);color:var(--an-blue);line-height:1.12;margin:6px 0 10px}.an-post-meta{font-size:.8rem;color:var(--an-muted)}.navigation.pagination{margin-top:36px}.nav-links{display:flex;gap:8px;flex-wrap:wrap}.page-numbers{padding:9px 13px;border-radius:10px;border:1px solid var(--an-line);background:#fff}.page-numbers.current{background:var(--an-blue);color:#fff}

/* Footer */
.an-footer{background:var(--an-blue-deep);color:#dfe9f7;padding:62px 0 28px}.an-footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr 1fr;gap:44px}.an-footer .an-brand img{width:220px}.an-footer h3{font-family:var(--an-display);font-size:1rem;color:#fff;margin:0 0 14px}.an-footer a,.an-footer p{color:#c8d8eb;font-size:.92rem;margin:7px 0}.an-footer a:hover{color:#fff}.an-footer-menu{list-style:none;padding:0;margin:0}.an-legal{margin-top:42px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:20px;font-size:.8rem;color:#97adca}

/* WordPress */
.alignwide{width:min(1400px,calc(100vw - 40px));max-width:none;margin-left:50%;transform:translateX(-50%)}.alignfull{width:100vw;max-width:none;margin-left:50%;transform:translateX(-50%)}.wp-caption{max-width:100%}.wp-caption-text{font-size:.85rem;color:var(--an-muted)}.gallery{display:grid;gap:12px}.sticky{outline:2px solid #e8eef6}.bypostauthor{display:initial}.comment-list{padding-left:22px}.comment-respond input:not([type=submit]),.comment-respond textarea{width:100%;border:1px solid var(--an-line);border-radius:12px;padding:12px}.entry-content>*:first-child{margin-top:0}

@media(max-width:1100px){.an-hero-grid{grid-template-columns:1fr .9fr;gap:34px}.an-lorenzo-hero{height:470px;right:-12%}.an-school-cutout{bottom:54px}}
@media(max-width:980px){.admin-bar .an-site-header{top:46px}.an-main-menu{display:none}.an-menu-toggle{display:block}.an-mobile-panel.is-open{display:block;position:fixed;z-index:79;top:88px;left:0;right:0;background:#fff;padding:22px 24px;border-bottom:1px solid var(--an-line);box-shadow:var(--an-shadow)}.admin-bar .an-mobile-panel.is-open{top:134px}.an-mobile-panel ul{list-style:none;margin:0;padding:0}.an-mobile-panel a{display:block;padding:12px 0;border-bottom:1px solid #edf1f5;font-weight:800;color:var(--an-blue)}.an-hero{padding:66px 0 54px}.an-hero-grid{grid-template-columns:1fr}.an-hero-scene{min-height:440px;max-width:700px;width:100%;margin-inline:auto}.an-school-cutout{bottom:20px}.an-lorenzo-hero{height:470px;right:0;bottom:-54px}.an-quick-grid{grid-template-columns:1fr 1fr}.an-quick-item:nth-child(2){border-right:0}.an-quick-item:nth-child(-n+2){border-bottom:1px solid var(--an-line)}.an-features,.an-week,.an-post-grid{grid-template-columns:1fr}.an-timeline{grid-template-columns:1fr 1fr}.an-time{border-bottom:1px solid var(--an-line)}.an-school-panel,.an-split{grid-template-columns:1fr}.an-school-photo{min-height:360px}.an-content-grid{grid-template-columns:1fr}.an-side-card{position:static}.an-page-hero-grid{grid-template-columns:1fr 260px}.an-footer-grid{grid-template-columns:1fr 1fr}.an-contact-grid{grid-template-columns:1fr}.an-stats{grid-template-columns:1fr 1fr}}
@media(max-width:700px){:root{--an-container:min(100% - 38px,1240px)}body{font-size:16px}.an-nav{height:76px}.an-brand img,.an-brand .custom-logo{width:172px}.an-mobile-panel.is-open{top:76px}.admin-bar .an-mobile-panel.is-open{top:122px}.an-hero{padding-top:52px}.an-hero h1{font-size:clamp(3rem,15vw,4.55rem)}.an-hero-copy>p{font-size:1.02rem}.an-hero-actions .an-btn{width:100%}.an-hero-scene{min-height:330px}.an-school-cutout{width:110%;left:-5%;bottom:30px}.an-lorenzo-hero{height:340px;right:-8%;bottom:-46px}.an-sticker-note{display:none}.an-sticker-star{width:45px;height:45px}.an-sticker-heart{width:44px;height:40px}.an-quick-item{padding:18px 16px}.an-quick-item strong{font-size:1.05rem}.an-section{padding:72px 0}.an-section-compact{padding:56px 0}.an-section-head{display:block;margin-bottom:30px}.an-section-head p{margin-top:14px}.an-section-head h2,.an-page-hero h1{font-size:2.6rem}.an-feature{padding:24px;min-height:auto}.an-timeline{grid-template-columns:1fr}.an-time{min-height:auto;border-right:0}.an-school-photo{min-height:250px}.an-school-copy{padding:29px}.an-school-copy h2{font-size:2.15rem}.an-factlist{grid-template-columns:1fr 1fr}.an-split-copy{padding:34px 28px}.an-split-mascot{min-height:320px}.an-split-mascot img{height:350px}.an-cta{padding:36px 28px;grid-template-columns:1fr;border-radius:28px}.an-cta h2{font-size:2.7rem}.an-cta .an-btn{width:100%}.an-page-hero{padding:48px 0 38px}.an-page-hero-grid{grid-template-columns:1fr}.an-page-mascot{height:220px}.an-page-mascot img{left:50%;right:auto;transform:translateX(-50%);height:270px;bottom:-38px}.an-cards-2{grid-template-columns:1fr}.an-footer-grid{grid-template-columns:1fr}.an-legal{display:block}.an-legal>span{display:block;margin-top:8px}.an-contact-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

.an-footer-legal-menu{display:flex;gap:12px;flex-wrap:wrap}.an-footer-legal-menu li{display:inline}.an-footer-legal-menu a{font-size:.8rem}


/* --- v1.1 visual refinement --- */
.an-site-header{border-bottom:1px solid rgba(19,32,51,.06)}
.an-nav{min-height:98px;height:auto;padding-block:10px}
.an-brand img,.an-brand .custom-logo{width:300px;max-height:none;object-fit:contain}
.an-nav nav{margin-left:auto}
.an-main-menu{justify-content:flex-end;flex-wrap:wrap}
.an-section-blue{background:var(--an-blue);color:#fff;position:relative;overflow:hidden}
.an-section-head-light h2,.an-section-head-light p{color:#fff}.an-section-head-light p{color:#dbe8fb}
.an-section-notebook:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);background-size:36px 36px;pointer-events:none}
.an-notebook-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:34px;align-items:center;position:relative;z-index:2}
.an-notebook-scene{position:relative;padding:20px 0 10px;min-height:520px}
.an-circle-corner{position:absolute;right:-100px;top:-130px;width:320px;height:320px;border-radius:50%;background:var(--an-yellow);display:block}
.an-clip{position:absolute;width:26px;height:84px;border:6px solid var(--an-coral);border-radius:18px;transform:rotate(-10deg);opacity:.95}
.an-clip:after{content:"";position:absolute;inset:10px;border:5px solid rgba(255,255,255,.75);border-radius:12px}
.an-clip.clip-left{left:8px;bottom:72px}
.an-clip.clip-right{right:26px;top:96px;border-color:var(--an-green);transform:rotate(8deg)}
.an-pencil{position:absolute;right:72px;top:22px;width:170px;height:28px;background:linear-gradient(90deg,#f4ba22 0 76%, #f8c969 76% 86%, #f4a9a6 86% 92%, #f0d5b4 92% 100%);border-radius:14px;transform:rotate(-14deg);box-shadow:0 14px 34px rgba(0,0,0,.12)}
.an-pencil:before{content:"";position:absolute;left:-28px;top:0;width:0;height:0;border-top:14px solid transparent;border-bottom:14px solid transparent;border-right:28px solid #fffdf6}
.an-pencil:after{content:"";position:absolute;left:-35px;top:9px;width:14px;height:10px;background:#222;border-radius:0 4px 4px 0;transform:skewX(-18deg)}
.an-notebook-card{position:relative;max-width:100%;background:#fffefb;border-radius:34px;padding:34px 36px 36px 72px;box-shadow:0 30px 70px rgba(4,17,41,.22);overflow:hidden;color:var(--an-ink);transform:rotate(-1deg)}
.an-notebook-card:before{content:"";position:absolute;left:36px;top:0;bottom:0;width:2px;background:#f0b7bc}.an-notebook-card:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 0 67px, rgba(19,32,51,.08) 67px 68px);background-size:100% 68px;pointer-events:none;opacity:.55}
.an-notebook-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;position:relative;z-index:2;margin-bottom:10px}.an-notebook-head h3{font-family:var(--an-display);font-size:clamp(2rem,3.4vw,3.3rem);line-height:.95;margin:8px 0 0;color:var(--an-blue)}
.an-badge-day{display:inline-flex;align-items:center;border:4px solid var(--an-green);border-radius:16px;padding:12px 18px;font-weight:900;color:var(--an-green);background:#fff;box-shadow:var(--an-shadow-soft)}
.an-notebook-grid{position:relative;z-index:2;padding-top:8px}.an-notebook-grid .an-row{display:grid;grid-template-columns:84px minmax(0,1fr);align-items:center;gap:20px;padding:12px 0}.an-notebook-grid .time{font-weight:900;color:var(--an-blue);font-size:1.1rem}
.an-notebook-grid .line-wrap{position:relative;padding-right:14px}.an-notebook-grid .line-wrap .line{display:block;height:20px;border-radius:999px;background:#dfe5ed;overflow:hidden;position:relative}.an-notebook-grid .line-wrap .line:after{content:"";position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:currentColor;width:var(--fill,70%)}
.an-notebook-grid .line-wrap small{display:block;margin-top:8px;font-weight:800;color:#586474}.an-notebook-grid .yellow{color:var(--an-yellow);--fill:58%}.an-notebook-grid .green{color:var(--an-green);--fill:69%}.an-notebook-grid .coral{color:var(--an-coral);--fill:82%}.an-notebook-grid .violet{color:var(--an-violet);--fill:46%}.an-notebook-grid .blue{color:var(--an-blue);--fill:72%}
.an-notebook-watermark{position:absolute;right:22px;bottom:10px;font-family:var(--an-display);font-size:9rem;line-height:1;color:rgba(10,47,104,.06);font-weight:900;letter-spacing:-.04em;pointer-events:none}
.an-notebook-side{display:grid;gap:22px;position:relative;z-index:2}.an-lorenzo-bubble{background:linear-gradient(135deg,#e8f4ff,#eefaf2);border-radius:34px;padding:20px;min-height:290px;display:grid;place-items:end center;position:relative;overflow:hidden}.an-lorenzo-bubble:before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:rgba(244,186,34,.18);right:-70px;top:-80px}.an-lorenzo-bubble img{height:320px;width:auto;position:relative;z-index:2;filter:drop-shadow(0 20px 26px rgba(8,47,104,.18))}
.an-side-note{background:#fff;border-radius:28px;padding:26px;box-shadow:var(--an-shadow-soft);color:var(--an-ink)}.an-side-note h3{font-family:var(--an-display);font-size:1.65rem;line-height:1;margin:0 0 12px;color:var(--an-blue)}.an-side-note ul{padding-left:18px;margin:0 0 18px}.an-side-note li{margin:8px 0;color:#425168}
.an-mascot-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.an-mascot-card{background:#fff;border:1px solid var(--an-line);border-radius:30px;box-shadow:var(--an-shadow-soft);display:grid;grid-template-columns:minmax(0,1fr) 240px;overflow:hidden;min-height:310px}.an-mascot-copy{padding:28px 28px 24px}.an-mascot-copy .tag{display:inline-flex;border-radius:999px;background:#edf3fb;color:var(--an-blue);padding:8px 12px;font-size:.82rem;font-weight:900;margin-bottom:14px}.an-mascot-copy .tag.green{background:#eaf7ef;color:#116b38}.an-mascot-copy .tag.coral{background:#fff0f1;color:#b62f3b}.an-mascot-copy .tag.blue{background:#e8f5ff;color:#0a5bbd}.an-mascot-copy h3{font-family:var(--an-display);font-size:2rem;line-height:.98;color:var(--an-blue);margin:0 0 10px}.an-mascot-copy p{color:#556274;margin:0 0 18px}.an-mascot-copy a{font-weight:900;color:var(--an-blue)}
.an-mascot-figure{position:relative;background:linear-gradient(180deg,#f7fbff 0%, #edf6fe 100%);display:grid;place-items:end center;overflow:hidden}.an-mascot-figure:before{content:"";position:absolute;inset:auto auto -70px -70px;width:220px;height:220px;border-radius:50%;background:rgba(244,186,34,.18)}.an-mascot-figure img{height:270px;width:auto;position:relative;z-index:2;filter:drop-shadow(0 16px 26px rgba(8,47,104,.16))}
@media(max-width:1100px){.an-brand img,.an-brand .custom-logo{width:250px}.an-notebook-layout{grid-template-columns:1fr}.an-notebook-scene{min-height:unset}.an-mascot-card{grid-template-columns:minmax(0,1fr) 220px}}
@media(max-width:980px){.an-mascot-grid{grid-template-columns:1fr}.an-notebook-card{padding:30px 28px 30px 60px}.an-notebook-head{display:block}.an-badge-day{margin-top:16px}.an-lorenzo-bubble{min-height:240px}.an-lorenzo-bubble img{height:280px}}
@media(max-width:700px){.an-nav{min-height:84px;padding-block:8px}.an-brand img,.an-brand .custom-logo{width:220px}.an-circle-corner{width:170px;height:170px;right:-40px;top:-30px}.an-pencil{right:10px;top:8px;width:130px;height:22px}.an-notebook-scene{padding-top:16px}.an-notebook-card{padding:26px 18px 24px 44px;border-radius:28px}.an-notebook-card:before{left:24px}.an-notebook-head h3{font-size:2.1rem}.an-notebook-grid .an-row{grid-template-columns:66px minmax(0,1fr);gap:12px}.an-notebook-watermark{font-size:6rem}.an-notebook-side{gap:16px}.an-side-note{padding:22px}.an-mascot-card{grid-template-columns:1fr;min-height:auto}.an-mascot-figure{min-height:220px}.an-mascot-figure img{height:230px}}


/* --- v1.2 Ada Negri visual integration --- */
.an-site-header{overflow:visible;padding-top:18px}
.an-header-art{position:absolute;left:50%;top:-2px;transform:translateX(-50%);width:min(1500px,100vw);pointer-events:none;z-index:0;opacity:.98}
.an-header-art img{width:100%;height:auto;display:block}
.an-nav{position:relative;z-index:2;background:rgba(255,253,249,.96);border:1px solid rgba(255,205,107,.34);box-shadow:0 16px 34px rgba(8,47,104,.1);border-radius:28px;padding-inline:22px}
.an-main-menu>li>a{font-weight:820}
.an-hero-scene{min-height:560px}
.an-school-cutout{width:108%;left:-4%;bottom:30px;filter:drop-shadow(0 16px 28px rgba(8,47,104,.18))}
.an-lorenzo-hero{height:420px;right:-1%;bottom:-16px}
.an-quick-item{position:relative;padding-top:64px}
.an-quick-icon{position:absolute;top:16px;left:18px;width:52px;height:52px;object-fit:contain}
.an-card-icon{width:64px;height:64px;object-fit:contain;margin-bottom:10px}
.an-mini-icon{width:54px;height:54px;object-fit:contain;margin:2px 0 12px}
.an-school-photo img{width:100%;height:100%;object-fit:contain;padding:18px}
.an-school-photo{background:linear-gradient(180deg,#fbfdff,#eef6fd)}
.an-footer{position:relative;padding-top:170px;overflow:hidden}
.an-footer-art{position:absolute;left:50%;top:0;transform:translateX(-50%);width:min(1680px,100vw);z-index:0;pointer-events:none}
.an-footer-art img{width:100%;height:auto;display:block}
.an-footer-shell{position:relative;z-index:2}
.an-footer-grid{background:rgba(4,23,53,.9);border:1px solid rgba(255,255,255,.08);border-radius:34px;padding:42px 34px 26px;box-shadow:0 22px 44px rgba(0,0,0,.2)}
.an-footer-badges{display:flex;gap:10px;align-items:center;margin-top:18px}.an-footer-badges img{width:48px;height:48px;object-fit:contain}
.an-footer-info{list-style:none;margin:0;padding:0;display:grid;gap:12px}.an-footer-info li{display:grid;grid-template-columns:44px 1fr;align-items:center;gap:12px}.an-footer-info img{width:40px;height:40px;object-fit:contain}.an-footer-info span,.an-footer-info a{color:#d6e3f5;font-size:.92rem}
@media(max-width:1100px){.an-header-art{width:min(1280px,100vw)}.an-hero-scene{min-height:500px}.an-lorenzo-hero{height:380px}.an-school-cutout{width:100%;left:0}}
@media(max-width:980px){.an-header-art{display:none}.an-site-header{padding-top:8px}.an-nav{border-radius:22px}.an-hero-scene{min-height:420px}.an-school-cutout{width:96%;left:2%;bottom:12px}.an-lorenzo-hero{height:340px;right:-2%;bottom:-32px}.an-footer{padding-top:130px}.an-footer-grid{padding-top:32px}}
@media(max-width:700px){.an-nav{padding-inline:16px}.an-brand img,.an-brand .custom-logo{width:198px}.an-quick-item{padding-top:70px}.an-quick-icon{width:46px;height:46px}.an-card-icon{width:54px;height:54px}.an-mini-icon{width:48px;height:48px}.an-hero-scene{min-height:330px}.an-school-cutout{width:122%;left:-11%;bottom:18px}.an-lorenzo-hero{height:280px;right:-12%;bottom:-22px}.an-footer{padding-top:96px}.an-footer-art{width:1300px}.an-footer-grid{border-radius:26px;padding:28px 22px 16px}}


/* --- v1.3 deeper page refinement --- */
.an-mobile-inner{max-width:520px;margin:0 auto}.an-mobile-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.an-mobile-logo img{width:180px;height:auto}.an-mobile-badges{display:flex;gap:6px;align-items:center}.an-mobile-badges img{width:34px;height:34px;object-fit:contain}.an-mobile-cta{width:100%;margin-top:16px;justify-content:center}
.an-page-hero{background:linear-gradient(180deg,#fffdf9 0%, #fff8ee 100%)}.an-page-copy{position:relative}.an-page-icon{width:72px;height:72px;border-radius:22px;background:#fff;box-shadow:var(--an-shadow-soft);display:grid;place-items:center;margin:12px 0 10px}.an-page-icon img{width:52px;height:52px;object-fit:contain}.an-page-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.an-page-mascot{background:linear-gradient(180deg,#edf5ff,#eefaf2);border-radius:36px}.an-page-spark{position:absolute;display:block;border-radius:50%;background:#fff;box-shadow:var(--an-shadow-soft)}.an-page-spark.spark-a{width:56px;height:56px;left:18px;top:24px;background:#fff url("" ) no-repeat center/30px auto}.an-page-spark.spark-b{width:40px;height:40px;right:18px;bottom:40px;background:#fff7d7}
.an-inline-hero-card{display:grid;grid-template-columns:1fr 330px;gap:24px;background:#fff;border:1px solid var(--an-line);border-radius:28px;padding:26px;box-shadow:var(--an-shadow-soft);margin-bottom:34px;align-items:center}.an-inline-copy h2{margin:10px 0 12px}.an-inline-copy p{margin:0;color:#4a5a71}.an-inline-media{background:linear-gradient(180deg,#f8fbff,#eef7ff);border-radius:24px;min-height:220px;display:grid;place-items:center;padding:16px}.an-inline-media img{max-width:100%;max-height:240px;object-fit:contain}
.an-program-icons{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:24px}.an-mini-box{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#fff;border:1px solid var(--an-line);border-radius:16px;box-shadow:var(--an-shadow-soft)}.an-mini-box img{width:34px;height:34px;object-fit:contain}.an-mini-box span{font-weight:820;color:var(--an-blue);font-size:.95rem}
.an-info-icon{width:52px;height:52px;object-fit:contain;margin-bottom:12px}
.an-side-icon{width:64px;height:64px;border-radius:20px;background:#fff7e1;display:grid;place-items:center;margin:0 auto 10px}.an-side-icon img{width:44px;height:44px;object-fit:contain}.an-side-list{list-style:none;padding:0;margin:16px 0;display:grid;gap:10px}.an-side-list li{display:grid;grid-template-columns:40px 1fr;gap:10px;align-items:center}.an-side-list img{width:34px;height:34px;object-fit:contain}.an-side-list span{font-size:.93rem;color:#415066}.an-side-secondary{margin-top:10px}
.an-step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0 0 26px}.an-step{background:#fff;border:1px solid var(--an-line);border-radius:22px;padding:22px;box-shadow:var(--an-shadow-soft)}.an-step span{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:999px;background:var(--an-coral);color:#fff;font-family:var(--an-display);font-size:1.35rem;line-height:1;margin-bottom:12px}.an-step h3{margin:0 0 8px}.an-step p{margin:0;color:#4d5d74}
.an-contact-list{list-style:none;padding:0;margin:16px 0 0;display:grid;gap:16px}.an-contact-list li{display:grid;grid-template-columns:46px 1fr;gap:14px;align-items:flex-start}.an-contact-list img{width:42px;height:42px;object-fit:contain}.an-contact-list strong{color:var(--an-blue)}
@media(max-width:980px){.an-mobile-panel.is-open{padding:18px}.an-page-hero-grid{grid-template-columns:1fr}.an-page-mascot{max-width:320px}.an-inline-hero-card{grid-template-columns:1fr}.an-step-grid{grid-template-columns:1fr}.an-page-icon{width:64px;height:64px}.an-page-icon img{width:46px;height:46px}}
@media(max-width:700px){.an-mobile-logo img{width:158px}.an-mobile-badges img{width:30px;height:30px}.an-page-pills{gap:8px}.an-inline-hero-card{padding:20px;border-radius:24px}.an-program-icons{gap:10px}.an-mini-box{padding:9px 12px}.an-mini-box img{width:30px;height:30px}.an-side-card{padding:20px}.an-contact-list li{grid-template-columns:40px 1fr}.an-contact-list img{width:36px;height:36px}}


/* --- v1.4 cleanup and simplified visual hierarchy --- */
.an-site-header{padding-top:10px;background:rgba(255,253,249,.96)}
.an-nav{min-height:86px;padding-inline:18px;border-radius:22px}
.an-hero-refined{padding-top:48px;position:relative;overflow:hidden}.an-hero-backdrop{position:absolute;inset:0;pointer-events:none}.an-hero-backdrop img{position:absolute;opacity:.95;filter:drop-shadow(0 10px 22px rgba(0,0,0,.12))}.an-hero-decor-left{width:220px;left:-34px;top:20px}.an-hero-decor-right{width:130px;right:30px;top:18px}.an-hero-decor-book{width:96px;left:26px;top:170px}.an-hero-decor-pencil{width:110px;right:24px;top:128px}
.an-hero-scene-school{min-height:420px}.an-hero-scene-school .an-school-cutout{width:98%;left:2%;bottom:20px}.an-scene-badge{position:absolute;width:118px;left:30px;bottom:42px;transform:rotate(-5deg);filter:drop-shadow(0 16px 24px rgba(8,47,104,.18))}
.an-side-asset{min-height:240px}.an-side-asset img{max-width:100%;max-height:240px;object-fit:contain;filter:none}
.an-icon-figure{background:linear-gradient(180deg,#f7fbff 0%, #eef6fe 100%);display:grid;place-items:center}.an-icon-figure img{height:145px;width:auto;object-fit:contain;filter:none}
.an-split-icon{display:grid;place-items:center;background:linear-gradient(180deg,#eff7ff,#f7fbff)}.an-split-icon img{width:220px;height:auto;object-fit:contain}
.an-page-mascot img{object-fit:contain}.an-page-hero-grid{align-items:center}
@media(max-width:980px){.an-site-header{position:sticky}.an-hero-refined{padding-top:30px}.an-hero-decor-left{width:160px;left:-22px;top:20px}.an-hero-decor-right{width:100px;right:18px;top:14px}.an-hero-decor-book{width:70px;left:18px;top:126px}.an-hero-decor-pencil{width:84px;right:18px;top:106px}.an-hero-scene-school{min-height:320px}.an-scene-badge{width:95px;left:20px;bottom:28px}}
@media(max-width:700px){.an-nav{min-height:74px;border-radius:18px}.an-hero-refined{padding-top:24px}.an-hero-decor-left{width:120px;left:-12px;top:16px}.an-hero-decor-right{width:74px;right:10px;top:10px}.an-hero-decor-book,.an-hero-decor-pencil{display:none}.an-hero-scene-school{min-height:245px}.an-hero-scene-school .an-school-cutout{width:108%;left:-4%;bottom:8px}.an-scene-badge{width:78px;left:16px;bottom:18px}.an-icon-figure img{height:110px}.an-split-icon img{width:150px}}

.an-site-header{position:relative !important;top:auto !important}.admin-bar .an-site-header{top:auto !important}


/* --- v1.5 refined corrections --- */
.an-site-header{position:relative !important;top:auto !important;padding-top:12px}.admin-bar .an-site-header{top:auto !important}
.an-header-art{display:none !important}
.an-hero-v15{padding:52px 0 56px;position:relative;overflow:hidden}.an-hero-v15 .an-wrap{position:relative;z-index:2}.an-hero-shape{position:absolute;border-radius:50%;pointer-events:none;opacity:.96}.an-hero-shape-right{width:280px;height:280px;right:-110px;top:-42px;background:var(--an-yellow)}.an-hero-shape-left{width:180px;height:180px;left:-110px;bottom:-60px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}
.an-hero-scene-v15{min-height:460px;position:relative;isolation:isolate}.an-school-cutout-v15{position:absolute;left:3%;right:auto;width:88%;bottom:40px;z-index:1;filter:drop-shadow(0 18px 24px rgba(0,0,0,.14))}.an-lorenzo-v15{position:absolute;right:2%;bottom:-6px;height:370px;z-index:3;filter:drop-shadow(0 18px 24px rgba(0,0,0,.16))}.an-scene-badge-v15{position:absolute;width:112px;left:8%;bottom:20px;z-index:4;transform:rotate(-8deg)}.an-scene-corner-icon{position:absolute;z-index:2;filter:drop-shadow(0 10px 16px rgba(0,0,0,.10))}.an-scene-corner-icon.icon-rainbow{width:110px;left:-16px;top:18px}.an-scene-corner-icon.icon-book{width:70px;left:0;top:150px}
.an-social-band{margin-top:-16px;padding:0 0 28px;background:linear-gradient(180deg,var(--an-blue) 0 50%, #fff 50% 100%)}.an-social-card{background:#fff;border-radius:28px;padding:28px 30px;box-shadow:var(--an-shadow-soft);border:1px solid var(--an-line);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center}.an-social-copy h2{font-family:var(--an-display);color:var(--an-blue);font-size:2rem;line-height:1;margin:10px 0}.an-social-copy p{margin:0;color:#516178;max-width:720px}.an-social-actions{display:flex;flex-direction:column;gap:12px;min-width:260px}.an-social-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 18px;border-radius:999px;font-weight:900;color:#fff;text-align:center}.an-social-facebook{background:linear-gradient(90deg,#4470ff,#3557d8)}.an-social-instagram{background:linear-gradient(90deg,#8a3cff,#ff5a5f,#ff9d2f)}
.an-lorenzo-bubble img{height:290px}.an-school-photo img{width:100%;height:100%;object-fit:contain;padding:14px}
@media(max-width:1100px){.an-hero-scene-v15{min-height:410px}.an-school-cutout-v15{width:90%;left:3%;bottom:36px}.an-lorenzo-v15{height:330px;right:0}.an-scene-corner-icon.icon-rainbow{width:96px}.an-scene-corner-icon.icon-book{width:60px;top:136px}}
@media(max-width:980px){.an-hero-scene-v15{min-height:360px}.an-school-cutout-v15{width:86%;left:7%;bottom:28px}.an-lorenzo-v15{height:280px;right:6%}.an-scene-badge-v15{width:92px;left:10%;bottom:10px}.an-social-card{grid-template-columns:1fr}.an-social-actions{min-width:0;flex-direction:row;flex-wrap:wrap}.an-social-btn{flex:1}}
@media(max-width:700px){.an-hero-v15{padding-top:28px}.an-hero-shape-right{width:160px;height:160px;right:-70px;top:-12px}.an-hero-shape-left{display:none}.an-hero-scene-v15{min-height:300px}.an-school-cutout-v15{width:96%;left:2%;bottom:24px}.an-lorenzo-v15{height:220px;right:-4%;bottom:-4px}.an-scene-corner-icon.icon-rainbow{width:68px;left:-8px;top:24px}.an-scene-corner-icon.icon-book{width:50px;left:4px;top:88px}.an-scene-badge-v15{width:74px;left:8%;bottom:8px}.an-social-band{padding-bottom:20px}.an-social-card{padding:22px 20px}.an-social-copy h2{font-size:1.7rem}.an-social-actions{flex-direction:column}}


/* --- v1.5.1 notebook, social, school-section fixes --- */
.an-section-head-stack{display:block}
.an-section-head-stack p{display:none}
.an-social-btn img{width:24px;height:24px;display:block;flex:0 0 24px}.an-social-btn{gap:10px}
.an-notebook-layout{align-items:start}.an-notebook-scene{padding-top:28px}.an-circle-corner{width:210px;height:210px;right:-35px;top:-18px;opacity:.98}
.an-schedule-grid{position:relative;z-index:2;display:grid;gap:14px;margin-top:18px}.an-schedule-row{display:grid;grid-template-columns:90px 1fr;gap:18px;align-items:center;padding:14px 0;border-top:1px solid rgba(10,47,104,.08)}.an-schedule-row:first-child{border-top:none}.an-schedule-row .time{font-weight:900;color:var(--an-blue);font-size:1.12rem}.an-schedule-copy{display:flex;flex-direction:column;gap:6px;position:relative;padding-left:24px}.an-schedule-copy:before{content:"";position:absolute;left:0;top:6px;width:12px;height:12px;border-radius:50%;background:currentColor;box-shadow:0 0 0 8px rgba(0,0,0,.03)}.an-schedule-copy strong{font-size:1.18rem;line-height:1.05;color:var(--an-blue)}.an-schedule-copy small{font-size:.97rem;color:#5a6777;line-height:1.35}.an-schedule-row.yellow{color:var(--an-yellow)}.an-schedule-row.green{color:var(--an-green)}.an-schedule-row.coral{color:var(--an-coral)}.an-schedule-row.violet{color:var(--an-violet)}.an-schedule-row.blue{color:var(--an-blue)}
.an-school-panel-noimage{grid-template-columns:1fr 1fr;align-items:stretch}.an-school-graphic{background:linear-gradient(180deg,#fbfdff,#eef6fd);border-radius:34px;padding:28px;display:grid;place-items:center;border:1px solid rgba(10,47,104,.08)}.an-school-badge-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;width:100%}.an-school-badge{background:#fff;border:1px solid var(--an-line);border-radius:24px;padding:22px;box-shadow:var(--an-shadow-soft)}.an-school-badge img{width:54px;height:54px;object-fit:contain;margin-bottom:12px}.an-school-badge strong{display:block;color:var(--an-blue);font-family:var(--an-display);font-size:1.55rem;line-height:1;margin-bottom:10px}.an-school-badge span{display:block;color:#556274;line-height:1.45}
@media(max-width:1100px){.an-school-panel-noimage{grid-template-columns:1fr}.an-school-badge-grid{max-width:760px;margin-inline:auto}}
@media(max-width:980px){.an-social-actions{flex-direction:row;flex-wrap:wrap}.an-social-btn{flex:1 1 240px}.an-schedule-row{grid-template-columns:76px 1fr}.an-schedule-copy strong{font-size:1.08rem}}
@media(max-width:700px){.an-notebook-scene{padding-top:12px}.an-circle-corner{width:150px;height:150px;right:-26px;top:-18px}.an-schedule-row{grid-template-columns:62px 1fr;gap:12px;padding:12px 0}.an-schedule-copy{padding-left:18px}.an-schedule-copy strong{font-size:1rem}.an-schedule-copy small{font-size:.9rem}.an-school-graphic{padding:18px;border-radius:26px}.an-school-badge-grid{grid-template-columns:1fr}.an-school-badge{padding:18px}}


/* --- v1.6.0 mobile navigation + compact mobile home --- */
@media (max-width:980px){
  .an-site-header{position:relative!important;top:auto!important;padding:0;background:#fffdf9;border-bottom:1px solid #f0ddb3}
  .admin-bar .an-site-header{top:auto!important}
  .an-nav{height:82px!important;min-height:82px!important;padding:8px 18px!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fffdf9!important}
  .an-brand img,.an-brand .custom-logo{width:190px!important;max-height:62px!important}
  .an-nav nav{display:none!important}
  .an-menu-toggle{display:block!important;position:relative;z-index:102;width:50px;height:50px;border-radius:16px;background:#edf4fc;color:var(--an-blue);flex:0 0 50px}
  .an-menu-toggle span,.an-menu-toggle:before,.an-menu-toggle:after{position:absolute;left:14px;width:22px;height:2px;margin:0;background:currentColor;transition:transform .2s ease,opacity .2s ease,top .2s ease}
  .an-menu-toggle:before{top:17px}.an-menu-toggle span{top:24px}.an-menu-toggle:after{top:31px}
  .an-menu-toggle.is-open:before{top:24px;transform:rotate(45deg)}.an-menu-toggle.is-open span{opacity:0}.an-menu-toggle.is-open:after{top:24px;transform:rotate(-45deg)}
  .an-mobile-panel{display:block!important;position:absolute!important;z-index:99;top:82px!important;left:0;right:0;padding:0!important;background:#fffdf9;border-bottom:1px solid #eadcc1;box-shadow:0 18px 38px rgba(10,47,104,.14);opacity:0;visibility:hidden;transform:translateY(-10px);pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s ease;max-height:calc(100vh - 82px);overflow:auto}
  .admin-bar .an-mobile-panel{top:82px!important}
  .an-mobile-panel.is-open{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
  .an-mobile-inner{max-width:none!important;margin:0!important;padding:12px 20px 20px}
  .an-mobile-panel ul,.an-mobile-panel .an-main-menu,.an-mobile-panel .an-mobile-menu{display:block!important;list-style:none!important;margin:0!important;padding:0!important}
  .an-mobile-panel li{margin:0!important;padding:0!important}
  .an-mobile-panel li.menu-item-cta{display:none!important}
  .an-mobile-panel a:not(.an-mobile-cta){display:flex!important;align-items:center;min-height:48px;padding:10px 4px!important;border-bottom:1px solid #edf0f4!important;color:var(--an-blue)!important;font-size:1rem!important;font-weight:850!important;background:none!important;border-radius:0!important}
  .an-mobile-cta{display:flex!important;width:100%!important;justify-content:center!important;margin:16px 0 0!important;min-height:48px!important}
  body.an-menu-open{overflow:hidden}
}

@media (max-width:700px){
  :root{--an-container:min(100% - 28px,1240px)}
  .an-nav{height:74px!important;min-height:74px!important;padding:7px 14px!important}
  .an-brand img,.an-brand .custom-logo{width:162px!important;max-height:54px!important}
  .an-menu-toggle{width:46px;height:46px;flex-basis:46px;border-radius:14px}.an-menu-toggle:before{top:15px}.an-menu-toggle span{top:22px}.an-menu-toggle:after{top:29px}.an-menu-toggle.is-open:before,.an-menu-toggle.is-open:after{top:22px}
  .an-mobile-panel{top:74px!important;max-height:calc(100vh - 74px)}
  .admin-bar .an-mobile-panel{top:74px!important}

  /* hero: one clear message + compact visual */
  .an-hero-v15{padding:32px 0 26px!important}
  .an-hero-v15 .an-hero-grid{display:block!important}
  .an-hero h1{font-size:clamp(2.55rem,12.5vw,3.6rem)!important;line-height:.96!important;margin-bottom:16px!important}
  .an-hero-copy>p{font-size:.98rem!important;line-height:1.55!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:18px!important}
  .an-hero-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:10px!important}.an-hero-actions .an-btn{width:auto!important;min-height:48px!important;padding:0 12px!important;font-size:.92rem!important;text-align:center!important;justify-content:center!important}
  .an-hero-meta{display:none!important}
  .an-hero-scene-v15{min-height:220px!important;margin-top:12px!important}.an-school-cutout-v15{width:82%!important;left:8%!important;bottom:8px!important}.an-lorenzo-v15{height:178px!important;right:1%!important;bottom:-2px!important}.an-scene-badge-v15{width:58px!important;left:10%!important;bottom:4px!important}.an-scene-corner-icon{display:none!important}.an-hero-shape-right{width:120px!important;height:120px!important;right:-55px!important;top:-16px!important}

  /* social: compact strip */
  .an-social-band{margin-top:0!important;padding:14px 0 18px!important;background:#fff!important}
  .an-social-card{padding:18px!important;border-radius:22px!important;display:block!important}.an-social-copy .an-eyebrow{margin-bottom:4px}.an-social-copy h2{font-size:1.45rem!important;margin:6px 0 12px!important}.an-social-copy p{display:none!important}.an-social-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important}.an-social-btn{min-height:46px!important;padding:0 10px!important;font-size:.84rem!important}.an-social-btn img{width:22px!important;height:22px!important}

  /* facts: compact 2x2 */
  .an-quick{padding:0!important}.an-quick-grid{grid-template-columns:1fr 1fr!important}.an-quick-item{min-height:102px!important;padding:14px 12px 12px 58px!important;border-bottom:1px solid var(--an-line)!important}.an-quick-icon{width:36px!important;height:36px!important;top:15px!important;left:14px!important}.an-quick-item strong{font-size:.98rem!important}.an-quick-item span{font-size:.76rem!important;line-height:1.3!important}

  /* vertical rhythm */
  .an-section{padding:48px 0!important}.an-section-compact{padding:42px 0!important}.an-section-head{margin-bottom:22px!important}.an-section-head h2,.an-page-hero h1{font-size:2.15rem!important}.an-section-head p{display:none!important}

  /* cards become swipe rows instead of long stacks */
  .an-features,.an-week{display:flex!important;gap:14px!important;overflow-x:auto!important;scroll-snap-type:x mandatory!important;padding:2px 2px 14px!important;margin-right:calc((100vw - 100%)/-2)!important;padding-right:20px!important;-webkit-overflow-scrolling:touch}.an-feature,.an-lesson{flex:0 0 82%!important;min-height:0!important;scroll-snap-align:start!important;padding:20px!important}.an-feature p,.an-lesson p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.an-card-icon{width:44px!important;height:44px!important;margin-bottom:4px!important}

  /* notebook: keep the approved concept, remove secondary column on mobile */
  .an-section-notebook{padding-bottom:44px!important}.an-notebook-layout{display:block!important}.an-notebook-scene{padding:8px 0 0!important}.an-notebook-card{padding:24px 16px 20px 38px!important;border-radius:24px!important;transform:none!important}.an-notebook-card:before{left:24px!important}.an-notebook-head{display:flex!important;align-items:flex-start!important;gap:10px!important}.an-notebook-head h3{font-size:1.75rem!important}.an-badge-day{font-size:.78rem!important;padding:8px 10px!important;border-width:3px!important;margin:0!important}.an-schedule-grid{gap:5px!important;margin-top:10px!important}.an-schedule-row{grid-template-columns:56px 1fr!important;gap:9px!important;padding:9px 0!important}.an-schedule-row .time{font-size:.9rem!important}.an-schedule-copy{padding-left:15px!important;gap:2px!important}.an-schedule-copy:before{width:9px!important;height:9px!important;top:5px!important}.an-schedule-copy strong{font-size:.92rem!important}.an-schedule-copy small{display:none!important}.an-notebook-side{display:none!important}.an-circle-corner{width:110px!important;height:110px!important;right:-30px!important;top:-20px!important}.an-pencil{width:90px!important;height:16px!important;right:8px!important;top:8px!important}.an-clip{display:none!important}

  /* school facts: compact, no image */
  .an-school-panel-noimage{display:block!important}.an-school-graphic{padding:16px!important;border-radius:22px!important}.an-school-badge-grid{grid-template-columns:1fr 1fr!important;gap:10px!important}.an-school-badge{padding:13px!important;border-radius:18px!important}.an-school-badge img{width:36px!important;height:36px!important;margin-bottom:6px!important}.an-school-badge strong{font-size:1.05rem!important;margin-bottom:4px!important}.an-school-badge span{font-size:.76rem!important;line-height:1.3!important}.an-school-copy{padding:24px 4px 0!important}.an-school-copy h2{font-size:2rem!important}.an-school-copy p{font-size:.9rem!important}.an-factlist{grid-template-columns:1fr 1fr!important;gap:9px!important}.an-fact{padding:14px!important}.an-fact strong{font-size:1.25rem!important}.an-fact span{font-size:.72rem!important}

  /* primavera + CTA */
  .an-split{display:block!important}.an-split-copy{padding:26px 22px!important}.an-split-mascot{display:none!important}.an-cta{padding:26px 22px!important}.an-cta h2{font-size:2rem!important}.an-cta p{font-size:.9rem!important}

  /* compact footer on phones */
  .an-footer{padding-top:70px!important}.an-footer-grid{grid-template-columns:1fr!important;padding:24px 20px 14px!important}.an-footer-grid>div:nth-child(2),.an-footer-grid>div:nth-child(3){display:none!important}.an-footer .an-brand img{width:160px!important}.an-footer-badges{display:none!important}.an-footer-info{gap:8px!important}.an-footer-info li{grid-template-columns:34px 1fr!important}.an-footer-info img{width:30px!important;height:30px!important}.an-legal{font-size:.72rem!important;line-height:1.5!important}
}


/* --- v1.6.1 mobile refinement --- */
body.an-menu-open{overflow:hidden}
@media (max-width:700px){
  .an-site-header{background:#fffdf9!important;border-bottom:1px solid #efe6d8!important;backdrop-filter:none!important}
  .an-nav{height:78px!important;min-height:78px!important;padding:10px 16px!important;gap:12px!important}
  .an-brand,.an-brand a,.custom-logo-link{display:flex!important;align-items:center!important}
  .an-brand img,.an-brand .custom-logo{width:150px!important;max-height:48px!important;object-fit:contain!important}
  .an-menu-toggle{width:48px!important;height:48px!important;flex-basis:48px!important;border-radius:16px!important;background:#f1f5fb!important;border:1px solid #dfe8f3!important;box-shadow:none!important}
  .an-menu-toggle:before{top:16px!important}.an-menu-toggle span{top:23px!important}.an-menu-toggle:after{top:30px!important}
  .an-menu-toggle.is-open:before,.an-menu-toggle.is-open:after{top:23px!important}
  .an-mobile-panel{display:none!important;position:fixed!important;z-index:109!important;top:78px!important;left:0;right:0;bottom:0;max-height:none!important;overflow:auto!important;padding:0!important;background:rgba(255,253,249,.98)!important;backdrop-filter:blur(8px)!important;box-shadow:0 18px 38px rgba(10,47,104,.14)!important;opacity:1!important;visibility:visible!important;transform:none!important;pointer-events:auto!important}
  .an-mobile-panel.is-open{display:block!important}
  .an-mobile-inner{padding:14px 20px 26px!important}
  .an-mobile-panel a:not(.an-mobile-cta){display:flex!important;align-items:center!important;min-height:52px!important;padding:12px 2px!important;font-size:1.08rem!important;font-weight:850!important;color:var(--an-blue)!important;border-bottom:1px solid #edf0f4!important}
  .an-mobile-cta,.an-mobile-cta:visited{display:flex!important;width:100%!important;justify-content:center!important;align-items:center!important;min-height:54px!important;margin:18px 0 0!important;padding:0 18px!important;border-radius:999px!important;background:var(--an-blue)!important;color:#fff!important;font-size:1rem!important;font-weight:850!important;box-shadow:0 14px 24px rgba(10,47,104,.18)!important}
  .an-mobile-cta:hover,.an-mobile-cta:focus{color:#fff!important}

  .an-hero-v15{padding:28px 0 24px!important}
  .an-hero{overflow:hidden!important}
  .an-hero h1{font-size:clamp(2.45rem,12.2vw,3.25rem)!important;line-height:.95!important;letter-spacing:-.045em!important;max-width:8.2ch!important;margin:10px 0 14px!important}
  .an-hero-copy>p{font-size:1rem!important;line-height:1.55!important;max-width:100%!important;display:-webkit-box!important;-webkit-line-clamp:4!important;-webkit-box-orient:vertical!important;overflow:hidden!important;margin-bottom:0!important}
  .an-hero-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:20px!important}
  .an-hero-actions .an-btn{width:auto!important;min-height:52px!important;padding:0 12px!important;border-radius:18px!important;font-size:.95rem!important;font-weight:820!important;line-height:1.15!important;text-align:center!important;justify-content:center!important}
  .an-hero .an-btn-outline{background:rgba(255,255,255,.05)!important;border-color:rgba(255,255,255,.22)!important}
  .an-hero-scene-v15{min-height:200px!important;margin-top:16px!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:28px!important;background:rgba(255,255,255,.05)!important;overflow:hidden!important}
  .an-school-cutout-v15{width:74%!important;left:3%!important;bottom:0!important}
  .an-lorenzo-v15{height:158px!important;right:-1%!important;bottom:-2px!important}
  .an-scene-badge-v15{width:52px!important;left:8%!important;bottom:6px!important}
  .an-scene-corner-icon{display:none!important}
  .an-hero-shape-right{width:104px!important;height:104px!important;right:-48px!important;top:-14px!important;opacity:.9!important}

  .an-social-card{padding:18px 18px!important;border-radius:24px!important}
  .an-social-copy h2{font-size:1.5rem!important}
  .an-social-copy p{font-size:.95rem!important;line-height:1.5!important}

  .an-quick{padding-top:18px!important}.an-quick-grid{grid-template-columns:1fr 1fr!important;gap:12px!important}
  .an-quick-item{padding:18px 14px!important;border:1px solid var(--an-line)!important;border-radius:22px!important}
  .an-quick-item span{font-size:.92rem!important;line-height:1.4!important}

  .an-section{padding:58px 0!important}.an-section-head h2{font-size:2.3rem!important;line-height:1.02!important}
}


/* --- v1.7.0 typography + mobile layout polish --- */
.an-quick-item{position:relative}
.an-quick-item strong,.an-quick-item span{position:relative;z-index:2}
.an-hero:after{right:-210px;top:-240px;width:400px;height:400px;opacity:.96}
.an-social-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;line-height:1.15}
.an-social-btn img{width:22px;height:22px;object-fit:contain;display:block;flex:0 0 22px}
.an-school-copy h2,.an-section-head h2,.an-page-hero h1,.an-hero h1,.an-feature h3,.an-lesson h3,.an-cta h2{letter-spacing:-.04em}
.an-social-copy h2{letter-spacing:-.035em}
.an-school-badge-grid,.an-factlist,.an-quick-grid{align-items:stretch}

@media(max-width:700px){
  .an-brand img,.an-brand .custom-logo{width:168px!important;max-height:50px!important}
  .an-nav{padding:10px 16px!important;align-items:center!important}
  .an-hero-v15{padding:26px 0 20px!important}
  .an-hero-shape-right{width:84px!important;height:84px!important;right:-34px!important;top:-24px!important;opacity:.92!important}
  .an-hero h1{max-width:8.6ch!important;font-size:clamp(2.4rem,11.8vw,3.15rem)!important;line-height:.96!important}
  .an-hero-copy>p{max-width:100%!important;padding-right:0!important}
  .an-hero-actions .an-btn{font-size:.9rem!important;padding:0 10px!important;min-height:50px!important}
  .an-hero-scene-v15{min-height:192px!important;margin-top:12px!important;border-radius:24px!important}
  .an-school-cutout-v15{width:74%!important;left:4%!important;bottom:0!important}
  .an-lorenzo-v15{height:152px!important;right:1%!important;bottom:-1px!important}
  .an-scene-badge-v15{width:46px!important;left:9%!important;bottom:7px!important}

  .an-social-card{padding:20px 18px!important}
  .an-social-actions{grid-template-columns:1fr 1fr!important;gap:10px!important}
  .an-social-btn{min-height:48px!important;padding:0 12px!important;font-size:.88rem!important;border-radius:18px!important}
  .an-social-btn span{display:block;line-height:1.15!important}

  .an-quick-grid{grid-template-columns:1fr 1fr!important;gap:12px!important;padding:0 0 8px!important}
  .an-quick-item{min-height:118px!important;padding:16px 12px 14px 62px!important;border:1px solid var(--an-line)!important;border-radius:22px!important;background:#fff!important}
  .an-quick-item strong{font-size:1rem!important;line-height:1.1!important;margin-bottom:6px!important}
  .an-quick-item span{font-size:.81rem!important;line-height:1.34!important;margin-top:0!important}
  .an-quick-icon{width:34px!important;height:34px!important;top:16px!important;left:16px!important}

  .an-school-graphic{padding:16px!important}
  .an-school-badge-grid{grid-template-columns:1fr 1fr!important;gap:10px!important}
  .an-school-badge{padding:14px!important;border-radius:20px!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:flex-start!important;text-align:left!important;min-height:138px!important}
  .an-school-badge img{width:36px!important;height:36px!important;margin-bottom:8px!important}
  .an-school-badge strong{font-size:1rem!important;line-height:1.08!important;margin-bottom:6px!important}
  .an-school-badge span{font-size:.8rem!important;line-height:1.35!important}

  .an-school-copy{padding:24px 2px 0!important}
  .an-school-copy h2{font-size:2.15rem!important;line-height:.98!important;max-width:9.6ch!important;margin-bottom:14px!important}
  .an-school-copy p{font-size:.95rem!important;line-height:1.55!important;max-width:100%!important}
  .an-factlist{gap:10px!important}
  .an-fact{min-height:98px!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
  .an-fact strong{font-size:1.4rem!important;line-height:1!important;margin-bottom:8px!important}
  .an-fact span{font-size:.76rem!important;line-height:1.3!important}
}


/* --- v1.7.1 true narrow-screen responsive fixes --- */
html,body{max-width:100%;overflow-x:hidden}
.an-wrap,.an-social-card,.an-quick-grid,.an-school-badge-grid,.an-factlist{min-width:0}
.an-social-copy,.an-social-actions,.an-quick-item,.an-school-badge,.an-fact{min-width:0}

@media(max-width:430px){
  :root{--an-container:calc(100% - 28px)}

  /* social: one button per row, no clipping */
  .an-social-card{width:100%!important;padding:18px 16px!important;border-radius:22px!important}
  .an-social-copy{text-align:left!important}
  .an-social-copy h2{font-size:1.42rem!important;line-height:1.02!important;max-width:11ch!important}
  .an-social-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important}
  .an-social-btn{width:100%!important;max-width:none!important;min-width:0!important;min-height:48px!important;padding:0 16px!important;border-radius:16px!important;font-size:.9rem!important;justify-content:center!important;white-space:normal!important}
  .an-social-btn img{width:22px!important;height:22px!important;flex:0 0 22px!important}

  /* key info: single-column rows on very small phones */
  .an-quick{padding:8px 0 0!important}
  .an-quick-grid{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;width:100%!important}
  .an-quick-item{width:100%!important;min-height:0!important;padding:14px 14px 14px 64px!important;border:1px solid var(--an-line)!important;border-radius:18px!important;background:#fff!important;overflow:hidden!important}
  .an-quick-icon{width:36px!important;height:36px!important;top:50%!important;left:16px!important;transform:translateY(-50%)!important;object-fit:contain!important}
  .an-quick-item strong{font-size:1rem!important;line-height:1.15!important;margin:0 0 4px!important;white-space:normal!important;overflow-wrap:anywhere!important}
  .an-quick-item span{font-size:.82rem!important;line-height:1.34!important;margin:0!important;white-space:normal!important;overflow-wrap:anywhere!important}

  /* school info: stack for readability */
  .an-school-badge-grid{grid-template-columns:1fr!important;gap:10px!important}
  .an-school-badge{min-height:0!important;display:grid!important;grid-template-columns:42px 1fr!important;column-gap:12px!important;align-items:center!important;padding:14px!important;text-align:left!important}
  .an-school-badge img{grid-row:1 / span 2;width:36px!important;height:36px!important;margin:0!important;align-self:start!important}
  .an-school-badge strong{font-size:1rem!important;margin:0 0 4px!important}
  .an-school-badge span{font-size:.8rem!important;line-height:1.35!important}
  .an-factlist{grid-template-columns:1fr 1fr!important;gap:8px!important}
  .an-fact{min-height:88px!important;padding:12px!important;border-radius:16px!important}
  .an-fact strong{font-size:1.25rem!important}
  .an-fact span{font-size:.72rem!important;line-height:1.25!important}

  /* hero: no element may exceed viewport */
  .an-hero-grid,.an-hero-copy,.an-hero-scene-v15{min-width:0!important;width:100%!important}
  .an-hero h1{font-size:clamp(2.25rem,11.4vw,3rem)!important;max-width:8.8ch!important}
  .an-hero-copy>p{font-size:.96rem!important;line-height:1.5!important}
  .an-hero-actions{grid-template-columns:1fr 1fr!important;gap:8px!important;width:100%!important}
  .an-hero-actions .an-btn{min-width:0!important;width:100%!important;padding:0 8px!important;font-size:.86rem!important}
  .an-hero-shape-right{width:72px!important;height:72px!important;right:-26px!important;top:-20px!important}
}

@media(max-width:360px){
  :root{--an-container:calc(100% - 22px)}
  .an-brand img,.an-brand .custom-logo{width:150px!important}
  .an-menu-toggle{width:44px!important;height:44px!important;flex-basis:44px!important}
  .an-hero-actions{grid-template-columns:1fr!important}
  .an-social-copy h2{font-size:1.34rem!important}
  .an-school-copy h2{font-size:1.95rem!important}
}


/* --- v1.7.2 mobile hero rebuilt from scratch --- */
.an-hero-scene-mobile{display:none}
.an-hero-scene-desktop{overflow:visible}
.an-hero-scene-desktop .an-school-cutout-v15{left:50%!important;transform:translateX(-50%);width:88%!important}
.an-hero-scene-desktop .an-lorenzo-v15{right:1%!important}

@media(max-width:700px){
  html,body{width:100%;max-width:100%;overflow-x:clip!important}
  .an-wrap{width:calc(100% - 28px)!important;max-width:none!important;margin-inline:auto!important}
  .an-hero-grid{display:block!important;width:100%!important}
  .an-hero-copy{width:100%!important;min-width:0!important}
  .an-hero-scene-desktop{display:none!important}
  .an-hero-scene-mobile{display:block!important;width:100%!important;margin:18px 0 0!important;overflow:hidden!important}
  .an-mobile-scene-inner{position:relative!important;width:100%!important;aspect-ratio:16/10!important;border-radius:24px!important;background:rgba(255,255,255,.055)!important;border:1px solid rgba(255,255,255,.12)!important;overflow:hidden!important}
  .an-mobile-school{position:absolute!important;display:block!important;width:88%!important;height:auto!important;left:50%!important;bottom:-3%!important;transform:translateX(-50%)!important;z-index:1!important;object-fit:contain!important;filter:drop-shadow(0 12px 22px rgba(0,0,0,.14))!important}
  .an-mobile-lorenzo{position:absolute!important;display:block!important;height:74%!important;width:auto!important;max-width:44%!important;right:1.5%!important;bottom:-1%!important;z-index:2!important;object-fit:contain!important;filter:drop-shadow(0 12px 18px rgba(0,0,0,.16))!important}
  .an-scene-badge-v15,.an-scene-corner-icon{display:none!important}
  .an-hero-shape-right{width:82px!important;height:82px!important;right:-38px!important;top:-22px!important}
}

@media(max-width:430px){
  .an-wrap{width:calc(100% - 24px)!important}
  .an-mobile-scene-inner{aspect-ratio:4/3!important;border-radius:22px!important}
  .an-mobile-school{width:94%!important;left:48%!important;bottom:1%!important}
  .an-mobile-lorenzo{height:68%!important;max-width:42%!important;right:0!important;bottom:0!important}
  .an-hero h1{max-width:none!important;width:100%!important}
  .an-hero-copy>p{width:100%!important;max-width:none!important}
}

@media(max-width:360px){
  .an-wrap{width:calc(100% - 20px)!important}
  .an-mobile-scene-inner{aspect-ratio:1.18!important}
  .an-mobile-school{width:100%!important;left:46%!important}
  .an-mobile-lorenzo{height:63%!important;right:-2%!important}
}


/* --- v1.8.1 hero mobile centering + fact cards fix --- */
.an-hero:after{display:none!important}
.an-hero-shape-right{opacity:.94!important}
.an-hero-scene-desktop{min-height:500px!important}
.an-hero-scene-desktop .an-school-cutout-v15{width:94%!important;left:46%!important;bottom:14px!important;transform:translateX(-50%)!important}
.an-hero-scene-desktop .an-lorenzo-v15{height:430px!important;right:2.5%!important;bottom:-4px!important;z-index:3!important}

.an-fact{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:flex-start!important;gap:8px!important}
.an-fact strong{display:block!important;color:#fff!important;font-weight:800!important;line-height:1!important;letter-spacing:-.03em!important;opacity:1!important;visibility:visible!important}
.an-fact span{display:block!important;color:#d7e2f3!important;opacity:1!important}

@media(max-width:700px){
  .an-hero{overflow:hidden!important}
  .an-hero-shape-right{width:68px!important;height:68px!important;right:-20px!important;top:-10px!important;opacity:.92!important}
  .an-hero-shape-left{display:none!important}
  .an-hero-scene-mobile{margin-top:14px!important}
  .an-mobile-scene-inner{aspect-ratio:1.22!important;border-radius:24px!important;background:rgba(255,255,255,.04)!important}
  .an-mobile-school{width:112%!important;left:44%!important;bottom:-2%!important;transform:translateX(-50%)!important}
  .an-mobile-lorenzo{height:86%!important;max-width:48%!important;right:4%!important;bottom:-2%!important}

  .an-school-copy{padding:22px 0 0!important}
  .an-school-copy h2{max-width:none!important}
  .an-factlist{grid-template-columns:1fr 1fr!important;gap:10px!important}
  .an-fact{min-height:108px!important;padding:14px!important;border-radius:18px!important}
  .an-fact strong{font-size:1.55rem!important;margin:0!important}
  .an-fact span{font-size:.8rem!important;line-height:1.3!important}
}

@media(max-width:430px){
  .an-hero-shape-right{width:58px!important;height:58px!important;right:-14px!important;top:-8px!important}
  .an-mobile-scene-inner{aspect-ratio:1.18!important}
  .an-mobile-school{width:118%!important;left:43%!important;bottom:-1%!important}
  .an-mobile-lorenzo{height:88%!important;max-width:49%!important;right:2%!important;bottom:-1%!important}
  .an-fact{min-height:100px!important;padding:13px!important}
  .an-fact strong{font-size:1.42rem!important}
  .an-fact span{font-size:.76rem!important}
}

@media(max-width:360px){
  .an-mobile-scene-inner{aspect-ratio:1.1!important}
  .an-mobile-school{width:122%!important;left:42%!important}
  .an-mobile-lorenzo{height:90%!important;max-width:50%!important;right:1%!important}
  .an-fact strong{font-size:1.34rem!important}
}


/* --- v1.9.0 rich content pages: Programma, Attività, Servizi --- */
.an-rich-section{padding:86px 0;background:var(--an-paper)}
.an-rich-section-soft{background:#fffaf3}
.an-rich-section-blue-soft{background:#eef6ff}
.an-rich-section-intro{padding:64px 0;background:linear-gradient(135deg,#123d7b 0%,#204f91 55%,#173a70 100%);color:#fff}
.an-rich-intro{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:56px;align-items:center}
.an-rich-intro .an-eyebrow{color:#bdd6ff}
.an-rich-intro h2{font-family:var(--an-display);font-size:clamp(2.3rem,4.5vw,4.4rem);line-height:.98;letter-spacing:-.05em;margin:8px 0 0;color:#fff}
.an-rich-intro p{font-size:1.08rem;line-height:1.7;color:#e6efff;margin:0;max-width:720px}
.an-rich-heading{max-width:820px;margin-bottom:34px}
.an-rich-heading.compact{max-width:760px}
.an-rich-heading h2{font-family:var(--an-display);font-size:clamp(2.15rem,3.8vw,3.7rem);line-height:1;letter-spacing:-.045em;color:var(--an-blue);margin:8px 0 12px}
.an-rich-heading p{margin:0;color:var(--an-muted);max-width:760px}
.an-rich-grid{display:grid;gap:18px}
.an-rich-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.an-rich-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.an-rich-card{--accent:var(--an-blue);position:relative;background:#fff;border:1px solid color-mix(in srgb,var(--accent) 65%,#fff 35%);border-radius:24px;padding:24px;min-width:0;box-shadow:0 10px 28px rgba(8,47,104,.06);overflow:hidden}
.an-rich-card:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--accent)}
.an-rich-card>img{width:44px;height:44px;object-fit:contain;margin-bottom:14px}
.an-rich-card h3{font-family:var(--an-display);font-size:1.22rem;line-height:1.12;color:var(--an-blue);margin:0 0 10px;letter-spacing:-.025em}
.an-rich-card p{color:#536176;font-size:.94rem;line-height:1.55;margin:0}
.an-rich-tag{display:inline-flex;margin-top:16px;padding:6px 10px;border-radius:999px;background:color-mix(in srgb,var(--accent) 10%,#fff 90%);color:color-mix(in srgb,var(--accent) 78%,#10213e 22%);font-size:.72rem;font-weight:800}
.accent-coral{--accent:#ed4d58}.accent-yellow{--accent:#f4ba22}.accent-green{--accent:#23a961}.accent-blue{--accent:#276bd1}.accent-violet{--accent:#8e44ad}.accent-aqua{--accent:#35bfc1}
.an-season-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.an-season-card{padding:24px;border-radius:24px;min-width:0;border:1px solid rgba(10,47,104,.06)}
.an-season-card.spring{background:#fff6cf}.an-season-card.summer{background:#fff0cf}.an-season-card.autumn{background:#e9f5d8}.an-season-card.winter{background:#dff0ff}
.an-season-card img{width:42px;height:42px;object-fit:contain;margin-bottom:12px}
.an-season-card h3{font-family:var(--an-display);margin:0 0 12px;color:var(--an-blue);font-size:1.15rem}
.an-season-card ul{margin:0;padding-left:18px;color:#4c5c70;font-size:.9rem;line-height:1.55}
.an-season-card li{margin:4px 0}
.an-day-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.an-day-card{--accent:var(--an-blue);position:relative;background:#fff;border:2px solid color-mix(in srgb,var(--accent) 75%,#fff 25%);border-radius:22px;padding:22px;min-width:0}
.an-day-card strong{display:block;color:var(--accent);font-size:.82rem;font-weight:900;margin-bottom:8px}
.an-day-card h3{font-family:var(--an-display);color:var(--an-blue);font-size:1.05rem;line-height:1.12;margin:0 0 8px}
.an-day-card p{font-size:.86rem;line-height:1.5;color:#5b6879;margin:0}
.an-day-grid-services .an-day-card{min-height:190px}
.an-service-callout{display:grid;grid-template-columns:54px minmax(0,1fr);gap:16px;align-items:center;margin-top:24px;padding:18px 22px;background:#fff;border:1px solid var(--an-line);border-left:5px solid var(--an-green);border-radius:18px;box-shadow:var(--an-shadow-soft)}
.an-service-callout img{width:48px;height:48px;object-fit:contain}
.an-service-callout strong{font-family:var(--an-display);color:var(--an-blue);display:block;margin-bottom:4px}
.an-service-callout p{margin:0;color:#59677a;font-size:.92rem}
.an-rich-cta-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:36px;align-items:center}
.an-rich-cta-row h2{font-family:var(--an-display);font-size:clamp(2rem,3.4vw,3.25rem);line-height:1;letter-spacing:-.04em;color:var(--an-blue);margin:8px 0 12px}
.an-rich-cta-row p{margin:0;max-width:760px;color:#526278}
.an-rich-cta-row .an-btn{min-width:210px}

@media(max-width:1100px){
  .an-rich-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .an-rich-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .an-season-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .an-day-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:700px){
  .an-rich-section{padding:58px 0}
  .an-rich-section-intro{padding:48px 0}
  .an-rich-intro{grid-template-columns:1fr;gap:18px}
  .an-rich-intro h2{font-size:2.35rem}
  .an-rich-intro p{font-size:.98rem;line-height:1.6}
  .an-rich-heading{margin-bottom:24px}
  .an-rich-heading h2{font-size:2.1rem}
  .an-rich-heading p{font-size:.94rem;line-height:1.55}
  .an-rich-grid-3,.an-rich-grid-4,.an-season-grid,.an-day-grid{grid-template-columns:1fr}
  .an-rich-card,.an-season-card,.an-day-card{padding:20px;border-radius:20px}
  .an-rich-card>img,.an-season-card img{width:38px;height:38px}
  .an-rich-card h3{font-size:1.1rem}
  .an-rich-card p,.an-season-card ul,.an-day-card p{font-size:.88rem}
  .an-day-grid-services .an-day-card{min-height:0}
  .an-service-callout{grid-template-columns:42px minmax(0,1fr);padding:16px;gap:12px}
  .an-service-callout img{width:38px;height:38px}
  .an-rich-cta-row{grid-template-columns:1fr;gap:20px}
  .an-rich-cta-row h2{font-size:2.05rem}
  .an-rich-cta-row .an-btn{width:100%;min-width:0}
}


/* --- v1.10.0 full-width page banners --- */
.an-page-banner{position:relative;width:100%;overflow:hidden;background:#0b3677}
.an-page-banner picture,.an-page-banner img{display:block;width:100%}
.an-page-banner img{height:auto;max-height:680px;object-fit:cover;object-position:center center}
.an-page-banner-title{display:none!important}
.an-inline-hero-card-text{grid-template-columns:1fr!important}
.an-inline-hero-card-text .an-inline-copy{max-width:820px}
@media(max-width:1200px){.an-page-banner img{max-height:580px}}
@media(max-width:700px){
  .an-page-banner{aspect-ratio:4/3;background:#0b3677}
  .an-page-banner picture{height:100%}
  .an-page-banner img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center}
  .an-page-banner:after{content:"";position:absolute;left:0;right:0;bottom:0;height:42%;background:linear-gradient(180deg,transparent,rgba(4,30,72,.78));pointer-events:none}
  .an-page-banner-title{display:none!important}
}


/* --- v1.12.0 production page-banner consistency --- */
.an-page-banner{aspect-ratio:auto!important;background:#0b3677!important}
.an-page-banner picture{display:block!important;height:auto!important}
.an-page-banner img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:center!important}
.an-page-banner:after{display:none!important}
.an-page-banner-title{display:none!important}
@media(max-width:700px){.an-page-banner{aspect-ratio:auto!important}.an-page-banner picture{height:auto!important}.an-page-banner img{width:100%!important;height:auto!important;object-fit:contain!important;object-position:center!important}}


/* v1.12.1 integrations */
.an-footer-art{filter:blur(10px);opacity:.9;transform:scale(1.04);transform-origin:center top}
.an-footer-art:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,33,77,.20),rgba(8,33,77,.42))}
.an-footer-shell{backdrop-filter:none}
.an-footer-grid{background:rgba(4,23,53,.72);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}

.an-hero-v15{position:relative;overflow:hidden}
.an-hero-grid{align-items:center}
.an-hero-scene-full{min-height:580px!important;background:none!important;border:none!important}
.an-hero-composite{width:100%;height:auto;display:block;border-radius:36px;box-shadow:0 26px 44px rgba(2,20,53,.16)}
.an-hero-scene-desktop.an-hero-scene-full .an-school-cutout-v15,.an-hero-scene-desktop.an-hero-scene-full .an-lorenzo-v15{display:none!important}
.an-hero-copy{position:relative;z-index:2}

.an-hero-scene-mobile{display:none}
.an-mobile-scene-full{display:block;width:100%}
.an-mobile-scene-full picture,.an-mobile-scene-full img{display:block;width:100%;height:auto}
.an-mobile-hero-composite{border-radius:28px;box-shadow:0 18px 34px rgba(2,20,53,.14)}

.an-lorenzo-bubble{background:linear-gradient(180deg,#f4faff 0%,#e9f5ff 100%);padding:0;overflow:hidden;display:flex;align-items:center;justify-content:center}
.an-lorenzo-bubble img{width:100%;height:auto;display:block;object-fit:cover}

@media(max-width:1200px){
  .an-hero-scene-full{min-height:520px!important}
}
@media(max-width:980px){
  .an-hero-scene-full{min-height:auto!important}
  .an-hero-composite{border-radius:30px}
}
@media(max-width:700px){
  .an-hero-v15{padding-top:24px!important}
  .an-hero-scene-desktop{display:none!important}
  .an-hero-scene-mobile{display:block!important;width:100%!important;margin-top:18px!important}
  .an-mobile-scene-full{margin-top:0!important}
  .an-mobile-hero-composite{border-radius:24px}
  .an-footer-art{filter:blur(8px);transform:scale(1.08)}
  .an-footer-grid{background:rgba(4,23,53,.78);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
}


/* v1.13.0 responsive and hero overhaul */
.an-home-hero{position:relative;min-height:720px;padding:0;display:flex;align-items:center;isolation:isolate;background:#0b3677}
.an-home-hero:before,.an-home-hero:after{display:none!important}
.an-home-hero-art{position:absolute;inset:0;z-index:0}
.an-home-hero-art img{width:100%;height:100%;object-fit:cover;object-position:center right;display:block}
.an-home-hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(8,46,113,.98) 0%,rgba(8,46,113,.96) 28%,rgba(8,46,113,.82) 45%,rgba(8,46,113,.38) 65%,rgba(8,46,113,0) 82%)}
.an-home-hero-inner{position:relative;z-index:2;width:100%;padding:110px 0 86px}
.an-home-hero .an-hero-copy{max-width:630px;padding-right:10px}
.an-home-hero .an-hero-copy>p{max-width:620px}
.an-home-hero .an-hero-actions,.an-home-hero .an-hero-meta{position:relative;z-index:2}

/* page imagery alignment */
.an-page-banner{background:#0b3677!important}
.an-page-banner picture,.an-page-banner img{display:block;width:100%;margin:0 auto}
.an-page-banner img{height:auto!important;max-height:none!important;object-fit:contain!important;object-position:center center!important}
.an-page-hero-grid,.an-content-grid,.an-contact-grid,.an-school-panel,.an-split,.an-post-grid,.an-inline-hero-card,.an-rich-cta-row{align-items:center}
.an-side-card{overflow:hidden}
.an-side-icon{display:flex;justify-content:center;align-items:center;margin-bottom:12px}
.an-side-icon img{width:min(110px,36vw);height:auto;display:block;margin:0 auto}
.an-side-mascot{margin:0 0 10px;height:auto;min-height:0}
.an-side-mascot img{height:auto;max-height:240px;max-width:100%;display:block;margin:0 auto}
.an-lorenzo-bubble{padding:0;border-radius:32px;max-width:520px;margin:0 auto}
.an-lorenzo-bubble img{width:100%;height:auto;display:block;margin:0 auto}
.an-notebook-side{gap:24px}
.an-school-panel-noimage{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}
.an-fact strong{display:block}

/* tablet cleanup */
@media(max-width:1180px){
  .an-home-hero{min-height:640px}
  .an-home-hero-overlay{background:linear-gradient(90deg,rgba(8,46,113,.98) 0%,rgba(8,46,113,.95) 38%,rgba(8,46,113,.72) 60%,rgba(8,46,113,.18) 82%)}
  .an-home-hero .an-hero-copy{max-width:560px}
}
@media(max-width:1024px){
  .an-home-hero{min-height:600px}
  .an-home-hero-inner{padding:84px 0 64px}
  .an-home-hero .an-hero-copy{max-width:500px}
  .an-home-hero h1{font-size:clamp(3.2rem,7vw,5rem)}
  .an-page-banner img{width:100%!important;height:auto!important;object-fit:contain!important;object-position:center!important}
  .an-school-panel-noimage,.an-content-grid,.an-contact-grid,.an-split,.an-rich-cta-row{grid-template-columns:1fr!important}
  .an-notebook-layout{grid-template-columns:1fr!important;gap:26px!important}
  .an-notebook-side{display:grid;grid-template-columns:minmax(260px,380px) 1fr;align-items:stretch}
}
@media(max-width:820px){
  .an-home-hero{min-height:560px}
  .an-home-hero-art img{object-position:62% center}
  .an-home-hero-overlay{background:linear-gradient(180deg,rgba(8,46,113,.90) 0%,rgba(8,46,113,.82) 30%,rgba(8,46,113,.56) 55%,rgba(8,46,113,.36) 75%,rgba(8,46,113,.54) 100%)}
  .an-home-hero .an-hero-copy{max-width:none;padding-right:0}
  .an-home-hero-inner{padding:72px 0 46px}
  .an-home-hero .an-hero-meta{gap:8px}
  .an-side-card{padding:22px}
}
@media(max-width:700px){
  .an-home-hero{min-height:auto;display:block}
  .an-home-hero-art{position:relative;inset:auto;order:2;margin-top:0}
  .an-home-hero-art img{height:auto;min-height:0;object-fit:cover;object-position:center}
  .an-home-hero-overlay{background:linear-gradient(180deg,rgba(8,46,113,.98) 0%,rgba(8,46,113,.95) 33%,rgba(8,46,113,.86) 56%,rgba(8,46,113,.62) 76%,rgba(8,46,113,.42) 100%)}
  .an-home-hero-inner{padding:38px 0 18px}
  .an-home-hero .an-hero-copy{max-width:none}
  .an-home-hero h1{font-size:clamp(2.9rem,14vw,4.25rem);max-width:11ch}
  .an-home-hero .an-hero-copy>p{font-size:1.02rem;max-width:none}
  .an-home-hero .an-hero-actions{gap:10px}
  .an-home-hero .an-hero-actions .an-btn{width:100%}
  .an-home-hero .an-hero-meta{margin-top:24px}
  .an-home-hero .an-pill{font-size:.82rem}
  .an-page-banner img{width:100%!important;height:auto!important;object-fit:contain!important;object-position:center!important}
  .an-page-hero-grid,.an-content-grid,.an-contact-grid,.an-school-panel,.an-split,.an-post-grid,.an-inline-hero-card,.an-rich-cta-row,.an-school-panel-noimage{grid-template-columns:1fr!important}
  .an-notebook-side{grid-template-columns:1fr!important}
  .an-lorenzo-bubble{max-width:360px}
  .an-factlist{grid-template-columns:1fr 1fr!important;gap:14px}
  .an-fact{min-height:120px;padding:18px 16px}
  .an-fact strong{font-size:2rem;line-height:1}
  .an-fact span{font-size:.9rem}
  .an-side-icon img{width:88px}
}
@media(max-width:480px){
  .an-home-hero-inner{padding:34px 0 16px}
  .an-home-hero h1{font-size:clamp(2.55rem,13.5vw,3.5rem)}
  .an-home-hero-art img{aspect-ratio:4/3;object-fit:cover;object-position:center}
  .an-factlist{grid-template-columns:1fr 1fr!important}
  .an-fact{min-height:112px;border-radius:22px}
  .an-fact strong{font-size:1.8rem}
}


/* =========================================================
   ADA NEGRI 1.14.0 — FINAL RELEASE POLISH
   Desktop + tablet normalization. Mobile rules live in mobile.css.
   ========================================================= */
html{scroll-behavior:smooth}
body{overflow-x:hidden}
img{max-width:100%;height:auto}
.an-wrap{width:min(1240px,calc(100% - 48px));margin-inline:auto}

/* Header */
.an-site-header{z-index:120}
.an-nav{align-items:center}
.an-brand img,.an-brand .custom-logo{height:auto;object-fit:contain}
.an-main-menu{align-items:center}
.an-main-menu a{white-space:nowrap}

/* Home hero: artwork is full-bleed and integrated with the UI */
.an-home-hero{position:relative;min-height:710px;padding:0!important;display:flex;align-items:center;overflow:hidden;isolation:isolate;background:#0b3677}
.an-home-hero::before,.an-home-hero::after{display:none!important}
.an-home-hero-art{position:absolute!important;inset:0!important;z-index:0!important;display:block!important}
.an-home-hero-art img{display:block;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center right!important}
.an-home-hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(7,45,111,.99) 0%,rgba(7,45,111,.96) 30%,rgba(7,45,111,.83) 46%,rgba(7,45,111,.46) 63%,rgba(7,45,111,.08) 80%,rgba(7,45,111,0) 100%)}
.an-home-hero-inner{position:relative;z-index:2;width:100%;padding:92px 0 76px}
.an-home-hero .an-hero-copy{max-width:620px;padding:0}
.an-home-hero .an-eyebrow{color:#9de2bc}
.an-home-hero h1{margin:14px 0 20px;max-width:680px}
.an-home-hero .an-hero-copy>p{max-width:620px;color:#e8eef8}
.an-home-hero .an-hero-actions{margin-top:26px}
.an-home-hero .an-hero-meta{margin-top:30px}

/* Page banners */
.an-page-banner{width:100%;overflow:hidden;background:#0b3677}
.an-page-banner picture,.an-page-banner img{display:block;width:100%;margin:0}
.an-page-banner img{height:auto!important;max-height:none!important;object-fit:contain!important;object-position:center!important}
.an-page-banner::after,.an-page-banner-title{display:none!important}

/* Internal layout image alignment */
.an-content-grid,.an-contact-grid,.an-split,.an-school-panel,.an-inline-hero-card,.an-rich-cta-row{align-items:start}
.an-side-card{overflow:hidden}
.an-side-icon{display:flex;align-items:center;justify-content:center;margin-bottom:12px}
.an-side-icon img{display:block;width:92px;height:auto;margin:auto}
.an-side-mascot{height:auto;min-height:0;margin:0 0 12px;display:flex;align-items:flex-end;justify-content:center}
.an-side-mascot img{display:block;max-width:100%;height:auto;max-height:245px;margin:auto;object-fit:contain}

/* Notebook section */
.an-section-notebook{overflow:hidden}
.an-notebook-layout{grid-template-columns:minmax(0,1.28fr) minmax(320px,.72fr);gap:30px;align-items:start}
.an-notebook-card{transform:none}
.an-notebook-side{gap:20px;align-self:stretch}
.an-lorenzo-bubble{padding:0!important;min-height:0!important;max-width:none!important;background:linear-gradient(180deg,#eaf6ff,#f5fbff);display:block;overflow:hidden;border-radius:32px}
.an-lorenzo-bubble::before{display:none!important}
.an-lorenzo-bubble img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:cover!important;position:static!important;filter:none!important;margin:0!important}
.an-side-note{height:auto}

/* Cards */
.an-feature,.an-lesson,.an-rich-card,.an-season-card,.an-day-card,.an-school-badge,.an-fact{height:100%}
.an-rich-card>img,.an-season-card img,.an-card-icon,.an-quick-icon{object-fit:contain}
.an-fact strong{display:block!important}

/* Footer: blurred visual backdrop, readable glass panel */
.an-footer{position:relative;overflow:hidden}
.an-footer-art{filter:blur(12px);opacity:.78;transform:translateX(-50%) scale(1.06)!important;transform-origin:center top}
.an-footer-art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,31,74,.28),rgba(5,31,74,.58));pointer-events:none}
.an-footer-grid{background:rgba(4,23,53,.76)!important;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-color:rgba(255,255,255,.10)}

/* Tablet */
@media (max-width:1180px){
  .an-home-hero{min-height:650px}
  .an-home-hero-overlay{background:linear-gradient(90deg,rgba(7,45,111,.99) 0%,rgba(7,45,111,.95) 36%,rgba(7,45,111,.76) 56%,rgba(7,45,111,.20) 80%,rgba(7,45,111,0) 100%)}
  .an-home-hero .an-hero-copy{max-width:560px}
}
@media (max-width:1024px){
  :root{--an-container:min(100% - 40px,1240px)}
  .an-nav{min-height:82px}
  .an-home-hero{min-height:620px}
  .an-home-hero-art img{object-position:58% center!important}
  .an-home-hero-overlay{background:linear-gradient(90deg,rgba(7,45,111,.98) 0%,rgba(7,45,111,.94) 40%,rgba(7,45,111,.68) 62%,rgba(7,45,111,.20) 84%)}
  .an-home-hero-inner{padding:72px 0 58px}
  .an-home-hero .an-hero-copy{max-width:530px}
  .an-home-hero h1{font-size:clamp(3.5rem,7.2vw,5.2rem)}
  .an-notebook-layout{grid-template-columns:1fr!important;gap:26px}
  .an-notebook-side{display:grid;grid-template-columns:minmax(280px,390px) minmax(0,1fr);align-items:stretch}
  .an-content-grid,.an-contact-grid,.an-school-panel,.an-split,.an-rich-cta-row{grid-template-columns:1fr!important}
  .an-side-card{position:static}
}
@media (max-width:820px){
  :root{--an-container:min(100% - 32px,1240px)}
  .an-home-hero{min-height:600px}
  .an-home-hero-art img{object-position:61% center!important}
  .an-home-hero-overlay{background:linear-gradient(90deg,rgba(7,45,111,.98) 0%,rgba(7,45,111,.94) 42%,rgba(7,45,111,.67) 64%,rgba(7,45,111,.22) 86%)}
  .an-home-hero .an-hero-copy{max-width:500px}
  .an-notebook-side{grid-template-columns:1fr}
  .an-lorenzo-bubble{max-width:520px;margin-inline:auto}
}


/* v1.14.1 mobile hero/button hotfix */
@media (max-width:700px){
  .an-home-hero{display:flex!important;flex-direction:column!important;align-items:stretch!important;min-height:auto!important;padding-bottom:20px!important;background:#0b3677!important}
  .an-home-hero-overlay{display:none!important}
  .an-home-hero-inner{order:1!important;padding:34px 0 0!important}
  .an-home-hero .an-hero-copy{max-width:none!important}
  .an-home-hero .an-hero-copy>p{margin-bottom:18px!important;display:block!important;overflow:visible!important}
  .an-home-hero .an-hero-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;margin-top:22px!important}
  .an-home-hero .an-hero-actions .an-btn{width:100%!important;min-height:56px!important;padding:0 14px!important;font-size:1rem!important;border-width:1px!important;box-shadow:0 10px 22px rgba(6,28,69,.22)!important}
  .an-home-hero .an-btn-primary{background:var(--an-coral)!important;border-color:var(--an-coral)!important;color:#fff!important}
  .an-home-hero .an-btn-outline{background:rgba(255,255,255,.14)!important;border-color:rgba(255,255,255,.34)!important;color:#fff!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
  .an-home-hero .an-hero-meta{margin-top:18px!important}
  .an-home-hero-art{position:relative!important;order:2!important;inset:auto!important;display:block!important;z-index:1!important;margin:18px 19px 0!important;border-radius:28px!important;overflow:hidden!important;box-shadow:0 18px 34px rgba(5,24,63,.28)!important;background:#123f85!important;min-height:320px!important}
  .an-home-hero-art img{width:100%!important;height:100%!important;min-height:320px!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:58% center!important;display:block!important}
}
@media (max-width:520px){
  .an-home-hero .an-hero-actions{grid-template-columns:1fr!important}
  .an-home-hero-art{margin:16px 16px 0!important;min-height:300px!important}
  .an-home-hero-art img{min-height:300px!important;object-position:60% center!important}
}

/* v1.15.0 final integration: refined home hero + sezione primavera */
.an-home-hero-final{position:relative;min-height:720px;padding:0!important;display:flex;align-items:center;overflow:hidden;isolation:isolate;background:#0b3677!important;background-image:linear-gradient(rgba(255,255,255,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.065) 1px,transparent 1px)!important;background-size:56px 56px!important}
.an-home-hero-final .an-home-hero-art{position:absolute!important;inset:0!important;z-index:0!important;display:block!important}
.an-home-hero-final .an-home-hero-art img{display:block;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important}
.an-home-hero-final .an-home-hero-overlay{display:none!important}
.an-home-hero-final .an-home-hero-inner{position:relative;z-index:2;width:100%;padding:86px 0 76px!important}
.an-home-hero-final .an-hero-copy{max-width:600px!important;padding:0!important}
.an-home-hero-final .an-eyebrow{color:#9de2bc!important}
.an-home-hero-final .an-hero-copy>p{max-width:610px!important;color:#ebf1f8!important}
.an-home-hero-final .an-hero-actions{margin-top:28px!important}
.an-home-hero-final .an-hero-meta{margin-top:28px!important}
.an-home-hero-final .an-pill{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.22)!important;color:#fff!important;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}

.an-spring-panel{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:stretch;gap:32px;background:#e9f7ef;border-radius:34px;overflow:hidden;box-shadow:var(--an-shadow-soft)}
.an-spring-copy{padding:52px 50px 48px}
.an-spring-copy h2{font-family:var(--an-display);font-size:clamp(2.35rem,4vw,3.45rem);line-height:1.02;color:var(--an-blue);margin:8px 0 18px;max-width:12ch}
.an-spring-copy p{max-width:54ch}
.an-spring-art{background:#dcf0e4;display:flex;align-items:stretch;justify-content:stretch;min-height:420px}
.an-spring-art picture,.an-spring-art img{display:block;width:100%;height:100%}
.an-spring-art img{object-fit:cover;object-position:center center}

@media (max-width:1100px){
  .an-home-hero-final{min-height:640px!important}
  .an-home-hero-final .an-home-hero-inner{padding:72px 0 64px!important}
  .an-home-hero-final .an-hero-copy{max-width:540px!important}
  .an-home-hero-final h1{font-size:clamp(3.4rem,7.2vw,5.2rem)!important}
  .an-spring-panel{grid-template-columns:1fr!important}
}
@media (max-width:760px){
  .an-home-hero-final{display:flex!important;flex-direction:column!important;align-items:stretch!important;min-height:auto!important;padding-bottom:18px!important}
  .an-home-hero-final .an-home-hero-art{position:relative!important;order:2!important;inset:auto!important;display:block!important;z-index:1!important;margin:18px 19px 0!important;border-radius:28px!important;overflow:hidden!important;box-shadow:0 18px 34px rgba(5,24,63,.28)!important;background:#123f85!important;min-height:320px!important}
  .an-home-hero-final .an-home-hero-art img{width:100%!important;height:100%!important;min-height:320px!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:center center!important}
  .an-home-hero-final .an-home-hero-inner{order:1!important;padding:36px 0 0!important}
  .an-home-hero-final .an-hero-copy{max-width:none!important}
  .an-home-hero-final .an-hero-copy>p{margin-bottom:18px!important;display:block!important;overflow:visible!important}
  .an-home-hero-final .an-hero-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;margin-top:22px!important}
  .an-home-hero-final .an-hero-actions .an-btn{width:100%!important;min-height:56px!important;padding:0 14px!important;font-size:1rem!important;border-width:1px!important;box-shadow:0 10px 22px rgba(6,28,69,.22)!important}
  .an-home-hero-final .an-btn-primary{background:var(--an-coral)!important;border-color:var(--an-coral)!important;color:#fff!important}
  .an-home-hero-final .an-btn-outline{background:rgba(255,255,255,.14)!important;border-color:rgba(255,255,255,.34)!important;color:#fff!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
  .an-home-hero-final .an-hero-meta{margin-top:18px!important;gap:8px!important}
  .an-home-hero-final h1{font-size:clamp(2.7rem,13vw,4rem)!important;max-width:11ch!important}
  .an-home-hero-final .an-hero-copy>p{font-size:1.02rem!important;max-width:none!important}
  .an-spring-panel{display:block!important}
  .an-spring-copy{padding:28px 24px 22px!important}
  .an-spring-copy h2{font-size:2.3rem!important;max-width:none!important}
  .an-spring-art{min-height:290px!important}
}
@media (max-width:540px){
  .an-home-hero-final .an-hero-actions{grid-template-columns:1fr!important}
  .an-home-hero-final .an-home-hero-art{margin:16px 16px 0!important;min-height:300px!important}
  .an-home-hero-final .an-home-hero-art img{min-height:300px!important}
  .an-spring-art{min-height:250px!important}
}

/* v1.15.1 – mobile/tablet readability and alignment polish */
.an-btn{text-align:center;white-space:normal;word-break:normal}

@media (max-width: 767px){
  .an-home-hero-final{min-height:auto!important;padding:0 0 28px!important}
  .an-home-hero-final .an-wrap,.an-home-hero-final .an-hero-grid{width:100%!important}
  .an-home-hero-final .an-hero-grid{display:grid!important;grid-template-columns:1fr!important;gap:18px!important;align-items:start!important}
  .an-home-hero-final .an-hero-copy{max-width:none!important;padding:34px 0 0!important}
  .an-home-hero-final .an-hero-copy>p{display:block!important;overflow:visible!important;max-width:none!important;font-size:1.02rem!important;line-height:1.52!important;margin-bottom:18px!important}
  .an-home-hero-final .an-hero-actions{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin-top:20px!important}
  .an-home-hero-final .an-hero-actions .an-btn{display:flex!important;width:100%!important;min-height:58px!important;padding:14px 18px!important;font-size:1rem!important;line-height:1.2!important;text-align:center!important;justify-content:center!important}
  .an-home-hero-final .an-home-hero-art{position:relative!important;inset:auto!important;order:2!important;display:block!important;width:100%!important;min-height:250px!important;margin:12px 0 0!important;border-radius:24px!important;overflow:hidden!important}
  .an-home-hero-final .an-home-hero-art picture,
  .an-home-hero-final .an-home-hero-art img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important}

  .an-factlist{grid-template-columns:1fr!important;gap:12px!important}
  .an-fact{min-height:auto!important;padding:18px 18px!important;align-items:flex-start!important;justify-content:center!important;text-align:left!important}
  .an-fact strong{font-size:2rem!important;line-height:1!important;margin:0 0 4px!important}
  .an-fact span{font-size:.95rem!important;line-height:1.35!important}

  .an-spring-panel{grid-template-columns:1fr!important;gap:0!important}
  .an-spring-copy{padding:26px 22px 20px!important}
  .an-spring-copy .an-btn,
  .an-side-card .an-btn{display:flex!important;width:100%!important;max-width:100%!important;min-height:64px!important;padding:14px 18px!important;line-height:1.18!important;text-align:center!important;justify-content:center!important}
}

@media (min-width: 768px) and (max-width: 1024px){
  .an-home-hero-final .an-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,.95fr)!important;gap:34px!important}
  .an-home-hero-final .an-home-hero-art{min-height:420px!important}
  .an-home-hero-final .an-home-hero-art picture,
  .an-home-hero-final .an-home-hero-art img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important}
  .an-fact{padding:18px!important}
}

/* ===== v1.16.0 clean release ===== */
.an-home-clean-hero{background:#0b3677;color:#fff;padding:72px 0;overflow:hidden}
.an-home-clean-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:56px;align-items:center}
.an-home-clean-copy{min-width:0}
.an-home-clean-copy .an-eyebrow{color:#9de2bc}
.an-home-clean-copy h1{font-family:var(--an-display);font-size:clamp(3.35rem,5.4vw,5.75rem);line-height:.96;letter-spacing:-.055em;margin:14px 0 24px;max-width:8.5ch}
.an-home-clean-copy p{font-size:1.08rem;line-height:1.6;color:#e7eef8;max-width:590px;margin:0}
.an-home-clean-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.an-home-clean-actions .an-btn{min-height:54px;padding:0 22px}
.an-home-clean-actions .an-btn-outline{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.28);color:#fff}
.an-home-clean-meta{display:flex;gap:9px;flex-wrap:wrap;margin-top:28px}
.an-home-clean-meta span{padding:8px 13px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.07);font-size:.86rem;font-weight:750;color:#f5f8fc}
.an-home-clean-media{border-radius:34px;overflow:hidden;background:#0e4c94;box-shadow:0 24px 56px rgba(3,23,58,.24);aspect-ratio:2/1}
.an-home-clean-media picture,.an-home-clean-media img{display:block;width:100%;height:100%}
.an-home-clean-media img{object-fit:cover;object-position:center}

.an-page-clean-hero{padding:46px 0;background:#f4f8fc;border-bottom:1px solid var(--an-line)}
.an-page-clean-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(360px,1.12fr);gap:44px;align-items:center}
.an-page-clean-copy h1{font-family:var(--an-display);font-size:clamp(2.9rem,4.7vw,5rem);line-height:.98;letter-spacing:-.05em;color:var(--an-blue);margin:10px 0 16px}
.an-page-clean-copy p{font-size:1.08rem;line-height:1.55;color:#526177;max-width:560px;margin:0}
.an-page-clean-media{height:360px;border-radius:30px;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:18px;background:#e8f5ff;box-shadow:var(--an-shadow-soft)}
.an-page-clean-media img{width:100%;height:100%;object-fit:contain;object-position:center}
.an-page-clean-scene .an-page-clean-media{padding:0;background:#0b3677}
.an-page-clean-scene .an-page-clean-media img{object-fit:cover}
.an-page-clean-mint .an-page-clean-media{background:#e9f7ef}
.an-page-clean-sky .an-page-clean-media{background:#eaf6ff}
.an-page-clean-orange .an-page-clean-media{background:#fff2e2}
.an-page-clean-blue .an-page-clean-media{background:#e7efff}
.an-page-clean-coral .an-page-clean-media{background:#fff0f2}

.an-spring-panel{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;gap:0!important;background:#eef8f1!important;box-shadow:none!important;border:1px solid #dcece2!important}
.an-spring-copy{display:flex;flex-direction:column;justify-content:center;padding:48px!important}
.an-spring-art{min-height:380px!important}
.an-spring-art img{object-fit:cover!important;object-position:center!important}

/* More restrained image scale across content */
.an-lorenzo-bubble{max-width:440px!important;margin-inline:auto!important}
.an-side-mascot img{max-height:200px!important}
.an-page-mascot img{max-height:300px!important}

@media(max-width:1024px){
  .an-home-clean-grid,.an-page-clean-grid{grid-template-columns:1fr;gap:30px}
  .an-home-clean-copy h1{max-width:10ch}
  .an-home-clean-media{max-width:820px;width:100%;margin-inline:auto}
  .an-page-clean-media{height:320px}
  .an-page-clean-copy{text-align:left}
}

@media(max-width:700px){
  .an-home-clean-hero{padding:38px 0 28px}
  .an-home-clean-grid{gap:22px}
  .an-home-clean-copy h1{font-size:clamp(2.55rem,12vw,3.55rem);max-width:none;margin:10px 0 16px}
  .an-home-clean-copy p{font-size:1rem;line-height:1.55;display:block!important;overflow:visible!important;-webkit-line-clamp:unset!important;max-height:none!important}
  .an-home-clean-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:20px}
  .an-home-clean-actions .an-btn{width:100%;min-height:58px;text-align:center}
  .an-home-clean-meta{gap:7px;margin-top:18px}
  .an-home-clean-meta span{font-size:.78rem;padding:7px 10px}
  .an-home-clean-media{aspect-ratio:4/3;border-radius:24px}
  .an-home-clean-media img{object-position:center}

  .an-page-clean-hero{padding:30px 0 28px}
  .an-page-clean-grid{gap:20px}
  .an-page-clean-copy{text-align:left}
  .an-page-clean-copy h1{font-size:clamp(2.35rem,11vw,3.1rem);margin:8px 0 12px}
  .an-page-clean-copy p{font-size:.98rem;line-height:1.5}
  .an-page-clean-media{height:260px;border-radius:24px;padding:12px}
  .an-page-clean-scene .an-page-clean-media{height:240px;padding:0}

  .an-spring-panel{display:block!important}
  .an-spring-copy{padding:28px 22px 22px!important}
  .an-spring-copy h2{font-size:2.25rem!important}
  .an-spring-copy .an-btn{width:100%!important;min-height:58px!important;text-align:center!important;justify-content:center!important}
  .an-spring-art{min-height:240px!important}

  .an-factlist{grid-template-columns:1fr 1fr!important;gap:10px!important}
  .an-fact{min-height:108px!important;padding:14px!important;align-items:center!important;justify-content:center!important;text-align:center!important}
  .an-fact strong,.an-fact span{width:100%!important;text-align:center!important}
}

@media(max-width:430px){
  .an-page-clean-media{height:230px}
  .an-home-clean-media{aspect-ratio:1/1}
  .an-factlist{grid-template-columns:1fr 1fr!important}
}

/* ===== v1.17.0 integrated approved banners ===== */
.an-art-hero{padding:34px 0 42px;background:#f6f8fb;border-bottom:1px solid var(--an-line)}
.an-art-hero-card{position:relative;isolation:isolate;min-height:560px;border-radius:34px;overflow:hidden;background:#0b3677;box-shadow:0 24px 64px rgba(14,43,83,.16)}
.an-art-hero-media{position:absolute;inset:0;z-index:0;display:block}
.an-art-hero-media img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.an-art-hero-copy{position:relative;z-index:2;width:min(48%,650px);min-height:560px;display:flex;flex-direction:column;justify-content:center;padding:64px 64px 68px;color:#fff}
.an-art-hero-copy .an-eyebrow{color:#b8f0d4;margin-bottom:10px}
.an-art-hero-orange .an-art-hero-copy .an-eyebrow,.an-art-hero-coral .an-art-hero-copy .an-eyebrow{color:#fff4bc}
.an-art-hero-copy h1{font-family:var(--an-display);font-size:clamp(3.1rem,5.2vw,5.7rem);line-height:.94;letter-spacing:-.055em;margin:0 0 20px;color:#fff;max-width:8.6ch;text-wrap:balance}
.an-art-hero-teal .an-art-hero-copy h1,.an-art-hero-orange .an-art-hero-copy h1{max-width:9.5ch}
.an-art-hero-copy p{font-size:1.08rem;line-height:1.58;margin:0;max-width:520px;color:rgba(255,255,255,.94)}

/* The page artwork already contains its own approved color field; no overlays, no filters. */
.an-art-hero-card::before,.an-art-hero-card::after{display:none!important}
.an-art-hero-media img{filter:none!important}

@media(max-width:1024px){
  .an-art-hero-card{min-height:500px}
  .an-art-hero-copy{min-height:500px;padding:48px 44px 52px;width:52%}
  .an-art-hero-copy h1{font-size:clamp(2.8rem,6vw,4.8rem)}
}
@media(max-width:700px){
  .an-art-hero{padding:18px 0 28px}
  .an-art-hero-card{min-height:0;background:#fff;border-radius:26px;box-shadow:0 14px 36px rgba(14,43,83,.12)}
  .an-art-hero-copy{position:relative;width:100%;min-height:0;padding:28px 24px 24px;background:#0b3677;color:#fff}
  .an-art-hero-teal .an-art-hero-copy{background:#0a8f9e}
  .an-art-hero-orange .an-art-hero-copy{background:#f57916}
  .an-art-hero-coral .an-art-hero-copy{background:#ef4b62}
  .an-art-hero-copy h1{font-size:clamp(2.35rem,11vw,3.35rem);line-height:.98;max-width:none;margin-bottom:12px}
  .an-art-hero-copy p{font-size:.98rem;line-height:1.5;max-width:none}
  .an-art-hero-media{position:relative;inset:auto;display:block;aspect-ratio:4/3;background:#eef4fb}
  .an-art-hero-media img{object-fit:cover;object-position:center}
}
.an-spring-art picture{display:block;width:100%;height:100%}
.an-spring-art img{display:block;width:100%;height:100%;object-fit:cover!important;object-position:center!important;filter:none!important}

/* v1.17.1 — definitive header/logo sizing */
@media (max-width: 980px){
  .an-site-header .an-nav{
    min-height:94px!important;
    height:auto!important;
    padding:10px 0!important;
    gap:10px!important;
  }
  .an-site-header .an-brand{
    flex:1 1 auto!important;
    min-width:0!important;
    max-width:none!important;
  }
  .an-site-header .an-brand>a,
  .an-site-header .an-brand>.custom-logo-link{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
    min-width:0!important;
  }
  .an-site-header .an-brand img,
  .an-site-header .an-brand .custom-logo{
    display:block!important;
    width:min(100%, 278px)!important;
    max-width:none!important;
    max-height:78px!important;
    height:auto!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  .an-site-header .an-menu-toggle{
    flex:0 0 52px!important;
    width:52px!important;
    height:52px!important;
    margin-left:auto!important;
  }
}
@media (max-width: 430px){
  .an-site-header .an-nav{
    min-height:92px!important;
    padding:9px 0!important;
  }
  .an-site-header .an-brand img,
  .an-site-header .an-brand .custom-logo{
    width:min(100%, 265px)!important;
    max-width:none!important;
    max-height:74px!important;
  }
  .an-site-header .an-menu-toggle{
    flex-basis:50px!important;
    width:50px!important;
    height:50px!important;
  }
}
@media (max-width: 370px){
  .an-site-header .an-brand img,
  .an-site-header .an-brand .custom-logo{
    width:min(100%, 235px)!important;
    max-height:68px!important;
  }
  .an-site-header .an-menu-toggle{
    flex-basis:46px!important;
    width:46px!important;
    height:46px!important;
  }
}

/* ===== v1.18.0 final polish ===== */
/* Perfectly centered hamburger: no inherited margins/transforms can offset the lines. */
@media (max-width:980px){
  body .an-site-header .an-menu-toggle{position:relative!important;display:block!important;padding:0!important}
  body .an-site-header .an-menu-toggle span,
  body .an-site-header .an-menu-toggle::before,
  body .an-site-header .an-menu-toggle::after{
    content:""!important;
    position:absolute!important;
    left:50%!important;
    width:28px!important;
    height:3px!important;
    margin:0!important;
    border-radius:999px!important;
    background:currentColor!important;
    transform:translateX(-50%)!important;
    transform-origin:center!important;
  }
  body .an-site-header .an-menu-toggle::before{top:calc(50% - 10px)!important}
  body .an-site-header .an-menu-toggle span{top:calc(50% - 1.5px)!important}
  body .an-site-header .an-menu-toggle::after{top:calc(50% + 7px)!important}
  body .an-site-header .an-menu-toggle.is-open::before{top:calc(50% - 1.5px)!important;transform:translateX(-50%) rotate(45deg)!important}
  body .an-site-header .an-menu-toggle.is-open span{opacity:0!important}
  body .an-site-header .an-menu-toggle.is-open::after{top:calc(50% - 1.5px)!important;transform:translateX(-50%) rotate(-45deg)!important}
}

/* Clean vector contact icons: no white matte or crop fringes. */
.an-footer-info img,.an-contact-list img,.an-side-list img{object-fit:contain!important;filter:none!important;background:transparent!important}
.an-footer-info img{width:36px!important;height:36px!important}

/* The long opening-hours fact remains visually balanced on small screens. */
.an-fact strong{overflow-wrap:anywhere}
@media(max-width:700px){
  .an-fact strong{font-size:1.25rem!important;line-height:1.08!important}
}

/* v1.18.3 — Desktop home hero: full-width integrated artwork */
@media (min-width:1101px){
  .an-home-clean-hero{
    position:relative!important;
    min-height:690px!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    overflow:hidden!important;
    background:#0b3677!important;
  }
  .an-home-clean-grid{
    position:relative!important;
    display:block!important;
    min-height:690px!important;
    width:100%!important;
  }
  .an-home-clean-media{
    position:absolute!important;
    z-index:0!important;
    top:0!important;
    bottom:0!important;
    left:50%!important;
    width:100vw!important;
    height:100%!important;
    transform:translateX(-50%)!important;
    margin:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    aspect-ratio:auto!important;
    overflow:hidden!important;
    background:#0b3677!important;
  }
  .an-home-clean-media picture,
  .an-home-clean-media img{
    display:block!important;
    width:100%!important;
    height:100%!important;
  }
  .an-home-clean-media img{
    object-fit:cover!important;
    object-position:center center!important;
  }
  .an-home-clean-copy{
    position:relative!important;
    z-index:2!important;
    width:min(47%,610px)!important;
    max-width:610px!important;
    padding:82px 0 78px!important;
  }
  .an-home-clean-copy h1{
    font-size:clamp(4rem,5.6vw,6.2rem)!important;
    max-width:8.2ch!important;
    margin:14px 0 24px!important;
  }
  .an-home-clean-copy p{
    max-width:570px!important;
    font-size:1.13rem!important;
    line-height:1.62!important;
  }
  .an-home-clean-actions{margin-top:30px!important}
  .an-home-clean-meta{margin-top:30px!important}
}

@media (min-width:1101px) and (max-width:1280px){
  .an-home-clean-hero,.an-home-clean-grid{min-height:640px!important}
  .an-home-clean-copy{width:48%!important;max-width:560px!important;padding:72px 0 66px!important}
  .an-home-clean-copy h1{font-size:clamp(3.7rem,5.8vw,5.4rem)!important}
  .an-home-clean-copy p{font-size:1.05rem!important;max-width:520px!important}
}


/* v1.18.4 — larger desktop header logo */
@media (min-width: 981px){
  .an-site-header .an-nav{
    min-height:96px!important;
    height:auto!important;
    gap:20px!important;
  }
  .an-site-header .an-brand,
  .an-site-header .an-brand>a,
  .an-site-header .an-brand>.custom-logo-link{
    display:flex!important;
    align-items:center!important;
    flex:0 0 auto!important;
  }
  .an-site-header .an-brand img,
  .an-site-header .an-brand .custom-logo{
    width:340px!important;
    max-width:340px!important;
    max-height:84px!important;
    height:auto!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  .an-site-header .an-main-menu{gap:18px!important}
}
@media (min-width: 981px) and (max-width: 1180px){
  .an-site-header .an-brand img,
  .an-site-header .an-brand .custom-logo{
    width:310px!important;
    max-width:310px!important;
    max-height:78px!important;
  }
  .an-site-header .an-main-menu{gap:14px!important}
  .an-site-header .an-main-menu>li>a{font-size:.92rem!important}
}


/* v1.18.5 — desktop logo truly enlarged: remove the height cap that was shrinking it */
@media (min-width:1181px){
  .an-site-header .an-nav{
    min-height:122px!important;
    height:auto!important;
    padding-top:10px!important;
    padding-bottom:10px!important;
  }
  .an-site-header .an-brand img,
  .an-site-header .an-brand .custom-logo{
    width:430px!important;
    max-width:430px!important;
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
}
@media (min-width:981px) and (max-width:1180px){
  .an-site-header .an-nav{
    min-height:108px!important;
    height:auto!important;
  }
  .an-site-header .an-brand img,
  .an-site-header .an-brand .custom-logo{
    width:340px!important;
    max-width:340px!important;
    height:auto!important;
    max-height:none!important;
  }
}

/* v1.18.6 — navigation with small emoji on the left and text on the right */
.an-site-header nav{flex:1 1 auto;min-width:0}
.an-site-header .an-main-menu{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:12px!important;
  flex-wrap:nowrap!important;
  margin-left:auto!important;
}
.an-site-header .an-main-menu>li>a,
.an-mobile-panel .an-mobile-menu>li>a{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  white-space:nowrap!important;
}
.an-site-header .an-main-menu>li:not(.menu-item-cta)>a{
  padding:12px 16px!important;
  border:1px solid rgba(10,47,104,.08)!important;
  border-radius:22px!important;
  background:#fff!important;
  color:var(--an-blue)!important;
  box-shadow:0 10px 24px rgba(15,34,68,.06)!important;
}
.an-site-header .an-main-menu>li:not(.menu-item-cta)>a:after{display:none!important}
.an-site-header .an-main-menu>li.menu-item-cta>a{
  display:inline-flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:16px 24px!important;
  border-radius:26px!important;
  background:linear-gradient(135deg,#0953c0,#0b3b78)!important;
  color:#fff!important;
  box-shadow:0 14px 28px rgba(11,59,120,.18)!important;
}
.an-site-header .an-main-menu>li.menu-item-cta>a:after{display:none!important}
.an-site-header .an-main-menu>li>a::before,
.an-mobile-panel .an-mobile-menu>li>a::before{
  content:"";
  width:24px;
  height:24px;
  flex:0 0 24px;
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
}
.an-site-header .an-main-menu>li.menu-item-cta>a::before{width:26px;height:26px;flex-basis:26px}
.an-main-menu>li.menu-icon-school>a::before,.an-mobile-menu>li.menu-icon-school>a::before{background-image:url('assets/img/menu-icon-school.png')}
.an-main-menu>li.menu-icon-family>a::before,.an-mobile-menu>li.menu-icon-family>a::before{background-image:url('assets/img/menu-icon-family.png')}
.an-main-menu>li.menu-icon-program>a::before,.an-mobile-menu>li.menu-icon-program>a::before{background-image:url('assets/img/menu-icon-program.png')}
.an-main-menu>li.menu-icon-activities>a::before,.an-mobile-menu>li.menu-icon-activities>a::before{background-image:url('assets/img/menu-icon-activities.png')}
.an-main-menu>li.menu-icon-services>a::before,.an-mobile-menu>li.menu-icon-services>a::before{background-image:url('assets/img/menu-icon-services.png')}
.an-main-menu>li.menu-icon-contact>a::before,.an-mobile-menu>li.menu-icon-contact>a::before{background-image:url('assets/img/menu-icon-contact.png')}
.an-main-menu>li.menu-icon-visit>a::before,.an-mobile-menu>li.menu-icon-visit>a::before{background-image:url('assets/img/menu-icon-visit.png')}

@media (min-width:981px){
  .an-site-header .an-main-menu>li>a{font-size:.95rem!important;font-weight:820!important;line-height:1.1!important}
}
@media (min-width:981px) and (max-width:1400px){
  .an-site-header .an-main-menu{gap:10px!important}
  .an-site-header .an-main-menu>li:not(.menu-item-cta)>a{padding:11px 14px!important}
  .an-site-header .an-main-menu>li>a{font-size:.9rem!important}
}
@media (max-width:980px){
  .an-mobile-panel .an-mobile-menu>li>a{
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    padding:13px 0!important;
    border-bottom:1px solid #edf1f5!important;
    color:var(--an-blue)!important;
    font-weight:800!important;
  }
  .an-mobile-panel .an-mobile-menu>li.menu-item-cta>a{
    margin-top:10px!important;
    justify-content:center!important;
    background:linear-gradient(135deg,#0953c0,#0b3b78)!important;
    color:#fff!important;
    border-radius:20px!important;
    border-bottom:0!important;
    padding:15px 18px!important;
    box-shadow:0 14px 28px rgba(11,59,120,.18)!important;
  }
}


/* v1.18.7 — definitive desktop header balance: large logo, no overlap */
@media (min-width:1181px){
  .an-site-header .an-wrap.an-nav{
    width:min(1500px,calc(100% - 32px))!important;
    max-width:none!important;
    min-height:112px!important;
    height:auto!important;
    padding:10px 0!important;
    display:flex!important;
    align-items:center!important;
    gap:18px!important;
    overflow:visible!important;
  }
  .an-site-header .an-brand{
    flex:0 0 330px!important;
    width:330px!important;
    min-width:330px!important;
    max-width:330px!important;
    overflow:visible!important;
  }
  .an-site-header .an-brand>a,
  .an-site-header .an-brand>.custom-logo-link{
    width:100%!important;
    display:flex!important;
    align-items:center!important;
  }
  .an-site-header .an-brand img,
  .an-site-header .an-brand .custom-logo{
    width:330px!important;
    max-width:330px!important;
    max-height:none!important;
    height:auto!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  .an-site-header nav{
    flex:1 1 auto!important;
    min-width:0!important;
    display:flex!important;
    justify-content:flex-end!important;
  }
  .an-site-header .an-main-menu{
    width:auto!important;
    min-width:0!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    justify-content:flex-end!important;
    align-items:center!important;
    gap:7px!important;
    margin:0!important;
  }
  .an-site-header .an-main-menu>li{
    flex:0 0 auto!important;
    min-width:0!important;
  }
  .an-site-header .an-main-menu>li>a{
    min-height:46px!important;
    padding:10px 12px!important;
    gap:7px!important;
    font-size:.86rem!important;
    line-height:1!important;
    border-radius:18px!important;
  }
  .an-site-header .an-main-menu>li>a::before{
    width:21px!important;
    height:21px!important;
    flex:0 0 21px!important;
  }
  .an-site-header .an-main-menu>li.menu-item-cta>a{
    min-height:50px!important;
    padding:12px 17px!important;
    gap:8px!important;
    border-radius:22px!important;
  }
  .an-site-header .an-main-menu>li.menu-item-cta>a::before{
    width:23px!important;
    height:23px!important;
    flex-basis:23px!important;
  }
}

@media (min-width:1360px){
  .an-site-header .an-brand{
    flex-basis:360px!important;
    width:360px!important;
    min-width:360px!important;
    max-width:360px!important;
  }
  .an-site-header .an-brand img,
  .an-site-header .an-brand .custom-logo{
    width:360px!important;
    max-width:360px!important;
  }
  .an-site-header .an-main-menu{gap:8px!important}
  .an-site-header .an-main-menu>li>a{font-size:.88rem!important;padding:11px 13px!important}
}

@media (min-width:1321px) and (max-width:1500px){
  .an-site-header .an-wrap.an-nav{
    width:min(100% - 28px,1440px)!important;
    min-height:108px!important;
    height:auto!important;
    padding:10px 16px!important;
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    overflow:visible!important;
  }
  .an-site-header .an-brand{
    flex:0 0 270px!important;
    width:270px!important;
    min-width:270px!important;
    max-width:270px!important;
  }
  .an-site-header .an-brand img,
  .an-site-header .an-brand .custom-logo{
    width:270px!important;
    max-width:270px!important;
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  .an-site-header nav{
    display:flex!important;
    flex:1 1 auto!important;
    min-width:0!important;
    justify-content:flex-end!important;
  }
  .an-site-header .an-main-menu{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex-wrap:nowrap!important;
    gap:6px!important;
    margin:0!important;
    padding:0!important;
    width:auto!important;
  }
  .an-site-header .an-main-menu>li{
    flex:0 0 auto!important;
    min-width:0!important;
  }
  .an-site-header .an-main-menu>li>a{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    min-height:46px!important;
    padding:10px 11px!important;
    border-radius:18px!important;
    white-space:nowrap!important;
    font-size:.82rem!important;
    line-height:1!important;
  }
  .an-site-header .an-main-menu>li>a::before{
    width:20px!important;
    height:20px!important;
    flex:0 0 20px!important;
  }
  .an-site-header .an-main-menu>li.menu-item-cta>a{
    min-height:48px!important;
    padding:11px 14px!important;
    border-radius:20px!important;
  }
  .an-site-header .an-main-menu>li.menu-item-cta>a::before{
    width:21px!important;
    height:21px!important;
    flex-basis:21px!important;
  }
  .an-site-header .an-menu-toggle{display:none!important}
}

@media (min-width:1500px){
  .an-site-header .an-brand{
    flex-basis:390px!important;
    width:390px!important;
    min-width:390px!important;
    max-width:390px!important;
  }
  .an-site-header .an-brand img,
  .an-site-header .an-brand .custom-logo{
    width:390px!important;
    max-width:390px!important;
  }
  .an-site-header .an-main-menu{gap:10px!important}
  .an-site-header .an-main-menu>li>a{font-size:.92rem!important;padding:12px 15px!important;gap:9px!important}
  .an-site-header .an-main-menu>li>a::before{width:23px!important;height:23px!important;flex-basis:23px!important}
  .an-site-header .an-main-menu>li.menu-item-cta>a{padding:14px 21px!important}
}

/* Switch to hamburger before the icon menu becomes cramped on tablets/small laptops. */
@media (min-width:981px) and (max-width:1180px){
  .an-site-header .an-wrap.an-nav{
    width:min(100% - 32px,1240px)!important;
    min-height:104px!important;
    height:auto!important;
    padding:9px 0!important;
  }
  .an-site-header .an-brand{
    flex:1 1 auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
  }
  .an-site-header .an-brand img,
  .an-site-header .an-brand .custom-logo{
    width:320px!important;
    max-width:320px!important;
    max-height:none!important;
  }
  .an-site-header nav{display:none!important}
  .an-site-header .an-menu-toggle{display:block!important;flex:0 0 54px!important;width:54px!important;height:54px!important}
  .an-mobile-panel.is-open{display:block!important;position:fixed!important;z-index:119!important;top:104px!important;left:0!important;right:0!important}
  .admin-bar .an-mobile-panel.is-open{top:150px!important}
}


/* v1.18.8 — desktop navigation hover/focus micro-interactions */
@media (min-width:1181px){
  .an-site-header .an-main-menu>li>a{
    position:relative!important;
    transition:
      transform .22s cubic-bezier(.2,.75,.25,1),
      box-shadow .22s ease,
      background-color .22s ease,
      border-color .22s ease,
      color .22s ease!important;
    will-change:transform;
  }
  .an-site-header .an-main-menu>li>a::before{
    transition:transform .28s cubic-bezier(.2,.8,.25,1)!important;
    transform-origin:center!important;
    will-change:transform;
  }
  .an-site-header .an-main-menu>li:not(.menu-item-cta)>a:hover,
  .an-site-header .an-main-menu>li:not(.menu-item-cta)>a:focus-visible{
    transform:translateY(-3px)!important;
    background:#fffdf8!important;
    border-color:rgba(10,47,104,.18)!important;
    box-shadow:0 14px 30px rgba(15,34,68,.12)!important;
    color:#0b3b78!important;
  }
  .an-site-header .an-main-menu>li:not(.menu-item-cta)>a:hover::before,
  .an-site-header .an-main-menu>li:not(.menu-item-cta)>a:focus-visible::before{
    transform:translateY(-1px) scale(1.16) rotate(-4deg)!important;
  }
  .an-site-header .an-main-menu>li.menu-item-cta>a:hover,
  .an-site-header .an-main-menu>li.menu-item-cta>a:focus-visible{
    transform:translateY(-3px) scale(1.015)!important;
    box-shadow:0 18px 34px rgba(11,59,120,.28)!important;
    filter:brightness(1.06)!important;
  }
  .an-site-header .an-main-menu>li.menu-item-cta>a:hover::before,
  .an-site-header .an-main-menu>li.menu-item-cta>a:focus-visible::before{
    transform:scale(1.15) rotate(5deg)!important;
  }
  .an-site-header .an-main-menu>li.current-menu-item>a,
  .an-site-header .an-main-menu>li.current_page_item>a{
    border-color:rgba(10,47,104,.18)!important;
    box-shadow:0 10px 24px rgba(15,34,68,.08)!important;
  }
}

@media (prefers-reduced-motion:reduce){
  .an-site-header .an-main-menu>li>a,
  .an-site-header .an-main-menu>li>a::before{
    transition:none!important;
    transform:none!important;
  }
}


/* v1.18.9 — animated Ada Negri rainbow halo around desktop nav buttons */
@property --an-rainbow-angle {
  syntax: '<angle>';
  inherits: false;
  initial-value: 0deg;
}

@keyframes anRainbowOrbit {
  to { --an-rainbow-angle: 360deg; }
}

@keyframes anRainbowBreathe {
  0%,100% { opacity:.88; filter:blur(0); }
  50% { opacity:1; filter:blur(.25px); }
}

@media (min-width:1181px){
  .an-site-header .an-main-menu>li{
    position:relative!important;
    isolation:isolate!important;
    border-radius:24px!important;
  }
  .an-site-header .an-main-menu>li.menu-item-cta{
    border-radius:28px!important;
  }
  .an-site-header .an-main-menu>li::after{
    content:""!important;
    position:absolute!important;
    z-index:-1!important;
    pointer-events:none!important;
    inset:-3px!important;
    padding:2.5px!important;
    border-radius:26px!important;
    background:conic-gradient(
      from var(--an-rainbow-angle),
      #ef3340 0deg,
      #ff7a00 48deg,
      #ffd21c 96deg,
      #43c64b 144deg,
      #14a5e5 198deg,
      #4e63d8 246deg,
      #8f44cf 294deg,
      #ef3340 360deg
    )!important;
    -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0)!important;
    -webkit-mask-composite:xor!important;
    mask-composite:exclude!important;
    opacity:0!important;
    transform:scale(.97)!important;
    transition:opacity .2s ease,transform .24s cubic-bezier(.2,.8,.25,1)!important;
  }
  .an-site-header .an-main-menu>li.menu-item-cta::after{
    inset:-4px!important;
    padding:3px!important;
    border-radius:31px!important;
  }
  .an-site-header .an-main-menu>li:hover::after,
  .an-site-header .an-main-menu>li:focus-within::after{
    opacity:1!important;
    transform:scale(1)!important;
    animation:anRainbowOrbit 1.7s linear infinite,anRainbowBreathe 1.15s ease-in-out infinite!important;
  }
  .an-site-header .an-main-menu>li:hover>a,
  .an-site-header .an-main-menu>li:focus-within>a{
    border-color:transparent!important;
  }
  .an-site-header .an-main-menu>li:hover{
    filter:drop-shadow(0 7px 9px rgba(39,103,196,.12))!important;
  }
  .an-site-header .an-main-menu>li.menu-item-cta:hover,
  .an-site-header .an-main-menu>li.menu-item-cta:focus-within{
    filter:drop-shadow(0 9px 12px rgba(46,89,184,.22))!important;
  }
}

@media (prefers-reduced-motion:reduce){
  .an-site-header .an-main-menu>li::after{
    animation:none!important;
  }
}

/* =========================================================
   ADA NEGRI 1.19.0 — FINAL ICON NAV LAYOUT
   Small Ada Negri icon on the left, label on the right.
   ========================================================= */
@media (min-width:1501px){
  .an-site-header .an-wrap.an-nav{
    width:min(1640px,calc(100% - 34px))!important;
    max-width:none!important;
    min-height:112px!important;
    height:auto!important;
    padding:10px 0!important;
    display:flex!important;
    align-items:center!important;
    gap:18px!important;
    overflow:visible!important;
  }
  .an-site-header .an-brand{
    flex:0 0 340px!important;
    width:340px!important;
    min-width:340px!important;
    max-width:340px!important;
    overflow:visible!important;
  }
  .an-site-header .an-brand>a,
  .an-site-header .an-brand>.custom-logo-link{
    display:flex!important;
    align-items:center!important;
    width:100%!important;
  }
  .an-site-header .an-brand img,
  .an-site-header .an-brand .custom-logo{
    display:block!important;
    width:340px!important;
    max-width:340px!important;
    max-height:none!important;
    height:auto!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  .an-site-header nav{
    display:flex!important;
    flex:1 1 auto!important;
    min-width:0!important;
    justify-content:flex-end!important;
  }
  .an-site-header .an-main-menu{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    flex-wrap:nowrap!important;
    gap:8px!important;
    margin:0!important;
    padding:0!important;
    width:auto!important;
  }
  .an-site-header .an-main-menu>li{
    flex:0 0 auto!important;
    min-width:0!important;
  }
  .an-site-header .an-main-menu>li>a{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    min-height:50px!important;
    padding:11px 14px!important;
    border-radius:20px!important;
    white-space:nowrap!important;
    font-size:.88rem!important;
    font-weight:820!important;
    line-height:1!important;
  }
  .an-site-header .an-main-menu>li:not(.menu-item-cta)>a{
    background:#fff!important;
    color:var(--an-blue)!important;
    border:1px solid rgba(11,59,120,.09)!important;
    box-shadow:0 8px 20px rgba(15,34,68,.055)!important;
  }
  .an-site-header .an-main-menu>li>a::before{
    content:""!important;
    display:block!important;
    width:23px!important;
    height:23px!important;
    flex:0 0 23px!important;
    background-position:center!important;
    background-repeat:no-repeat!important;
    background-size:contain!important;
  }
  .an-site-header .an-main-menu>li.menu-item-cta>a{
    min-height:52px!important;
    padding:12px 19px!important;
    gap:9px!important;
    border-radius:23px!important;
    background:linear-gradient(135deg,#0a55bd,#0b3b78)!important;
    color:#fff!important;
    box-shadow:0 12px 26px rgba(11,59,120,.18)!important;
  }
  .an-site-header .an-main-menu>li.menu-item-cta>a::before{
    width:25px!important;
    height:25px!important;
    flex-basis:25px!important;
  }
  .an-site-header .an-menu-toggle{display:none!important}
}

@media (min-width:1500px){
  .an-site-header .an-brand{
    flex-basis:390px!important;
    width:390px!important;
    min-width:390px!important;
    max-width:390px!important;
  }
  .an-site-header .an-brand img,
  .an-site-header .an-brand .custom-logo{
    width:390px!important;
    max-width:390px!important;
  }
  .an-site-header .an-main-menu{gap:10px!important}
  .an-site-header .an-main-menu>li>a{
    min-height:52px!important;
    padding:12px 16px!important;
    gap:9px!important;
    font-size:.92rem!important;
  }
  .an-site-header .an-main-menu>li>a::before{
    width:25px!important;
    height:25px!important;
    flex-basis:25px!important;
  }
  .an-site-header .an-main-menu>li.menu-item-cta>a{
    padding:13px 22px!important;
  }
}

/* Collapse before the logo and icon buttons can ever overlap. */
@media (min-width:981px) and (max-width:1320px){
  .an-site-header .an-wrap.an-nav{
    width:min(100% - 34px,1280px)!important;
    min-height:104px!important;
    height:auto!important;
    padding:9px 0!important;
    display:flex!important;
    align-items:center!important;
    gap:14px!important;
  }
  .an-site-header .an-brand{
    flex:1 1 auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
  }
  .an-site-header .an-brand img,
  .an-site-header .an-brand .custom-logo{
    width:330px!important;
    max-width:330px!important;
    max-height:none!important;
    height:auto!important;
  }
  .an-site-header .an-nav>nav{display:none!important}
  .an-site-header .an-menu-toggle{
    display:block!important;
    flex:0 0 54px!important;
    width:54px!important;
    height:54px!important;
    margin-left:auto!important;
  }
  .an-mobile-panel.is-open{
    display:block!important;
    position:fixed!important;
    z-index:119!important;
    top:104px!important;
    left:0!important;
    right:0!important;
    max-height:calc(100vh - 104px)!important;
    overflow-y:auto!important;
    background:#fffdf9!important;
    padding:18px 24px 26px!important;
    border-bottom:1px solid var(--an-line)!important;
    box-shadow:0 20px 40px rgba(15,34,68,.12)!important;
  }
  .admin-bar .an-mobile-panel.is-open{top:150px!important}
  .an-mobile-panel .an-mobile-menu{
    display:block!important;
    list-style:none!important;
    margin:0!important;
    padding:0!important;
  }
  .an-mobile-panel .an-mobile-menu>li>a{
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    min-height:54px!important;
    padding:12px 2px!important;
    border-bottom:1px solid #edf1f5!important;
    color:var(--an-blue)!important;
    font-weight:800!important;
  }
  .an-mobile-panel .an-mobile-menu>li>a::before{
    content:""!important;
    width:28px!important;
    height:28px!important;
    flex:0 0 28px!important;
    background-size:contain!important;
    background-position:center!important;
    background-repeat:no-repeat!important;
  }
}

/* Keep the same icon-left / text-right language in the mobile drawer. */
@media (max-width:980px){
  .an-mobile-panel .an-mobile-menu>li>a{
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
  }
  .an-mobile-panel .an-mobile-menu>li>a::before{
    width:27px!important;
    height:27px!important;
    flex:0 0 27px!important;
    background-size:contain!important;
    background-position:center!important;
    background-repeat:no-repeat!important;
  }
}

/* =========================================================
   ADA NEGRI 1.19.1 — MOBILE MENU STABILITY HOTFIX
   Fixes iOS drawer offset, background scroll and dead links.
   ========================================================= */
@media (max-width:1320px){
  html.an-menu-lock,
  html.an-menu-lock body{
    overflow:hidden!important;
    overscroll-behavior:none!important;
  }
  body.an-menu-open{
    overflow:hidden!important;
    overscroll-behavior:none!important;
    touch-action:none!important;
  }
  body.an-menu-open .an-mobile-panel{
    touch-action:pan-y!important;
  }
  .an-mobile-panel{
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .an-mobile-panel.is-open{
    pointer-events:auto!important;
  }
  .an-mobile-panel.is-open a{
    pointer-events:auto!important;
    position:relative!important;
    z-index:3!important;
  }
}

/* Phones: the header is taller because the logo fills the white band. */
@media (max-width:700px){
  :root{--an-mobile-drawer-top:116px}
  body.admin-bar{--an-mobile-drawer-top:162px}
  body .an-mobile-panel,
  body .an-mobile-panel.is-open{
    position:fixed!important;
    top:var(--an-mobile-drawer-top)!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    height:auto!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding:0!important;
    margin:0!important;
    background:#fffdf9!important;
    box-shadow:none!important;
    z-index:120!important;
  }
  body .an-mobile-inner{
    min-height:100%!important;
    padding:14px 20px 28px!important;
  }
  body .an-mobile-panel .an-mobile-menu>li>a{
    min-height:58px!important;
    padding:13px 2px!important;
    position:relative!important;
    z-index:4!important;
  }
  body .an-mobile-panel .an-mobile-cta{
    position:relative!important;
    z-index:4!important;
  }
}
@media (max-width:430px){
  :root{--an-mobile-drawer-top:112px}
  body.admin-bar{--an-mobile-drawer-top:158px}
}
@media (max-width:360px){
  :root{--an-mobile-drawer-top:104px}
  body.admin-bar{--an-mobile-drawer-top:150px}
}

/* Tablets / compact desktop drawer. */
@media (min-width:701px) and (max-width:1320px){
  :root{--an-mobile-drawer-top:104px}
  body.admin-bar{--an-mobile-drawer-top:150px}
  body .an-mobile-panel,
  body .an-mobile-panel.is-open{
    position:fixed!important;
    top:var(--an-mobile-drawer-top)!important;
    right:0!important;
    bottom:0!important;
    left:0!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    z-index:120!important;
  }
}


/* =========================================================
   ADA NEGRI 1.19.2 — APPROVED LORENZO BANNERS / FULL UI HEROES
   All page banners now use the approved Lorenzo artwork supplied by the client.
   ========================================================= */
@media (min-width:1101px){
  .an-art-hero{
    padding:22px 0 30px!important;
    background:#f6f8fb!important;
  }
  .an-art-hero>.an-wrap{
    width:min(calc(100% - 36px),1600px)!important;
    max-width:none!important;
  }
  .an-art-hero-card{
    height:clamp(620px,50vw,780px)!important;
    min-height:0!important;
    border-radius:34px!important;
    box-shadow:0 24px 64px rgba(14,43,83,.15)!important;
  }
  .an-art-hero-media,
  .an-art-hero-media picture,
  .an-art-hero-media img{
    width:100%!important;
    height:100%!important;
  }
  .an-art-hero-media img{
    object-fit:cover!important;
    object-position:center center!important;
  }
  .an-art-hero-copy{
    width:min(46%,670px)!important;
    min-height:100%!important;
    padding:72px 68px!important;
    justify-content:center!important;
  }
  .an-art-hero-copy h1{
    font-size:clamp(3.35rem,4.9vw,5.8rem)!important;
  }
}
@media (min-width:701px) and (max-width:1100px){
  .an-art-hero>.an-wrap{width:min(calc(100% - 30px),1040px)!important}
  .an-art-hero-card{min-height:540px!important;border-radius:30px!important}
  .an-art-hero-copy{min-height:540px!important}
}
@media (max-width:700px){
  .an-art-hero{padding:14px 0 24px!important}
  .an-art-hero>.an-wrap{width:calc(100% - 24px)!important}
  .an-art-hero-card{border-radius:24px!important;overflow:hidden!important}
  .an-art-hero-media{aspect-ratio:4/3!important}
  .an-art-hero-media img{object-fit:cover!important;object-position:center!important}
  .an-art-hero-copy{padding:26px 22px 24px!important}
}

/* Home: keep the new approved outdoor Lorenzo artwork truly full-bleed on desktop. */
@media (min-width:1101px){
  .an-home-clean-hero,.an-home-clean-grid{min-height:720px!important}
  .an-home-clean-media img{object-fit:cover!important;object-position:center center!important}
}


/* v1.19.3 — Home hero copy offset from left edge */
@media (min-width:1101px){
  .an-home-clean-copy{
    padding-left:28px!important;
    width:min(47%,638px)!important;
    max-width:638px!important;
  }
}
@media (min-width:1101px) and (max-width:1280px){
  .an-home-clean-copy{
    padding-left:24px!important;
    width:calc(48% - 8px)!important;
    max-width:584px!important;
  }
}
@media (min-width:701px) and (max-width:1100px){
  .an-home-clean-copy{
    padding-left:8px!important;
  }
}

/* =========================================================
   ADA NEGRI 1.19.6 — SICUREZZA / ORGANIGRAMMA
   ========================================================= */
.an-safety-section{background:#fffaf3}
.an-safety-layout{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:34px;align-items:center}
.an-safety-copy{background:#fff;border:1px solid var(--an-line);border-radius:28px;padding:32px;box-shadow:var(--an-shadow-soft)}
.an-safety-copy h3{font-family:var(--an-display);font-size:clamp(1.55rem,2.4vw,2.2rem);line-height:1.05;letter-spacing:-.035em;color:var(--an-blue);margin:16px 0 12px}
.an-safety-copy p{color:#526278;margin:0 0 14px}
.an-safety-copy .an-btn{margin-top:8px}
.an-safety-date{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#eaf4ff;color:var(--an-blue);font-size:.78rem;font-weight:800}
.an-safety-date:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--an-green);box-shadow:0 0 0 4px rgba(22,138,72,.12)}
.an-safety-note{font-size:.9rem!important;color:var(--an-muted)!important}
.an-safety-document{margin:0;background:#fff;border:1px solid var(--an-line);border-radius:30px;padding:16px;box-shadow:var(--an-shadow);overflow:hidden}
.an-safety-document a{display:block;border-radius:20px;overflow:hidden;background:#eef2f7}
.an-safety-document img{display:block;width:100%;height:auto;max-height:850px;object-fit:contain;margin:0 auto;transition:transform .25s ease}
.an-safety-document a:hover img{transform:scale(1.012)}
.an-safety-document figcaption{padding:12px 4px 2px;color:var(--an-muted);font-size:.82rem;text-align:center}
@media(max-width:900px){.an-safety-layout{grid-template-columns:1fr;gap:22px}.an-safety-copy{padding:26px}.an-safety-document{padding:12px;border-radius:24px}.an-safety-document a{border-radius:16px}}
@media(max-width:700px){.an-safety-copy{padding:22px;border-radius:22px}.an-safety-copy .an-btn{width:100%}.an-safety-document{margin-inline:-4px}.an-safety-document img{max-height:none}}


/* =========================================================
   ADA NEGRI 1.20.1 — ORGANIGRAMMA IN CHI SIAMO + MENÙ IN EVIDENZA
   ========================================================= */
.an-inline-link{display:inline-flex;margin-top:11px;font-weight:850;color:var(--an-blue);font-size:.9rem}.an-inline-link:hover{text-decoration:underline;text-underline-offset:3px}

.an-safety-native-section{background:linear-gradient(180deg,#f7fbff 0%,#fffdf9 100%)}
.an-safety-native-shell{position:relative;overflow:hidden;background:#fff;border:1px solid #dfe9f5;border-radius:38px;padding:42px;box-shadow:0 22px 60px rgba(8,47,104,.10)}
.an-safety-native-shell:before,.an-safety-native-shell:after{content:"";position:absolute;border-radius:50%;pointer-events:none;opacity:.16}
.an-safety-native-shell:before{width:240px;height:240px;background:#48b5ff;left:-120px;top:-125px}
.an-safety-native-shell:after{width:260px;height:260px;background:#ffd44a;right:-150px;top:-145px}
.an-safety-native-head{position:relative;z-index:1;text-align:center;max-width:800px;margin:0 auto 34px}
.an-safety-native-logo{width:min(360px,70vw);height:auto;margin:0 auto 22px}
.an-safety-native-head h2{font-family:var(--an-display);font-size:clamp(2rem,4vw,3.65rem);line-height:1.02;letter-spacing:-.045em;color:var(--an-blue);margin:8px 0 8px}
.an-safety-native-head p{margin:0;color:#47627f;font-weight:800}
.an-safety-tree{position:relative;z-index:1;max-width:1080px;margin:0 auto;padding-top:4px}
.an-safety-role,.an-safety-task{--accent:#168a48;position:relative;background:#fff;border:1px solid color-mix(in srgb,var(--accent) 38%,#dfe5ed);box-shadow:0 12px 30px rgba(8,47,104,.08)}
.an-safety-role.accent-coral,.an-safety-task.accent-coral{--accent:var(--an-coral)}
.an-safety-role.accent-green,.an-safety-task.accent-green{--accent:var(--an-green)}
.an-safety-role.accent-aqua,.an-safety-task.accent-aqua{--accent:#1699d5}
.an-safety-role.accent-violet,.an-safety-task.accent-violet{--accent:var(--an-violet)}
.an-safety-role.accent-yellow,.an-safety-task.accent-yellow{--accent:#e5a411}
.an-safety-role{display:flex;align-items:center;gap:16px;border-radius:24px;padding:18px 20px;border-top:5px solid var(--accent)}
.an-safety-role-icon{display:grid;place-items:center;flex:0 0 54px;width:54px;height:54px;border-radius:18px;background:color-mix(in srgb,var(--accent) 10%,white);font-size:1.85rem}
.an-safety-role-kicker{display:block;font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;font-weight:900;color:var(--accent);margin-bottom:3px}
.an-safety-role strong{display:block;font-family:var(--an-display);font-size:1.02rem;color:var(--an-blue);line-height:1.2}
.an-safety-role-lead{max-width:480px;margin:0 auto;padding:20px 24px}
.an-safety-role-lead:after{content:"";position:absolute;left:50%;bottom:-27px;width:3px;height:27px;background:#8db9df;transform:translateX(-50%)}
.an-safety-collab{position:relative;text-align:center;margin:25px 0 15px}
.an-safety-collab:before{content:"";position:absolute;left:10%;right:10%;top:50%;height:2px;background:#c9dceb}
.an-safety-collab span{position:relative;z-index:1;display:inline-block;padding:5px 13px;border-radius:999px;background:#edf6ff;color:var(--an-blue);font-size:.78rem;font-weight:850}
.an-safety-core-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:26px}
.an-safety-core-grid:after{content:"";position:absolute;left:50%;margin-top:89px;width:3px;height:30px;background:#8db9df;transform:translateX(-50%)}
.an-safety-ops-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px}
.an-safety-ops-grid:before{content:"";position:absolute;left:12.5%;right:12.5%;top:-18px;height:2px;background:#8db9df}
.an-safety-task{border-radius:24px;padding:22px 20px 20px;border-top:5px solid var(--accent);min-height:272px}
.an-safety-task-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:color-mix(in srgb,var(--accent) 10%,white);font-size:1.9rem;margin-bottom:14px}
.an-safety-task h3{font-family:var(--an-display);font-size:1rem;line-height:1.18;color:var(--an-blue);margin:0 0 8px}
.an-safety-task strong{display:block;color:#243c5d;font-size:.9rem;line-height:1.35;margin-bottom:12px}
.an-safety-task p{font-size:.84rem;line-height:1.52;color:#5c6878;margin:0}
.an-safety-task-bottom{max-width:520px;min-height:0;margin:30px auto 0;padding:22px 24px;text-align:center}
.an-safety-task-bottom .an-safety-task-icon{margin:0 auto 12px}
.an-safety-task-bottom:before{content:"";position:absolute;left:50%;top:-31px;width:3px;height:31px;background:#8db9df;transform:translateX(-50%)}

.an-winter-menu-section{background:#eef7ff}
.an-winter-menu-shell{background:#fff;border:1px solid #dbe8f4;border-radius:38px;padding:42px;box-shadow:0 22px 60px rgba(8,47,104,.10)}
.an-winter-menu-head{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:28px}
.an-winter-menu-title-wrap{display:flex;align-items:center;gap:18px}
.an-winter-menu-emoji{display:grid;place-items:center;width:76px;height:76px;border-radius:24px;background:#fff6d7;font-size:2.5rem;box-shadow:inset 0 0 0 1px #f7df8d}
.an-winter-menu-head h2{font-family:var(--an-display);font-size:clamp(2.3rem,4vw,3.9rem);line-height:1;letter-spacing:-.045em;color:var(--an-blue);margin:6px 0 0}
.an-winter-menu-head>p{max-width:520px;color:#53657b;margin:0}
.an-winter-days{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;align-items:stretch}
.an-winter-day{--day:#168a48;background:#fff;border:1px solid #e1e8ef;border-radius:26px;overflow:hidden;box-shadow:0 10px 25px rgba(8,47,104,.06)}
.an-winter-day.day-mon{--day:#ed4d58}.an-winter-day.day-tue{--day:#168a48}.an-winter-day.day-wed{--day:#ef8d22}.an-winter-day.day-thu{--day:#176fc5}.an-winter-day.day-fri{--day:#7446a7}
.an-winter-day-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 16px;background:color-mix(in srgb,var(--day) 10%,white);border-bottom:1px solid color-mix(in srgb,var(--day) 22%,#e1e8ef)}
.an-winter-day-head span{font-family:var(--an-display);font-size:1rem;font-weight:850;color:var(--day)}
.an-winter-day-head b{font-size:1.25rem;font-weight:400}
.an-winter-day ul{list-style:none;padding:12px 15px 16px;margin:0;display:grid;gap:10px}
.an-winter-day li{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:start;padding-bottom:10px;border-bottom:1px dashed #dce4ed}
.an-winter-day li:last-child{border-bottom:0;padding-bottom:0}
.an-winter-day li>span{font-size:1.15rem;line-height:1.2}
.an-winter-day small{display:block;color:#7a8797;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}
.an-winter-day strong{display:block;color:#24374f;font-size:.81rem;line-height:1.35}
.an-winter-notes{display:grid;grid-template-columns:.75fr 1.25fr;gap:16px;margin-top:20px}
.an-winter-fruit,.an-winter-note{border-radius:24px;padding:20px 22px;border:1px solid #dce7f1;background:#fbfdff}
.an-winter-fruit{display:flex;align-items:center;gap:18px;background:#fffaf0;border-color:#f4e4b5}
.an-winter-fruit>span{font-size:2rem;white-space:nowrap}
.an-winter-fruit strong,.an-winter-note strong{display:block;font-family:var(--an-display);color:var(--an-blue);margin-bottom:4px}
.an-winter-fruit p,.an-winter-note p{margin:0;color:#5a6878;font-size:.88rem;line-height:1.5}

@media(max-width:1080px){
  .an-safety-native-shell,.an-winter-menu-shell{padding:32px}
  .an-safety-ops-grid{grid-template-columns:repeat(2,1fr)}
  .an-safety-ops-grid:before{display:none}
  .an-safety-task-bottom:before{display:none}
  .an-winter-days{grid-template-columns:repeat(2,1fr)}
  .an-winter-day:last-child{grid-column:1/-1}
}
@media(max-width:760px){
  .an-safety-native-shell,.an-winter-menu-shell{padding:22px;border-radius:28px}
  .an-safety-native-head{margin-bottom:24px}
  .an-safety-native-logo{width:min(290px,82vw)}
  .an-safety-role-lead{max-width:none}
  .an-safety-role-lead:after,.an-safety-core-grid:after,.an-safety-collab:before{display:none}
  .an-safety-collab{margin:14px 0}
  .an-safety-core-grid,.an-safety-ops-grid{grid-template-columns:1fr;gap:12px;margin-bottom:16px}
  .an-safety-task{min-height:0}
  .an-safety-task-bottom{max-width:none;margin-top:12px;text-align:left}
  .an-safety-task-bottom .an-safety-task-icon{margin:0 0 14px}
  .an-winter-menu-head{display:block;margin-bottom:22px}
  .an-winter-menu-title-wrap{align-items:flex-start}
  .an-winter-menu-head>p{margin-top:14px}
  .an-winter-days,.an-winter-notes{grid-template-columns:1fr}
  .an-winter-day:last-child{grid-column:auto}
}
@media(max-width:480px){
  .an-safety-native-shell,.an-winter-menu-shell{padding:18px}
  .an-safety-role{padding:16px;gap:12px;border-radius:20px}
  .an-safety-role-icon{width:48px;height:48px;flex-basis:48px;border-radius:15px}
  .an-safety-task{padding:18px;border-radius:20px}
  .an-winter-menu-title-wrap{gap:12px}
  .an-winter-menu-emoji{width:60px;height:60px;border-radius:18px;font-size:2rem}
  .an-winter-fruit{align-items:flex-start;gap:12px}
  .an-winter-fruit>span{font-size:1.5rem}
}


/* --- v1.20.1: richiami menù + organigramma riutilizzabile --- */
#menu-invernale,#sicurezza{scroll-margin-top:130px}
.an-quick-item-link{position:relative;display:block;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.an-quick-item-link em{display:inline-block;margin-top:8px;font-style:normal;font-size:.78rem;font-weight:900;color:var(--an-blue)}
.an-quick-item-link:hover{background:#f7fbff;transform:translateY(-2px);box-shadow:inset 0 -3px 0 #48b5ff}
.an-quick-item-link:focus-visible,.an-feature-clickable:focus-visible,.an-menu-spotlight:focus-visible{outline:3px solid #48b5ff;outline-offset:4px}
.an-feature-clickable{display:block;color:inherit;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}
.an-feature-clickable:hover{transform:translateY(-5px);box-shadow:0 20px 42px rgba(8,47,104,.13);border-color:color-mix(in srgb,var(--accent) 55%,#fff)}
.an-feature-cta{display:inline-flex;margin-top:18px;font-size:.86rem;font-weight:900;color:var(--an-blue)}
.an-menu-spotlight-section{padding:8px 0 22px;background:linear-gradient(180deg,#fffdf9 0%,#fff8e8 100%)}
.an-menu-spotlight{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;padding:24px 28px;border-radius:28px;background:linear-gradient(135deg,#fff8dc,#ffffff 58%,#eef8ff);border:1px solid #efd98a;box-shadow:0 16px 38px rgba(8,47,104,.09);transition:transform .22s ease,box-shadow .22s ease}
.an-menu-spotlight:hover{transform:translateY(-3px);box-shadow:0 22px 48px rgba(8,47,104,.13)}
.an-menu-spotlight-icon{display:grid;place-items:center;width:72px;height:72px;border-radius:22px;background:#fff;border:1px solid #f3df9b;font-size:2.25rem}
.an-menu-spotlight-copy{display:block}
.an-menu-spotlight-copy small{display:block;color:var(--an-green);font-size:.76rem;font-weight:900;text-transform:uppercase;letter-spacing:.11em;margin-bottom:3px}
.an-menu-spotlight-copy strong{display:block;font-family:var(--an-display);color:var(--an-blue);font-size:clamp(1.45rem,2.6vw,2.15rem);line-height:1.1}
.an-menu-spotlight-copy span{display:block;color:#56677b;margin-top:5px;font-size:.92rem}
.an-menu-spotlight-arrow{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--an-blue);color:#fff;font-size:1.35rem;font-weight:900}
.an-winter-menu-section{position:relative}
.an-winter-menu-section:before{content:"MENÙ DELLA SETTIMANA";position:absolute;top:18px;left:50%;transform:translateX(-50%);z-index:2;padding:7px 13px;border-radius:999px;background:var(--an-blue);color:#fff;font-size:.7rem;font-weight:900;letter-spacing:.1em;box-shadow:0 8px 20px rgba(8,47,104,.15)}
.an-winter-menu-shell{border:2px solid #cfe3f6}
@media(max-width:700px){
  #menu-invernale,#sicurezza{scroll-margin-top:95px}
  .an-menu-spotlight-section{padding:4px 0 12px}
  .an-menu-spotlight{grid-template-columns:auto 1fr;gap:14px;padding:18px;border-radius:22px}
  .an-menu-spotlight-icon{width:58px;height:58px;border-radius:18px;font-size:1.8rem}
  .an-menu-spotlight-arrow{display:none}
  .an-menu-spotlight-copy span{font-size:.84rem}
  .an-winter-menu-section:before{top:10px;font-size:.62rem}
}


/* --- v1.20.2: fix richiamo menù nella quick card su mobile --- */
.an-quick-item-link{
  cursor:pointer;
}
.an-quick-item-link::after{
  content:"→";
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:999px;
  background:#eef6ff;
  color:var(--an-blue);
  font-size:1rem;
  font-weight:900;
  line-height:1;
  z-index:3;
  transition:transform .2s ease,background .2s ease,color .2s ease;
}
.an-quick-item-link:hover::after{
  transform:translateY(-50%) translateX(2px);
  background:var(--an-blue);
  color:#fff;
}
@media(max-width:700px){
  .an-quick-item-link{
    display:block!important;
    padding-right:54px!important;
  }
  .an-quick-item-link em{
    display:none!important;
  }
  .an-quick-item-link::after{
    right:14px;
    width:32px;
    height:32px;
  }
}


/* --- v1.20.3: sezione Avvisi / comunicazioni alle famiglie --- */
.an-main-menu>li.menu-icon-notices>a::before,
.an-mobile-menu>li.menu-icon-notices>a::before{
  content:"📣"!important;
  background:none!important;
  display:grid!important;
  place-items:center!important;
  font-size:1.15rem!important;
  line-height:1!important;
}

.an-notices-hero{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg,#0b3b78 0%,#0c559b 58%,#1487c7 100%);
  color:#fff;
  padding:72px 0 66px;
}
.an-notices-hero:before{
  content:"";
  position:absolute;
  width:320px;height:320px;border-radius:50%;
  right:-90px;top:-130px;
  background:rgba(244,186,34,.94);
}
.an-notices-hero:after{
  content:"";
  position:absolute;
  width:160px;height:160px;border-radius:50%;
  right:210px;bottom:-105px;
  background:rgba(237,77,88,.75);
}
.an-notices-hero-inner{
  position:relative;z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:40px;
}
.an-notices-hero .an-eyebrow{color:#c9f2dc}
.an-notices-hero h1{
  font-family:var(--an-display);
  font-size:clamp(3.3rem,7vw,6rem);
  line-height:.95;
  letter-spacing:-.055em;
  margin:8px 0 20px;
}
.an-notices-hero p{
  max-width:720px;
  font-size:1.08rem;
  line-height:1.65;
  margin:0;
  color:#eaf3ff;
}
.an-notices-hero-icon{
  display:grid;place-items:center;
  width:154px;height:154px;
  border-radius:42px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.28);
  box-shadow:0 24px 60px rgba(0,0,0,.15);
  backdrop-filter:blur(8px);
  font-size:4.8rem;
  transform:rotate(4deg);
}

.an-notices-archive{background:#f8fbff}
.an-notices-list{display:grid;gap:18px;max-width:1050px;margin:0 auto}
.an-notice-card{
  background:#fff;
  border:1px solid #dce8f3;
  border-radius:28px;
  box-shadow:0 12px 34px rgba(8,47,104,.07);
  overflow:hidden;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.an-notice-card:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 48px rgba(8,47,104,.12);
  border-color:#bcd8ee;
}
.an-notice-card-link{
  display:grid;
  grid-template-columns:92px minmax(0,1fr) 48px;
  gap:22px;
  align-items:center;
  padding:24px 26px;
}
.an-notice-date{
  display:grid;place-items:center;
  min-height:92px;
  border-radius:22px;
  background:linear-gradient(160deg,#edf7ff,#fff8dd);
  border:1px solid #dce9f3;
  text-align:center;
  color:var(--an-blue);
}
.an-notice-date span{
  font-family:var(--an-display);
  font-size:2.2rem;
  line-height:.95;
  font-weight:850;
}
.an-notice-date small{
  display:block;
  margin-top:6px;
  font-size:.73rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.07em;
  color:#60748b;
}
.an-notice-card-meta{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  margin-bottom:7px;
}
.an-notice-card-meta span,
.an-notice-card-meta b{
  display:inline-flex;
  padding:5px 9px;
  border-radius:999px;
  font-size:.68rem;
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.055em;
}
.an-notice-card-meta span{background:#edf6ff;color:#0a5fa7}
.an-notice-card-meta b{background:#fff1d6;color:#9b6500}
.an-notice-card h2{
  font-family:var(--an-display);
  color:var(--an-blue);
  font-size:clamp(1.35rem,2.7vw,2rem);
  line-height:1.12;
  letter-spacing:-.025em;
  margin:0 0 8px;
}
.an-notice-card p{
  color:#5b6b7e;
  margin:0;
  line-height:1.55;
  font-size:.95rem;
}
.an-notice-card-arrow{
  display:grid;place-items:center;
  width:44px;height:44px;
  border-radius:50%;
  background:var(--an-blue);
  color:#fff;
  font-weight:900;
  font-size:1.15rem;
  transition:transform .2s ease,background .2s ease;
}
.an-notice-card:hover .an-notice-card-arrow{
  transform:translateX(3px);
  background:#0e67b4;
}
.an-empty-notices{
  max-width:720px;margin:0 auto;
  text-align:center;
  background:#fff;border:1px solid #dfe9f2;border-radius:30px;
  padding:58px 28px;
}
.an-empty-notices>span{font-size:3rem}
.an-empty-notices h2{font-family:var(--an-display);color:var(--an-blue);margin:12px 0 6px}
.an-empty-notices p{margin:0;color:#637287}

/* Homepage: latest parent communication */
.an-home-notice-band{
  padding:22px 0 26px;
  background:linear-gradient(180deg,#fff 0%,#f4f9ff 100%);
}
.an-home-notice-card{
  position:relative;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  padding:21px 24px;
  border-radius:28px;
  background:linear-gradient(135deg,#eef8ff 0%,#fff 56%,#fff8de 100%);
  border:1px solid #cfe2f2;
  box-shadow:0 14px 36px rgba(8,47,104,.08);
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.an-home-notice-card:hover{
  transform:translateY(-3px);
  box-shadow:0 21px 48px rgba(8,47,104,.13);
  border-color:#9fc9e9;
}
.an-home-notice-icon{
  display:grid;place-items:center;
  width:62px;height:62px;
  border-radius:20px;
  background:#fff;
  border:1px solid #dbe8f3;
  font-size:2rem;
}
.an-home-notice-copy small{
  display:block;
  color:#168a48;
  font-weight:900;
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.07em;
  margin-bottom:4px;
}
.an-home-notice-copy strong{
  display:block;
  font-family:var(--an-display);
  color:var(--an-blue);
  font-size:clamp(1.15rem,2.2vw,1.65rem);
  line-height:1.15;
}
.an-home-notice-copy>span{
  display:block;
  color:#5f6e7e;
  margin-top:5px;
  font-size:.88rem;
  line-height:1.45;
}
.an-home-notice-action{
  display:inline-flex;align-items:center;gap:7px;
  white-space:nowrap;
  font-weight:900;
  color:var(--an-blue);
  font-size:.88rem;
}
.an-home-notice-action b{
  display:grid;place-items:center;
  width:32px;height:32px;border-radius:50%;
  background:var(--an-blue);color:#fff;
}
.an-home-notice-all{text-align:right;margin-top:9px}
.an-home-notice-all a{
  color:var(--an-blue);
  font-weight:850;
  font-size:.82rem;
  text-decoration:underline;
  text-underline-offset:3px;
}

/* Single notice */
.an-notice-single-hero{
  background:linear-gradient(180deg,#f1f8ff,#fff);
  border-bottom:1px solid #dce8f3;
  padding:58px 0 48px;
}
.an-notice-single-head{max-width:960px}
.an-notice-back{
  display:inline-flex;
  color:#42607f;
  font-size:.86rem;
  font-weight:850;
  margin-bottom:28px;
}
.an-notice-single-meta{
  display:flex;align-items:center;gap:9px;flex-wrap:wrap;
  margin-bottom:13px;
}
.an-notice-single-meta span,
.an-notice-single-meta b,
.an-notice-single-meta time{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  font-size:.7rem;
  font-weight:900;
}
.an-notice-single-meta span{background:#e9f5ff;color:#0d5f9d}
.an-notice-single-meta b{background:#fff0c9;color:#8c6100}
.an-notice-single-meta time{background:#eef7ef;color:#177043}
.an-notice-single-head h1{
  font-family:var(--an-display);
  color:var(--an-blue);
  font-size:clamp(2.7rem,6vw,5.2rem);
  line-height:.98;
  letter-spacing:-.055em;
  margin:0 0 18px;
  max-width:900px;
}
.an-notice-single-head>p{
  color:#5e6e7f;
  font-size:1.06rem;
  line-height:1.62;
  margin:0;
  max-width:800px;
}
.an-notice-single-section{background:#f8fbff}
.an-notice-single-card{
  max-width:960px;
  margin:0 auto;
  background:#fff;
  border:1px solid #dce8f2;
  border-radius:34px;
  box-shadow:0 20px 54px rgba(8,47,104,.09);
  overflow:hidden;
}
.an-notice-single-content{
  padding:42px 44px;
}
.an-notice-single-content h2{
  margin:0 0 8px;
  font-size:1.35rem;
}
.an-notice-intro{
  margin:-4px 0 28px;
  padding:18px 20px;
  border-radius:20px;
  background:#edf7ff;
  border-left:5px solid #168bd2;
}
.an-notice-intro p{margin:0!important;color:#315271!important}
.an-notice-calendar{display:grid;gap:14px}
.an-notice-date-block{
  display:grid;
  grid-template-columns:60px minmax(0,1fr);
  gap:16px;
  padding:19px 20px;
  border:1px solid #e0e8ef;
  border-radius:22px;
  background:#fff;
}
.an-notice-date-icon{
  display:grid;place-items:center;
  width:54px;height:54px;
  border-radius:17px;
  background:#fff7dd;
  font-size:1.8rem;
}
.an-notice-date-block h2{
  font-family:var(--an-display);
  color:var(--an-blue);
  font-size:1.18rem!important;
  margin:1px 0 6px!important;
}
.an-notice-date-block p{
  margin:4px 0!important;
  color:#536578!important;
  font-size:.94rem;
  line-height:1.5;
}
.an-notice-important{
  margin-top:24px;
  padding:20px 22px;
  border-radius:22px;
  background:#fff5e2;
  border:1px solid #efdaad;
}
.an-notice-important>strong{
  display:block;
  color:#8f5d00;
  font-family:var(--an-display);
  margin-bottom:5px;
}
.an-notice-important p{margin:0!important;color:#6f5d3b!important}
.an-notice-help{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:24px 30px;
  background:#f2f8fd;
  border-top:1px solid #dce8f2;
}
.an-notice-help>div{display:flex;align-items:flex-start;gap:12px}
.an-notice-help>div>span{font-size:1.5rem}
.an-notice-help strong{display:block;color:var(--an-blue)}
.an-notice-help p{margin:2px 0 0;color:#687788;font-size:.84rem}

@media(max-width:760px){
  .an-notices-hero{padding:48px 0 42px}
  .an-notices-hero-inner{grid-template-columns:1fr}
  .an-notices-hero-icon{display:none}
  .an-notices-hero h1{font-size:clamp(3rem,16vw,4.3rem)}
  .an-notices-hero p{font-size:1rem}
  .an-notice-card-link{
    grid-template-columns:64px minmax(0,1fr);
    gap:14px;
    padding:17px;
  }
  .an-notice-date{min-height:70px;border-radius:18px}
  .an-notice-date span{font-size:1.65rem}
  .an-notice-card-arrow{display:none}
  .an-notice-card h2{font-size:1.18rem}
  .an-notice-card p{font-size:.86rem}
  .an-home-notice-band{padding:14px 0 18px}
  .an-home-notice-card{
    grid-template-columns:50px minmax(0,1fr);
    gap:12px;
    padding:16px;
    border-radius:22px;
  }
  .an-home-notice-icon{width:50px;height:50px;border-radius:16px;font-size:1.55rem}
  .an-home-notice-action{display:none}
  .an-home-notice-copy>span{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .an-home-notice-all{text-align:left;margin-left:62px}
  .an-notice-single-hero{padding:40px 0 34px}
  .an-notice-back{margin-bottom:20px}
  .an-notice-single-head h1{font-size:clamp(2.45rem,12.5vw,3.65rem)}
  .an-notice-single-content{padding:24px 20px}
  .an-notice-single-card{border-radius:26px}
  .an-notice-date-block{grid-template-columns:48px minmax(0,1fr);padding:16px;gap:12px;border-radius:19px}
  .an-notice-date-icon{width:46px;height:46px;border-radius:15px;font-size:1.45rem}
  .an-notice-help{display:block;padding:20px}
  .an-notice-help .an-btn{width:100%;margin-top:16px}
}
@media(max-width:430px){
  .an-notice-card-link{grid-template-columns:1fr}
  .an-notice-date{
    display:flex;
    justify-content:flex-start;
    gap:7px;
    min-height:0;
    width:max-content;
    padding:7px 11px;
    border-radius:999px;
  }
  .an-notice-date span{font-size:.86rem}
  .an-notice-date small{font-size:.68rem;margin:0}
}


/* v1.20.5 — global notice ticker + urgent notice modal */
.an-notice-strip{
  position:relative;
  z-index:70;
  background:#fff;
  border-top:1px solid rgba(10,47,104,.06);
  border-bottom:1px solid rgba(10,47,104,.10);
  box-shadow:0 8px 24px rgba(10,47,104,.045);
}
.an-notice-strip::before{
  content:"";position:absolute;left:0;right:0;top:0;height:3px;
  background:linear-gradient(90deg,#ec3b48 0 16.6%,#f79b28 16.6% 33.2%,#f2c230 33.2% 49.8%,#2da85b 49.8% 66.4%,#2594d6 66.4% 83%,#7446a7 83% 100%);
}
.an-notice-strip-inner{
  min-height:64px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
}
.an-notice-strip-brand{
  display:inline-flex;align-items:center;gap:9px;
  color:var(--an-blue);font-weight:900;font-family:var(--an-display);
  letter-spacing:.035em;font-size:.88rem;white-space:nowrap;
}
.an-notice-strip-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#fff2d6;font-size:1.16rem}
.an-notice-strip-viewport{position:relative;min-width:0;min-height:48px;overflow:hidden}
.an-notice-strip-slide{
  position:absolute;inset:0;
  display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:13px;
  padding:4px 2px;
  opacity:0;visibility:hidden;transform:translateY(8px);
  transition:opacity .32s ease,transform .32s ease,visibility .32s;
  pointer-events:none;
}
.an-notice-strip-slide.is-active{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.an-notice-strip-date{font-size:.74rem;font-weight:900;color:#8a5d00;background:#fff5d8;border:1px solid #f5dfad;border-radius:999px;padding:5px 9px;text-transform:uppercase;white-space:nowrap}
.an-notice-strip-text{min-width:0;display:flex;align-items:baseline;gap:10px}
.an-notice-strip-text small{color:#7a8795;font-size:.72rem;font-weight:800;white-space:nowrap}
.an-notice-strip-text strong{color:var(--an-blue);font-size:.94rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.an-notice-new{padding:4px 7px;border-radius:999px;background:#eaf8ee;color:#13743b;font-weight:900;font-size:.64rem;letter-spacing:.04em}
.an-notice-strip-read{font-size:.78rem;font-weight:900;color:#2269b0;white-space:nowrap}
.an-notice-strip-controls{display:flex;align-items:center;gap:6px}
.an-notice-strip-controls button{width:34px;height:34px;border:1px solid #dde7ef;background:#f7fafc;border-radius:50%;color:var(--an-blue);font-size:1.35rem;line-height:1;cursor:pointer;transition:.18s ease}
.an-notice-strip-controls button:hover{background:#edf5fc;transform:translateY(-1px)}
.an-notice-strip-count{font-size:.69rem;font-weight:800;color:#84909b;min-width:28px;text-align:center}

.an-urgent-notice[hidden]{display:none!important}
.an-urgent-notice{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:22px}
.an-urgent-backdrop{position:absolute;inset:0;background:rgba(5,24,52,.56);backdrop-filter:blur(6px)}
.an-urgent-dialog{position:relative;z-index:2;width:min(560px,100%);background:#fff;border-radius:30px;padding:34px 34px 30px;box-shadow:0 34px 90px rgba(2,25,58,.28);border:1px solid rgba(255,255,255,.8);overflow:hidden}
.an-urgent-dialog::before{content:"";position:absolute;left:0;right:0;top:0;height:6px;background:linear-gradient(90deg,#ec3b48,#f79b28,#f2c230,#2da85b,#2594d6,#7446a7)}
.an-urgent-close{position:absolute;right:16px;top:16px;width:38px;height:38px;border:0;border-radius:50%;background:#f2f5f8;color:#42536a;font-size:1.55rem;line-height:1;cursor:pointer}
.an-urgent-symbol{display:grid;place-items:center;width:62px;height:62px;border-radius:20px;background:#fff2d6;font-size:2rem;margin-bottom:16px}
.an-urgent-kicker{font-size:.76rem;font-weight:900;color:#d54848;text-transform:uppercase;letter-spacing:.08em;margin-bottom:7px}
.an-urgent-dialog h2{font-family:var(--an-display);font-size:clamp(1.8rem,4vw,2.45rem);line-height:1.08;color:var(--an-blue);margin:0 42px 12px 0}
.an-urgent-dialog p{color:#56677a;margin:0;line-height:1.58}
.an-urgent-actions{display:flex;align-items:center;gap:12px;margin-top:24px;flex-wrap:wrap}
.an-urgent-later{border:0;background:transparent;color:#647385;font-weight:800;padding:12px 10px;cursor:pointer}
body.an-urgent-open{overflow:hidden}

@media(max-width:760px){
  .an-notice-strip-inner{min-height:72px;grid-template-columns:auto minmax(0,1fr) auto;gap:9px}
  .an-notice-strip-brand>span:last-child{display:none}
  .an-notice-strip-icon{width:38px;height:38px}
  .an-notice-strip-viewport{min-height:58px}
  .an-notice-strip-slide{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:5px 0}
  .an-notice-strip-date,.an-notice-strip-read{display:none}
  .an-notice-strip-text{display:block;min-width:0}
  .an-notice-strip-text small{display:block;font-size:.66rem;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .an-notice-strip-text strong{display:block;font-size:.86rem;line-height:1.25;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .an-notice-new{font-size:.58rem;padding:4px 6px}
  .an-notice-strip-controls{gap:3px}
  .an-notice-strip-controls button{width:30px;height:30px;font-size:1.1rem}
  .an-notice-strip-count{display:none}
  .an-urgent-notice{padding:14px}
  .an-urgent-dialog{padding:28px 22px 22px;border-radius:25px}
  .an-urgent-symbol{width:54px;height:54px;font-size:1.7rem;border-radius:17px}
  .an-urgent-dialog h2{font-size:1.8rem;margin-right:38px}
  .an-urgent-actions{display:grid;grid-template-columns:1fr;gap:7px}
  .an-urgent-actions .an-btn{width:100%;text-align:center}
  .an-urgent-later{width:100%}
}
@media(prefers-reduced-motion:reduce){.an-notice-strip-slide{transition:none!important}.an-notice-strip-controls button{transition:none!important}}


/* v1.20.6 — clearer notice label */
.an-notice-strip-brand{
  padding:7px 10px 7px 7px;
  border-radius:16px;
  background:linear-gradient(135deg,#fff8e9,#fff);
  border:1px solid #f3e5c2;
}
.an-notice-strip-label{
  display:block;
  font-size:.76rem;
  line-height:1.08;
  font-weight:950;
  letter-spacing:.055em;
  color:var(--an-blue);
}
@media(max-width:760px){
  .an-notice-strip-inner{
    min-height:82px;
    grid-template-columns:72px minmax(0,1fr) auto;
    gap:8px;
  }
  .an-notice-strip-brand{
    width:72px;
    min-width:72px;
    padding:6px 4px;
    gap:3px;
    flex-direction:column;
    justify-content:center;
    text-align:center;
    border-radius:15px;
  }
  .an-notice-strip-brand>span:last-child{display:block!important}
  .an-notice-strip-icon{width:34px;height:34px;font-size:1.05rem}
  .an-notice-strip-label{
    font-size:.58rem;
    line-height:1.05;
    letter-spacing:.035em;
    white-space:normal;
  }
}


/* v1.20.8 — lavagna con pezza animata, solo in homepage. */
.an-notice-strip--chalkboard{
  padding:10px 0;
  background:linear-gradient(180deg,#fbfcf8 0%,#fffdf7 100%);
}
.an-notice-strip--chalkboard .an-notice-strip-inner{min-height:78px;gap:13px}
.an-notice-strip--chalkboard .an-notice-strip-viewport{
  isolation:isolate;
  min-height:65px;
  border:5px solid #c19a68;
  border-radius:13px;
  background-color:#183d35;
  background-image:
    radial-gradient(ellipse at 14% 18%,rgba(241,255,240,.07),transparent 46%),
    radial-gradient(ellipse at 78% 88%,rgba(230,255,235,.04),transparent 50%),
    repeating-linear-gradient(175deg,rgba(246,255,238,.014) 0px,rgba(246,255,238,.014) 1px,transparent 2px,transparent 6px),
    linear-gradient(110deg,#1b493f 0%,#10362f 57%,#16483b 100%);
  box-shadow:0 6px 18px rgba(49,54,33,.12),inset 0 0 0 2px rgba(32,24,10,.34),inset 0 0 16px rgba(0,0,0,.26);
}
/* Accenno della polvere di gesso depositata sulla cornice bassa. */
.an-notice-strip--chalkboard .an-notice-strip-viewport::after{
  content:"";
  position:absolute;
  inset:auto 10px 2px;
  z-index:1;
  height:1px;
  pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(238,247,220,.3),transparent);
}
.an-notice-strip--chalkboard .an-notice-strip-slide{
  z-index:2;
  inset:5px 13px;
  padding:2px 5px;
  border-radius:5px;
  transition:none;
  transform:none;
}
.an-notice-strip--chalkboard .an-notice-strip-slide:focus-visible{
  outline:2px solid #fff8ce;
  outline-offset:-2px;
}
.an-notice-strip--chalkboard .an-notice-strip-text strong{
  color:#f8fcf2;
  font-weight:800;
  letter-spacing:.004em;
  text-shadow:0 0 1px rgba(255,255,255,.46),0 1px 2px rgba(255,255,255,.14);
}
.an-notice-strip--chalkboard .an-notice-strip-text small{color:#c0ddce}
.an-notice-strip--chalkboard .an-notice-strip-date{
  color:#f4eed0;
  background:rgba(247,246,207,.10);
  border:1px solid rgba(234,241,211,.32);
}
.an-notice-strip--chalkboard .an-notice-strip-read{color:#edecba}
.an-notice-strip--chalkboard .an-notice-new{
  color:#eaffd9;
  background:rgba(51,138,90,.5);
  border:1px solid rgba(160,244,182,.35);
}
/* La pezza è un SVG locale, non blocca il clic sugli avvisi. */
.an-notice-strip--chalkboard .an-chalk-eraser{
  position:absolute;
  display:block;
  z-index:6;
  pointer-events:none;
  left:0%;
  top:50%;
  width:76px;
  height:54px;
  opacity:0;
  background:url('assets/img/pezza-lavagna.svg') center / contain no-repeat;
  filter:drop-shadow(0 5px 4px rgba(0,0,0,.3));
  transform:translate(-40%,-50%) rotate(-7deg);
}
/* Piccola scia di polvere che accompagna la pezza. */
.an-notice-strip--chalkboard .an-chalk-eraser::before{
  content:"";
  position:absolute;
  width:46px;
  height:35px;
  top:9px;
  left:-14px;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(239,249,234,.23),transparent 75%);
  filter:blur(5px);
  opacity:.7;
}
.an-notice-strip--chalkboard.is-wiping .an-chalk-eraser{
  animation:an-chalk-rub .9s linear both;
}
.an-notice-strip--chalkboard .an-notice-strip-slide.is-erasing{
  animation:an-chalk-wipe .9s linear both;
  pointer-events:none;
}
.an-notice-strip--chalkboard .an-notice-strip-slide.is-chalk-entering{
  animation:an-chalk-appear .55s ease-out both;
}
@keyframes an-chalk-wipe{
  0%{clip-path:inset(0 0 0 0)}
  100%{clip-path:inset(0 0 0 100%)}
}
@keyframes an-chalk-rub{
  0%{left:0%;opacity:0;transform:translate(-40%,-50%) rotate(-7deg)}
  9%{opacity:1}
  26%{transform:translate(-40%,-53%) rotate(4deg)}
  51%{transform:translate(-40%,-46%) rotate(-6deg)}
  76%{transform:translate(-40%,-53%) rotate(5deg)}
  91%{opacity:1}
  100%{left:100%;opacity:0;transform:translate(-40%,-50%) rotate(-3deg)}
}
@keyframes an-chalk-appear{
  0%{opacity:.08;filter:blur(2px);transform:translateY(2px)}
  100%{opacity:1;filter:blur(0);transform:none}
}
.an-notice-meeting-block{border-color:#e9dff8!important;background:linear-gradient(135deg,#fbf8ff,#fff)!important}
@media(max-width:760px){
  .an-notice-strip--chalkboard{padding:8px 0}
  .an-notice-strip--chalkboard .an-notice-strip-inner{min-height:90px;gap:7px}
  .an-notice-strip--chalkboard .an-notice-strip-viewport{min-height:76px;border-width:4px;border-radius:11px}
  .an-notice-strip--chalkboard .an-notice-strip-slide{inset:5px 5px;padding:2px 4px}
  .an-notice-strip--chalkboard .an-chalk-eraser{width:48px;height:40px}
  .an-notice-strip--chalkboard .an-notice-strip-text strong{font-size:.82rem;line-height:1.27}
  .an-notice-strip--chalkboard .an-notice-strip-text small{font-size:.63rem;color:#d3e6d9}
}
@media(prefers-reduced-motion:reduce){
  .an-notice-strip--chalkboard .an-chalk-eraser{display:none!important}
  .an-notice-strip--chalkboard .an-notice-strip-slide.is-erasing,
  .an-notice-strip--chalkboard .an-notice-strip-slide.is-chalk-entering{animation:none!important;filter:none!important;clip-path:none!important}
}

/* In versione smartphone la lavagna occupa una riga intera: niente titoli tagliati
   dall'area troppo stretta del vecchio ticker a tre colonne. */
@media(max-width:760px){
  .an-notice-strip--chalkboard .an-notice-strip-inner{
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-rows:auto auto;
    gap:7px 8px;
    padding-block:4px;
  }
  .an-notice-strip--chalkboard .an-notice-strip-brand{
    grid-row:1;
    grid-column:1;
    width:max-content;
    max-width:100%;
    min-width:0;
    padding:4px 10px 4px 4px;
    gap:7px;
    flex-direction:row;
    border-radius:12px;
    text-align:left;
  }
  .an-notice-strip--chalkboard .an-notice-strip-icon{width:29px;height:29px;font-size:.95rem;border-radius:9px}
  .an-notice-strip--chalkboard .an-notice-strip-label{font-size:.68rem;white-space:nowrap}
  .an-notice-strip--chalkboard .an-notice-strip-controls{grid-row:1;grid-column:2}
  .an-notice-strip--chalkboard .an-notice-strip-viewport{
    grid-row:2;
    grid-column:1/-1;
    min-height:94px;
  }
  .an-notice-strip--chalkboard .an-notice-strip-slide{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:8px;
    inset:5px 7px;
    padding:3px 5px;
  }
  .an-notice-strip--chalkboard .an-notice-strip-date{
    display:inline-flex;
    align-items:center;
    font-size:.61rem;
    padding:5px 7px;
  }
  .an-notice-strip--chalkboard .an-notice-strip-text strong{
    font-size:.85rem;
    -webkit-line-clamp:3;
    line-height:1.27;
  }
  .an-notice-strip--chalkboard .an-notice-strip-text small{margin-bottom:2px}
  .an-notice-strip--chalkboard .an-notice-new,
  .an-notice-strip--chalkboard .an-notice-strip-read{display:none}
}

/* v1.20.9 — la data del badge è la pubblicazione, l'evento è separato. */
.an-notice-strip-date{font-variant-numeric:tabular-nums}
.an-notice-date-prefix{font-weight:900;letter-spacing:0;text-transform:none}
.an-notice-date-caption{
  display:block;font-style:normal;font-family:var(--an-body);
  font-size:.60rem;line-height:1.1;font-weight:850;
  color:#4c6681;text-transform:uppercase;letter-spacing:.04em;
}
.an-notice-card-event{margin-top:9px;color:#37664e;font-size:.81rem;font-weight:600;line-height:1.5}
.an-notice-card-event strong{font-weight:900}
.an-notice-event-summary{
  display:flex;align-items:center;gap:14px;
  margin:26px 42px 0;padding:15px 18px;
  background:linear-gradient(130deg,#f0f9ee,#f8fcf6);
  border:1px solid #d7e9d5;border-radius:18px;
}
.an-notice-event-symbol{width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:13px;background:#e0f1db;font-size:1.45rem}
.an-notice-event-summary strong{display:block;font-size:.71rem;color:#397247;text-transform:uppercase;letter-spacing:.055em}
.an-notice-event-summary time{display:block;color:#1f4f3a;font-size:.98rem;font-weight:850}
/* Nella lavagna il titolo e la data evento occupano righe proprie. */
.an-notice-strip--chalkboard .an-notice-strip-viewport{min-height:86px}
.an-notice-strip--chalkboard .an-notice-strip-inner{min-height:94px}
.an-notice-strip--chalkboard .an-notice-strip-text{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:0;min-width:0}
.an-notice-strip--chalkboard .an-notice-strip-text small{line-height:1.15;margin:0 0 1px}
.an-notice-strip--chalkboard .an-notice-strip-text strong{max-width:100%;line-height:1.25}
.an-notice-strip-event{display:none;min-width:0;max-width:100%;font-size:.71rem;font-weight:750;line-height:1.24;color:#5a7b69;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.an-notice-strip--chalkboard .an-notice-strip-event{display:block;margin-top:4px;color:#e9e9bb}
.an-notice-strip--chalkboard .an-notice-strip-date{font-size:.68rem;padding:5px 8px}
/* Polvere di gesso: particelle leggere che seguono la pezza durante lo sfregamento. */
.an-notice-strip--chalkboard .an-chalk-eraser::before{
  width:67px;height:42px;left:-25px;top:8px;
  background:radial-gradient(ellipse at 75% 50%,rgba(242,250,226,.31),rgba(232,244,219,.15) 36%,transparent 72%);
  filter:blur(5px);opacity:0;
}
.an-notice-strip--chalkboard .an-chalk-eraser::after{
  content:"";position:absolute;width:47px;height:24px;top:28px;left:-17px;
  border-radius:50%;background:radial-gradient(ellipse,rgba(245,251,234,.29),transparent 73%);
  filter:blur(4px);opacity:0;pointer-events:none;
}
.an-notice-strip--chalkboard.is-wiping .an-chalk-eraser::before{animation:an-chalk-dust-haze .44s ease-in-out infinite alternate}
.an-notice-strip--chalkboard.is-wiping .an-chalk-eraser::after{animation:an-chalk-dust-haze .37s ease-in-out .12s infinite alternate}
.an-notice-strip--chalkboard .an-chalk-dust-dot{
  position:absolute;display:block;pointer-events:none;
  width:3px;height:3px;left:17%;top:52%;opacity:0;border-radius:50%;
  background:#f4f6e8;box-shadow:0 0 3px rgba(249,253,235,.55);
  filter:blur(.4px);
}
.an-notice-strip--chalkboard .an-chalk-dust-dot:nth-child(1){left:12%;top:42%;--dust-x:-18px;--dust-y:-18px;--dust-delay:0s;--dust-size:2px}
.an-notice-strip--chalkboard .an-chalk-dust-dot:nth-child(2){left:21%;top:66%;--dust-x:-32px;--dust-y:13px;--dust-delay:-.22s;--dust-size:3px}
.an-notice-strip--chalkboard .an-chalk-dust-dot:nth-child(3){left:28%;top:35%;--dust-x:-25px;--dust-y:-15px;--dust-delay:-.12s;--dust-size:2px}
.an-notice-strip--chalkboard .an-chalk-dust-dot:nth-child(4){left:18%;top:76%;--dust-x:-20px;--dust-y:17px;--dust-delay:-.32s;--dust-size:4px}
.an-notice-strip--chalkboard .an-chalk-dust-dot:nth-child(5){left:33%;top:51%;--dust-x:-27px;--dust-y:-9px;--dust-delay:-.40s;--dust-size:2px}
.an-notice-strip--chalkboard .an-chalk-dust-dot:nth-child(6){left:10%;top:61%;--dust-x:-23px;--dust-y:8px;--dust-delay:-.16s;--dust-size:3px}
.an-notice-strip--chalkboard.is-wiping .an-chalk-dust-dot{
  animation:an-chalk-dust-float .58s ease-out var(--dust-delay) infinite;
  width:var(--dust-size);height:var(--dust-size)
}
@keyframes an-chalk-dust-haze{0%{opacity:.3;transform:scale(.88)}100%{opacity:.9;transform:scale(1.12)}}
@keyframes an-chalk-dust-float{
  0%{opacity:0;transform:translate(0,0) scale(.6)}
  24%{opacity:.83}
  65%{opacity:.53}
  100%{opacity:0;transform:translate(var(--dust-x),var(--dust-y)) scale(1.65)}
}
@media(max-width:760px){
  .an-notice-strip--chalkboard .an-notice-strip-inner{min-height:110px}
  .an-notice-strip--chalkboard .an-notice-strip-viewport{min-height:110px}
  .an-notice-strip--chalkboard .an-notice-strip-slide{grid-template-columns:minmax(75px,auto) minmax(0,1fr);gap:7px}
  .an-notice-strip--chalkboard .an-notice-strip-date{font-size:.57rem;padding:5px 6px;align-self:center}
  .an-notice-strip--chalkboard .an-notice-strip-event{font-size:.67rem;margin-top:4px}
  .an-notice-strip--chalkboard .an-notice-strip-text strong{font-size:.83rem;line-height:1.25}
  .an-notice-event-summary{margin:18px 18px 0;padding:13px}
  .an-notice-event-summary time{font-size:.88rem}
}
@media(max-width:370px){
  .an-notice-strip--chalkboard .an-notice-strip-viewport{min-height:122px}
  .an-notice-strip--chalkboard .an-notice-strip-slide{grid-template-columns:74px minmax(0,1fr);gap:6px}
  .an-notice-strip--chalkboard .an-notice-strip-text strong{font-size:.78rem;-webkit-line-clamp:3}
  .an-notice-strip--chalkboard .an-notice-strip-event{font-size:.61rem}
  .an-notice-strip--chalkboard .an-chalk-eraser{width:42px;height:35px}
}
@media(prefers-reduced-motion:reduce){
  .an-notice-strip--chalkboard .an-chalk-eraser::before,
  .an-notice-strip--chalkboard .an-chalk-eraser::after,
  .an-notice-strip--chalkboard .an-chalk-dust-dot{animation:none!important;display:none!important}
}

/* =========================================================
   ADA NEGRI v1.21.0 — pagina Menu mensa a rotazione A/B
   ========================================================= */
.an-mensa-hero{padding:64px 0 72px;background:linear-gradient(132deg,#edf8f0 0%,#f4f9ff 66%,#fffaf0 100%);border-bottom:1px solid #e2ebed}
.an-mensa-hero-inner{display:flex;align-items:center;justify-content:space-between;gap:36px}
.an-mensa-eyebrow{font-size:.83rem;font-weight:900;color:#177546;text-transform:uppercase;letter-spacing:.1em}
.an-mensa-hero h1{font-family:var(--an-display);font-size:clamp(2.2rem,4.6vw,4.5rem);color:var(--an-blue);letter-spacing:-.055em;line-height:1.1;margin:13px 0 18px}
.an-mensa-hero h1 span{color:#158050}
.an-mensa-hero p{font-size:1.04rem;color:#475d71;max-width:720px;margin:0}
.an-mensa-hero-icon{flex:0 0 140px;width:140px;height:140px;border-radius:36px;background:#fff;box-shadow:0 15px 38px rgba(10,70,57,.09);display:grid;place-items:center;transform:rotate(3deg)}
.an-mensa-hero-icon img{width:100px;height:100px;object-fit:contain}
.an-mensa-section{padding:54px 0 95px;background:#fffdf9}
.an-mensa-shell{border:1px solid #dae8e0;border-radius:28px;background:white;padding:32px;box-shadow:0 20px 48px rgba(9,45,78,.07)}
.an-mensa-topline{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:24px}
.an-mensa-topline h2{font-family:var(--an-display);font-size:clamp(1.5rem,2.5vw,2.2rem);color:var(--an-blue);margin:7px 0 0;letter-spacing:-.04em}
.an-mensa-current,.an-mensa-status{border-radius:999px;padding:10px 17px;font-size:.84rem;font-weight:850;white-space:nowrap}
.an-mensa-current{background:#e2f6eb;color:#146337;border:1px solid #bce5c8}.an-mensa-current span{font-size:.65rem;margin-right:6px;color:#20a05b}
.an-mensa-status{background:#fff7e6;color:#8d6420;border:1px solid #f5e2b2}
.an-mensa-tabs{display:flex;gap:8px;padding:7px;border-radius:16px;background:#f0f5f8;max-width:550px;margin-bottom:22px}
.an-mensa-tab{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;min-height:52px;border:0;border-radius:11px;background:transparent;color:#586c7c;font-weight:900;cursor:pointer;font-size:.96rem;transition:background .15s ease,color .15s ease}
.an-mensa-tab.is-selected{background:#0a2f68;color:#fff;box-shadow:0 5px 14px rgba(10,47,104,.16)}.an-mensa-tab:focus-visible{outline:3px solid #ffbd33;outline-offset:2px}
.an-mensa-week-badge{font-size:.68rem;border-radius:999px;background:#d8f7e5;color:#18613a;padding:3px 8px}
.an-mensa-week-badge[hidden],.an-mensa-panel[hidden]{display:none!important}
.an-mensa-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;border:1px solid #dce7ee;border-radius:18px;-webkit-overflow-scrolling:touch}
.an-mensa-scroll:focus-visible{outline:3px solid #f4ba22;outline-offset:3px}
.an-mensa-table{width:100%;min-width:800px;border-collapse:separate;border-spacing:0;table-layout:fixed;line-height:1.5;color:#314158}
.an-mensa-table th,.an-mensa-table td{padding:22px 16px;border-bottom:1px solid #e4edf1;border-right:1px solid #e4edf1;text-align:left;vertical-align:top;overflow-wrap:anywhere}
.an-mensa-table th:last-child,.an-mensa-table td:last-child{border-right:0}.an-mensa-table tbody tr:last-child th,.an-mensa-table tbody tr:last-child td{border-bottom:0}
.an-mensa-table thead th{color:#fff;background:#145d48;font-size:.95rem;font-weight:900}.an-mensa-table thead th:first-child{border-top-left-radius:16px}
.an-mensa-table thead th:last-child{border-top-right-radius:16px}
.an-mensa-table th:first-child{width:134px;position:sticky;left:0;z-index:2}
.an-mensa-table thead th:first-child{z-index:3;background:#0c4b38}
.an-mensa-table tbody th{background:#f4f7f9;color:#0a2f68;font-weight:900}
.an-mensa-table tbody tr:nth-child(even) td{background:#f8fbfd}
.an-mensa-table tbody td{white-space:pre-line;font-size:.89rem;min-height:92px}
.an-mensa-dash{color:#a7b5bf}
.an-mensa-swipe{display:none;color:#5a6d7b;font-size:.82rem;font-weight:700;margin:0 0 12px}
.an-mensa-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:24px}
.an-mensa-download{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:999px;background:#0a2f68;color:white;padding:13px 21px;font-weight:900;font-size:.94rem;line-height:1.3;text-align:center}
.an-mensa-download:hover,.an-mensa-download:focus-visible{background:#174987;color:#fff}
.an-mensa-actions>span{font-size:.82rem;color:#667688}
.an-mensa-empty{text-align:center;border:1px dashed #cbdad1;background:#f7faf8;border-radius:20px;padding:42px 22px;margin:14px 0}
.an-mensa-empty-icon{font-size:2.4rem}.an-mensa-empty h3{font-family:var(--an-display);font-size:1.5rem;color:#0a2f68;margin:12px 0 6px}
.an-mensa-empty p{max-width:580px;margin:0 auto;color:#5b6a79}
.an-mensa-notes{margin-top:22px;padding:23px 26px;border:1px solid #e6e8d7;border-radius:18px;background:#fffdf0}
.an-mensa-notes strong{color:#9b6629}.an-mensa-notes p{margin:6px 0 0;color:#566171}
.an-mensa-bottom{margin-top:35px;border-radius:24px;padding:31px 35px;background:#eaf4fe;display:flex;align-items:center;justify-content:space-between;gap:25px}
.an-mensa-bottom h2{font-family:var(--an-display);font-size:1.3rem;color:#0a2f68;line-height:1.3;margin:0 0 6px}
.an-mensa-bottom p{font-size:.9rem;color:#5f6d7c;margin:0;max-width:660px}
@media(max-width:820px){.an-mensa-hero{padding:46px 0}.an-mensa-hero-icon{flex-basis:95px;width:95px;height:95px;border-radius:26px}.an-mensa-hero-icon img{width:65px;height:65px}.an-mensa-shell{padding:22px 16px}.an-mensa-topline{align-items:flex-start;flex-direction:column}.an-mensa-swipe{display:block}.an-mensa-table{min-width:740px}.an-mensa-table th,.an-mensa-table td{padding:16px 12px}.an-mensa-section{padding:28px 0 65px}.an-mensa-bottom{padding:24px;flex-direction:column;align-items:flex-start}}
@media(max-width:520px){.an-mensa-hero-icon{display:none}.an-mensa-hero h1{font-size:2.25rem}.an-mensa-hero p{font-size:.95rem}.an-mensa-tab{font-size:.87rem}.an-mensa-tabs{max-width:none}.an-mensa-current{white-space:normal}.an-mensa-download{width:100%}.an-mensa-actions>span{text-align:center;width:100%}}
/* Nuovo elemento nel menu: icona mensa, senza riscrivere le altre voci. */
.an-main-menu>li.menu-icon-mensa>a::before,.an-mobile-menu>li.menu-icon-mensa>a::before{content:'🍽️'!important;display:grid!important;place-items:center!important;background-image:none!important;font-size:17px!important}
@media(min-width:1321px){.an-site-header .an-main-menu{column-gap:6px!important}.an-site-header .an-main-menu>li:not(.menu-item-cta)>a{padding-left:9px!important;padding-right:9px!important;font-size:.85rem!important}}

/* v1.21.1: menu ufficiale senza attribuzione di settimana corrente */
.an-mensa-explainer{margin:0 0 20px;color:#465b69;font-size:.94rem;line-height:1.65;max-width:850px}
.an-mensa-status{white-space:normal;text-align:center;background:#eef6fd;color:#174b76;border-color:#cee6f7;max-width:340px;line-height:1.35}

.an-mensa-legend{color:#697888;font-size:.79rem;line-height:1.5;margin:13px 2px 0}


/* =============================================================
   v1.21.4 — MacBook / Safari header: no logo-nav collisions
   Single-column composition on laptop-sized desktop viewports.
   A full-width menu wraps to a second line only when necessary.
   Breakpoints intentionally refer to CSS pixels (browser zoom safe).
   ============================================================= */
@media (min-width:981px) and (max-width:2047px){
  .an-site-header .an-wrap.an-nav{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    align-items:center!important;
    justify-items:stretch!important;
    align-content:center!important;
    gap:9px!important;
    width:min(calc(100% - 28px),1820px)!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    padding:10px 20px 13px!important;
    overflow:visible!important;
  }
  .an-site-header .an-brand{
    grid-area:1 / 1!important;
    flex:none!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    overflow:visible!important;
  }
  .an-site-header .an-brand>a,
  .an-site-header .an-brand>.custom-logo-link{
    display:flex!important;
    align-items:center!important;
    width:max-content!important;
    max-width:100%!important;
  }
  .an-site-header .an-brand img,
  .an-site-header .an-brand .custom-logo{
    display:block!important;
    width:clamp(215px,23vw,315px)!important;
    max-width:100%!important;
    max-height:92px!important;
    height:auto!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  .an-site-header .an-nav>nav{
    display:block!important;
    grid-area:2 / 1!important;
    flex:none!important;
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
  }
  .an-site-header .an-main-menu{
    display:flex!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    flex-flow:row wrap!important;
    justify-content:center!important;
    align-items:center!important;
    column-gap:8px!important;
    row-gap:8px!important;
    margin:0!important;
    padding:0!important;
  }
  .an-site-header .an-main-menu>li{
    flex:0 0 auto!important;
    max-width:100%!important;
  }
  .an-site-header .an-main-menu>li>a{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    min-height:46px!important;
    padding:10px 12px!important;
    font-size:.86rem!important;
    white-space:nowrap!important;
    line-height:1.1!important;
  }
  .an-site-header .an-main-menu>li:not(.menu-item-cta)>a{
    padding-left:12px!important;
    padding-right:12px!important;
    font-size:.86rem!important;
  }
  .an-site-header .an-main-menu>li>a::before{
    width:21px!important;
    height:21px!important;
    flex:0 0 21px!important;
  }
  .an-site-header .an-main-menu>li.menu-item-cta>a{
    min-height:48px!important;
    padding:10px 16px!important;
  }
  .an-site-header .an-main-menu>li.menu-item-cta>a::before{
    width:22px!important;
    height:22px!important;
    flex:0 0 22px!important;
  }
  .an-site-header .an-menu-toggle{display:none!important}
}
/* Extra-wide desktop: keep natural horizontal layout but allow wrapping
   if menu labels or text zoom increase their actual intrinsic width. */
@media (min-width:2048px){
  .an-site-header .an-main-menu{flex-wrap:wrap!important;row-gap:8px!important}
}

/* ============================================================
   ADA NEGRI v1.21.5 — social links in the global site header
   Desktop: logo + social icons on top, complete navigation below.
   Mobile: social buttons inside hamburger drawer, not in header.
   ============================================================ */
.an-header-social{display:none}
.an-mobile-social{display:none}
@media (min-width:981px){
  .an-site-header .an-wrap.an-nav{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:auto auto!important;
    align-items:center!important;
    justify-items:stretch!important;
    gap:9px 14px!important;
    width:min(calc(100% - 28px),1940px)!important;
    max-width:none!important;
    min-height:0!important;
    height:auto!important;
    padding:12px 20px 13px!important;
  }
  .an-site-header .an-brand{
    grid-column:1!important;
    grid-row:1!important;
    justify-self:start!important;
    width:auto!important;
    max-width:100%!important;
    min-width:0!important;
    flex:none!important;
  }
  .an-site-header .an-brand>a,
  .an-site-header .an-brand>.custom-logo-link{
    width:auto!important;
    max-width:100%!important;
  }
  .an-site-header .an-brand img,
  .an-site-header .an-brand .custom-logo{
    width:clamp(215px,23vw,315px)!important;
    max-width:100%!important;
    height:auto!important;
    max-height:92px!important;
    object-fit:contain!important;
  }
  .an-site-header .an-nav>nav{
    grid-column:1 / -1!important;
    grid-row:2!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    flex:none!important;
  }
  .an-site-header .an-main-menu{
    display:flex!important;
    flex-flow:row wrap!important;
    align-items:center!important;
    justify-content:center!important;
    column-gap:8px!important;
    row-gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .an-site-header .an-main-menu>li{max-width:100%!important;flex:0 0 auto!important}
  .an-site-header .an-header-social{
    grid-column:2!important;
    grid-row:1!important;
    display:flex!important;
    align-items:center!important;
    justify-self:end!important;
    gap:9px!important;
    margin:0!important;
    position:relative!important;
    z-index:2!important;
  }
  .an-header-social-label{
    font-size:.8rem;
    font-weight:850;
    letter-spacing:.01em;
    color:#516580;
    margin-right:5px;
  }
  .an-header-social-link{
    display:grid!important;
    place-items:center!important;
    width:44px!important;
    height:44px!important;
    padding:0!important;
    flex:0 0 44px!important;
    border:1px solid #e0e7f1!important;
    border-radius:50%!important;
    background:#fff!important;
    box-shadow:0 5px 14px rgba(14,52,95,.08)!important;
    transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important;
  }
  .an-header-social-link:hover{
    transform:translateY(-2px)!important;
    box-shadow:0 9px 19px rgba(14,52,95,.14)!important;
    border-color:#a7c3e2!important;
  }
  .an-header-social-link:focus-visible{
    outline:3px solid #1468dc!important;
    outline-offset:3px!important;
  }
  .an-header-social-link img{display:block;width:23px;height:23px;object-fit:contain}
  .an-site-header .an-menu-toggle{display:none!important}
}
@media (max-width:980px){
  .an-site-header .an-header-social{display:none!important}
  .an-mobile-panel .an-mobile-social{
    display:block!important;
    margin:24px 0 8px!important;
    padding:18px 0 0!important;
    border-top:1px solid #dce7ef!important;
  }
  .an-mobile-social-heading{
    display:block;
    margin:0 0 12px;
    color:#405474;
    font-size:.83rem;
    font-weight:850;
  }
  .an-mobile-social-links{display:flex;gap:10px;flex-wrap:wrap}
  .an-mobile-panel .an-mobile-social-links>a,
  body .an-mobile-panel .an-mobile-social-links>a:not(.an-mobile-cta){
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:9px!important;
    flex:1 1 135px!important;
    width:auto!important;
    min-width:0!important;
    min-height:48px!important;
    padding:9px 14px!important;
    border-radius:15px!important;
    border:1px solid #dbe6f0!important;
    border-bottom:1px solid #dbe6f0!important;
    background:#fff!important;
    color:#193960!important;
    box-shadow:0 4px 12px rgba(15,51,89,.055)!important;
    text-decoration:none!important;
    font-size:.95rem!important;
    font-weight:850!important;
  }
  .an-mobile-panel .an-mobile-social-links img{
    display:block!important;
    width:23px!important;
    height:23px!important;
    flex:0 0 23px!important;
    object-fit:contain!important;
  }
  .an-mobile-panel .an-mobile-social-links>a:focus-visible{
    outline:3px solid #1468dc!important;
    outline-offset:2px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  .an-header-social-link{transition:none!important}
}


/* ================================================================
   ADA NEGRI v1.21.6 — MENU VISIBILE SU MACBOOK ANCHE AL 100% DI ZOOM
   Desktop/tablet da 701 CSS px: menu sempre in vista. Il menu occupa
   una o più righe sotto il logo; non può mai sovrapporsi ad esso.
   Solo i telefoni fino a 700 CSS px usano il drawer hamburger.
   Override finale intenzionale contro i breakpoint legacy (980/1320).
   ================================================================ */
@media (min-width:701px){
  .an-site-header .an-wrap.an-nav{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-rows:auto auto!important;
    align-items:center!important;
    align-content:center!important;
    justify-items:stretch!important;
    column-gap:12px!important;
    row-gap:10px!important;
    width:min(calc(100% - 24px),1940px)!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    padding:12px 16px 14px!important;
    overflow:visible!important;
  }
  .an-site-header .an-brand{
    grid-column:1!important;
    grid-row:1!important;
    flex:none!important;
    justify-self:start!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    overflow:visible!important;
  }
  .an-site-header .an-brand>a,
  .an-site-header .an-brand>.custom-logo-link{
    display:flex!important;
    align-items:center!important;
    width:auto!important;
    max-width:100%!important;
  }
  .an-site-header .an-brand img,
  .an-site-header .an-brand .custom-logo{
    width:clamp(185px,23vw,315px)!important;
    max-width:100%!important;
    height:auto!important;
    max-height:92px!important;
    object-fit:contain!important;
    object-position:left center!important;
  }
  .an-site-header .an-nav>nav,
  .an-site-header nav{
    display:block!important;
    grid-column:1 / -1!important;
    grid-row:2!important;
    min-width:0!important;
    max-width:100%!important;
    width:100%!important;
    margin:0!important;
    flex:none!important;
    visibility:visible!important;
  }
  .an-site-header .an-main-menu{
    display:flex!important;
    flex-flow:row wrap!important;
    justify-content:center!important;
    align-items:center!important;
    gap:8px!important;
    padding:0!important;
    margin:0!important;
    min-width:0!important;
    width:100%!important;
    max-width:100%!important;
  }
  .an-site-header .an-main-menu>li{
    flex:0 0 auto!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .an-site-header .an-main-menu>li>a,
  .an-site-header .an-main-menu>li:not(.menu-item-cta)>a{
    display:inline-flex!important;
    gap:7px!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:46px!important;
    padding:10px 12px!important;
    font-size:.86rem!important;
    line-height:1.1!important;
    white-space:nowrap!important;
  }
  .an-site-header .an-main-menu>li>a::before{
    width:21px!important;
    height:21px!important;
    flex:0 0 21px!important;
  }
  .an-site-header .an-main-menu>li.menu-item-cta>a{
    padding:10px 16px!important;
    min-height:48px!important;
  }
  .an-site-header .an-header-social{
    grid-column:2!important;
    grid-row:1!important;
    display:flex!important;
    justify-self:end!important;
    align-items:center!important;
    flex:none!important;
    position:relative!important;
    z-index:3!important;
    gap:9px!important;
  }
  .an-site-header .an-menu-toggle,
  body .an-site-header .an-menu-toggle{display:none!important;}
  .an-mobile-panel,
  .an-mobile-panel.is-open{display:none!important;}
}
@media (min-width:701px) and (max-width:1100px){
  .an-site-header .an-main-menu{gap:7px!important}
  .an-site-header .an-main-menu>li>a,
  .an-site-header .an-main-menu>li:not(.menu-item-cta)>a{
    padding:9px 11px!important;
    font-size:.83rem!important;
    min-height:43px!important;
  }
  .an-site-header .an-main-menu>li>a::before{
    width:19px!important;
    height:19px!important;
    flex-basis:19px!important;
  }
  .an-header-social-label{display:none!important}
  .an-site-header .an-header-social .an-header-social-link{
    width:40px!important;height:40px!important;flex-basis:40px!important;
  }
}
/* Mantieni il mobile originale sugli smartphone e iOS. */
@media (max-width:700px){
  .an-site-header .an-header-social{display:none!important}
  .an-site-header .an-menu-toggle{display:block!important}
}


/* ================================================================
   ADA NEGRI v1.21.7 — LOGO GRANDE AL CENTRO IN ALTO,
   PULSANTI IN BASSO E SOCIAL MINIMALISTI A DESTRA.
   Override finale: desktop/tablet da 701px in su.
   ================================================================ */
@media (min-width:701px){
  .an-site-header .an-wrap.an-nav{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    align-items:center!important;
    column-gap:12px!important;
    row-gap:12px!important;
    width:min(calc(100% - 24px),1940px)!important;
    max-width:none!important;
    min-height:0!important;
    height:auto!important;
    padding:14px 18px 16px!important;
  }
  .an-site-header .an-brand{
    grid-column:2!important;
    grid-row:1!important;
    justify-self:center!important;
    align-self:center!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0 auto!important;
    flex:none!important;
    text-align:center!important;
  }
  .an-site-header .an-brand>a,
  .an-site-header .an-brand>.custom-logo-link{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    max-width:100%!important;
    margin:0 auto!important;
  }
  .an-site-header .an-brand img,
  .an-site-header .an-brand .custom-logo{
    width:clamp(250px,30vw,430px)!important;
    max-width:100%!important;
    max-height:none!important;
    height:auto!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
  .an-site-header .an-header-social{
    grid-column:3!important;
    grid-row:1!important;
    justify-self:end!important;
    align-self:center!important;
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    margin:0!important;
    position:relative!important;
    z-index:3!important;
  }
  .an-header-social-label{display:none!important}
  .an-site-header .an-header-social .an-header-social-link{
    width:34px!important;
    height:34px!important;
    flex:0 0 34px!important;
    display:grid!important;
    place-items:center!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    outline:none!important;
    transform:none!important;
  }
  .an-site-header .an-header-social .an-header-social-link:hover{
    transform:none!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    opacity:.82!important;
  }
  .an-site-header .an-header-social .an-header-social-link img{
    width:34px!important;
    height:34px!important;
    object-fit:contain!important;
    display:block!important;
  }
  .an-site-header .an-nav>nav,
  .an-site-header nav{
    grid-column:1 / -1!important;
    grid-row:2!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
  }
  .an-site-header .an-main-menu{
    display:flex!important;
    flex-flow:row wrap!important;
    justify-content:center!important;
    align-items:center!important;
    gap:10px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
  }
  .an-site-header .an-main-menu>li{
    flex:0 0 auto!important;
    min-width:0!important;
    max-width:100%!important;
  }
  .an-site-header .an-main-menu>li>a,
  .an-site-header .an-main-menu>li:not(.menu-item-cta)>a{
    min-height:46px!important;
    padding:10px 14px!important;
    font-size:.88rem!important;
    line-height:1.1!important;
    white-space:nowrap!important;
  }
  .an-site-header .an-main-menu>li>a::before{
    width:21px!important;
    height:21px!important;
    flex:0 0 21px!important;
  }
  .an-site-header .an-main-menu>li.menu-item-cta>a{
    min-height:48px!important;
    padding:11px 18px!important;
  }
  .an-site-header .an-menu-toggle,
  body .an-site-header .an-menu-toggle{display:none!important}
  .an-mobile-panel,
  .an-mobile-panel.is-open{display:none!important}
}
@media (min-width:701px) and (max-width:1180px){
  .an-site-header .an-brand img,
  .an-site-header .an-brand .custom-logo{
    width:clamp(220px,28vw,360px)!important;
  }
  .an-site-header .an-main-menu{gap:8px!important}
  .an-site-header .an-main-menu>li>a,
  .an-site-header .an-main-menu>li:not(.menu-item-cta)>a{
    min-height:44px!important;
    padding:9px 12px!important;
    font-size:.84rem!important;
  }
  .an-site-header .an-main-menu>li>a::before{
    width:19px!important;
    height:19px!important;
    flex-basis:19px!important;
  }
  .an-site-header .an-header-social .an-header-social-link,
  .an-site-header .an-header-social .an-header-social-link img{
    width:30px!important;
    height:30px!important;
    flex-basis:30px!important;
  }
}
@media (max-width:700px){
  .an-site-header .an-header-social{display:none!important}
  .an-site-header .an-menu-toggle{display:block!important}
}


/* ================================================================
   ADA NEGRI v1.21.8 — LOGO ANCORA PIU GRANDE, SOCIAL A ZAINETTO,
   MENU DESKTOP SEMPRE SU UNA SOLA RIGA.
   ================================================================ */
@media (min-width:1181px){
  .an-site-header .an-wrap.an-nav{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    align-items:center!important;
    column-gap:12px!important;
    row-gap:10px!important;
    width:min(calc(100% - 20px),2000px)!important;
    max-width:none!important;
    min-height:0!important;
    height:auto!important;
    padding:16px 20px 14px!important;
  }
  .an-site-header .an-brand{
    grid-column:2!important;
    grid-row:1!important;
    justify-self:center!important;
    align-self:center!important;
    text-align:center!important;
    margin:0 auto!important;
  }
  .an-site-header .an-brand>a,
  .an-site-header .an-brand>.custom-logo-link{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0 auto!important;
  }
  .an-site-header .an-brand img,
  .an-site-header .an-brand .custom-logo{
    width:clamp(360px,37vw,620px)!important;
    max-width:100%!important;
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center center!important;
  }
  .an-site-header .an-header-social{
    grid-column:3!important;
    grid-row:1!important;
    justify-self:end!important;
    align-self:center!important;
    display:flex!important;
    align-items:center!important;
    gap:14px!important;
    margin:0!important;
    position:relative!important;
    z-index:3!important;
  }
  .an-site-header .an-header-social .an-header-social-label{display:none!important}
  .an-site-header .an-header-social .an-header-social-link{
    width:46px!important;
    height:46px!important;
    flex:0 0 46px!important;
    display:grid!important;
    place-items:center!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    border-radius:0!important;
    transform:none!important;
  }
  .an-site-header .an-header-social .an-header-social-link img{
    width:46px!important;
    height:46px!important;
    display:block!important;
    object-fit:contain!important;
  }
  .an-site-header nav,
  .an-site-header .an-nav>nav{
    grid-column:1 / -1!important;
    grid-row:2!important;
    width:100%!important;
    margin:0!important;
    display:block!important;
  }
  .an-site-header .an-main-menu{
    display:flex!important;
    flex-wrap:nowrap!important;
    justify-content:center!important;
    align-items:center!important;
    gap:8px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }
  .an-site-header .an-main-menu>li{
    flex:0 0 auto!important;
    min-width:0!important;
  }
  .an-site-header .an-main-menu>li>a,
  .an-site-header .an-main-menu>li:not(.menu-item-cta)>a{
    min-height:44px!important;
    padding:9px 13px!important;
    font-size:.84rem!important;
    line-height:1!important;
    white-space:nowrap!important;
    gap:7px!important;
  }
  .an-site-header .an-main-menu>li>a::before{
    width:19px!important;
    height:19px!important;
    flex:0 0 19px!important;
  }
  .an-site-header .an-main-menu>li.menu-item-cta>a{
    min-height:46px!important;
    padding:10px 15px!important;
    font-size:.84rem!important;
  }
  .an-site-header .an-menu-toggle,
  .an-mobile-panel{display:none!important}
}
@media (min-width:1181px) and (max-width:1450px){
  .an-site-header .an-brand img,
  .an-site-header .an-brand .custom-logo{width:clamp(330px,34vw,520px)!important}
  .an-site-header .an-main-menu{gap:6px!important}
  .an-site-header .an-main-menu>li>a,
  .an-site-header .an-main-menu>li:not(.menu-item-cta)>a{
    padding:8px 11px!important;
    font-size:.8rem!important;
  }
  .an-site-header .an-main-menu>li>a::before{
    width:18px!important;
    height:18px!important;
    flex-basis:18px!important;
  }
  .an-site-header .an-main-menu>li.menu-item-cta>a{padding:9px 13px!important}
  .an-site-header .an-header-social .an-header-social-link,
  .an-site-header .an-header-social .an-header-social-link img{
    width:40px!important;
    height:40px!important;
    flex-basis:40px!important;
  }
}
@media (max-width:1180px){
  .an-site-header .an-header-social{display:none!important}
}


/* ================================================================
   ADA NEGRI v1.21.9 — RIQUADRO SOCIAL CHIARO + ICONE MENU PIU GRANDI
   ================================================================ */
@media (min-width:1181px){
  .an-site-header .an-header-social{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:12px!important;
    padding:10px 16px!important;
    min-height:84px!important;
    background:linear-gradient(180deg,#fffdf8 0%,#fff8ea 100%)!important;
    border:2px solid #f1d89c!important;
    border-radius:26px!important;
    box-shadow:0 10px 24px rgba(20,50,90,.08)!important;
    position:relative!important;
    overflow:visible!important;
  }
  .an-site-header .an-header-social::before,
  .an-site-header .an-header-social::after{
    content:''!important;
    position:absolute!important;
    left:14px!important;
    width:12px!important;
    height:12px!important;
    border-radius:999px!important;
    background:linear-gradient(135deg,#ff7e33,#ff4f4f)!important;
    box-shadow:12px 12px 0 0 #2e77ff,24px 0 0 0 #2dbb55!important;
    opacity:.95!important;
  }
  .an-site-header .an-header-social::before{top:16px!important}
  .an-site-header .an-header-social::after{bottom:16px!important;transform:scale(.85)!important}
  .an-site-header .an-header-social .an-header-social-label{
    display:block!important;
    min-width:116px!important;
    max-width:116px!important;
    margin:0!important;
    padding-left:18px!important;
    color:#163c81!important;
    font-size:1.08rem!important;
    line-height:1.06!important;
    font-weight:900!important;
    letter-spacing:-.02em!important;
    text-align:left!important;
  }
  .an-site-header .an-header-social .an-header-social-link{
    width:56px!important;
    height:56px!important;
    flex:0 0 56px!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    border-radius:0!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
    transition:transform .16s ease, opacity .16s ease!important;
  }
  .an-site-header .an-header-social .an-header-social-link:hover{transform:translateY(-2px) scale(1.04)!important;opacity:1!important}
  .an-site-header .an-header-social .an-header-social-link img{
    width:56px!important;
    height:56px!important;
    object-fit:contain!important;
    display:block!important;
  }
  .an-site-header .an-main-menu{gap:9px!important}
  .an-site-header .an-main-menu>li>a,
  .an-site-header .an-main-menu>li:not(.menu-item-cta)>a{
    min-height:50px!important;
    padding:10px 15px!important;
    font-size:.93rem!important;
    border-radius:24px!important;
    gap:9px!important;
  }
  .an-site-header .an-main-menu>li>a::before{
    width:30px!important;
    height:30px!important;
    flex:0 0 30px!important;
    background-size:30px 30px!important;
  }
  .an-site-header .an-main-menu>li.menu-item-cta>a{
    min-height:54px!important;
    padding:11px 18px!important;
  }
  .an-site-header .an-main-menu>li.menu-item-cta>a::before{
    width:32px!important;
    height:32px!important;
    flex-basis:32px!important;
    background-size:32px 32px!important;
  }
  .an-main-menu>li.menu-icon-mensa>a::before,
  .an-mobile-menu>li.menu-icon-mensa>a::before{
    font-size:27px!important;
  }
  .an-main-menu>li.menu-icon-notices>a::before,
  .an-mobile-menu>li.menu-icon-notices>a::before{
    font-size:26px!important;
  }
}
@media (min-width:1181px) and (max-width:1450px){
  .an-site-header .an-header-social{padding:9px 13px!important;min-height:76px!important}
  .an-site-header .an-header-social .an-header-social-label{min-width:102px!important;max-width:102px!important;font-size:1rem!important}
  .an-site-header .an-header-social .an-header-social-link,
  .an-site-header .an-header-social .an-header-social-link img{width:48px!important;height:48px!important;flex-basis:48px!important}
  .an-site-header .an-main-menu{gap:7px!important}
  .an-site-header .an-main-menu>li>a,
  .an-site-header .an-main-menu>li:not(.menu-item-cta)>a{padding:9px 12px!important;font-size:.88rem!important}
  .an-site-header .an-main-menu>li>a::before{width:27px!important;height:27px!important;flex-basis:27px!important;background-size:27px 27px!important}
  .an-site-header .an-main-menu>li.menu-item-cta>a::before{width:28px!important;height:28px!important;flex-basis:28px!important;background-size:28px 28px!important}
}


/* ================================================================
   ADA NEGRI v1.22.0 — RIQUADRO SOCIAL VISIBILE ANCHE NELLA HOME MOBILE
   ================================================================ */
.an-mobile-home-social{display:none}
@media (max-width:980px){
  .an-mobile-home-social{
    display:block;
    background:transparent;
    padding:12px 0 4px;
  }
  .an-mobile-home-social .an-mobile-home-social-inner{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    background:linear-gradient(180deg,#fffdf8 0%,#fff8ea 100%);
    border:2px solid #f1d89c;
    border-radius:22px;
    padding:12px 14px;
    box-shadow:0 8px 20px rgba(20,50,90,.08);
    position:relative;
    overflow:hidden;
  }
  .an-mobile-home-social .an-mobile-home-social-inner::before,
  .an-mobile-home-social .an-mobile-home-social-inner::after{
    content:'';
    position:absolute;
    width:10px;
    height:10px;
    border-radius:999px;
    opacity:.95;
  }
  .an-mobile-home-social .an-mobile-home-social-inner::before{
    left:12px;top:12px;
    background:#ff7d38;
    box-shadow:13px 10px 0 #2f77ff, 26px 0 0 #2dbb55;
  }
  .an-mobile-home-social .an-mobile-home-social-inner::after{
    right:14px;bottom:12px;
    background:#ffd049;
    box-shadow:-13px -8px 0 #ff5b7c;
  }
  .an-mobile-home-social-copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:2px;
    padding-left:4px;
  }
  .an-mobile-home-social-kicker{
    display:block;
    color:#6b7a90;
    font-size:.74rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.05em;
  }
  .an-mobile-home-social-copy strong{
    color:#173d81;
    font-size:1rem;
    line-height:1.05;
    font-weight:900;
    letter-spacing:-.02em;
  }
  .an-mobile-home-social-links{
    display:flex;
    align-items:center;
    gap:10px;
    flex:0 0 auto;
  }
  .an-mobile-home-social-links a{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    text-decoration:none;
    color:#183e82;
    font-weight:800;
    font-size:.72rem;
    line-height:1;
    min-width:64px;
  }
  .an-mobile-home-social-links img{
    display:block;
    width:42px;
    height:42px;
    object-fit:contain;
  }
}
@media (max-width:640px){
  .an-mobile-home-social{padding:10px 0 2px}
  .an-mobile-home-social .an-mobile-home-social-inner{
    gap:10px;
    padding:11px 12px;
    border-radius:20px;
  }
  .an-mobile-home-social-copy strong{font-size:.94rem}
  .an-mobile-home-social-kicker{font-size:.68rem}
  .an-mobile-home-social-links{gap:8px}
  .an-mobile-home-social-links a{min-width:58px;font-size:.68rem}
  .an-mobile-home-social-links img{width:38px;height:38px}
}


/* ================================================================
   ADA NEGRI v1.22.1 — HOME MOBILE SOCIAL BOX RIPULITO
   Niente pallini decorativi, icone più grandi e più chiare.
   ================================================================ */
@media (max-width:980px){
  .an-mobile-home-social .an-mobile-home-social-inner{
    gap:14px!important;
    padding:14px 16px!important;
    border-radius:24px!important;
    align-items:center!important;
  }
  .an-mobile-home-social .an-mobile-home-social-inner::before,
  .an-mobile-home-social .an-mobile-home-social-inner::after{
    display:none!important;
    content:none!important;
  }
  .an-mobile-home-social-copy{
    flex:1 1 auto!important;
    padding-left:0!important;
  }
  .an-mobile-home-social-kicker{
    display:none!important;
  }
  .an-mobile-home-social-copy strong{
    font-size:1.08rem!important;
    line-height:1.1!important;
    color:#183e82!important;
  }
  .an-mobile-home-social-links{
    gap:14px!important;
    flex:0 0 auto!important;
  }
  .an-mobile-home-social-links a{
    min-width:72px!important;
    gap:5px!important;
    font-size:.76rem!important;
    color:#183e82!important;
    font-weight:900!important;
  }
  .an-mobile-home-social-links img{
    width:56px!important;
    height:56px!important;
  }
}
@media (max-width:640px){
  .an-mobile-home-social .an-mobile-home-social-inner{
    padding:13px 14px!important;
    gap:12px!important;
  }
  .an-mobile-home-social-copy strong{
    font-size:1rem!important;
  }
  .an-mobile-home-social-links{
    gap:10px!important;
  }
  .an-mobile-home-social-links a{
    min-width:66px!important;
    font-size:.72rem!important;
  }
  .an-mobile-home-social-links img{
    width:52px!important;
    height:52px!important;
  }
}


/* ================================================================
   ADA NEGRI v1.22.2 — SOCIAL BOX DESKTOP + MOBILE RIFINITI
   ================================================================ */
@media (min-width:1181px){
  .an-site-header .an-header-social{
    display:grid!important;
    grid-template-columns:minmax(165px,1fr) auto auto!important;
    align-items:center!important;
    gap:14px!important;
    padding:14px 16px!important;
    min-height:unset!important;
    background:linear-gradient(180deg,#fffdf8 0%,#fff8ea 100%)!important;
    border:2px solid #f1d89c!important;
    border-radius:26px!important;
    box-shadow:0 10px 24px rgba(20,50,90,.08)!important;
    overflow:hidden!important;
  }
  .an-site-header .an-header-social::before,
  .an-site-header .an-header-social::after{display:none!important;content:none!important}
  .an-site-header .an-header-social .an-header-social-label{display:none!important}
  .an-site-header .an-header-social-copy{
    display:flex!important;
    flex-direction:column!important;
    gap:2px!important;
    min-width:0!important;
  }
  .an-site-header .an-header-social-kicker{
    display:block!important;
    color:#6c7a90!important;
    font-size:.72rem!important;
    font-weight:900!important;
    text-transform:uppercase!important;
    letter-spacing:.06em!important;
    line-height:1.1!important;
  }
  .an-site-header .an-header-social-title{
    display:block!important;
    color:#173d81!important;
    font-size:1.08rem!important;
    line-height:1.08!important;
    font-weight:900!important;
    letter-spacing:-.02em!important;
  }
  .an-site-header .an-header-social-subtitle{
    display:block!important;
    color:#64748b!important;
    font-size:.76rem!important;
    line-height:1.22!important;
    font-weight:700!important;
  }
  .an-site-header .an-header-social .an-header-social-link{
    width:auto!important;
    height:auto!important;
    min-width:68px!important;
    flex:none!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:5px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
    border-radius:0!important;
  }
  .an-site-header .an-header-social .an-header-social-link img{
    width:56px!important;
    height:56px!important;
    object-fit:contain!important;
  }
  .an-site-header .an-header-social .an-header-social-link span{
    display:block!important;
    color:#173d81!important;
    font-size:.74rem!important;
    line-height:1!important;
    font-weight:900!important;
  }
}
@media (min-width:1181px) and (max-width:1450px){
  .an-site-header .an-header-social{grid-template-columns:minmax(145px,1fr) auto auto!important;gap:10px!important;padding:12px 13px!important}
  .an-site-header .an-header-social-kicker{font-size:.68rem!important}
  .an-site-header .an-header-social-title{font-size:1rem!important}
  .an-site-header .an-header-social-subtitle{font-size:.71rem!important}
  .an-site-header .an-header-social .an-header-social-link{min-width:60px!important}
  .an-site-header .an-header-social .an-header-social-link img{width:48px!important;height:48px!important}
  .an-site-header .an-header-social .an-header-social-link span{font-size:.7rem!important}
}
@media (max-width:980px){
  .an-mobile-home-social .an-mobile-home-social-inner{
    gap:14px!important;
    align-items:center!important;
  }
  .an-mobile-home-social-copy{
    flex:1 1 auto!important;
    max-width:calc(100% - 150px)!important;
  }
  .an-mobile-home-social-copy strong{
    display:block!important;
    margin:0 0 2px!important;
  }
  .an-mobile-home-social-subtitle{
    display:block!important;
    color:#64748b!important;
    font-size:.74rem!important;
    line-height:1.22!important;
    font-weight:700!important;
  }
  .an-mobile-home-social-links{
    gap:12px!important;
  }
  .an-mobile-home-social-links a{
    min-width:70px!important;
  }
  .an-mobile-home-social-links img{
    width:56px!important;
    height:56px!important;
  }
}
@media (max-width:640px){
  .an-mobile-home-social-copy{max-width:calc(100% - 136px)!important}
  .an-mobile-home-social-subtitle{font-size:.69rem!important}
  .an-mobile-home-social-links a{min-width:64px!important;font-size:.7rem!important}
  .an-mobile-home-social-links img{width:50px!important;height:50px!important}
}


/* =============================================================
   ADA NEGRI v1.22.3 - intestazione desktop: social discreti
   Il mobile rimane identico alla v1.22.2.
   ============================================================= */
@media (min-width:1181px) {
  .an-site-header .an-header-social {
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    grid-template-columns:none!important;
    width:auto!important;
    min-width:0!important;
    min-height:0!important;
    max-width:100%!important;
    gap:8px!important;
    padding:8px 10px 8px 15px!important;
    border:1px solid rgba(25,63,115,.12)!important;
    border-radius:18px!important;
    background:rgba(255,255,255,.62)!important;
    box-shadow:0 4px 12px rgba(14,52,95,.035)!important;
    overflow:visible!important;
  }
  .an-site-header .an-header-social::before,
  .an-site-header .an-header-social::after {content:none!important;display:none!important}
  .an-site-header .an-header-social-copy {
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:center!important;
    min-width:0!important;
    max-width:125px!important;
    gap:2px!important;
    margin-right:3px!important;
  }
  .an-site-header .an-header-social .an-header-social-kicker,
  .an-site-header .an-header-social .an-header-social-subtitle,
  .an-site-header .an-header-social .an-header-social-label {
    display:none!important;
  }
  .an-site-header .an-header-social .an-header-social-title {
    display:block!important;
    color:#173d81!important;
    font-size:.88rem!important;
    line-height:1.1!important;
    letter-spacing:0!important;
    font-weight:800!important;
    max-width:125px!important;
  }
  .an-site-header .an-header-social .an-header-social-link {
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    width:50px!important;
    min-width:50px!important;
    max-width:50px!important;
    height:auto!important;
    flex:0 0 50px!important;
    padding:0!important;
    gap:2px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    transform:none!important;
    transition:opacity .18s ease!important;
  }
  .an-site-header .an-header-social .an-header-social-link:hover {
    transform:none!important;
    opacity:.78!important;
    box-shadow:none!important;
  }
  .an-site-header .an-header-social .an-header-social-link:focus-visible {
    outline:2px solid #245bc7!important;
    outline-offset:2px!important;
    border-radius:6px!important;
  }
  .an-site-header .an-header-social .an-header-social-link img {
    display:block!important;
    width:43px!important;
    height:43px!important;
    object-fit:contain!important;
  }
  .an-site-header .an-header-social .an-header-social-link span {
    display:block!important;
    font-size:.64rem!important;
    font-weight:750!important;
    line-height:1!important;
    color:#344d72!important;
  }
}
@media (min-width:1181px) and (max-width:1450px) {
  .an-site-header .an-header-social {
    padding:6px 8px 6px 11px!important;
    gap:5px!important;
  }
  .an-site-header .an-header-social-copy {max-width:101px!important;margin-right:1px!important}
  .an-site-header .an-header-social .an-header-social-title {font-size:.79rem!important;max-width:101px!important}
  .an-site-header .an-header-social .an-header-social-link {
    width:43px!important;min-width:43px!important;max-width:43px!important;flex-basis:43px!important;
  }
  .an-site-header .an-header-social .an-header-social-link img {width:37px!important;height:37px!important}
  .an-site-header .an-header-social .an-header-social-link span {font-size:.59rem!important}
}
@media (prefers-reduced-motion:reduce) {
  .an-site-header .an-header-social .an-header-social-link {transition:none!important}
}

/* Sui portatili desktop stretti evita il taglio laterale del menu
   mantenendo tutte le voci sulla stessa riga. */
@media (min-width:1181px) and (max-width:1320px) {
  .an-site-header .an-main-menu {gap:4px!important;justify-content:center!important}
  .an-site-header .an-main-menu>li>a,
  .an-site-header .an-main-menu>li:not(.menu-item-cta)>a {
    min-height:42px!important;
    padding:8px 7px!important;
    font-size:.78rem!important;
    gap:5px!important;
  }
  .an-site-header .an-main-menu>li>a::before {
    width:18px!important;
    height:18px!important;
    flex:0 0 18px!important;
    background-size:contain!important;
  }
  .an-site-header .an-main-menu>li.menu-item-cta>a {
    min-height:44px!important;
    padding:9px 10px!important;
    font-size:.78rem!important;
  }
  .an-site-header .an-main-menu>li.menu-item-cta>a::before {
    width:19px!important;height:19px!important;flex-basis:19px!important;
    background-size:contain!important;
  }
}

/* ======================================================================
   Ada Negri 1.22.4 — Social desktop integrati nel logo, senza card.
   Solo desktop, il riquadro mobile approvato resta invariato.
   ====================================================================== */
@media (min-width:1181px) {
  .an-site-header .an-header-social {
    grid-column:3!important;
    grid-row:1!important;
    justify-self:start!important;
    align-self:center!important;
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:12px!important;
    width:max-content!important;
    max-width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    margin:0 0 0 clamp(10px, 1.8vw, 34px)!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:none!important;
    box-shadow:none!important;
    overflow:visible!important;
  }
  .an-site-header .an-header-social::before,
  .an-site-header .an-header-social::after {
    display:none!important;
    content:none!important;
  }
  .an-site-header .an-header-social-copy {
    display:block!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    flex:none!important;
    margin:0 1px 0 0!important;
    padding:0!important;
  }
  .an-site-header .an-header-social .an-header-social-kicker,
  .an-site-header .an-header-social .an-header-social-subtitle,
  .an-site-header .an-header-social .an-header-social-label {
    display:none!important;
  }
  .an-site-header .an-header-social .an-header-social-title {
    display:block!important;
    max-width:none!important;
    white-space:nowrap!important;
    color:#34537d!important;
    font-weight:750!important;
    font-size:.86rem!important;
    line-height:1.2!important;
    letter-spacing:0!important;
  }
  .an-site-header .an-header-social .an-header-social-link {
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:50px!important;
    min-width:50px!important;
    max-width:50px!important;
    height:50px!important;
    min-height:50px!important;
    flex:0 0 50px!important;
    gap:0!important;
    padding:0!important;
    border:0!important;
    border-radius:10px!important;
    background:transparent!important;
    box-shadow:none!important;
    opacity:1!important;
    transform:none!important;
    transition:transform .18s ease!important;
  }
  .an-site-header .an-header-social .an-header-social-link img {
    display:block!important;
    width:50px!important;
    height:50px!important;
    max-width:100%!important;
    object-fit:contain!important;
  }
  .an-site-header .an-header-social .an-header-social-link span {
    display:none!important;
  }
  .an-site-header .an-header-social .an-header-social-link:hover {
    transform:translateY(-2px)!important;
    opacity:1!important;
    box-shadow:none!important;
  }
  .an-site-header .an-header-social .an-header-social-link:focus-visible {
    outline:3px solid #245bc7!important;
    outline-offset:2px!important;
  }
}
@media (min-width:1181px) and (max-width:1540px) {
  .an-site-header .an-header-social {gap:7px!important;margin-left:12px!important}
  .an-site-header .an-header-social .an-header-social-title {font-size:.79rem!important}
  .an-site-header .an-header-social .an-header-social-link {
    width:43px!important;min-width:43px!important;max-width:43px!important;
    height:43px!important;min-height:43px!important;flex-basis:43px!important;
  }
  .an-site-header .an-header-social .an-header-social-link img {width:43px!important;height:43px!important}
}
/* Il menu deve restare in una sola riga senza forzare scroll orizzontale. */
@media (min-width:1181px) and (max-width:1530px) {
  .an-site-header .an-main-menu {gap:clamp(2px,.35vw,5px)!important;justify-content:center!important}
  .an-site-header .an-main-menu>li>a,
  .an-site-header .an-main-menu>li:not(.menu-item-cta)>a {
    min-height:44px!important;
    padding:9px clamp(6px,.72vw,11px)!important;
    font-size:clamp(.73rem,.84vw,.83rem)!important;
    gap:clamp(4px,.42vw,7px)!important;
  }
  .an-site-header .an-main-menu>li>a::before {
    width:clamp(18px,1.85vw,24px)!important;
    height:clamp(18px,1.85vw,24px)!important;
    flex:0 0 clamp(18px,1.85vw,24px)!important;
    background-size:contain!important;
  }
  .an-site-header .an-main-menu>li.menu-item-cta>a {
    padding:9px clamp(9px,.9vw,13px)!important;
    font-size:clamp(.73rem,.84vw,.83rem)!important;
  }
  .an-site-header .an-main-menu>li.menu-item-cta>a::before {
    width:clamp(18px,1.9vw,25px)!important;
    height:clamp(18px,1.9vw,25px)!important;
    flex:0 0 clamp(18px,1.9vw,25px)!important;
    background-size:contain!important;
  }
}
@media (prefers-reduced-motion:reduce) {
  .an-site-header .an-header-social .an-header-social-link {transition:none!important}
}

/* v1.23.0 — Area famiglie */
.an-family-hero{background:linear-gradient(120deg,#f2f8ff,#fffdf5);padding:64px 0 54px;border-bottom:1px solid #e3edf8}
.an-family-hero h1{color:#113d83;font-size:clamp(2rem,4vw,3.1rem);margin:12px 0}
.an-family-hero p{max-width:660px;color:#4f647e;line-height:1.7;margin:0 0 22px}
.an-family-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #bcd5f3;background:#eef6ff;color:#11478b!important;border-radius:14px;padding:11px 17px;font-weight:800;text-decoration:none;transition:background .2s ease}
.an-family-button:hover{background:#dceeff}
.an-family-info{padding:16px 20px;margin-bottom:30px;border:1px solid #dce8f6;background:#f6faff;color:#34526b;border-radius:17px;line-height:1.6}
.an-family-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.an-family-card{border:1px solid #dfebf7;border-radius:22px;background:white;padding:24px;box-shadow:0 10px 28px rgba(26,56,96,.06);display:flex;gap:20px;align-items:start;min-width:0}
.an-family-card-date{background:#eaf4ff;color:#144a89;border-radius:15px;min-width:80px;padding:14px 8px;display:flex;flex-direction:column;align-items:center;gap:3px}
.an-family-card-date strong{font-size:2rem;line-height:1.1}
.an-family-card-date span{font-size:.78rem;font-weight:800;text-align:center}
.an-family-card-content{flex:1;min-width:0}
.an-family-card-content h2,.an-family-card-content h3{font-size:1.19rem;color:#133a74;line-height:1.35;margin:0 0 12px}
.an-family-card-content p,.an-family-desc{color:#52647c;font-size:.93rem;line-height:1.6;margin:0 0 9px}
.an-family-card-content .an-family-button{margin-top:14px;font-size:.85rem}
.an-family-doc-symbol{font-size:2.25rem;background:#f7fafc;border-radius:16px;padding:10px}
.an-family-empty{padding:42px 30px;text-align:center;border:1px dashed #bfcee2;background:#fff;border-radius:20px}
.an-family-empty h2{color:#133a74;margin-bottom:12px}
.an-family-subhead{color:#123f7d;margin:35px 0 17px}
.an-family-home{background:#fafcff}
.an-family-home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.an-family-home-grid>a{background:#fff;border:1px solid #e5edf6;padding:28px;border-radius:22px;text-decoration:none;display:flex;flex-direction:column;align-items:flex-start;gap:10px;box-shadow:0 8px 25px rgba(36,58,103,.04)}
.an-family-home-grid>a:hover{border-color:#b4d6fa;transform:translateY(-2px)}
.an-family-home-grid span{font-size:2rem}
.an-family-home-grid strong{color:#103f80;font-size:1.24rem}
.an-family-home-grid small{color:#63748b;line-height:1.5;font-size:.9rem}
.an-family-home-grid b{color:#1263bd;font-size:.85rem;margin-top:5px}
@media(max-width:780px){.an-family-hero{padding:42px 0}.an-family-cards,.an-family-home-grid{grid-template-columns:1fr}.an-family-card{padding:18px;gap:14px}.an-family-card-date{min-width:65px}.an-family-home-grid>a{padding:22px}}
@media(prefers-reduced-motion:reduce){.an-family-button,.an-family-home-grid>a{transition:none!important}}

.an-notice-filter{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 25px;padding:17px 20px;background:#f8fbff;border:1px solid #e0ebf7;border-radius:18px;color:#26496c}
.an-notice-filter label{font-weight:800;font-size:.85rem}
.an-notice-filter select{border:1px solid #cadaee;border-radius:12px;padding:10px;max-width:100%;background:#fff}
.an-notice-filter-urgent{display:flex;align-items:center;gap:7px}
.an-notice-filter a:not(.an-family-button){color:#326bad;font-size:.86rem}
@media(max-width:600px){.an-notice-filter{align-items:stretch;flex-direction:column}.an-notice-filter .an-family-button{width:100%}}


/* Ada Negri v1.24 — menu mensa a schede, leggibile senza scroll orizzontale */
.an-mensa-section .an-wrap{min-width:0}
.an-mensa-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-bottom:16px}
.an-mensa-summary{min-width:0;display:flex;gap:16px;align-items:center;justify-content:space-between;border:1px solid #dcebe6;border-radius:24px;background:#f1faf5;padding:22px 24px;box-shadow:0 9px 20px rgba(11,61,65,.045)}
.an-mensa-summary--next{background:#eef6ff;border-color:#dce8f8}
.an-mensa-summary-copy{min-width:0;display:flex;flex-direction:column;gap:6px}
.an-mensa-summary-eyebrow{font-weight:850;letter-spacing:.035em;text-transform:uppercase;color:#347859;font-size:.72rem}
.an-mensa-summary--next .an-mensa-summary-eyebrow{color:#376bb1}
.an-mensa-summary-title{font-family:var(--an-display);font-size:clamp(1.45rem,2vw,2rem);color:#124637;letter-spacing:-.04em;line-height:1.1}
.an-mensa-summary--next .an-mensa-summary-title{color:#164b85}
.an-mensa-summary-date{font-size:.88rem;color:#546879;font-weight:700}
.an-mensa-summary-action{display:flex;flex-direction:column;align-items:center;gap:10px;flex:0 0 auto}
.an-mensa-summary-letter{display:grid;place-items:center;width:62px;height:62px;background:#fff;color:#12794b;border:1px solid #d5e9d9;border-radius:19px;font-family:var(--an-display);font-size:2rem;font-weight:900;box-shadow:0 6px 16px rgba(22,74,63,.065)}
.an-mensa-summary--next .an-mensa-summary-letter{color:#174c90;border-color:#dce6f9}
.an-mensa-show{background:transparent;border:0;color:#125c44;font-family:inherit;font-weight:900;font-size:.84rem;cursor:pointer;padding:4px;white-space:nowrap}
.an-mensa-summary--next .an-mensa-show{color:#175291}
.an-mensa-show:hover{text-decoration:underline}
.an-mensa-show:focus-visible{outline:3px solid #f5bd50;border-radius:7px}
.an-mensa-rotation-note{margin:0 0 26px;color:#587080;font-size:.85rem;line-height:1.55}
.an-mensa-shell{min-width:0;overflow:hidden}
.an-mensa-shell .an-mensa-tabs{max-width:100%;width:100%;margin-bottom:22px}
.an-mensa-tab-current{border-radius:999px;padding:3px 8px;background:#e3f5eb;color:#195d3a;font-size:.68rem;font-weight:900}
.an-mensa-days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.an-mensa-day{min-width:0;border:1px solid #e1e9e9;border-radius:19px;background:linear-gradient(180deg,#fff 0%,#fbfdfd 100%);overflow:hidden;box-shadow:0 4px 12px rgba(11,46,68,.035)}
.an-mensa-day-head{display:flex;align-items:center;gap:11px;padding:15px 18px;background:#f0f8f4;border-bottom:1px solid #e1ece6}
.an-mensa-day-dot{width:10px;height:10px;border-radius:50%;background:#279b68;box-shadow:0 0 0 4px #d9efe3;flex:0 0 auto}
.an-mensa-day-head h3{font-family:var(--an-display);font-size:1.04rem;color:#0e5740;margin:0;line-height:1.3}
.an-mensa-meals{padding:6px 17px 12px;margin:0;display:block}
.an-mensa-meal{padding:12px 0;border-bottom:1px solid #edf1f1;min-width:0}
.an-mensa-meal:last-child{border-bottom:0}
.an-mensa-meal dt{color:#63817d;text-transform:uppercase;letter-spacing:.04em;font-size:.67rem;font-weight:900;margin:0 0 4px}
.an-mensa-meal dd{color:#253a4b;overflow-wrap:break-word;font-size:.91rem;font-weight:750;line-height:1.45;margin:0}
.an-mensa-not-specified{color:#8d9aa0;font-weight:500;font-style:italic}
.an-mensa-panel[hidden]{display:none!important}
.an-mensa-tab:focus-visible{outline:3px solid #ffc65d;outline-offset:2px}
@media(max-width:1050px){.an-mensa-days{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){
  .an-mensa-overview{grid-template-columns:minmax(0,1fr);gap:12px}
  .an-mensa-summary{padding:18px;gap:12px;border-radius:20px}
  .an-mensa-summary-letter{width:50px;height:50px;border-radius:15px;font-size:1.6rem}
  .an-mensa-summary-title{font-size:1.55rem}
  .an-mensa-summary-date{font-size:.84rem}
  .an-mensa-shell{padding:20px 14px;border-radius:20px}
  .an-mensa-days{grid-template-columns:minmax(0,1fr);gap:12px}
  .an-mensa-day{border-radius:17px}
  .an-mensa-day-head{padding:13px 15px}
  .an-mensa-meals{padding:4px 15px 9px}
  .an-mensa-meal{padding:10px 0}
  .an-mensa-tabs{padding:5px;gap:6px}
  .an-mensa-tab{font-size:.89rem;min-height:48px}
  .an-mensa-summary-action{gap:7px}
  .an-mensa-show{font-size:.74rem}
}
@media(max-width:360px){.an-mensa-summary{flex-wrap:wrap}.an-mensa-summary-action{flex-direction:row;width:100%;justify-content:space-between}}

/* v1.26.1: three shortcuts, no sideways scrolling */
@media (min-width:781px){.an-family-home-grid{grid-template-columns:repeat(3,minmax(0,1fr));}}

/* v1.26.2 — accesso a Oggi a scuola visibile in apertura */
.an-today-home-first{position:relative;z-index:2;padding:15px 0 17px;background:#f6faff;border-bottom:1px solid #dfebfa}
.an-today-home-first-link{display:flex;align-items:center;gap:18px;padding:17px 22px;border-radius:19px;background:linear-gradient(110deg,#0d468e 0%,#1460b4 100%);color:#fff!important;box-shadow:0 10px 24px rgba(12,60,119,.16);transition:transform .18s ease, box-shadow .18s ease}
.an-today-home-first-link:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(12,60,119,.2)}
.an-today-home-first-icon{flex:0 0 52px;width:52px;height:52px;display:grid;place-items:center;border-radius:16px;background:rgba(255,255,255,.17);font-size:1.7rem}
.an-today-home-first-copy{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.an-today-home-first-copy strong{font-size:clamp(1.17rem,2vw,1.55rem);line-height:1.2;color:#fff}
.an-today-home-first-copy span{font-size:.89rem;line-height:1.45;color:#e7f3ff}
.an-today-home-first-cta{display:flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:999px;background:#fff;color:#104b90;padding:11px 17px;font-size:.84rem;font-weight:900;white-space:nowrap}
@media(max-width:620px){.an-today-home-first{padding:10px 0}.an-today-home-first-link{padding:14px 13px;gap:11px;border-radius:16px}.an-today-home-first-icon{flex-basis:43px;width:43px;height:43px;font-size:1.35rem;border-radius:12px}.an-today-home-first-copy strong{font-size:1.12rem}.an-today-home-first-copy span{font-size:.74rem}.an-today-home-first-cta{padding:9px 10px;font-size:.73rem}}
@media(prefers-reduced-motion:reduce){.an-today-home-first-link{transition:none!important}}


/* =========================================================
   v1.29.1 — fix definitive banner typography/layout
   keep CSS text fully inside the blue painted area
   ========================================================= */
.an-art-hero-copy{pointer-events:none}
.an-art-hero-copy h1 br{display:block}
.an-art-hero-copy h1{word-break:normal;overflow-wrap:normal;text-wrap:balance}
.an-art-hero-copy p{text-wrap:pretty}

@media (min-width:1101px){
  .an-art-hero>.an-wrap{width:min(calc(100% - 36px),1560px)!important}
  .an-art-hero-card{height:clamp(520px,44vw,640px)!important}
  .an-art-hero-copy{
    width:min(41%,540px)!important;
    min-height:100%!important;
    padding:54px 42px 58px 44px!important;
    justify-content:center!important;
    align-items:flex-start!important;
  }
  .an-art-hero-copy .an-eyebrow{
    font-size:.68rem!important;
    letter-spacing:.16em!important;
    line-height:1.35!important;
    max-width:24rem!important;
    margin-bottom:12px!important;
  }
  .an-art-hero-copy h1{
    font-size:clamp(3rem,4.2vw,4.9rem)!important;
    line-height:.96!important;
    max-width:7.2ch!important;
    margin:0 0 18px!important;
  }
  .an-art-hero-copy p{
    font-size:1rem!important;
    line-height:1.5!important;
    max-width:23ch!important;
    margin:0!important;
  }
  .an-art-hero-card--la-scuola .an-art-hero-copy{width:min(42%,560px)!important}
  .an-art-hero-card--la-scuola .an-art-hero-copy h1{font-size:clamp(3.2rem,4.7vw,5.2rem)!important;max-width:8.1ch!important}
  .an-art-hero-card--chi-siamo .an-art-hero-copy h1{font-size:clamp(3.2rem,4.7vw,5.15rem)!important;max-width:6.8ch!important}
  .an-art-hero-card--programma-educativo .an-art-hero-copy{width:min(40%,520px)!important}
  .an-art-hero-card--programma-educativo .an-art-hero-copy h1{font-size:clamp(2.7rem,4vw,4.35rem)!important;max-width:6.4ch!important}
  .an-art-hero-card--programma-educativo .an-art-hero-copy p{max-width:22ch!important}
  .an-art-hero-card--attivita .an-art-hero-copy h1{font-size:clamp(3.25rem,4.8vw,5.15rem)!important;max-width:5.2ch!important}
  .an-art-hero-card--i-nostri-servizi .an-art-hero-copy{width:min(40%,520px)!important}
  .an-art-hero-card--i-nostri-servizi .an-art-hero-copy h1{font-size:clamp(2.7rem,4vw,4.4rem)!important;max-width:6.5ch!important}
  .an-art-hero-card--contattaci .an-art-hero-copy,.an-art-hero-card--contatti .an-art-hero-copy{width:min(40%,520px)!important}
  .an-art-hero-card--contattaci .an-art-hero-copy h1,.an-art-hero-card--contatti .an-art-hero-copy h1{font-size:clamp(3rem,4.35vw,4.75rem)!important;max-width:6.2ch!important}
}

@media (min-width:701px) and (max-width:1100px){
  .an-art-hero>.an-wrap{width:min(calc(100% - 28px),1040px)!important}
  .an-art-hero-card{min-height:460px!important;height:auto!important;border-radius:28px!important}
  .an-art-hero-copy{width:43%!important;min-height:460px!important;padding:42px 30px 44px 32px!important}
  .an-art-hero-copy .an-eyebrow{font-size:.66rem!important;letter-spacing:.15em!important;margin-bottom:10px!important}
  .an-art-hero-copy h1{font-size:clamp(2.35rem,5vw,3.85rem)!important;line-height:.96!important;max-width:7ch!important;margin-bottom:14px!important}
  .an-art-hero-copy p{font-size:.94rem!important;line-height:1.46!important;max-width:22ch!important}
  .an-art-hero-card--programma-educativo .an-art-hero-copy,.an-art-hero-card--i-nostri-servizi .an-art-hero-copy{width:41%!important}
  .an-art-hero-card--programma-educativo .an-art-hero-copy h1,.an-art-hero-card--i-nostri-servizi .an-art-hero-copy h1{font-size:clamp(2.1rem,4.4vw,3.35rem)!important;max-width:6.2ch!important}
}

@media (max-width:700px){
  .an-art-hero{padding:14px 0 24px!important}
  .an-art-hero-card{display:flex!important;flex-direction:column-reverse!important;background:#fff!important}
  .an-art-hero-copy{
    position:relative!important;
    width:100%!important;
    min-height:0!important;
    padding:24px 20px 22px!important;
    background:#0b56bf!important;
    color:#fff!important;
  }
  .an-art-hero-copy .an-eyebrow{font-size:.66rem!important;letter-spacing:.15em!important;line-height:1.4!important;margin-bottom:10px!important;color:#d7ebff!important}
  .an-art-hero-copy h1{font-size:clamp(2.2rem,10vw,3.1rem)!important;line-height:.97!important;max-width:none!important;margin:0 0 12px!important}
  .an-art-hero-copy p{font-size:.96rem!important;line-height:1.48!important;max-width:none!important;color:rgba(255,255,255,.95)!important}
  .an-art-hero-media{position:relative!important;inset:auto!important;display:block!important;aspect-ratio:16/10!important;background:#eef4fb!important}
  .an-art-hero-media img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
}

/* v1.30.7 — tracciatura più naturale per le lettere arrotondate di Fredoka. */
.an-hero h1,.an-page-hero h1,.an-section-head h2,
.an-mensa-hero h1,.an-mensa-topline h2,
.an-m125 h1,.an-m125-period-name,.an-m125-week-title h2 {
  letter-spacing:-.025em;
}


/* v1.30.8 — aumento leggibilità generale e pagina mensa. */
body{font-size:18px;line-height:1.65}
.an-btn{font-size:1rem}
.an-site-header .an-main-menu>li>a{font-size:1rem!important;font-weight:800!important}
.an-mobile-panel .an-mobile-menu>li>a{font-size:1.02rem!important}
.an-footer h3{font-size:1.08rem}
.an-footer a,.an-footer p{font-size:1rem;line-height:1.7}
.an-legal,.an-footer-legal-menu a{font-size:.9rem}

@media(max-width:700px){
  body{font-size:17px}
  .an-btn{font-size:.98rem}
}


/* v1.30.9 — quick cards homepage più leggibili. */
.an-quick{padding:12px 0 8px}
.an-quick-grid{gap:16px}
.an-quick-item{min-height:190px;padding:28px 28px 26px!important;border:1px solid rgba(10,47,104,.08)!important;border-radius:28px!important;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#fff;box-shadow:0 10px 26px rgba(8,47,104,.06)}
.an-quick-icon{position:static!important;width:62px!important;height:62px!important;margin:0 auto 14px!important}
.an-quick-item strong{font-size:1.75rem!important;line-height:1.08!important;margin:0 0 8px!important}
.an-quick-item span{font-size:1.06rem!important;line-height:1.45!important;margin:0!important}
.an-quick-item-link em{display:inline-block!important;margin-top:12px!important;font-size:1rem!important;font-weight:900!important}
.an-quick-item-link::after{display:none!important}
.an-quick-item-link{display:flex!important;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;padding-right:0!important}

@media(max-width:980px){
  .an-quick-grid{gap:14px}
  .an-quick-item{min-height:170px;padding:24px 20px 22px!important}
  .an-quick-icon{width:56px!important;height:56px!important;margin-bottom:12px!important}
  .an-quick-item strong{font-size:1.5rem!important}
  .an-quick-item span{font-size:1rem!important}
}
@media(max-width:700px){
  .an-quick{padding:0 0 10px!important}
  .an-quick-grid{grid-template-columns:1fr 1fr!important;gap:12px!important}
  .an-quick-item{min-height:156px!important;padding:18px 14px 16px!important;border-radius:24px!important}
  .an-quick-icon{width:46px!important;height:46px!important;margin:0 auto 10px!important;grid-row:auto!important}
  .an-quick-item strong{font-size:1.18rem!important;line-height:1.1!important;margin-bottom:6px!important}
  .an-quick-item span{font-size:.9rem!important;line-height:1.34!important}
  .an-quick-item-link em{display:inline-block!important;margin-top:8px!important;font-size:.92rem!important}
}
@media(max-width:480px){
  .an-quick-grid{grid-template-columns:1fr!important}
  .an-quick-item{min-height:0!important}
}
