/* ==========================================================================
   Vittoria Assicurazioni — Agenzia di Ravenna Centro
   « Mosaico ravennate — tessere bizantine »
   Smalto bizantino (teal-bleu) + oro tessera + porpora imperiale sur intonaco.
   Signature : TESSELLES de mosaïque (SVG généré) en kicker, filets, bordures,
   panneau du hero, bord en escalier de la photo, survol des produits.
   Aucune classe custom : ids de section, classes Bootstrap, pseudo-éléments.
   ========================================================================== */

:root {
  --v-smalto: #0f5c6e;
  --v-smalto-d: #0a4250;
  --v-notte: #08242e;
  --v-oro: #c8a13a;
  --v-oro-l: #e6c66a;
  --v-oro-d: #8a6a1a;
  --v-porpora: #7a1f3d;
  --v-porpora-d: #5a1229;
  --v-intonaco: #f5f0e6;
  --v-intonaco-2: #ebe3d2;
  --v-ink: #1a2226;
  --v-display: 'Forum', 'Trajan Pro', Georgia, serif;
  --v-body: 'Alegreya Sans', 'Gill Sans', 'Segoe UI', sans-serif;
  --v-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --v-tess-gold: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96'%3E%3Crect width='96' height='96' fill='%23F5F0E6'/%3E%3Crect x='1.7' y='-0.0' width='10' height='10' rx='1' fill='%23D8B24E' transform='rotate(0.8 6.0 6.0)'/%3E%3Crect x='12.9' y='1.4' width='10' height='10' rx='1' fill='%23C8A13A' transform='rotate(-0.1 18.0 6.0)'/%3E%3Crect x='25.0' y='1.9' width='10' height='10' rx='1' fill='%23EBD08A' transform='rotate(-3.5 30.0 6.0)'/%3E%3Crect x='37.6' y='-0.2' width='10' height='10' rx='1' fill='%23B98E2C' transform='rotate(-0.8 42.0 6.0)'/%3E%3Crect x='49.7' y='1.2' width='10' height='10' rx='1' fill='%23B98E2C' transform='rotate(-2.8 54.0 6.0)'/%3E%3Crect x='59.9' y='-0.1' width='10' height='10' rx='1' fill='%23C8A13A' transform='rotate(4.8 66.0 6.0)'/%3E%3Crect x='73.9' y='1.4' width='10' height='10' rx='1' fill='%23CFA845' transform='rotate(-5.9 78.0 6.0)'/%3E%3Crect x='85.1' y='1.6' width='10' height='10' rx='1' fill='%23B98E2C' transform='rotate(2.7 90.0 6.0)'/%3E%3Crect x='0.6' y='13.4' width='10' height='10' rx='1' fill='%23B98E2C' transform='rotate(0.6 6.0 18.0)'/%3E%3Crect x='12.5' y='11.9' width='10' height='10' rx='1' fill='%23EBD08A' transform='rotate(-0.5 18.0 18.0)'/%3E%3Crect x='26.0' y='12.0' width='10' height='10' rx='1' fill='%23EBD08A' transform='rotate(5.0 30.0 18.0)'/%3E%3Crect x='37.9' y='12.1' width='10' height='10' rx='1' fill='%23A97F22' transform='rotate(5.9 42.0 18.0)'/%3E%3Crect x='50.1' y='13.0' width='10' height='10' rx='1' fill='%23E6C66A' transform='rotate(4.7 54.0 18.0)'/%3E%3Crect x='62.0' y='12.3' width='10' height='10' rx='1' fill='%23B98E2C' transform='rotate(0.1 66.0 18.0)'/%3E%3Crect x='73.9' y='13.8' width='10' height='10' rx='1' fill='%23E6C66A' transform='rotate(1.1 78.0 18.0)'/%3E%3Crect x='85.8' y='13.0' width='10' height='10' rx='1' fill='%23CFA845' transform='rotate(-1.3 90.0 18.0)'/%3E%3Crect x='0.8' y='24.2' width='10' height='10' rx='1' fill='%23A97F22' transform='rotate(3.6 6.0 30.0)'/%3E%3Crect x='13.7' y='25.6' width='10' height='10' rx='1' fill='%23CFA845' transform='rotate(4.6 18.0 30.0)'/%3E%3Crect x='25.0' y='25.7' width='10' height='10' rx='1' fill='%23C8A13A' transform='rotate(-0.7 30.0 30.0)'/%3E%3Crect x='36.7' y='25.6' width='10' height='10' rx='1' fill='%23CFA845' transform='rotate(4.1 42.0 30.0)'/%3E%3Crect x='49.5' y='26.2' width='10' height='10' rx='1' fill='%23B98E2C' transform='rotate(-5.5 54.0 30.0)'/%3E%3Crect x='61.4' y='24.2' width='10' height='10' rx='1' fill='%23CFA845' transform='rotate(0.9 66.0 30.0)'/%3E%3Crect x='73.6' y='25.1' width='10' height='10' rx='1' fill='%23D8B24E' transform='rotate(5.8 78.0 30.0)'/%3E%3Crect x='84.8' y='24.6' width='10' height='10' rx='1' fill='%23EBD08A' transform='rotate(0.6 90.0 30.0)'/%3E%3Crect x='0.9' y='36.4' width='10' height='10' rx='1' fill='%23EBD08A' transform='rotate(0.9 6.0 42.0)'/%3E%3Crect x='13.6' y='36.7' width='10' height='10' rx='1' fill='%23CFA845' transform='rotate(1.3 18.0 42.0)'/%3E%3Crect x='25.9' y='37.6' width='10' height='10' rx='1' fill='%23EBD08A' transform='rotate(3.8 30.0 42.0)'/%3E%3Crect x='37.7' y='36.3' width='10' height='10' rx='1' fill='%23EBD08A' transform='rotate(-4.4 42.0 42.0)'/%3E%3Crect x='48.7' y='37.1' width='10' height='10' rx='1' fill='%23C8A13A' transform='rotate(-0.2 54.0 42.0)'/%3E%3Crect x='61.8' y='36.8' width='10' height='10' rx='1' fill='%23CFA845' transform='rotate(-1.0 66.0 42.0)'/%3E%3Crect x='73.3' y='37.3' width='10' height='10' rx='1' fill='%23C8A13A' transform='rotate(0.5 78.0 42.0)'/%3E%3Crect x='85.7' y='37.3' width='10' height='10' rx='1' fill='%23B98E2C' transform='rotate(1.2 90.0 42.0)'/%3E%3Crect x='1.9' y='49.7' width='10' height='10' rx='1' fill='%23CFA845' transform='rotate(1.0 6.0 54.0)'/%3E%3Crect x='14.0' y='47.9' width='10' height='10' rx='1' fill='%23EBD08A' transform='rotate(4.2 18.0 54.0)'/%3E%3Crect x='25.9' y='48.9' width='10' height='10' rx='1' fill='%23A97F22' transform='rotate(-5.2 30.0 54.0)'/%3E%3Crect x='36.4' y='48.1' width='10' height='10' rx='1' fill='%23EBD08A' transform='rotate(3.1 42.0 54.0)'/%3E%3Crect x='48.5' y='48.2' width='10' height='10' rx='1' fill='%23CFA845' transform='rotate(-3.8 54.0 54.0)'/%3E%3Crect x='60.2' y='48.5' width='10' height='10' rx='1' fill='%23E6C66A' transform='rotate(0.3 66.0 54.0)'/%3E%3Crect x='73.5' y='49.0' width='10' height='10' rx='1' fill='%23A97F22' transform='rotate(-2.5 78.0 54.0)'/%3E%3Crect x='84.7' y='48.8' width='10' height='10' rx='1' fill='%23C8A13A' transform='rotate(-5.7 90.0 54.0)'/%3E%3Crect x='0.4' y='61.6' width='10' height='10' rx='1' fill='%23D8B24E' transform='rotate(-2.9 6.0 66.0)'/%3E%3Crect x='12.8' y='62.1' width='10' height='10' rx='1' fill='%23D8B24E' transform='rotate(5.6 18.0 66.0)'/%3E%3Crect x='24.2' y='61.5' width='10' height='10' rx='1' fill='%23D8B24E' transform='rotate(-5.8 30.0 66.0)'/%3E%3Crect x='37.0' y='60.8' width='10' height='10' rx='1' fill='%23D8B24E' transform='rotate(-0.7 42.0 66.0)'/%3E%3Crect x='50.1' y='61.7' width='10' height='10' rx='1' fill='%23EBD08A' transform='rotate(-3.4 54.0 66.0)'/%3E%3Crect x='61.1' y='59.9' width='10' height='10' rx='1' fill='%23CFA845' transform='rotate(-0.6 66.0 66.0)'/%3E%3Crect x='72.6' y='61.3' width='10' height='10' rx='1' fill='%23A97F22' transform='rotate(0.9 78.0 66.0)'/%3E%3Crect x='84.1' y='60.3' width='10' height='10' rx='1' fill='%23C8A13A' transform='rotate(2.8 90.0 66.0)'/%3E%3Crect x='1.9' y='72.5' width='10' height='10' rx='1' fill='%23C8A13A' transform='rotate(-2.3 6.0 78.0)'/%3E%3Crect x='12.8' y='72.4' width='10' height='10' rx='1' fill='%23E6C66A' transform='rotate(2.9 18.0 78.0)'/%3E%3Crect x='25.8' y='73.2' width='10' height='10' rx='1' fill='%23C8A13A' transform='rotate(0.7 30.0 78.0)'/%3E%3Crect x='37.2' y='72.2' width='10' height='10' rx='1' fill='%23D8B24E' transform='rotate(5.5 42.0 78.0)'/%3E%3Crect x='49.7' y='73.3' width='10' height='10' rx='1' fill='%23EBD08A' transform='rotate(4.4 54.0 78.0)'/%3E%3Crect x='60.6' y='72.3' width='10' height='10' rx='1' fill='%23C8A13A' transform='rotate(-1.5 66.0 78.0)'/%3E%3Crect x='73.2' y='73.0' width='10' height='10' rx='1' fill='%23A97F22' transform='rotate(4.8 78.0 78.0)'/%3E%3Crect x='85.0' y='71.8' width='10' height='10' rx='1' fill='%23A97F22' transform='rotate(-1.3 90.0 78.0)'/%3E%3Crect x='2.0' y='83.8' width='10' height='10' rx='1' fill='%23CFA845' transform='rotate(4.5 6.0 90.0)'/%3E%3Crect x='13.7' y='85.2' width='10' height='10' rx='1' fill='%23D8B24E' transform='rotate(4.3 18.0 90.0)'/%3E%3Crect x='24.3' y='85.4' width='10' height='10' rx='1' fill='%23D8B24E' transform='rotate(-1.9 30.0 90.0)'/%3E%3Crect x='37.1' y='86.0' width='10' height='10' rx='1' fill='%23EBD08A' transform='rotate(-1.4 42.0 90.0)'/%3E%3Crect x='49.0' y='86.2' width='10' height='10' rx='1' fill='%23EBD08A' transform='rotate(2.2 54.0 90.0)'/%3E%3Crect x='59.9' y='84.1' width='10' height='10' rx='1' fill='%23D8B24E' transform='rotate(-5.2 66.0 90.0)'/%3E%3Crect x='72.3' y='85.6' width='10' height='10' rx='1' fill='%23D8B24E' transform='rotate(4.9 78.0 90.0)'/%3E%3Crect x='84.4' y='84.6' width='10' height='10' rx='1' fill='%23CFA845' transform='rotate(0.1 90.0 90.0)'/%3E%3C/svg%3E");
  --v-tess-smalto: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Crect width='120' height='120' fill='%23082F3A'/%3E%3Crect x='0.7' y='0.2' width='13' height='13' rx='1' fill='%230F5C6E' transform='rotate(-4.9 7.5 7.5)'/%3E%3Crect x='15.4' y='0.3' width='13' height='13' rx='1' fill='%23176E73' transform='rotate(4.2 22.5 7.5)'/%3E%3Crect x='30.2' y='0.8' width='13' height='13' rx='1' fill='%230F5C6E' transform='rotate(1.0 37.5 7.5)'/%3E%3Crect x='46.9' y='1.0' width='13' height='13' rx='1' fill='%2314707F' transform='rotate(3.6 52.5 7.5)'/%3E%3Crect x='60.9' y='0.4' width='13' height='13' rx='1' fill='%230C4F60' transform='rotate(0.5 67.5 7.5)'/%3E%3Crect x='75.7' y='2.0' width='13' height='13' rx='1' fill='%230F5C6E' transform='rotate(4.5 82.5 7.5)'/%3E%3Crect x='91.9' y='0.2' width='13' height='13' rx='1' fill='%2314707F' transform='rotate(-0.9 97.5 7.5)'/%3E%3Crect x='104.9' y='0.6' width='13' height='13' rx='1' fill='%2311687C' transform='rotate(-3.2 112.5 7.5)'/%3E%3Crect x='0.7' y='16.0' width='13' height='13' rx='1' fill='%2311687C' transform='rotate(0.1 7.5 22.5)'/%3E%3Crect x='16.9' y='16.7' width='13' height='13' rx='1' fill='%230A4655' transform='rotate(-3.8 22.5 22.5)'/%3E%3Crect x='32.0' y='15.7' width='13' height='13' rx='1' fill='%23176E73' transform='rotate(0.3 37.5 22.5)'/%3E%3Crect x='47.2' y='17.1' width='13' height='13' rx='1' fill='%230A4655' transform='rotate(-1.8 52.5 22.5)'/%3E%3Crect x='60.8' y='16.6' width='13' height='13' rx='1' fill='%2311687C' transform='rotate(5.5 67.5 22.5)'/%3E%3Crect x='76.0' y='17.0' width='13' height='13' rx='1' fill='%23176E73' transform='rotate(0.4 82.5 22.5)'/%3E%3Crect x='91.7' y='16.4' width='13' height='13' rx='1' fill='%230A4655' transform='rotate(0.2 97.5 22.5)'/%3E%3Crect x='105.9' y='16.2' width='13' height='13' rx='1' fill='%2314707F' transform='rotate(4.8 112.5 22.5)'/%3E%3Crect x='1.0' y='30.3' width='13' height='13' rx='1' fill='%230A4655' transform='rotate(2.7 7.5 37.5)'/%3E%3Crect x='16.8' y='31.9' width='13' height='13' rx='1' fill='%230C4F60' transform='rotate(3.8 22.5 37.5)'/%3E%3Crect x='32.0' y='30.5' width='13' height='13' rx='1' fill='%230A4655' transform='rotate(-2.8 37.5 37.5)'/%3E%3Crect x='46.1' y='31.0' width='13' height='13' rx='1' fill='%23176E73' transform='rotate(4.0 52.5 37.5)'/%3E%3Crect x='60.5' y='30.3' width='13' height='13' rx='1' fill='%230A4655' transform='rotate(1.1 67.5 37.5)'/%3E%3Crect x='76.4' y='31.9' width='13' height='13' rx='1' fill='%230A4655' transform='rotate(-1.6 82.5 37.5)'/%3E%3Crect x='92.0' y='30.3' width='13' height='13' rx='1' fill='%230C4F60' transform='rotate(2.7 97.5 37.5)'/%3E%3Crect x='106.2' y='29.9' width='13' height='13' rx='1' fill='%23176E73' transform='rotate(-4.7 112.5 37.5)'/%3E%3Crect x='1.9' y='45.1' width='13' height='13' rx='1' fill='%230A4655' transform='rotate(-3.3 7.5 52.5)'/%3E%3Crect x='15.4' y='46.8' width='13' height='13' rx='1' fill='%230A4655' transform='rotate(-4.4 22.5 52.5)'/%3E%3Crect x='31.5' y='44.9' width='13' height='13' rx='1' fill='%230F5C6E' transform='rotate(-0.9 37.5 52.5)'/%3E%3Crect x='45.4' y='44.9' width='13' height='13' rx='1' fill='%230C4F60' transform='rotate(-1.7 52.5 52.5)'/%3E%3Crect x='59.9' y='46.6' width='13' height='13' rx='1' fill='%230F5C6E' transform='rotate(5.5 67.5 52.5)'/%3E%3Crect x='75.1' y='47.0' width='13' height='13' rx='1' fill='%230F5C6E' transform='rotate(-1.5 82.5 52.5)'/%3E%3Crect x='91.5' y='45.7' width='13' height='13' rx='1' fill='%23176E73' transform='rotate(-3.8 97.5 52.5)'/%3E%3Crect x='105.4' y='47.1' width='13' height='13' rx='1' fill='%230F5C6E' transform='rotate(3.5 112.5 52.5)'/%3E%3Crect x='1.3' y='61.6' width='13' height='13' rx='1' fill='%230F5C6E' transform='rotate(-1.9 7.5 67.5)'/%3E%3Crect x='16.0' y='60.5' width='13' height='13' rx='1' fill='%230F5C6E' transform='rotate(-2.6 22.5 67.5)'/%3E%3Crect x='31.6' y='62.0' width='13' height='13' rx='1' fill='%230A4655' transform='rotate(3.2 37.5 67.5)'/%3E%3Crect x='46.5' y='60.9' width='13' height='13' rx='1' fill='%2314707F' transform='rotate(4.3 52.5 67.5)'/%3E%3Crect x='61.4' y='61.8' width='13' height='13' rx='1' fill='%2311687C' transform='rotate(-4.9 67.5 67.5)'/%3E%3Crect x='76.9' y='60.1' width='13' height='13' rx='1' fill='%230F5C6E' transform='rotate(-0.6 82.5 67.5)'/%3E%3Crect x='91.0' y='60.6' width='13' height='13' rx='1' fill='%230A4655' transform='rotate(3.4 97.5 67.5)'/%3E%3Crect x='106.3' y='60.8' width='13' height='13' rx='1' fill='%230C4F60' transform='rotate(-2.9 112.5 67.5)'/%3E%3Crect x='2.1' y='76.4' width='13' height='13' rx='1' fill='%230F5C6E' transform='rotate(2.4 7.5 82.5)'/%3E%3Crect x='15.2' y='75.0' width='13' height='13' rx='1' fill='%230C4F60' transform='rotate(-5.6 22.5 82.5)'/%3E%3Crect x='32.0' y='76.5' width='13' height='13' rx='1' fill='%23176E73' transform='rotate(-3.2 37.5 82.5)'/%3E%3Crect x='45.4' y='75.9' width='13' height='13' rx='1' fill='%230F5C6E' transform='rotate(5.9 52.5 82.5)'/%3E%3Crect x='60.3' y='76.7' width='13' height='13' rx='1' fill='%230C4F60' transform='rotate(-5.0 67.5 82.5)'/%3E%3Crect x='75.4' y='75.8' width='13' height='13' rx='1' fill='%230A4655' transform='rotate(2.5 82.5 82.5)'/%3E%3Crect x='90.2' y='75.7' width='13' height='13' rx='1' fill='%230A4655' transform='rotate(3.0 97.5 82.5)'/%3E%3Crect x='106.5' y='75.4' width='13' height='13' rx='1' fill='%2311687C' transform='rotate(-4.7 112.5 82.5)'/%3E%3Crect x='1.6' y='90.1' width='13' height='13' rx='1' fill='%230F5C6E' transform='rotate(-5.8 7.5 97.5)'/%3E%3Crect x='15.9' y='90.5' width='13' height='13' rx='1' fill='%230F5C6E' transform='rotate(0.2 22.5 97.5)'/%3E%3Crect x='31.4' y='91.6' width='13' height='13' rx='1' fill='%23176E73' transform='rotate(-1.4 37.5 97.5)'/%3E%3Crect x='45.8' y='91.0' width='13' height='13' rx='1' fill='%2311687C' transform='rotate(2.7 52.5 97.5)'/%3E%3Crect x='61.9' y='92.0' width='13' height='13' rx='1' fill='%230A4655' transform='rotate(1.1 67.5 97.5)'/%3E%3Crect x='75.0' y='91.7' width='13' height='13' rx='1' fill='%230A4655' transform='rotate(-3.8 82.5 97.5)'/%3E%3Crect x='92.1' y='90.1' width='13' height='13' rx='1' fill='%230C4F60' transform='rotate(-5.8 97.5 97.5)'/%3E%3Crect x='107.2' y='90.7' width='13' height='13' rx='1' fill='%230C4F60' transform='rotate(-2.5 112.5 97.5)'/%3E%3Crect x='0.8' y='105.1' width='13' height='13' rx='1' fill='%230F5C6E' transform='rotate(4.5 7.5 112.5)'/%3E%3Crect x='16.4' y='104.8' width='13' height='13' rx='1' fill='%2311687C' transform='rotate(4.1 22.5 112.5)'/%3E%3Crect x='31.3' y='105.9' width='13' height='13' rx='1' fill='%2314707F' transform='rotate(-5.3 37.5 112.5)'/%3E%3Crect x='44.8' y='104.9' width='13' height='13' rx='1' fill='%230A4655' transform='rotate(1.4 52.5 112.5)'/%3E%3Crect x='60.0' y='106.6' width='13' height='13' rx='1' fill='%230C4F60' transform='rotate(5.2 67.5 112.5)'/%3E%3Crect x='75.7' y='106.5' width='13' height='13' rx='1' fill='%2311687C' transform='rotate(-4.6 82.5 112.5)'/%3E%3Crect x='90.7' y='105.1' width='13' height='13' rx='1' fill='%2311687C' transform='rotate(3.0 97.5 112.5)'/%3E%3Crect x='106.3' y='105.6' width='13' height='13' rx='1' fill='%230F5C6E' transform='rotate(-4.5 112.5 112.5)'/%3E%3C/svg%3E");
  --v-tess-mix: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Crect width='120' height='120' fill='%23F5F0E6'/%3E%3Crect x='0.1' y='2.0' width='13' height='13' rx='1' fill='%230F5C6E' transform='rotate(1.1 7.5 7.5)'/%3E%3Crect x='15.0' y='-0.2' width='13' height='13' rx='1' fill='%23F5F0E6' transform='rotate(1.5 22.5 7.5)'/%3E%3Crect x='30.4' y='2.2' width='13' height='13' rx='1' fill='%23F5F0E6' transform='rotate(-2.9 37.5 7.5)'/%3E%3Crect x='46.1' y='0.8' width='13' height='13' rx='1' fill='%23F5F0E6' transform='rotate(0.5 52.5 7.5)'/%3E%3Crect x='60.2' y='2.0' width='13' height='13' rx='1' fill='%23E6C66A' transform='rotate(-3.2 67.5 7.5)'/%3E%3Crect x='76.4' y='-0.0' width='13' height='13' rx='1' fill='%238E2A4B' transform='rotate(2.9 82.5 7.5)'/%3E%3Crect x='89.9' y='1.9' width='13' height='13' rx='1' fill='%23C8A13A' transform='rotate(-2.4 97.5 7.5)'/%3E%3Crect x='107.0' y='0.7' width='13' height='13' rx='1' fill='%23F5F0E6' transform='rotate(1.1 112.5 7.5)'/%3E%3Crect x='1.7' y='15.9' width='13' height='13' rx='1' fill='%238E2A4B' transform='rotate(-1.3 7.5 22.5)'/%3E%3Crect x='15.0' y='15.1' width='13' height='13' rx='1' fill='%23E6C66A' transform='rotate(4.5 22.5 22.5)'/%3E%3Crect x='31.4' y='16.7' width='13' height='13' rx='1' fill='%230F5C6E' transform='rotate(-2.9 37.5 22.5)'/%3E%3Crect x='46.8' y='16.2' width='13' height='13' rx='1' fill='%2311687C' transform='rotate(-0.9 52.5 22.5)'/%3E%3Crect x='62.0' y='16.4' width='13' height='13' rx='1' fill='%238E2A4B' transform='rotate(1.0 67.5 22.5)'/%3E%3Crect x='77.2' y='16.4' width='13' height='13' rx='1' fill='%23C8A13A' transform='rotate(4.3 82.5 22.5)'/%3E%3Crect x='90.6' y='16.1' width='13' height='13' rx='1' fill='%23E6C66A' transform='rotate(2.4 97.5 22.5)'/%3E%3Crect x='105.3' y='16.8' width='13' height='13' rx='1' fill='%23D8B24E' transform='rotate(2.6 112.5 22.5)'/%3E%3Crect x='-0.0' y='31.8' width='13' height='13' rx='1' fill='%2311687C' transform='rotate(-2.6 7.5 37.5)'/%3E%3Crect x='16.7' y='30.8' width='13' height='13' rx='1' fill='%23F5F0E6' transform='rotate(-4.9 22.5 37.5)'/%3E%3Crect x='30.8' y='30.8' width='13' height='13' rx='1' fill='%23E6C66A' transform='rotate(-5.8 37.5 37.5)'/%3E%3Crect x='46.3' y='29.9' width='13' height='13' rx='1' fill='%23D8B24E' transform='rotate(-5.5 52.5 37.5)'/%3E%3Crect x='62.0' y='30.5' width='13' height='13' rx='1' fill='%237A1F3D' transform='rotate(0.6 67.5 37.5)'/%3E%3Crect x='75.5' y='30.0' width='13' height='13' rx='1' fill='%230F5C6E' transform='rotate(6.0 82.5 37.5)'/%3E%3Crect x='92.1' y='30.5' width='13' height='13' rx='1' fill='%23C8A13A' transform='rotate(5.4 97.5 37.5)'/%3E%3Crect x='104.9' y='31.9' width='13' height='13' rx='1' fill='%2311687C' transform='rotate(-4.1 112.5 37.5)'/%3E%3Crect x='0.1' y='46.9' width='13' height='13' rx='1' fill='%237A1F3D' transform='rotate(-1.7 7.5 52.5)'/%3E%3Crect x='16.0' y='46.3' width='13' height='13' rx='1' fill='%238E2A4B' transform='rotate(-0.5 22.5 52.5)'/%3E%3Crect x='32.1' y='46.0' width='13' height='13' rx='1' fill='%23D8B24E' transform='rotate(1.4 37.5 52.5)'/%3E%3Crect x='46.5' y='47.0' width='13' height='13' rx='1' fill='%238E2A4B' transform='rotate(1.6 52.5 52.5)'/%3E%3Crect x='61.1' y='46.1' width='13' height='13' rx='1' fill='%238E2A4B' transform='rotate(5.7 67.5 52.5)'/%3E%3Crect x='77.2' y='45.6' width='13' height='13' rx='1' fill='%23C8A13A' transform='rotate(3.5 82.5 52.5)'/%3E%3Crect x='91.3' y='44.9' width='13' height='13' rx='1' fill='%238E2A4B' transform='rotate(1.4 97.5 52.5)'/%3E%3Crect x='106.4' y='45.6' width='13' height='13' rx='1' fill='%237A1F3D' transform='rotate(-0.4 112.5 52.5)'/%3E%3Crect x='-0.1' y='59.9' width='13' height='13' rx='1' fill='%2311687C' transform='rotate(2.9 7.5 67.5)'/%3E%3Crect x='15.4' y='60.9' width='13' height='13' rx='1' fill='%23C8A13A' transform='rotate(5.6 22.5 67.5)'/%3E%3Crect x='30.2' y='61.6' width='13' height='13' rx='1' fill='%237A1F3D' transform='rotate(-3.9 37.5 67.5)'/%3E%3Crect x='45.7' y='61.7' width='13' height='13' rx='1' fill='%2311687C' transform='rotate(-2.4 52.5 67.5)'/%3E%3Crect x='61.4' y='60.1' width='13' height='13' rx='1' fill='%23C8A13A' transform='rotate(5.7 67.5 67.5)'/%3E%3Crect x='75.4' y='60.6' width='13' height='13' rx='1' fill='%230F5C6E' transform='rotate(1.8 82.5 67.5)'/%3E%3Crect x='90.0' y='61.2' width='13' height='13' rx='1' fill='%238E2A4B' transform='rotate(1.8 97.5 67.5)'/%3E%3Crect x='105.3' y='61.7' width='13' height='13' rx='1' fill='%237A1F3D' transform='rotate(2.1 112.5 67.5)'/%3E%3Crect x='1.6' y='75.3' width='13' height='13' rx='1' fill='%23E6C66A' transform='rotate(-5.0 7.5 82.5)'/%3E%3Crect x='16.7' y='74.9' width='13' height='13' rx='1' fill='%23F5F0E6' transform='rotate(-2.8 22.5 82.5)'/%3E%3Crect x='31.8' y='76.2' width='13' height='13' rx='1' fill='%230F5C6E' transform='rotate(-2.2 37.5 82.5)'/%3E%3Crect x='46.8' y='75.0' width='13' height='13' rx='1' fill='%2311687C' transform='rotate(-1.9 52.5 82.5)'/%3E%3Crect x='60.8' y='76.0' width='13' height='13' rx='1' fill='%237A1F3D' transform='rotate(1.1 67.5 82.5)'/%3E%3Crect x='76.3' y='75.5' width='13' height='13' rx='1' fill='%2311687C' transform='rotate(-0.4 82.5 82.5)'/%3E%3Crect x='90.8' y='75.3' width='13' height='13' rx='1' fill='%238E2A4B' transform='rotate(-5.6 97.5 82.5)'/%3E%3Crect x='106.9' y='77.2' width='13' height='13' rx='1' fill='%23F5F0E6' transform='rotate(5.3 112.5 82.5)'/%3E%3Crect x='2.2' y='91.5' width='13' height='13' rx='1' fill='%238E2A4B' transform='rotate(0.7 7.5 97.5)'/%3E%3Crect x='16.8' y='91.4' width='13' height='13' rx='1' fill='%23C8A13A' transform='rotate(2.9 22.5 97.5)'/%3E%3Crect x='31.9' y='91.9' width='13' height='13' rx='1' fill='%2311687C' transform='rotate(0.5 37.5 97.5)'/%3E%3Crect x='45.4' y='89.9' width='13' height='13' rx='1' fill='%2311687C' transform='rotate(-4.6 52.5 97.5)'/%3E%3Crect x='62.0' y='91.2' width='13' height='13' rx='1' fill='%230F5C6E' transform='rotate(4.8 67.5 97.5)'/%3E%3Crect x='75.1' y='91.0' width='13' height='13' rx='1' fill='%23C8A13A' transform='rotate(-0.2 82.5 97.5)'/%3E%3Crect x='91.1' y='90.8' width='13' height='13' rx='1' fill='%230F5C6E' transform='rotate(2.0 97.5 97.5)'/%3E%3Crect x='105.4' y='91.9' width='13' height='13' rx='1' fill='%23D8B24E' transform='rotate(-1.9 112.5 97.5)'/%3E%3Crect x='-0.1' y='105.3' width='13' height='13' rx='1' fill='%23F5F0E6' transform='rotate(3.7 7.5 112.5)'/%3E%3Crect x='16.8' y='105.2' width='13' height='13' rx='1' fill='%23D8B24E' transform='rotate(0.4 22.5 112.5)'/%3E%3Crect x='31.7' y='106.8' width='13' height='13' rx='1' fill='%2311687C' transform='rotate(5.1 37.5 112.5)'/%3E%3Crect x='46.2' y='105.8' width='13' height='13' rx='1' fill='%23C8A13A' transform='rotate(-0.1 52.5 112.5)'/%3E%3Crect x='61.3' y='106.0' width='13' height='13' rx='1' fill='%2311687C' transform='rotate(-3.0 67.5 112.5)'/%3E%3Crect x='76.7' y='104.8' width='13' height='13' rx='1' fill='%23C8A13A' transform='rotate(-0.3 82.5 112.5)'/%3E%3Crect x='89.9' y='104.9' width='13' height='13' rx='1' fill='%23C8A13A' transform='rotate(3.3 97.5 112.5)'/%3E%3Crect x='106.9' y='105.0' width='13' height='13' rx='1' fill='%23F5F0E6' transform='rotate(5.7 112.5 112.5)'/%3E%3C/svg%3E");
  --v-tess-strip: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='12'%3E%3Crect width='120' height='12' fill='transparent'/%3E%3Crect x='1.3' y='1.0' width='10' height='10' rx='1' fill='%23B98E2C' transform='rotate(-2.4 6.0 6.0)'/%3E%3Crect x='12.9' y='1.5' width='10' height='10' rx='1' fill='%23D8B24E' transform='rotate(-5.2 18.0 6.0)'/%3E%3Crect x='25.0' y='0.7' width='10' height='10' rx='1' fill='%23C8A13A' transform='rotate(-3.3 30.0 6.0)'/%3E%3Crect x='36.7' y='1.5' width='10' height='10' rx='1' fill='%23E6C66A' transform='rotate(3.9 42.0 6.0)'/%3E%3Crect x='49.4' y='1.4' width='10' height='10' rx='1' fill='%23C8A13A' transform='rotate(3.9 54.0 6.0)'/%3E%3Crect x='60.7' y='1.4' width='10' height='10' rx='1' fill='%23B98E2C' transform='rotate(-4.0 66.0 6.0)'/%3E%3Crect x='73.1' y='1.2' width='10' height='10' rx='1' fill='%23A97F22' transform='rotate(-5.0 78.0 6.0)'/%3E%3Crect x='84.7' y='0.7' width='10' height='10' rx='1' fill='%230F5C6E' transform='rotate(-3.0 90.0 6.0)'/%3E%3Crect x='96.4' y='0.8' width='10' height='10' rx='1' fill='%230F5C6E' transform='rotate(4.1 102.0 6.0)'/%3E%3Crect x='109.0' y='0.9' width='10' height='10' rx='1' fill='%23CFA845' transform='rotate(4.2 114.0 6.0)'/%3E%3C/svg%3E");

  --bs-body-font-family: var(--v-body);
  --bs-body-color: var(--v-ink);
  --bs-body-bg: var(--v-intonaco);
  --bs-primary: var(--v-smalto);
  --bs-primary-rgb: 15, 92, 110;
  --bs-warning: var(--v-oro);
  --bs-warning-rgb: 200, 161, 58;
  --bs-link-color: var(--v-smalto);
  --bs-link-color-rgb: 15, 92, 110;
  --bs-link-hover-color: var(--v-porpora);
  --bs-link-hover-color-rgb: 122, 31, 61;
  --bs-border-radius: 2px;
  --bs-border-radius-lg: 3px;
  --bs-focus-ring-color: rgba(200, 161, 58, 0.5);
}

html { scroll-behavior: smooth; scroll-padding-top: 96px; }

body {
  background-color: var(--v-intonaco);
  /* intonaco : grain de plâtre */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.45 0 0 0 0 0.36 0 0 0 0 0.18 0 0 0 0.07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  font-size: 1.12rem;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, .display-1 {
  font-family: var(--v-display);
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.05;
  color: var(--v-notte);
}

a, button { cursor: pointer; }
:focus-visible { outline: 3px solid var(--v-oro) !important; outline-offset: 3px; }
::selection { background: var(--v-oro-l); color: var(--v-notte); }

/* ---------- Kicker + filet en tesselles sur les H2 de section ---------- */
#Agenzia h2, #Servizi h2, #Prodotti h2, #Mission h2, #Contatti h2, #ChiSiamo h2 {
  position: relative;
  font-size: clamp(2.4rem, 4.4vw, 3.8rem);
  padding-top: 1.6rem;
}
#Agenzia h2::before, #Prodotti h2::before, #Mission h2::before, #ChiSiamo h2::before {
  /* 3 tesselles : or, porpora, smalto */
  content: '';
  position: absolute; top: 0; left: 0;
  width: 12px; height: 12px;
  background: var(--v-oro);
  transform: rotate(8deg);
  box-shadow: 17px 1px 0 var(--v-porpora), 34px -1px 0 var(--v-smalto);
}
#Prodotti h2::before { left: 50%; margin-left: -23px; }
#Agenzia h2::after, #Prodotti h2::after, #Mission h2::after, #ChiSiamo h2::after {
  content: '';
  display: block;
  width: 132px; height: 12px;
  margin-top: 1.1rem;
  background: var(--v-tess-strip) repeat-x;
}
#Prodotti h2::after { margin-inline: auto; }

/* ---------- Top-bar porpora ---------- */
#tessera-bar {
  background: var(--v-porpora);
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.06em;
  font-size: 0.98rem;
  border-bottom: 3px solid transparent;
  border-image: var(--v-tess-strip) 0 0 12 0 / 0 0 3px 0 repeat;
}
#tessera-bar a { color: #fff; transition: color 0.2s; }
#tessera-bar a:hover { color: var(--v-oro-l); }

/* ---------- Navbar ---------- */
#menu-principale {
  --bs-navbar-color: var(--v-notte);
  --bs-navbar-hover-color: var(--v-porpora);
  --bs-navbar-active-color: var(--v-porpora);
  background-color: rgba(245, 240, 230, 0.94) !important;
  backdrop-filter: blur(8px);
  box-shadow: 0 1px 0 rgba(8, 36, 46, 0.12), 0 10px 30px -20px rgba(8, 36, 46, 0.5);
}
#menu-principale .navbar-brand img { height: 56px; width: auto; }
#menu-principale .nav-link {
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 0.9rem;
  position: relative;
}
#menu-principale .nav-link::after {
  content: '';
  position: absolute; left: 50%; bottom: 2px;
  width: 8px; height: 8px;
  background: var(--v-oro);
  transform: translateX(-50%) rotate(45deg) scale(0);
  transition: transform 0.3s var(--v-ease);
}
#menu-principale .nav-link:hover::after, #menu-principale .nav-link:focus-visible::after { transform: translateX(-50%) rotate(45deg) scale(1); }

/* ---------- Boutons ---------- */
.btn {
  --bs-btn-font-weight: 700;
  --bs-btn-border-radius: 2px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.95rem;
  transition: transform 0.25s var(--v-ease), box-shadow 0.25s var(--v-ease), background-color 0.2s, color 0.2s;
}
.btn-lg { --bs-btn-padding-y: 0.9rem; --bs-btn-padding-x: 1.6rem; --bs-btn-font-size: 0.98rem; }
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(1px); }
.btn-primary {
  --bs-btn-bg: var(--v-smalto); --bs-btn-border-color: var(--v-smalto); --bs-btn-color: #fff;
  --bs-btn-hover-bg: var(--v-porpora); --bs-btn-hover-border-color: var(--v-porpora); --bs-btn-hover-color: #fff;
  --bs-btn-active-bg: var(--v-porpora-d); --bs-btn-active-border-color: var(--v-porpora-d);
  box-shadow: 0 6px 0 -2px var(--v-oro);
}
.btn-warning {
  --bs-btn-bg: var(--v-oro); --bs-btn-border-color: var(--v-oro); --bs-btn-color: var(--v-notte);
  --bs-btn-hover-bg: var(--v-oro-l); --bs-btn-hover-border-color: var(--v-oro-l); --bs-btn-hover-color: var(--v-notte);
  --bs-btn-active-bg: var(--v-oro-d); --bs-btn-active-border-color: var(--v-oro-d);
  background-image: linear-gradient(135deg, rgba(255, 255, 255, 0.28), transparent 55%);
}
.btn-outline-light { --bs-btn-hover-color: var(--v-notte); --bs-btn-border-width: 2px; }
.btn-light { --bs-btn-bg: var(--v-intonaco); --bs-btn-border-color: var(--v-oro); --bs-btn-color: var(--v-notte); }

/* ---------- HERO split : panneau en mosaïque smalto + photo à bord en escalier ---------- */
#Home { background: var(--v-notte); }
#hero-tessere {
  position: relative;
  color: #fff;
  background: var(--v-tess-smalto);
  background-size: 60px 60px;
  min-height: 460px;
  isolation: isolate;
}
#hero-tessere::before {
  /* voile pour la lisibilité, plus dense à gauche */
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(100deg, rgba(8, 36, 46, 0.92) 0%, rgba(8, 36, 46, 0.78) 60%, rgba(8, 36, 46, 0.45) 100%);
  z-index: -1;
}
#hero-tessere::after {
  /* cartouche d'or : coin de tesselles dorées */
  content: '';
  position: absolute; right: 0; bottom: 0;
  width: 132px; height: 132px;
  background: var(--v-tess-gold);
  background-size: 48px 48px;
  clip-path: polygon(100% 0, 100% 100%, 0 100%, 0 82%, 18% 82%, 18% 64%, 36% 64%, 36% 46%, 55% 46%, 55% 28%, 73% 28%, 73% 9%, 91% 9%, 91% 0);
  z-index: -1;
  opacity: 0.95;
}
#hero-tessere h1 {
  color: #fff;
  font-size: clamp(3rem, 5.6vw, 5.4rem);
  line-height: 0.98;
  text-shadow: 0 2px 30px rgba(0, 0, 0, 0.35);
}
#hero-tessere h1::before {
  content: '';
  display: block;
  width: 168px; height: 12px;
  margin-bottom: 1.6rem;
  background: var(--v-tess-strip) repeat-x;
}
#hero-tessere p {
  font-family: var(--v-display);
  color: var(--v-oro-l);
  letter-spacing: 0.18em;
  text-transform: uppercase;
}
#hero-foto { min-height: 340px; }
@media (min-width: 992px) {
  #hero-foto { min-height: 640px; }
  #hero-foto img {
    /* bord gauche en escalier de tesselles */
    clip-path: polygon(6% 0, 100% 0, 100% 100%, 0 100%, 0 88%, 2% 88%, 2% 76%, 0 76%, 0 64%, 3% 64%, 3% 52%, 1% 52%, 1% 40%, 4% 40%, 4% 28%, 2% 28%, 2% 16%, 5% 16%, 5% 6%, 6% 6%);
  }
}
#hero-foto img { filter: saturate(1.05) contrast(1.05); }
#hero-foto::after {
  /* tesselles dorées dispersées le long du bord */
  content: '';
  position: absolute; top: 18%; left: 0;
  width: 18px; height: 18px;
  background: var(--v-oro);
  transform: rotate(10deg);
  box-shadow: 22px 70px 0 -3px var(--v-oro-l), -4px 150px 0 -2px var(--v-porpora), 26px 230px 0 -5px var(--v-oro), 6px 300px 0 -1px var(--v-oro-l);
  animation: v-float 7s ease-in-out infinite;
}

/* ---------- L′AGENZIA ---------- */
#Agenzia .lead { font-size: 1.3rem; }
#Agenzia .lead a { text-decoration-color: var(--v-oro); text-underline-offset: 4px; }
#Agenzia figure { padding: 14px; background: var(--v-tess-mix); background-size: 60px 60px; box-shadow: 0 30px 60px -30px rgba(8, 36, 46, 0.55); }
#Agenzia figure img { transition: transform 1.1s var(--v-ease); }
#Agenzia figure:hover img { transform: scale(1.04); }

/* ---------- SERVIZI ---------- */
#Servizi { background: var(--v-notte); }
#Servizi > img { filter: grayscale(0.3) brightness(0.6); }
#Servizi::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(90deg, rgba(8, 36, 46, 0.2), rgba(8, 36, 46, 0.75));
}
#Servizi .card {
  background: rgba(245, 240, 230, 0.97);
  border: 14px solid transparent !important;
  border-image: var(--v-tess-gold) 24 round !important;
  box-shadow: 0 40px 80px -30px rgba(0, 0, 0, 0.6);
}
#Servizi .card img { height: 72px; width: auto; }
#Servizi h2 { padding-top: 0; color: var(--v-porpora); }
#Servizi .fw-bold { font-weight: 500 !important; font-size: 1.18rem; line-height: 1.8; color: var(--v-ink); }

/* ---------- PRODOTTI : bento de tesselles ---------- */
@media (min-width: 992px) {
  #bento-prodotti {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr;
    grid-auto-rows: 240px;
    gap: 14px;
    margin: 0 !important;
  }
  #bento-prodotti > li { width: auto; padding: 0; margin: 0; }
  #bento-prodotti > li:nth-child(1) { grid-row: span 2; }
  #bento-prodotti > li:nth-child(6) { grid-column: span 3; }
}
#bento-prodotti .card { min-height: 240px; background: var(--v-notte); }
#bento-prodotti .card img { transition: transform 0.9s var(--v-ease), filter 0.4s; filter: saturate(0.9); }
#bento-prodotti .card::before {
  /* voile dégradé */
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 35%, rgba(8, 36, 46, 0.9) 100%);
  z-index: 1;
}
#bento-prodotti .card::after {
  /* mosaïque qui se révèle au survol, depuis le coin */
  content: '';
  position: absolute; inset: 0;
  background: var(--v-tess-mix);
  background-size: 60px 60px;
  mix-blend-mode: soft-light;
  opacity: 0;
  clip-path: circle(0% at 100% 100%);
  transition: clip-path 0.7s var(--v-ease), opacity 0.4s;
  z-index: 1;
}
#bento-prodotti .card-img-overlay { z-index: 2; }
#bento-prodotti .card:hover img { transform: scale(1.07); filter: saturate(1.1); }
#bento-prodotti .card:hover::after { opacity: 1; clip-path: circle(150% at 100% 100%); }
#bento-prodotti .bi {
  width: 50px; height: 50px;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 1.4rem;
  background: var(--v-oro);
  color: var(--v-notte);
  transform: rotate(-6deg);
  box-shadow: 6px 6px 0 var(--v-porpora);
  transition: transform 0.4s var(--v-ease);
}
#bento-prodotti .card:hover .bi { transform: rotate(4deg) scale(1.08); }
#bento-prodotti h3 { color: #fff; font-size: clamp(1.6rem, 2.2vw, 2.1rem); }
#bento-prodotti > li:nth-child(6) .card img { object-position: center 60%; }
#bento-prodotti > li:nth-child(1) h3 { font-size: clamp(2rem, 3vw, 2.9rem); }
#bento-prodotti .card { outline: 1px solid rgba(200, 161, 58, 0.35); outline-offset: -8px; }

/* ---------- MISSION ---------- */
#Mission { background: linear-gradient(180deg, var(--v-intonaco-2), var(--v-intonaco)); position: relative; overflow: hidden; }
#Mission::before {
  /* filigrane de tesselles */
  content: '';
  position: absolute; left: -60px; bottom: -60px;
  width: 300px; height: 300px;
  background: var(--v-tess-mix);
  background-size: 60px 60px;
  opacity: 0.18;
  transform: rotate(45deg);
}
#Mission .container { position: relative; }
#Mission .blockquote { font-size: 1.25rem; line-height: 1.8; border-left: 4px solid var(--v-porpora); padding-left: 1.5rem; }
#Mission .ratio { box-shadow: -18px 18px 0 var(--v-smalto), -18px 18px 0 2px var(--v-oro); }
#Mission .ratio img { transition: transform 1.1s var(--v-ease); }
#Mission .ratio:hover img { transform: scale(1.04); }

/* ---------- CONTATTACI ---------- */
#Contatti { background: var(--v-smalto); position: relative; }
#Contatti::before {
  content: '';
  position: absolute; inset: 0;
  background: var(--v-tess-smalto);
  background-size: 60px 60px;
  opacity: 0.5;
}
#Contatti .container { position: relative; }
#Contatti .card { background: var(--v-intonaco); box-shadow: 0 40px 90px -40px rgba(0, 0, 0, 0.7); }
#Contatti .card::before {
  content: '';
  position: absolute; left: 0; right: 0; top: 0;
  height: 12px;
  background: var(--v-tess-strip) repeat-x;
}
#Contatti h2 { padding-top: 0; color: var(--v-smalto); }
#Contatti h2 span { color: var(--v-oro); }
#Contatti .form-control {
  background-color: #fff;
  border: 1px solid rgba(8, 36, 46, 0.2);
  border-bottom: 3px solid var(--v-oro);
  box-shadow: inset 0 2px 4px rgba(8, 36, 46, 0.06);
  font-size: 1.08rem;
  transition: border-color 0.2s, box-shadow 0.2s;
}
#Contatti .form-control:focus { border-color: var(--v-smalto); box-shadow: 0 0 0 4px rgba(15, 92, 110, 0.15); }
#Contatti .form-check-input:checked { background-color: var(--v-porpora); border-color: var(--v-porpora); }

/* ---------- SEDE (bloc SEO affiché en bas) ---------- */
#ChiSiamo { background: var(--v-intonaco); }
#ChiSiamo h2 { font-size: clamp(2rem, 3.4vw, 2.8rem); }
#ChiSiamo address { font-size: 1.15rem; line-height: 1.9; }
#mappa { min-height: 340px; border: 10px solid transparent; border-image: var(--v-tess-gold) 24 round; }
#mappa img { transition: transform 1s var(--v-ease); filter: sepia(0.25) saturate(0.85); }
#mappa:hover img { transform: scale(1.03); filter: none; }

/* ---------- FOOTER ---------- */
#pie-di-pagina {
  background: var(--v-notte);
  color: rgba(255, 255, 255, 0.78);
  position: relative;
}
#pie-di-pagina::before {
  content: '';
  position: absolute; left: 0; right: 0; top: 0;
  height: 12px;
  background: var(--v-tess-strip) repeat-x;
}
#pie-di-pagina img { height: 60px; width: auto; }
#pie-di-pagina .nav-link { color: rgba(255, 255, 255, 0.85); text-transform: uppercase; letter-spacing: 0.1em; font-size: 0.88rem; font-weight: 700; }
#pie-di-pagina .nav-link:hover { color: var(--v-oro-l); }

/* ---------- 404 ---------- */
#vuoto .display-1 { color: var(--v-porpora); font-size: clamp(6rem, 20vw, 14rem); }

/* ---------- Animations ---------- */
@keyframes v-float { 0%, 100% { transform: rotate(10deg) translateY(0); } 50% { transform: rotate(16deg) translateY(-10px); } }

@media (max-width: 991.98px) {
  #hero-tessere { min-height: 0; }
  #menu-principale .navbar-brand img { height: 44px; }
  #Mission .ratio { box-shadow: -10px 10px 0 var(--v-smalto); margin-left: 10px; }
  #hero-foto::after { display: none; }
}
@media (max-width: 575.98px) {
  #menu-principale .navbar-brand img { height: 36px; }
  #Servizi .card { border-width: 8px !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
