/* NeaBios — foglio di stile unico (sostituisce Divi + plugin). Replica griglia, tipografia e colori del tema. */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/fonts/montserrat-latin.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/inter-latin.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/poppins-400-latin.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/poppins-600-latin.woff2) format('woff2')}
@font-face{font-family:'Poppins';font-style:normal;font-weight:700 800;font-display:swap;src:url(/assets/fonts/poppins-700-latin.woff2) format('woff2')}

:root{
  --f-head:'Montserrat',Helvetica,Arial,Lucida,sans-serif;
  --f-body:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  --c-text:#3d4652;--c-head:#333;--c-link:#2ea3f2;
  --c-blue:#003b70;--c-teal:#00708c;--c-aqua:#6ac5c7;--c-navy:#193762;--c-cta:#ef4c07;--c-grey:#d6d6d6;
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:110px}
body{margin:0;font:400 18px/1.7em var(--f-body);color:var(--c-text);background:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
a{color:var(--c-link);text-decoration:none}
a:hover{text-decoration:none}
img,video,picture{max-width:100%;height:auto;vertical-align:middle}
picture{display:contents}
h1,h2,h3,h4,h5,h6{font-family:var(--f-head);font-weight:700;color:var(--c-head);line-height:1em;margin:0;padding-bottom:10px}
h1,.h1x{font-size:30px}h2{font-size:26px}h3{font-size:22px}h4{font-size:18px}h5{font-size:16px}h6{font-size:14px}
h1.h3x{font-size:22px}
h1 a,h2 a,h3 a,h4 a,h5 a,h6 a{color:inherit}
p{margin:0;padding-bottom:1em}
p:last-of-type{padding-bottom:0}
strong,b{font-weight:700}
ul,ol{margin:0;padding:0 0 23px 1em;line-height:26px}
ul{list-style:disc}ol{list-style:decimal}
li ul,li ol{padding:2px 0 2px 20px}
blockquote{margin:20px 0 30px;padding-left:20px;border-left:5px solid var(--c-link)}
hr{border:0;border-top:1px solid #eee;margin:20px 0}
table{border-collapse:collapse;width:100%;margin-bottom:20px}
td,th{padding:6px 10px;border:1px solid #eee;text-align:left}
iframe{max-width:100%;border:0}
button{font:inherit}
.skip{position:absolute;left:-9999px;top:0;z-index:9999;background:#fff;color:#000;padding:8px 14px}
.skip:focus{left:8px;top:8px}
:focus-visible{outline:2px solid var(--c-teal);outline-offset:2px}
.alignleft{float:left;margin:0 15px 15px 0}.alignright{float:right;margin:0 0 15px 15px}.aligncenter{display:block;margin:0 auto 15px}

/* ---------- sezioni / righe / colonne (griglia Divi) ---------- */
.sec{position:relative;background-color:#fff;background-position:center;background-size:cover;padding:4% 0}
.row,.row-in{position:relative;z-index:2;display:flex;align-items:flex-start;width:80%;max-width:1080px;margin:0 auto;padding:2% 0}
.row-in{width:100%;max-width:none;padding:0}
.row.eq,.row-in.eq{align-items:stretch}
.col{position:relative;min-width:0;min-height:1px}
.g1>.col:not(:last-child){margin-right:0}
.g1>.w4_4{width:100%}.g1>.w1_2{width:50%}.g1>.w1_3{width:33.33%}.g1>.w2_3{width:66.67%}.g1>.w1_4{width:25%}.g1>.w3_4{width:75%}.g1>.w1_5{width:20%}.g1>.w2_5{width:40%}.g1>.w3_5{width:60%}.g1>.w4_5{width:80%}.g1>.w1_6{width:16.67%}.g1>.w5_6{width:83.33%}
.g2>.col:not(:last-child){margin-right:3%}
.g2>.w4_4{width:100%}.g2>.w1_2{width:48.5%}.g2>.w1_3{width:31.33%}.g2>.w2_3{width:65.67%}.g2>.w1_4{width:22.75%}.g2>.w3_4{width:74.25%}.g2>.w1_5{width:17.6%}.g2>.w2_5{width:38.2%}.g2>.w3_5{width:58.8%}.g2>.w4_5{width:79.4%}.g2>.w1_6{width:14.17%}.g2>.w5_6{width:82.83%}
.g3>.col:not(:last-child){margin-right:5.5%}
.g3>.w4_4{width:100%}.g3>.w1_2{width:47.25%}.g3>.w1_3{width:29.67%}.g3>.w2_3{width:64.83%}.g3>.w1_4{width:20.88%}.g3>.w3_4{width:73.62%}.g3>.w1_5{width:15.6%}.g3>.w2_5{width:36.7%}.g3>.w3_5{width:57.8%}.g3>.w4_5{width:78.9%}.g3>.w1_6{width:12.08%}.g3>.w5_6{width:82.42%}
.g4>.col:not(:last-child){margin-right:8%}
.g4>.w4_4{width:100%}.g4>.w1_2{width:46%}.g4>.w1_3{width:28%}.g4>.w2_3{width:64%}.g4>.w1_4{width:19%}.g4>.w3_4{width:73%}.g4>.w1_5{width:13.6%}.g4>.w2_5{width:35.2%}.g4>.w3_5{width:56.8%}.g4>.w4_5{width:78.4%}.g4>.w1_6{width:10%}.g4>.w5_6{width:82%}
:where(.col)>:where(.mod,.row-in):not(:last-child){margin-bottom:30px}
:where(.row-in)+:where(.row-in){margin-top:0}

/* divider SVG (onde "mountains") */
.dv{position:absolute;left:0;width:100%;z-index:1;background-repeat:repeat-x;pointer-events:none}
.dv-top{top:0}.dv-bottom{bottom:0}

/* ---------- moduli ---------- */
.mod{position:relative}
.txt{overflow-wrap:break-word}
.txt>:last-child{padding-bottom:0}
.btnw{line-height:1}
.btn{display:inline-block;position:relative;font:500 20px/1.7em var(--f-body);padding:.3em 1em;border:2px solid var(--c-link);border-radius:3px;color:var(--c-link);background:transparent;transition:filter .2s,transform .2s;cursor:pointer}
.btn:hover{filter:brightness(1.08)}
.btn.ico-arrow{padding:.3em 2em .3em .7em}
.ico-arrow::after{content:"";position:absolute;right:.75em;top:50%;width:.36em;height:.62em;margin-top:-.31em;background:currentColor;clip-path:polygon(0 0,100% 50%,0 100%)}
.btn.ico-phone{padding:.3em .7em .3em 2em}
.ico-phone::before{content:"";position:absolute;left:.7em;top:50%;width:.9em;height:.9em;margin-top:-.45em;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M64 32C29 32 0 61 0 96v320c0 35 29 64 64 64h320c35 0 64-29 64-64V96c0-35-29-64-64-64H64zm90 79c13-4 26 3 31 15l20 48c4 10 1 22-7 28l-25 21c17 36 46 65 82 82l21-25c7-8 18-11 28-7l48 20c12 5 19 18 15 31l-12 44c-3 12-14 20-27 20-158 0-286-128-286-286 0-13 8-24 20-27l44-12z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M64 32C29 32 0 61 0 96v320c0 35 29 64 64 64h320c35 0 64-29 64-64V96c0-35-29-64-64-64H64zm90 79c13-4 26 3 31 15l20 48c4 10 1 22-7 28l-25 21c17 36 46 65 82 82l21-25c7-8 18-11 28-7l48 20c12 5 19 18 15 31l-12 44c-3 12-14 20-27 20-158 0-286-128-286-286 0-13 8-24 20-27l44-12z'/%3E%3C/svg%3E") center/contain no-repeat}
.ico-phone.ico-left::after{display:none}
.btn-cta{background:var(--c-cta);color:#fff;border:0;border-radius:8px;box-shadow:0 2px 18px rgba(0,0,0,.3);text-shadow:0 .1em .1em rgba(0,0,0,.4)}
.img{line-height:0}
.img img{display:inline-block}
.img a{display:inline-block}
.icon{margin:0 auto;line-height:0;text-align:center}
.icon svg{width:100%;height:auto;max-height:133px}
.feat{margin-bottom:30px;line-height:0}
.feat img{width:100%}
.ptitle h1{padding-bottom:10px}
.ptitle .meta{padding-bottom:0;font-size:14px}
.ptitle .feat{margin:20px 0 0}

/* hover box (Studio & Terapie) */
.hbox{display:block;overflow:hidden;color:#fff;text-align:center;aspect-ratio:4/6.3;background:#000}
.hbox.hb-square{aspect-ratio:1/1}
.hbox .hb-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.hbox.hb-zoom:hover .hb-img,.hbox.hb-zoom:focus .hb-img{transform:scale(1.1)}
.hb-shade{position:absolute;inset:0}
.hb-front{position:absolute;left:0;right:0;bottom:0;padding:20px 15px 30px;display:flex;flex-direction:column;justify-content:flex-end;transition:opacity .3s}
.hb-title{display:block;font:700 28px/1em var(--f-head);padding-bottom:10px}
.hb-desc{display:block;font-size:16px;line-height:1.5em}
.hb-desc p{padding-bottom:0}
.hb-hover{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:20px;font-size:14px;line-height:1.6em;opacity:0;transition:opacity .35s;overflow:auto}
.hb-hover p{padding-bottom:.6em}
.hbox:hover .hb-hover,.hbox:focus-within .hb-hover,.hbox:focus .hb-hover{opacity:1}
.hbox:hover .hb-front,.hbox:focus .hb-front{opacity:0}
.hb-btn{position:relative;display:inline-block;margin-top:10px;padding:.3em 2em .3em .7em;border-radius:25px;color:#fff;font-size:18px;text-decoration:underline}

/* testimonial */
.testi{margin:0;padding:30px 20px 10px;position:relative}
.testi::before{content:"\201C";position:absolute;top:-14px;left:50%;transform:translateX(-50%);width:32px;height:32px;border-radius:50%;background:#f5f5f5;font:700 34px/46px Georgia,serif;text-align:center}
.testi blockquote{margin:0;padding:0;border:0;font-style:normal}
.testi figcaption{margin-top:12px;font-weight:700;color:var(--c-head)}

/* gallery + lightbox */
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:30px 4%}
.gal-item{display:block;overflow:hidden;aspect-ratio:400/284;line-height:0}
.gal-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.gal-item:hover img{transform:scale(1.05)}
.gallery--cap{grid-template-columns:repeat(4,1fr);gap:30px 3%}
.gal-fig{margin:0}
.gal-fig figcaption{font-size:14px;line-height:1.4em;padding-top:8px;text-align:center}
.sec-gallery{background:#f4f4f4}
.sec-gallery h2{color:var(--c-teal)}
.sec-gallery .txt{max-width:820px;margin-bottom:30px}
.lb{border:0;padding:0;background:transparent;max-width:92vw;max-height:92vh}
.lb::backdrop{background:rgba(0,0,0,.85)}
.lb img{max-width:92vw;max-height:88vh;width:auto;height:auto;display:block}
.lb-close{position:fixed;top:12px;right:16px;font-size:40px;line-height:1;color:#fff;background:none;border:0;cursor:pointer}

/* video */
.video video{width:100%;display:block;background:#000}
.video video[poster]{aspect-ratio:16/9;object-fit:cover}

/* ---------- griglia blog (modulo Divi Blog) ---------- */
.bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 3%}
.bgrid.bgrid--2{grid-template-columns:repeat(2,1fr);gap:0 3%}
.bgrid article{position:relative;display:flex;flex-direction:column;padding:19px;margin-bottom:22px;border:1px solid #d8d8d8;background:#fff;overflow:hidden}
.bg-img{position:relative;display:block;margin:-19px -19px 19px;line-height:0;overflow:hidden}
.bg-img img{width:100%;aspect-ratio:400/250;object-fit:cover}
.bg-ov{position:absolute;inset:0;opacity:0;transition:opacity .3s}
.bg-ov::after{content:"";position:absolute;left:50%;top:50%;width:32px;height:32px;margin:-16px;background:#fff;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 2a8 8 0 1 0 4.9 14.3l5.4 5.4 1.4-1.4-5.4-5.4A8 8 0 0 0 10 2zm0 2a6 6 0 1 1 0 12 6 6 0 0 1 0-12z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 2a8 8 0 1 0 4.9 14.3l5.4 5.4 1.4-1.4-5.4-5.4A8 8 0 0 0 10 2zm0 2a6 6 0 1 1 0 12 6 6 0 0 1 0-12z'/%3E%3C/svg%3E") center/contain no-repeat}
.bg-img:hover .bg-ov{opacity:.9}
.bg-title{font-size:18px;padding-bottom:10px;line-height:1.3em}
.bg-meta{margin-bottom:6px;padding:0}
.bg-body{font-size:16px;line-height:1.6em}
.bg-body p{padding-bottom:.8em}
.more-link{display:block;padding:10px;background:cadetblue;color:#fff;margin-top:12px;text-transform:capitalize;text-align:center}

/* ---------- header ---------- */
.site-head{position:sticky;top:0;z-index:100;background:#fff;padding:5px;transition:box-shadow .25s}
.site-head.is-stuck{box-shadow:0 3px 16px rgba(0,30,50,.12)}
.hd-row{display:flex;align-items:flex-start;padding:0 15px}
.hd-main{display:flex;align-items:center;flex:1 1 auto;width:73.62%;min-height:76px}
.hd-side{flex:0 0 auto;margin-left:24px;text-align:center;white-space:nowrap}
.hd-logo{display:block;flex:0 0 auto;max-width:190px;margin-right:0;line-height:0}
.hd-logo img{width:160px;height:auto}
.hd-nav{flex:1 1 auto;text-align:right}
.menu{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:flex-end;line-height:1em}
.menu>li{position:relative}
.menu a{display:block;position:relative;font:600 14px/1em var(--f-head);letter-spacing:.02em;text-transform:uppercase;color:#1d2a3a;padding:31px 10px;transition:color .2s}
.menu>li>a::before{content:"";position:absolute;left:10px;right:10px;bottom:20px;height:2px;border-radius:2px;background:var(--c-aqua);transform:scaleX(0);transition:transform .2s}
.menu>li>a:hover,.menu>li>a:focus-visible{color:var(--c-teal)}
.menu>li>a:hover::before,.menu>li.is-active>a::before{transform:scaleX(1)}
.menu .is-active>a{color:var(--c-teal)}
.menu .has-sub>a{padding-right:26px}
.menu .has-sub>a::after{content:"";position:absolute;right:11px;top:50%;width:7px;height:7px;margin-top:-6px;border:solid currentColor;border-width:0 2px 2px 0;transform:rotate(45deg)}
.sub-toggle{display:none}
.sub-menu{list-style:none;margin:0;padding:20px 0;position:absolute;top:100%;left:0;z-index:60;background:#fff;border-top:3px solid var(--c-navy);box-shadow:0 2px 5px rgba(0,0,0,.1);min-width:240px;width:max-content;text-align:left;opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .2s,transform .2s,visibility .2s}
.has-sub:hover>.sub-menu,.has-sub:focus-within>.sub-menu,.has-sub.open>.sub-menu{opacity:1;visibility:visible;transform:none}
.sub-menu a{padding:8px 22px;line-height:24px;white-space:nowrap;text-transform:none;font-size:15px;letter-spacing:0}
.sub-menu .is-active>a{color:var(--c-teal)}
.sub-menu a:hover,.sub-menu a:focus-visible{background:#eef7f8;color:var(--c-teal)}
.hd-phone{display:inline-flex;align-items:center;gap:8px;margin-top:20px;font:600 16px/1.7em var(--f-head);color:#1d2a3a;padding:.3em .7em}
.hd-phone svg{width:16px;height:16px;color:var(--c-teal)}
.hd-toggle{display:none;background:none;border:0;padding:8px;margin-left:auto;cursor:pointer;color:var(--c-cta)}
.hd-toggle span,.hd-toggle span::before,.hd-toggle span::after{display:block;width:30px;height:3px;background:currentColor;border-radius:2px;position:relative;transition:transform .25s,opacity .25s}
.hd-toggle span::before,.hd-toggle span::after{content:"";position:absolute;left:0}
.hd-toggle span::before{top:-9px}.hd-toggle span::after{top:9px}
.hd-toggle[aria-expanded="true"] span{background:transparent}
.hd-toggle[aria-expanded="true"] span::before{transform:translateY(9px) rotate(45deg)}
.hd-toggle[aria-expanded="true"] span::after{transform:translateY(-9px) rotate(-45deg)}
.site-head--landing{text-align:center;padding:10px 0}
.site-head--landing .hd-logo{display:inline-block;max-width:none;margin:0}
.site-head--landing .hd-logo img{height:80px;width:auto}

/* ---------- selettore lingua IT | EN ---------- */
.lang-switch{display:inline-flex;align-items:center;gap:2px;margin:20px 0 0 14px;padding:3px;border:1px solid #d6d6d6;border-radius:20px;font:600 13px/1 var(--f-head);vertical-align:top}
.lang-switch a,.lang-switch span{display:inline-block;padding:6px 10px;border-radius:16px;color:#555;letter-spacing:.04em}
.lang-switch .ls-cur{background:var(--c-teal);color:#fff}
.lang-switch a:hover{background:#eef7f8;color:var(--c-teal)}
.site-head--landing{position:relative}
.site-head--landing .lang-switch{position:absolute;right:15px;top:50%;transform:translateY(-50%);margin:0}

/* ---------- layout con sidebar (pagine/articoli "standard") ---------- */
.wrap-side{display:flex;width:80%;max-width:1080px;margin:0 auto;padding:58px 0 40px;position:relative}
.wrap-side::before{content:"";position:absolute;top:0;bottom:0;right:20.875%;width:1px;background:#e2e2e2}
.left-area{width:79.125%;padding-right:5.5%;min-width:0}
.sidebar{width:20.875%;padding-left:30px}
.entry-title{font-size:30px;line-height:1.2em;padding-bottom:10px}
.post-meta{font-size:14px;margin-bottom:15px;padding:0}
.post-meta a{color:var(--c-text)}
.entry-content .sec{padding-left:0;padding-right:0}
.entry-content .row{width:100%}
.widget-title{color:#0693e3;font-size:22px;padding-bottom:20px}
.latest ul{list-style:none;padding:0;margin:0;line-height:1.6em}
.latest li{margin-bottom:20px}
.latest a{display:block;color:#000;font-size:18px}
.latest img{width:100%;aspect-ratio:1/1;object-fit:cover;margin-bottom:8px}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px;padding:0 0 12px;margin:0;font-size:14px;line-height:1.4em}
.crumbs li+li::before{content:"»";margin-right:4px;color:#999}
.crumbs a{color:var(--c-text)}
.archive-desc{margin-bottom:25px}
.pager{display:flex;gap:8px;margin:10px 0 30px}
.pager a,.pager span{display:inline-block;min-width:38px;padding:4px 10px;text-align:center;border:1px solid #d8d8d8}
.pager span{background:var(--c-teal);color:#fff;border-color:var(--c-teal)}

/* ---------- form contatti ---------- */
.cform{font-size:18px}
.cform-title{color:inherit;padding-bottom:30px}
.txt .cform-title{color:inherit}
.cform-intro{margin-bottom:18px}
.cform-intro p{padding-bottom:1em}
.cform-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}
.cf-field{margin-bottom:20px}
.cf-field label{display:block;font-weight:500;color:var(--c-text);margin-bottom:5px}
.cf-field .req{color:#f56c6c}
.cform input[type=text],.cform input[type=email],.cform input[type=tel]{width:100%;font:400 14px/1 -apple-system,system-ui,"Segoe UI",Roboto,sans-serif;color:#606266;padding:11px 15px;border:1px solid #dadbdd;border-radius:7px;background:#fff;transition:border-color .2s}
.cform input:focus{border-color:#1a7efb;outline:0}
.cform .invalid input,.cform input.invalid{border-color:#f56c6c}
.cf-msg{display:block;color:#f56c6c;font-size:14px;line-height:1.4em;margin-top:4px}
.cf-note{padding-bottom:15px}
.cf-check{margin-bottom:15px}
.cf-check label{display:flex;gap:8px;align-items:flex-start;line-height:1.6em;cursor:pointer}
.cf-check input{margin-top:.45em;flex:0 0 auto}
.cf-submit{display:inline-block;margin-top:10px;font:500 18px/27px var(--f-body);color:#fff;background:var(--c-cta);border:1px solid var(--c-cta);border-radius:11px;padding:8px 16px;cursor:pointer;transition:background .2s,color .2s}
.cf-submit:hover{background:#fff;color:var(--c-cta)}
.cf-submit[disabled]{opacity:.6;cursor:wait}
.cf-error{color:#f56c6c;margin:8px 0}
.cf-ok{padding:20px;background:#fff;border-left:4px solid #56c120}
.cform-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.side-form{background:#f4f4f4;padding:20px}

/* ---------- mappa ---------- */
.map-facade{position:relative;min-height:var(--map-h,450px);background:#e8eef0 linear-gradient(135deg,#eef3f4 25%,#e3ebed 25%,#e3ebed 50%,#eef3f4 50%,#eef3f4 75%,#e3ebed 75%) 0 0/40px 40px;display:flex;align-items:center;justify-content:center;text-align:center}
.map-facade iframe{position:absolute;inset:0;width:100%;height:100%}
.map-ph{padding:30px 20px;max-width:420px}
.map-pin svg{width:34px;height:44px;color:var(--c-cta)}
.map-addr{padding:10px 0 15px;color:#333;line-height:1.5em}
.map-load{display:inline-block;background:var(--c-teal);color:#fff;border:0;border-radius:8px;padding:8px 18px;cursor:pointer;font-size:16px}
.map-ext{display:block;margin-top:10px;font-size:15px}
.map-note{font-size:12px;color:#777;padding-top:8px;line-height:1.4em}

/* ---------- footer ---------- */
.site-foot{background:#141414;color:var(--c-grey);font-size:14px;line-height:1.8em;padding:3px 0 15px}
.ft-row{display:flex;width:95%;margin:3px auto 0;padding:2% 0 15px}
.ft-col{width:29.67%}
.ft-col:not(:last-child){margin-right:5.5%}
.site-foot--landing .ft-row{justify-content:center}
.ft-links ul{padding:0 0 14px 14px;font-size:13px;line-height:26px}
.ft-links a{color:#fff;text-decoration:underline}
.ft-brand{text-align:center}
.ft-logo{display:inline-block;max-width:200px;margin-bottom:23px;line-height:0}
.ft-name{font:600 15px/1em var(--f-head);color:var(--c-grey);padding-bottom:13px}
.ft-name a{color:var(--c-grey)}
.ft-nap{font-style:normal;font-size:13px;line-height:1.7em;margin-bottom:6px}
.ft-nap a{color:#fff}
.ft-legal{text-align:center;line-height:2em;padding-top:5px}
.ft-legal .ft-vat{padding-top:25px}
.ft-legal a,.ft-credits a{color:#e09900;font-weight:300}
.ft-bottom{width:80%;max-width:1080px;margin:0 auto;padding:13px 0 0;text-align:center;font-size:12px}
.ft-bottom p{padding-bottom:1em}
.ft-bottom p:first-child{margin-top:37px}
.ft-credits{font-size:18px;margin-top:40px}
.ft-links-inline a{color:#fff;text-decoration:underline}
.social{list-style:none;display:flex;justify-content:center;gap:8px;margin:19px 0 0;padding:0}
.social a{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:3px;background:#fff;color:#474747;transition:opacity .2s}
.social a:hover{opacity:.8}
.social svg{width:14px;height:14px}

/* ---------- WhatsApp ---------- */
.wa-btn{position:fixed;right:15px;bottom:15px;z-index:90;display:flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:12px;background:#25d366;color:#fff;box-shadow:0 3px 10px rgba(0,0,0,.25);transition:transform .2s}
.wa-btn:hover{transform:scale(1.08)}
.wa-btn svg{width:30px;height:30px}

/* ---------- banner cookie ---------- */
.ck{position:fixed;left:20px;bottom:20px;z-index:100;width:440px;max-width:calc(100vw - 40px);background:#fff;color:#212121;border:1px solid #f4f4f4;border-radius:6px;box-shadow:0 -1px 10px rgba(172,171,171,.3);padding:22px;font-size:14px;line-height:1.5em}
.ck[hidden]{display:none}
.ck-title{font-size:18px;font-weight:700;padding-bottom:10px}
.ck-text{padding-bottom:12px}
.ck-text a{color:#1863dc}
.ck-prefs{margin-bottom:12px}
.ck-row{display:flex;gap:8px;align-items:flex-start;padding:6px 0;border-top:1px solid #eee;cursor:pointer}
.ck-row input{margin-top:3px}
.ck-actions{display:flex;flex-wrap:wrap;gap:8px}
.ck-btn{flex:1 1 auto;padding:8px 10px;border:2px solid #1863dc;border-radius:2px;background:#fff;color:#1863dc;font-size:14px;font-weight:500;cursor:pointer}
.ck-btn--primary{background:#1863dc;color:#fff}
.ck-btn[hidden]{display:none}

/* ---------- 404 ---------- */
.notfound .row{display:block}
.nf-links{columns:2;margin:25px 0}
.nf-cta{padding-top:10px}

/* ---------- Domande & Risposte: risposta flash, link interni, indice ---------- */
.faq-short{background:#eef7f8;border-left:4px solid var(--c-teal);padding:16px 20px;margin:0 0 25px;border-radius:0 8px 8px 0}
.faq-short p{padding-bottom:0}
.faq-short .faq-short-label{font:700 13px/1.4 var(--f-head);text-transform:uppercase;letter-spacing:.06em;color:var(--c-teal);padding-bottom:4px}
.faq-links{margin:35px 0 10px;padding:22px 24px;background:#f4f4f4;border-radius:11px}
.faq-links-title{font:700 20px/1.2 var(--f-head);color:var(--c-navy);padding-bottom:12px}
.faq-links ul{list-style:none;padding:0;margin:0 0 6px;line-height:1.5em}
.faq-links li{padding:7px 0;border-bottom:1px solid #e2e2e2}
.faq-links li:last-child{border-bottom:0}
.faq-links li span{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:#888}
.faq-links li a{color:var(--c-teal);font-weight:700}
.faq-links-cta{padding-top:12px}
.faq-related{background:#f4f4f4}
.faq-related h2{color:var(--c-teal);padding-bottom:20px}
.faq-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:18px 5.5%;line-height:1.5em}
.faq-list li{background:#fff;border-radius:11px;padding:16px 20px;box-shadow:0 2px 10px rgba(0,0,0,.06)}
.faq-list a{font:700 18px/1.3 var(--f-head);color:var(--c-navy)}
.faq-list p{font-size:15px;padding:6px 0 0}
.faq-all{padding-top:20px}
.faq-all a{font-weight:700;color:var(--c-teal)}
.faq-hub{margin-top:10px}
.faq-topics{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px}
.faq-topics a{display:inline-block;padding:8px 16px;border-radius:22px;background:#eef7f8;color:var(--c-teal);font-size:15px;line-height:1.4em;font-weight:600;transition:background .2s,color .2s}
.faq-topics a:hover{background:var(--c-teal);color:#fff}
.faq-topics a:hover span{color:#dff}
.faq-topics a span{color:#888}
.faq-topic{padding-top:10px;margin-bottom:35px;scroll-margin-top:20px}
.faq-topic h2{color:var(--c-teal);padding:0 0 18px 14px;border-left:5px solid var(--c-aqua);line-height:1.2em}
.faq-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 2.5%}
.faq-card{display:flex;flex-direction:column;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 4px 18px rgba(0,40,60,.10);transition:transform .25s,box-shadow .25s}
.faq-card:hover{transform:translateY(-4px);box-shadow:0 10px 28px rgba(0,40,60,.16)}
.faq-card-img{display:block;position:relative;aspect-ratio:16/10;overflow:hidden;line-height:0;background:#eef7f8}
.faq-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.faq-card:hover .faq-card-img img{transform:scale(1.06)}
.faq-card-img::after{content:"";position:absolute;inset:auto 0 0;height:40%;background:linear-gradient(to top,rgba(0,0,0,.18),transparent)}
.faq-card-body{display:flex;flex-direction:column;flex:1;padding:18px 20px 20px;border-top:4px solid var(--c-aqua)}
.faq-card h2,.faq-card h3{font-size:18px;line-height:1.3em;padding-bottom:8px}
.faq-card h2 a,.faq-card h3 a{color:var(--c-navy)}
.faq-card .card-meta{font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--c-teal);padding-bottom:6px;flex:0}
.faq-cards--2{grid-template-columns:repeat(2,1fr)}
.faq-card p{font-size:15px;line-height:1.55em;padding-bottom:12px;flex:1}
.faq-more{font-size:15px;font-weight:700;color:var(--c-teal)}
.faq-more span{display:inline-block;transition:transform .2s}
.faq-card:hover .faq-more span{transform:translateX(4px)}
.faq-topic-link{padding-top:14px;font-size:15px}
.faq-topic-link a{font-weight:700;color:var(--c-teal)}
@media (max-width:980px){.faq-cards{grid-template-columns:repeat(2,1fr)}.faq-list{grid-template-columns:1fr}}
@media (max-width:767px){.faq-cards{grid-template-columns:1fr}}

/* ---------- responsive ---------- */
@media (min-width:1181px) and (max-width:1280px){.menu a{font-size:13px;padding-left:7px;padding-right:7px}.menu>li>a::before{left:7px;right:7px}.menu .has-sub>a{padding-right:22px}.hd-side{margin-left:12px}.hd-logo img{width:140px}}
/* menu a scomparsa fino a 1180px: sotto questa larghezza le voci non stanno su una riga */
@media (max-width:1180px){
  .hd-row{flex-wrap:wrap;padding:0 10px}
  .hd-main{width:100%;flex-wrap:wrap;min-height:60px}
  .hd-side{width:100%;margin:2px 0 4px;text-align:center}
  .hd-phone{margin-top:0}
  .lang-switch{margin:0 0 0 10px;vertical-align:middle}
  .hd-toggle{display:block}
  .hd-nav{display:none;width:100%;text-align:left;order:3;border-top:3px solid var(--c-navy);box-shadow:0 2px 5px rgba(0,0,0,.1);margin:6px -10px 0;width:calc(100% + 20px);background:#fff;padding:2% 5% 4%;max-height:calc(100vh - 120px);overflow-y:auto;overscroll-behavior:contain}
  .hd-nav.open{display:block}
  .menu{display:block}
  .menu>li{padding:0;border-bottom:1px solid #edf0f2}
  .menu a{padding:14px 5%;font-size:15px;line-height:1.4em}
  .menu>li>a::before{display:none}
  .sub-menu a{padding:11px 5%;white-space:normal}
  .menu .has-sub>a::after{display:none}
  .sub-toggle{display:block;position:absolute;right:0;top:0;width:52px;height:50px;background:none;border:0;cursor:pointer}
  .sub-toggle::before{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-6px 0 0 -4px;border:solid #242424;border-width:0 2px 2px 0;transform:rotate(45deg);transition:transform .2s}
  .has-sub.open>.sub-toggle::before{transform:rotate(-135deg);margin-top:-2px}
  .sub-menu{position:static;display:none;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;padding:0 0 0 15px;width:auto;min-width:0}
  .has-sub.open>.sub-menu{display:block}
  .has-sub:hover>.sub-menu{display:none}
  .has-sub.open:hover>.sub-menu{display:block}
}
@media (max-width:980px){
  .sec{padding:50px 0}
  .row,.row-in{flex-wrap:wrap;padding:30px 0}
  .row-in{padding:0}
  .col{width:100%!important;margin-right:0!important}
  .col:not(:last-child){margin-bottom:30px}
  .row.c4>.col{width:47.25%!important}
  .row.c4>.col:nth-child(odd){margin-right:5.5%!important}
  .bgrid{grid-template-columns:repeat(2,1fr)}
  .gallery--cap{grid-template-columns:repeat(2,1fr)}
  .wrap-side{display:block;width:90%;padding-top:30px}
  .wrap-side::before{display:none}
  .left-area,.sidebar{width:100%;padding:0}
  .sidebar{margin-top:30px;padding-top:30px;border-top:1px solid #e2e2e2}
  .latest ul{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
  .ft-row{flex-wrap:wrap}
  .ft-col{width:100%;margin:0 0 25px!important}
}
@media (max-width:767px){
  .bgrid,.bgrid.bgrid--2{grid-template-columns:1fr}
  .row.c4>.col{width:100%!important;margin-right:0!important}
  .cform-grid{grid-template-columns:1fr}
  .hbox{aspect-ratio:4/5}
  .nf-links{columns:1}
  .wa-btn{right:10px;bottom:10px}
  .ck{left:10px;right:10px;bottom:10px;width:auto;max-width:none}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* ---------- fonti bibliografiche in fondo agli articoli ---------- */
ol.sources{margin:0 0 20px;padding-left:22px;font-size:14px;line-height:1.55em;color:#5a6470}
ol.sources li{padding-bottom:6px;word-break:break-word}
ol.sources a{font-weight:600}
