:root{
  --bg:#070a0c;
  --panel:#0b1115;
  --text:#f4f0ea;
  --muted:#c6bfb4;
  --gold:#c99b5e;
  --line:rgba(201,155,94,.36);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,Avenir,Helvetica,Arial,sans-serif;font-weight:300}
.sidebar{
  position:fixed;left:0;top:0;bottom:0;width:260px;
  background:linear-gradient(180deg,#05080a,#091014);
  border-right:1px solid var(--line);
  padding:44px 34px 34px;
  display:flex;flex-direction:column;z-index:10;
}
.brand img{width:190px;display:block;margin:0 auto}
nav{margin-top:68px;display:grid;gap:28px}
nav a{color:#ddd6ca;text-decoration:none;text-transform:uppercase;font-size:13px;letter-spacing:.07em}
nav a:hover,nav a:first-child{color:var(--gold)}
.mail{margin-top:auto;color:var(--gold);font-size:12px;text-decoration:none}
.main{margin-left:260px}
.hero{
  display:grid;
  grid-template-columns:minmax(0,2.55fr) minmax(340px,1fr);
  min-height:410px;
  border-bottom:1px solid var(--line);
}
.hero-main{
  position:relative;
  min-height:410px;
  background:linear-gradient(90deg,rgba(0,0,0,.65),rgba(0,0,0,.18)),url('../images/hero.jpg') center/cover;
  border-right:1px solid var(--line);
}
.hero-side{background:url('../images/touch.jpg') center/cover}
.hero-copy{position:absolute;left:50px;bottom:48px;max-width:620px}
.eyebrow{margin:0 0 13px;color:var(--gold);text-transform:uppercase;letter-spacing:.14em;font-size:13px}
h1{margin:0 0 22px;font-size:34px;line-height:1.18;font-weight:300;letter-spacing:-.02em}
h2{margin:0 0 20px;font-size:30px;line-height:1.18;font-weight:300}
p{margin:0 0 16px;color:var(--muted);font-size:15px;line-height:1.65}
.desktop-mosaic{
  display:grid;
  grid-template-columns:1.2fr 1.9fr 1.18fr 0.95fr 0.95fr;
  grid-auto-rows:260px;
}
.tile{margin:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;overflow:hidden}
.text{background:linear-gradient(135deg,#071014,#0b1116);padding:30px 28px}
.image{background-size:cover;background-position:center}
.switches{background-image:url('../images/switches.jpg')}
.yacht{background-image:url('../images/yacht.jpg')}
.touch-yacht{background-image:url('../images/touch-yacht.jpg')}
.villa{background-image:url('../images/villa.jpg')}
.bedroom{background-image:url('../images/bedroom.jpg')}
.switches-wall{background-image:url('../images/switches-wall.jpg')}
.credentials{
  display:grid;grid-template-columns:1fr 1.5fr .8fr 1.6fr;
  gap:0;background:#090d10;border-bottom:1px solid var(--line)
}
.credentials div{padding:26px 30px;border-right:1px solid var(--line)}
.credentials div:last-child{border-right:0}
.credentials strong{display:block;font-size:28px;letter-spacing:.04em}
.credentials span{letter-spacing:.18em;color:#ddd}
.contact{display:grid;grid-template-columns:1fr 1.2fr;gap:60px;padding:70px 58px;background:linear-gradient(135deg,#0b1014,#06080a)}
form{display:grid;gap:14px}
input,textarea{width:100%;background:#0d1318;border:1px solid rgba(201,155,94,.34);color:var(--text);padding:15px 16px;font:inherit}
textarea{resize:vertical}
.captcha{display:grid;gap:8px;color:var(--muted)}
button{background:transparent;border:1px solid var(--gold);color:var(--gold);text-transform:uppercase;letter-spacing:.08em;padding:16px 22px;cursor:pointer}
.note{font-size:12px;opacity:.7}

@media(max-width:1050px){
  .sidebar{position:relative;width:auto;min-height:auto;padding:24px 22px}
  .brand img{width:210px;margin:0}
  nav{margin-top:28px;display:flex;gap:18px;overflow:auto;padding-bottom:6px}
  .mail{display:none}
  .main{margin-left:0}
  .hero{display:block;min-height:500px}
  .hero-main{min-height:500px}
  .hero-side{display:none}
  .hero-copy{left:24px;right:24px;bottom:40px}
  h1{font-size:31px}
  .desktop-mosaic{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:auto}
  .tile{min-height:270px}
  .text{padding:30px 24px}
  .credentials{grid-template-columns:1fr 1fr}
  .contact{grid-template-columns:1fr;padding:50px 24px}
}
@media(max-width:680px){
  .desktop-mosaic{grid-template-columns:1fr}
  .image{min-height:260px}
  .credentials{grid-template-columns:1fr}
  .credentials div{border-right:0;border-bottom:1px solid var(--line)}
}

/* Correzione SOLO desktop: hero senza testo incorporato nell'immagine */
@media(min-width:1051px){
  .hero-main{
    background:
      linear-gradient(90deg,rgba(0,0,0,.66),rgba(0,0,0,.20)),
      url('../images/hero-desktop-clean.jpg') center/cover !important;
  }
}

.portrait-section{display:grid;grid-template-columns:420px 1fr;border-bottom:1px solid rgba(201,155,94,.35);background:#080d11}
.portrait-photo{min-height:720px;display:flex;align-items:center;justify-content:center;border-right:1px solid rgba(201,155,94,.35);background:linear-gradient(180deg,#12181d,#090d11)}
.portrait-placeholder{width:260px;height:520px;border:1px solid rgba(201,155,94,.55);display:flex;align-items:center;justify-content:center;text-align:center;letter-spacing:.16em;line-height:1.8;color:#c99b5e}
.portrait-copy{padding:90px 80px}
.portrait-copy h2{font-size:54px;line-height:1.05;font-weight:300;margin-bottom:50px}
.reasons-grid{display:grid;grid-template-columns:1fr 1fr;gap:42px}
.reasons-grid strong{display:block;font-size:22px;margin-bottom:12px}
.projects{padding:90px 70px;border-bottom:1px solid rgba(201,155,94,.35);background:#06090c}
.projects h2{font-size:48px;margin-bottom:50px}
.project-cards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px}
.project-card{background:linear-gradient(145deg,#0b1116,#10171d);padding:34px;min-height:250px;border:1px solid rgba(201,155,94,.25)}
.project-card span{display:block;color:#c99b5e;font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:18px}
.project-card h3{font-size:28px;line-height:1.25;font-weight:300;margin:0}
@media(max-width:1050px){.portrait-section{grid-template-columns:1fr}.portrait-photo{min-height:420px}.portrait-copy{padding:50px 24px}.portrait-copy h2{font-size:38px}.reasons-grid{grid-template-columns:1fr}.projects{padding:50px 24px}.projects h2{font-size:38px}.project-cards{grid-template-columns:1fr}}


.portrait-real{
width:100%;
height:100%;
object-fit:cover;
display:block;
filter:grayscale(100%);
}

.knx-section{
display:grid;
grid-template-columns:1.3fr .9fr;
align-items:center;
gap:60px;
padding:90px 70px;
background:#0a0f13;
border-bottom:1px solid rgba(201,155,94,.35);
}

.knx-copy h2{
font-size:52px;
line-height:1.05;
margin-bottom:30px;
font-weight:300;
}

.knx-badge{
display:flex;
justify-content:center;
align-items:center;
}

.knx-badge img{
max-width:320px;
width:100%;
height:auto;
}

@media(max-width:1050px){

.knx-section{
grid-template-columns:1fr;
padding:50px 24px;
gap:40px;
}

.knx-copy h2{
font-size:38px;
}
}


.knx-badge img{
mix-blend-mode:screen;
filter:drop-shadow(0 0 12px rgba(0,0,0,.35));
}
