/* Home page layout */
.home-content{max-width:1000px;margin:0 auto;text-align:left;}
.home-title{font-size:1.8em;margin:0 0 10px;letter-spacing:1px;}
.intro-wrap{display:grid;grid-template-columns:1.1fr 0.9fr;gap:24px;align-items:center;}
.home-text p{margin:0 0 12px;}
.home-image{width:100%;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,0.15);} 
@media (max-width:768px){
  .intro-wrap{grid-template-columns:1fr;}
  .home-title{font-size:1.6em;}
}
/* Fine-tuning for ® placement */
.home-title sup{font-size:0.6em;vertical-align:super;margin-left:2px;}

/* --- Interactive hero --- */
/* --- Hero con proporzioni originali e overlay hotspot --- */
.hero-fullscreen{position:relative;width:100%;margin:0;padding:0;overflow:hidden}
.hero-figure{position:relative;width:100%;margin:0}
.hero-bg{position:relative;display:block;width:100%;height:auto;object-fit:contain;image-rendering:auto}
.hero-figure,.hero-bg{cursor:default}
.hero-logo{position:absolute;top:16px;left:16px;color:#fff;font-weight:700;letter-spacing:.04em;font-size:clamp(18px,2.4vw,28px);text-shadow:0 2px 10px rgba(0,0,0,0.45)}

/* Fade-in alla prima visualizzazione */
.hero-fullscreen,.hero-logo{animation:fadeIn .35s ease-out}

/* Hotspot testuali: rettangoli trasparenti centrati sulle scritte dell'immagine */
.hotspot-texts{position:absolute;inset:0;list-style:none;margin:0;padding:0;z-index:2}
.hero-bg{z-index:1}
.hotspot-texts li{position:absolute;transform:translate(-50%, -50%);pointer-events:auto}
/* Slice: mostra esattamente la porzione dell'immagine originale (nessun testo generato) */
.hotspot-texts li .slice{position:absolute;inset:0;background-repeat:no-repeat;transform:scale(1);transform-origin:center center;transition:transform .25s ease;will-change:transform;pointer-events:none}
/* Click e focus sono sull'area originale */
.hotspot-texts li a{position:absolute;inset:0;display:block;background:transparent;cursor:pointer;outline:none}
.hotspot-texts li:hover .slice,.hotspot-texts li a:focus-visible + .slice{transform:scale(1.1)}
.hotspot-circles li a:focus-visible{outline-offset:2px}

/* Riduzione dimensioni hotspot su schermi piccoli per evitare sovrapposizioni */
@media (max-width:768px){
  .hero-figure{width:100%}
}

/* Blocco testi sotto l'immagine */
.hero-text{padding-top:32px;padding-bottom:32px}
.hero-text-blocks{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1100px;margin:0 auto}
.hero-text .text-block{background:#fff;border:1px solid var(--color-divider);box-shadow:var(--shadow-1);border-radius:var(--radius-2);padding:24px;line-height:1.65}
.hero-text .text-block p{margin:0 0 12px}

@media (max-width:768px){
  .hero-text-blocks{grid-template-columns:1fr}
}

/* Transizione di uscita quando si naviga dal link hero */
body.page-transition-out{opacity:0;transition:opacity .25s ease-out}