@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
@import url('balloon.min.css');
@import url('hamburgers.css?i=1');


* { font-optical-sizing: auto; border:0px; list-style:none; margin:0px; padding:0px; outline:none; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -webkit-appearance: none; -moz-appearance: none; appearance: none; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
html { font-size: 100%; }
body { background:#FFF; margin: 0px; font-family: 'Inter', sans-serif; font-size:12px; font-weight:200; letter-spacing:0.3px; font-weight:300; -webkit-text-size-adjust:100%;  color:#000; line-height:20px; text-align:left;  }
a { text-decoration:none; outline:none; color:#000; text-overflow:ellipsis; font-weight:300; }
a:hover, a.selected { text-decoration:underline; color:#000; transition: all 0.9s ease-in-out;  -webkit-transition: all 0.9s ease-in-out; -moz-transition: all 0.9s ease; -o-transition: all 0.9s ease;  -ms-transition: all 0.9s ease-in-out; }
a.selected { text-decoration:none; }
*:hover { transition: all 0.9s ease-in-out;  -webkit-transition: all 0.9s ease-in-out; -moz-transition: all 0.9s ease; -o-transition: all 0.9s ease;  -ms-transition: all 0.9s ease-in-out; }
h1, h2, h3, h4 { margin:0px; font-family: 'Inter', sans-serif; font-weight:300; }
h1 { margin:0px; font-size: 34px; line-height: 35px; }
h2 { font-size:22px; margin-bottom:20px; }
h2 span { font-size:22px; color:#888; }
h2.section { font-size:12px; margin-bottom:20px;}
h3 { font-weight:600; font-size: 28px; }
h3.section { margin-top:40px; margin-bottom:-20px; font-size:14px; font-weight:600; }
h4.section { text-align:left; margin: 0 0 40px 0; text-transform:uppercase; padding-top:20px; border-top:2px solid #CCC; }
h5 { font-weight:300; font-size: 13px; margin-bottom:10px;  }
b, strong { font-weight:600; }
i { margin-right:5px; }
img { display:block; }
img.scale { width:100%; height:auto; }
img.loading { background: url('../images/loading.gif') no-repeat center; }
img.border { border:10px solid #EEE; }
img.rounder { border-radius:1000px; }
select { background: url("../images/select_arrowdown.gif") no-repeat 97% 50%; }
input, select { height:45px; }
input, select, textarea { width:100%; border-radius:0; color:#444; font-family: 'Inter', sans-serif; font-size:13px; padding: 5px; background-color: #FFFFFF; }
input.col, select.col, textarea.col { margin-bottom:15px; }
input:focus, textarea:focus, select:focus { border-color: #222; }
input.error, textarea.error, select.error { border-color:#FF0000; color:#FF0000; background:#F9CCCB; }
label.error { color:#FF0000; font-size:0px; visibility:hidden; float:left; overflow:hidden; height:0px; display:none; line-height:0; padding:0px; margin:0px; letter-spacing: 0; }
input[type='checkbox'], input[type='radio'] { padding:0; height:25px; width:25px; float:left; margin-right:10px;  border: 1px solid #CCCCCC; border-radius: 3px; box-shadow:none; }
input[type='checkbox']:checked, input[type='radio']:checked { background:#666; box-shadow:none;  }
option { padding:0 5px; }
label { font-weight:600; cursor:pointer; }
.row { margin-bottom:10px; }
.filter * { height:45px; margin-bottom:20px; }
.label { text-align:right; padding:10px 5px 0 0; font-weight:600; text-transform: uppercase; }
.btn, input[type='submit'], input[type='button'], input[type='reset'], button { font-size: 13px; line-height: 26px; font-weight:600; padding: 15px 20px; border:0px; cursor:pointer; display:inline-block; color:#FFF; background:#888; line-height:normal; text-align:center;  text-transform:uppercase;}
.btn:hover, input[type='button']:hover, input[type='submit']:hover, input[type='reset']:hover, button:hover{ text-decoration:none; background: #000; color:#FFF; }
button i { margin:0px; }
.btn-primary, input.btn-primary { background-color:#D9801C; color:#FFF;  }
.btn-primary:hover, input.btn-primary:hover { color:#FFF; background:#000; }
.warning { color:#FF0000; font-weight:600; background: url('../images/icon_warning.png') no-repeat left top; padding:5px 0 5px 22px; text-transform:uppercase; }
.icon_info { margin-left:10px; cursor:pointer;  font-size:11px; }
.strike { text-decoration: line-through; font-weight:normal; }
p.limit { margin: 10px 0; font-size:11px; }
.videoWrapper { position: relative; padding-bottom: 56.25%; /* 16:9 */	padding-top: 25px; height: 0; }
.videoWrapper iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
iframe {  width: 100%; }
.placeholder { color: #FFF; text-transform:uppercase; }
.column_2 { column-count: 2; column-gap: 40px; text-align:justify; }
.nowrap { white-space:nowrap; }
ul.list_border li:first-child { border-top:0px; }
ul.list_border li { float:none; border-top:1px dotted #CCC; margin:0px; padding: 5px 0; color:#999; }
ul.list_border li a { display:block; }
ul.list_border li p a { display:inline; }
li span.tot { float:right; font-size:11px; width:30px; text-align:center; display: inline-block; }
ul.icon_right li a i { float:right; }
ul.list_number li { list-style:decimal; margin:5px 0 5px 20px; }
ul.list_disc li { list-style:disc; margin:0 40px 10px 15px; }
ul.list_disc li li { list-style:circle; }
ul.icon-list i { width:30px; text-align:center; }
ul.icon-list li { margin: 10px 0; }
ul.condizioni_vendita li, ul.payments li { min-height:30px; padding-left:40px; position: relative; margin-top:10px; }
ul.condizioni_vendita li input, ul.payments li input { position:absolute; left:0; top:0; }
#msg #close {  float:right; color:#FFF; }
#msg #close::before { content: "\f00d"; font-family: "Font Awesome 5 Free"; }
#msg.msg_success { background:#00B259; color:#FFF; padding:7px 10px; font-weight:600; }
#msg.msg_error { background:#FF0000; color:#FFF; padding:7px 10px; font-weight:600; }
#msg { margin: 0 0 40px 0; }

.qty { width:80px; }

.layout { position:relative; }
.wrapper { width:100%; margin: 0 auto; min-width:720px; clear: both;  }
.content { width:100%; max-width:1600px; margin: 0 auto; clear: both; padding:0 20px; position:relative; }
.content-large { width:95%; margin: 0 auto; clear: both; padding:40px 20px; position:relative; }
.content-small { max-width:660px; margin: 0 auto; clear: both; padding:0 20px; position:relative; }

.cover-small { position:relative; margin:0 auto; text-align:center; background-size: cover; background-position:bottom center; color:#FFF; height: 300px; }
.cover-small h1 { text-transform:uppercase; font-size:30px; line-height:36px; padding:40px 100px; margin:0px; position:absolute; bottom:0; left:0; background: rgb(0,0,0); background: linear-gradient(90deg, rgba(0,0,0,0.2) 0%, rgba(0,0,0,0) 100%); }

.align_left { text-align: left; }
.align_right { text-align: right; }
.align_center { text-align: center; }
.hidden { display:none; }
.600 { font-weight:600; }
.avatar { width:50px; height:50px; float:left; margin-right:10px; border-radius: 50%; }
.fa { margin-right:5px; }
.fr { float:right; }
.red { color:#FF0000; }
.green { color:#59B200; }
.gray, .gray a { color:#999; }
.black, .black a { color:#000; }
.fixed { position:fixed; }
.hidden { display:none; }
.block { display:block; }
.mt100 { margin-top:100px; }
.mt60 { margin-top:60px; }
.mt40 { margin-top:40px; }
.mb40 { margin-bottom:40px; }
.mt20 { margin-top:20px; }
.mb20 { margin-bottom:20px; }
.mb10 { margin-bottom:10px; }
.p20 { padding:20px; }
.pt20 { padding-top:20px; }

table { border-collapse: collapse; width:100%; }
table, th, td { border-bottom: 1px solid #DDD; padding: 5px 10px;  vertical-align: top; }
thead td { background:#000; font-weight:600; color:#FFF; }
figure { overflow:hidden; position:relative; }
figure * { transition: all .2s ease-in-out; line-height:normal;  }
figure img { display:block; }


.list-gallery {  display: grid; grid-template-columns:1fr 1fr 1fr 1fr; gap:20px; }

.group:before, .group:after { content:""; display:table; }
.group:after { clear:both; }
.col { display: block; float:left; margin: 0 0 0 1.6%; }
.col:first-child { margin-left: 0; }

.span_1_of_2 { width: 49.2%; }
.span_2_of_2 { width: 100%; }

.span_1_of_3 { width: 32.2%; }
.span_2_of_3 { width: 66.1%; }
.span_3_of_3 { width: 100%; }

.span_1_of_4 { width: 23.8%; }
.span_2_of_4 { width: 49.2%; }
.span_3_of_4 { width: 74.6%; }
.span_4_of_4 { width: 100%; }

.span_1_of_5 { width: 18.72%; }
.span_2_of_5 { width: 39.04%; }
.span_3_of_5 { width: 59.36%; }
.span_4_of_5 { width: 79.68%; }
.span_5_of_5 { width: 100%; }

.span_1_of_6 { width: 15.33%; }
.span_2_of_6 { width: 32.26%; }
.span_3_of_6 { width: 49.2%; }
.span_4_of_6 { width: 66.13%; }
.span_5_of_6 { width: 83.06%; }
.span_6_of_6 { width: 100%; }

.span_1_of_8 { width: 11.1%; }
.span_2_of_8 { width: 23.8%; }
.span_3_of_8 { width: 36.5%;}
.span_4_of_8 { width: 49.2%; }
.span_5_of_8 { width: 61.9%; }
.span_6_of_8 { width: 74.6%; }
.span_7_of_8 { width: 87.3%; }
.span_8_of_8 { width: 100%; }

.span_1_of_10 { width: 8.56%; }
.span_2_of_10 { width: 18.72%;  }
.span_3_of_10 { width: 28.88%; }
.span_4_of_10 { width: 39.04%;  }
.span_5_of_10 { width: 49.2%; }
.span_6_of_10 { width: 59.36%; }
.span_7_of_10 { width: 69.52%;  }
.span_8_of_10 { width: 79.68%; }
.span_9_of_10 { width: 89.84%; }
.span_10_of_10 { width: 100%; }
.iphone_show, #header li.iphone_show { display:none; }
.pr80 { padding-right:100px; }

.span_50 { width:50%; margin:0 auto; text-align:center; }
.span_25 { width:25%; margin:0 auto; text-align:center; }

.paginations { display:grid; grid-template-columns: 1fr 1fr; gap:20px; margin-bottom:20px;  }
.paginations .pages { text-align:right; }
.paginations .pages a, .paginations .pages b { padding:10px 15px; display:inline-block; border-bottom:1px solid #DDD; }
.paginations .results { padding-top:10px; }
.paginations .pages b { color: #D9801C; }
.paginations .pages a:hover { background:#EEE; }


.bgcolor { background:#D9801C; color:white; }
.bg1 { background:#000; color:#FFF; }
.bg_gray { background:#EEE; }
.overlay h3 { font-size:20px; margin-bottom:10px; }
.overlay { font-weight:normal; position:absolute; padding: 20px; text-align:left; line-height:20px; z-index:2; top:0; left:0; right:0; bottom:0; color:#FFF; background-color: rgba(0, 0, 0, 0.8); }
.flex { display: flex; align-items: center;  }

#header { position:fixed; top:0; left:0; right:0; z-index:22; background:#FFF; }
#header .container {  position:relative; padding:20px 20px; display:grid; grid-template-columns:1fr 1fr; height:65px; max-width:1600px; width:100%; margin:0 auto; }
#header .logo img { height: 22px; width:auto; }
#header .menu ul { margin:0 auto; text-align:right; }
#header li { display:inline-block;  }
#header li a { display:block; padding:0 10px; font-size:14px; font-weight:300; color:#000; }
#header li.last a { border:0px; }
#header li:last-child a { border:0px; padding-right: 0; }
#header li a.selected { font-weight:500; }

.footer { padding:40px 0 60px 0; } 
.footer .grid { display: grid; grid-template-columns:1fr 2fr 1fr; gap:20px; font-size:13px; line-height:20px; }
.footer h3 { font-size:16px; margin:20px 0; line-height:24px; }
.footer h4 { font-size:16px; margin:20px 0 0 0; line-height:24px; }
.footer p.credits { margin-bottom:50px; }
.footer a { font-weight:300; }

.sub-header { display:flex; align-items: bottom;  }
.sub-header a { color:#CCC; }
.sub-header a:hover, .sub-header a.selected { color:#000; }
.sub-header a:first-child::after { content: ""; display: inline-block; margin-left:0px; }
.sub-header a::after { content: ", "; display: inline-block; margin-left: -8px; }
.sub-header a:last-child::after { content:""; }
.sub-header .submenu { display:flex; align-self: end; text-align:right; }
.sub-header .submenu ul { margin: 0 0 0 auto; }
.sub-header .submenu li { display:inline-block; }
.sub-header .submenu li a { padding: 10px; display:block; }
.sub-header .submenu li a.selected { color:#000; border-bottom:4px solid #000; }
.sub-header .submenu a::after { content:inherit; margin:inherit; }
.sub-header p { font-size: 16px; line-height: 24px; }

.hamburger { display:none; }


#main { margin-top:65px; padding:0 20px; }
.main { padding:100px 40px; margin-top:40px; }
.cover { margin-bottom:50px; }
.cover .item { background-size:cover; background-repeat:no-repeat; height: -moz-calc(100vh - 160px); height: -webkit-calc(100vh - 160px); height: calc(100vh - 160px); background-position:center center; position:relative; font-size: 16px; }
.cover .container { position:absolute; bottom:60px; left:0px; right:0; z-index:2; font-size:16px; max-width:1600px; margin:0 auto; padding: 0 20px; color:#FFF; mix-blend-mode: difference;  }

.slide .item { margin:0px; list-style:none; background-position:center center; background-repeat:no-repeat; background-size:cover; height: -moz-calc(100vh - 50px); height: -webkit-calc(100vh - 50px); height: calc(100vh - 50px); overflow:hidden; }
.home .sub-header { padding:40px 0; border:0px; }

.list-projects .item { margin-bottom:110px; }
.list-projects .item .images { overflow: hidden; display: grid; justify-content: center; align-items: center; gap: 20px; margin-bottom:20px; }
.list-projects .item .L { grid-template-columns:67.5% 33%; grid-template-areas:"img1 img2"; }
.list-projects .item .V { grid-template-columns:33% 67.5%; grid-template-areas:"img1 img2"; }


..list-projects .item .images { overflow: hidden; display: grid; justify-content: center; align-items: center; gap: 20px; grid-template-columns:67.5% 33%; margin-bottom:20px; grid-template-areas:"img2 img1"; }
..list-projects .item:nth-child(even) .images { grid-template-columns:33% 67.5%; grid-template-areas:"img2 img1"; }
.list-projects .item p.customer { font-weight:600; font-size:18px; margin-bottom:10px; }
.list-projects .item p.cat { text-align:right; font-size:18px; font-weight:300;  }
.list-projects .item:last-child .text { margin:0; }

.itemDetail { font-size:14px; }
.itemDetail .text { font-size:20px; line-height:28px; }
.itemDetail .grid-1-2 { padding: 35px 0; }
.itemDetail h1 { margin-bottom:5px;}
.itemDetail .customer { font-size:20px; }

.grid-2.alternate-box { overflow: hidden; display: grid; justify-content: center; align-items: center; grid-template-columns:67.5% 33%; grid-template-areas:"img1 img2"; }
.grid-2.alternate-box2 { grid-template-columns:33% 67.5%; grid-template-areas:"img2 img1"; }
...alternate .item-detail:nth-child(even) .grid-2.alternate-box { grid-template-columns:33% 67.5%; grid-template-areas:"img2 img1"; }

.item-detail .text { padding:40px 0 40px 0; font-size:12px; line-height:15px; font-weight:200;  }
.item-detail .text p { padding-right:140px;}


.img1 { grid-area: img1; }
.img2 { grid-area: img2; }
ul.tag li { display:inline-block; text-transform:lowercase; }
ul.tag li:before { content:" | "; padding-left:5px; }
ul.tag li:first-child:before { content:""; padding:0; }

.grid-small { display: grid; grid-template-columns:1fr 2fr 2fr; column-gap:20px; border-top:10px solid #000; border-bottom:10px solid #000; }
.grid-small h2.title { margin-top:80px; }

.moreCustomer { padding:60px 40px; }
.moreCustomer h2 { text-align:center; font-weight:600; border-top:1px solid #DDD; padding-top:60px; margin-bottom: 60px; }



.tabs { padding:0 40px; }
.tabs ul { border-bottom:1px solid #DDD; }
.tabs li { display:inline-block; }
.tabs a { color:#888; font-size:13px; padding:10px 50px; border-bottom:2px solid #FFF; text-transform:uppercase; display:block; text-align:center;  }
.tabs a.selected, .tabs a:hover { border-bottom:2px solid #000; color:#000; }
.tab-content { padding:30px 40px; margin-bottom:40px; line-height:24px; }
.tab-content li { margin: 10px 0; }

.grid-projects { display:grid; grid-template-columns:1fr 1fr 1fr 1fr; gap:20px; margin-top:40px; }
.grid-projects div { position:relative; }
.grid-projects div.text { padding:15px 0; font-size:16px; font-weight:600; }
.grid-projects p { font-weight:200; }
.grid-projects h3 { margin:6px 0 30px 0; line-height:30px; }

.grid-projects-selected { display:grid; grid-template-columns:2fr 1fr; gap:20px; margin-top:40px; }
.grid-projects-selected img { object-fit: scale-down; }
.grid-text { display:grid; grid-template-columns:1fr 2fr; gap:20px; padding:40px 0; }
.grid-text .intro { font-size:16px; line-height:22px; }

.about { font-size:16px; line-height:24px; }
.about .container { max-width:1200px; margin:0 auto;  }
.about .row-1 { font-weight:600; padding:40px 0; border-top:1px solid #DDD; border-bottom:1px solid #DDD; }
.about .row-1 a { font-weight:normal; }
.about .cover { height: -moz-calc(100vh - 150px); height: -webkit-calc(100vh - 150px); height: calc(100vh - 150px);  text-align:center; align-content: center; font-weight:600; margin-bottom:0px; font-size:36px; }
.about h3 { font-size:18px; margin:0px; }
.about .row-2 { padding-top:60px; padding-bottom:60px; border-top:1px solid #DDD;  }
.about .row-3 { padding-top:60px; padding-bottom:60px; border-top:1px solid #DDD;  }
.about .row-4 .item { border-top:1px solid #DDD; padding-top:60px; margin-top:60px;  }
.about .row-4 .item:last-child { margin-bottom:60px; }


.grid-2-1-2 { display:grid; grid-template-columns:2fr 1fr 2fr; gap:10px; align-items: center; }
.grid-1-2 { display:grid; grid-template-columns:1fr 2fr; }
.grid-2 { display: grid; grid-template-columns:1fr 1fr;  }
.grid-3 { display:grid; grid-template-columns:1fr 1fr 1fr; }
.grid-4 { display:grid; grid-template-columns:1fr 1fr 1fr 1fr;  }
.grid-5 { display: grid; grid-template-columns:1fr 1fr 1fr 1fr 1fr; gap:20px; }
.grid-6 { display: grid; grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr; gap:20px; }
.grid-7 { display: grid; grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr 1fr; gap:20px; }
.grid-8 { display: grid; grid-template-columns:1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr; gap:20px; }
.gap20 { gap:20px; }
.gap40 { gap:40px; }

.grid .span_1_of_2:nth-child(2n+1) { margin-left:0px; }
.grid .span_1_of_3:nth-child(3n+1) { margin-left:0px; }
.grid .span_1_of_4:nth-child(4n+1) { margin-left:0px; }
.grid .span_1_of_5:nth-child(5n+1) { margin-left:0px; }
.grid .span_1_of_6:nth-child(6n+1) { margin-left:0px; }
.grid .span_1_of_7:nth-child(7n+1) { margin-left:0px; }
.grid .span_1_of_8:nth-child(8n+1) { margin-left:0px; }
.grid .col { margin-bottom:1.6%; }
.grid img { display:block; }
.span_25 { width:25%; margin:0px; line-height:normal; font-size:0px; }




body#print { margin:40px; text-align:justify;}
body#print img { width:80px; height:auto; }
body#print h3 { margin: 80px 0 20px 0; }
body#print .print { width:100%; position:fixed; right:0; top:0; left:0; padding:20px 40px; z-index:1; background-color:rgba(255, 255, 255, 0.9); }
body#print .print a { font-size:11px; padding-right:5px; display:inline-block; margin-left:5px; text-transform:uppercase; }

.btn_facebook { background:#4164B4; color:#FFF; padding:10px 20px; margin-top:20px; display:inline-block; text-align:center; text-transform:uppercase; }
.btn_facebook i { border:0px; height:auto; width:auto; padding:0px; color:#FFF; }
.btn_facebook:hover { color:#FFF; }

.global-site-notice { position:fixed; bottom:20px; right:20px; width:100%; max-width:330px; z-index:222; background: #FF0000 none repeat scroll 0% 0%;  color: #FFF; display:block;  padding: 10px 30px; float:none; font-size:13px; }
.global-site-notice .notice-inner { max-width:960px; margin: 0 auto; text-align:left; float:none; position:relative; }
.global-site-notice .notice-inner p { width: auto; padding-right: 30px; adding-left: 40px; display: block; }
.global-site-notice .notice-inner a { color: #FFF; }
.global-site-notice .notice-inner a:hover { text-decoration:underline; }
#close-cookie-notice { position: absolute; right:0; top:0px; }
.global-site-notice.hidden { display:none; }

.scrolloff { pointer-events: none; }

div.top {  display: none; overflow: hidden; position: fixed; right:40px; bottom:60px; background:black; border-radius:200px; }
div.top .fa { margin:0px; }
div.top a { padding-top:10px; display:block; color:white; cursor:pointer; font-size:20px; width:40px; height:40px; text-align:center;  }

.paginazione a, .paginazione b { margin-bottom:5px; padding:7px 15px; border:1px solid #EEE; display:inline-block; margin-right:2px; }
.paginazione b { background:#EEE; }
.owl-nav { display:none; }






/* Testata Work */
.work-header { display: flex; flex-direction: column; align-items: flex-start; gap: 0; margin:100px 0 40px 0; }
.work-header h2 { font-size:34px; margin-bottom:20px; font-weight:300; }
.work-header p { font-size:16px; color:gray; margin-bottom:20px; line-height: 24px; max-width:45%; }
.work-grid.education { grid-template-columns: repeat(4, 1fr); padding-top: 40px; }
.work-grid.education .work-thumb { height:500px; }
.work-grid { display: grid; column-gap: 15px; row-gap: 40px; grid-template-columns: repeat(3, 1fr);
grid-template-areas:
    "side big big"
    ".    big big"
    "s1   s2  s3"
    "s4   s5  s6"
	"s7   s8  s9"
	"s10   s11  s12";
}
.work-grid.work-grid--alt {
  grid-template-areas:
    "big big side"
    "big big ."
    "s1   s2  s3"
    "s4   s5  s6"
	"s7   s8  s9"
	"s10  s11 s12"; 
}
.work-item--side { grid-area: side; }
.work-item--big  { grid-area: big; }
.work-item--s1   { grid-area: s1; }
.work-item--s2   { grid-area: s2; }
.work-item--s3   { grid-area: s3; }
.work-item--s4   { grid-area: s4; }
.work-item--s5   { grid-area: s5; }
.work-item--s6   { grid-area: s6; }
.work-item--s7   { grid-area: s7; }
.work-item--s8   { grid-area: s8; }
.work-item--s9   { grid-area: s9; }
.work-item--s10   { grid-area: s10; }
.work-item--s11   { grid-area: s11; }
.work-item--s12   { grid-area: s12; }
.work-item { width: 100%; margin: 0; }
.work-item h3 { margin:10px 0 0px 0; color:#000; font-weight:400; font-size: 16px; font-weight:300; }
.work-item p { margin:0; font-size:16px; line-height: 24px; color:gray; }



/* Immagini: controlliamo l'altezza SOLO qui */
/* piccoli (side + s1–s6) */
.work-item--side .work-thumb,
.work-item--s1 .work-thumb,
.work-item--s2 .work-thumb,
.work-item--s3 .work-thumb,
.work-item--s4 .work-thumb,
.work-item--s5 .work-thumb,
.work-item--s6 .work-thumb,
.work-item--s7 .work-thumb,
.work-item--s8 .work-thumb,
.work-item--s9 .work-thumb,
.work-item--s10 .work-thumb,
.work-item--s11 .work-thumb, 
.work-item--s12 .work-thumb {
  height: 380px;
}

/* grande (2 righe di piccoli) */
.work-item--big .work-thumb { height: 760px; }

.work-thumb { overflow: hidden; background: #f2f2f2; }
.work-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

#main.itemDetail { margin-top: 140px; }
.itemDetail .sub-header { background:#FFF; position:fixed; top:50px; z-index:2; left:0; right:0; padding:60px 0 20px 0; }
.itemDetail .sub-header .content { display:grid; grid-template-columns: 1fr 200px; }
.itemDetail .sub-header h1 { font-size:34px; }
.itemDetail .sub-header .button { text-align:right; align-content: end; }
.itemDetail .project-about-toggle { appearance: none; background: none; border: none; cursor: pointer; padding: 0; font-size: 14px; color:#000; white-space: nowrap; }
.project-about-toggle:hover { text-decoration: underline; }
.project-layout {
    display: grid;
    align-items: start; /* Permette al pannello di non allungarsi per tutta l'altezza */
    grid-template-columns: 1fr 0px; 
    transition: grid-template-columns 0.4s ease;
    position: relative;
    overflow: visible; /* Fondamentale per lo sticky */
}

.project-layout.panel-open {
    grid-template-columns: 1fr 600px; 
}

.project-panel {
    padding: 0 40px;
    font-size: 18px;
    line-height: 26px;
    
    /* Sticky logic */
    position: -webkit-sticky;
    position: sticky;
    top: 150px; /* Si blocca a 150px dall'alto */
    
    /* Gestione visibilità */
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease;
    
    /* Altezza massima per scrolling interno se il testo è lunghissimo */
    max-height: calc(100vh - 180px);
    overflow-y: auto;
}

/* Quando il pannello è aperto */
.project-layout.panel-open .project-panel {
    opacity: 1;
    visibility: visible;
    min-width: 600px; /* Forza la larghezza per evitare l'effetto schiacciato */
}
.project-panel h1 { margin-bottom:20px; }
.project-panel { padding: 0 40px; font-size:16px; line-height:26px; }
.project-image-row { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; }
.project-image-row .project-image img { width: 100%; height: 100%; object-fit: cover; }
.project-layout.panel-open { grid-template-columns: 1fr 600px; }
.project-images { display: flex; flex-direction: column; gap: 15px; }
.project-image img { width: 100%; height: auto; display: block; }

.panel-meta { margin-top: 60px; }
.panel-meta h3 { font-size: 20px; letter-spacing: 0.08em; color: #888; margin: 0 0 10px 0; }
.panel-meta dl { margin: 0; }
.panel-meta dt { font-size: 13px; color: #888; margin-bottom:0; line-height: 13px; }
.panel-meta dd { margin: 0 0 12px 0; font-size: 13px; color: #111; }

.work-paginations { margin: 100px auto 100px auto; }
.subnav { display:grid; grid-template-columns:1fr 1fr; gap:20px; position:relative; font-size:16px; text-transform:lowercase; }
.subnav .left { text-align:left; position: relative; }
.subnav .right { text-align:right; position: relative; }
.subnav .right i { position:absolute; right:0px; top:14px; font-size:10px; }
.subnav .right .title { position:absolute; right:18px; top:0px; font-size:14px; font-weight: 300; }
.subnav .left i { position:absolute; left:0px; top:14px; font-size:10px; }
.subnav .left .title { position:absolute; left:13px; top:0px; font-size:14px; font-weight: 300; line-height: 18px; }
.subnav a { color:#000; }
.subnav .title { text-transform:none; }
.subnav .title span { font-weight:300; font-size:14px; text-transform:capitalize; display:block; margin-top:0px; color:gray; }



.section-education { margin: 0 0 120px 0; background: var(--edu-bg, #111); padding: 80px 0 120px;  }
.education-header { margin-bottom: 32px; }
.education-header h2 { font-size:34px; margin-bottom:20px; font-weight:300; color:#FFF; }
.education-header h5, .education-header h5 a { color:#FFF; }
.education-header p { font-size:16px; color:#AAA; margin-bottom:20px; line-height: 24px; max-width:45%;  }

/* SCROLLER ORIZZONTALE */
.education-scroller { position: relative; }
.education-track { display: flex; gap: 15px; overflow-x: auto; padding-bottom: 8px; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.education-track::-webkit-scrollbar { display: none; }

.carouselEdu { margin: 0 -5px; color:#FFF;}
.carouselEdu article { padding: 0 5px; }
.carouselEdu  h3 { color:#FFF; }
.carouselEdu .work-thumb { height:500px; }

.carouselTeam { color:#FFF; margin: 0 -5px;}
.carouselTeam .item { padding: 0 5px; }
.carouselTeam .item h3 { margin: 10px 0 0 0; font-weight:300; font-size:16px; }
.carouselTeam .item h4 { margin:0; font-weight:300; font-size:16px; color:#AAA; }


.intro { margin-top:100px;  }
.intro h1 { font-size:34px; margin-bottom:30px; font-weight:300;  }
.list-people-big { margin-top:100px; gap:60px; }	
.list-people-big h2 { font-size:34px; margin-bottom:15px; font-weight:300; }
.list-people-big .subtitle { color:#777; margin-bottom:15px; }
.list-people-small { margin-top:100px; gap:15px; }
.list-people-small .item { margin-bottom:60px; }
.list-people-small a, .list-people-big a { color:#000; }
.list-people-small a:hover, .list-people-big a:hover { opacity:0.3; }

.list-people-small h2 { font-size:18px; margin:10px 0 5px 0; font-weight:400; }
.list-people-small .subtitle { font-size:16px; color:#777; margin-bottom:5px; }

[class*="carousel__arrow--"]{
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  aspect-ratio: 1; 
  z-index: 2;
}
.carousel__arrow--prev{
  left: -30px;
}
.carousel__arrow--next{
  right: -30px;
}
[class*="carousel__arrow--"]::before{
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: '';
  font-size: 12px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.carousel__arrow--prev::before{
  content: '\f053';
}
.carousel__arrow--next::before{
  content: '\f054';
}
@media (hover: hover){
  [class*="carousel__arrow--"]{
    transition: .3s;
  }
  [class*="carousel__arrow--"]:hover{
    cursor: pointer;
    opacity: 0.7;
  }
}