/* =====================================================================
   AM Service — v3 "Scheda tecnica d'officina"
   base carta calda · grafite · giallo solo per azioni ed evidenze
   colori di famiglia per orientarsi tra i servizi · curve di livello dell'Amiata come firma
   ===================================================================== */

:root{
  --contour-svg:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 800' preserveAspectRatio='xMidYMid slice' fill='none' stroke='%23000' stroke-width='1.2'><path d='M878 300L880 302L881 304L882 306L881 307L880 309L879 311L878 313L876 314L875 316L873 317L871 319L869 320L867 321L864 322L861 323L857 323L854 324L850 324L847 324L844 324L842 324L839 325L837 325L835 327L833 328L831 329L828 330L826 331L823 331L820 331L817 330L814 330L812 329L809 329L807 328L804 328L801 328L798 328L795 328L792 328L789 327L786 326L784 325L782 324L780 323L778 321L776 320L773 319L771 318L768 317L765 316L763 314L761 313L760 311L759 309L760 307L761 305L763 303L766 302L768 300L770 299L772 297L773 296L774 294L774 293L774 292L775 290L776 289L776 287L778 286L779 285L780 284L781 282L782 281L783 279L784 277L784 275L786 273L787 271L789 270L792 268L794 268L798 267L801 267L805 268L808 268L811 268L814 269L817 269L820 268L823 268L826 268L829 268L832 268L835 268L838 269L840 270L843 271L845 272L847 274L849 275L851 276L853 277L856 278L858 279L860 280L861 281L862 283L863 284L863 286L863 288L863 289L864 291L864 292L866 293L868 294L870 296L873 297L876 298Z'/><path d='M939 300L940 304L941 307L940 311L939 314L938 318L937 321L936 325L934 329L932 332L929 336L925 338L919 341L913 343L906 344L898 344L890 344L883 344L876 344L871 344L866 345L862 347L859 349L855 351L851 354L847 356L842 358L837 359L831 360L826 360L820 360L814 360L809 360L803 360L797 361L791 361L785 361L778 361L772 361L767 359L761 357L757 355L753 352L749 349L745 347L742 344L737 342L732 340L726 338L721 337L715 334L710 332L706 329L704 325L704 321L705 317L707 314L710 310L713 306L716 303L718 300L720 297L721 294L722 291L724 288L725 286L727 283L730 280L733 278L736 276L738 273L740 271L741 268L742 264L742 260L742 256L743 251L744 247L747 243L751 240L756 237L762 236L769 235L776 235L783 235L789 236L796 236L802 236L808 236L814 235L820 235L826 235L832 236L838 237L843 239L848 241L853 243L857 245L862 247L867 248L872 250L877 251L882 251L888 253L893 254L897 256L901 259L903 262L905 265L905 269L906 272L906 275L908 278L910 280L913 283L918 285L923 288L928 290L932 293L936 297Z'/><path d='M995 300L995 305L995 310L995 316L996 321L996 327L997 332L996 338L994 344L990 349L984 353L975 357L965 359L953 361L941 362L930 362L919 362L910 363L902 364L896 366L890 369L885 372L879 375L873 378L866 381L859 383L852 384L844 386L836 387L828 388L820 390L811 392L803 394L793 396L783 398L773 399L763 399L754 397L746 395L738 391L732 386L726 382L721 377L715 373L709 369L702 366L695 364L687 361L678 358L671 355L665 351L660 346L658 341L657 335L658 330L659 324L661 319L663 314L664 309L664 305L664 300L665 295L666 291L669 286L672 282L677 278L682 275L687 271L692 268L695 264L697 260L698 255L697 250L696 243L696 237L696 230L698 223L702 218L708 213L716 209L725 207L734 205L744 204L754 203L764 203L774 202L783 201L792 201L802 201L811 201L820 203L829 205L837 208L845 212L852 215L859 218L865 221L872 223L880 224L888 224L897 224L906 225L915 226L924 228L931 231L936 234L940 239L943 243L946 248L948 253L951 257L955 261L960 265L966 268L972 272L979 276L984 280L989 285L992 290L994 295Z'/><path d='M1046 300L1047 307L1049 314L1052 321L1055 328L1057 336L1058 344L1056 351L1050 358L1042 364L1030 369L1017 372L1002 375L987 377L973 378L961 380L950 382L941 384L932 387L924 391L916 394L908 398L899 400L890 403L880 405L870 407L861 409L851 411L841 415L831 419L820 424L808 430L795 434L782 437L768 439L754 438L742 436L731 432L721 426L712 420L704 414L696 408L688 403L679 398L670 394L660 390L651 386L642 382L634 376L628 370L624 364L622 357L620 350L620 343L619 337L617 331L614 325L611 319L608 313L606 306L605 300L607 294L610 288L616 282L624 276L631 271L639 267L644 262L648 257L649 251L648 244L647 236L645 228L644 220L646 211L649 203L655 196L663 191L673 186L684 182L696 178L708 175L720 173L732 170L744 168L756 166L769 165L782 165L795 167L808 171L820 175L831 181L841 186L850 191L859 195L868 198L878 199L889 199L900 198L912 198L924 198L936 199L947 201L957 204L965 209L972 214L978 219L984 225L991 230L998 235L1006 239L1014 244L1023 249L1031 254L1038 260L1043 266L1046 273L1047 280L1047 287L1046 293Z'/><path d='M1098 300L1102 308L1107 317L1112 326L1115 335L1115 345L1112 354L1105 362L1095 369L1081 375L1066 380L1050 385L1035 388L1021 392L1009 396L998 400L987 405L977 409L966 413L954 417L942 420L930 422L917 423L905 425L893 427L882 431L871 435L860 442L848 450L835 458L820 465L804 472L787 476L770 478L753 478L737 474L723 469L710 463L697 456L686 449L674 443L663 437L651 431L640 426L629 420L619 414L610 407L604 399L600 390L597 382L595 373L593 366L589 358L584 351L577 345L569 338L561 331L553 324L548 316L546 308L547 300L552 292L559 284L567 277L576 271L583 264L588 257L591 250L591 242L590 234L589 224L588 215L589 205L593 196L599 188L608 180L618 173L630 167L642 161L654 156L667 150L679 144L693 139L707 134L723 131L739 130L756 131L774 134L790 140L806 146L820 154L833 161L845 166L856 171L868 173L880 173L893 173L907 172L921 171L936 171L950 173L963 175L975 179L986 184L997 189L1008 194L1020 198L1032 203L1046 207L1059 212L1072 218L1083 224L1092 231L1098 240L1101 248L1101 257L1100 266L1098 275L1096 284L1096 292Z'/><path d='M1157 300L1162 310L1166 321L1168 331L1166 342L1161 352L1151 361L1139 369L1126 377L1111 384L1098 391L1085 397L1074 404L1063 411L1053 418L1041 425L1029 431L1014 436L998 439L982 441L965 442L949 443L934 445L921 448L908 454L896 461L884 470L871 480L855 491L839 500L820 508L800 512L780 514L760 513L741 510L723 505L705 500L689 493L672 487L656 482L641 476L626 469L612 462L601 453L591 444L585 433L581 422L579 411L577 400L574 390L570 382L563 374L553 367L541 361L527 354L514 346L503 338L495 329L491 320L492 310L496 300L502 291L509 282L515 273L520 264L522 255L523 245L522 235L522 225L522 214L525 204L531 194L539 185L550 176L561 168L574 161L586 153L598 145L610 136L622 127L635 118L649 110L665 104L684 99L704 98L725 100L746 104L767 111L786 119L804 127L820 134L835 139L849 143L864 144L878 144L894 144L910 144L926 144L941 146L957 148L971 152L986 155L1001 159L1017 163L1034 166L1052 169L1072 172L1092 175L1112 180L1129 187L1143 195L1152 204L1157 215L1158 227L1156 238L1153 250L1150 260L1148 271L1149 280L1152 290Z'/><path d='M1218 300L1218 312L1215 323L1209 335L1200 346L1188 356L1176 365L1164 375L1153 384L1144 393L1137 404L1130 414L1123 424L1113 434L1101 443L1086 450L1068 456L1048 459L1027 461L1007 463L988 465L971 468L956 473L942 480L929 490L915 501L900 512L882 523L863 533L842 539L820 544L797 545L775 545L752 542L730 539L708 536L687 532L665 528L644 523L624 518L606 510L590 500L578 488L570 475L565 460L562 446L561 432L559 419L555 409L548 400L537 392L523 386L506 379L489 372L473 364L460 355L451 344L446 334L444 322L444 311L446 300L448 289L448 278L447 267L445 255L443 243L442 231L444 218L449 206L457 195L469 185L483 176L499 168L514 160L528 151L540 142L552 132L563 120L574 108L587 97L602 87L621 79L642 74L666 73L691 75L715 79L739 85L762 92L783 99L802 104L820 107L838 110L855 111L873 112L890 113L908 114L925 117L942 121L958 125L974 129L991 132L1010 134L1032 135L1055 136L1081 136L1108 137L1134 140L1159 145L1179 152L1195 162L1205 174L1210 188L1211 202L1210 215L1207 229L1205 242L1205 254L1207 265L1211 277L1215 288Z'/><path d='M1267 300L1257 313L1245 325L1231 337L1218 348L1207 359L1198 370L1193 381L1191 393L1189 406L1187 420L1183 433L1175 446L1162 457L1145 466L1125 472L1102 477L1079 481L1057 484L1036 488L1018 494L1002 502L986 511L971 522L954 534L936 545L916 554L893 562L870 567L845 570L820 571L795 571L770 571L744 571L718 571L692 571L665 569L639 566L615 560L594 551L577 538L564 523L555 506L550 489L547 471L545 456L541 442L534 431L523 422L509 414L492 407L474 400L456 392L440 383L427 372L417 361L409 349L404 337L398 325L392 313L385 300L377 287L368 273L360 259L355 244L355 230L360 215L370 202L385 191L404 180L424 171L444 162L462 153L477 143L490 132L501 120L512 107L524 93L538 81L556 70L577 62L601 57L628 56L655 57L682 60L708 63L732 67L755 69L777 71L799 72L820 72L841 73L862 75L882 78L901 83L920 89L938 95L955 101L974 105L994 107L1017 107L1044 105L1073 103L1105 101L1137 101L1168 103L1196 109L1219 117L1236 129L1248 143L1256 158L1259 173L1261 189L1263 204L1265 218L1268 232L1272 246L1274 259L1275 273L1273 287Z'/><path d='M1295 300L1276 314L1259 326L1246 338L1237 350L1233 363L1234 376L1238 391L1241 406L1243 422L1241 437L1233 452L1221 465L1203 475L1182 484L1159 492L1136 499L1115 506L1095 514L1077 524L1060 535L1042 547L1023 558L1002 569L979 578L955 584L928 588L901 591L874 592L847 593L820 594L792 597L764 601L735 604L705 607L674 608L644 606L617 599L593 589L573 574L558 557L547 538L540 518L533 500L527 484L519 470L508 459L494 449L477 441L460 432L442 423L427 413L413 403L401 391L391 379L380 367L369 354L355 342L339 329L321 315L303 300L286 284L273 267L266 250L267 234L275 217L291 203L312 190L335 178L359 167L382 157L402 146L418 135L432 122L445 109L458 95L473 82L491 70L512 60L537 54L564 49L592 47L620 46L647 45L673 44L698 42L722 40L746 37L771 34L795 33L820 34L844 37L868 43L890 50L911 59L931 66L951 72L972 76L996 76L1023 74L1054 71L1087 67L1123 65L1158 64L1191 67L1220 74L1245 84L1264 97L1280 111L1292 127L1301 143L1310 159L1319 174L1327 190L1334 206L1338 221L1339 238L1335 254L1326 270L1312 285Z'/><path d='M1310 300L1292 314L1279 327L1274 341L1274 355L1279 370L1286 386L1292 402L1295 420L1293 436L1285 452L1273 466L1256 479L1238 491L1219 503L1200 515L1183 528L1166 541L1149 556L1130 570L1110 584L1086 595L1059 604L1030 610L999 612L968 613L938 613L908 613L878 614L849 617L820 623L790 629L758 635L725 640L692 642L659 639L629 632L603 620L580 604L562 587L547 568L534 549L521 533L508 518L493 505L477 494L460 483L443 473L426 462L412 450L400 437L390 424L380 411L368 398L354 386L336 373L313 361L287 348L258 333L231 317L208 300L191 281L183 262L185 243L196 225L215 208L238 193L263 179L288 166L311 153L331 140L348 127L365 113L381 99L400 86L421 74L445 65L472 57L501 52L530 48L559 44L586 40L611 35L635 28L659 20L683 11L708 3L735 -3L763 -6L792 -5L820 -1L847 7L873 15L897 24L921 32L945 37L970 39L998 38L1028 35L1062 31L1098 28L1134 27L1169 28L1202 34L1231 42L1256 53L1279 66L1299 81L1318 95L1336 110L1354 126L1371 141L1386 157L1397 175L1402 193L1400 212L1391 231L1375 250L1354 268L1332 285Z'/><path d='M1333 300L1324 315L1321 330L1324 345L1330 361L1336 378L1341 396L1341 413L1337 430L1329 447L1318 463L1305 478L1293 494L1281 511L1270 529L1259 548L1246 568L1231 587L1211 604L1186 619L1157 630L1123 637L1087 640L1050 639L1014 638L979 636L946 636L915 638L884 643L852 649L820 657L786 663L752 668L717 668L683 664L652 655L623 643L597 628L574 612L553 597L532 582L511 569L490 557L468 546L446 535L426 523L408 510L394 495L383 480L374 464L366 448L357 433L343 420L325 408L299 396L268 384L233 371L198 356L165 339L139 320L121 300L113 279L116 258L127 238L144 219L165 201L188 184L209 167L230 151L249 135L268 120L289 105L312 91L339 80L369 70L401 63L435 58L468 54L498 50L526 44L551 36L573 26L594 13L616 -1L639 -14L666 -26L694 -35L725 -39L757 -39L789 -35L820 -29L850 -21L878 -14L907 -9L935 -7L965 -7L997 -9L1032 -12L1067 -14L1103 -14L1138 -12L1172 -6L1202 2L1231 13L1257 25L1283 38L1309 51L1336 64L1364 77L1391 90L1416 105L1437 122L1451 141L1456 162L1452 184L1439 206L1419 228L1395 248L1371 267L1349 284Z'/><path d='M1383 300L1382 317L1385 334L1388 351L1390 368L1388 386L1383 403L1376 421L1367 438L1359 455L1353 474L1349 494L1346 516L1344 540L1340 565L1332 590L1318 613L1297 633L1268 648L1232 659L1192 665L1150 667L1108 666L1067 664L1028 663L992 664L958 667L924 672L890 678L856 684L820 688L784 689L748 686L714 680L681 670L650 658L621 646L593 635L565 624L536 616L506 608L476 600L447 591L420 580L396 566L378 550L365 532L355 513L347 494L339 477L328 461L310 447L286 435L254 423L218 411L179 397L141 382L109 364L83 344L67 322L60 300L62 278L70 255L82 234L96 213L111 193L126 172L141 153L159 134L181 116L207 100L239 87L276 77L316 69L358 65L397 61L433 57L464 52L490 43L512 32L531 17L550 0L570 -18L593 -34L620 -48L650 -59L683 -65L717 -67L752 -65L786 -63L820 -60L853 -58L886 -57L921 -59L956 -62L992 -64L1030 -65L1067 -64L1103 -59L1136 -51L1167 -40L1196 -27L1224 -14L1252 -2L1281 10L1313 21L1347 32L1383 42L1417 55L1448 69L1473 87L1488 107L1494 130L1489 155L1476 180L1456 204L1435 226L1415 247L1398 266L1387 283Z'/><path d='M1455 300L1455 319L1453 338L1446 356L1437 374L1425 392L1415 409L1406 427L1402 447L1403 468L1408 492L1416 519L1422 547L1424 576L1419 605L1405 631L1381 652L1348 669L1308 680L1264 687L1218 690L1172 691L1128 692L1087 693L1048 696L1010 701L972 705L935 709L896 711L858 710L820 706L783 698L748 688L714 678L682 668L649 660L616 655L581 651L545 649L507 647L470 643L434 636L402 625L376 610L356 592L340 571L329 550L318 530L305 511L288 495L265 481L235 469L200 456L162 443L125 428L91 411L63 391L42 370L30 347L24 324L23 300L25 276L28 253L31 229L35 206L42 182L52 159L69 137L94 117L127 100L168 87L214 77L263 71L310 67L354 63L392 58L422 50L447 39L466 25L484 7L502 -12L522 -31L546 -48L574 -63L605 -74L639 -82L675 -87L711 -91L747 -94L783 -99L820 -105L858 -111L898 -118L938 -122L980 -124L1020 -122L1059 -116L1095 -105L1128 -91L1158 -75L1186 -58L1214 -43L1244 -30L1278 -20L1314 -10L1353 -2L1393 8L1431 20L1464 35L1490 54L1505 76L1511 101L1509 127L1500 152L1487 177L1474 201L1464 223L1457 243L1454 262L1454 281Z'/><path d='M1531 300L1521 321L1506 341L1489 360L1473 378L1461 397L1454 417L1456 438L1464 462L1476 489L1490 519L1500 550L1505 581L1500 611L1484 638L1457 661L1422 678L1381 692L1335 701L1289 708L1243 715L1199 721L1156 727L1114 733L1072 738L1029 741L986 741L942 737L900 729L859 718L820 706L784 694L749 684L714 677L679 674L642 675L603 678L560 682L517 685L474 684L434 678L398 667L368 652L343 633L323 612L304 592L286 572L264 555L238 539L208 525L174 511L138 497L103 481L71 463L46 442L26 420L13 397L5 373L0 349L-6 324L-12 300L-20 275L-28 250L-35 223L-36 197L-30 171L-13 147L15 125L54 107L101 93L153 82L206 75L256 68L301 62L337 54L367 44L390 30L410 14L429 -5L449 -23L472 -41L499 -57L528 -70L561 -82L595 -92L630 -102L665 -113L701 -125L738 -139L778 -153L820 -167L864 -178L910 -184L956 -185L1000 -179L1042 -168L1079 -151L1113 -132L1145 -112L1175 -94L1206 -78L1239 -65L1275 -54L1314 -45L1355 -36L1395 -25L1432 -12L1463 5L1487 26L1502 50L1510 75L1512 101L1512 126L1512 150L1513 173L1517 194L1522 216L1529 236L1534 258L1535 279Z'/><path d='M1590 300L1570 322L1550 343L1532 364L1522 384L1519 406L1525 430L1538 456L1554 485L1568 516L1578 548L1579 579L1571 608L1551 635L1523 658L1487 677L1447 694L1405 709L1363 722L1320 736L1278 748L1234 760L1189 769L1142 774L1093 775L1043 770L993 760L945 746L900 730L858 714L820 701L784 693L748 690L710 692L670 698L628 706L583 713L536 718L491 718L448 713L408 703L373 689L342 672L312 655L283 637L252 621L219 606L182 592L144 578L107 562L72 544L43 524L21 501L6 477L-4 451L-9 426L-14 400L-21 375L-31 351L-46 326L-63 300L-80 273L-94 246L-100 218L-95 190L-77 164L-47 141L-5 121L44 105L96 91L147 80L193 70L233 59L267 47L294 32L318 16L341 -1L365 -18L391 -34L420 -48L451 -61L484 -73L517 -85L549 -99L582 -114L615 -133L649 -154L686 -177L727 -200L772 -219L820 -233L870 -241L920 -240L969 -231L1014 -216L1056 -197L1093 -176L1129 -155L1163 -136L1198 -120L1235 -106L1274 -95L1313 -84L1353 -72L1389 -57L1421 -40L1447 -19L1467 4L1482 28L1493 53L1504 77L1516 99L1531 121L1549 142L1568 162L1587 184L1603 206L1612 229L1613 253L1605 277Z'/><path d='M1639 300L1621 324L1608 347L1603 370L1606 394L1616 421L1629 449L1642 478L1652 509L1654 540L1647 570L1631 598L1607 623L1577 647L1543 668L1508 689L1473 710L1437 731L1400 752L1361 771L1317 787L1269 799L1217 804L1161 802L1104 794L1047 780L994 762L944 744L900 728L859 717L820 711L782 711L743 716L701 725L657 734L611 742L564 746L518 745L473 740L431 732L390 721L350 709L309 698L266 687L221 676L174 665L127 653L82 638L43 619L11 597L-11 571L-25 543L-31 514L-32 485L-33 457L-36 430L-45 404L-60 379L-80 354L-103 327L-124 300L-140 272L-145 243L-138 214L-119 187L-87 162L-48 141L-4 121L41 104L83 88L120 71L152 55L180 37L206 19L233 1L262 -16L293 -31L328 -44L364 -55L400 -65L436 -76L469 -90L500 -107L529 -128L559 -154L591 -183L627 -213L669 -241L715 -263L766 -279L820 -286L874 -285L927 -275L977 -260L1023 -241L1067 -222L1109 -203L1150 -186L1190 -170L1231 -156L1272 -142L1310 -127L1345 -109L1376 -88L1401 -65L1421 -40L1437 -14L1453 10L1469 33L1490 54L1516 73L1546 91L1580 109L1614 128L1644 149L1667 172L1680 197L1682 223L1673 249L1658 275Z'/><path d='M1704 300L1702 326L1706 353L1714 380L1725 409L1735 439L1740 469L1737 499L1727 528L1708 556L1682 582L1653 606L1623 630L1594 654L1566 680L1539 706L1511 734L1480 761L1443 785L1400 805L1349 818L1291 823L1230 821L1167 811L1105 796L1047 779L994 763L946 750L902 743L861 740L820 743L778 749L735 757L690 763L644 767L598 768L552 766L507 761L461 756L414 750L365 746L312 742L256 739L197 735L138 728L82 718L32 701L-9 680L-38 653L-56 622L-64 589L-65 555L-64 523L-64 492L-69 463L-80 436L-98 410L-119 384L-141 357L-159 329L-169 300L-169 271L-157 242L-136 214L-107 189L-75 164L-42 142L-12 119L15 97L38 75L60 52L82 29L108 7L138 -12L174 -29L214 -43L257 -53L301 -63L342 -72L379 -84L412 -100L441 -121L468 -147L495 -178L526 -211L562 -244L605 -273L653 -296L706 -311L763 -318L820 -316L876 -309L931 -297L983 -283L1034 -269L1083 -255L1131 -242L1178 -228L1223 -212L1265 -194L1302 -172L1333 -146L1357 -118L1376 -88L1391 -59L1406 -32L1424 -7L1447 13L1477 30L1515 45L1558 59L1604 74L1648 92L1685 112L1713 136L1729 162L1735 190L1731 218L1722 246L1712 274Z'/><path d='M1810 300L1825 330L1838 361L1848 392L1850 424L1842 455L1824 485L1798 512L1766 538L1732 563L1699 587L1670 612L1645 639L1624 668L1604 699L1582 731L1554 761L1519 788L1474 809L1420 823L1360 829L1295 827L1229 819L1165 809L1106 797L1051 788L1001 781L954 779L909 781L865 785L820 789L774 793L728 794L682 792L636 789L591 784L544 780L495 778L443 779L385 783L322 788L254 793L185 795L116 791L54 781L0 763L-41 739L-70 708L-87 673L-96 636L-99 600L-101 565L-105 533L-115 503L-129 474L-146 446L-163 418L-177 389L-185 360L-183 330L-174 300L-156 271L-135 243L-112 217L-91 191L-74 165L-62 138L-54 110L-46 82L-35 54L-19 26L6 1L40 -20L82 -38L130 -52L179 -62L227 -72L271 -84L308 -98L340 -118L368 -143L394 -173L422 -205L454 -239L493 -270L538 -296L589 -316L644 -329L702 -335L761 -335L820 -332L878 -327L936 -322L992 -316L1049 -309L1104 -299L1157 -287L1206 -269L1249 -245L1285 -216L1313 -183L1334 -148L1350 -113L1365 -80L1381 -52L1403 -30L1433 -12L1471 2L1517 13L1568 25L1619 39L1667 56L1707 77L1737 101L1758 128L1770 156L1777 185L1782 214L1788 242L1797 271Z'/><path d='M1949 300L1966 334L1972 368L1964 403L1943 435L1911 465L1871 493L1829 519L1788 544L1753 569L1725 596L1704 624L1686 656L1669 689L1648 722L1620 752L1582 779L1535 799L1479 813L1417 820L1353 822L1289 820L1228 818L1170 816L1117 816L1066 819L1017 824L968 829L919 833L870 834L820 832L771 827L724 819L677 811L630 805L582 803L529 806L472 813L408 824L337 836L263 846L187 851L115 849L49 838L-6 819L-50 792L-81 759L-104 723L-119 686L-131 649L-143 614L-156 581L-171 550L-187 519L-200 488L-209 456L-210 424L-203 392L-188 360L-167 329L-145 300L-125 272L-110 245L-104 217L-105 189L-112 159L-120 127L-126 95L-125 62L-112 31L-88 3L-52 -20L-8 -40L42 -56L92 -71L139 -85L181 -101L217 -121L248 -145L277 -173L306 -204L338 -235L376 -264L420 -290L470 -310L524 -324L582 -334L641 -340L700 -344L760 -348L820 -352L881 -356L942 -359L1004 -359L1065 -353L1124 -341L1177 -321L1222 -292L1259 -258L1288 -219L1310 -180L1328 -142L1346 -109L1367 -82L1395 -61L1431 -46L1475 -33L1524 -22L1575 -10L1625 4L1671 22L1709 44L1741 68L1768 94L1791 122L1814 149L1838 178L1865 206L1895 236L1924 267Z'/><path d='M2085 300L2086 338L2070 374L2038 409L1995 441L1948 471L1900 498L1858 525L1823 553L1796 581L1774 612L1755 644L1735 676L1708 707L1674 735L1630 758L1579 777L1522 790L1462 800L1403 808L1346 815L1292 824L1241 834L1191 847L1141 859L1090 871L1038 879L983 882L928 880L873 873L820 862L769 850L720 840L670 835L619 836L563 843L501 855L433 870L359 885L283 896L206 901L134 897L69 885L13 864L-34 836L-72 805L-104 771L-133 736L-159 702L-185 669L-210 636L-231 603L-247 569L-255 533L-252 497L-239 460L-216 425L-188 390L-159 358L-135 328L-119 300L-115 272L-122 244L-139 214L-160 182L-181 148L-196 113L-200 79L-191 46L-168 15L-134 -12L-93 -35L-48 -57L-5 -78L36 -99L72 -123L104 -150L135 -178L167 -208L203 -238L244 -264L291 -287L344 -304L401 -317L460 -326L520 -333L579 -340L638 -349L697 -360L758 -372L820 -384L884 -394L950 -399L1015 -396L1077 -383L1133 -361L1182 -330L1223 -293L1256 -254L1283 -214L1308 -178L1335 -148L1364 -124L1400 -105L1441 -90L1486 -77L1533 -63L1580 -48L1624 -30L1664 -10L1699 13L1733 37L1766 62L1803 87L1844 112L1890 138L1940 165L1989 195L2033 228L2066 263Z'/><path d='M2178 300L2157 340L2121 377L2077 413L2030 445L1985 476L1945 507L1912 537L1885 568L1859 599L1832 631L1801 660L1762 687L1716 711L1664 730L1609 746L1553 760L1499 774L1448 789L1402 807L1358 827L1316 850L1272 874L1224 895L1172 913L1115 923L1055 926L994 922L934 913L876 901L820 889L766 881L712 879L657 883L597 894L532 908L462 923L389 935L314 943L241 943L172 935L109 919L52 898L0 872L-47 844L-92 816L-136 787L-179 758L-220 727L-256 695L-283 660L-299 622L-300 582L-287 540L-262 499L-229 459L-193 422L-162 388L-140 357L-131 328L-137 300L-154 271L-180 241L-209 208L-234 173L-251 138L-256 102L-248 68L-229 36L-203 5L-172 -24L-140 -53L-110 -82L-82 -113L-55 -146L-27 -179L4 -212L42 -243L88 -270L141 -291L201 -306L265 -316L330 -322L395 -326L457 -332L516 -341L574 -354L632 -370L692 -389L755 -406L820 -420L887 -426L954 -423L1019 -409L1078 -387L1131 -356L1177 -322L1218 -286L1255 -253L1291 -223L1329 -198L1369 -178L1412 -161L1457 -145L1502 -128L1544 -110L1584 -89L1619 -66L1652 -42L1685 -18L1721 6L1763 28L1814 50L1873 71L1939 94L2006 120L2070 150L2124 183L2161 220L2180 260Z'/><path d='M2221 300L2190 341L2154 379L2116 416L2081 452L2049 486L2019 520L1989 554L1954 586L1914 615L1866 642L1811 664L1752 683L1691 699L1632 713L1579 729L1532 747L1493 770L1459 798L1427 829L1393 862L1355 894L1309 922L1256 943L1197 956L1133 961L1067 958L1002 951L940 943L879 937L820 935L761 938L700 946L636 958L568 970L498 980L426 986L355 985L287 977L223 963L162 945L104 924L47 902L-10 880L-69 858L-128 836L-186 812L-240 785L-284 754L-315 717L-330 676L-328 631L-309 584L-280 539L-244 496L-210 456L-184 421L-169 389L-168 359L-181 330L-204 300L-231 269L-257 236L-278 202L-290 167L-293 131L-287 97L-275 62L-260 28L-246 -7L-233 -44L-222 -83L-210 -123L-193 -164L-170 -204L-136 -240L-90 -271L-32 -295L34 -312L107 -321L181 -326L254 -328L323 -331L388 -337L448 -348L506 -364L563 -383L623 -403L686 -420L752 -432L820 -436L888 -431L953 -417L1015 -396L1072 -371L1125 -344L1175 -318L1224 -295L1273 -275L1323 -258L1374 -243L1424 -226L1472 -208L1516 -186L1554 -161L1586 -133L1615 -105L1644 -77L1677 -52L1718 -30L1769 -10L1833 8L1905 27L1984 47L2061 72L2132 101L2188 136L2226 174L2243 215L2240 258Z'/><path d='M2244 300L2225 342L2204 382L2184 422L2161 461L2134 499L2099 535L2053 568L1996 596L1931 620L1859 639L1787 655L1719 669L1659 684L1611 703L1573 726L1545 755L1521 790L1498 828L1471 866L1436 903L1391 934L1338 958L1277 974L1212 983L1145 986L1078 988L1013 989L949 993L885 1000L820 1011L753 1022L684 1033L613 1040L541 1041L471 1036L404 1024L340 1007L280 986L220 965L161 946L99 928L33 913L-37 898L-107 883L-176 863L-237 838L-286 807L-319 768L-335 724L-333 676L-316 627L-292 580L-265 536L-242 495L-228 459L-225 426L-233 394L-249 364L-270 332L-290 300L-307 267L-316 232L-320 198L-318 163L-314 128L-312 92L-313 54L-319 13L-328 -31L-336 -77L-339 -126L-332 -173L-310 -218L-273 -257L-219 -288L-151 -310L-74 -324L8 -332L90 -336L168 -338L241 -343L307 -352L369 -364L429 -381L489 -398L551 -415L616 -427L684 -433L752 -431L820 -423L886 -409L949 -393L1009 -376L1068 -361L1127 -349L1187 -339L1249 -332L1311 -323L1371 -312L1428 -296L1479 -274L1523 -247L1558 -216L1589 -183L1616 -150L1646 -121L1683 -95L1731 -74L1791 -57L1863 -40L1942 -23L2024 -3L2101 22L2169 52L2220 88L2254 128L2271 170L2271 214L2261 257Z'/><path d='M2287 300L2287 343L2283 387L2269 430L2243 471L2202 509L2145 543L2073 572L1993 595L1910 614L1830 630L1760 645L1703 663L1660 685L1630 712L1609 746L1591 784L1571 824L1545 864L1510 901L1465 932L1412 958L1353 977L1290 993L1226 1007L1161 1021L1097 1036L1031 1054L963 1072L893 1089L820 1103L745 1111L669 1110L596 1101L525 1084L459 1062L397 1036L337 1011L278 989L216 971L149 957L77 947L2 937L-74 924L-146 906L-208 882L-258 849L-292 809L-310 764L-314 716L-309 668L-299 622L-291 580L-287 540L-292 504L-303 470L-318 437L-335 403L-349 369L-357 335L-358 300L-354 265L-348 231L-343 196L-344 160L-353 122L-371 81L-396 36L-423 -13L-447 -65L-460 -118L-458 -169L-437 -216L-395 -257L-336 -288L-262 -312L-179 -328L-94 -338L-10 -346L69 -354L143 -363L212 -375L278 -389L343 -403L409 -416L477 -424L547 -427L617 -424L687 -415L755 -404L820 -392L883 -383L946 -377L1009 -376L1075 -379L1144 -383L1214 -386L1285 -385L1354 -378L1416 -362L1471 -338L1518 -308L1557 -273L1591 -238L1624 -205L1662 -176L1707 -152L1763 -132L1830 -115L1904 -98L1982 -79L2057 -57L2125 -29L2182 4L2224 42L2252 83L2269 126L2277 169L2282 213L2284 257Z'/><path d='M2356 300L2364 346L2358 391L2332 435L2285 476L2220 512L2140 543L2054 568L1968 589L1889 608L1823 628L1772 650L1735 676L1709 707L1689 743L1670 780L1646 819L1615 855L1577 889L1531 919L1479 946L1424 970L1367 995L1310 1022L1251 1051L1191 1082L1126 1113L1056 1142L981 1166L902 1180L820 1184L739 1176L661 1158L587 1132L519 1101L455 1070L393 1043L331 1021L265 1005L196 993L122 984L46 974L-28 960L-96 940L-155 912L-202 878L-237 838L-260 795L-276 750L-289 707L-302 666L-319 628L-341 592L-366 557L-391 523L-413 487L-427 450L-432 412L-427 374L-415 337L-399 300L-387 264L-382 229L-389 192L-410 152L-441 109L-480 61L-518 9L-549 -45L-566 -99L-563 -151L-538 -199L-494 -240L-432 -273L-358 -300L-279 -321L-197 -339L-118 -355L-43 -371L30 -388L102 -404L173 -418L247 -428L323 -433L400 -431L477 -423L553 -411L625 -396L693 -384L757 -376L820 -374L883 -380L949 -392L1018 -407L1092 -423L1168 -434L1244 -439L1318 -434L1386 -419L1446 -395L1499 -365L1547 -333L1591 -300L1637 -271L1688 -245L1746 -224L1811 -204L1881 -186L1953 -165L2022 -141L2084 -113L2136 -79L2176 -41L2206 -1L2229 41L2248 84L2268 126L2289 168L2313 211L2336 255Z'/></svg>");
  /* carta e inchiostro */
  --bg:#F4F1EA; --surface:#ECE7DC; --card:#FBFAF6;
  --line:#D9D3C5; --line-2:#E7E2D6;
  --text:#17181A; --text-2:#55534C; --text-3:#7C786D;
  /* azione */
  --primary:#FFC700; --primary-press:#E6B300; --on-primary:#17181A; --primary-text:#7A5C00;
  --secondary:#17181A; --on-secondary:#FBFAF6;
  /* stato */
  --ok:#1E7A4C; --ko:#B3261E; --focus:#24527A;
  /* famiglie di servizi (colori secondari) */
  --mec:#8A5D00; --ele:#24527A; --gas:#2F6B4F; --gom:#C2410C;
  --fam:var(--text); --fam-soft:#ECE7DC; --fam-l:var(--primary);
  /* tipografia */
  --f-display:"Big Shoulders","Barlow Condensed",Impact,sans-serif;
  --f-body:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-label:"Barlow Condensed","Barlow",sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
  /* spazi */
  --wrap:1240px; --gut:clamp(1.15rem,4vw,2.5rem);
  --sp-sec:clamp(4.5rem,9vw,8rem); --r:6px;
  /* movimento */
  --d-xs:120ms; --d-s:200ms; --d-m:350ms; --d-l:600ms; --d-xl:900ms; --stagger:70ms;
  --ease-out:cubic-bezier(.22,1,.36,1); --ease-in:cubic-bezier(.55,0,1,.45);
  --ease-inout:cubic-bezier(.65,0,.35,1); --ease-snap:cubic-bezier(.2,.9,.1,1); --ease-back:cubic-bezier(.34,1.56,.64,1);
  --shadow:0 1px 0 rgba(23,24,26,.04),0 22px 44px -30px rgba(23,24,26,.45);
  --hazard:repeating-linear-gradient(-45deg,var(--primary) 0 12px,var(--text) 12px 24px);
}
.fam-mec{--fam:var(--mec);--fam-soft:#F1E5C9;--fam-l:#E2AE4A}
.fam-ele{--fam:var(--ele);--fam-soft:#DCE6F0;--fam-l:#7FB0DA}
.fam-gas{--fam:var(--gas);--fam-soft:#DCEBE2;--fam-l:#7CC29E}
.fam-gom{--fam:var(--gom);--fam-soft:#F8E0D3;--fam-l:#F08A55}

/* sezioni scure: stessi componenti, token invertiti */
.dark{
  --bg:#17181A; --surface:#1F2124; --card:#24262A; --line:#35373C; --line-2:#2B2D31;
  --text:#EFECE4; --text-2:#A9A69C; --text-3:#827F76; --primary-text:#FFC700;
  --secondary:#EFECE4; --on-secondary:#17181A; --focus:#FFC700;
  --fam-soft:rgba(255,255,255,.06);
  background:var(--bg); color:var(--text);
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{overflow-x:clip;scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:90px}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--f-body);font-size:1.0625rem;line-height:1.65;overflow-x:clip;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
::selection{background:var(--primary);color:var(--on-primary)}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:1rem;top:-4rem;z-index:200;background:var(--primary);color:var(--on-primary);padding:.7rem 1rem;font-weight:600}
.skip:focus{top:1rem}

h1,h2,h3{margin:0;color:var(--text);text-wrap:balance}
h1,h2{font-family:var(--f-display);font-weight:800;line-height:.98;letter-spacing:-.01em}
h1{font-size:clamp(2.8rem,6.2vw,5.4rem)}
h2{font-size:clamp(2rem,4vw,3.4rem)}
h3{font-family:var(--f-label);font-weight:700;font-size:1.3rem;line-height:1.2;letter-spacing:.01em}
p{margin:0}
.lead{font-size:clamp(1.1rem,1.4vw,1.25rem);color:var(--text-2);max-width:56ch;line-height:1.6}
.lead strong{color:var(--text);font-weight:600}
.muted{color:var(--text-2)}
.mono{font-family:var(--f-mono)}

/* etichette tecniche */
.label{display:flex;align-items:center;flex-wrap:wrap;gap:.7rem;margin:0;font-family:var(--f-mono);font-weight:500;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}
.label .idx{display:inline-flex;align-items:center;gap:.7rem;color:var(--text);font-weight:600}
.label .idx::after{content:"";width:28px;height:1px;background:currentColor;opacity:.6}
.label[data-reveal="eyebrow"]::before{content:"";width:28px;height:2px;background:var(--primary)}
.chip{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .6rem;border-radius:3px;background:var(--fam-soft);color:var(--fam);font-family:var(--f-mono);font-weight:600;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;line-height:1.2}
.dark .chip{color:var(--fam-l)}

/* evidenziatore giallo (variante TXT-03) */
.hl{font-style:normal;background:linear-gradient(var(--primary),var(--primary)) 0 88%/100% .34em no-repeat;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-inline:.04em}
.js [data-reveal~="lines"] .hl{background-size:0 .34em}
.js [data-reveal~="lines"].is-in .hl{background-size:100% .34em;transition:background-size 1s var(--ease-inout) .65s}
.dark .hl{color:var(--on-primary);background-size:100% 100%}

/* ---------- bottoni ---------- */
.btns{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;font-family:var(--f-label);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:1rem;line-height:1;padding:.95rem 1.35rem;border:2px solid var(--text);border-radius:4px;text-decoration:none;color:var(--text);background:transparent;cursor:pointer;position:relative;isolation:isolate;overflow:hidden;
  transition:transform var(--d-xs) var(--ease-snap),color var(--d-s) var(--ease-out),border-color var(--d-s)}
.btn svg{width:18px;height:18px;flex:none;transition:transform var(--d-m) var(--ease-back)}
.btn:active{transform:scale(.97)}
.btn-y{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}
.btn-o{border-color:var(--line);background:var(--card)}
.dark .btn-o{background:transparent;border-color:var(--line)}
.btn-sm{padding:.6rem .9rem;font-size:.92rem}
.btn-block{width:100%}

/* link con freccia */
.lnk{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--f-label);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.95rem;color:var(--text);text-decoration:none;
  background:linear-gradient(var(--primary),var(--primary)) 0 100%/100% 2px no-repeat;padding-bottom:.15rem;transition:background-size var(--d-m) var(--ease-out)}
.lnk svg{width:16px;height:16px;flex:none;transition:transform var(--d-m) var(--ease-back)}
@media (hover:hover){.lnk:hover svg,a:hover>.lnk svg{transform:translateX(4px)}}

/* ---------- header ---------- */
.progress{display:none}
.hdr{position:sticky;top:0;z-index:60;background:color-mix(in srgb,var(--bg) 94%,transparent);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;gap:2rem;padding-block:.9rem;position:relative}
.logo{display:flex;align-items:center;gap:.6rem;text-decoration:none;flex:none}
.logo-mark{background:var(--primary);color:var(--on-primary);font-family:var(--f-display);font-weight:900;font-size:1.5rem;line-height:1;padding:.32rem .45rem .22rem;transform:skewX(-10deg);border-radius:2px}
.logo-mark b{display:inline-block;transform:skewX(10deg)}
.logo-txt{font-family:var(--f-display);font-weight:800;font-size:1.45rem;line-height:.85;text-transform:uppercase;letter-spacing:.01em}
.logo-txt small{display:block;margin-top:.25rem;font-family:var(--f-mono);font-weight:500;font-size:.6rem;letter-spacing:.12em;color:var(--text-3)}
.nav{flex:1}
.nav-list{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:.25rem}
.nav-list>li>a{display:flex;align-items:center;gap:.35rem;padding:.6rem .8rem;font-family:var(--f-label);font-weight:600;font-size:1.05rem;letter-spacing:.02em;text-decoration:none;color:var(--text)}
.dd-top::after{content:"";width:7px;height:7px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:translateY(-2px) rotate(45deg);opacity:.6}
.nav-foot{display:none}
.hdr-act{display:flex;align-items:center;gap:.9rem;margin-left:auto}
.st-pill{display:inline-flex;align-items:center;gap:.5rem;margin:0;padding:.42rem .75rem;border:1px solid var(--line);border-radius:999px;font-family:var(--f-mono);font-size:.7rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);white-space:nowrap}
.menu-tg{display:none;background:none;border:0;color:var(--text);padding:.7rem;margin-right:-.7rem;cursor:pointer}

@media (min-width:961px){
  .dd{position:static}
  .dd:not(.dd-mega){position:relative}
  .dd-menu{position:absolute;top:100%;left:0;min-width:240px;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:.5rem;z-index:70}
  .dd-menu>a{padding:.65rem .8rem;border-radius:4px;text-decoration:none;font-weight:500;font-size:.98rem}
  .dd-menu>a:hover,.dd-menu>a[aria-current]{background:var(--surface)}
  .mega{left:var(--gut);right:var(--gut);top:calc(100% - .2rem);display:grid;grid-template-columns:1fr 260px;gap:0;padding:0;overflow:hidden}
  .mega-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.25rem;padding:1rem}
  .mega-grid a{display:flex;gap:.8rem;align-items:flex-start;padding:.8rem;border-radius:4px;text-decoration:none}
  .mega-grid a:hover,.mega-grid a[aria-current]{background:var(--fam-soft)}
  .mega-grid b{display:block;font-family:var(--f-label);font-weight:700;font-size:1.05rem;line-height:1.2}
  .mega-grid small{display:block;color:var(--text-2);font-size:.85rem;line-height:1.4;margin-top:.15rem}
  .mega-side{background:var(--surface);padding:1.6rem 1.4rem;display:flex;flex-direction:column;gap:.8rem;border-left:1px solid var(--line)}
  .mega-side p:not(.label){color:var(--text-2);font-size:.95rem;line-height:1.5}
  .mega-side .lnk{margin-top:auto;align-self:flex-start}
}
.mi{display:grid;place-items:center;flex:none;width:42px;height:42px;border:1px solid var(--line);border-radius:var(--r);background:var(--card);color:var(--fam)}
.mi svg{width:22px;height:22px}
.dark .mi{color:var(--fam-l)}

/* ---------- hero home ---------- */
.contour{position:relative;isolation:isolate;overflow:clip}
.contour::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--line);opacity:.75;
  -webkit-mask:var(--contour-svg) center/cover no-repeat;mask:var(--contour-svg) center/cover no-repeat}
.dark.contour::before{background:#2C2E33;opacity:1}
.hero{padding-block:clamp(2.5rem,6vw,5.5rem) clamp(4rem,8vw,7rem);overflow:hidden}
.hero.contour::before{-webkit-mask-position:right top;mask-position:right top;-webkit-mask-size:auto 140%;mask-size:auto 140%}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.hero-txt{display:grid;gap:1.6rem;align-content:center}
.hero h1{font-size:clamp(3rem,7vw,6rem);line-height:.92}
.hero h1 .ln-sub{font-size:.42em;line-height:1.1;margin-top:.35em;color:var(--text-2);font-weight:700;letter-spacing:.02em}
.trust{list-style:none;margin:.6rem 0 0;padding:1.4rem 0 0;border-top:1px solid var(--line);display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.trust li{display:flex;gap:.6rem;align-items:flex-start;font-size:.92rem;color:var(--text-2);line-height:1.35}
.trust svg{width:18px;height:18px;flex:none;color:var(--ok);margin-top:.1rem}
.trust b{display:block;color:var(--text);font-family:var(--f-label);font-weight:700;font-size:1.05rem}
.hero-vis{position:relative;padding:0 0 3.5rem 2.5rem}
.hero-pic{margin:0;border-radius:var(--r);overflow:hidden;aspect-ratio:4/5;background:var(--surface)}
.hero-pic img{width:100%;height:100%;object-fit:cover}
.hero-card{position:absolute;left:0;bottom:0;width:min(330px,82%);background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}

/* ---------- ticket (scheda di lavoro) ---------- */
.ticket{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden}
.ticket-hd{display:flex;justify-content:space-between;gap:1rem;align-items:center;padding:.75rem 1.15rem;background:var(--text);color:var(--bg);border-top:4px solid var(--fam-l);font-family:var(--f-mono);font-size:.7rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.dark .ticket-hd{background:#0F1012;color:var(--text)}
.ticket-hd .mono{opacity:.65}
.ticket-bd{display:grid;gap:1.1rem;padding:1.3rem 1.15rem 1.4rem;position:relative}
.ticket-bd::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:repeating-linear-gradient(90deg,var(--line) 0 6px,transparent 6px 12px)}
.st-now{display:flex;align-items:center;gap:.6rem;margin:0;font-family:var(--f-label);font-weight:700;font-size:1.2rem;line-height:1.1}
.st-dot{width:10px;height:10px;border-radius:50%;background:var(--text-3);flex:none}
.is-open .st-dot{background:var(--ok);animation:pulse 2s var(--ease-out) infinite}
.is-closed .st-dot{background:var(--ko)}
.st-pill.is-open{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 35%,var(--line))}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(30,122,76,.5)}70%{box-shadow:0 0 0 9px rgba(30,122,76,0)}100%{box-shadow:0 0 0 0 rgba(30,122,76,0)}}
.st-sub{margin:-.7rem 0 0;font-size:.88rem;color:var(--text-2);line-height:1.4}
.hours{width:100%;border-collapse:collapse;font-size:.9rem}
.hours th,.hours td{padding:.55rem 0;border-top:1px solid var(--line-2);vertical-align:top}
.hours th{text-align:left;font-weight:500;color:var(--text-2)}
.hours td{text-align:right;font-family:var(--f-mono);font-size:.78rem;padding-top:.65rem}
.hours tr.today th,.hours tr.today td{color:var(--text);font-weight:600}
.hours tr.today th::before{content:"";display:inline-block;width:6px;height:6px;margin-right:.45rem;background:var(--primary);vertical-align:middle;transform:rotate(45deg)}
.phones{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;border-top:1px solid var(--line-2);padding-top:1rem}
.phone-big{display:flex;flex-direction:column;gap:.25rem;text-decoration:none;font-family:var(--f-display);font-weight:800;font-size:1.45rem;line-height:1;letter-spacing:.01em;white-space:nowrap}
.phone-big small{font-family:var(--f-mono);font-weight:500;font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}
@media (hover:hover){.phone-big:hover{color:var(--primary-text)}}

/* ---------- ticker (SCR-06) ---------- */
.ticker{background:var(--text);color:#EFECE4;overflow:hidden}
.ticker-in{display:flex;width:max-content;animation:tick 42s linear infinite}
.ticker ul{display:flex;list-style:none;margin:0;padding:.85rem 0}
.ticker li{display:flex;align-items:center;gap:2rem;padding-inline:1rem;white-space:nowrap;font-family:var(--f-mono);font-size:.78rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase}
.ticker li::after{content:"";width:7px;height:7px;background:var(--primary);transform:rotate(45deg)}
@keyframes tick{to{transform:translateX(-50%)}}

/* ---------- sezioni ---------- */
.sec{padding-block:var(--sp-sec)}
.sec-tight{padding-top:clamp(2.5rem,5vw,4rem)}
.sec-alt{background:var(--surface)}
.sec-head{display:grid;gap:1rem;max-width:46rem;margin-bottom:clamp(2.2rem,4.5vw,3.8rem)}
.sec-head .lnk{justify-self:start;margin-top:.3rem}

/* servizi home: card in evidenza + elenco */
.board{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(1.5rem,3vw,3rem);align-items:start}
.feat{display:flex;flex-direction:column;border-radius:var(--r);overflow:hidden;text-decoration:none;position:sticky;top:96px}
.feat-pic{display:block;aspect-ratio:16/10;overflow:hidden}
.feat-pic img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out),filter var(--d-m);filter:saturate(.9)}
.feat-bd{display:grid;gap:1rem;padding:clamp(1.4rem,2.5vw,2rem);border-top:4px solid var(--fam-l)}
.feat-t{font-family:var(--f-display);font-weight:800;font-size:clamp(1.7rem,2.6vw,2.2rem);line-height:1}
.feat-p{color:var(--text-2)}
.feat-tags{display:flex;flex-wrap:wrap;gap:.4rem}
.feat-tags i{font-style:normal;font-family:var(--f-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;padding:.3rem .55rem;border:1px solid var(--line);border-radius:3px;color:var(--text-2)}
.feat .lnk{justify-self:start;color:var(--text)}
@media (hover:hover){.feat:hover .feat-pic img{transform:scale(1.05);filter:none}}
.rows{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:2.4rem 42px minmax(0,1fr) 22px;gap:1.1rem;align-items:center;padding:1.05rem .8rem;border-bottom:1px solid var(--line);text-decoration:none;position:relative;isolation:isolate}
.row::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--fam-soft);clip-path:inset(0 100% 0 0);transition:clip-path var(--d-m) var(--ease-inout)}
.num{font-family:var(--f-mono);font-size:.74rem;font-weight:500;letter-spacing:.06em;color:var(--text-3)}
.row-t b{display:block;font-family:var(--f-label);font-weight:700;font-size:1.22rem;line-height:1.2}
.row-t small{display:block;color:var(--text-2);font-size:.93rem;line-height:1.4;margin-top:.1rem}
.row .arr{width:20px;height:20px;color:var(--text-3);transition:transform var(--d-m) var(--ease-back),color var(--d-s)}
@media (hover:hover){
  .row:hover::before{clip-path:inset(0)}
  .row:hover .arr{transform:translateX(4px);color:var(--fam)}
  .row:hover .num{color:var(--fam)}
}
.board-foot{margin-top:1.6rem;display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;color:var(--text-2);justify-content:flex-end}

/* metodo */
.method{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.method-head{display:grid;gap:1.1rem;position:sticky;top:110px}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.steps li{background:var(--bg);padding:clamp(1.4rem,2.5vw,2rem);display:grid;gap:.7rem;align-content:start}
.step-n{font-family:var(--f-mono);font-weight:600;font-size:.8rem;color:var(--primary-text);letter-spacing:.08em}
.steps p{color:var(--text-2);font-size:1rem}

/* banner stagionale */
.season{padding-block:clamp(3rem,6vw,5rem) 0}
.season-in{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(1.5rem,3.5vw,3rem);align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:clamp(1.2rem,2.5vw,1.8rem);box-shadow:var(--shadow);max-width:calc(var(--wrap) - 2 * var(--gut));margin-inline:var(--gut)}
@media (min-width:1240px){.season-in{margin-inline:auto}}
.season-date{display:flex;align-items:baseline;background:var(--fam);color:#fff;border-radius:4px;padding:1.2rem 1.4rem;font-family:var(--f-display);font-weight:900;font-size:clamp(2.8rem,5vw,4rem);line-height:.9}
.season-date span+span::before{content:".";opacity:.6}
.season-txt{display:grid;gap:.6rem}
.season-txt h2{font-size:clamp(1.5rem,2.6vw,2.1rem)}
.season-txt p:not(.label){color:var(--text-2);font-size:.98rem;max-width:62ch}
.season-btns{flex-direction:column;align-items:stretch}

/* azienda in home / storia */
.about{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,6rem);align-items:center}
.about-vis{position:relative;padding:0 3rem 4rem 0}
.about-pic{margin:0;border-radius:var(--r);overflow:hidden;aspect-ratio:4/3}
.about-pic img,.about-pic2 img{width:100%;height:100%;object-fit:cover}
.about-pic2{position:absolute;right:0;bottom:0;width:46%;aspect-ratio:1;margin:0;border-radius:var(--r);overflow:hidden;border:6px solid var(--bg);box-shadow:var(--shadow)}
.about-txt{display:grid;gap:1.3rem}
.about-txt>p,.about-txt>div{color:var(--text-2)}
.about-rev .about-vis{padding:0}
.about-rev .about-pic{aspect-ratio:4/5}
.spec{margin:.4rem 0 0;display:grid;border-top:1px solid var(--line)}
.spec>div{display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line)}
.spec dt{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);padding-top:.25rem}
.spec dd{margin:0;font-weight:500}
.spec dd b{font-family:var(--f-display);font-size:1.3rem;font-weight:800}
.spec-row{grid-template-columns:repeat(4,1fr);margin-top:clamp(2rem,4vw,3rem);border:1px solid var(--line);border-radius:var(--r);background:var(--card)}
.spec-row>div{grid-template-columns:1fr;gap:.3rem;padding:1.2rem 1.3rem;border-bottom:0;border-left:1px solid var(--line)}
.spec-row>div:first-child{border-left:0}

/* contatti / zone / form */
.contact{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.contact-txt,.contact-card{display:grid;gap:1.4rem}
.zones{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.45rem}
.zones li{font-size:.92rem;padding:.38rem .8rem;border:1px solid var(--line);border-radius:999px;color:var(--text-2);background:var(--card)}
.zones li:has(a){padding:0}
.zones a{display:block;padding:.38rem .8rem;border-radius:999px;color:var(--text);text-decoration:none;font-weight:500;transition:background var(--d-s),color var(--d-s)}
@media (hover:hover){.zones a:hover{background:var(--text);color:var(--bg)}}
.c-list{margin:0;display:grid;border-top:1px solid var(--line)}
.c-list>div{display:grid;grid-template-columns:10rem minmax(0,1fr);gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line)}
.c-list dt{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);padding-top:.3rem}
.c-list dd{margin:0;font-family:var(--f-label);font-weight:600;font-size:1.15rem}
.c-list dd a{text-decoration:none;background:linear-gradient(var(--primary),var(--primary)) 0 100%/100% 2px no-repeat;transition:background-size var(--d-m) var(--ease-out)}
@media (hover:hover){.c-list dd a:hover{background-size:100% 100%}}
.contact-txt>.lnk,.contact-card>.lnk{justify-self:start}
.form{margin:0}
.form h3{font-family:var(--f-display);font-weight:800;font-size:1.8rem;line-height:1}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:0;border:0}
.form .row::before{content:none}
.form label{display:grid;gap:.4rem;font-family:var(--f-mono);font-size:.7rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}
.form input,.form select,.form textarea{font:inherit;font-family:var(--f-body);font-size:1rem;letter-spacing:0;text-transform:none;color:var(--text);width:100%;padding:.8rem .9rem;border:1px solid var(--line);border-radius:4px;
  background:linear-gradient(var(--primary),var(--primary)) 0 100%/0 3px no-repeat,var(--bg);transition:background-size var(--d-m) var(--ease-out),border-color var(--d-s)}
.form textarea{resize:vertical;min-height:7rem}
.form input:focus,.form select:focus,.form textarea:focus{outline:none;border-color:var(--text);background-size:100% 3px,auto}
.form :user-invalid{border-color:var(--ko);animation:shake .35s var(--ease-snap)}
@keyframes shake{25%{transform:translateX(-5px)}50%{transform:translateX(4px)}75%{transform:translateX(-2px)}}
.form small{color:var(--text-3);font-size:.82rem;line-height:1.4}

/* FAQ (ACC-01) */
.faq-wrap{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.faq-head{display:grid;gap:1rem;position:sticky;top:110px}
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:1.5rem;align-items:center;padding:1.25rem 0;font-family:var(--f-label);font-weight:700;font-size:1.2rem;line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:28px;height:28px;border:1px solid var(--line);border-radius:50%;
  background:linear-gradient(currentColor,currentColor) center/11px 1.6px no-repeat,linear-gradient(currentColor,currentColor) center/1.6px 11px no-repeat;transition:transform var(--d-m) var(--ease-back),background-color var(--d-s)}
.faq details[open] summary::after{transform:rotate(135deg);background-color:var(--primary);border-color:var(--primary);color:var(--on-primary)}
.faq details p{padding:0 3rem 1.4rem 0;color:var(--text-2);max-width:64ch}

/* ---------- pagine interne ---------- */
.phero{padding-block:clamp(1.8rem,4vw,3.5rem) clamp(3rem,6vw,5rem);border-bottom:1px solid var(--line)}
.phero-plain{padding-bottom:clamp(2.5rem,5vw,4rem);overflow:hidden}
.phero-plain .wrap{display:grid;gap:1.4rem}
.phero-plain.contour::before{-webkit-mask-position:right center;mask-position:right center}
.phero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.phero-txt{display:grid;gap:1.4rem}
.phero h1{font-size:clamp(2.5rem,5vw,4.4rem)}
.chip-row{gap:.8rem}
.phero-pic{margin:0}
.phero-pic img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r);background:var(--surface)}
.tagline{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem 1rem;margin-top:.8rem;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}
.tagline span{display:inline-flex;align-items:center;gap:.5rem}
.tagline span::before{content:"";width:8px;height:8px;background:var(--fam-l)}
.credit{color:var(--text-3);text-transform:none;letter-spacing:0;font-family:var(--f-body);font-size:.8rem}
.crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}
.crumbs li+li::before{content:"/";margin-right:.4rem;opacity:.6}
.crumbs a{text-decoration:none}
@media (hover:hover){.crumbs a:hover{color:var(--text)}}
.legend{list-style:none;margin:.4rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1.6rem;font-family:var(--f-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2)}
.legend li{display:flex;align-items:center;gap:.5rem}
.legend i{width:10px;height:10px;background:var(--fam)}

/* documento + scheda laterale */
.doc{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:clamp(2rem,6vw,6rem);align-items:start}
.doc>.ticket{position:sticky;top:96px}
.ticket .lnk{justify-self:start}
.prose{max-width:70ch}
.prose h2{font-size:clamp(1.7rem,2.8vw,2.4rem);margin:3.2rem 0 1rem}
.prose>h2:first-child{margin-top:0}
.prose h3{margin:2rem 0 .6rem}
.prose p{color:var(--text-2);margin-bottom:1rem}
.prose p strong,.prose p b{color:var(--text);font-weight:600}
.prose a{text-decoration:none;background:linear-gradient(var(--primary),var(--primary)) 0 100%/100% 2px no-repeat;transition:background-size var(--d-m) var(--ease-out)}
@media (hover:hover){.prose a:hover{background-size:100% 100%}}
.prose ul:not(.ticks){padding-left:1.2rem;color:var(--text-2)}
.prose ul:not(.ticks) li{margin-bottom:.4rem}
.ticks{list-style:none;margin:1.4rem 0 1.6rem;padding:0;border-top:1px solid var(--line);counter-reset:t}
.ticks li{display:grid;grid-template-columns:3rem minmax(0,1fr);padding:.95rem 0;border-bottom:1px solid var(--line);counter-increment:t}
.ticks li::before{content:counter(t,decimal-leading-zero);font-family:var(--f-mono);font-size:.74rem;font-weight:600;color:var(--fam);padding-top:.3rem}
.ticks b{display:block;font-family:var(--f-label);font-weight:700;font-size:1.15rem;line-height:1.3}
.ticks span{display:block;color:var(--text-2);font-size:.98rem;line-height:1.5}
.pic{margin:2.4rem 0;border-radius:var(--r);overflow:hidden;position:relative}
.pic img{width:100%;aspect-ratio:16/9;object-fit:cover;transition:transform .6s var(--ease-out),filter var(--d-m);filter:saturate(.9)}
.pic figcaption{position:absolute;left:.8rem;bottom:.8rem;background:var(--card);padding:.35rem .6rem;border-radius:3px;font-family:var(--f-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2)}
@media (hover:hover){.pic:hover img{transform:scale(1.04);filter:none}}

/* card correlate / percorsi */
.rel-grid,.routes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.rel,.route{display:grid;gap:.6rem;align-content:start;padding:1.4rem;background:var(--card);border:1px solid var(--line);border-radius:var(--r);text-decoration:none;position:relative;
  transition:transform var(--d-m) var(--ease-out),border-color var(--d-s),box-shadow var(--d-m)}
.rel{border-top:3px solid var(--fam)}
.rel b,.route b{font-family:var(--f-label);font-weight:700;font-size:1.2rem;line-height:1.2;margin-top:.4rem}
.rel small,.route>span:not(.num){color:var(--text-2);font-size:.93rem;line-height:1.45}
.rel .arr{width:18px;height:18px;color:var(--text-3);transition:transform var(--d-m) var(--ease-back),color var(--d-s)}
.route .lnk{font-style:normal;margin-top:.4rem;justify-self:start;font-size:.85rem}
@media (hover:hover){
  .rel:hover,a.route:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
  .rel:hover .arr{transform:translateX(4px);color:var(--fam)}
}

/* pagina servizi */
.scards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1rem,2vw,1.5rem)}
.scard{display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;transition:transform var(--d-m) var(--ease-out),box-shadow var(--d-m)}
.scard-pic{display:block;position:relative;aspect-ratio:16/10;overflow:hidden;border-bottom:3px solid var(--fam)}
.scard-pic img{width:100%;height:100%;object-fit:cover;filter:saturate(.9);transition:transform .6s var(--ease-out),filter var(--d-m)}
.scard-pic .chip{position:absolute;left:.8rem;top:.8rem;background:var(--card)}
.scard-bd{display:grid;gap:.55rem;padding:1.3rem 1.4rem 1.5rem;flex:1;align-content:start}
.scard-bd b{font-family:var(--f-display);font-weight:800;font-size:1.7rem;line-height:1}
.scard-bd small{color:var(--text-2);font-size:.96rem;line-height:1.5}
.scard-bd .lnk{margin-top:auto;justify-self:start;padding-top:.6rem}
.scard-other{justify-content:center;border-color:var(--line)}
.scard-other .num{font-size:1.4rem;color:var(--primary)}
@media (hover:hover){.scard:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.scard:hover .scard-pic img{transform:scale(1.05);filter:none}}

/* galleria azienda (bento) */
.gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(150px,17vw,230px);gap:clamp(.6rem,1.2vw,1rem)}
.gallery figure{margin:0;position:relative;border-radius:var(--r);overflow:hidden}
.gallery .g-big{grid-column:span 2;grid-row:span 2}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out)}
.gallery figcaption{position:absolute;left:.7rem;bottom:.7rem;display:flex;gap:.5rem;align-items:center;background:var(--card);padding:.35rem .6rem;border-radius:3px;font-family:var(--f-mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;transition:transform var(--d-m) var(--ease-out)}
@media (hover:hover){.gallery figure:hover figcaption{transform:translateY(-4px)}}

/* mappa */
.mapwrap{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:clamp(1.5rem,3vw,2.5rem);align-items:stretch}
.mapframe{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;min-height:440px;background:var(--surface)}
.mapframe iframe{display:block;width:100%;height:100%;min-height:440px;border:0;filter:grayscale(.35) contrast(1.05)}
.addr-big{font-family:var(--f-label);font-size:1.25rem;line-height:1.35}

/* ---------- CTA finale ---------- */
.cta-band{padding-block:clamp(4rem,8vw,6.5rem)}
.cta-in{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:end}
.cta-in>div:first-child{display:grid;gap:1.1rem}
.cta-phones{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem 1rem;padding:1.6rem;border:1px solid var(--line);border-radius:var(--r);background:color-mix(in srgb,var(--card) 70%,transparent)}
.cta-phones .phone-big{font-size:clamp(1.6rem,2.6vw,2.2rem)}
.cta-phones .btn{grid-column:1/-1}

/* ---------- footer ---------- */
.ftr{padding-bottom:1.5rem;font-size:.95rem}
.hazard{height:6px;background:var(--hazard)}
.ftr-grid{display:grid;grid-template-columns:1.5fr 1fr 1.1fr 1.3fr;gap:clamp(2rem,4vw,3.5rem);padding-block:clamp(3.5rem,6vw,5rem) 3rem}
.ftr-brand{display:grid;gap:1.2rem;align-content:start}
.ftr p{color:var(--text-2)}
.ftr .label{margin-bottom:1rem}
.ftr ul{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.ftr ul a{color:var(--text-2)}
.ftr-addr{display:flex;gap:.6rem}
.ftr-addr svg{width:18px;height:18px;flex:none;color:var(--primary);margin-top:.25rem}
.ftr .hours{margin-bottom:1rem}
.ftr-tel{margin-top:.5rem}
.ftr-bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-top:1.5rem;position:relative;font-family:var(--f-mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase}
.ftr-bot p{color:var(--text-3)}
.ftr-bot::before{content:"";position:absolute;top:0;left:var(--gut);right:var(--gut);height:1px;background:var(--line)}
.ftr a{text-decoration:none;background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size var(--d-m) var(--ease-out),color var(--d-s)}
.ftr .logo{background:none}
@media (hover:hover){.ftr a:hover{background-size:100% 1px;color:var(--text)}}

/* barra contatto mobile */
.mbar{display:none}

/* ===================== responsive ===================== */
@media (max-width:1100px){
  .hdr-in{gap:1.2rem}
  .st-pill{display:none}
  .mega-grid{grid-template-columns:repeat(2,1fr)}
  .rel-grid,.routes{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ftr-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:960px){
  .hdr{-webkit-backdrop-filter:none;backdrop-filter:none;background:var(--bg)}
  .menu-tg{display:block}
  .hdr-act{margin-left:auto}
  .nav{position:fixed;left:0;right:0;top:var(--hdr-h,69px);bottom:0;background:var(--bg);border-top:1px solid var(--line);padding:1rem var(--gut) 2rem;display:flex;flex-direction:column;gap:1.5rem;overflow:auto}
  .nav-list{flex-direction:column;align-items:stretch;gap:0}
  .nav-list>li{border-bottom:1px solid var(--line)}
  .nav-list>li>a{font-family:var(--f-display);font-weight:800;font-size:1.9rem;padding:.7rem 0}
  .dd-top::after{display:none}
  .dd-menu{display:flex;flex-direction:column;padding:0 0 1rem}
  .dd-menu>a{padding:.45rem 0;text-decoration:none;color:var(--text-2)}
  .mega-grid{display:grid;grid-template-columns:1fr 1fr;gap:.2rem .8rem}
  .mega-grid a{display:flex;gap:.55rem;align-items:center;padding:.4rem 0;text-decoration:none}
  .mega-grid .mi{width:30px;height:30px;border-radius:4px}
  .mega-grid .mi svg{width:17px;height:17px}
  .mega-grid b{font-family:var(--f-label);font-weight:600;font-size:1rem;line-height:1.2}
  .mega-grid small,.mega-side{display:none}
  .nav-foot{display:grid;gap:.7rem;margin-top:auto}
  .nav-foot .btn{width:100%}
  .hero-grid,.phero-grid,.board,.method,.about,.contact,.faq-wrap,.doc,.mapwrap,.cta-in{grid-template-columns:minmax(0,1fr)}
  .feat,.method-head,.faq-head,.doc>.ticket{position:static}
  .hero-vis{padding:0 0 0 0;max-width:560px}
  .hero-pic{aspect-ratio:4/3}
  .hero-card{position:relative;width:auto;margin:-3rem 1rem 0}
  .about-rev .about-vis{order:-1}
  .scards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .spec-row{grid-template-columns:1fr 1fr}
  .spec-row>div:nth-child(3){border-left:0}
  .spec-row>div:nth-child(n+3){border-top:1px solid var(--line)}
  .season-in{grid-template-columns:auto minmax(0,1fr)}
  .season-btns{grid-column:1/-1;flex-direction:row}
}
@media (max-width:760px){
  body{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}
  .hdr-act .btn-sm span{display:none}
  .hdr-act .btn-sm{padding:.6rem}
  .trust{grid-template-columns:1fr;gap:.8rem}
  .steps{grid-template-columns:1fr}
  .row{grid-template-columns:2rem 38px minmax(0,1fr) 18px;gap:.8rem;padding:.95rem .3rem}
  .row-t small{display:none}
  .mi{width:38px;height:38px}
  .board-foot{justify-content:flex-start}
  .season-in{grid-template-columns:minmax(0,1fr)}
  .season-date{justify-self:start;padding:.8rem 1rem}
  .season-btns{flex-direction:column}
  .about-vis{padding:0 1.5rem 3rem 0}
  .scards,.rel-grid,.routes{grid-template-columns:minmax(0,1fr)}
  .gallery{grid-template-columns:1fr 1fr;grid-auto-rows:140px}
  .gallery .g-big{grid-column:span 2;grid-row:span 2}
  .spec>div,.c-list>div{grid-template-columns:minmax(0,1fr);gap:.2rem}
  .form .row{grid-template-columns:minmax(0,1fr)}
  .faq details p{padding-right:0}
  .cta-phones{grid-template-columns:minmax(0,1fr)}
  .ftr-grid{grid-template-columns:minmax(0,1fr)}
  .mapframe,.mapframe iframe{min-height:320px}
  .mbar{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;left:0;right:0;bottom:0;z-index:55;background:var(--text);padding-bottom:env(safe-area-inset-bottom,0px);view-transition-name:mbar}
  .mbar a{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.65rem .3rem;color:#EFECE4;text-decoration:none;font-family:var(--f-label);font-weight:700;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;border-left:1px solid #35373C}
  .mbar a:first-child{background:var(--primary);color:var(--on-primary);border-left:0}
  .mbar svg{width:20px;height:20px}
}

/* =====================================================================
   EFFETTI — dal Design Kit (invariati nella logica, adattati ai nuovi componenti)
   ===================================================================== */

/* BTN-01 sweep + BTN-04 icona viva */
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--secondary);transform:scaleX(0);transform-origin:right;transition:transform var(--d-m) var(--ease-out)}
.btn-o::before{background:var(--primary)}
@media (hover:hover){
  .btn:hover::before{transform:scaleX(1);transform-origin:left}
  .btn-y:hover{color:var(--on-secondary)}
  .btn-o:hover{color:var(--on-primary);border-color:var(--primary)}
  .btn:hover svg{transform:translateX(3px)}
  .btn[href^="tel:"]:hover svg{transform:none;animation:ring .6s var(--ease-snap)}
  .btn[href*="wa.me"]:hover svg,.btn[type="submit"]:hover svg{transform:translateY(-3px) scale(1.1)}
}
@keyframes ring{0%,100%{transform:rotate(0)}20%{transform:rotate(-14deg)}40%{transform:rotate(12deg)}60%{transform:rotate(-8deg)}80%{transform:rotate(5deg)}}

/* BTN-08 barra mobile */
.mbar a{transition:transform var(--d-xs) var(--ease-snap)}
.mbar a:active{transform:scale(.97);filter:brightness(1.15)}

/* LNK-01 */
@media (hover:hover){.lnk:hover{background-size:100% 100%}}

/* NAV-01 barra sotto la voce */
@media (min-width:961px){
  .nav-list>li>a{position:relative}
  .nav-list>li>a::before{content:"";position:absolute;left:.8rem;right:.8rem;bottom:.2rem;height:2px;background:var(--primary);transform:scaleX(0);transform-origin:right;transition:transform var(--d-m) var(--ease-out)}
  .nav-list>li>a:hover::before,.nav-list>li>a[aria-current="page"]::before,.dd.is-active>.dd-top::before{transform:scaleX(1);transform-origin:left}
}

/* NAV-03 tendina / mega menu */
@media (min-width:961px){
  .dd-menu{display:flex;visibility:hidden;opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(-6px);
    transition:clip-path var(--d-m) var(--ease-out) .12s,opacity var(--d-s) .12s,transform var(--d-m) var(--ease-out) .12s,visibility 0s calc(var(--d-m) + .12s)}
  .mega{display:grid}
  .dd:hover .dd-menu,.dd:focus-within .dd-menu{visibility:visible;opacity:1;clip-path:inset(0 -2px -40px -40px);transform:none;transition-delay:0s}
  .dd-menu a{opacity:0;transform:translateX(-8px);transition:opacity var(--d-s),transform var(--d-m) var(--ease-out),background var(--d-s)}
  .dd:hover .dd-menu a,.dd:focus-within .dd-menu a{opacity:1;transform:none;transition-delay:calc(var(--i,0)*30ms + 60ms)}
  .dd-top::after{transition:transform var(--d-m) var(--ease-back)}
  .dd:hover .dd-top::after,.dd:focus-within .dd-top::after{transform:translateY(1px) rotate(225deg)}
}

/* NAV-04 header intelligente */
.hdr{transition:transform var(--d-m) var(--ease-out),box-shadow var(--d-m)}
.hdr-in{transition:padding var(--d-m) var(--ease-out)}
.hdr.is-scrolled{box-shadow:0 12px 30px -22px rgba(23,24,26,.5)}
.hdr.is-scrolled .hdr-in{padding-block:.55rem}
.hdr.is-hidden{transform:translateY(-110%)}

/* NAV-05 menu mobile a tendina */
@media (max-width:960px){
  .nav{visibility:hidden;clip-path:inset(0 0 100% 0);transition:clip-path .45s var(--ease-inout),visibility 0s .45s}
  .nav.open{visibility:visible;clip-path:inset(0);transition-delay:0s}
  .nav-list>li,.nav-foot{opacity:0;transform:translateY(14px);transition:opacity var(--d-s),transform var(--d-m) var(--ease-out)}
  .nav-foot{--i:4}
  .nav.open .nav-list>li,.nav.open .nav-foot{opacity:1;transform:none;transition-delay:calc(var(--i,0)*45ms + 150ms)}
  body:has(.nav.open){overflow:hidden}
}

/* NAV-07 hamburger → X */
.bars,.bars::before,.bars::after{display:block;width:24px;height:2px;background:currentColor;transition:transform var(--d-m) var(--ease-snap),background var(--d-s)}
.bars{position:relative}
.bars::before,.bars::after{content:"";position:absolute;left:0}
.bars::before{top:-7px}.bars::after{top:7px}
.menu-tg[aria-expanded="true"] .bars{background:transparent}
.menu-tg[aria-expanded="true"] .bars::before{transform:translateY(7px) rotate(45deg)}
.menu-tg[aria-expanded="true"] .bars::after{transform:translateY(-7px) rotate(-45deg)}

/* ACC-01 FAQ fluida */
.faq details::details-content{block-size:0;overflow:hidden;transition:block-size var(--d-m) var(--ease-out),content-visibility var(--d-m) allow-discrete}
.faq details[open]::details-content{block-size:auto}
.faq summary{transition:color var(--d-s),padding var(--d-m) var(--ease-out)}
.faq details[open] summary{color:var(--primary-text)}
@media (hover:hover){.faq summary:hover{padding-left:.5rem}}
html{interpolate-size:allow-keywords}

/* SCR-01 barra di lettura */
@supports (animation-timeline:scroll()){
  .progress{display:block;position:fixed;inset:0 0 auto 0;height:3px;z-index:100;background:var(--primary);transform-origin:left;animation:prog linear both;animation-timeline:scroll(root)}
  @keyframes prog{from{transform:scaleX(0)}to{transform:scaleX(1)}}
}

/* SCR-06 ticker */
.ticker{-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
@media (hover:hover){.ticker:hover .ticker-in{animation-play-state:paused}}

/* SCR-08 torna su */
.totop{position:fixed;right:1rem;bottom:1rem;width:46px;height:46px;border-radius:4px;background:var(--text);color:var(--bg);display:grid;place-items:center;z-index:55;
  opacity:0;transform:translateY(20px);pointer-events:none;transition:opacity var(--d-m),transform var(--d-m) var(--ease-back)}
.totop.on{opacity:1;transform:none;pointer-events:auto}
.totop svg{transition:transform var(--d-m) var(--ease-back)}
@media (hover:hover){.totop:hover svg{transform:translateY(-3px)}}
@media (max-width:760px){.totop{bottom:calc(76px + env(safe-area-inset-bottom,0px))}}

/* SEC-01 striscia che si disegna (solo footer) */
.js .hazard[data-reveal="hz"]{transform:scaleX(0);transform-origin:left}
.js .hazard[data-reveal="hz"].is-in{transform:none;transition:transform .9s var(--ease-inout)}

/* SEC-03 banner stagionale che si apre */
@supports (animation-timeline:view()){
  .season-in{animation:co-open linear both;animation-timeline:view();animation-range:entry 0% cover 30%}
  @keyframes co-open{from{clip-path:inset(0 6% round var(--r))}to{clip-path:inset(0 0 round var(--r))}}
}

/* TXT-01 righe dalla maschera */
.ln{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.ln>span{display:block}
.js [data-reveal~="lines"] .ln>span{transform:translateY(105%)}
.js [data-reveal~="lines"].is-in .ln>span{transform:none;transition:transform var(--d-xl) var(--ease-out) calc(var(--i,0)*90ms)}

/* TXT-05 etichetta */
.label[data-reveal="eyebrow"]::before{transition:transform var(--d-l) var(--ease-out);transform-origin:left}
.js [data-reveal="eyebrow"]{clip-path:inset(0 100% 0 0)}
.js [data-reveal="eyebrow"]::before{transform:scaleX(0)}
.js [data-reveal="eyebrow"].is-in{clip-path:inset(0 -2px);transition:clip-path var(--d-l) var(--ease-out) .1s}
.js [data-reveal="eyebrow"].is-in::before{transform:none}

/* TXT-06 salita semplice */
.js [data-reveal="up"]{opacity:0;transform:translateY(24px)}
.js [data-reveal="up"].is-in{opacity:1;transform:none;transition:opacity var(--d-l) var(--ease-out) calc(var(--i,0)*var(--stagger)),transform var(--d-l) var(--ease-out) calc(var(--i,0)*var(--stagger))}
/* dopo l'entrata, le card tornano alle loro transizioni di hover */
.js .rel[data-reveal="up"].is-in,.js .scard[data-reveal="up"].is-in,.js a.route[data-reveal="up"].is-in{transition:opacity var(--d-l) var(--ease-out),transform var(--d-m) var(--ease-out),box-shadow var(--d-m),border-color var(--d-s)}

/* IMG-IN-01 tendina laterale */
.js [data-reveal="wipe"]{clip-path:inset(0 100% 0 0)}
.js [data-reveal="wipe"] img{transform:scale(1.15)}
.js [data-reveal="wipe"].is-in{clip-path:inset(0);transition:clip-path var(--d-xl) var(--ease-inout)}
.js [data-reveal="wipe"].is-in img{transform:none;transition:transform 1.4s var(--ease-out),filter var(--d-m)}
@media (hover:hover){.js .pic[data-reveal="wipe"].is-in:hover img{transform:scale(1.04);transition:transform .6s var(--ease-out),filter var(--d-m)}}

/* IMG-IN-04 zoom-out nella cornice */
.js [data-reveal="zoom"] img{transform:scale(1.25);opacity:0}
.js [data-reveal="zoom"].is-in img{transform:none;opacity:1;transition:transform 1.2s var(--ease-out) calc(var(--i,0)*var(--stagger)),opacity var(--d-l) calc(var(--i,0)*var(--stagger))}
@media (hover:hover){.js .gallery [data-reveal="zoom"].is-in:hover img{transform:scale(1.05);transition:transform .6s var(--ease-out)}}

/* PAGE-01 + PAGE-04 transizioni tra pagine */
@view-transition{navigation:auto}
.hdr{view-transition-name:hdr}
::view-transition-old(root){animation:vt-out .25s var(--ease-in) both}
::view-transition-new(root){animation:vt-in .45s var(--ease-out) both}
::view-transition-group(*){animation-duration:.55s;animation-timing-function:var(--ease-inout)}
::view-transition-group(root){animation-duration:.45s}
@keyframes vt-out{to{opacity:0;transform:translateY(-12px)}}
@keyframes vt-in{from{opacity:0;transform:translateY(18px)}}

/* riduzione movimento — sempre attivo */
@media (prefers-reduced-motion:reduce){
  @view-transition{navigation:none}
  .ticker-in,.season-in{animation:none}
  *,*::before,*::after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}
}

/* =====================================================================
   EFFETTI NUOVI v3 (oltre il kit)
   ===================================================================== */

/* FX-01 torcia sulle curve di livello (sezioni scure, solo mouse) */
.dark.contour::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:0;
  background:radial-gradient(circle 260px at var(--mx,50%) var(--my,50%),var(--primary),transparent 70%);
  -webkit-mask:var(--contour-svg) center/cover no-repeat;mask:var(--contour-svg) center/cover no-repeat;transition:opacity .5s var(--ease-out)}
.dark.contour.lit::after{opacity:.55}

/* FX-02 scheda che esce dalla stampante */
.js [data-reveal="print"]{clip-path:inset(0 0 100% 0 round var(--r))}
.js [data-reveal="print"] .ticket-bd>*{opacity:0;transform:translateY(-10px)}
.js [data-reveal="print"].is-in{clip-path:inset(0 0 0 0 round var(--r));transition:clip-path 1.1s cubic-bezier(.5,0,.3,1) .15s}
.js [data-reveal="print"].is-in .ticket-bd>*{opacity:1;transform:none;transition:opacity var(--d-l) var(--ease-out),transform var(--d-l) var(--ease-out);transition-delay:calc(var(--i,0)*60ms + .45s)}
.js [data-reveal="print"]{box-shadow:none}
.js [data-reveal="print"].is-in{box-shadow:var(--shadow)}

/* FX-03 curve che scorrono con lo scroll (parallasse leggera, solo CSS) */
@supports (animation-timeline:view()){
  .hero.contour::before,.dark.contour::before,.phero-plain.contour::before{animation:drift linear both;animation-timeline:view();animation-range:cover}
  @keyframes drift{from{transform:translateY(-4%) scale(1.06)}to{transform:translateY(6%) scale(1.06)}}
  .about-pic2{animation:float-up linear both;animation-timeline:view();animation-range:entry 20% exit 80%}
  @keyframes float-up{from{transform:translateY(40px)}to{transform:translateY(-30px)}}
}

/* FX-04 icona che si "accende" del colore di famiglia */
.mi{transition:background var(--d-m) var(--ease-out),color var(--d-m) var(--ease-out),border-color var(--d-m)}
@media (hover:hover){
  .row:hover .mi,.rel:hover .mi,.mega-grid a:hover .mi{background:var(--fam);border-color:var(--fam);color:#fff}
  .row:hover .mi svg,.rel:hover .mi svg{animation:nudge .5s var(--ease-back)}
}
@keyframes nudge{40%{transform:rotate(-12deg) scale(1.1)}}

@media (prefers-reduced-motion:reduce){
  .hero.contour::before,.dark.contour::before,.phero-plain.contour::before,.about-pic2{animation:none}
}
