/* Castel Lornano: riproduzione dell'originale (Helix Ultimate + SP Page Builder). Misure dai JSON dell'originale e dai CSS delle pagine (page-N.css). */
/* Font Google dell'originale serviti in locale (Raleway variabile come la serve Google, Poppins, Amatic SC, Abel, Acme; licenza OFL in assets/fonts). */
@font-face { font-family:"raleway"; font-style:italic; font-weight:100 900; font-display:swap; src:url("/assets/fonts/raleway-vi-latin-ext.woff2") format("woff2"); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF }
@font-face { font-family:"raleway"; font-style:italic; font-weight:100 900; font-display:swap; src:url("/assets/fonts/raleway-vi-latin.woff2") format("woff2"); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD }
@font-face { font-family:"raleway"; font-style:normal; font-weight:100 900; font-display:swap; src:url("/assets/fonts/raleway-v-latin-ext.woff2") format("woff2"); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF }
@font-face { font-family:"raleway"; font-style:normal; font-weight:100 900; font-display:swap; src:url("/assets/fonts/raleway-v-latin.woff2") format("woff2"); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD }
@font-face { font-family:"poppins"; font-style:normal; font-weight:400; font-display:swap; src:url("/assets/fonts/poppins-400-latin-ext.woff2") format("woff2"); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF }
@font-face { font-family:"poppins"; font-style:normal; font-weight:400; font-display:swap; src:url("/assets/fonts/poppins-400-latin.woff2") format("woff2"); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD }
@font-face { font-family:"poppins"; font-style:normal; font-weight:700; font-display:swap; src:url("/assets/fonts/poppins-700-latin-ext.woff2") format("woff2"); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF }
@font-face { font-family:"poppins"; font-style:normal; font-weight:700; font-display:swap; src:url("/assets/fonts/poppins-700-latin.woff2") format("woff2"); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD }
@font-face { font-family:"amatic sc"; font-style:normal; font-weight:400; font-display:swap; src:url("/assets/fonts/amaticsc-400-latin-ext.woff2") format("woff2"); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF }
@font-face { font-family:"amatic sc"; font-style:normal; font-weight:400; font-display:swap; src:url("/assets/fonts/amaticsc-400-latin.woff2") format("woff2"); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD }
@font-face { font-family:"amatic sc"; font-style:normal; font-weight:700; font-display:swap; src:url("/assets/fonts/amaticsc-700-latin-ext.woff2") format("woff2"); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF }
@font-face { font-family:"amatic sc"; font-style:normal; font-weight:700; font-display:swap; src:url("/assets/fonts/amaticsc-700-latin.woff2") format("woff2"); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD }
@font-face { font-family:"abel"; font-style:normal; font-weight:400; font-display:swap; src:url("/assets/fonts/abel-400-latin.woff2") format("woff2"); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD }
@font-face { font-family:"acme"; font-style:normal; font-weight:400; font-display:swap; src:url("/assets/fonts/acme-400-latin.woff2") format("woff2"); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD }

/* base: come Bootstrap 5 + Helix (font di sistema, titoli con misure fluide) */
:root { --font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif; --raleway:"raleway",sans-serif;
  --testo:#252525; --marrone:#693c12; --giallo:#f3d300; --arancio:#f68e13; --colore-1:#f68e13 }
html { scroll-behavior:auto; scroll-padding-top:0 }
body { font:400 16px/1.5 var(--font); color:var(--testo); background:#fff; -webkit-font-smoothing:antialiased; text-rendering:auto }
h1, h2, h3, h4, h5, h6 { margin:0 0 .5rem; font-family:inherit; font-weight:500; line-height:1.2; color:inherit; text-transform:none }
h1 { font-size:calc(1.375rem + 1.5vw) } h2 { font-size:calc(1.325rem + .9vw) } h3 { font-size:calc(1.3rem + .6vw) } h4 { font-size:calc(1.275rem + .3vw) } h5 { font-size:1.25rem } h6 { font-size:1rem }
@media (min-width:1200px) { h1 { font-size:2.5rem } h2 { font-size:2rem } h3 { font-size:1.75rem } h4 { font-size:1.5rem } }
p { margin:0 0 1rem } p + p { margin-block-start:0 }
a { color:var(--arancio); text-decoration:none } strong, b { font-weight:bolder }
.icona { display:inline-block; fill:currentColor; vertical-align:-.125em; overflow:visible }

/* contenitore e griglia (Bootstrap 5: 540/720/960/1140/1320, margini di 15 px) */
.contenitore { width:100%; max-width:none; padding-inline:15px; margin-inline:auto }
@media (min-width:576px) { .contenitore { max-width:540px } } @media (min-width:768px) { .contenitore { max-width:720px } }
@media (min-width:992px) { .contenitore { max-width:960px } } @media (min-width:1200px) { .contenitore { max-width:1140px } } @media (min-width:1400px) { .contenitore { max-width:1320px } }
.riga { display:flex; flex-wrap:wrap; margin-inline:-15px } .riga--centro { align-items:center } .col { flex:0 0 100%; max-width:100%; padding-inline:15px }
@media (min-width:768px) { .md-4 { flex-basis:33.3333%; max-width:33.3333% } .md-5 { flex-basis:41.6667%; max-width:41.6667% } .md-6 { flex-basis:50%; max-width:50% }
  .md-7 { flex-basis:58.3333%; max-width:58.3333% } .md-8 { flex-basis:66.6667%; max-width:66.6667% } }
@media (min-width:992px) { .lg-4 { flex-basis:33.3333%; max-width:33.3333% } .lg-5 { flex-basis:41.6667%; max-width:41.6667% } .lg-6 { flex-basis:50%; max-width:50% }
  .lg-7 { flex-basis:58.3333%; max-width:58.3333% } .lg-8 { flex-basis:66.6667%; max-width:66.6667% } }

/* barra superiore e testata (Helix Ultimate) */
.barra { background:#333; color:#aaa; padding:8px 0; font-size:14px; line-height:1.5 }
.barra__contatti { text-align:right } .barra__contatti li { display:inline-block; margin:0 10px 0 0; font-size:90%; white-space:nowrap } .barra a { color:#aaa }
.testata { position:relative; top:auto; z-index:99; height:80px; background:#fff; box-shadow:0 0 4px 0 rgba(0,0,0,.1) }
.testata__in { display:flex; align-items:center; justify-content:flex-start; gap:0; min-height:0; height:100% }
.logo { display:inline-flex; align-items:center; height:80px } .logo img { width:auto; height:60px }
.menu { margin-left:auto } .menu ul { display:flex; flex-wrap:nowrap; gap:0; margin-right:-10px }
.menu a { display:block; padding:0 15px; font:700 16px/80px var(--raleway); color:#252525; text-transform:none }
.menu a:hover { color:var(--arancio) } .menu a[aria-current] { color:var(--arancio); font-weight:500 }
.menu-toggle { display:none; margin-left:10px; width:25px; height:60px; padding:0; border:0; border-radius:0; background:none; cursor:pointer }
.menu-toggle span { display:block; height:2px; margin:5px 0; background:#000 }
@media (max-width:1199.98px) { .menu a { padding:0 10px } .menu ul { margin-right:-5px } } @media (min-width:992px) and (max-width:1199.98px) { .menu li:last-child { margin-left:5px } }
@media (max-width:991.98px) {
  .barra__contatti { text-align:center }
  .testata { height:60px } .testata__in { align-items:flex-start } .logo { height:60px }
  .menu-toggle { display:block; margin-left:auto }
  .menu { display:none; position:fixed; top:0; right:0; bottom:0; width:300px; margin:0; padding:70px 30px 30px; background:#fff; z-index:200; box-shadow:0 0 20px rgba(0,0,0,.2); overflow:auto }
  .menu.aperto { display:block } .menu ul { flex-direction:column; margin:0 } .menu a { font-size:16px; line-height:24px; padding:10px 0 }
  .menu-toggle[aria-expanded="true"] { position:fixed; top:15px; right:30px; z-index:201 } }
@media (max-width:575.98px) { .testata { height:65px } }

/* piè di pagina */
.pie { background:#000; color:#fff; font-size:14px; line-height:21px; padding:0; text-align:center }
.pie__in { display:block; padding:30px 0; border-top:1px solid rgba(255,255,255,.1) } .pie p { margin:0 } .pie a { color:#fff } .pie a:hover { color:#828282 }

/* home: carosello a tutta larghezza (altezze del modulo: 900 / 600 / 575) */
.scorrevole { position:relative; overflow:hidden; height:900px; color:#fff }
.scorrevole__voce { position:absolute; inset:0; display:flex; align-items:center; background:center / cover no-repeat; visibility:hidden; opacity:0; transition:opacity .8s }
.scorrevole__voce.attiva { visibility:visible; opacity:1 }
.scorrevole__testo { width:75%; margin:0 auto; text-align:center }
.scorrevole h2 { margin:20px 0 0; font:800 52px/52px var(--raleway); text-transform:uppercase; color:#fff }
.scorrevole__sotto { margin-top:30px; font:600 30px/24px var(--raleway) }
.scorrevole__punti { position:absolute; left:80px; bottom:54px; display:flex; z-index:3 }
.scorrevole__punti li { width:14px; height:14px; margin:0 8px; border-radius:14px; background:#fff; position:relative }
.scorrevole__punti li::after { content:""; position:absolute; left:3px; top:3px; width:8px; height:8px; border-radius:50%; background:#fff }
.scorrevole__punti button { position:absolute; inset:0; opacity:0; cursor:pointer; border:0; padding:0 }
.scorrevole__frecce { position:absolute; right:50px; bottom:40px; display:flex; gap:20px; z-index:3 }
.scorrevole__frecce button { width:30px; height:30px; padding:0; border:0; background:none; color:#fff; font-size:30px; line-height:28px; cursor:pointer }
@media (max-width:1199.98px) { .scorrevole { height:600px } }
@media (max-width:767.98px) { .scorrevole { height:575px } .scorrevole h2 { font-size:30px; line-height:47px } .scorrevole__sotto { line-height:40px }
  .scorrevole__punti { left:150px; bottom:34px } .scorrevole__frecce { right:30px } }

/* home: introduzione */
.intro { padding:120px 0 46px; background:#fff }
.intro__titolo { margin:0 0 75px; font:900 28px/35px var(--raleway); color:var(--marrone); text-align:right }
.intro__dx { padding-left:55px }
.intro__testo { margin-bottom:15px; font:400 18px/29px var(--raleway); color:#4a4a4a }
.link-sottolineato { display:inline-block; font:700 14px/21px var(--raleway); color:var(--marrone); border-bottom:1px solid var(--marrone); padding:0 0 3px }
@media (max-width:1199.98px) { .intro__titolo { margin-bottom:75px } }
@media (max-width:767.98px) { .intro { padding:40px 0 } .intro__titolo { font-size:23px; line-height:30px; margin-bottom:30px } .intro__dx { padding-left:15px } .intro__testo { font-size:16px } }

/* home: paesaggio con titolo e testo bianchi */
.paesaggio { padding:190px 0 100px; background:center / cover no-repeat; color:#fff; text-align:center }
.paesaggio h3 { margin:0 0 25px; font-size:48px; line-height:58px; font-weight:500 }
.paesaggio__testo { margin-bottom:140px; font-size:24px; line-height:34px }
@media (max-width:1199.98px) { .paesaggio { padding:130px 0 142px } .paesaggio h3 { font-size:35px; line-height:45px; margin:20px } .paesaggio__testo { font-size:20px; line-height:30px; margin:70px } }
@media (max-width:767.98px) { .paesaggio { padding:90px 0 134px } .paesaggio h3 { font-size:28px; line-height:38px; margin:10px } .paesaggio__testo { font-size:16px; line-height:26px; margin:50px } }

/* home: tre schede sovrapposte al paesaggio */
.schede { position:relative; margin-top:-200px; padding:50px 0 }
.scheda { margin:22px 0 30px; padding:0 20px 40px; background:#fff; border-radius:4px; box-shadow:0 20px 20px 0 rgba(0,0,0,.2); color:var(--marrone); text-align:center }
.scheda__icona { height:67px; margin:-27px 0 30px } .scheda__icona span { vertical-align:top } .scheda--0 .scheda__icona { margin-top:-30px }
.scheda__icona span { display:inline-block; padding:15px; border-radius:40px; background:var(--giallo); color:var(--marrone); box-shadow:0 15px 40px 0 rgba(243,211,0,.7); font-size:36px; line-height:36px }
.scheda__icona .icona { display:block; width:36px; height:36px }
.scheda h5 { margin:0 0 12px; font:700 18px/25px "poppins",sans-serif; color:var(--marrone) }
.scheda--0 h5 { font:800 20px/25px var(--raleway) }
.scheda__testo { font:400 17px/21px var(--raleway) } .scheda--0 .scheda__testo { line-height:22px }
@media (max-width:1199.98px) { .scheda { margin-bottom:20px } }
@media (max-width:767.98px) { .scheda { margin:20px 0 } }

/* home: foto con citazione sovrapposta */
.collage { padding:50px 0 0 }
.collage__in { display:flex; flex-wrap:wrap; margin:0 -50px 11px }
.collage__foto { flex:0 0 50%; max-width:50% } .collage__foto img { width:100%; height:auto }
.collage__box { flex:0 0 50%; max-width:50%; display:flex; align-items:center }
.collage__testo { margin-left:-10%; padding:30px 40px 40px; background:rgba(105,60,18,.89); box-shadow:-10px 15px 20px 0 rgba(0,0,0,.3); color:rgba(255,255,255,.8) }
@media (max-width:1199.98px) { .collage__in { margin:0 0 20px } }
@media (max-width:767.98px) { .collage__in { margin-bottom:10px } }
@media (max-width:575.98px) { .collage__foto, .collage__box { flex-basis:100%; max-width:100% } .collage__testo { margin-left:0 } }

/* home: richiesta informazioni e recapiti */
.richiesta { padding:120px 0 121px; background:#fff; color:#464855 }
.modulo--giallo { display:block; max-width:none; margin:0; padding:60px 60px 70px; background:var(--giallo); color:var(--marrone) }
.modulo--giallo .modulo__titolo { margin:0 0 40px; font:800 40px/55px var(--raleway); color:var(--marrone) }
.mappa-box { margin-bottom:30px } .mappa-box iframe { display:inline-block; vertical-align:baseline; width:100%; min-height:350px; border:0 }
@media (max-width:991.98px) { .mappa-box { margin-top:30px } }
.recapiti { margin:30px 0; padding:55px 60px 40px; background:var(--marrone); color:var(--giallo) }
.recapiti h2 { margin:0 0 46px; font:800 40px/50px var(--raleway); color:var(--giallo) }
.recapito { display:flex; align-items:flex-start; margin-bottom:30px } .recapito .icona { flex:none; width:26px; height:26px; margin-right:15px }
.recapito h3 { margin:0 0 5px; font-size:15px; line-height:22px; font-weight:500; color:var(--giallo) }
@media (min-width:1200px) { .richiesta { padding:110px 0 125px } }
@media (max-width:1199.98px) { .modulo--giallo { padding:40px; margin-bottom:30px } }
@media (max-width:991.98px) { .recapiti { padding-bottom:42px } .recapiti h2 { margin-bottom:48px } .recapito + .recapito { margin-top:2px } }
@media (min-width:992px) and (max-width:1199.98px) { .richiesta { padding:108px 0 125px } .richiesta .col.lg-5 { padding-top:13px } .richiesta .col.lg-7 { align-self:flex-start; padding-top:33px } }
@media (max-width:767.98px) { .richiesta { padding:50px 0 } .modulo--giallo { padding:30px } .modulo--giallo .modulo__titolo { font-size:25px; line-height:35px; margin-bottom:20px }
  .recapiti { padding:35px 35px 20px } .recapiti h2 { font-size:25px; line-height:35px; margin-bottom:20px } }

/* moduli (ajax contact dell'originale) */
.modulo { display:block; gap:0; max-width:none; margin:0; text-align:left }
.modulo__campi { display:flex; flex-wrap:wrap; margin-inline:-15px }
.modulo__gruppo { flex:0 0 100%; max-width:100%; padding-inline:15px; margin-bottom:20px }
@media (min-width:576px) { .modulo__gruppo.mezzo { flex-basis:50%; max-width:50% } }
.modulo input:not([type=checkbox]), .modulo textarea { display:block; width:100%; height:auto; padding:8px 12px; font:400 16px/1.25 var(--font); color:#495057; background:#fff; border:1px solid rgba(0,0,0,.1); border-radius:4px }
.modulo textarea { resize:vertical } .modulo ::placeholder { color:#868e96; opacity:1 }
.modulo__privacy { position:relative; display:block; padding-left:18px; margin:15px 0 20px; font-size:16px; line-height:24px }
.modulo__privacy input { position:absolute; left:0; top:0; margin:6px 0 0; width:13px; height:13px }
.modulo__privacy label { display:inline; font-weight:400 } .modulo__privacy a { color:var(--arancio) }
.modulo .bottone { display:inline-block; padding:8px 12px; border:1px solid transparent; border-radius:4px; background:var(--marrone); color:#fff; font:400 16px/20px var(--font); text-transform:none; cursor:pointer }
.modulo .bottone:hover { background:#222; filter:none }
.modulo__esito { margin:0 0 20px; padding:.8rem 1rem; border-radius:4px; color:#252525 } .modulo__esito.ok { background:#e3f5e8 } .modulo__esito.ko { background:#fbe4e2 }

/* attività: testata con titolo a parole che si alternano e taglio diagonale in basso */
.attivita-hero { position:relative; isolation:isolate; padding:220px 0 320px; background:#fff center / cover no-repeat; color:#fff; text-align:center;
  clip-path:polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 100px)) }
.attivita-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:rgba(0,0,0,.2); mix-blend-mode:darken }
.attivita-hero__sopra { margin:0 0 30px; font:300 22px/26.4px "abel",sans-serif; letter-spacing:3px; color:#fff }
.attivita-hero__titolo { text-align:left; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; margin:0; font:200 102px/122.4px "amatic sc",sans-serif; letter-spacing:1px; text-transform:uppercase; color:#fff }
.attivita-hero__titolo > span:first-child { margin-right:8px }
@media (max-width:767.98px) { .attivita-hero { padding:100px 0 150px; clip-path:polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 50px)) } }
.intro--attivita { padding:90px 0 80px }
@media (max-width:767.98px) { .intro--attivita { padding:40px 0 } }

/* attività: fasce gialle con taglio diagonale (sopra e sotto) */
.fascia { background:rgba(243,211,0,.2) }
.fascia--su { padding:200px 0 4px; clip-path:polygon(0 100px, 100% 0, 100% 100%, 0 100%) }
.fascia--giu { height:200px; clip-path:polygon(0 0, 100% 0, 100% 0, 0 100%) }
@media (max-width:767.98px) { .fascia--su { padding:90px 0 42px; clip-path:polygon(0 50px, 100% 0, 100% 100%, 0 100%) } .fascia--giu { height:130px; padding-top:40px; clip-path:polygon(0 0, 100% 0, 100% calc(100% - 50px), 0 100%) } }
.voce__titolo { margin:0 0 11px; font:900 28px/35px var(--raleway); color:var(--marrone) }
.voce__testo { padding-bottom:10px; font-family:var(--raleway) } .voce__testo p { margin:0 0 1rem }
@media (max-width:767.98px) { .voce__titolo { font-size:23px; line-height:30px; margin-bottom:30px } .voce__testo { padding:20px 20px 10px } }

/* caroselli di foto */
.carosello { position:relative; overflow:hidden }
.carosello .scorrevole__voce { position:static; display:none; visibility:visible; opacity:1; background:none } .carosello .scorrevole__voce.attiva { display:block }
.carosello img { display:block; width:100%; height:auto }
.carosello .scorrevole__punti { position:absolute; left:50%; bottom:10px; width:60%; margin-left:-30%; display:block; text-align:center; z-index:15 }
.carosello .scorrevole__punti li { display:inline-block; width:10px; height:10px; margin:1px; border:1px solid #fff; border-radius:10px; background:transparent }
.carosello .scorrevole__punti li::after { display:none } .carosello .scorrevole__punti li.attivo { margin:0; width:12px; height:12px; background:#fff }
.carosello .prec, .carosello .succ { position:absolute; top:0; bottom:0; width:40px; padding:0; border:0; background:none; color:#fff; opacity:.8; font-size:24px; cursor:pointer; filter:drop-shadow(0 1px 2px rgba(0,0,0,.6)) }
.carosello .prec { left:0 } .carosello .succ { right:0 }
.carosello--taa { margin:-48px 0 0 -16px; padding:50px 30px 0 0 } .carosello--taa .prec, .carosello--taa .succ { top:50px; bottom:0 }
.carosello--eaa { margin:0 -16px 0 0; padding:30px 0 30px 30px }
.carosello--aaa { margin:-11px 0 0; padding:0 30px 0 0 }
@media (max-width:1199.98px) { .carosello--taa, .carosello--eaa, .carosello--aaa { margin:0 0 20px; padding:30px } }
@media (max-width:767.98px) { .carosello--taa, .carosello--eaa, .carosello--aaa { margin:0; padding:10px } }

/* attività: EAA ed elenchi con spunta */
.eaa { padding:50px 0 } .eaa__riga { padding:50px 0 }
.spunte { margin:0; padding:0; list-style:none; font:400 16px/26px var(--raleway); color:#4d4d4d }
.spunte li { position:relative; padding-left:30px; margin-bottom:10px }
.spunte li::before { content:""; position:absolute; left:0; top:10px; width:8px; height:3px; background:var(--marrone); transform:rotate(50deg) translate(3px,2px); border-top-left-radius:70% }
.spunte li::after { content:""; position:absolute; left:2px; top:10px; width:20px; height:3px; background:var(--marrone); transform:rotate(-50deg); border-top-right-radius:80% }
.voce__testo .spunte { font-size:16px; line-height:24px; color:inherit }
.spunte--bianche { color:#fff; font-weight:600 } .spunte--bianche li::before, .spunte--bianche li::after { background:#fff }
@media (max-width:1199.98px) { .elenchi { margin-bottom:30px } }
@media (max-width:767.98px) { .spunte { font-size:14px; line-height:24px } }

/* attività: quando e perché, piramide */
.quando { padding:50px 0 }
.quando__blocco { padding:0 50px 20px; background:#fff; font-family:var(--raleway) }
.quando__blocco h4 { margin:0 0 .5rem; font:800 32px/38.4px var(--raleway); color:var(--marrone) }
.quando__immagine { margin-bottom:30px; text-align:center } .quando__immagine img { display:block; margin-inline:auto; max-width:100%; height:auto }
@media (max-width:1199.98px) { .quando__blocco { margin-bottom:20px } .quando__immagine { margin-bottom:20px } }
@media (max-width:767.98px) { .quando__blocco, .quando__immagine { margin-bottom:10px } }

/* attività: altre proposte */
.proposte { position:relative; isolation:isolate; padding:100px 0; background:50% 50% no-repeat; color:#fff }
.proposte::before { content:""; position:absolute; inset:0; z-index:-1; background:rgba(105,60,18,.29) }
.proposte__titolo { margin:0 0 50px; line-height:1.2; text-align:center; color:#fff }
.proposte .spunte a { color:var(--arancio) }

/* la nostra èquipe */
.equipe { padding:30px 0; background:0 0 / cover no-repeat fixed }
.equipe__box { margin:10px -10px 0; padding:50px; background:#fff }
.equipe h2 { margin:0 0 20px; font:400 35px/26px "acme",sans-serif }
.equipe__testo p { margin:0 0 1rem } .equipe .grande { font-size:large } .equipe .marrone { color:rgb(105,60,18) }
@media (max-width:1199.98px) { .equipe__box { margin:0 0 20px } }
@media (max-width:767.98px) { .equipe__box { margin-bottom:10px } }

/* contatti */
.mappa-sezione .mappa-grande { display:inline-block; width:100%; min-height:450px; border:0; vertical-align:baseline }
.mappa-sezione .contenitore > iframe { margin-bottom:30px }
.contatti-sezione { padding-top:1px }
.riga--stretta { margin-inline:0 } .riga--stretta > .col { padding-inline:0 }
.contatti-titolo { padding-top:24px; margin-bottom:30px } .contatti-titolo h2 { margin:0 } .contatti-titolo span { font-size:14pt }
.recapito--grigio { margin-bottom:10px; color:#693c13 } .recapito--grigio .icona { width:28px; height:28px; margin-right:15px }
.recapito--grigio h3 { margin:0 0 5px; font-size:15px; line-height:40px; font-weight:500; color:#4a4a4a } .recapito--grigio a { color:#4a4a4a }
.modulo--semplice { margin:0 0 30px -20px; padding:20px 20px 10px }
.modulo--semplice .modulo__titolo { margin:0 0 .5rem; font-size:18px; line-height:52px; font-weight:500 }
.modulo--semplice input:not([type=checkbox]) { height:36px } .modulo--semplice textarea { height:76px }
.modulo--semplice .bottone { background:#23cf5f; border-color:#23cf5f; font-family:Helvetica,sans-serif }
@media (max-width:1199.98px) { .mappa-sezione .contenitore > iframe { margin-bottom:20px } .contatti-titolo { margin-bottom:20px } .recapito--grigio { margin-bottom:20px }
  .modulo--semplice { margin:0 0 20px; padding:0 } .modulo--semplice .modulo__gruppo { margin-bottom:15px } }
@media (max-width:767.98px) { .mappa-sezione .contenitore > iframe, .contatti-titolo, .recapito--grigio { margin-bottom:10px } .modulo--semplice { margin-bottom:10px } }

/* photogallery (album SP Easy Image Gallery) */
.album { padding:100px 0 90px }
.album__griglia { display:flex; flex-wrap:wrap; margin:0 -10px }
.album__voce { flex:0 0 25%; max-width:25%; padding:0 10px; margin-bottom:20px }
.album__voce a { display:block; cursor:zoom-in } .album__foto { position:relative } .album__foto img { display:block; width:100%; height:auto }
.album__foto::after { content:" "; position:absolute; inset:0; z-index:1; background:linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,.3) 100%); opacity:0; transition:opacity .4s }
.album__didascalia { position:absolute; left:0; right:0; bottom:0; padding:10px; z-index:2; opacity:0; transition:opacity .4s }
.album__didascalia span { display:block; color:#fff; font-size:13px; line-height:1.2; font-weight:700; letter-spacing:1px }
.album__voce a:hover .album__foto::after, .album__voce a:hover .album__didascalia { opacity:1 }
@media (max-width:991.98px) { .album__griglia { margin:0 -5px } .album__voce { flex-basis:33.3333%; max-width:33.3333%; padding:0 5px; margin-bottom:10px } }
@media (max-width:767.98px) { .album__voce { flex-basis:50%; max-width:50% } }

/* privacy e cookie */
.documento { padding:50px 0 }
.documento__titolo { margin:0 0 .5rem } .documento__titolo--privacy { font-family:var(--raleway) }
.documento__corpo { margin-bottom:30px } .documento__corpo ul, .documento__corpo ol { margin:0 0 1rem; padding-left:2rem } .documento__corpo ul { list-style:disc } .documento__corpo li ul { list-style:circle } .documento__corpo li > ul, .documento__corpo li > ol { margin-bottom:0 }
.documento__corpo table { width:100%; border-collapse:collapse; margin-bottom:1rem; vertical-align:top; border-color:#dee2e6 }
.documento__corpo td, .documento__corpo th { padding:.5rem; vertical-align:top; border:0 solid; border-color:inherit; border-bottom-width:1px; text-align:inherit } .documento__corpo th { font-weight:bold }
@media (max-width:1199.98px) { .documento__corpo { margin-bottom:20px } } @media (max-width:767.98px) { .documento__corpo { margin-bottom:10px } }

/* margini dei moduli SPPB sotto i 1200 px (20) e sotto i 768 px (10) */
@media (max-width:1199.98px) {
  .attivita-hero__sopra { margin-bottom:50px } .attivita-hero__titolo { margin-bottom:20px }
  .intro__titolo { margin-bottom:95px } .voce__titolo { margin-bottom:31px } .voce__testo { margin-bottom:20px }
  .proposte .riga { margin-bottom:30px } .scorrevole { margin-bottom:20px } }
@media (max-width:767.98px) {
  .attivita-hero__sopra { margin-bottom:40px } .attivita-hero__titolo { margin-bottom:10px }
  .intro__titolo { margin-bottom:40px } .voce__titolo { margin-bottom:40px } .voce__testo { margin-bottom:0 } .scorrevole { margin-bottom:10px } }
@media (max-width:1199.98px) { .paesaggio h3 { margin-bottom:0 } .paesaggio__testo { margin-top:90px } }
@media (max-width:767.98px) { .paesaggio__testo { margin-top:60px } }
@media (max-width:1199.98px) { .modulo--semplice .modulo__privacy { margin-bottom:15px } }
@media (max-width:991.98px) { .album { padding-bottom:95px } }

/* home a 768-991: schede impilate, passo di 1 px come l'originale */
@media (min-width:768px) and (max-width:991.98px) { .scheda { margin-bottom:21px } .scheda--0 { margin-top:23px } }

/* pagine /privacy-policy e /cookie-policy (policy del sito, bozza da confermare) */
.policy h1 { font:700 40px/1.2 var(--raleway); margin:0 0 .5rem } .policy h2 { font:600 28px/1.2 var(--raleway); margin:2rem 0 .6rem } .policy h3 { font:600 20px/1.3 var(--raleway); margin:1.4rem 0 .5rem }
.policy .agg { color:#666; font-size:14px } .policy a { color:var(--arancio); text-decoration:underline }
.policy table { margin:0 0 1rem } .policy th, .policy td { border:1px solid #dee2e6; padding:.4rem .6rem; text-align:left; font-size:15px } .policy th { background:#f6f6f6 }
@media (max-width:767.98px) { .policy h1 { font-size:30px } .policy h2 { font-size:23px } .policy table { display:block; overflow-x:auto } }

/* animazioni d'ingresso (SPPB WOW + animate.css): vedi assets/js/anima.js */
.anima-attesa { visibility:hidden } .anima-via { visibility:visible; animation-fill-mode:both }
.fadeInUp { animation-name:fadeInUp } .bounceIn { animation-name:bounceIn } .fadeInDown { animation-name:fadeInDown } .bounceInUp { animation-name:bounceInUp }
@keyframes fadeInUp { from { opacity:0; transform:translate3d(0, 100%, 0) } to { opacity:1; transform:none } }
@keyframes fadeInDown { from { opacity:0; transform:translate3d(0, -100%, 0) } to { opacity:1; transform:none } }
@keyframes bounceInUp { from, 60%, 75%, 90%, to { animation-timing-function:cubic-bezier(.215, .61, .355, 1) }
  from { opacity:0; transform:translate3d(0, 3000px, 0) } 60% { opacity:1; transform:translate3d(0, -20px, 0) } 75% { transform:translate3d(0, 10px, 0) } 90% { transform:translate3d(0, -5px, 0) } to { transform:translate3d(0, 0, 0) } }

/* titolo a parole «letters scale» (SPPB Animated Heading, algoritmo CodyHouse): lettere che scalano una a una, cambio ogni 2,5 s */
.pb-parole { position:relative; display:inline-block; color:var(--giallo); text-align:left; vertical-align:top }
.pb-parola { position:absolute; left:0; top:0; white-space:nowrap; opacity:1 }
.pb-parola i { display:inline-block; font-style:normal; opacity:0; transform:scale(0) } .pb-parola.visibile i.fermo { opacity:1; transform:none }
.pb-parola i.in { animation:pb-su .6s forwards } .pb-parola i.out { animation:pb-giu .6s forwards }
@keyframes pb-su { 0% { transform:scale(0); opacity:0 } 60% { transform:scale(1.2); opacity:1 } 100% { transform:scale(1); opacity:1 } }
@keyframes pb-giu { 0% { transform:scale(1); opacity:1 } 60% { transform:scale(0); opacity:0 } 100% { transform:scale(0); opacity:0 } }

/* carosello della home come lo slider SPPB: scorrimento orizzontale e livelli che scendono dall'alto */
.scorrevole--animato .scorrevole__voce { opacity:1; transition:none } .scorrevole--animato .scorrevole__voce:not(.attiva) { visibility:hidden }
.scorrevole--animato h2, .scorrevole--animato .scorrevole__sotto { opacity:0 }
.scorrevole--animato h2.entra { animation:livello-giu .8s ease 1.8s both } .scorrevole--animato .scorrevole__sotto.entra { animation:livello-giu .8s ease 1.9s both }
@keyframes livello-giu { from { opacity:0; transform:translateY(-100%) } to { opacity:1; transform:translateY(0) } }

@keyframes bounceIn { from, 20%, 40%, 60%, 80%, to { animation-timing-function:cubic-bezier(.215, .61, .355, 1) }
  0% { opacity:0; transform:scale3d(.3, .3, .3) } 20% { transform:scale3d(1.1, 1.1, 1.1) } 40% { transform:scale3d(.9, .9, .9) }
  60% { opacity:1; transform:scale3d(1.03, 1.03, 1.03) } 80% { transform:scale3d(.97, .97, .97) } to { opacity:1; transform:scale3d(1, 1, 1) } }

/* testata fissa come Helix (offset 100 px, comparsa dall'alto in .5 s) */
.testata--fissa { position:fixed; top:0; left:0; width:100%; z-index:9999; animation:testataGiu .5s }
@keyframes testataGiu { from { opacity:0; transform:translateY(-20px) } to { opacity:1; transform:none } }

/* effetti al passaggio del mouse dell'originale (CSS delle pagine SPPB) */
.scheda { transition:.3s } .scheda:hover { background:#fff; box-shadow:0 20px 40px 0 rgba(132,133,151,.2) }
.scheda__icona span { transition:.3s } .scheda:hover .scheda__icona span { color:#fff; background:#693c12 }
.link-sottolineato { transition:.3s } .link-sottolineato:hover { color:#7c6ac0; border-color:#7c6ac0 }
.scorrevole__frecce button { transition:color .3s } .scorrevole__frecce button:hover { color:#252525 }

/* menu mobile a scomparsa da destra come l'off-canvas di Helix (300 px, .4 s, velo scuro), hamburger che diventa una X */
@media (max-width:991.98px) {
  .menu { display:block; visibility:hidden; transform:translateX(100%); transition:transform .4s, visibility .4s, box-shadow .4s }
  .menu.aperto { visibility:visible; transform:none; box-shadow:0 0 0 100vmax rgba(0,0,0,.7) }
  .menu-toggle span { display:block; width:25px; height:2px; margin:5px 0; background:#000; transition:background-color .3s ease-in, opacity .3s ease-in, transform .3s ease-in }
  .menu-toggle[aria-expanded="true"] span:nth-child(1) { transform:translate(0, 7px) rotate(-45deg) }
  .menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0 }
  .menu-toggle[aria-expanded="true"] span:nth-child(3) { transform:translate(0, -7px) rotate(45deg) } }
