/* ===================== DESIGN SYSTEM (restyle 2026) ===================== */
/* Palette StoneMentor.
   L'oro e' campionato dal logo (#A37535) e dalla card di chiusura del video
   istituzionale (#A17534): stesso colore, quindi e' quello del marchio.
   I neutri sono caldi, non virati al blu: la pietra non e' un software. */
:root{
  --brand:#A37535;         /* oro del marchio */
  --brand-strong:#7E5926;  /* hover/pressed */
  --brand-tint:#F4EFE4;    /* sfondo tenue, derivato dall'onice */
  --gold:#C9A063;          /* oro schiarito: serve dove il marchio pieno
                              sarebbe troppo cupo, cioe' sui fondi scuri */
  --stone:#D6CEB1;         /* onice caldo, campionato dal video */
  --stone-2:#CCCBB7;       /* onice piu' freddo, secondo campione */
  --ink:#1A1713;           /* nero caldo: titoli e fasce scure */
  --ink-2:#0F0D0A;         /* nero piu' profondo (footer bottom) */
  --ink-soft:#2E2921;
  --body:#45403A;          /* testo corrente */
  --muted:#7A736A;
  --line:#E3DDD2;          /* filetti caldi */
  --bg:#FFFFFF;
  --bg-alt:#F7F4ED;        /* bianco marmo */
  /* Spigoli quasi vivi e nessuna ombra: la pietra si taglia, non si stampa
     in 3D morbido. Le ombre morbide sono il linguaggio delle SaaS. */
  --radius:2px;
  --radius-sm:2px;
  --shadow:none;
  --shadow-lg:none;
  --maxw:1200px;
  --ease:cubic-bezier(.4,0,.2,1);
  /* spaziatura larga dei titoli, come il lettering del logo */
  --track:.08em;
}
/* ======================================================================== */
@font-face {font-family:'Poppins';font-style:normal;font-weight:400;src: local('Poppins Regular'), local('Poppins-Regular'), url(/g/font/2.woff2) format('woff2');}
@font-face {font-family:'Poppins';font-style:normal;font-weight:600;src: local('Poppins SemiBold'), local('Poppins-SemiBold'), url(/g/font/3.woff2) format('woff2');}
@font-face {font-family:'Poppins';font-style:italic;font-weight:400;src: local('Poppins Italic'), local('Poppins-Italic'), url(/g/font/4.woff2) format('woff2');}
@font-face {font-family:'Poppins';font-style:normal;font-weight:700;src: local('Poppins Bold'), local('Poppins-Bold'), url(/g/font/5.woff2) format('woff2');}
@font-face {font-family:'Poppins';font-style:normal;font-weight:300;src: local('Poppins Light'), local('Poppins-Light'), url(/g/font/6.woff2) format('woff2');}

@font-face {font-family:'Lato';font-style:normal;font-weight:400;src: local('Lato Regular'), local('Lato-Regular'), url(/g/font/8.woff2) format('woff2');}
@font-face {font-family:'Lato';font-style:normal;font-weight:700;src: local('Lato Bold'), local('Lato-Bold'), url(/g/font/9.woff2) format('woff2');}
@font-face {font-family:'Lato';font-style:normal;font-weight:300;src: local('Lato Light'), local('Lato-Light'), url(/g/font/10.woff2) format('woff2');}

@font-face {font-family:'FontAwesome';font-style:normal;font-weight:300;src:local('FontAwesome'), local('FontAwesome'), url(/g/font/7.woff2) format('woff2');}

/* Jost: geometrico architettonico, stessa famiglia di forme del lettering del
   logo. Variabile: un solo file copre tutti i pesi da 300 a 600.
   Self-hosted e non da CDN Google, per non esporre gli IP dei visitatori. */
@font-face {font-family:'Jost';font-style:normal;font-weight:300 600;font-display:swap;src:url(/g/font/jost.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face {font-family:'Jost';font-style:normal;font-weight:300 600;font-display:swap;src:url(/g/font/jost-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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
*{margin:0;padding:0;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}
body{background:var(--bg);font-family:'Lato',Arial,sans-serif;color:var(--body);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;}
::selection{background:var(--brand);color:#fff;}
html{scroll-behavior:smooth;}
ul,ol{list-style:none outside none;overflow:hidden;}
a{text-decoration:none;}
img{display:block;border:0;}
input,select,textarea,button{background:#fff;display:block;width:100%;height:40px;margin-bottom:5px;padding:0 17px;font-size:14px;border:1px solid #ddd;color:#262626;}
textarea{height:110px;padding:8px 17px;}
button:focus,input:focus,textarea:focus,select:focus{outline:0;}
input[type="submit"]{border:none;cursor:pointer;}
form b{font-size:15px;}
p{color:var(--body);font-size:17px;line-height:1.7;}
/* frase in evidenza dentro un paragrafo. Sfondo --brand-strong e non --brand:
   bianco su #A37535 sta a 3,15:1 e non passa il 4,5:1 richiesto a 17px.
   box-decoration-break:clone serve perche' la frase va a capo. */
mark.evidenza{background:var(--brand-strong);color:#fff;padding:.12em .38em;border-radius:4px;-webkit-box-decoration-break:clone;box-decoration-break:clone;}
h1,h2,h3,h4,h5{font-family:'Jost',arial,sans-serif;color:var(--ink);}
h1{margin-bottom:20px;font-size:clamp(28px,4vw,36px);line-height:1.15;letter-spacing:-.01em;}
h3{margin-bottom:clamp(28px,4vw,50px);text-align:center;font-size:clamp(28px,4.2vw,42px);font-weight:700;line-height:1.15;letter-spacing:-.01em;}
h4{font-size:20px;font-weight:600;}
.centro{width:100%;max-width:1200px;margin:0 auto;padding:0 5px;overflow:hidden;}
.btn{background:var(--brand);display:block;width:180px;margin:8px auto;padding:13px 0;border-radius:var(--radius);font-size:13px;font-weight:700;letter-spacing:.04em;color:#fff;text-align:center;text-transform:uppercase;transition:transform .2s var(--ease),background .2s var(--ease),box-shadow .2s var(--ease);}
.btn:hover{background:var(--brand-strong);transform:translateY(-2px);}
.grecaptcha-badge{display:none;}
/*slider*/
.myslider{position:relative;clear:both;width:100%;overflow:hidden;}
.myslider>div{position:relative;display:none;width:100%;overflow:hidden;}
.myslider>div.active{display:block;}
.myslider img{display:block;width:100%;height:auto;}
.myslider .prevBtn{position:absolute;left:5px;top:50%;width:52px;height:90px;margin-top:-45px;text-indent:-9999px;z-index:99999;}
.myslider .nextBtn{position:absolute;right:5px;top:50%;width:52px;height:90px;margin-top:-45px;text-indent:-9999px;z-index:99999;}
.myslider .prevBtn:before,.myslider .nextBtn:before{content:" ";position:absolute;top:52px;left:11px;background-color:#fff;width:25px;height:2px;border-radius:0 0 0 9px;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg);}
.myslider .prevBtn:after,.myslider .nextBtn:after{content:" ";position:absolute;top:35px;left:11px;background-color:#fff;width:25px;height:2px;border-radius:9px 0 0 0;-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg);}
.myslider .nextBtn:before{top:35px;left:15px;border-radius:0 9px 0 0;}
.myslider .nextBtn:after{top:52px;left:15px;border-radius:0 0 9px 0;}
.myslider .pointerBox{position:absolute;display:block;bottom:0;left:50%;list-style:none;width:60%;height:25px;margin-left:-30%;padding-left:0;text-align:center;overflow:hidden;z-index:15;}
.myslider .pointerBox a{display:inline-block;width:13px;height:13px;border:1px solid #ddd;border-radius:13px;margin-right:12px;text-indent:-9999px;cursor:pointer;}
.myslider .pointerBox a.active{background-color:#fff;width:15px;height:15px;}
.myslider .pointerBox a:hover{background-color:#fff;width:15px;height:15px;}
/*(slide-fade)*/
.style1>div{transition:transform 0.6s ease-in-out, opacity 0.6s ease-in-out;}
.style1>div.active{opacity:1;z-index:2;}
.style1>div.active.left{opacity:0;transform:translate3d(-100%,0,0);}
.style1>div.active.right{opacity:0;transform:translate3d(100%,0,0);}
.style1>div.next,.style1>div.prev{position:absolute !important;top:0;display:block !important;opacity:1;z-index:1;}
/*(fade)*/
.style2>div{transition:opacity 0.6s ease-in-out;}
.style2>div.active{opacity:1;z-index:2;}
.style2>div.active.left,.style2>div.active.right{opacity:0;}
.style2>div.next,.style2>div.prev{position:absolute !important;top:0;display:block !important;opacity:1;z-index:1;}
/*(slide)*/
@keyframes slidenext{0%{transform:translate3d(100%,0,0);}100%{transform:translate3d(0,0,0);}}@-webkit-keyframes slidenext{0%{-webkit-transform:translate3d(100%,0,0);}100%{-webkit-transform:translate3d(0,0,0);}}@-moz-keyframes slidenext{0%{-moz-transform:translate3d(100%,0,0);}100%{-moz-transform:translate3d(0,0,0);}}@-ms-keyframes slidenext{0%{-ms-transform:translate3d(100%,0,0);}100%{-ms-transform:translate3d(0,0,0);}}@-o-keyframes slidenext{0%{-o-transform:translate3d(100%,0,0);}100%{-o-transform:translate3d(0,0,0);}}
@keyframes slideprev{0%{transform:translate3d(-100%,0,0);}100%{transform:translate3d(0,0,0);}}@-webkit-keyframes slideprev{0%{-webkit-transform:translate3d(-100%,0,0);}100%{-webkit-transform:translate3d(0,0,0);}}@-moz-keyframes slideprev{0%{-moz-transform:translate3d(-100%,0,0);}100%{-moz-transform:translate3d(0,0,0);}}@-ms-keyframes slideprev{0%{-ms-transform:translate3d(-100%,0,0);}100%{-ms-transform:translate3d(0,0,0);}}@-o-keyframes slideprev{0%{-o-transform:translate3d(-100%,0,0);}100%{-o-transform:translate3d(0,0,0);}}
.style3>div{transition:transform 0.5s ease-in-out;}
.style3>div.active.left{transform:translate3d(-100%,0,0);}
.style3>div.active.right{transform:translate3d(100%,0,0);}
.style3>div.next{position:absolute !important;top:0;display:block !important;-webkit-animation:slidenext 0.5s ease-in-out 1;}
.style3>div.prev{position:absolute !important;top:0;display:block !important;-webkit-animation:slideprev 0.5s ease-in-out 1;}
/*privacyForm*/
.privacyForm{margin-bottom:4px;overflow:hidden;clear:both;}
.privacyForm a{display:inline-block;margin-left:4px;font-family:times,serif;border-radius:50%;height:16px;width:16px;padding-left:5px;border:1px solid #616060;color:#616060;font-size:13px;font-weight:600;font-style:italic;line-height:14px;}
.privacyForm a:hover{opacity:.7;}
.privacyForm label{display:block;font-size:11px!important;line-height:15px;color:#616060;}
.privacyForm input[type="checkbox"]{float:left;width:16px;height:16px!important;margin:0 4px 0 0;}
/*HEADER*/
#header{background:#fff;position:absolute;left:0;top:0;width:100%;height:158px;border-bottom:1px solid var(--line);overflow:hidden;}
#opennav{display:none;}
#chiama{position:absolute;top:9px;right:11px;display:none;background:url(tel.png)no-repeat center center var(--gold);width:40px;height:40px;border-radius:4px;text-indent:-9999px;}
/*HEADER TOP*/
#headerTop{background:#f9f9f9;text-align:right;}
#headerTop span{display:inline-block;margin-right:20px;padding:13px 0;font-size:14px;color:var(--gold);font-weight:300;}
#headerTop span strong{margin-right:5px;color:#888888;font-weight:300;}
#headerTop a{float:right;margin:0;}
/*headerBottom*/
#logo{position:absolute;display:block;float:left;background:url("logo.png") no-repeat;width:178px;height:90px;margin:10px 0;text-indent:-9999px;transition:opacity .1s linear;-webkit-transition:opacity .1s linear;-moz-transition:opacity .1s linear;-ms-transition:opacity .1s linear;-o-transition:opacity .1s linear;z-index:2;}
#logo:hover{opacity:0.7;filter:alpha(opacity=70);}
/*MENU*/
#nav{position:absolute;right:9%;top:42px;width:750px;height:101px;overflow:visible;z-index:5;}
#nav ul{width:100%;max-width:1140px;margin:0 auto;text-align:right;overflow:visible;}
#nav li{position:relative;display:inline-block;vertical-align:middle;margin:0 3%;}
#nav a:not(.btn){display:block;padding:38px 0;border-bottom:2px solid transparent;color:#888888;font-size:14px;text-transform:uppercase;font-weight:700;}
#nav a:not(.btn):hover,#nav li.active>a:not(.btn){color:var(--brand);}
#nav li.active>a{border-color:var(--brand)}
#nav .btn{display:inline-block;width:auto;margin:0;padding:11px 24px;background-image:none;font-size:13px;font-weight:700;letter-spacing:.05em;text-align:center;}
/*tendina*/
#nav .tendina{background-color:#fff;position:absolute;top:98%;left:0;width:275px;padding:10px 5px;border-top:2px solid var(--brand);text-align:left;opacity:0;transition:all 0.4s ease-in-out 0s;}
#nav .tendina li{display:block;margin:0;}
#nav .tendina a{display:block;padding:10px 12px;color:var(--body);font-size:14px;text-transform:none;letter-spacing:0;/* niente capitalize: i nomi arrivano dal database gia scritti bene, e la
     regola trasformava Prototipazione e Modelli in Scala in E... In... */transition:background .18s var(--ease),color .18s var(--ease);}
/* Riga intera che si inverte invece della sottolineatura: in un menu la
   sottolineatura fa sembrare le voci link di testo, e il bersaglio da
   centrare col mouse diventa la sola parola invece di tutta la riga. */
#nav .tendina a:hover{background:var(--brand);color:#fff;text-decoration:none;}
#nav li:hover .tendina{opacity:1;top:82px;transition:all 0.2s ease-in-out;z-index:9;}
#contactbar{display:none;}
@media(max-width:1055px){#nav{right:0;}#nav li{margin:0 1%;}}
@media(max-width:800px){#nav a:not(.btn){font-size:13px;}#nav li{margin:0 0.5%;}#nav .btn{font-size:14px;}}
@media(max-width:700px){
#headerTop{display:none;}
/* La causa vera non era il logo ma l'altezza dell'header: #headerTop
   resta visibile su mobile (vedi la regola piu' sotto, serve al
   selettore di lingua) e occupa 35px veri, ma #header teneva
   un'altezza fissa di 60px totali per ENTRAMBE le righe insieme,
   quindi a #headerBottom restavano solo 25px per un logo che ne
   chiedeva piu' del doppio: il pezzo in eccesso spariva sotto il
   bordo del contenitore. Altezza dell'header ricalcolata sulla somma
   reale delle due righe (headerTop + logo con margini), non su un
   numero a caso; vedi anche #content piu' sotto, che deve restare
   agganciato alla stessa misura. */
#header{background-color:#fff;border-bottom:1px solid #ccc;box-shadow:3px 3px 6px -2px #ccc;height:108px;z-index:9997;overflow:hidden;}
#opennav{position:absolute;top:0;display:block;float:left;background:url("btnmenu.png") no-repeat 13px center;width:60px;height:100%;text-indent:-9999px;}
#logo{position:static;float:none;background-size:120px;width:120px;height:62px;margin:5px auto 6px;}
#chiama{display:block;top:50%;margin-top:-20px;}
#nav{position:fixed;top:0;left:0;background:none #fff;border:0;width:75%;height:100%;-webkit-transform:translateX(-100%);-moz-transform:translateX(-100%);-ms-transform:translateX(-100%);-o-transform:translateX(-100%);transform:translateX(-100%);transition:transform .2s cubic-bezier(.4,0,.2,1);-webkit-transition:-webkit-transform .2s cubic-bezier(.4,0,.2,1);-moz-transition:-moz-transform .2s cubic-bezier(.4,0,.2,1);-ms-transition:-ms-transform .2s cubic-bezier(.4,0,.2,1);-o-transition:-o-transform .2s cubic-bezier(.4,0,.2,1);overflow-y:auto;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;}
#nav.on{-webkit-transform:translateX(0);-moz-transform:translateX(0);-ms-transform:translateX(0);-o-transform:translateX(0);transform:translateX(0);z-index:9999;visibility:visible;}
#nav.off{visibility:visible;z-index:9999;}
#nav li{float:none;display:block;border-bottom:1px solid #ddd;margin:0;}
#nav li a:not(.btn),#nav .tendina a{background:none;border:0;border-left:5px solid var(--gold);border-radius:0;margin:0;padding:15px 5px;color:#666666;font-size:16px;text-align:left;letter-spacing:0;text-transform:uppercase;}
#nav .tendina a:hover,#nav .tendina a:active{background:var(--brand);color:#fff;border-left-color:var(--brand-strong);text-decoration:none;}
#nav .tendina{position:static;width:100%;padding:0;border:none;opacity:1;}
#nav .tendina li:first-child{border-top:1px solid #ddd;}
#nav .tendina li:last-child{border-bottom:none;}
#nav li a:hover,#nav li a:active{background-color:rgba(80,80,80,0.1);color:inherit;}
#nav .btn{background:none;width:100%;border:0;border-left:5px solid var(--gold);border-radius:0;margin:0;padding:15px 5px;color:#666666;font-size:16px;text-align:left;letter-spacing:0;text-transform:uppercase;}
#sfbox{visibility:hidden;-webkit-transition:background .2s ease-out;-moz-transition:background .2s ease-out;-ms-transition:background .2s ease-out;-o-transition:background .2s ease-out;transition:background .2s ease-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;}
#sfbox.off{}
#sfbox.on{position:fixed;top:0;right:0;left:0;background-color:rgba(0,0,0,0.5);width:100%;height:120%;cursor:pointer;z-index:9998;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow-y:auto;visibility:visible;}
}
/*contactbar*/
#contactbar{display:none;}
@media(max-width:640px){
#contactbar{background-color:#fff;position:fixed;top:inherit;bottom:0;left:0;width:100%;margin-left:1px;margin:0;border-top:1px solid #ccc;box-shadow:0 1px 3px #aaa;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:9999;box-shadow:0 2px 15px 0 rgba(51, 51, 51, 1);overflow:visible;}
#contactbar ul{display:flex;justify-content:space-between;align-items:center;overflow:visible;}
#contactbar li{width:44%;text-align:center;}
#contactbar li a:hover{background:rgba(221,221,221,0.6)}
#contactbar li a{display:inline-block;width:100%;padding:13px 0;color:#ed1c24;font-size:16px;text-transform:uppercase;font-weight:500;}
#contactbar li a:before{content:"";background:url('contactBar.png')no-repeat 0 -82px;background-size:16px;display:inline-block;width:16px;height:18px;margin-right:8px;}
#contactbar li.email{width:44%;}
#contactbar li.email a:before{display:none;}
#contactbar li.email a:after{content:"";background:url('contactBar.png')no-repeat 0 -39px;background-size:16px;display:inline-block;width:16px;height:18px;margin-left:8px;}
#contactbar li.mappa{background:#fff;position:absolute;right:50%;width:78px;height:78px;margin:-17px -39px 0 0;border-radius:50%;overflow:visible;}
#contactbar li.mappa a{width:78px;height:78px;box-shadow:0 2px 15px 0 rgba(51, 51, 51, 1);border-radius:50%;}
#contactbar li.mappa a:before{background-position:0 0;background-size:40px;width:40px;height:40px;margin:0;}
}
@media(max-width:375px){#contactbar li,#contactbar li.email{width:40%;}}
#content{margin-top:158px;}
@media(max-width:700px){#content{margin-top:108px;}}
/*----------------------------------HOME PAGE-----------------------*/
.headerHome{background:url('headerHome.jpg')no-repeat center/cover;position:relative;padding:30px 0;}
.headerHome .sx{position:absolute;top:50%;width:740px;color:#fff;text-align:center;transform:translate(0,-50%);}
.headerHome .sx p{border-right:1px solid #fff;border-left:1px solid #fff;color:#fff;}
.headerHome .sx p b{display:inline-block;margin:40px 0;padding:0 9px;text-transform:uppercase;font-size:39px;color:#fff;clear:both;line-height:43px;font-weight:400;}
.headerHome .sx p span{position:relative;display:block;}
.headerHome .sx .top{line-height:0;font-size:17px;font-weight:800;}
.headerHome .sx .top:after,.headerHome .sx .top:before,.headerHome .sx .bottom:after,.headerHome .sx .bottom:before{content:'';background:#fff;position:absolute;top:0;left:0;width:34%;height:1px;}
.headerHome .sx .top:before{left:inherit;right:0;}
.headerHome .sx .bottom{font-size:11px;line-height:0;}
.headerHome .sx .bottom:after,.headerHome .sx .bottom:before{top:inherit;bottom:0;width:31%;}
.headerHome .sx .bottom:before{left:inherit;right:0;}
.headerHome .sx .btn{width:190px;margin-top:20px;padding:9px 0;font-size:16px;}
.headerHome ul{margin-top:25px;color:#fff;text-align:left;}
.headerHome li{background:url('li.png')no-repeat 0 center;margin-bottom:7px;padding:2px 0 2px 24px;font-size:16px;font-weight:600;}
.headerHome .dx{background:url('bgFormHome.png')repeat rgba(20, 20,20, 0.65);background:#fff;float:right;width:430px;padding:30px 25px 40px;border-radius:8px;}
.headerHome .dx span{display:block;margin-bottom:20px;text-align:center;font-size:18px;font-weight:600;line-height:22px;}
.headerHome .dx span strong{text-transform:uppercase;color:var(--brand);}
.headerHome input,.headerHome textarea,.headerHome select{margin-bottom:9px;}
.headerHome input[type="submit"]{margin-bottom:0;}
.headerHome .privacyForm label input{margin-bottom:4px;}
@media(max-width:1440px){.headerHome .sx{width:50%;}}
@media(max-width:1162px){.headerHome .sx{width:57%;}.headerHome .sx p b{font-size:33px;}.headerHome .sx .top:after,.headerHome .sx .top:before{width:30%;}.headerHome .sx .bottom:after, .headerHome .sx .bottom:before{width:27%;}}
@media(max-width:1050px){.headerHome .dx{width:380px;padding:17px 15px 25px;}.headerHome .sx p b{margin:28px 0;font-size:29px;}}
@media(max-width:935px){.headerHome .dx{width:347px;}.headerHome .sx{width:55%;}.headerHome .sx p b{font-size:26px;line-height:30px;}.headerHome .sx .top:after, .headerHome .sx .top:before{width:27%;}.headerHome .sx .bottom:after, .headerHome .sx .bottom:before{width:23%;}}
@media(max-width:800px){.headerHome .dx{width:325px;padding:15px 9px;}.headerHome .sx{width:52%;}.headerHome .sx .top:after, .headerHome .sx .top:before{width:23%;}.headerHome .sx .bottom:after, .headerHome .sx .bottom:before{width:18%;}.headerHome .sx p b{margin:21px 0;font-size:23px;}.headerHome .sx .top{font-size:16px;}}
/* @media(max-width:700px){.headerHome{background:#f6f7f8;padding:8px;}.headerHome .sx{position:static;float:none;width:100%;transform:none;padding-top:20px;}.headerHome .dx{float:none;width:450px;max-width:98%;margin:30px auto 9px;padding:15px;box-shadow:0 4px 6px 0px rgba(0,0,0,0.1);}.headerHome .sx p{width:550px;max-width:98%;margin:0 auto;border-color:#d5d5d5;}.headerHome .sx p b{margin:26px 0;color:var(--ink);font-size:29px;line-height:35px;}.headerHome .sx .top:after,.headerHome .sx .top:before,.headerHome .sx .bottom:after,.headerHome .sx .bottom:before{background:#d5d5d5;width:30%;}.headerHome ul,.headerHome .sx .bottom,.headerHome .sx .top{color:#777}.headerHome .sx .bottom:after, .headerHome .sx .bottom:before{width:26%;}.headerHome li{font-weight:normal;}} */
@media(max-width:700px){.headerHome{background:#f6f7f8;padding:8px;}.headerHome .sx{position:static;float:none;width:100%;transform:none;padding-top:20px;}.headerHome .dx{background:var(--brand);float:none;width:450px;max-width:98%;margin:30px auto 9px;padding:15px;box-shadow:0 4px 6px 0px rgba(0,0,0,0.1);}.headerHome .dx span{color:#fff;}.headerHome .dx span strong{color:var(--gold);}.headerHome .privacyForm label{color:#fff;}.headerHome .privacyForm a{color:#fff;border-color:#fff;}.headerHome input[type="submit"]{background:var(--gold);}.headerHome input[type="submit"]:hover{background:var(--brand-strong);}.headerHome .sx p{width:550px;max-width:98%;margin:0 auto;border-color:#d5d5d5;}.headerHome .sx p b{margin:26px 0;color:var(--ink);font-size:29px;line-height:35px;}.headerHome .sx .top:after,.headerHome .sx .top:before,.headerHome .sx .bottom:after,.headerHome .sx .bottom:before{background:#d5d5d5;width:30%;}.headerHome ul,.headerHome .sx .bottom,.headerHome .sx .top{color:#777}.headerHome .sx .bottom:after, .headerHome .sx .bottom:before{width:26%;}.headerHome li{font-weight:normal;}}
/* @media(max-width:700px){.headerHome{background:var(--brand) var(--brand);padding:8px;}.headerHome .sx{position:static;float:none;width:100%;transform:none;padding-top:20px;}.headerHome .dx{float:none;width:450px;max-width:98%;margin:30px auto 9px;padding:15px;box-shadow:0 4px 6px 0px rgba(0,0,0,0.1);}.headerHome .sx p{width:550px;max-width:98%;margin:0 auto;border-color:#d5d5d5;}.headerHome .sx p b{margin:26px 0;color:#fff;font-size:29px;line-height:35px;}.headerHome .sx .top:after,.headerHome .sx .top:before,.headerHome .sx .bottom:after,.headerHome .sx .bottom:before{background:#d5d5d5;width:30%;}.headerHome ul,.headerHome .sx .bottom,.headerHome .sx .top{color:#fff}.headerHome .sx .bottom:after, .headerHome .sx .bottom:before{width:26%;}.headerHome li{font-weight:normal;}} */
@media(max-width:540px){.headerHome .sx p b{font-size:26px;}.headerHome .sx .bottom:after, .headerHome .sx .bottom:before{width:21%;}.headerHome .sx .top:after, .headerHome .sx .top:before{width:25%;}.headerHome select option{background:#000!important;font-size:12px!important;}}
@media(max-width:445px){.headerHome .sx p b{padding:0;font-size:23px;line-height:27px;}.headerHome .sx .bottom:after, .headerHome .sx .bottom:before{width:14%;}.headerHome .sx .top:after, .headerHome .sx .top:before{width:23%;}.headerHome li{font-size:14px;}.headerHome .dx span{font-size:16px;}}
@media(max-width:375px){.headerHome .sx .bottom:after, .headerHome .sx .bottom:before{width:11%;}.headerHome .sx .top:after, .headerHome .sx .top:before{width:19%;}}
/*listService*/
.listService{display:grid;grid-template-columns:minmax(0,40%) minmax(0,1fr);gap:0 3%;margin:clamp(28px,5vw,50px) auto;overflow:visible;}
.listService h1{margin-bottom:clamp(24px,4vw,50px);text-align:right;font-size:clamp(24px,3vw,36px);line-height:1.2;font-weight:600;}
.listService h1 b{font-weight:600;color:var(--brand);}
.listService>p,.listService .intro{line-height:1.75;}
.listService .intro p+p{margin-top:15px;}
.listService ul{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,30px);overflow:visible;}
.listService li{display:flex;width:auto;margin:0;}
.listService a{display:flex;flex-direction:column;width:100%;padding:clamp(20px,2.4vw,36px);text-align:center;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease);}
.listService a:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--brand);}
.listService img{display:block;width:100%;height:auto;margin:0 auto;}
.listService h4{margin:20px 0;font-size:18px;}
.listService p{line-height:1.7;}
.listService span{display:block;margin-top:auto;padding-top:20px;color:#242424;font-size:15px;font-weight:600;transition:opacity .3s var(--ease),color .2s var(--ease);opacity:0;}
.listService span:after{content:"\f178";display:inline-block;margin-left:5px;font-family:FontAwesome;font-size:15px;}
.listService a:hover span{opacity:1;}
.listService span:hover{color:var(--brand);}
@media(max-width:895px){.listService p{font-size:15px;line-height:1.6;}.listService h4{font-size:17px;}}
@media(max-width:730px){.listService ul{grid-template-columns:repeat(2,1fr);}.listService span{opacity:1;}}
@media(max-width:520px){.listService{grid-template-columns:1fr;margin-top:25px;}.listService h1,.listService>p{text-align:center;}.listService h1{margin-bottom:11px;}.listService ul{margin-top:25px;}.listService h4{margin:8px 0 12px;font-size:16px;}.listService li p{line-height:1.5;font-size:14px;}}
@media(max-width:400px){.listService ul{grid-template-columns:1fr;}.listService h4{margin-top:14px;font-size:18px;}}
/*callToAction1*/
.callToAction1 form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:12px;align-items:start;}
.callToAction1 input{width:100%;height:60px;margin:0;font-size:16px;}
.callToAction1 input[type="text"],.callToAction1 input[type="email"]{background:#d1d1d126;padding:12px 25px;border:none;border-radius:var(--radius-sm);font-style:italic;box-shadow:0 2px 6px 0 rgba(0,0,0,0.1);}
.callToAction1 input:focus{box-shadow:0 0 0 2px var(--brand);}
.callToAction1 .privacyForm{grid-column:1/-1;margin:0;}
.callToAction1 .btn{width:auto;padding:0 34px;box-shadow:0 2px 6px 0 rgba(0,0,0,0.1);}
@media(max-width:745px){.callToAction1 input{font-size:14px;}}
@media(max-width:640px){.callToAction1 form{grid-template-columns:repeat(2,minmax(0,1fr));}.callToAction1 .btn{grid-column:1/-1;justify-self:center;height:50px;}}
@media(max-width:430px){.callToAction1 form{grid-template-columns:1fr;}.callToAction1 input{height:50px;}}
/*about*/
.about{background:url('bgAbout.png')no-repeat var(--ink) right 0;position:relative;display:grid;grid-template-columns:50% minmax(0,1fr);align-items:center;margin:clamp(40px,7vw,90px) 0 50px;padding-top:clamp(40px,7vw,99px);overflow:hidden;}
.about:after{content:'';background:#fff;position:absolute;bottom:0;left:0;width:100%;height:60px;}
/* posizione esplicita: nella home l'immagine segue il testo nel markup, in chi-siamo pure */
.about img{position:relative;grid-area:1/1;width:100%;z-index:9;}
.about .dx{position:relative;grid-area:1/2;padding:0 50px 0 20px;text-align:left;z-index:9;}
.about .dx span{display:block;margin-bottom:20px;text-transform:uppercase;color:rgba(255,255,255,0.60);font-size:18px;font-weight:500;}
.about h3{margin-bottom:12px;color:#fff;font-size:clamp(26px,2.9vw,37px);text-align:left;font-weight:400;line-height:1.2;text-transform:none;}
.about p{color:#fff;font-size:17px;}
/* il blocco e' su fondo scuro: titoli e testo nudo vanno forzati, altrimenti
   h4/h5 tornerebbero color --ink, cioe' nero su nero, e i text node fuori
   da <p> grigi. Vale per la home: chi-siamo ora usa .manifesto */
.about .dx{color:rgba(255,255,255,.85);font-size:17px;line-height:1.7;}
.about h4{margin:30px 0 4px;color:#fff;font-size:21px;}
.about h5{margin:22px 0 2px;color:var(--brand);font-size:17px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;}
.about a{display:inline-block;margin-top:45px;color:#fff;border-bottom:1px solid #fff;font-size:18px;font-weight:500;}
@media(max-width:1400px){.about p{font-size:16px;line-height:1.6;}.about a{margin-top:27px;}}
@media(max-width:1285px){.about .dx span{margin-bottom:8px;}.about h3{font-size:clamp(24px,2.6vw,31px);line-height:1.25;}.about a{margin-top:12px;}}
@media(max-width:1140px){.about .dx{padding:0 5px 0 0;}}
/*----------------------- MANIFESTO: mission, valori, vision (chi siamo) */
.manifesto{background:var(--ink);position:relative;margin-top:clamp(40px,6vw,80px);padding:clamp(40px,6vw,86px) 0 clamp(44px,6vw,90px);}
.manifesto .centro{overflow:visible;}
.manifesto-testa{max-width:760px;}
.occhiello{display:block;margin-bottom:14px;color:var(--brand);font-family:'Jost',arial,sans-serif;font-size:14px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;}
/* Mission e Vision sono pari grado: stesso corpo, stesso peso */
.manifesto h2,.vision h2{margin-bottom:20px;color:#fff;font-size:clamp(30px,4vw,46px);text-align:left;font-weight:700;line-height:1.1;letter-spacing:-.01em;}
.manifesto p{color:rgba(255,255,255,.72);font-size:17px;line-height:1.75;}
.manifesto-apertura{color:#fff!important;font-size:clamp(19px,2vw,23px)!important;line-height:1.55!important;}
.manifesto-testa p+p{margin-top:18px;}
.manifesto-lancio{margin-top:26px!important;color:#fff!important;font-weight:700;}
/* i tre valori: elementi veri, non piu' h5 sciolti nel flusso del testo */
.valori{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.2vw,28px);margin-top:clamp(30px,4vw,46px);overflow:visible;}
.valori li{display:flex;flex-direction:column;padding:clamp(24px,2.6vw,34px) clamp(20px,2.2vw,28px) clamp(26px,2.8vw,36px);background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);transition:transform .25s var(--ease),border-color .25s var(--ease),background .25s var(--ease);}
/* Al passaggio la scheda si inverte per intero: fondo chiaro E testo scuro.
   Cambiando la palette avevo messo solo il fondo chiaro, ma titolo e testo
   erano scritti per il fondo scuro e restavano bianchi su crema, cioe'
   illeggibili. Se si inverte lo sfondo si inverte anche l'inchiostro. */
.valori li:hover{transform:translateY(-5px);background:var(--brand-tint);border-color:var(--brand);}
.valori li:hover h3{color:var(--ink);}
.valori li:hover p{color:var(--body);}
.valori li:hover .valore-n{color:var(--brand-strong);}
.valore-n{display:block;margin-bottom:16px;color:var(--brand);font-family:'Jost',arial,sans-serif;font-size:clamp(34px,3.6vw,44px);font-weight:700;line-height:1;letter-spacing:-.02em;}
/* h3 globale e' centrato e grande: qui va riportato a titolo di card */
.valori h3{margin-bottom:12px;color:#fff;font-size:clamp(19px,2vw,23px);text-align:left;font-weight:700;letter-spacing:.02em;text-transform:uppercase;line-height:1.2;}
.valori p{font-size:16px;line-height:1.7;}
/* vision: dichiarazione in prima persona, staccata dai valori */
.vision{background:var(--ink-2);border-top:3px solid var(--brand);padding:clamp(40px,5vw,72px) 0;}
.vision blockquote{max-width:900px;}
.vision blockquote p{color:#fff;font-size:clamp(21px,2.8vw,32px);font-weight:300;line-height:1.4;letter-spacing:-.01em;}
.vision cite{display:block;margin-top:26px;color:var(--brand);font-family:'Jost',arial,sans-serif;font-size:15px;font-style:normal;font-weight:700;letter-spacing:.1em;text-transform:uppercase;}
.vision cite:before{content:'';display:inline-block;width:34px;height:2px;margin:0 12px 5px 0;background:var(--brand);vertical-align:middle;}
@media(max-width:860px){.valori{grid-template-columns:minmax(0,1fr);}}
@media(max-width:970px){.about{grid-template-columns:minmax(0,1fr);padding:35px 5px;}.about img{display:none;}.about .dx{grid-area:auto;padding:0 5px;}.about:after{display:none;}}
@media(max-width:410px){.about{padding:14px 5px;margin-bottom:22px;}}
/*caseStudy*/
.caseStudy{background:var(--bg-alt);display:grid;grid-template-columns:minmax(0,33.33%) minmax(0,1fr);align-items:center;}
.caseStudy .sx{padding:clamp(30px,4vw,60px) 20px;}
.caseStudy h3,.caseStudy h1{margin-bottom:0;font-size:clamp(26px,3.4vw,42px);text-align:left;line-height:1.15;font-weight:600;}
.caseStudy p{margin:15px 0 30px;}
.caseStudy .btn{width:225px;margin:0;}
.caseStudy .dx{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;}
.caseStudy .dx a{background:#fff;display:flex;flex-direction:column;border-top:6px solid var(--brand);box-shadow:0 2px 4px rgba(0,0,0,0.12);transition:transform .25s var(--ease),box-shadow .25s var(--ease);}
.caseStudy .dx a:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);}
.caseStudy .dx a:nth-of-type(2){border-color:var(--gold)}
.caseStudy .dx a:nth-of-type(3){border-color:var(--ink)}
.caseStudy .dx a:nth-of-type(4){border-color:var(--ink)}
.caseStudy .dx a:nth-of-type(5){border-color:var(--gold)}
.caseStudy .dx a:nth-of-type(6){border-color:var(--brand)}
.caseStudy .dx a img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;}
.caseStudy .dx div{background:#d1d1d126;flex:1;padding:8px;}
.caseStudy .dx span{display:block;padding:3px;color:var(--muted);font-size:14px;}
@media(max-width:940px){.caseStudy .sx{padding:40px 5px;}.caseStudy .dx div{padding:5px;}.caseStudy .dx span{font-size:13px;}}
@media(max-width:810px){.caseStudy{grid-template-columns:minmax(0,1fr);}.caseStudy .sx{padding:0 5px 30px;text-align:center;}.caseStudy h3,.caseStudy h1{text-align:center;}.caseStudy .btn{margin:0 auto;}.caseStudy p{margin-bottom:14px;}}
@media(max-width:545px){.caseStudy .dx{grid-template-columns:repeat(2,1fr);}.caseStudy p{margin-top:3px;}}
@media(max-width:400px){.caseStudy .dx span{padding-bottom:0;font-size:12px;}.caseStudy .dx div{padding-bottom:3px;}.caseStudy p{font-size:17px;}}
/*callToAction2*/
.callToAction2{background:var(--ink);position:relative;margin:50px 0;padding:60px 0;}
.callToAction2:after{content:'';background:url('bgcallToAction2.png')no-repeat center center;position:absolute;top:0;left:0;width:100%;height:100%;opacity:0.03;}
.callToAction2>.centro{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(16px,3vw,40px);align-items:center;z-index:9;}
.callToAction2 div div{width:auto;}
.callToAction2 h5{margin-bottom:9px;font-size:clamp(24px,3.4vw,40px);font-weight:500;color:#fff;line-height:1.2;}
.callToAction2 p{color:#fff;font-size:17px;}
.callToAction2 a{background:#fff;position:relative;display:block;width:180px;margin:0;padding:11px 0;border:2px solid #fff;border-radius:var(--radius);text-align:center;font-size:15px;color:#242424;font-weight:500;z-index:9;transition:background .2s var(--ease),color .2s var(--ease);}
.callToAction2 a:hover{background:var(--brand);border-color:var(--brand);color:#fff;}
@media(max-width:920px){.callToAction2{padding:29px 0;}}
@media(max-width:790px){.callToAction2{margin:27px 0 0;}.callToAction2>.centro{grid-template-columns:1fr;text-align:center;}.callToAction2 a{margin:0 auto;}}
@media(max-width:385px){.callToAction2 p{font-size:16px;line-height:1.5;}}
/*listBlog*/
#home .listBlog{width:100%;margin-top:0;}
@media(max-width:910px){#home .listBlog div:last-child{padding:25px 10px 10px;}#home .listBlog h4{font-size:17px;line-height:1.35;}#home .listBlog span{left:8px;}}
@media(max-width:535px){#home .listBlog h4{font-size:15px;}#home .listBlog span{padding:4px 6px;font-size:13px;}#home .listBlog div:last-child{padding:20px 8px 8px;}}
@media(max-width:435px){#home .listBlog span{font-size:14px;}#home .listBlog h4{font-size:16px;}}
/*---------------------------------------PAGINA CHI SIAMO*/
/*header*/
.header{background:var(--ink);position:relative;padding:81px 0;color:#fff;text-align:center;}
.header div>span,.header h1{position:relative;display:block;width:100%;font-size:48px;letter-spacing:1px;line-height:48px;font-weight:700;z-index:2;}
.header h1{width:66%;color:#fff;line-height:50px;}
#breadcrumbs{position:relative;padding-top:22px;z-index:2;}
#breadcrumbs li{display:inline-block;}
#breadcrumbs li a,#breadcrumbs li span{color:#fff;font-size:18px;}
#breadcrumbs li a:after{content:'/';display:inline-block;margin:0 5px;color:#fff;font-size:12px;}
@media(max-width:855px){.header div>span,.header h1{font-size:38px;}#breadcrumbs li a, #breadcrumbs li span{font-size:16px;}}
@media(max-width:655px){.header{padding:46px 0;}.header div>span,.header h1{font-size:32px;line-height:42px;}}
@media(max-width:470px){.header{padding:26px 0;}.header div>span, .header h1{font-size:28px;line-height:35px;}#breadcrumbs li a, #breadcrumbs li span{font-size:14px;}}
@media(max-width:390px){#breadcrumbs{padding-top:14px;}.header div>span, .header h1{line-height:30px;font-size:26px;}}
/*imgText*/
.imgText{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start;margin:clamp(28px,5vw,60px) auto;overflow:visible;}
.imgText img{width:100%;height:auto;border-radius:50%;position:sticky;top:175px;}
.imgText h1{margin-top:0;font-size:clamp(26px,3.4vw,40px);font-weight:600;line-height:1.2;}
.imgText h2{margin:clamp(26px,3vw,40px) 0 10px;font-size:clamp(21px,2.4vw,28px);font-weight:600;line-height:1.25;}
.imgText h3{margin:22px 0 8px;font-size:clamp(17px,1.8vw,20px);text-align:left;}
.imgText p{margin:20px 0;font-size:clamp(16px,1.5vw,18px);line-height:1.7;color:var(--ink);}
.imgText ul{margin:14px 0 26px;}
/* le frasi di chiusura di ogni sezione: erano paragrafi in grassetto */
.imgText .claim{margin:28px 0;padding:4px 0 4px 20px;border-left:3px solid var(--brand);color:var(--ink);font-size:clamp(17px,1.7vw,20px);font-weight:700;line-height:1.5;}
.imgText li{position:relative;margin-bottom:12px;padding-left:30px;color:var(--ink);font-size:16px;line-height:1.6;}
.imgText li:before{content:'\f046';position:absolute;left:0;top:1px;color:var(--brand);font:normal normal normal 19px/1 FontAwesome;}
/* terminale animato al posto della foto (vedi g/term.js, solo chi-siamo) */
/* Percorso professionale, al posto del terminale finto ereditato dal sito IT.
   I dati vengono dal profilo pubblico di Stefano Trudu. */
.percorso{position:sticky;top:175px;list-style:none;margin:0;padding:0;border-left:1px solid var(--line);}
.percorso li{position:relative;padding:0 0 26px 26px;}
.percorso li:last-child{padding-bottom:0;}
.percorso li:before{content:'';position:absolute;left:-4px;top:6px;width:7px;height:7px;background:var(--line);}
.percorso li.oggi:before{background:var(--brand);}
.percorso .anno{display:block;color:var(--brand);font-family:'Jost',arial,sans-serif;font-size:13px;font-weight:600;letter-spacing:var(--track);}
.percorso strong{display:block;margin:2px 0 4px;color:var(--ink);font-family:'Jost',arial,sans-serif;font-size:17px;font-weight:500;}
.percorso li{color:var(--muted);font-size:14px;line-height:1.6;}
@media(max-width:860px){.percorso{position:static;}}
@media(max-width:860px){.imgText{grid-template-columns:minmax(0,1fr);gap:24px;}.imgText img{position:static;max-width:240px;margin:0 auto;}}
/*---------------------------------------PAGINA DETTAGLIO SERVIZIO*/
.textForm{background:var(--bg-alt);margin:clamp(28px,4vw,50px) auto;padding:clamp(28px,4vw,50px) 0;}
.textForm .centro{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:clamp(24px,3.5vw,56px);align-items:start;overflow:visible;}
.textForm .sx{background:url('arrow.png')no-repeat right center;padding-right:104px;}
.textForm .sx p{font-size:16px;}
.textForm .sx ul{margin:17px 0;color:#777;}
.textForm .sx ul li{background:url('li.png')no-repeat 0 9px;padding:2px 0 2px 25px;font-size:16px;line-height:27px;}
.textForm .sx ol{margin:0;padding:0;counter-reset:li;}
.textForm .sx ol li{padding:2px 0;font-size:16px;line-height:27px;color:#777;}
.textForm .sx ol li:before{content:counter(li)".";counter-increment:li;display:inline-block;margin-right:5px;color:var(--brand);font-size:18px;}
.textForm .sx .btn{margin:20px 0 0;}
.textForm .dx{background:#fff;position:sticky;top:175px;padding-bottom:13px;border-radius:var(--radius);box-shadow:var(--shadow);}
.textForm .dx video{width:100%;}
.textForm .dx img{width:100%;}
@media(max-width:1080px){.textForm .sx{background-image:none;padding-right:0;}}
@media(max-width:790px){.textForm h1{margin-bottom:7px;font-size:29px;}.textForm .sx p,.textForm .sx ul li,.textForm .sx ol li{font-size:15px;}}
/* minmax(0,1fr): senza il minimo a 0 il form da 450px allarga la track e la pagina sborda */
@media(max-width:860px){.textForm .centro{grid-template-columns:minmax(0,1fr);}.textForm .sx{background-image:url('arrowBottom.png');background-position:bottom 3px center;padding:0 0 80px 0;overflow-wrap:break-word;}.textForm .dx{position:static;width:100%;max-width:450px;margin:0 auto;}.textForm h1{text-align:center;font-size:31px;}}
@media(max-width:455px){.textForm h1{font-size:28px;}}
@media(max-width:390px){.textForm h1{font-size:25px;}}
/*step*/
.step h3{margin-bottom:0;}
.step>p{text-align:center;}
.step ul{display:grid;gap:clamp(18px,2.6vw,32px);margin:clamp(28px,4vw,50px) auto 0;overflow:visible;}
.step li{display:grid;grid-template-columns:minmax(0,1fr) clamp(80px,16%,180px);align-items:center;gap:clamp(18px,3vw,44px);margin:0;padding:0;}
.step li>div:first-child{position:relative;background:var(--bg);padding:clamp(16px,2.2vw,26px);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);text-align:left;}
.step li>div:first-child:after{content:'';position:absolute;left:100%;top:50%;width:0;height:0;border-left:18px solid var(--brand);border-bottom:14px solid transparent;border-top:14px solid transparent;transform:translate(0,-50%);}
.step li>div:last-child{text-align:center;}
.step li b{display:block;color:var(--brand);font-size:clamp(46px,7vw,80px);font-weight:700;line-height:1;}
.step h4{margin-bottom:6px;font-size:clamp(17px,1.8vw,20px);}
.step li p{font-size:15px;line-height:1.55;}
/* L'ordine visivo dei due <div> si scambia per fare lo zig-zag, ma senza
   anche invertire le colonne della griglia il numero (piazzato per
   primo dall'auto-placement, essendo order:1) finiva nella colonna
   larga pensata per il testo, e il box con il testo in quella stretta
   pensata per il numero. */
.step li:nth-child(even){grid-template-columns:clamp(80px,16%,180px) minmax(0,1fr);}
.step li:nth-child(even)>div:first-child{order:2;}
.step li:nth-child(even)>div:last-child{order:1;}
.step li:nth-child(even)>div:first-child:after{left:auto;right:100%;border-left:0;border-right:18px solid var(--brand);}
@media(max-width:520px){.step li{grid-template-columns:1fr;gap:8px;}.step li>div:first-child,.step li:nth-child(even)>div:first-child{order:2;}.step li>div:last-child,.step li:nth-child(even)>div:last-child{order:1;text-align:left;}.step li>div:first-child:after,.step li:nth-child(even)>div:first-child:after{display:none;}.step li b{font-size:42px;}}
/*imgList*/
.imgList{background:var(--bg-alt);margin:clamp(28px,4vw,50px) auto;padding:clamp(28px,4vw,50px) 0;}
.imgList h3{margin-bottom:15px}
.imgList p{width:1200px;max-width:100%;margin:0 auto clamp(24px,4vw,60px);text-align:center;}
.imgList .centro{display:grid;grid-template-columns:minmax(0,512px) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:center;}
.imgList img{width:100%;max-width:512px;}
.imgList ul{margin:0;}
.imgList li{background:url('iconServizi.png')no-repeat;margin-bottom:clamp(24px,3vw,60px);padding-left:40px;font-size:18px;line-height:1.8em;color:#777;}
.imgList li:nth-of-type(2){background-position:0 -210px;}
.imgList li:nth-of-type(3){background-position:0 -409px;}
.imgList h4{margin-bottom:12px;font-size:22px;}
@media(max-width:875px){.imgList li{font-size:16px;line-height:1.6;}.imgList h4{margin-bottom:2px;}}
@media(max-width:640px){.imgList .centro{grid-template-columns:1fr;}.imgList img{margin:0 auto;}.imgList p{font-size:17px;}}
/*faq*/
.faq{background:var(--bg-alt);margin:clamp(28px,4vw,50px) auto;padding:clamp(28px,4vw,50px) 0;}
.faq .centro{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:0 clamp(24px,3.5vw,56px);align-items:start;overflow:visible;}
.faq h3{grid-column:1/-1;margin-bottom:15px;}
.faq>.centro>p{grid-column:1/-1;text-align:center;}
.faq ul{margin:clamp(24px,3vw,44px) 0 0;padding:0;}
.faq ul li{margin-top:11px;}
.faq li a{background:#fff;position:relative;display:block;padding:12px 46px 12px 15px;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:16px;line-height:1.5;color:var(--body);box-shadow:var(--shadow);transition:background .2s var(--ease),color .2s var(--ease);}
.faq li a:hover{border-color:var(--brand);color:var(--ink);}
/* indicatore + / - disegnato in CSS, niente glifi da font esterni */
.faq li a:before,.faq li a:after{content:'';background:var(--brand);position:absolute;right:16px;top:50%;width:14px;height:2px;transform:translateY(-50%);transition:transform .25s var(--ease),background .2s var(--ease);}
.faq li a:before{transform:translateY(-50%) rotate(90deg);}
.faq li.active a:before,.faq li.active a:after{background:#fff;}
.faq li.active a:before{transform:translateY(-50%) rotate(0);}
.faq ul li.active a{background-color:var(--brand);border-color:var(--brand);color:#fff;border-radius:var(--radius-sm) var(--radius-sm) 0 0;}
/* accordion ad altezza fluida: niente piu height in px per breakpoint.
   La track NON va animata: Chrome lascia una transizione 0fr->1fr bloccata
   a zero quando il contenitore ha altezza automatica. Anima l'opacita'. */
.faq li div:not(.dx){display:grid;grid-template-rows:0fr;background:#fff;line-height:1.6;box-shadow:var(--shadow);}
.faq li div:not(.dx)>*{overflow:hidden;min-height:0;opacity:0;transition:opacity .25s var(--ease);}
.faq li.active div:not(.dx){grid-template-rows:1fr;border-radius:0 0 var(--radius-sm) var(--radius-sm);}
.faq li.active div:not(.dx)>*{opacity:1;}
/* il padding verticale non si comprime dentro una track 0fr: sta a 0 da chiuso */
.faq li div p:not(.privacyForm){padding:0 15px;font-size:15px;}
.faq li.active div p:not(.privacyForm){padding:15px;}
.faq .dx{background:#fff;position:sticky;top:175px;margin-top:clamp(24px,3vw,44px);padding-bottom:13px;border-radius:var(--radius);box-shadow:var(--shadow);}
@media(max-width:860px){.faq .centro{grid-template-columns:minmax(0,1fr);}.faq .dx{position:static;width:100%;max-width:450px;margin:30px auto 0;}.faq ul{max-width:640px;margin-inline:auto;}}
@media(max-width:480px){.faq{margin-bottom:30px;}.faq>.centro>p{font-size:16px;}.faq li.active div p:not(.privacyForm){padding:10px;}}
/*formService*/
.formService{border-top:3px solid var(--brand);}
.formService span{display:block;margin:35px 0 15px;color:var(--ink);font-size:22px;font-weight:600;line-height:23px;}
.formService{padding:0 20px;}
.formService input:not(.btn),.formService textarea{background:url('iconForm.png')no-repeat 0 13px;height:44px;margin-bottom:8px;border:none;border-bottom:2px solid #d5d5d5;padding:9px 25px;font-size:14px;color:#777;}
.formService textarea{height:108px;}
.formService input:not(.btn):focus,.formService textarea:focus{border-color:var(--brand);}
.formService input[name="email"]{background-position:0 -77px ;}
.formService input[name="phone"]{background-position:0 -180px;}
.formService input[name="company"]{background-position:0 -279px;}
.formService input[name="webSite"]{background-position:0 -397px;}
.formService textarea{background-position:0 -491px;margin-bottom:16px;}
.formService .privacyForm label{font-size:10px!important;}
.formService .privacyForm label input{margin-bottom:0;}
.formService .btn{width:100%;margin:24px auto 0;font-size:17px;}
/*-----------------------------------PAGINA CASE STUDY--------------*/
#caseStudy .caseStudy{margin:50px 0;}
@media(max-width:545px){#caseStudy .callToAction1{margin-bottom:30px;}#caseStudy .caseStudy{margin:25px 0;}}
@media(max-width:385px){.caseStudy h1{font-size:32px;}}
/*-----------------------------------PAGINA DETTAGLIO CASE STUDY--------------*/
.infoCase{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:clamp(16px,2.2vw,28px);margin:clamp(24px,4vw,50px) auto;padding-bottom:clamp(20px,3vw,40px);border-bottom:1px solid var(--line);}
.infoCase span{padding-right:9px;color:var(--ink);font-size:clamp(14px,1.4vw,17px);font-family:'Jost',arial,sans-serif;font-weight:600;line-height:1.3;text-transform:uppercase;}
.infoCase span a{display:block;margin-top:6px;text-align:center;font-size:14px;text-transform:none;color:var(--brand);}
.infoCase span a:hover{text-decoration:underline;}
.infoCase strong{display:block;margin-top:10px;font-size:clamp(14px,1.4vw,18px);font-weight:normal;color:#777;text-transform:none;}
.infoCase img{width:100%;max-width:220px;height:auto;}
@media(max-width:680px){.infoCase{grid-template-columns:repeat(2,1fr);}.infoCase span:first-child{grid-column:1/-1;}.infoCase img{margin:0 auto;}}
/*dettCaseStudy sx dx*/
#dettCaseStudy>.centro{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,3vw,40px);align-items:start;}
#dettCaseStudy .infoCase{grid-column:1/-1;}
#dettCaseStudy .sx,#dettCaseStudy .dx{padding:0;}
#dettCaseStudy .sx p,#dettCaseStudy .dx p{font-size:16px;}
#dettCaseStudy h3{background:url('strategy.png')no-repeat 0 4px;margin-bottom:15px;padding-left:45px;font-size:30px;text-align:left;}
#dettCaseStudy .dx h3{background-image:url('result.png');}
#dettCaseStudy .sx li,#dettCaseStudy .dx li{margin-bottom:12px;font-size:16px;color:#777;clear:both;line-height:27px;}
#dettCaseStudy .sx ul,#dettCaseStudy .dx ul,#dettCaseStudy .sx ol,#dettCaseStudy .dx ol{margin-top:15px;}
#dettCaseStudy .sx ul li:before,#dettCaseStudy .dx ul li:before{content:'\f00c';display:inline-block;margin-right:5px;color:var(--gold);font:normal normal normal 18px/1 FontAwesome;}
#dettCaseStudy .sx ol,#dettCaseStudy .dx ol{counter-reset:li;}
#dettCaseStudy .sx ol li:before,#dettCaseStudy .dx ol li:before{content:counter(li)".";counter-increment:li;display:inline-block;margin-right:5px;color:var(--gold);font-size:18px;}
@media(max-width:675px){#dettCaseStudy h3{font-size:28px;}#dettCaseStudy .sx p, #dettCaseStudy .dx p,#dettCaseStudy .sx li, #dettCaseStudy .dx li{font-size:15px;line-height:21px;}}
@media(max-width:640px){#dettCaseStudy>.centro{grid-template-columns:minmax(0,1fr);}#dettCaseStudy h3{margin-bottom:7px;}#dettCaseStudy .sx{margin-bottom:25px;}}
/*-------------------------------------------PAGINA BLOG---------*/
/* indice blog e dettaglio articolo: contenuto + sidebar */
#blog>.centro,#dettBlog>.centro{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,31%);gap:clamp(24px,3vw,40px);align-items:start;overflow:visible;}
.listBlog{margin-top:clamp(28px,4vw,50px);}
.listBlog ul{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(20px,2.4vw,30px);overflow:visible;}
.listBlog li{position:relative;display:flex;width:auto;margin:0;background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease);}
.listBlog li:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--brand);}
.listBlog li>a{display:flex;flex-direction:column;width:100%;}
.listBlog img{width:100%;height:auto;aspect-ratio:373/265;object-fit:cover;}
.listBlog div:first-child{position:relative;}
.listBlog span{background:var(--gold);position:absolute;bottom:-12px;left:20px;padding:6px 18px 4px;border-radius:var(--radius-sm);color:#fff;font-size:15px;}
.listBlog div:last-child{flex:1;display:flex;flex-direction:column;padding:28px 18px 18px;}
.listBlog h4{flex:0 0 auto;margin-bottom:15px;font-weight:500;font-size:18px;line-height:1.35;}
.listBlog h4:hover{color:var(--gold);}
.listBlog i{margin-top:auto;color:#afafaf;font-style:normal;font-size:15px;text-transform:capitalize;}
.listBlog i:after{content:"\f178";display:inline-block;margin-left:5px;font-family:FontAwesome;font-size:15px;}
.listBlog i:hover{color:var(--gold);}
/*sidebar*/
.sidebar{position:sticky;top:175px;margin-top:clamp(28px,4vw,50px);}
.sidebar h4{margin-bottom:clamp(16px,2vw,32px);font-size:24px;}
/*category*/
.category{margin-bottom:45px;}
.category a{display:block;margin-bottom:12px;padding-bottom:15px;border-bottom:1px solid #f2f2f2;color:rgba(0,0,0,0.75);font-size:16px;}
.category a:hover{color:var(--gold);}
.category span{float:right;}
/*lastPost*/
.lastPost a{display:block;margin-bottom:12px;padding:25px 20px;color:rgba(0,0,0,0.75);font-size:19px;font-weight:600;box-shadow:0 4px 6px 0px rgba(0,0,0,0.1);}
.lastPost a:hover{color:var(--gold);}
.lastPost a span{display:block;margin-top:8px;font-size:16px;font-weight:normal;color:#777;}
@media(max-width:890px){.listBlog div:last-child{padding:24px 12px 12px;}.listBlog h4{font-size:16px;}.listBlog span{left:9px;}.lastPost a{padding:15px;font-size:16px;}.lastPost a span{font-size:14px;}.sidebar h4{margin-bottom:16px;}}
@media(max-width:820px){#blog>.centro,#dettBlog>.centro{grid-template-columns:minmax(0,1fr);}.sidebar{position:static;margin-top:18px;}}
@media(max-width:455px){.listBlog ul{grid-template-columns:1fr;}}

/*-------------------------------------------PAGINA DETTAGLIO ARTICOLO---------*/
#dettBlog .header h1{font-size:37px;}
#dettBlog .header h1,#dettBlog #breadcrumbs{float:none;width:100%;}
#dettBlog .sx{min-width:0;margin-top:clamp(28px,4vw,50px);}
.text h2{margin:15px 0;font-size:30px;text-align:center;text-transform:uppercase;font-weight:500;clear:both;}
.text h2:after{content:'';background:var(--ink);display:block;width:89px;height:3px;margin:3px auto 0;}
.text h3{margin:23px 0 12px;color:var(--gold);text-transform:uppercase;font-size:23px;text-align:left;font-weight:bold;}
.text h3:before{content:'';background:var(--gold);display:inline-block;width:40px;height:2px;margin:0 9px 6px 0;}
.text h4{margin:15px 0 9px;font-size:20px;color:#484545;text-transform:uppercase;font-weight:500;}
.text h4:after{content:'';background:#424242;display:block;width:75px;height:2px;margin:9px 0 0;}
.text h5{margin:15px 0 3px;font-size:18px;color:#484545;font-weight:500;}
.text p{font-size:16px;overflow:hidden;}
.text p img{max-width:97%;height:auto!important;margin:6px 0;border:1px solid var(--gold);border-radius:5px}
.text p img:not([style*="float"]){width:100%!important;max-width:100%!important;padding:7px!important;}
.text p img[style*="float:left"]{margin-right:13px;}
.text p img[style*="float:right"]{margin-left:13px;}
.text iframe,.text video,.text table{max-width:100%;}
.text p a{display:inline-block;color:var(--gold);font-weight:bold;}
.text p a:hover{text-decoration:underline;}

/*list*/
.text ol{margin:11px 0;counter-reset:li;list-style-type:none;overflow:hidden;}
.text ol li{position:relative;background:none transparent;border-left:1px solid #ddd;margin:0 0 12px 42px;padding:0 0 11px 9px;color:#777;font-size:16px;line-height:27px;}
.text ol li:before{content:counter(li);counter-increment:li;position:absolute;left:-42px;top:0;display:block;background-color:var(--gold);border:3px solid #ddd;border-radius:50%;height:31px;width:31px;color:#fff;font-size:15px;text-align:center;line-height:29px;z-index:1;}
.text ol strong{font-size:17px;}
.text ul{margin:11px 0;}
.text ul li{background:url('li.png')no-repeat 0 5px;margin-bottom:5px;padding:3px 0 3px 30px;color:#777;font-size:16px;line-height:27px;}
/*form commenti*/
.formComment{position:relative;margin-top:clamp(28px,4vw,50px);}
.formComment h3{margin-bottom:0;font-size:clamp(26px,3vw,32px);text-align:left;}
.formComment form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:25px;}
.formComment label:not(.textArea){position:relative;width:auto;margin:0;}
.formComment label.textArea{position:relative;grid-column:1/-1;display:block;width:auto;margin:0;}
.formComment .privacyForm,.formComment>form>p{grid-column:1/-1;}
.formComment input,.formComment textarea{background:#fff;height:40px;padding:17px;border:1px solid #ddd;color:#262626;font-size:14px;}
.formComment textarea{height:110px;}
.formComment a{color:var(--body);}

.formComment .hidden{display:none;}
.formComment .ok{display:block;}
.formComment .privacyForm{position:relative;overflow:visible;}
.formComment .privacyForm label{float:none;width:100%;}
.error{background:#fe0000;position:absolute;top:-38px;left:0;padding:9px;border-radius:8px;color:#fff;font-size:13px;-webkit-animation:scale-fade .2s ease-in-out 1;-moz-animation:scale-fade .2s ease-in-out 1;-ms-animation:scale-fade .2s ease-in-out 1;-o-animation:scale-fade .2s ease-in-out 1;animation:scale-fade .2s ease-in-out 1;z-index:9;}
.error:before{content:'';position:absolute;bottom:-13px;left:18px;border-width:13px 13px 0;border-style:solid;border-color:#DDD rgba(255,255,255,0);display:block;}
.error:after{content:"";position:absolute;bottom:-12px;left:19px;width:0;display:block;border-width:12px 12px 0;border-style:solid;border-color:#fe0000 rgba(255,255,255,0);}
#errorEmail{top:-66px;}
#errorPrivacy:before{left:3px;bottom:-12px;}
#errorPrivacy:after{bottom:-11px;left:3px;}
#boxMsg{position:absolute;top:50%;left:50%;background-color:#dff0d8;border:1px solid #32cd32;margin:-30px 0 0 -160px;color:#32cd32;padding: 20px 30px;-webkit-animation: scale-fade .2s ease-in-out 1;-moz-animation: scale-fade .2s ease-in-out 1;-ms-animation: scale-fade .2s ease-in-out 1;-o-animation: scale-fade .2s ease-in-out 1;animation: scale-fade .2s ease-in-out 1;}
#boxMsgError{position:absolute;top:50%;left:50%;background-color:#e65b5b;border:1px solid #cf5f5f;margin:-30px 0 0 -160px;color:#fff;padding: 20px 30px;-webkit-animation: scale-fade .2s ease-in-out 1;-moz-animation: scale-fade .2s ease-in-out 1;-ms-animation: scale-fade .2s ease-in-out 1;-o-animation: scale-fade .2s ease-in-out 1;animation: scale-fade .2s ease-in-out 1;}
.formComment .btn{grid-column:1/-1;}
@media(max-width:520px){.formComment form{grid-template-columns:1fr;}}
/*commenti*/
.listComment{margin-top:50px;}
.listComment h3{margin-bottom:0;font-size:32px;text-align:left;}
.listComment li{margin-bottom:15px;padding:15px;border:2px solid #f6f6f6;}
.listComment p{font-size:16px;}
.listComment strong{display:block;margin-bottom:12px;color:rgba(0,0,0,0.75);font-size:17px;}
.listComment span{float:right;}

@media(max-width:750px){#dettBlog #breadcrumbs{text-align:left;}}
@media(max-width:675px){#dettBlog .sx{margin-top:21px;}#dettBlog .header h1{font-size:33px;line-height:39px;}.text h3{margin:23px 0 5px;font-size:21px;}.listComment h3{margin-bottom:7px;}.listComment h3,.formComment h3{font-size:29px;}}
@media(max-width:460px){#dettBlog .header{padding:17px 0;}#dettBlog .header h1{font-size:28px;line-height:35px;}#breadcrumbs li a, #breadcrumbs li span{font-size:12px;}.text h3{font-size:19px;line-height:22px;}.listComment h3, .formComment h3{font-size:27px;}.listComment li{padding:9px;}.listComment strong,.listComment p{font-size:15px;}.formComment p{font-size:16px;line-height:23px;}#dettBlog .lastPost{margin-bottom:35px;}}
/*-------------------------------------------PAGINA CONTATTI---------*/
#contatti>.centro{display:grid;grid-template-columns:minmax(0,55%) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start;}
.formContatti{margin:clamp(28px,4vw,50px) 0;}
.formContatti h3{margin-bottom:15px;font-size:clamp(24px,2.8vw,30px);text-align:left;}
.formContatti p{font-size:16px;}
.formContatti form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:15px;}
.formContatti input{background:transparent;width:100%;margin:0;border:none;border-radius:var(--radius-sm);box-shadow:0 4px 6px 0px rgba(0,0,0,0.08)}
.formContatti textarea{background:transparent;grid-column:1/-1;width:100%;height:140px;margin:0;border:none;border-radius:var(--radius-sm);box-shadow:0 4px 6px 0px rgba(0,0,0,0.08)}
.formContatti .privacyForm{grid-column:1/-1;margin:0;}
.formContatti a{color:var(--body);}
.formContatti .btn{background:var(--gold);grid-column:1/-1;justify-self:center;width:140px;margin:0;}
.formContatti .btn:hover{background:var(--brand);}
/*info*/
.info{margin:clamp(28px,4vw,50px) 0;}
.info h3{margin-bottom:15px;font-size:clamp(24px,2.8vw,30px);text-align:left;}
.info span{display:block;margin-bottom:30px;padding-bottom:30px;font-size:18px;clear:both;}
.info strong{display:block;margin-top:6px;padding-bottom:8px;text-transform:uppercase;color:#222328;font-size:17px;font-weight:700;}
.info span:before{content:"\f0e0";background:var(--gold);float:left;display:inline-block;width:60px;height:43px;margin-right:20px;padding-top:17px;border-radius:50%;text-align:center;color:#fff;line-height:58px;font:normal normal normal 24px/1 FontAwesome;}
.info span:nth-of-type(2):before{content:"\f095";}
.info span:nth-of-type(3):before{content:"\f09a";}
.info a{color:var(--brand);}
.info a:hover{color:var(--brand-strong);}
@media(max-width:760px){#contatti>.centro{grid-template-columns:minmax(0,1fr);gap:0;}.formContatti{margin:15px 0;}.formContatti h3{margin-bottom:0;}.info span{margin-bottom:0;padding-bottom:20px;}}
@media(max-width:455px){.info{margin:32px 0 20px;}.info strong{font-size:16px;}.info span{font-size:17px}.formContatti form{grid-template-columns:1fr;}}
/*footerTop*/
.footerTop{overflow:hidden;}
/*loghi*/
.loghi{margin-top:80px;text-align:center;overflow:hidden;}
.loghi img{display:inline-block;width:17%;margin:0 1%;}
@media(max-width:665px){.loghi{margin-top:40px;}.loghi img{width:30%;margin-bottom:15px;}}
@media(max-width:480px){.loghi{margin-top:20px;}.loghi img{width:47%;}}
/*footerTop*/
.footerTop{max-width:850px;margin-top:clamp(32px,5vw,60px);}
.footerTop h5{font-size:clamp(21px,2.4vw,25px);text-align:center;}
.footerTop span{display:block;color:#777777;margin:12px 0 25px;font-size:15px;text-align:center;}
.footerTop form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 2%;width:755px;max-width:98%;margin:0 auto;}
.footerTop label{margin:0 0 18px;font-size:18px;}
.footerTop input:not(.btn),.footerTop select,.footerTop textarea{background:none;height:48px;margin-top:3px;padding:9px 15px;border:1px solid #c1c1c1;border-radius:9px;}
.footerTop textarea{height:165px;}
.footerTop .privacyForm{grid-column:1/-1;margin:0 0 4px;}
.footerTop .privacyForm label{width:100%;margin:0;}
.footerTop .privacyForm input{width:16px;margin:0 4px 0 0;}
.footerTop .privacyForm a{color:var(--body);}
.footerTop .btn{grid-column:1/-1;width:140px;margin-top:20px;border-radius:9px;}
.footerTop ul{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:clamp(28px,4vw,50px);text-align:center;}
.footerTop li{width:auto;}
.footerTop li:before{content:"\f098";display:inline-block;margin-bottom:9px;color:var(--brand-strong);font:normal normal normal 35px/1 FontAwesome;}
.footerTop li:nth-of-type(2):before{content:"\f0e0";}
.footerTop li strong{display:block;margin-bottom:3px;font-size:18px;}
.footerTop li a{color:var(--brand);font-size:15px;}
.footerTop li a:hover{color:var(--brand-strong);}
@media(max-width:520px){.footerTop form{grid-template-columns:1fr;}.footerTop ul{grid-template-columns:1fr;gap:14px;}}
@media(max-width:420px){.footerTop{margin-top:25px;}.footerTop ul{margin-bottom:35px;}.footerTop label{margin-bottom:8px;}.footerTop input:not(.btn), .footerTop select, .footerTop textarea{height:43px;padding:9px 4px;}}
/*footerMiddle*/
.footerMiddle{background:var(--ink);margin-top:clamp(30px,4vw,50px);padding:clamp(30px,4vw,50px) 0;}
.footerMiddle>.centro{display:grid;grid-template-columns:2fr 1fr 1.3fr 1fr;gap:clamp(20px,2.5vw,32px);}
.footerMiddle div div{width:auto;padding:0 5px;text-align:center;}
.footerMiddle p{margin-top:25px;color:rgba(255,255,255,0.50);font-size:13px;text-align:left;}
.footerMiddle strong{display:block;margin-bottom:22px;color:#fff;font-size:24px;}
.footerMiddle a{display:block;margin-bottom:12px;color:rgba(255,255,255,0.50);font-size:13px;}
.footerMiddle a:hover{color:#fff;}
.footerMiddle span{display:block;color:rgba(255,255,255,0.50);font-size:13px;}
.footerMiddle .chiama:before,.footerMiddle .email:before{content:"\f095";display:inline-block;margin-right:15px;color:rgba(255,255,255,0.60);font:normal normal normal 14px/1 FontAwesome;}
.footerMiddle .email:before{content:"\f0e0";}
@media(max-width:820px){.footerMiddle>.centro{grid-template-columns:repeat(2,1fr);}.footerMiddle div div:first-child{grid-column:1/-1;}}
@media(max-width:600px){.footerMiddle{padding:11px 0;}.footerMiddle p{margin:7px 0 15px;line-height:20px;}}
@media(max-width:460px){.footerMiddle{margin-top:20px;}.footerMiddle strong{margin-bottom:7px;font-size:21px;}.footerMiddle .chiama:before, .footerMiddle .email:before{display:block;margin:0 0 5px;}.footerMiddle a{margin-bottom:5px;font-size:12px;}}
/*footerBottom*/
.footerBottom{background:var(--ink-2);padding:20px 0;color:#d3d3d3;}
.footerBottom p{color:rgba(255,255,255,0.50);font-size:13px;}
.footerBottom p a{color:rgba(255,255,255,0.50);}
@media(max-width:550px){.footerBottom{padding:8px 0;}.footerBottom p{line-height:20px;}}
/*----------------------------------PAGINA SEND------------------*/
.send{padding:clamp(24px,4vw,50px) 9px;}
.send.centro{max-width:1100px;}
.send h1{margin-bottom:25px;}
.send ul{margin-top:20px}
.send li{background:url('error.png')no-repeat 0 center;margin-bottom:8px;padding:0 7px 0 25px;font-size:17px;color:#777;}
.send p{font-size:17px;}
/* due colonne solo nella variante con illustrazione; la pagina di errore resta a colonna singola */
.send:has(>img){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,300px);gap:clamp(20px,3vw,40px);align-items:center;}
.send:has(>img)>div{grid-area:1/1;}
.send:has(>img)>img{grid-area:1/2;width:100%;height:auto;}
.send p a{margin-top:15px;}
.send div>a{margin:16px 0 0;}
@media(max-width:860px){.send p,.send li{font-size:16px;}}
@media(max-width:660px){.send:has(>img){grid-template-columns:1fr;}.send:has(>img)>div{grid-area:auto;}.send:has(>img)>img{grid-area:auto;width:210px;margin:0 auto 20px;}}
/*------------------------PAGINA PRIVACY-------------------------*/
#pagePrivacy{margin-bottom:20px;}
#pagePrivacy h1{margin-bottom:20px;}
#pagePrivacy h2{margin:12px 0;text-align:center;font-size:30px;line-height:32px;}
#pagePrivacy p{font-size:14px;line-height:22px;}
#pagePrivacy ul{margin:30px 0;padding-left:40px;list-style:circle;overflow:visible;}
#pagePrivacy ul ul{margin:17px 0;padding-left:29px;}
#pagePrivacy li{margin-bottom:15px;line-height:25px;font-size:14px;color:#8c7363;}
/*------------------------PAGINA 404--------------------------*/
.error404{background:url('bg404.jpg')no-repeat right 0 top -97px/cover;padding:90px 0;}
.error404 h1{width:40%;color:#fff;font-size:65px;line-height:80px;text-transform:uppercase;}
.error404 p{width:40%;color:#fff;}
.error404 .btn{margin:20px 0;}
/*---------------------------POLICY*/
#policy h1{padding-top:20px;font-size:39px;text-align:center;line-height:52px;text-transform:uppercase;}
#policy p+h3{margin-top:25px;}
#policy h3{margin-bottom:9px;font-size:32px;line-height:45px;}
#policy h4{margin:20px 0 9px;font-size:25px;}
#policy h4:after{content:'';background:var(--ink);display:block;width:80px;height:2px;}
#policy li{margin-bottom:5px;font-size:18px;line-height:27px;color:#777;}
#policy ul,#policy ol{margin:15px 0;padding-left:23px;list-style-type:circle;}
#policy ol{list-style-type:upper-roman;}
#policy p a{text-decoration:underline;color:#ea4517;}
@media(max-width:860px){#policy h1{padding-top:12px;font-size:33px;line-height:41px;}#policy p,#policy li{font-size:16px;}#policy h3{margin-bottom:0;line-height:40px;font-size:29px;}}
@media(max-width:700px){#policy h1{margin-bottom:8px;font-size:26px;line-height:34px;}#policy h3{font-size:23px;line-height:32px;}#policy p, #policy li{line-height:22px;}}
@media(max-width:450px){#policy h1{font-size:20px;line-height:25px;}#policy h4{font-size:21px;}#policy p, #policy li{font-size:14px;}}
/* ====================== POPUP */
@-webkit-keyframes fadein{0%{opacity:0.5;}100%{opacity:1;}}@-moz-keyframes fadein{0%{opacity:0;}100%{opacity:1;}}@-ms-keyframes fadein{0%{filter:alpha(opacity=0);}100%{filter:alpha(opacity=100);}}@-o-keyframes fadein{0%{opacity:0;}100%{opacity:1;}}@keyframes fadein{0%{opacity:0.5;}100%{opacity:1;}}
@-webkit-keyframes popup{0%{-webkit-transform:scale(0.9);}100%{-webkit-transform:scale(1);}}@-moz-keyframes popup{0{-moz-transform:scale(0.7);}100%{-moz-transform:scale(1);}}@-ms-keyframes popup{0{-ms-transform:scale(0.7);}100%{-ms-transform:scale(1);}}@-o-keyframes popup{0{-o-transform:scale(0.7);}100%{-o-transform:scale(1);}}@keyframes popup{0%{transform:scale(0.9);}100%{transform:scale(1);}}
@-webkit-keyframes rotator{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg);}100%{-webkit-transform:rotate(270deg);transform:rotate(270deg);}}@-moz-keyframes rotator{0%{-moz-transform:rotate(0deg);transform:rotate(0deg);}100%{-moz-transform:rotate(270deg);transform:rotate(270deg);}}@-ms-keyframes rotator{0%{-ms-transform:rotate(0deg);transform:rotate(0deg);}100%{-ms-transform:rotate(270deg);transform:rotate(270deg);}}@-o-keyframes rotator{0%{-o-transform:rotate(0deg);transform:rotate(0deg);}100%{-o-transform:rotate(270deg);transform:rotate(270deg);}}@keyframes rotator{0%{-webkit-transform: rotate(0deg);-moz-transform: rotate(0deg);-ms-transform: rotate(0deg);-o-transform: rotate(0deg);transform:rotate(0deg);}100%{-webkit-transform:rotate(270deg);-moz-transform:rotate(270deg);-ms-transform:rotate(270deg);-o-transform:rotate(270deg);transform:rotate(270deg);}}
@-webkit-keyframes dash{0%{stroke-dashoffset:187;}50%{stroke-dashoffset:46.75;-webkit-transform:rotate(135deg);transform:rotate(135deg);}100%{stroke-dashoffset:187;-webkit-transform:rotate(450deg);transform:rotate(450deg);}}@-moz-keyframes dash{0%{stroke-dashoffset:187;}50%{stroke-dashoffset:46.75;-moz-transform:rotate(135deg);transform:rotate(135deg);}100%{stroke-dashoffset:187;-moz-transform:rotate(450deg);transform:rotate(450deg);}}@-ms-keyframes dash{0%{stroke-dashoffset:187;}50%{stroke-dashoffset:46.75;-ms-transform:rotate(135deg);transform:rotate(135deg);}100%{stroke-dashoffset:187;-ms-transform:rotate(450deg);transform:rotate(450deg);}}@-o-keyframes dash{0%{stroke-dashoffset:187;}50%{stroke-dashoffset:46.75;-o-transform:rotate(135deg);transform:rotate(135deg);}100%{stroke-dashoffset:187;-o-transform:rotate(450deg);transform:rotate(450deg);}}@keyframes dash{0%{stroke-dashoffset:187;}50%{stroke-dashoffset:46.75;-webkit-transform:rotate(135deg);transform:rotate(135deg);}100%{stroke-dashoffset:187;-webkit-transform:rotate(450deg);transform:rotate(450deg);}}
#popupbg{background-color:rgba(0,0,0,.65);-webkit-animation:fadein .15s ease;-moz-animation:fadein .15s ease;-ms-animation:fadein .15s ease;-o-animation:fadein .15s ease;animation:fadein .15s ease;}
#popupbox{overflow:visible;-webkit-transform-origin:bottom center;-moz-transform-origin:bottom center;-ms-transform-origin:bottom center;-o-transform-origin:bottom center;transform-origin:bottom center;-webkit-animation:popup .1s ease;-moz-animation:popup .1s ease;-ms-animation:popup .1s ease;-o-animation:popup .1s ease;animation:popup .1s ease;}
#popupbox .box{background:none;box-shadow:none;}
#popupbox .popupMain{background-color:#fff;box-shadow:0 10px 25px rgba(0,0,0,0.5);}
#popupbox #popupTitle{background-color:var(--ink);height:50px;padding:0 36px 0 15px;color:#fff;font-size:22px;font-weight:600;overflow:hidden;}
#popupbox #popupTitle span{display:table-cell;height:50px;vertical-align:middle;}
#popupbox #popupTitle a{position:absolute;top:0;right:0;background-color:var(--ink);width:36px;margin:0;padding:9px 0;color:#fff;font-size:20px;font-weight:400;text-align:center;}
#popupbox #popupTitle a:hover{color:#ff9696;}
#popupbox form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:9px;}
/* #popupbox input[type="text"],#popupbox input[type="email"],#popupbox select,#popupbox textarea{background:transparent;border:none;box-shadow:0 4px 6px 0px rgba(0,0,0,0.08)} */
#popupbox input[type="text"],#popupbox input[type="email"],#popupbox select{width:100%;margin:0;}
#popupbox textarea,#popupbox .privacyForm{grid-column:1/-1;margin:0;}
#popupbox input[type="text"],#popupbox input[type="email"],#popupbox select,#popupbox textarea{background:#fff;height:50px;border:1px solid var(--line);border-radius:25px;box-shadow:none;}
#popupbox textarea{height:165px;width:100%;padding:12px 17px;border-radius:var(--radius);}
#popupbox .btn{grid-column:1/-1;justify-self:center;width:218px;margin-top:15px;}
@media(max-width:500px){#popupbox form{grid-template-columns:1fr;}#popupbox #popupTitle{height:56px;padding:0 36px 0 9px;font-size:17px;}#popupbox #popupTitle span{height:56px;}}



/*COOKIE LOW*/
:root{--cc_white:#fff;--cc_text:#5f6368;--cc_btn:var(--brand);--cc_close_btn_hover:#dd0000;--cc_item_bg:#f0f4f7}.popupCookie_hidden{display:none!important}#popupCookie_background{position:fixed;top:0;left:0;background-color:rgba(0,0,0,.6);width:100%;height:100%;z-index:2147483646;-webkit-backface-visibility:hidden;backface-visibility:hidden;overflow-y:auto;visibility:visible}.popupCookie_container{top:50%;left:50%;max-height:100%;translate:-50% -50%;background:var(--cc_white);max-width:512px;width:93%;border-radius:8px;box-shadow:0 8px 28px rgba(2,2,3,.28);overflow:hidden;box-sizing:border-box}.popupCookie_container span{display:block}#cookieFirstPopup{height:290px}#cookieFirstPopup .popupCookie_footer{position:absolute;bottom:0;left:50%;translate:-50% 0;width:93%;background:var(--cc_white);padding:20px 20px 0}#cookieSecondPopup{display:flex;flex-wrap:wrap;height:408px}#popupCookie_btnBack{margin:15px auto}.popupCookie_title{margin-bottom:7px;margin-top:20px;font-size:18px;font-weight:600;color:#2d4156}.popupCookie_text{font-size:15px;color:var(--cc_text);margin:0;overflow-y:auto}#cookieFirstPopup .popupCookie_text{padding:0 20px 20px;line-height:20px}#cookieSecondPopup .popupCookie_split{height:calc(100vh - 122px);max-height:300px;overflow-y:auto;padding:0 20px 20px}.popupCookie_text a{color:var(--cc_text);text-decoration:underline}.popupCookie_footer{border-top:1px solid #ccc}#cookieSecondPopup .popupCookie_footer{position:absolute;bottom:0;width:100%;background:#fff;box-sizing:border-box}#cookieSecondPopup .popupCookie_footer div{display:flex;flex-wrap:wrap;justify-content:center;gap:0 20px;padding:0 25px}#cookieSecondPopup .popupCookie_text{overflow:hidden}.popupCookie_btn{flex:1 1 0;display:block;margin-top:15px;background:var(--cc_btn);color:var(--cc_white);border-radius:32px;padding:9px 27px;font-size:14px;font-weight:600;text-decoration:none;text-align:center;cursor:pointer;outline:0;text-wrap:nowrap}.popupCookie_btn_accept{padding:15px 60px 15px 40px;margin:0 auto;max-width:max-content;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' fill-rule='evenodd' d='M22.405 4.332a1.2 1.2 0 0 1 .101 1.706L9.889 20.041a1.2 1.2 0 0 1-1.714.07L.875 13.238a1.21 1.21 0 0 1 .733-2.082 1.21 1.21 0 0 1 .905.299l5.664 5.095a1.2 1.2 0 0 0 1.694-.089L20.723 4.429a1.2 1.2 0 0 1 1.682-.098z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:top 13px right 23px;background-size:23px;background-color:var(--cc_btn);font-size:18px}.popupCookie_btn_reject,.popupCookie_other{padding:0;font-weight:400;color:var(--cc_text)}.popupCookie_btn_reject{background:#fff;width:max-content;margin:0;text-align:end}.popupCookie_other{background:#fff;margin-top:0;text-align:center}.popupCookie_btn_otherBtn{display:flex;align-items:center;gap:0 25px;justify-content:center;margin-top:30px;margin-bottom:15px}.popupCookie_btn_reject:hover,.popupCookie_other:hover{background:#fff}.popupCookie_close{position:absolute;top:18px;right:20px;font-size:16px;color:var(--cc_text);cursor:pointer}.popupCookie_close:hover{color:var(--cc_close_btn_hover)}.popupCookie_divButton{display:flex;justify-content:right;gap:8px;margin-top:15px;border-top:1px solid #00000036}.popupCookie_divButton input[type=checkbox]{position:absolute;display:none}.popupCookie_divButton label span{user-select:none}#cookieFirstPopup .popupCookie_other{text-align:start}#cookieSecondPopup .popupCookie_btn{padding:12px 27px;min-width:110px}#cookieSecondPopup .popupCookie_other{padding:0}.popupCookie_details{position:relative;background:var(--cc_item_bg);padding:5px 0 5px 7px;margin:13px 0;border-radius:7px}.popupCookie_details_summary{padding:7px;font-weight:600;color:var(--cc_text);cursor:pointer;user-select:none}.popupCookie_details_text{padding:7px;margin-top:5px;line-height:23px;font-size:14px}.popupCookie_details input[type=checkbox]{position:absolute;top:7px;right:15px;width:25px;height:25px;cursor:pointer}.popupCookie_details input[type=checkbox]:disabled{opacity:.8;cursor:default}@media(max-height:300px){#cookieFirstPopup .popupCookie_text{height:calc(100vh - 160px)}#cookieSecondPopup .popupCookie_split{height:calc(100vh - 122px);max-height:250px}}@media(min-width:425px){#cookieFirstPopup{height:270px}}@media(min-width:768px){#cookieSecondPopup .popupCookie_other{width:max-content}}@media(min-width:480px){#cookieSecondPopup .popupCookie_footer{padding:15px 15px 0}.popupCookie_footer{padding-top:15px}.popupCookie_btn{margin-top:unset}}


/* ===================== HERO PIETRA =====================
   Al posto dell'animazione "matrix" del sito di partenza: una fascia di onice
   retroilluminato, ritagliata dal video istituzionale, quindi materiale
   originale. La lastra sta in alto come affioramento; sotto, il fondo scuro
   caldo lascia leggere il testo.
   Quando arrivano le foto dei lavori di Stefano, si sostituisce solo l'url. */
.headerHome.hero-tech{background:var(--ink);position:relative;overflow:hidden;}
.hero-tech #heroCanvas{display:none;}

/* Lastre di agata fotografate da un professionista per StoneMentor.
   Si alternano in dissolvenza con uno zoom lentissimo: l'animazione serve il
   materiale invece di sostituirlo, che e' il punto di un'azienda che vende
   bellezza materica. Tre immagini, 348 KB in tutto, in WebP. */
/* La prima lastra fa anche da fondo fisso: durante l'incrocio le due immagini
   sommano meno di 1 di opacita', e senza questo sotto si vedrebbe il nero. */
.hero-slab{position:absolute;inset:0;z-index:0;overflow:hidden;background:url(hero/agata-1.webp) center center/cover no-repeat var(--ink);}
.hero-slab i{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;will-change:opacity,transform;animation:slabFade 15s linear infinite;}
.hero-slab i:nth-child(1){background-image:url(hero/agata-1.webp);animation-delay:0s;}
.hero-slab i:nth-child(2){background-image:url(hero/agata-2.webp);animation-delay:5s;}
.hero-slab i:nth-child(3){background-image:url(hero/agata-3.webp);animation-delay:10s;}
@keyframes slabFade{
  0%{opacity:0;transform:scale(1);}
  4%{opacity:1;}
  30%{opacity:1;}
  36%{opacity:0;transform:scale(1.08);}
  100%{opacity:0;transform:scale(1.08);}
}
/* Con le animazioni ridotte resta la dissolvenza, sparisce lo zoom: a dare
   fastidio e' il movimento, non una variazione lenta di opacita'. Spegnere
   tutto lasciava una sola foto ferma, che non e' l'effetto voluto. */
@keyframes slabFadeSoft{
  0%{opacity:0;}
  4%{opacity:1;}
  30%{opacity:1;}
  36%{opacity:0;}
  100%{opacity:0;}
}
/* La durata resta 33s: i ritardi dei tre riquadri sono un terzo di quella,
   cambiarla qui aprirebbe un buco in cui non si vede nessuna lastra. */
@media(prefers-reduced-motion:reduce){
  .hero-slab i{animation-name:slabFadeSoft;transform:none;}
}
/* Velo caldo leggero. Prima erano due gradienti sovrapposti che si sommavano
   fino a coprire la pietra: la leggibilita' del testo si difende con l'ombra
   sulle lettere, non spegnendo l'immagine che e' il motivo per cui si guarda. */
.hero-tech:after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg, rgba(20,17,13,.70) 0%, rgba(20,17,13,.46) 44%, rgba(20,17,13,.20) 76%, rgba(20,17,13,.12) 100%);}
/* Ombra morbida sotto il testo dell'hero: costa niente all'immagine e tiene
   il contrasto anche quando sotto passa una lastra chiara. */
.hero-tech .sx p b,.hero-tech .sx .top,.hero-tech .sx .bottom,.hero-tech ul li{text-shadow:0 1px 3px rgba(0,0,0,.75),0 2px 18px rgba(0,0,0,.55);}
.hero-tech .centro{position:relative;z-index:2;}
.hero-tech .sx{z-index:2;}
.hero-tech .dx{position:relative;z-index:2;}
.hero-tech .sx p{border:0;padding:0;}
.hero-tech .sx .top,.hero-tech .sx .bottom{color:rgba(255,255,255,.72);}
.hero-tech .sx .top:after,.hero-tech .sx .top:before,.hero-tech .sx .bottom:after,.hero-tech .sx .bottom:before{background:rgba(255,255,255,.32);}
.hero-tech .sx p b{text-shadow:0 2px 20px rgba(0,0,0,.5);}
@media(max-width:700px){
  .headerHome.hero-tech{background:var(--ink);padding:26px 8px 32px;}
  .hero-tech .sx{position:static;transform:none;float:none;width:100%;color:#fff;padding-top:6px;}
  .hero-tech .sx p{width:100%;max-width:560px;margin:0 auto;}
  .hero-tech .sx p b{color:#fff;}
  .hero-tech ul,.hero-tech .sx .bottom,.hero-tech .sx .top{color:rgba(255,255,255,.82);}
  .hero-tech .dx{background:#fff;}
  .hero-tech .dx span{color:var(--ink);}
  .hero-tech .dx span strong{color:var(--brand);}
  .hero-tech .privacyForm label{color:var(--muted);}
  .hero-tech .privacyForm a{color:var(--muted);border-color:var(--muted);}
  .hero-tech input[type="submit"]{background:var(--brand);}
}
/* ======================================================================== */
/* ===================== HOME: griglia blog a 3 colonne ===================== */
/* la card e' definita una volta sola su .listBlog: qui cambiano solo le colonne */
#home .listBlog ul{grid-template-columns:repeat(3,1fr);margin:0;}
@media(max-width:705px){#home .listBlog ul{grid-template-columns:repeat(2,1fr);}}
@media(max-width:435px){#home .listBlog ul{grid-template-columns:1fr;}}
/* ======================================================================== */

/* ===================== VIDEO DI PRESENTAZIONE (Chi siamo) =====================
   Fascia intera su fondo scuro, subito sotto la testata. Un talking head
   stretto non lo guarda nessuno: il video e' la prova di quello che la pagina
   racconta, e deve avere lo spazio di una prova.
   Il blocco viene stampato da chi-siamo.php solo se il file esiste davvero. */
/* Ritratto in cima a "Chi sono". Stessa larghezza massima e stesso rapporto
   del lettore video piu' sotto: quando ci saranno tutti e due i bordi
   coincideranno. L'aspect-ratio riserva lo spazio prima del caricamento,
   cosi' il testo sotto non salta. */
/* E' un ritratto, non un hero: contenuto e incorniciato, non a bordo pagina.
   Un primo piano stretto come questo, allargato a tutta larghezza e senza
   bordo, sembra uno strappo invece che una foto.
   Niente aspect-ratio forzato: lo scatto e' gia' panoramico (16:9) con
   Stefano e la lastra d'agata nella stessa inquadratura. Forzare un
   formato verticale costringerebbe a tagliare via la lastra sui lati e a
   schiacciare la testa da un bordo all'altro. Si mostra l'inquadratura
   originale, solo piu' piccola. */
.ritratto{padding:clamp(40px,5vw,64px) 0;background:var(--bg-alt);}
.ritratto figure{max-width:760px;margin:0 auto;padding:0 5px;}
.ritratto img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg);}
.ritratto figcaption{margin-top:14px;text-align:center;color:var(--muted);font-size:14px;line-height:1.5;letter-spacing:.01em;}
@media(max-width:700px){.ritratto{padding:28px 0;}.ritratto figure{max-width:420px;}.ritratto figcaption{font-size:13px;}}
.videoAbout{background:var(--ink);margin:0;padding:clamp(40px,5vw,72px) 0 clamp(44px,5.5vw,80px);}
.videoAbout h2{margin-bottom:6px;color:#fff;text-align:center;font-size:clamp(26px,3.4vw,38px);font-weight:500;letter-spacing:var(--track);}
.videoAbout .videoIntro{margin:0 auto clamp(24px,3vw,38px);max-width:640px;color:rgba(255,255,255,.62);text-align:center;font-size:16px;}
/* aspect-ratio tiene il posto prima che il video carichi, cosi' la pagina
   non sobbalza sotto le dita di chi sta gia' scorrendo */
.videoWrap{position:relative;width:100%;max-width:1100px;margin:0 auto;aspect-ratio:16/9;background:#000;border:1px solid rgba(255,255,255,.10);}
.videoWrap video,.videoWrap img{display:block;width:100%;height:100%;object-fit:cover;}
@media(max-width:700px){.videoAbout{padding:28px 0 32px;}.videoWrap{max-width:100%;}}


/* ===================== SELETTORE DI LINGUA =====================
   Sta nella barra scura in alto, accanto ai recapiti: e' una scelta di
   servizio, non una voce di navigazione, e non deve rubare peso al menu. */
.lingue{display:inline-block;vertical-align:middle;margin:0 0 0 18px;padding-left:18px;border-left:1px solid var(--line);list-style:none;line-height:1;}
.lingue li{display:inline-block;vertical-align:middle;}
.lingue a{display:inline-block;padding:0 6px;line-height:1;color:var(--muted);font-family:'Jost',arial,sans-serif;font-size:13px;font-weight:500;letter-spacing:var(--track);transition:color .2s var(--ease);}
.lingue a:hover{color:var(--ink);text-decoration:none;}
.lingue a.attiva{color:var(--brand);font-weight:600;}
/* Su mobile la barra dei recapiti e' nascosta, ma il selettore di lingua deve
   restare raggiungibile: si riaccende la barra mostrando solo le lingue. */
@media(max-width:700px){
  #headerTop{display:block;padding:0;text-align:center;}
  #headerTop span{display:none;}
  .lingue{margin:0;padding:7px 0;border-left:0;}
  .lingue a{padding:4px 9px;}
}


/* Campo esca antibot: fuori schermo invece che display:none, perche' alcuni
   bot saltano gli elementi dichiarati nascosti e cadrebbero nella trappola
   solo a meta'. Per l'utente e' invisibile e non raggiungibile col tabulatore. */
.hp{position:absolute!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;}

/* Fascia video in cima alla scheda servizio. Riusa .videoWrap, che tiene il
   rapporto 16:9 con aspect-ratio: il posto e' gia' occupato prima che il
   video carichi, quindi la pagina non sobbalza sotto chi sta scorrendo. */
.videoServizio{background:var(--ink);padding:clamp(24px,3vw,44px) 0;}
/* Quando la fascia segue subito la testata, i due spazi si sommano (81px
   di .header piu' fino a 44px suoi): tra il breadcrumb e la foto restava
   un vuoto nero di quasi 125px. Qui non serve, il nero prosegue identico
   da un blocco all'altro. */
.header+.videoServizio{padding-top:0;}
.videoServizio .videoWrap{max-width:1100px;}
@media(max-width:700px){.videoServizio{padding:16px 0;}}
