:root{--navy:#081e31;--navy2:#0c2c44;--ink:#142a3c;--muted:#5d6e7b;--gold:#ffbe43;--blue:#0d8bb1;--sky:#e6f5fa;--cream:#f7f7f3;--border:#dbe7ed;--white:#fff;--max:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f9f9;color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}img{max-width:100%;display:block}p{margin:0 0 1.3rem}h1,h2,h3{font-family:Arial,Helvetica,sans-serif;line-height:1.15;letter-spacing:-.035em;margin:0 0 1rem}h1{font-size:clamp(2.65rem,5vw,5.1rem);font-weight:800}h2{font-size:clamp(2rem,3.3vw,3.25rem);font-weight:800}h3{font-size:1.38rem}.wrap{width:min(var(--max),calc(100% - 48px));margin-inline:auto}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;font-weight:800;color:#0088b6}.eyebrow.light{color:#7adef8}.highlight{color:var(--gold)}.skip{position:absolute;left:-9999px;top:0;background:#fff;padding:10px;z-index:99}.skip:focus{left:10px}.topbar{background:#061727;color:#d5e8f1;font-size:.72rem}.topbar .wrap{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 0}.topbar a{color:#fff}.site-header{background:#fff;border-bottom:1px solid #e5edf0;position:sticky;top:0;z-index:30}.header-inner{min-height:83px;display:flex;align-items:center;gap:26px;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px;min-width:0}.brand-mark{width:37px;height:37px;object-fit:contain}.brand-title{font-weight:800;font-size:1.1rem;letter-spacing:-.045em;line-height:1.08}.brand-title span{color:#0d81a5}.brand small{display:block;font-size:.6rem;color:#6a7b85;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.nav{display:flex;align-items:center;gap:18px}.nav a{font-size:.8rem;font-weight:700;white-space:nowrap}.nav a:hover,.nav a.active{color:#007fa5}.nav .nav-cta{background:var(--gold);color:#102536;padding:12px 15px;border-radius:999px}.nav .nav-cta:hover{color:#102536;background:#ffd075}.menu-btn{display:none;background:transparent;border:1px solid var(--border);border-radius:10px;padding:7px 13px;font-size:1.25rem}.hero{color:#fff;background:radial-gradient(circle at 80% 18%,#145678 0,transparent 39%),linear-gradient(120deg,#071b2d,#0b2b43 59%,#081b2b);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;opacity:.16;background-image:linear-gradient(90deg,transparent 97%,#61a7c7 98%),linear-gradient(transparent 97%,#61a7c7 98%);background-size:48px 48px;mask-image:linear-gradient(to right,transparent,#000)}.hero-inner{position:relative;min-height:655px;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:24px}.hero-copy{padding:68px 0}.hero h1{max-width:690px}.hero-copy>p{color:#d4e5ed;font-size:1.1rem;max-width:580px}.hero-actions,.actions{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:9px;padding:14px 22px;font-size:.88rem;font-weight:800;transition:transform .18s,background .18s}.btn:hover{transform:translateY(-2px)}.btn-gold{background:var(--gold);color:#0d263a}.btn-white{border:1px solid #a8c5d2;color:#fff}.btn-dark{background:var(--navy);color:#fff}.btn-outline{border:1px solid #b0cbd6;color:var(--navy)}.hero-kicker{display:inline-flex;align-items:center;gap:8px;color:#c7ecf6;font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:20px}.hero-kicker:before{content:"";width:26px;height:2px;background:var(--gold)}.hero-visual{position:relative;display:flex;justify-content:center;align-self:end;padding:35px 0 0}.hero-visual:before{content:"";position:absolute;width:480px;height:480px;border-radius:50%;background:#207c9e;filter:blur(75px);opacity:.25;top:11%}.hero-visual img{position:relative;width:min(100%,515px);max-height:630px;object-fit:contain;object-position:bottom;filter:drop-shadow(0 24px 35px rgba(0,0,0,.28));border-radius:3px}.hero-badge{position:absolute;right:0;bottom:55px;background:#fff;color:#173246;padding:14px 19px;border-left:5px solid var(--gold);box-shadow:0 10px 40px #0004;max-width:210px;font-size:.78rem;font-weight:800}.hero-badge strong{display:block;color:#047998;font-size:1.25rem}.ticker{background:#0c2c44;color:#cee4ed}.ticker .wrap{display:flex;justify-content:space-around;gap:24px;flex-wrap:wrap;padding:19px 0;font-size:.78rem;font-weight:700;letter-spacing:.02em}.ticker span:before{content:'◆';font-size:.55rem;color:var(--gold);padding-right:10px}.section{padding:91px 0}.section-tight{padding:65px 0}.section-intro{max-width:740px;margin-bottom:38px}.section-intro p{color:var(--muted);font-size:1.05rem}.soft{background:#ecf3f5}.white{background:#fff}.dark{background:var(--navy);color:#fff}.dark p{color:#c4dce6}.grid{display:grid;gap:23px}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.card{background:#fff;border:1px solid var(--border);border-radius:14px;padding:29px;box-shadow:0 8px 25px rgba(10,41,60,.035)}.card h3{font-size:1.23rem}.card p{color:var(--muted);font-size:.93rem}.card .num{font-size:.8rem;color:#0086a9;font-weight:800;letter-spacing:.14em;margin-bottom:18px}.icon-tile{width:50px;height:50px;display:grid;place-items:center;border-radius:11px;background:#e2f3f6;color:#006f94;margin-bottom:22px;font-size:1.55rem}.text-link{display:inline-block;font-size:.85rem;font-weight:800;color:#007c9d}.split{display:grid;grid-template-columns:1fr 1fr;gap:68px;align-items:center}.split-image{background:#dce7ed;padding:30px;border-radius:18px}.split-image img{height:490px;width:100%;object-fit:contain;border-radius:6px}.book-panel{background:#09243a;border-radius:22px;display:grid;grid-template-columns:.8fr 1.2fr;gap:30px;overflow:hidden;align-items:center;color:#fff;padding:30px 60px 30px 25px}.book-panel img{width:100%;max-height:490px;object-fit:contain}.book-panel p{color:#cddfe9}.book-panel .tag{font-size:.75rem;font-weight:800;color:var(--gold);letter-spacing:.12em}.page-hero{background:linear-gradient(120deg,#081d30,#10415d);color:#fff;padding:85px 0 80px;position:relative;overflow:hidden}.page-hero:after{content:'';position:absolute;right:-130px;top:-210px;width:470px;height:470px;border:1px solid #ffffff25;border-radius:50%;box-shadow:0 0 0 60px #ffffff07,0 0 0 120px #ffffff05}.page-hero .wrap{position:relative;z-index:1}.page-hero h1{font-size:clamp(2.4rem,4.4vw,4.4rem);max-width:870px}.page-hero p{max-width:760px;font-size:1.1rem;color:#d3e3eb}.tag{display:inline-block;border-radius:100px;border:1px solid #d3e3e6;background:#f6fafb;padding:6px 11px;font-size:.76rem;font-weight:800;color:#29607b}.tag.dark-tag{background:#19435a;border-color:#32627b;color:#dbf1f8}.band{background:#fdf2dc;border-left:4px solid #e7a423;padding:21px 26px;border-radius:0 10px 10px 0;margin-top:23px;font-size:.92rem}.fact-list{list-style:none;margin:24px 0;padding:0}.fact-list li{padding:12px 0;border-bottom:1px solid #dce6e9}.fact-list li:before{content:'✓';font-weight:800;color:#0796b6;margin-right:11px}.small{font-size:.83rem;color:var(--muted)}.muted{color:var(--muted)}.metric{padding:24px;border-left:3px solid var(--gold)}.metric b{display:block;font-size:2.35rem;color:var(--gold);line-height:1.2}.machine-grid .card{border-top:4px solid #1789ac}.school-card small{display:block;text-transform:uppercase;letter-spacing:.14em;color:#007999;font-weight:800;margin-bottom:12px}.school-card h3{min-height:50px}.searchbar{display:flex;gap:12px;flex-wrap:wrap;margin:23px 0 30px}.searchbar input,.searchbar select{border:1px solid #b9cfd9;border-radius:10px;padding:14px 17px;background:#fff;color:var(--ink);font:inherit}.searchbar input{flex:1;min-width:210px}.searchbar select{min-width:200px}.empty{display:none;padding:20px;background:#fff;border:1px solid var(--border)}.cta{padding:57px;border-radius:18px;background:linear-gradient(110deg,#0d334a,#075a78);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:28px}.cta h2{font-size:clamp(1.6rem,2.6vw,2.6rem)}.cta p{color:#d4eaf0;max-width:650px}.footer{background:#061727;color:#c0d4de;padding:57px 0 25px}.footer-layout{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:60px}.footer h3{color:#fff;font-size:1rem}.footer p,.footer a{font-size:.82rem}.footer a:hover{color:var(--gold)}.footer-links{display:grid;gap:9px}.footer-bottom{border-top:1px solid #294456;margin-top:40px;padding-top:22px;color:#92aebc;font-size:.74rem;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}.logo-line{display:flex;align-items:center;gap:10px;color:white;font-weight:800}.logo-line img{width:34px}.article{max-width:880px}.article h2{font-size:1.9rem;margin-top:39px}.article h3{font-size:1.25rem;margin-top:28px}.article p{font-size:1.04rem}.source-list{border-top:1px solid var(--border);margin-top:30px;padding-top:20px;font-size:.85rem}.source-list a{color:#007d9e;text-decoration:underline}.source-list p{margin:.5rem 0}.two-features{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:35px 0}.feature{padding:22px;background:#fff;border:1px solid var(--border);border-radius:11px}.feature b{display:block;color:#086d8d}.cover-frame{background:#0c2840;padding:30px;border-radius:20px}.cover-frame img{max-height:640px;margin:auto;box-shadow:0 18px 30px #0005}.notice{padding:18px 20px;background:#f4f8fa;border:1px solid #dbe8ed;border-radius:10px;font-size:.86rem}.contacts a{color:#007d9e;font-weight:700;overflow-wrap:anywhere}@media(max-width:1100px){.nav{gap:11px}.nav a{font-size:.73rem}.brand-title{font-size:.96rem}.hero-inner{min-height:565px}}@media(max-width:900px){.menu-btn{display:block}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;box-shadow:0 12px 25px #051b2b20;padding:22px 24px;flex-direction:column;align-items:flex-start;gap:18px}.nav.open{display:flex}.nav a{font-size:.95rem}.hero-inner,.split{grid-template-columns:1fr}.hero-inner{gap:0}.hero-copy{padding:64px 0 12px}.hero-visual{align-self:initial;padding:0}.hero-visual img{max-height:520px}.hero-badge{right:10%}.grid-3{grid-template-columns:repeat(2,1fr)}.book-panel{grid-template-columns:1fr 1fr;padding:26px}.footer-layout{grid-template-columns:1.5fr 1fr;gap:30px}.footer-layout>div:last-child{grid-column:1/-1}.cta{padding:38px}}@media(max-width:620px){.wrap{width:min(var(--max),calc(100% - 32px))}.topbar .wrap{align-items:flex-start;flex-direction:column;gap:2px}.header-inner{min-height:72px}.brand-title{font-size:.9rem}.brand-mark{width:30px}.brand small{font-size:.53rem}.section{padding:66px 0}.section-tight{padding:48px 0}.grid-3,.grid-2,.split,.book-panel,.two-features{grid-template-columns:1fr}.book-panel img{max-height:370px}.book-panel{padding:25px}.hero-badge{right:0;bottom:27px}.page-hero{padding:64px 0}.cta{padding:27px;display:block}.cta .btn{margin-top:12px}.footer-layout{grid-template-columns:1fr}.footer-layout>div:last-child{grid-column:auto}.ticker .wrap{justify-content:flex-start;gap:8px 20px}.split-image img{height:350px}.card{padding:23px}}

/* Marchio originale ASSODOLAB fornito dall’associazione */
.brand-mark{width:49px;height:49px;flex:0 0 auto;object-fit:contain}
.footer .logo-line img{width:47px;height:47px;object-fit:contain;background:#fff;border-radius:9px;padding:3px}
@media(max-width:620px){.brand-mark{width:40px;height:40px}}

/* Repertorio storico delle scuole TAM */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
[hidden]{display:none!important}
.tam-stats{margin:30px 0}.tam-stats .card{padding:24px}.tam-stats h3{margin:0 0 8px}
.correction-notice{margin:33px 0 5px;padding:28px 32px;border-left:5px solid var(--gold);background:#fff8e9;border-top:1px solid #f0e1c2;border-right:1px solid #f0e1c2;border-bottom:1px solid #f0e1c2}
.correction-notice h3{margin:0 0 10px}.correction-notice p{margin-bottom:20px}
.school-searchbar{align-items:stretch}.school-searchbar select{min-width:225px}.school-searchbar .btn{font:inherit;font-size:.87rem;cursor:pointer}
.school-count{font-size:.85rem;font-weight:800;color:#32647e;margin:10px 0 12px}
.table-scroll{overflow-x:auto;background:#fff;border:1px solid #d4e4ea;border-radius:14px;box-shadow:0 12px 32px #0b32430a}
.schools-table{width:100%;border-collapse:collapse;min-width:690px;text-align:left;font-size:.89rem}
.schools-table th{padding:18px 15px;background:#0d344c;color:#fff;letter-spacing:.01em;font-weight:700}
.schools-table th:first-child{border-top-left-radius:12px}.schools-table th:last-child{border-top-right-radius:12px}
.schools-table td{padding:13px 15px;border-bottom:1px solid #e5eef1;vertical-align:middle}
.schools-table tbody tr:nth-child(even){background:#f4f9fa}.schools-table tbody tr:hover{background:#e9f3f7}
.schools-table tbody tr:last-child td{border-bottom:0}.school-no{font-weight:800;color:#24718b;width:60px}
.school-label{font-weight:700;color:#17374a;min-width:270px}.region-pill{display:inline-block;background:#e6f3f7;color:#0c688a;border-radius:30px;padding:5px 9px;font-size:.76rem;font-weight:700;white-space:nowrap}
.schools-table .text-link{white-space:nowrap}.tam-note{margin:18px 0 0;line-height:1.75}
@media(max-width:620px){.correction-notice{padding:24px 19px}.school-searchbar>*{width:100%;min-width:0!important}.schools-table{font-size:.82rem}}

/* Proposta formativa ASSODOLAB · 50 ore */
.training-intro{align-items:center;gap:45px}.training-intro h2{max-width:680px}.training-book{border-radius:19px;background:linear-gradient(140deg,#eaf2f5,#d9e8ef);padding:20px 22px 25px;text-align:center;box-shadow:0 12px 30px #143d5312}.training-book img{height:470px;width:100%;object-fit:contain}.training-book-caption{display:grid;gap:2px;color:#173246;font-size:.86rem;margin-top:8px}.training-book-caption b{font-size:1.04rem}.training-book-caption span:last-child{font-weight:700;color:#287491;font-size:.75rem}.training-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:52px 0 62px}.training-stat{border:1px solid #cee1e9;background:#f2f8fa;border-radius:14px;text-align:center;padding:22px 10px;min-width:0}.training-stat b{display:block;font:800 clamp(1.7rem,3vw,2.5rem)/1.1 Arial,Helvetica,sans-serif;color:#096789;letter-spacing:-.05em;margin-bottom:10px}.training-stat span{font-size:.76rem;font-weight:700;line-height:1.35;display:block;color:#3e5a6d}.training-contents-heading{margin-bottom:30px}.training-cards .card{border-top:4px solid #0d88ae}.training-cards .card p{margin-bottom:0}.training-footnote{margin-top:26px;background:#eaf5f9;border:1px solid #c8e5ee;color:#24536a;padding:22px 27px;border-radius:12px;font-size:.9rem;line-height:1.7}.role-cards .card{box-shadow:0 10px 22px #112d3b0b}.role-cards h3{color:#103851}.training-caution{margin-top:26px;background:#fff;border-left:4px solid #edb244;line-height:1.75}.training-caution strong{color:#18394d}
@media(max-width:1100px){.training-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:700px){.training-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin:35px 0 48px}.training-book img{height:auto;max-height:410px}.training-intro{gap:32px}.training-stat{padding:22px 8px}.training-footnote{padding:21px 19px}}

/* Modulo richieste ASSODOLAB */
.contact-layout{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:56px;align-items:start}
.contact-form-intro h2{max-width:480px}.form-highlights{display:grid;gap:11px;margin:27px 0 34px;color:#18526e;font-size:.92rem;font-weight:700}.contact-details{box-shadow:none;background:#f1f7f9}
.contact-form-card{padding:36px 39px;box-shadow:0 18px 60px #081e3114}.contact-form-card h3{font-size:1.55rem;margin:7px 0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px;margin:25px 0}.form-field{display:flex;flex-direction:column;gap:8px;min-width:0}.form-field label{font-size:.88rem;font-weight:800;color:#264659}.form-field input,.form-field select,.form-field textarea{width:100%;border:1px solid #b8d0dc;border-radius:9px;padding:12px 13px;font:inherit;color:var(--ink);background:#fff}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:3px solid #aee8f4;border-color:#007b9b}.form-field textarea{min-height:148px;resize:vertical}.form-wide{grid-column:1/-1}
.form-field-hint{display:block;margin-top:2px;color:var(--muted);font-size:.78rem;line-height:1.5}.fiscal-code-field input{text-transform:uppercase;letter-spacing:.04em}
.form-privacy{display:flex;gap:13px;align-items:flex-start;font-size:.84rem;line-height:1.65;background:#f4f8fa;padding:18px;border-radius:9px}.form-privacy input{width:18px;height:18px;flex:0 0 18px;accent-color:#007b9b;margin-top:4px}.form-privacy a{color:#007b9b;text-decoration:underline;font-weight:800}.form-submit{margin:22px 0 2px;cursor:pointer;border:0}.form-help{line-height:1.65}.form-feedback{border-radius:10px;padding:16px;margin-top:14px;border:1px solid #e9c998;background:#fff8e6}.form-honeypot{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.result-card{max-width:680px;margin:0 auto;text-align:center;padding:48px 38px}.result-card h2{margin-top:0}.result-card .btn{margin:20px 5px 0}.result-card[data-status="ok"]{border-top:6px solid #18a27f}.result-card[data-status="errore"],.result-card[data-status="config"]{border-top:6px solid #d99b39}
@media(max-width:900px){.contact-layout{grid-template-columns:1fr;gap:36px}.contact-form-intro h2{max-width:none}}
@media(max-width:620px){.contact-form-card{padding:24px 19px}.form-grid{grid-template-columns:1fr}.form-wide{grid-column:auto}.form-submit{width:100%;text-align:center;white-space:normal}.result-card{padding:36px 21px}}

/* Documenti privacy: accessibili da tutte le pagine */
.legal-hero{padding:65px 0 62px}.legal-hero h1{max-width:960px}.legal-date{font-size:.79rem;color:#c4e7f2}.legal-layout{display:grid;grid-template-columns:255px minmax(0,1fr);gap:57px;align-items:start}.legal-side{position:sticky;top:108px;border:1px solid var(--border);border-radius:12px;background:#f1f7f9;padding:25px}.legal-side h2{font-size:1.1rem;margin:0 0 14px}.legal-side>a{display:block;border-bottom:1px solid #dce9ef;padding:10px 0;font-size:.86rem;font-weight:700;color:#176683}.legal-side>a[aria-current="page"]{color:var(--navy);font-weight:800;border-left:4px solid var(--gold);padding-left:8px}.legal-side-note{margin-top:21px;font-size:.77rem;color:var(--muted)}.legal-content{max-width:900px;min-width:0}.legal-content h2{font-size:1.5rem;margin:30px 0 12px;line-height:1.35}.legal-content h2:first-of-type{margin-top:28px}.legal-content p{line-height:1.85;font-size:.98rem;margin:0 0 18px}.legal-content a,.form-short-privacy a{color:#006f95;text-decoration:underline;text-underline-offset:3px}.legal-content a:hover,.form-short-privacy a:hover{color:#003e5d}.legal-callout{background:#e9f5f9;border-left:5px solid #008bb3;padding:21px 26px;border-radius:0 10px 10px 0}.legal-callout p{margin:9px 0 0}.legal-close{border-top:1px solid var(--border);padding-top:24px;margin-top:45px}.legal-close p{margin-top:7px}.legal-table-wrap{overflow:auto}.legal-table{width:100%;border-collapse:collapse;font-size:.85rem;line-height:1.55;margin:18px 0 26px}.legal-table th{background:#123b53;color:white}.legal-table td,.legal-table th{padding:14px;text-align:left;vertical-align:top;border-bottom:1px solid #cfe0e7}.legal-table code{font-family:ui-monospace,Consolas,monospace}.form-short-privacy{background:#edf7fa;border-left:4px solid #0284a9;padding:14px 18px;border-radius:0 8px 8px 0;font-size:.87rem;line-height:1.7}.form-privacy{margin-top:20px}@media(max-width:900px){.legal-layout{grid-template-columns:1fr;gap:31px}.legal-side{position:static}.legal-hero{padding:55px 0 50px}}

/* Collaborazioni formative — sezione scuole e call to action */
.collab-section{scroll-margin-top:100px}
.collab-panel{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(240px,.85fr);gap:36px;background:#fff;border:1px solid var(--border);border-radius:24px;padding:clamp(24px,4vw,52px);box-shadow:0 16px 42px rgba(8,30,49,.065)}
.collab-panel h2{font-size:clamp(1.9rem,3.2vw,3.1rem);max-width:680px}
.collab-panel p{max-width:710px}
.collab-actions{display:flex;flex-wrap:wrap;gap:18px;align-items:center;margin-top:24px}
.collab-actions .btn{max-width:100%;text-align:center;white-space:normal;line-height:1.4}
.collab-panel-side{border-left:1px solid var(--border);padding-left:30px;align-self:stretch}
.collab-number{font-size:.75rem;font-weight:800;letter-spacing:.16em;color:#147a9b}
.collab-panel-side h3{margin:14px 0 24px}
.collab-points{list-style:none;margin:0;padding:0}
.collab-points li{border-top:1px solid var(--border);padding:13px 0;line-height:1.5}
.collab-points li strong{display:block;color:var(--ink)}
.collab-points li span{display:block;color:var(--muted);font-size:.94rem}
.collab-intro{margin-top:16px;padding:18px 22px;background:#eff8fb;border-left:4px solid #1397bd;border-radius:0 12px 12px 0}
.collab-inline{margin-top:34px;background:#eef8fb;border:1px solid #cfe8f0;border-radius:20px;padding:clamp(20px,3vw,32px);display:flex;align-items:center;justify-content:space-between;gap:24px}
.collab-inline>div{max-width:810px}.collab-inline h3{margin:7px 0 10px}.collab-inline p{margin-bottom:0}
.collab-inline .btn{flex-shrink:0;text-align:center}
.collab-note{background:#eff8fb;border:1px solid #d1eaf0;border-radius:16px;padding:20px 22px;margin:22px 0}
.collab-note h3{margin:8px 0}.collab-note p:last-child{margin-bottom:0}
.collab-form-hint{margin:16px 0}
.collab-note-dark{margin-top:20px;color:#ecf9ff}.collab-note-dark a{color:#ffdb88;text-decoration:underline;text-underline-offset:3px}
@media(max-width:800px){.collab-panel{grid-template-columns:1fr;gap:24px}.collab-panel-side{border-left:0;border-top:1px solid var(--border);padding:22px 0 0}.collab-inline{flex-direction:column;align-items:stretch}.collab-inline .btn{align-self:flex-start}.collab-actions .btn{width:100%}}


/* Indice del volume – consultazione accessibile senza numeri di pagina */
.book-index-section{scroll-margin-top:104px}
.book-index-heading{max-width:780px;margin-bottom:30px}
.book-index-heading h2{margin-top:12px}
.book-index-heading p{font-size:1.04rem;color:var(--muted)}
.book-index-extras{display:flex;flex-wrap:wrap;gap:11px;margin:24px 0}
.book-index-extras span{padding:9px 16px;border-radius:999px;border:1px solid #bcd6e2;background:#ecf6f9;color:#195674;font-size:.88rem;font-weight:700}
.book-index-extras-start{margin-bottom:24px}
.book-index-accordion{display:grid;gap:12px}
.book-index-part{border:1px solid #cadde5;border-radius:15px;background:#fff;overflow:hidden;box-shadow:0 5px 20px rgba(5,31,47,.035)}
.book-index-part[open]{border-color:#9ac8d8;box-shadow:0 8px 26px rgba(8,54,75,.07)}
.book-index-part summary{display:flex;align-items:center;gap:18px;cursor:pointer;padding:21px 24px;list-style:none;background:#f2f8fa;color:#143d52}
.book-index-part summary::-webkit-details-marker{display:none}
.book-index-part summary::marker{content:''}
.book-index-part summary:hover{background:#e8f3f7}
.book-index-part summary:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}
.book-index-num{flex:0 0 40px;display:grid;place-items:center;width:40px;height:40px;border-radius:12px;color:#f5fcff;background:#0c6585;font-size:.84rem;font-weight:800}
.book-index-part-title{flex:1;font-size:1.06rem;font-weight:800;line-height:1.45}
.book-index-toggle{flex:0 0 33px;width:33px;height:33px;border-radius:50%;background:#d4e9f1;display:grid;place-items:center;color:#085570;font-size:1.45rem;font-weight:400;line-height:1}
.book-index-part[open] .book-index-toggle{transform:rotate(45deg);background:#0c6585;color:#fff}
.book-index-chapters{list-style:none;padding:6px 24px 18px 82px;margin:0}
.book-index-chapters li{display:grid;grid-template-columns:105px minmax(0,1fr);gap:17px;padding:13px 0;border-bottom:1px solid #e1eaf0;line-height:1.5}
.book-index-chapters li:last-child{border-bottom:0}
.book-index-chapter-n{color:#137a98;font-size:.84rem;font-weight:800;white-space:nowrap}
.book-index-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;background:linear-gradient(110deg,#0a293e,#0c516a);border-radius:17px;color:#fff;padding:35px 38px;margin-top:32px}
.book-index-cta h3{font-size:1.5rem;margin:7px 0 10px}.book-index-cta p{margin:0;color:#d3eaf2;max-width:760px}
.book-index-cta .btn{text-align:center;flex-shrink:0}
@media(max-width:700px){.book-index-part summary{padding:17px 14px;gap:10px}.book-index-num{flex-basis:34px;width:34px;height:34px}.book-index-part-title{font-size:.94rem}.book-index-toggle{flex-basis:29px;width:29px;height:29px}.book-index-chapters{padding:4px 17px 12px 58px}.book-index-chapters li{grid-template-columns:1fr;gap:1px}.book-index-chapter-n{font-size:.76rem}.book-index-extras span{font-size:.8rem}.book-index-cta{display:block;padding:26px 22px}.book-index-cta .btn{margin-top:18px;width:100%}}


/* Iscrizione al percorso ASSODOLAB di 50 ore */
.enrollment-hero{padding-bottom:92px}.enrollment-price-hero{display:inline-flex;flex-direction:column;margin-top:20px;padding:17px 24px;border:1px solid #6aa7bd;border-radius:14px;background:#ffffff10;backdrop-filter:blur(4px)}.enrollment-price-hero span{text-transform:uppercase;letter-spacing:.13em;font-size:.68rem;font-weight:800;color:#95e4f5}.enrollment-price-hero strong{font-size:2.8rem;line-height:1.05;color:var(--gold);margin:4px 0}.enrollment-price-hero small{color:#d7e9ef;font-weight:700}
.enrollment-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:58px;align-items:start}.enrollment-info h2{max-width:600px}.enrollment-includes{display:grid;gap:12px;margin:28px 0 40px}.enrollment-includes>div{display:grid;grid-template-columns:46px 1fr;column-gap:24px;row-gap:8px;padding:17px 0;border-bottom:1px solid var(--border)}.enrollment-includes b{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#e7f5f8;color:#057d9f}.enrollment-includes span{font-size:.94rem;color:var(--muted);line-height:1.55}.enrollment-includes strong{color:var(--ink)}.enrollment-note{margin:30px 0;background:#fff6e5;border-color:#e1af4b}
.enrollment-form-card{padding:38px 40px;box-shadow:0 18px 60px #081e3116;position:sticky;top:110px}.enrollment-form-card h2{font-size:2rem}.form-subheading{border-top:1px solid var(--border);padding-top:20px;margin-top:5px}.form-subheading strong{display:block;font-size:1rem;color:var(--ink)}.form-subheading span{display:block;color:var(--muted);font-size:.84rem;margin-top:4px}.enrollment-confirm{background:#fff6e5;border:1px solid #efcf93}.enrollment-submit{width:100%}
.course-price-panel{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:30px;align-items:center;background:linear-gradient(115deg,#083149,#0d607d);color:#fff;border-radius:20px;padding:31px 34px;margin:28px 0 42px;box-shadow:0 18px 45px rgba(8,30,49,.12)}.course-price-panel h3{font-size:1.7rem;margin:7px 0 10px}.course-price-panel p{color:#d7ebf2;margin:0;max-width:800px}.course-price-panel .eyebrow{color:#9be7f5}.course-price-side{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-left:1px solid #ffffff35;padding-left:28px}.course-price-side>strong{font-size:3rem;color:var(--gold);line-height:1}.course-price-side>span{font-size:.8rem;color:#dcebf1;margin:7px 0 17px}.course-price-side .btn{width:100%}.course-price-panel-dm{margin:18px 0 46px}
@media(max-width:950px){.enrollment-layout{grid-template-columns:1fr}.enrollment-form-card{position:static}.course-price-panel{grid-template-columns:1fr}.course-price-side{border-left:0;border-top:1px solid #ffffff35;padding:23px 0 0}.course-price-side .btn{max-width:300px}}
@media(max-width:620px){.enrollment-form-card{padding:26px 19px}.enrollment-price-hero strong{font-size:2.35rem}.course-price-panel{padding:25px 20px}.course-price-panel h3{font-size:1.42rem}.course-price-side>strong{font-size:2.65rem}}

/* Coordinate pagamento corso */
.payment-card{margin:24px 0;padding:24px;border:1px solid rgba(8,30,49,.14);border-radius:18px;background:linear-gradient(135deg,#f8fbfd,#fff)}
.payment-card h2,.payment-card h3{margin-top:6px}
.payment-details{margin:18px 0 10px;display:grid;gap:0;border-top:1px solid rgba(8,30,49,.12)}
.payment-details>div{display:grid;grid-template-columns:minmax(150px,190px) 1fr;gap:18px;padding:11px 0;border-bottom:1px solid rgba(8,30,49,.12)}
.payment-details dt{font-weight:700;color:#52606b}
.payment-details dd{margin:0;overflow-wrap:anywhere;color:#081e31}
.result-payment{margin-top:22px}
@media(max-width:680px){.payment-details>div{grid-template-columns:1fr;gap:3px}.payment-card{padding:20px}}

/* Consenso cookie e contatore visite */
.footer-counter{margin-top:24px;padding:16px 0;border-top:1px solid rgba(255,255,255,.16);display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.footer-counter h3{margin:0 0 6px;font-size:1rem}.footer-counter p{margin:0;color:#c9d3dc;font-size:.88rem}
.histats-slot{min-height:30px;display:flex;align-items:center}.counter-disabled{font-size:.78rem;color:#aebbc6;max-width:290px}
.cookie-settings-btn{border:0;background:none;color:inherit;text-decoration:underline;cursor:pointer;padding:0;font:inherit}
.cookie-consent{position:fixed;z-index:9999;left:18px;right:18px;bottom:18px;background:#fff;color:#15283a;border:1px solid #d9e0e6;border-radius:16px;box-shadow:0 18px 55px rgba(0,0,0,.24)}
.cookie-consent-inner{max-width:1160px;margin:auto;padding:20px 22px;display:flex;gap:26px;align-items:center;justify-content:space-between}.cookie-consent strong{font-size:1.05rem}.cookie-consent p{margin:6px 0;font-size:.92rem;line-height:1.5}.cookie-consent a{color:#164b73;font-weight:700}.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;flex-shrink:0}.cookie-actions .btn{white-space:nowrap}
.purchase-summary{border:1px solid #d8e1e8;background:#f5f8fa;border-radius:16px;padding:22px;margin-bottom:28px}.purchase-summary strong.total{display:block;color:#b67500;font-size:2rem;margin:8px 0}.purchase-notice{border-left:4px solid #d79b24;background:#fff9eb;padding:16px 18px;margin:18px 0;border-radius:0 10px 10px 0}.form-conditional-note{font-size:.85rem;color:#506171;margin-top:6px}
@media(max-width:760px){.cookie-consent-inner{align-items:stretch;flex-direction:column;gap:14px}.cookie-actions{width:100%}.cookie-actions .btn{flex:1}.footer-counter{align-items:flex-start;flex-direction:column}}

/* Percorsi gratuiti 2026/27 */
.free-stats,.free-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:30px}.free-stats>div,.free-card{background:#f3f5f6;border:1px solid #dce3e7;border-radius:14px;padding:24px}.free-stats strong{font-size:32px;color:#0b354c;display:block}.free-stats span{display:block;margin-top:6px}.free-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.free-card>span{color:#ad772e;font-weight:800}.free-card h3{margin:12px 0}.free-card p{margin:0}.free-timeline{margin:30px 0}.free-timeline>div{display:grid;grid-template-columns:210px 1fr;gap:20px;padding:20px 0;border-bottom:1px solid #d9e1e6;align-items:start}.free-timeline time{display:block;background:#eff1f3;border:1px solid #d9dce0;border-radius:10px;padding:15px 18px;text-align:center;font-weight:700;color:#193649}.free-timeline h3{margin:0 0 8px}.free-timeline p{margin:0}.free-steps{margin:25px 0;padding-left:26px}.free-steps li{margin:12px 0}@media(max-width:700px){.free-stats,.free-grid{grid-template-columns:1fr}.free-timeline>div{grid-template-columns:1fr;gap:10px}.free-timeline time{text-align:left}}
