/* ==========================================================================
   FABIO ONORINI — PORTFOLIO
   Struttura:
   1. Font e variabili
   2. Base
   3. Header e hero
   4. Marquee
   5. Tab
   6. Work (selected work + archivio)
   7. Info e Social
   8. Footer
   9. Lightbox
   10. Responsive (900px, 650px)
   11. Reduced motion
   ========================================================================== */


/* 1. FONT E VARIABILI ====================================================== */

/* Inter (variabile: peso 100–900 e dimensione ottica 14–32, licenza OFL in fonts/inter-LICENSE.txt), incluso nel sito.
   Con font-optical-sizing:auto (predefinito) i titoli grandi usano Inter Display, più compatto */
@font-face{font-family:'Inter';src:url('fonts/inter-latin.woff2?v=2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';src:url('fonts/inter-latin-ext.woff2?v=2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap;
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{
  font-family:'Albertus Nova';
  src:url('fonts/albertus-nova-regular.ttf') format('truetype');
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

:root{
  --bg:#050505;
  --white:#f5f4f0;
  --red:#ff160b;
  --ink:#050505;          /* nero usato sulle bande rosse */
  --line:#303030;
  --sans:'Inter','Helvetica Neue',Arial,sans-serif;
  --display:'Albertus Nova',Georgia,serif;
  --paper:url('assets/paper-tile.jpg');
  --gutter:2.5vw;
  --lettering-w:min(70vw,1220px);   /* larghezza lettering hero */
}


/* 2. BASE ================================================================== */

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--white);
  font-family:var(--sans);
  letter-spacing:.01em; /* un filo più aperto */
  -webkit-font-smoothing:antialiased;
  background-color:#080808;
  background-image:linear-gradient(#0505058c,#0505058c),var(--paper);
  background-position:center top;
  background-size:auto,1067px auto;
  background-repeat:repeat;
}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
[hidden]{display:none!important}

button:focus-visible,
a:focus-visible,
.archive-slider:focus-visible{outline:2px solid var(--red);outline-offset:3px}

.eyebrow{font-size:.76rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}

/* Rosso con texture carta: marquee, archivio, footer */
.marquee,
.archive-band,
.footer{
  background-color:var(--red);
  background-image:linear-gradient(#ff160be8,#ff160be8),var(--paper);
  background-size:auto,1067px auto;
}


/* 3. HEADER E HERO ========================================================= */

.header-meta{
  height:74px;
  padding:0 var(--gutter);
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  align-items:center;
  border:0;
  font-size:12px;
  font-weight:700;
  letter-spacing:.03em;
}
.monogram{font:900 26px/1 var(--display);letter-spacing:-.04em;width:max-content}
.monogram span{font:1rem/1 var(--sans);letter-spacing:.01em;color:var(--red);vertical-align:top;margin-left:.22em}
.header-location{text-align:center;font-weight:500}
.header-location b{color:var(--red);padding:0 .25em}
.header-ig{text-align:right}
.header-ig:hover{color:var(--red)}

.hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  height:calc(var(--lettering-w) / 2.35 + 350px);
  min-height:620px;
  padding:0;
}

/* Lettering (immagine) */
.hero h1.signature-art{
  width:var(--lettering-w);
  aspect-ratio:2.35;
  overflow:hidden;
  margin:0;
  line-height:0;
  z-index:1;
  pointer-events:none;
  mix-blend-mode:screen;
}
.signature-art img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 70%;
  filter:grayscale(1) brightness(1.12); /* toglie il tono crema: lettering bianco */
  user-select:none;
}

/* Stencil trascinabili (PNG trasparenti in assets/stencils/) */
.hero-collage{position:absolute;inset:4px var(--gutter) 10px;pointer-events:none}
.collage-photo{
  position:absolute;
  height:calc(clamp(150px,13.5vw,215px) * var(--s,1) * var(--k,1)); /* --s: scala decisa dallo script per farli stare tutti */
  width:auto; /* larghezza dalle proporzioni (aspect-ratio impostato dallo script) */
  display:block;
  padding:0;
  background:none;
  border:0;
  transform:rotate(var(--angle));
  cursor:grab;
  touch-action:none;
  pointer-events:auto;
  user-select:none;
}
.collage-photo img{display:block;width:100%;height:100%;max-width:none;pointer-events:none}
.collage-photo.is-dragging{cursor:grabbing}
.collage-photo:focus-visible{outline:2px solid var(--red);outline-offset:5px}
/* Gli stencil restano invisibili finché lo script non li ha sparsi (pochi millisecondi) */
/* Gli stencil si vedono subito, già al loro posto (le misure sono note prima del caricamento) */
.hero-collage .collage-photo{opacity:1;visibility:visible}



/* 4. MARQUEE =============================================================== */

.marquee{
  overflow:hidden;
  padding:13px 0;
  border-block:1px solid var(--red);
  color:var(--ink);
  font-size:13px;
  font-weight:500;
  letter-spacing:.07em;
  white-space:nowrap;
}
.marquee span{color:var(--ink);margin:0 24px;font-size:15px}
/* Due gruppi identici a tutta larghezza: il loop non ha stacchi */
.marquee-track{display:flex;width:max-content;animation:ribbon 55s linear infinite}
.marquee-group{display:flex;align-items:center;flex-shrink:0;min-width:100vw;width:max-content}
@keyframes ribbon{to{transform:translateX(-50%)}}


/* 5. TAB =================================================================== */

.tabs{
  display:flex;
  justify-content:center;
  gap:65px;
  padding:10px var(--gutter) 44px;
  border:0;
  scroll-margin-top:20px;
}
.tabs button{
  position:relative;
  display:flex;
  gap:5px;
  align-items:baseline;
  padding:9px 0;
  border:0;
  background:none;
  color:var(--white);
  text-align:left;
  cursor:pointer;
  font-size:15px;
  font-weight:700;
  letter-spacing:.01em;
}
.tabs button::after{content:'';position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--red);transition:right .25s}
.tabs button:hover::after,
.tabs button[aria-selected="true"]::after{right:0}


/* 6. WORK ================================================================== */

.panel{min-height:500px}
.work-panel{padding:70px var(--gutter) 0} /* come le altre sezioni: etichetta [ 01 / PORTFOLIO ] e poi i lavori */
.work-panel>.eyebrow{display:block;margin-bottom:40px}

.section-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:2rem;
  min-height:135px;
  padding:60px 0 27px;
}
.section-heading h2{font:700 clamp(18px,1.8vw,27px)/1.1 var(--sans);letter-spacing:-.01em;margin:0}
.section-heading p{margin:0;font-size:12px;letter-spacing:.08em;color:#8c8c8c}

/* Card (usate sia nella griglia sia nello slider) */
.art-card{position:relative;overflow:hidden;min-width:0;margin:0;background:#1d1d1d}
.art-card button{display:block;width:100%;height:100%;padding:0;border:0;background:none;text-align:left;cursor:zoom-in}
.art-card img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  transition:transform .65s cubic-bezier(.22,.61,.36,1),filter .45s ease;
}

/* Hover: tutte le foto (selected work e archivio) passano in bianco e nero.
   Solo col mouse sopra: da tastiera la foto selezionata ha il contorno rosso, così non resta mai grigia per sbaglio */
@media(hover:hover){
  .art-card button:hover img{transform:scale(1.025);filter:grayscale(1) contrast(1.1)}
}

/* Selected work */
.featured-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-auto-rows:auto;
  grid-auto-flow:dense;
  gap:28px;
  row-gap:38px;
}
.featured-grid .art-card{aspect-ratio:4/5;background:#161616}

/* Archivio (banda rossa) */
.archive-band{margin:100px calc(var(--gutter) * -1) 0;padding:0 var(--gutter) 50px;color:var(--ink)}
.archive-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;padding:55px 0 30px}
.archive-heading .eyebrow{font-size:12px;font-weight:400;color:var(--ink)}
.archive-heading h3{font:500 clamp(55px,8vw,125px)/1 var(--sans);letter-spacing:-.02em;margin:10px 0 15px}
.archive-heading p{margin:0 0 .2rem;font-size:15px;color:var(--ink)}

.slider-controls{display:flex;gap:8px;align-items:center}
.slider-controls span{margin-right:1.2rem;white-space:nowrap;font-size:12px;font-weight:400;letter-spacing:.07em;color:var(--ink)}
.slider-controls button{
  width:54px;
  height:54px;
  border:1px solid var(--ink);
  border-radius:50%;
  background:transparent;
  color:var(--ink);
  font-size:1.4rem;
  cursor:pointer;
  transition:background .2s,color .2s,border-color .2s;
}
.slider-controls button:hover:not(:disabled){background:var(--ink);border-color:var(--ink);color:var(--red)}
.slider-controls button:disabled{opacity:.35;cursor:default}

.archive-slider{
  display:flex;
  gap:24px;
  padding-bottom:25px;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x mandatory;
  scroll-padding-right:24px;
  scrollbar-width:none;
  scrollbar-color:var(--ink) transparent;
}
.archive-slider::-webkit-scrollbar{display:none}
.archive-slider .art-card{flex:0 0 31%;height:auto;aspect-ratio:4/5;scroll-snap-align:start}

.archive-band button:focus-visible,
.archive-band .archive-slider:focus-visible,
.footer a:focus-visible{outline-color:var(--ink)}


/* 7. INFO E SOCIAL ========================================================= */

.info-panel,
.social-panel{padding:70px 5vw 100px}

.info-panel h2,
.social-panel h2{font:500 clamp(60px,8vw,135px)/.95 var(--sans);letter-spacing:-.02em;margin:.2em 0}
.social-panel h2{margin:.28em 0 .4em}
.info-panel h2 em,
.social-panel h2 em{font-style:normal;color:var(--red)}

.info-layout{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;min-height:400px}
.info-text p{max-width:600px;margin:0 0 1.5rem;font-size:clamp(17px,1.4vw,23px);line-height:1.48;color:#c4c4c4}

.social-links{border-top:1px solid var(--line)}
.social-links .social-email{overflow-wrap:anywhere} /* l'indirizzo email va a capo se non ci sta */
.social-links>:is(a,div){
  display:grid;
  grid-template-columns:1fr 2fr auto;
  align-items:center;
  gap:1rem;
  padding:30px 0;
  border-bottom:1px solid var(--line);
  transition:color .2s;
}
.social-links a:hover{color:var(--red)}
.social-links>:is(a,div) span{font-size:.74rem;font-weight:700;letter-spacing:.05em}
.social-links>:is(a,div) span:last-child{font-size:1.5rem}
.social-links>:is(a,div) strong{font-size:clamp(22px,3vw,48px);font-weight:500;letter-spacing:-.015em}


/* 8. FOOTER ================================================================ */

.footer{
  display:flex;
  justify-content:space-between;
  gap:1rem;
  padding:30px var(--gutter) 36px;
  border-top:1px solid var(--ink);
  color:var(--ink);
  font-size:12px;
  font-weight:700;
}
.footer a:hover{text-decoration:underline}


/* 9. LIGHTBOX ============================================================== */

.lightbox{
  width:100vw;
  max-width:none;
  height:100vh;
  max-height:none;
  padding:0;
  border:0;
  background:rgba(7,7,7,.98);
  color:white;
  overflow:hidden;
}
.lightbox::backdrop{background:#000}
.lightbox[open]{display:flex;align-items:center;justify-content:center}
.lightbox figure{margin:0;width:min(78vw,1100px);height:92vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.lightbox img{max-width:100%;max-height:calc(92vh - 44px);object-fit:contain}
.lightbox figcaption{font-size:.78rem;text-transform:uppercase;letter-spacing:.09em}
.lightbox button{position:absolute;width:44px;height:44px;display:grid;place-items:center;border:1px solid #777;background:transparent;color:white;font-size:1.5rem;line-height:1;cursor:pointer}
.lightbox button:hover{background:var(--red);border-color:var(--red);color:#000}
.lightbox-close{right:2vw;top:2vw}
.lightbox-prev{left:2vw;top:50%;transform:translateY(-50%)}
.lightbox-next{right:2vw;top:50%;transform:translateY(-50%)}


/* 10. RESPONSIVE =========================================================== */

@media(max-width:900px){
  .featured-grid{gap:16px;row-gap:22px}
  .section-heading{min-height:110px;padding-top:42px}
  .archive-slider .art-card{flex-basis:42%}
  .info-layout{gap:5vw}
}

@media(max-width:650px){
  :root{--lettering-w:74vw}
  .header-meta{height:62px;padding-inline:5vw;grid-template-columns:auto 1fr;gap:1rem}
  .header-location{text-align:right;font-size:10px}
  .header-ig{display:none}

  .hero{height:550px;min-height:550px}
  .hero-collage{inset:16px 5vw}
  .collage-photo{height:calc(84px * var(--s,1) * var(--k,1))}

  .marquee{padding-block:11px;font-size:11px}
  .marquee span{margin-inline:16px}

  .tabs{gap:43px;padding:6px 5vw 34px}
  .tabs button{gap:4px;font-size:14px;line-height:1}

  .work-panel{padding-inline:5vw;padding-top:45px}
  .work-panel>.eyebrow{margin-bottom:28px}
  .section-heading{min-height:100px;padding:35px 0 22px}
  .section-heading h2{font-size:18px}
  .section-heading p{font-size:10px}

  .featured-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;row-gap:12px}
  .featured-grid .art-card{aspect-ratio:3/4}
  .featured-grid .art-card:first-child{grid-column:1/-1;aspect-ratio:4/4.4}
  /* con un numero pari di lavori l'ultimo resterebbe da solo: a tutta larghezza come il primo */
  .featured-grid .art-card:last-child:nth-child(even){grid-column:1/-1;aspect-ratio:4/4.4}

  .archive-band{margin:60px -5vw 0;padding:0 5vw 30px}
  .archive-heading{gap:1rem;padding:35px 0 22px}
  .archive-heading .eyebrow{font-size:11px}
  .archive-heading h3{font-size:48px;margin:12px 0 0}
  .archive-heading p{display:none}
  .slider-controls{gap:5px}
  .slider-controls span{display:none}
  .slider-controls button{width:38px;height:38px;font-size:1.1rem}
  .archive-slider{gap:12px}
  .archive-slider .art-card{flex-basis:82%}

  .info-panel,
  .social-panel{padding:45px 5vw 65px}
  .info-layout{display:block}
  .info-panel h2,
  .social-panel h2{font-size:16vw;margin:28px 0 40px}
  .cal-panel h2{font-size:14vw} /* "appuntamenti." a 16vw usciva dallo schermo */
  .info-text p{font-size:17px}

  .social-links>:is(a,div){grid-template-columns:1fr auto;padding:23px 0}
  .social-links>:is(a,div) strong{grid-column:1;grid-row:2;font-size:23px}
  .social-links>:is(a,div) span:last-child{grid-column:2;grid-row:1/3}

  .footer{padding:25px 5vw;font-size:10px}
  .footer span:last-child{display:none}

  .lightbox figure{width:82vw}
  .lightbox button{width:34px;height:34px;font-size:1.2rem}
  .lightbox-close{right:4vw;top:4vw}
}


/* 11. REDUCED MOTION ======================================================= */

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .marquee-track{animation:none}
  .art-card img,
  .collage-photo{transition:none}
}


/* 12. CURSORE A MACCHINETTA DA TATUAGGIO =================================== */
/* Punto attivo sulla punta dell'ago (1px, 47px) */
:root{--tattoo-cursor:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2248%22 height=%2248%22 viewBox=%2274 54 679 679%22%3E%3Cpath d=%22M82 726 C79 723 79 723 79 714 C79 708 81 693 83 675 C89 637 88 640 104 639 C114 639 116 639 118 638 C119 636 119 636 115 632 L110 628 L110 617 C110 609 110 606 111 604 C114 602 113 601 108 598 C98 592 94 583 95 566 C96 557 96 555 98 550 C102 544 106 538 111 536 C115 534 115 534 115 527 C116 518 122 507 129 502 C134 499 134 498 134 493 C134 484 143 469 150 467 C153 467 153 466 153 460 C154 450 161 438 169 435 C171 434 172 433 172 427 C173 417 179 407 188 402 C192 400 192 400 192 394 C192 384 199 373 209 369 C211 367 215 366 222 366 L232 366 L232 357 L233 348 L245 327 C259 303 258 304 272 304 C280 305 278 304 301 317 L305 319 L315 301 L326 283 L324 279 C321 273 321 253 324 247 C327 238 335 234 347 233 L356 233 L370 209 L385 185 L383 182 C382 179 382 176 382 162 C382 144 383 141 390 133 C398 126 401 124 420 124 C435 124 436 125 441 127 C447 130 453 138 456 144 C457 147 458 148 464 152 C468 154 472 156 473 157 C474 158 463 146 448 132 C432 116 421 104 420 101 C418 99 418 96 418 89 C418 81 419 80 421 77 C424 75 424 74 435 74 L445 74 L458 88 C474 105 499 128 500 127 C500 127 503 123 506 117 L512 107 L555 83 L599 59 L609 59 C622 59 621 58 633 81 L643 99 L643 109 C643 119 643 120 641 122 C637 125 554 171 551 171 C548 171 549 172 565 186 C610 224 654 256 701 288 C713 296 723 303 724 304 C725 306 725 319 724 324 C723 326 720 331 716 335 C702 351 682 375 682 376 C682 377 683 379 684 380 C688 385 689 389 689 400 C689 411 688 417 684 421 C679 428 674 429 660 430 L648 430 L643 442 C631 472 622 502 621 522 C620 530 619 538 619 540 C614 555 600 567 584 570 C575 572 554 571 547 568 C531 562 521 547 519 531 L519 524 L429 472 C340 419 340 419 335 419 L329 419 L332 423 C336 429 337 436 337 448 C336 457 336 459 334 464 C330 470 326 476 321 478 C317 480 317 480 317 486 C316 497 308 510 300 512 C298 512 298 513 298 517 C298 527 290 541 282 544 C280 545 279 546 279 552 C278 562 269 576 261 578 C260 578 259 579 259 585 C258 595 250 608 242 611 C239 612 239 613 239 618 C238 629 231 640 223 644 C216 647 193 647 187 644 L183 642 L169 666 L155 691 L132 708 C103 731 106 729 95 729 C85 729 85 729 82 726 Z%22 fill=%22%23050505%22 fill-rule=%22evenodd%22/%3E%3Cpath d=%22M88 720 C84 716 84 717 89 681 C93 655 94 651 96 648 C99 645 103 645 108 646 C117 650 124 647 126 639 C128 634 126 631 121 626 C114 620 114 615 120 606 C125 598 126 599 116 593 C105 587 100 578 101 566 C102 557 110 546 117 542 C121 540 121 540 121 533 C122 524 128 513 135 508 C140 505 140 504 140 499 C140 490 149 475 156 473 C159 473 159 472 159 466 C160 456 167 444 175 441 C177 440 178 439 178 433 C179 423 185 413 194 408 C198 406 198 406 198 400 C198 388 208 375 221 373 C228 371 235 373 244 378 C249 381 252 383 253 383 C253 383 254 381 256 379 L258 375 L250 371 C234 363 234 361 251 333 C267 305 265 306 291 321 C300 326 307 330 307 330 C308 330 315 319 322 306 L337 282 L334 278 C326 270 326 255 334 247 C340 241 350 238 358 240 C361 241 361 240 378 213 C387 197 394 184 394 183 C393 183 392 181 390 178 C386 170 386 155 390 148 C393 142 399 136 405 133 C412 129 427 129 435 133 C441 136 447 143 449 149 L452 154 L494 178 C517 191 538 203 540 205 C545 208 546 208 523 189 C487 158 429 102 426 95 C422 88 426 81 434 81 C439 81 439 81 456 98 C477 119 501 141 502 141 C502 140 506 134 510 127 L518 113 L561 89 C599 68 605 65 609 65 C615 65 616 66 627 87 C638 107 639 111 635 116 C633 117 613 129 590 142 L548 165 L537 165 L527 164 L529 166 C531 168 538 174 545 180 C588 217 641 257 693 292 C710 304 718 309 718 311 C720 316 718 321 709 330 C698 342 687 356 677 368 L670 378 L675 383 C683 390 684 397 682 407 C679 420 664 427 652 423 C650 422 647 421 646 420 C643 419 628 458 621 484 C616 500 614 513 615 517 C615 519 615 524 614 528 C610 551 590 567 566 565 C544 563 527 546 525 525 L525 518 L436 466 C387 437 345 413 342 412 C339 411 337 411 334 412 C327 414 324 413 316 408 L309 404 L306 408 C305 410 304 412 304 412 C304 413 308 416 313 419 C324 425 327 429 330 437 C333 450 326 466 315 472 C311 474 311 474 311 480 C310 491 302 504 294 506 C292 506 292 507 292 511 C292 521 284 535 276 538 C274 539 273 540 273 546 C272 556 263 570 255 572 C254 572 253 573 253 579 C252 589 244 602 236 605 C233 606 233 607 233 612 C232 623 225 634 217 638 C213 639 210 640 204 640 C197 640 196 640 188 636 L180 631 L176 639 C173 643 166 655 160 666 L148 685 L125 703 C113 713 101 721 100 722 C96 724 91 723 88 720 Z M122 679 C133 671 135 669 139 660 L142 656 L138 660 C133 665 126 668 118 668 L112 669 L112 675 C111 678 111 682 110 684 C110 686 110 688 110 688 C111 688 116 684 122 679 Z M155 633 L163 620 L158 617 C155 616 150 613 148 612 L143 609 L142 612 C140 614 140 615 142 617 C147 623 149 635 147 645 C146 650 147 649 155 633 Z M209 618 C213 614 214 610 213 608 C211 605 133 560 130 560 C128 560 127 561 125 564 C120 570 121 571 139 582 C182 608 204 620 205 620 C206 620 208 619 209 618 Z M228 584 C232 580 234 576 232 574 C229 572 151 526 149 526 C145 526 140 535 142 539 C143 540 223 587 225 587 C226 587 227 586 228 584 Z M250 549 C252 544 253 542 250 540 C247 537 170 493 168 493 C164 493 159 501 161 504 C162 508 242 554 245 553 C246 553 248 551 250 549 Z M564 542 C564 541 562 532 560 521 L555 501 L553 504 C542 515 545 533 559 542 C563 544 564 545 564 542 Z M594 525 C597 513 590 502 578 497 L575 496 L578 509 C580 517 582 527 583 531 L584 540 L589 535 C592 532 593 529 594 525 Z M268 516 C272 511 272 509 268 506 C265 504 201 466 192 461 C187 459 184 460 181 465 C179 468 179 469 180 471 C181 474 259 520 263 520 C265 520 267 519 268 516 Z M539 487 C554 473 581 472 598 485 C600 486 600 486 600 483 C604 467 616 432 623 418 C625 415 626 412 626 412 C626 411 619 408 618 408 C617 408 606 433 601 447 C598 453 596 458 595 459 C592 461 593 461 575 459 C563 458 547 464 535 474 C524 484 535 489 417 419 C361 386 313 358 311 357 L308 355 L309 357 C314 363 310 373 303 374 L300 375 L303 377 C304 378 311 382 317 385 L328 392 L338 392 C346 392 349 392 354 394 C357 396 398 419 445 447 L530 497 L533 494 C534 492 537 489 539 487 Z M286 485 C290 481 291 477 290 475 C289 473 209 426 207 426 C205 426 200 432 199 435 C199 436 199 438 200 439 C201 441 280 487 283 487 C284 487 285 486 286 485 Z M531 452 C543 444 555 440 570 439 L582 439 L585 430 C587 425 590 417 593 411 C596 405 598 400 598 400 C598 399 583 392 582 392 C581 393 577 399 572 408 C562 424 558 429 550 433 C543 437 532 438 524 436 C520 435 480 413 470 406 C468 404 457 398 390 359 C379 353 367 346 363 344 C360 342 357 340 356 340 C355 340 348 351 348 353 C348 354 520 457 522 457 C522 457 526 455 531 452 Z M307 450 C311 445 311 443 308 440 C306 439 238 399 230 395 C226 393 223 394 220 399 C216 405 215 405 260 430 C282 443 301 454 302 454 C303 454 305 453 307 450 Z M662 399 C661 397 352 259 350 260 C348 261 347 263 349 265 C350 266 640 395 658 403 C661 404 664 402 662 399 Z M288 398 L291 394 L288 392 C286 391 283 390 280 388 L276 386 L274 389 C273 391 272 393 272 394 C272 395 283 402 285 402 C285 402 287 400 288 398 Z M459 372 C459 368 462 361 467 352 C470 347 472 343 471 343 C470 342 470 342 462 356 C460 359 456 364 454 366 L450 370 L454 373 C458 375 459 375 459 372 Z M290 364 C290 357 292 354 298 352 L302 351 L292 346 C287 343 281 339 278 338 L274 335 L269 344 C266 349 264 354 264 354 C264 355 270 358 277 363 C284 367 290 370 290 370 C290 370 290 367 290 364 Z M658 361 C666 350 681 330 688 324 C692 320 692 319 691 318 C689 316 452 178 450 178 C449 178 448 179 447 181 L445 184 L449 184 C456 184 462 187 485 200 C516 218 521 224 521 243 C521 253 520 256 505 282 C497 295 494 301 495 301 C496 302 498 300 500 296 C502 292 508 283 512 275 C523 257 526 253 535 249 C543 245 554 244 562 246 C569 248 612 274 616 278 C622 284 625 292 626 302 C626 312 625 316 619 327 C616 332 614 336 614 337 C614 337 618 336 622 335 C632 333 648 331 651 332 C655 333 657 336 657 341 C657 346 657 347 652 353 C645 361 642 366 642 366 C643 367 649 370 650 370 C650 370 654 366 658 361 Z M338 328 C344 317 345 316 349 315 C354 314 354 313 354 309 C355 306 356 302 358 299 C360 293 360 291 356 291 C356 291 349 302 341 316 C329 335 326 340 327 341 C329 342 329 342 338 328 Z M399 228 C406 215 414 202 416 200 L419 195 L416 195 C412 195 412 195 396 223 C381 249 380 250 382 251 C384 251 385 252 385 252 C385 252 392 241 399 228 Z M424 174 C433 169 433 158 425 152 C420 149 412 151 409 156 C405 162 407 169 413 173 C417 175 420 176 424 174 Z M577 125 C600 112 613 104 612 104 C612 103 610 99 608 96 L604 89 L568 109 L533 129 L528 136 L524 144 L530 144 C534 144 537 145 538 145 C539 145 557 136 577 125 Z%22 fill=%22%23f5f4f0%22 fill-rule=%22evenodd%22/%3E%3C/svg%3E") 1 47, auto}
:root{--tattoo-cursor-hover:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2248%22 height=%2248%22 viewBox=%2274 54 679 679%22%3E%3Cpath d=%22M82 726 C79 723 79 723 79 714 C79 708 81 693 83 675 C89 637 88 640 104 639 C114 639 116 639 118 638 C119 636 119 636 115 632 L110 628 L110 617 C110 609 110 606 111 604 C114 602 113 601 108 598 C98 592 94 583 95 566 C96 557 96 555 98 550 C102 544 106 538 111 536 C115 534 115 534 115 527 C116 518 122 507 129 502 C134 499 134 498 134 493 C134 484 143 469 150 467 C153 467 153 466 153 460 C154 450 161 438 169 435 C171 434 172 433 172 427 C173 417 179 407 188 402 C192 400 192 400 192 394 C192 384 199 373 209 369 C211 367 215 366 222 366 L232 366 L232 357 L233 348 L245 327 C259 303 258 304 272 304 C280 305 278 304 301 317 L305 319 L315 301 L326 283 L324 279 C321 273 321 253 324 247 C327 238 335 234 347 233 L356 233 L370 209 L385 185 L383 182 C382 179 382 176 382 162 C382 144 383 141 390 133 C398 126 401 124 420 124 C435 124 436 125 441 127 C447 130 453 138 456 144 C457 147 458 148 464 152 C468 154 472 156 473 157 C474 158 463 146 448 132 C432 116 421 104 420 101 C418 99 418 96 418 89 C418 81 419 80 421 77 C424 75 424 74 435 74 L445 74 L458 88 C474 105 499 128 500 127 C500 127 503 123 506 117 L512 107 L555 83 L599 59 L609 59 C622 59 621 58 633 81 L643 99 L643 109 C643 119 643 120 641 122 C637 125 554 171 551 171 C548 171 549 172 565 186 C610 224 654 256 701 288 C713 296 723 303 724 304 C725 306 725 319 724 324 C723 326 720 331 716 335 C702 351 682 375 682 376 C682 377 683 379 684 380 C688 385 689 389 689 400 C689 411 688 417 684 421 C679 428 674 429 660 430 L648 430 L643 442 C631 472 622 502 621 522 C620 530 619 538 619 540 C614 555 600 567 584 570 C575 572 554 571 547 568 C531 562 521 547 519 531 L519 524 L429 472 C340 419 340 419 335 419 L329 419 L332 423 C336 429 337 436 337 448 C336 457 336 459 334 464 C330 470 326 476 321 478 C317 480 317 480 317 486 C316 497 308 510 300 512 C298 512 298 513 298 517 C298 527 290 541 282 544 C280 545 279 546 279 552 C278 562 269 576 261 578 C260 578 259 579 259 585 C258 595 250 608 242 611 C239 612 239 613 239 618 C238 629 231 640 223 644 C216 647 193 647 187 644 L183 642 L169 666 L155 691 L132 708 C103 731 106 729 95 729 C85 729 85 729 82 726 Z%22 fill=%22%23050505%22 fill-rule=%22evenodd%22/%3E%3Cpath d=%22M88 720 C84 716 84 717 89 681 C93 655 94 651 96 648 C99 645 103 645 108 646 C117 650 124 647 126 639 C128 634 126 631 121 626 C114 620 114 615 120 606 C125 598 126 599 116 593 C105 587 100 578 101 566 C102 557 110 546 117 542 C121 540 121 540 121 533 C122 524 128 513 135 508 C140 505 140 504 140 499 C140 490 149 475 156 473 C159 473 159 472 159 466 C160 456 167 444 175 441 C177 440 178 439 178 433 C179 423 185 413 194 408 C198 406 198 406 198 400 C198 388 208 375 221 373 C228 371 235 373 244 378 C249 381 252 383 253 383 C253 383 254 381 256 379 L258 375 L250 371 C234 363 234 361 251 333 C267 305 265 306 291 321 C300 326 307 330 307 330 C308 330 315 319 322 306 L337 282 L334 278 C326 270 326 255 334 247 C340 241 350 238 358 240 C361 241 361 240 378 213 C387 197 394 184 394 183 C393 183 392 181 390 178 C386 170 386 155 390 148 C393 142 399 136 405 133 C412 129 427 129 435 133 C441 136 447 143 449 149 L452 154 L494 178 C517 191 538 203 540 205 C545 208 546 208 523 189 C487 158 429 102 426 95 C422 88 426 81 434 81 C439 81 439 81 456 98 C477 119 501 141 502 141 C502 140 506 134 510 127 L518 113 L561 89 C599 68 605 65 609 65 C615 65 616 66 627 87 C638 107 639 111 635 116 C633 117 613 129 590 142 L548 165 L537 165 L527 164 L529 166 C531 168 538 174 545 180 C588 217 641 257 693 292 C710 304 718 309 718 311 C720 316 718 321 709 330 C698 342 687 356 677 368 L670 378 L675 383 C683 390 684 397 682 407 C679 420 664 427 652 423 C650 422 647 421 646 420 C643 419 628 458 621 484 C616 500 614 513 615 517 C615 519 615 524 614 528 C610 551 590 567 566 565 C544 563 527 546 525 525 L525 518 L436 466 C387 437 345 413 342 412 C339 411 337 411 334 412 C327 414 324 413 316 408 L309 404 L306 408 C305 410 304 412 304 412 C304 413 308 416 313 419 C324 425 327 429 330 437 C333 450 326 466 315 472 C311 474 311 474 311 480 C310 491 302 504 294 506 C292 506 292 507 292 511 C292 521 284 535 276 538 C274 539 273 540 273 546 C272 556 263 570 255 572 C254 572 253 573 253 579 C252 589 244 602 236 605 C233 606 233 607 233 612 C232 623 225 634 217 638 C213 639 210 640 204 640 C197 640 196 640 188 636 L180 631 L176 639 C173 643 166 655 160 666 L148 685 L125 703 C113 713 101 721 100 722 C96 724 91 723 88 720 Z M122 679 C133 671 135 669 139 660 L142 656 L138 660 C133 665 126 668 118 668 L112 669 L112 675 C111 678 111 682 110 684 C110 686 110 688 110 688 C111 688 116 684 122 679 Z M155 633 L163 620 L158 617 C155 616 150 613 148 612 L143 609 L142 612 C140 614 140 615 142 617 C147 623 149 635 147 645 C146 650 147 649 155 633 Z M209 618 C213 614 214 610 213 608 C211 605 133 560 130 560 C128 560 127 561 125 564 C120 570 121 571 139 582 C182 608 204 620 205 620 C206 620 208 619 209 618 Z M228 584 C232 580 234 576 232 574 C229 572 151 526 149 526 C145 526 140 535 142 539 C143 540 223 587 225 587 C226 587 227 586 228 584 Z M250 549 C252 544 253 542 250 540 C247 537 170 493 168 493 C164 493 159 501 161 504 C162 508 242 554 245 553 C246 553 248 551 250 549 Z M564 542 C564 541 562 532 560 521 L555 501 L553 504 C542 515 545 533 559 542 C563 544 564 545 564 542 Z M594 525 C597 513 590 502 578 497 L575 496 L578 509 C580 517 582 527 583 531 L584 540 L589 535 C592 532 593 529 594 525 Z M268 516 C272 511 272 509 268 506 C265 504 201 466 192 461 C187 459 184 460 181 465 C179 468 179 469 180 471 C181 474 259 520 263 520 C265 520 267 519 268 516 Z M539 487 C554 473 581 472 598 485 C600 486 600 486 600 483 C604 467 616 432 623 418 C625 415 626 412 626 412 C626 411 619 408 618 408 C617 408 606 433 601 447 C598 453 596 458 595 459 C592 461 593 461 575 459 C563 458 547 464 535 474 C524 484 535 489 417 419 C361 386 313 358 311 357 L308 355 L309 357 C314 363 310 373 303 374 L300 375 L303 377 C304 378 311 382 317 385 L328 392 L338 392 C346 392 349 392 354 394 C357 396 398 419 445 447 L530 497 L533 494 C534 492 537 489 539 487 Z M286 485 C290 481 291 477 290 475 C289 473 209 426 207 426 C205 426 200 432 199 435 C199 436 199 438 200 439 C201 441 280 487 283 487 C284 487 285 486 286 485 Z M531 452 C543 444 555 440 570 439 L582 439 L585 430 C587 425 590 417 593 411 C596 405 598 400 598 400 C598 399 583 392 582 392 C581 393 577 399 572 408 C562 424 558 429 550 433 C543 437 532 438 524 436 C520 435 480 413 470 406 C468 404 457 398 390 359 C379 353 367 346 363 344 C360 342 357 340 356 340 C355 340 348 351 348 353 C348 354 520 457 522 457 C522 457 526 455 531 452 Z M307 450 C311 445 311 443 308 440 C306 439 238 399 230 395 C226 393 223 394 220 399 C216 405 215 405 260 430 C282 443 301 454 302 454 C303 454 305 453 307 450 Z M662 399 C661 397 352 259 350 260 C348 261 347 263 349 265 C350 266 640 395 658 403 C661 404 664 402 662 399 Z M288 398 L291 394 L288 392 C286 391 283 390 280 388 L276 386 L274 389 C273 391 272 393 272 394 C272 395 283 402 285 402 C285 402 287 400 288 398 Z M459 372 C459 368 462 361 467 352 C470 347 472 343 471 343 C470 342 470 342 462 356 C460 359 456 364 454 366 L450 370 L454 373 C458 375 459 375 459 372 Z M290 364 C290 357 292 354 298 352 L302 351 L292 346 C287 343 281 339 278 338 L274 335 L269 344 C266 349 264 354 264 354 C264 355 270 358 277 363 C284 367 290 370 290 370 C290 370 290 367 290 364 Z M658 361 C666 350 681 330 688 324 C692 320 692 319 691 318 C689 316 452 178 450 178 C449 178 448 179 447 181 L445 184 L449 184 C456 184 462 187 485 200 C516 218 521 224 521 243 C521 253 520 256 505 282 C497 295 494 301 495 301 C496 302 498 300 500 296 C502 292 508 283 512 275 C523 257 526 253 535 249 C543 245 554 244 562 246 C569 248 612 274 616 278 C622 284 625 292 626 302 C626 312 625 316 619 327 C616 332 614 336 614 337 C614 337 618 336 622 335 C632 333 648 331 651 332 C655 333 657 336 657 341 C657 346 657 347 652 353 C645 361 642 366 642 366 C643 367 649 370 650 370 C650 370 654 366 658 361 Z M338 328 C344 317 345 316 349 315 C354 314 354 313 354 309 C355 306 356 302 358 299 C360 293 360 291 356 291 C356 291 349 302 341 316 C329 335 326 340 327 341 C329 342 329 342 338 328 Z M399 228 C406 215 414 202 416 200 L419 195 L416 195 C412 195 412 195 396 223 C381 249 380 250 382 251 C384 251 385 252 385 252 C385 252 392 241 399 228 Z M424 174 C433 169 433 158 425 152 C420 149 412 151 409 156 C405 162 407 169 413 173 C417 175 420 176 424 174 Z M577 125 C600 112 613 104 612 104 C612 103 610 99 608 96 L604 89 L568 109 L533 129 L528 136 L524 144 L530 144 C534 144 537 145 538 145 C539 145 557 136 577 125 Z%22 fill=%22%23ff160b%22 fill-rule=%22evenodd%22/%3E%3C/svg%3E") 1 47, pointer}
/* Base: macchinetta bianca. Su link, pulsanti, foto e stencil: la stessa, rossa. */
html,body,
.slider-controls button:disabled,
.slider-controls button:disabled:hover{cursor:var(--tattoo-cursor)}
a,button,[role="tab"],
.tabs button,
.slider-controls button:not(:disabled),
.lightbox button,
.art-card button,
.collage-photo,
.collage-photo.is-dragging{cursor:var(--tattoo-cursor-hover)}
/* Chrome non mostra i cursori più grandi di 32 px quando escono dal bordo della finestra
   (mette la manina di riserva): nella riga in alto, sempre vicina al bordo, si usa la versione da 32 px */
:root{--tattoo-cursor-sm:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2232%22 height=%2232%22 viewBox=%2274 54 679 679%22%3E%3Cpath d=%22M82 726 C79 723 79 723 79 714 C79 708 81 693 83 675 C89 637 88 640 104 639 C114 639 116 639 118 638 C119 636 119 636 115 632 L110 628 L110 617 C110 609 110 606 111 604 C114 602 113 601 108 598 C98 592 94 583 95 566 C96 557 96 555 98 550 C102 544 106 538 111 536 C115 534 115 534 115 527 C116 518 122 507 129 502 C134 499 134 498 134 493 C134 484 143 469 150 467 C153 467 153 466 153 460 C154 450 161 438 169 435 C171 434 172 433 172 427 C173 417 179 407 188 402 C192 400 192 400 192 394 C192 384 199 373 209 369 C211 367 215 366 222 366 L232 366 L232 357 L233 348 L245 327 C259 303 258 304 272 304 C280 305 278 304 301 317 L305 319 L315 301 L326 283 L324 279 C321 273 321 253 324 247 C327 238 335 234 347 233 L356 233 L370 209 L385 185 L383 182 C382 179 382 176 382 162 C382 144 383 141 390 133 C398 126 401 124 420 124 C435 124 436 125 441 127 C447 130 453 138 456 144 C457 147 458 148 464 152 C468 154 472 156 473 157 C474 158 463 146 448 132 C432 116 421 104 420 101 C418 99 418 96 418 89 C418 81 419 80 421 77 C424 75 424 74 435 74 L445 74 L458 88 C474 105 499 128 500 127 C500 127 503 123 506 117 L512 107 L555 83 L599 59 L609 59 C622 59 621 58 633 81 L643 99 L643 109 C643 119 643 120 641 122 C637 125 554 171 551 171 C548 171 549 172 565 186 C610 224 654 256 701 288 C713 296 723 303 724 304 C725 306 725 319 724 324 C723 326 720 331 716 335 C702 351 682 375 682 376 C682 377 683 379 684 380 C688 385 689 389 689 400 C689 411 688 417 684 421 C679 428 674 429 660 430 L648 430 L643 442 C631 472 622 502 621 522 C620 530 619 538 619 540 C614 555 600 567 584 570 C575 572 554 571 547 568 C531 562 521 547 519 531 L519 524 L429 472 C340 419 340 419 335 419 L329 419 L332 423 C336 429 337 436 337 448 C336 457 336 459 334 464 C330 470 326 476 321 478 C317 480 317 480 317 486 C316 497 308 510 300 512 C298 512 298 513 298 517 C298 527 290 541 282 544 C280 545 279 546 279 552 C278 562 269 576 261 578 C260 578 259 579 259 585 C258 595 250 608 242 611 C239 612 239 613 239 618 C238 629 231 640 223 644 C216 647 193 647 187 644 L183 642 L169 666 L155 691 L132 708 C103 731 106 729 95 729 C85 729 85 729 82 726 Z%22 fill=%22%23050505%22 fill-rule=%22evenodd%22/%3E%3Cpath d=%22M88 720 C84 716 84 717 89 681 C93 655 94 651 96 648 C99 645 103 645 108 646 C117 650 124 647 126 639 C128 634 126 631 121 626 C114 620 114 615 120 606 C125 598 126 599 116 593 C105 587 100 578 101 566 C102 557 110 546 117 542 C121 540 121 540 121 533 C122 524 128 513 135 508 C140 505 140 504 140 499 C140 490 149 475 156 473 C159 473 159 472 159 466 C160 456 167 444 175 441 C177 440 178 439 178 433 C179 423 185 413 194 408 C198 406 198 406 198 400 C198 388 208 375 221 373 C228 371 235 373 244 378 C249 381 252 383 253 383 C253 383 254 381 256 379 L258 375 L250 371 C234 363 234 361 251 333 C267 305 265 306 291 321 C300 326 307 330 307 330 C308 330 315 319 322 306 L337 282 L334 278 C326 270 326 255 334 247 C340 241 350 238 358 240 C361 241 361 240 378 213 C387 197 394 184 394 183 C393 183 392 181 390 178 C386 170 386 155 390 148 C393 142 399 136 405 133 C412 129 427 129 435 133 C441 136 447 143 449 149 L452 154 L494 178 C517 191 538 203 540 205 C545 208 546 208 523 189 C487 158 429 102 426 95 C422 88 426 81 434 81 C439 81 439 81 456 98 C477 119 501 141 502 141 C502 140 506 134 510 127 L518 113 L561 89 C599 68 605 65 609 65 C615 65 616 66 627 87 C638 107 639 111 635 116 C633 117 613 129 590 142 L548 165 L537 165 L527 164 L529 166 C531 168 538 174 545 180 C588 217 641 257 693 292 C710 304 718 309 718 311 C720 316 718 321 709 330 C698 342 687 356 677 368 L670 378 L675 383 C683 390 684 397 682 407 C679 420 664 427 652 423 C650 422 647 421 646 420 C643 419 628 458 621 484 C616 500 614 513 615 517 C615 519 615 524 614 528 C610 551 590 567 566 565 C544 563 527 546 525 525 L525 518 L436 466 C387 437 345 413 342 412 C339 411 337 411 334 412 C327 414 324 413 316 408 L309 404 L306 408 C305 410 304 412 304 412 C304 413 308 416 313 419 C324 425 327 429 330 437 C333 450 326 466 315 472 C311 474 311 474 311 480 C310 491 302 504 294 506 C292 506 292 507 292 511 C292 521 284 535 276 538 C274 539 273 540 273 546 C272 556 263 570 255 572 C254 572 253 573 253 579 C252 589 244 602 236 605 C233 606 233 607 233 612 C232 623 225 634 217 638 C213 639 210 640 204 640 C197 640 196 640 188 636 L180 631 L176 639 C173 643 166 655 160 666 L148 685 L125 703 C113 713 101 721 100 722 C96 724 91 723 88 720 Z M122 679 C133 671 135 669 139 660 L142 656 L138 660 C133 665 126 668 118 668 L112 669 L112 675 C111 678 111 682 110 684 C110 686 110 688 110 688 C111 688 116 684 122 679 Z M155 633 L163 620 L158 617 C155 616 150 613 148 612 L143 609 L142 612 C140 614 140 615 142 617 C147 623 149 635 147 645 C146 650 147 649 155 633 Z M209 618 C213 614 214 610 213 608 C211 605 133 560 130 560 C128 560 127 561 125 564 C120 570 121 571 139 582 C182 608 204 620 205 620 C206 620 208 619 209 618 Z M228 584 C232 580 234 576 232 574 C229 572 151 526 149 526 C145 526 140 535 142 539 C143 540 223 587 225 587 C226 587 227 586 228 584 Z M250 549 C252 544 253 542 250 540 C247 537 170 493 168 493 C164 493 159 501 161 504 C162 508 242 554 245 553 C246 553 248 551 250 549 Z M564 542 C564 541 562 532 560 521 L555 501 L553 504 C542 515 545 533 559 542 C563 544 564 545 564 542 Z M594 525 C597 513 590 502 578 497 L575 496 L578 509 C580 517 582 527 583 531 L584 540 L589 535 C592 532 593 529 594 525 Z M268 516 C272 511 272 509 268 506 C265 504 201 466 192 461 C187 459 184 460 181 465 C179 468 179 469 180 471 C181 474 259 520 263 520 C265 520 267 519 268 516 Z M539 487 C554 473 581 472 598 485 C600 486 600 486 600 483 C604 467 616 432 623 418 C625 415 626 412 626 412 C626 411 619 408 618 408 C617 408 606 433 601 447 C598 453 596 458 595 459 C592 461 593 461 575 459 C563 458 547 464 535 474 C524 484 535 489 417 419 C361 386 313 358 311 357 L308 355 L309 357 C314 363 310 373 303 374 L300 375 L303 377 C304 378 311 382 317 385 L328 392 L338 392 C346 392 349 392 354 394 C357 396 398 419 445 447 L530 497 L533 494 C534 492 537 489 539 487 Z M286 485 C290 481 291 477 290 475 C289 473 209 426 207 426 C205 426 200 432 199 435 C199 436 199 438 200 439 C201 441 280 487 283 487 C284 487 285 486 286 485 Z M531 452 C543 444 555 440 570 439 L582 439 L585 430 C587 425 590 417 593 411 C596 405 598 400 598 400 C598 399 583 392 582 392 C581 393 577 399 572 408 C562 424 558 429 550 433 C543 437 532 438 524 436 C520 435 480 413 470 406 C468 404 457 398 390 359 C379 353 367 346 363 344 C360 342 357 340 356 340 C355 340 348 351 348 353 C348 354 520 457 522 457 C522 457 526 455 531 452 Z M307 450 C311 445 311 443 308 440 C306 439 238 399 230 395 C226 393 223 394 220 399 C216 405 215 405 260 430 C282 443 301 454 302 454 C303 454 305 453 307 450 Z M662 399 C661 397 352 259 350 260 C348 261 347 263 349 265 C350 266 640 395 658 403 C661 404 664 402 662 399 Z M288 398 L291 394 L288 392 C286 391 283 390 280 388 L276 386 L274 389 C273 391 272 393 272 394 C272 395 283 402 285 402 C285 402 287 400 288 398 Z M459 372 C459 368 462 361 467 352 C470 347 472 343 471 343 C470 342 470 342 462 356 C460 359 456 364 454 366 L450 370 L454 373 C458 375 459 375 459 372 Z M290 364 C290 357 292 354 298 352 L302 351 L292 346 C287 343 281 339 278 338 L274 335 L269 344 C266 349 264 354 264 354 C264 355 270 358 277 363 C284 367 290 370 290 370 C290 370 290 367 290 364 Z M658 361 C666 350 681 330 688 324 C692 320 692 319 691 318 C689 316 452 178 450 178 C449 178 448 179 447 181 L445 184 L449 184 C456 184 462 187 485 200 C516 218 521 224 521 243 C521 253 520 256 505 282 C497 295 494 301 495 301 C496 302 498 300 500 296 C502 292 508 283 512 275 C523 257 526 253 535 249 C543 245 554 244 562 246 C569 248 612 274 616 278 C622 284 625 292 626 302 C626 312 625 316 619 327 C616 332 614 336 614 337 C614 337 618 336 622 335 C632 333 648 331 651 332 C655 333 657 336 657 341 C657 346 657 347 652 353 C645 361 642 366 642 366 C643 367 649 370 650 370 C650 370 654 366 658 361 Z M338 328 C344 317 345 316 349 315 C354 314 354 313 354 309 C355 306 356 302 358 299 C360 293 360 291 356 291 C356 291 349 302 341 316 C329 335 326 340 327 341 C329 342 329 342 338 328 Z M399 228 C406 215 414 202 416 200 L419 195 L416 195 C412 195 412 195 396 223 C381 249 380 250 382 251 C384 251 385 252 385 252 C385 252 392 241 399 228 Z M424 174 C433 169 433 158 425 152 C420 149 412 151 409 156 C405 162 407 169 413 173 C417 175 420 176 424 174 Z M577 125 C600 112 613 104 612 104 C612 103 610 99 608 96 L604 89 L568 109 L533 129 L528 136 L524 144 L530 144 C534 144 537 145 538 145 C539 145 557 136 577 125 Z%22 fill=%22%23f5f4f0%22 fill-rule=%22evenodd%22/%3E%3C/svg%3E") 1 31, auto}
:root{--tattoo-cursor-hover-sm:url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2232%22 height=%2232%22 viewBox=%2274 54 679 679%22%3E%3Cpath d=%22M82 726 C79 723 79 723 79 714 C79 708 81 693 83 675 C89 637 88 640 104 639 C114 639 116 639 118 638 C119 636 119 636 115 632 L110 628 L110 617 C110 609 110 606 111 604 C114 602 113 601 108 598 C98 592 94 583 95 566 C96 557 96 555 98 550 C102 544 106 538 111 536 C115 534 115 534 115 527 C116 518 122 507 129 502 C134 499 134 498 134 493 C134 484 143 469 150 467 C153 467 153 466 153 460 C154 450 161 438 169 435 C171 434 172 433 172 427 C173 417 179 407 188 402 C192 400 192 400 192 394 C192 384 199 373 209 369 C211 367 215 366 222 366 L232 366 L232 357 L233 348 L245 327 C259 303 258 304 272 304 C280 305 278 304 301 317 L305 319 L315 301 L326 283 L324 279 C321 273 321 253 324 247 C327 238 335 234 347 233 L356 233 L370 209 L385 185 L383 182 C382 179 382 176 382 162 C382 144 383 141 390 133 C398 126 401 124 420 124 C435 124 436 125 441 127 C447 130 453 138 456 144 C457 147 458 148 464 152 C468 154 472 156 473 157 C474 158 463 146 448 132 C432 116 421 104 420 101 C418 99 418 96 418 89 C418 81 419 80 421 77 C424 75 424 74 435 74 L445 74 L458 88 C474 105 499 128 500 127 C500 127 503 123 506 117 L512 107 L555 83 L599 59 L609 59 C622 59 621 58 633 81 L643 99 L643 109 C643 119 643 120 641 122 C637 125 554 171 551 171 C548 171 549 172 565 186 C610 224 654 256 701 288 C713 296 723 303 724 304 C725 306 725 319 724 324 C723 326 720 331 716 335 C702 351 682 375 682 376 C682 377 683 379 684 380 C688 385 689 389 689 400 C689 411 688 417 684 421 C679 428 674 429 660 430 L648 430 L643 442 C631 472 622 502 621 522 C620 530 619 538 619 540 C614 555 600 567 584 570 C575 572 554 571 547 568 C531 562 521 547 519 531 L519 524 L429 472 C340 419 340 419 335 419 L329 419 L332 423 C336 429 337 436 337 448 C336 457 336 459 334 464 C330 470 326 476 321 478 C317 480 317 480 317 486 C316 497 308 510 300 512 C298 512 298 513 298 517 C298 527 290 541 282 544 C280 545 279 546 279 552 C278 562 269 576 261 578 C260 578 259 579 259 585 C258 595 250 608 242 611 C239 612 239 613 239 618 C238 629 231 640 223 644 C216 647 193 647 187 644 L183 642 L169 666 L155 691 L132 708 C103 731 106 729 95 729 C85 729 85 729 82 726 Z%22 fill=%22%23050505%22 fill-rule=%22evenodd%22/%3E%3Cpath d=%22M88 720 C84 716 84 717 89 681 C93 655 94 651 96 648 C99 645 103 645 108 646 C117 650 124 647 126 639 C128 634 126 631 121 626 C114 620 114 615 120 606 C125 598 126 599 116 593 C105 587 100 578 101 566 C102 557 110 546 117 542 C121 540 121 540 121 533 C122 524 128 513 135 508 C140 505 140 504 140 499 C140 490 149 475 156 473 C159 473 159 472 159 466 C160 456 167 444 175 441 C177 440 178 439 178 433 C179 423 185 413 194 408 C198 406 198 406 198 400 C198 388 208 375 221 373 C228 371 235 373 244 378 C249 381 252 383 253 383 C253 383 254 381 256 379 L258 375 L250 371 C234 363 234 361 251 333 C267 305 265 306 291 321 C300 326 307 330 307 330 C308 330 315 319 322 306 L337 282 L334 278 C326 270 326 255 334 247 C340 241 350 238 358 240 C361 241 361 240 378 213 C387 197 394 184 394 183 C393 183 392 181 390 178 C386 170 386 155 390 148 C393 142 399 136 405 133 C412 129 427 129 435 133 C441 136 447 143 449 149 L452 154 L494 178 C517 191 538 203 540 205 C545 208 546 208 523 189 C487 158 429 102 426 95 C422 88 426 81 434 81 C439 81 439 81 456 98 C477 119 501 141 502 141 C502 140 506 134 510 127 L518 113 L561 89 C599 68 605 65 609 65 C615 65 616 66 627 87 C638 107 639 111 635 116 C633 117 613 129 590 142 L548 165 L537 165 L527 164 L529 166 C531 168 538 174 545 180 C588 217 641 257 693 292 C710 304 718 309 718 311 C720 316 718 321 709 330 C698 342 687 356 677 368 L670 378 L675 383 C683 390 684 397 682 407 C679 420 664 427 652 423 C650 422 647 421 646 420 C643 419 628 458 621 484 C616 500 614 513 615 517 C615 519 615 524 614 528 C610 551 590 567 566 565 C544 563 527 546 525 525 L525 518 L436 466 C387 437 345 413 342 412 C339 411 337 411 334 412 C327 414 324 413 316 408 L309 404 L306 408 C305 410 304 412 304 412 C304 413 308 416 313 419 C324 425 327 429 330 437 C333 450 326 466 315 472 C311 474 311 474 311 480 C310 491 302 504 294 506 C292 506 292 507 292 511 C292 521 284 535 276 538 C274 539 273 540 273 546 C272 556 263 570 255 572 C254 572 253 573 253 579 C252 589 244 602 236 605 C233 606 233 607 233 612 C232 623 225 634 217 638 C213 639 210 640 204 640 C197 640 196 640 188 636 L180 631 L176 639 C173 643 166 655 160 666 L148 685 L125 703 C113 713 101 721 100 722 C96 724 91 723 88 720 Z M122 679 C133 671 135 669 139 660 L142 656 L138 660 C133 665 126 668 118 668 L112 669 L112 675 C111 678 111 682 110 684 C110 686 110 688 110 688 C111 688 116 684 122 679 Z M155 633 L163 620 L158 617 C155 616 150 613 148 612 L143 609 L142 612 C140 614 140 615 142 617 C147 623 149 635 147 645 C146 650 147 649 155 633 Z M209 618 C213 614 214 610 213 608 C211 605 133 560 130 560 C128 560 127 561 125 564 C120 570 121 571 139 582 C182 608 204 620 205 620 C206 620 208 619 209 618 Z M228 584 C232 580 234 576 232 574 C229 572 151 526 149 526 C145 526 140 535 142 539 C143 540 223 587 225 587 C226 587 227 586 228 584 Z M250 549 C252 544 253 542 250 540 C247 537 170 493 168 493 C164 493 159 501 161 504 C162 508 242 554 245 553 C246 553 248 551 250 549 Z M564 542 C564 541 562 532 560 521 L555 501 L553 504 C542 515 545 533 559 542 C563 544 564 545 564 542 Z M594 525 C597 513 590 502 578 497 L575 496 L578 509 C580 517 582 527 583 531 L584 540 L589 535 C592 532 593 529 594 525 Z M268 516 C272 511 272 509 268 506 C265 504 201 466 192 461 C187 459 184 460 181 465 C179 468 179 469 180 471 C181 474 259 520 263 520 C265 520 267 519 268 516 Z M539 487 C554 473 581 472 598 485 C600 486 600 486 600 483 C604 467 616 432 623 418 C625 415 626 412 626 412 C626 411 619 408 618 408 C617 408 606 433 601 447 C598 453 596 458 595 459 C592 461 593 461 575 459 C563 458 547 464 535 474 C524 484 535 489 417 419 C361 386 313 358 311 357 L308 355 L309 357 C314 363 310 373 303 374 L300 375 L303 377 C304 378 311 382 317 385 L328 392 L338 392 C346 392 349 392 354 394 C357 396 398 419 445 447 L530 497 L533 494 C534 492 537 489 539 487 Z M286 485 C290 481 291 477 290 475 C289 473 209 426 207 426 C205 426 200 432 199 435 C199 436 199 438 200 439 C201 441 280 487 283 487 C284 487 285 486 286 485 Z M531 452 C543 444 555 440 570 439 L582 439 L585 430 C587 425 590 417 593 411 C596 405 598 400 598 400 C598 399 583 392 582 392 C581 393 577 399 572 408 C562 424 558 429 550 433 C543 437 532 438 524 436 C520 435 480 413 470 406 C468 404 457 398 390 359 C379 353 367 346 363 344 C360 342 357 340 356 340 C355 340 348 351 348 353 C348 354 520 457 522 457 C522 457 526 455 531 452 Z M307 450 C311 445 311 443 308 440 C306 439 238 399 230 395 C226 393 223 394 220 399 C216 405 215 405 260 430 C282 443 301 454 302 454 C303 454 305 453 307 450 Z M662 399 C661 397 352 259 350 260 C348 261 347 263 349 265 C350 266 640 395 658 403 C661 404 664 402 662 399 Z M288 398 L291 394 L288 392 C286 391 283 390 280 388 L276 386 L274 389 C273 391 272 393 272 394 C272 395 283 402 285 402 C285 402 287 400 288 398 Z M459 372 C459 368 462 361 467 352 C470 347 472 343 471 343 C470 342 470 342 462 356 C460 359 456 364 454 366 L450 370 L454 373 C458 375 459 375 459 372 Z M290 364 C290 357 292 354 298 352 L302 351 L292 346 C287 343 281 339 278 338 L274 335 L269 344 C266 349 264 354 264 354 C264 355 270 358 277 363 C284 367 290 370 290 370 C290 370 290 367 290 364 Z M658 361 C666 350 681 330 688 324 C692 320 692 319 691 318 C689 316 452 178 450 178 C449 178 448 179 447 181 L445 184 L449 184 C456 184 462 187 485 200 C516 218 521 224 521 243 C521 253 520 256 505 282 C497 295 494 301 495 301 C496 302 498 300 500 296 C502 292 508 283 512 275 C523 257 526 253 535 249 C543 245 554 244 562 246 C569 248 612 274 616 278 C622 284 625 292 626 302 C626 312 625 316 619 327 C616 332 614 336 614 337 C614 337 618 336 622 335 C632 333 648 331 651 332 C655 333 657 336 657 341 C657 346 657 347 652 353 C645 361 642 366 642 366 C643 367 649 370 650 370 C650 370 654 366 658 361 Z M338 328 C344 317 345 316 349 315 C354 314 354 313 354 309 C355 306 356 302 358 299 C360 293 360 291 356 291 C356 291 349 302 341 316 C329 335 326 340 327 341 C329 342 329 342 338 328 Z M399 228 C406 215 414 202 416 200 L419 195 L416 195 C412 195 412 195 396 223 C381 249 380 250 382 251 C384 251 385 252 385 252 C385 252 392 241 399 228 Z M424 174 C433 169 433 158 425 152 C420 149 412 151 409 156 C405 162 407 169 413 173 C417 175 420 176 424 174 Z M577 125 C600 112 613 104 612 104 C612 103 610 99 608 96 L604 89 L568 109 L533 129 L528 136 L524 144 L530 144 C534 144 537 145 538 145 C539 145 557 136 577 125 Z%22 fill=%22%23ff160b%22 fill-rule=%22evenodd%22/%3E%3C/svg%3E") 1 31, pointer}
.site-header .header-meta{cursor:var(--tattoo-cursor-sm)}
.site-header .header-meta a,.site-header .header-meta button,
.lightbox .lightbox-close,.lightbox .lightbox-next{cursor:var(--tattoo-cursor-hover-sm)}
/* Dopo il clic su una voce il menu si ferma sotto il bordo alto, così la macchinetta da 48 px resta visibile */
.tabs{scroll-margin-top:56px}


/* 13. TITOLO HERO: nome + sottotitolo ====================================== */
/* Il titolo sta SOPRA gli stencil: se ne trascini uno sul nome, passa sotto. */
@font-face{font-family:'Stint Ultra Condensed';src:url('fonts/stint-ultra-condensed.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
.hero-title{position:relative;z-index:3;pointer-events:none;line-height:0}
.hero-collage{z-index:2}
/* Sottotitolo curvo: SVG sovrapposto al lettering, stesse coordinate dell'immagine,
   il testo segue la curva della base del nome */
.signature-sub{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.signature-sub text{font-family:'Stint Ultra Condensed',Georgia,serif;font-size:92px;letter-spacing:.24em;fill:var(--red)}
@media(max-width:650px){.signature-sub text{font-size:108px;letter-spacing:.14em}}

/* 14. CONTATTI: indirizzo e mappa ========================================= */
.studio-map{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:4vw;margin-top:60px;align-items:stretch}
.studio-address{display:flex;flex-direction:column;gap:18px}
.studio-address .eyebrow{font-weight:400;color:var(--muted,#a9a8a4)}
.studio-address p{margin:0;font-size:clamp(18px,1.6vw,24px);line-height:1.45;color:#d6d6d3}
.studio-address strong{color:var(--white);font-weight:500}
.map-link{align-self:flex-start;border-bottom:1px solid var(--white);padding-bottom:.35rem;font-size:14px;font-weight:700}
.map-link:hover{color:var(--red);border-color:var(--red)}
.map-frame{position:relative;min-height:380px;background:#141414;border:1px solid var(--line);overflow:hidden}
.map-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(1) invert(.9) contrast(.95)}
.map-frame.map-offline{display:grid;place-items:center;color:#8c8c8c;font-size:13px;letter-spacing:.07em;text-transform:uppercase}
@media(max-width:650px){.studio-map{grid-template-columns:1fr;margin-top:40px;gap:28px}.map-frame{min-height:300px}}


/* 15. NOME ROSSO, MARQUEE IN STILE TRADITIONAL ============================ */
.signature-art img{filter:none}
.hero h1.signature-art{mix-blend-mode:normal}
.svg-sprite{position:absolute;width:0;height:0;overflow:hidden}
.marquee{font-family:'Stint Ultra Condensed',Georgia,serif;font-size:23px;font-weight:400;letter-spacing:.1em;padding:11px 0}
.marquee .flash-star{display:inline-flex;align-items:center;margin:0 24px;color:var(--ink)}
.marquee .flash-star svg{width:19px;height:19px;display:block}
@media(max-width:650px){
  .marquee{font-size:18px;padding-block:9px}
  .marquee .flash-star{margin-inline:16px}
  .marquee .flash-star svg{width:16px;height:16px}
}


/* Monogramma FO (disegno vettoriale) */
.monogram{display:flex;align-items:flex-start;color:var(--white)}
.monogram-logo{display:block;height:34px;width:auto}
@media(max-width:650px){.monogram-logo{height:30px}}
.monogram-star{display:block;width:15px;height:15px;margin-left:6px;color:var(--red)}

/* Mappa dello studio: l'immagine statica fa da segnaposto finché non si carica la mappa vera (Leaflet + OpenStreetMap) */
.map-static{position:absolute;inset:0;display:block;z-index:2;transition:opacity .5s ease}
.map-frame.map-live .map-static{opacity:0;pointer-events:none}
.map-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 49%;transition:transform .6s cubic-bezier(.22,.61,.36,1)}
@media(hover:hover){.map-static:hover img{transform:scale(1.03)}}
.map-credit{position:absolute;right:8px;bottom:6px;font-size:10px;color:#9a9a9a;background:#0b0b0bcc;padding:2px 6px}
#studio-map .leaflet-container{position:absolute;inset:0;background:#141414;font:inherit;cursor:grab}
#studio-map .leaflet-container.leaflet-drag-target,#studio-map .leaflet-dragging .leaflet-container{cursor:grabbing}
/* Stessa resa scura della mappa statica */
/* Filtro su ogni tessera (non sul contenitore): così non compaiono righe chiare tra una tessera e l'altra */
#studio-map .leaflet-tile{filter:grayscale(1) invert(.92) contrast(.88) brightness(.82)}
#studio-map .leaflet-bar{border:1px solid var(--line);border-radius:0;box-shadow:none}
#studio-map .leaflet-bar a{width:36px;height:36px;line-height:34px;background:#0b0b0bdd;color:var(--white);border-bottom:1px solid var(--line);border-radius:0!important;font:400 20px/34px var(--sans,sans-serif)}
#studio-map .leaflet-bar a:last-child{border-bottom:0}
#studio-map .leaflet-bar a.map-home{display:grid;place-items:center}
#studio-map .leaflet-bar a.map-home svg{width:12px;height:17px}
#studio-map .leaflet-bar a:hover,#studio-map .leaflet-bar a:focus-visible{background:var(--red);color:var(--white)}
#studio-map .leaflet-bar a.leaflet-disabled{background:#0b0b0bdd;color:#555}
#studio-map .leaflet-control-attribution{background:#0b0b0bcc;color:#9a9a9a;font-size:10px;padding:2px 6px}
#studio-map .leaflet-control-attribution a{color:#c9c9c6}
.map-pin{color:var(--red);filter:drop-shadow(0 2px 3px #000a)}
.map-pin svg{display:block;width:100%;height:100%}
#studio-map .leaflet-popup-content-wrapper{background:#0b0b0b;color:var(--white);border:1px solid var(--line);border-radius:0;box-shadow:0 8px 24px #000a}
#studio-map .leaflet-popup-tip{background:#0b0b0b;border:1px solid var(--line)}
#studio-map .leaflet-popup-content{margin:14px 16px;font-size:13px;line-height:1.5}
#studio-map .leaflet-popup-content strong{display:block;font-weight:600;margin-bottom:2px}
#studio-map .leaflet-popup-content a{display:inline-block;margin-top:8px;color:var(--white);border-bottom:1px solid var(--white);font-weight:700;font-size:12px}
#studio-map .leaflet-popup-content a:hover{color:var(--red);border-color:var(--red)}
#studio-map a.leaflet-popup-close-button{color:#9a9a9a}
.map-hint{position:absolute;left:10px;bottom:8px;z-index:500;font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:#c9c9c6;background:#0b0b0bcc;padding:3px 7px;pointer-events:none;transition:opacity .3s}
.map-frame.map-touched .map-hint{opacity:0}

/* Claim dentro il cartiglio */
.sub-ribbon-shape{fill:var(--red)}
.signature-sub .sub-ribbon text{font-size:14.4px;letter-spacing:.05em;fill:var(--red)}
@media(max-width:650px){.signature-sub .sub-ribbon text{font-size:14.4px}}
@media(max-width:650px){.sub-ribbon-wrap{transform-box:fill-box;transform-origin:50% 20%;transform:scale(1.25)}}

/* 16. CALENDARIO */
.cal-year{padding:34px 0 10px;border-bottom:1px solid var(--line)}
.cal-year span{font:400 18px/1 'Stint Ultra Condensed',Georgia,serif;letter-spacing:.12em;color:#8c8c8c}
.cal-empty{margin:0;padding:26px 0;border-top:1px solid var(--line);font-size:15px;color:#c4c4c4}
.cal-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.cal-row{display:grid;grid-template-columns:150px minmax(0,1.3fr) minmax(0,1fr);gap:2rem;align-items:center;padding:26px 0;border-bottom:1px solid var(--line)}
.cal-date{display:flex;align-items:baseline;gap:8px;color:var(--red);white-space:nowrap}
.cal-date strong{font:400 clamp(40px,4vw,58px)/1 'Stint Ultra Condensed',Georgia,serif}
.cal-date span{font:400 18px/1 'Stint Ultra Condensed',Georgia,serif;letter-spacing:.12em}
.cal-what strong{display:block;font-size:clamp(20px,2.2vw,32px);font-weight:500;letter-spacing:-.01em}
.cal-what span{display:block;margin-top:6px;font-size:13px;letter-spacing:.05em;color:#a9a8a4}
.cal-note{margin:0;font-size:15px;line-height:1.45;color:#c4c4c4}
@media(max-width:650px){
  .tabs{gap:26px}
  .cal-row{grid-template-columns:72px minmax(0,1fr);gap:6px 16px;padding:20px 0;align-items:start}
  .cal-date{flex-direction:column;align-items:flex-start;gap:4px;grid-row:1 / span 2}
  .cal-date strong{font-size:34px;margin-top:-3px}
  .cal-date span{font-size:15px}
  .cal-note{grid-column:2;font-size:14px;margin-top:4px}
}

/* 17. FOTO DI FABIO NELLA BIO: nastro che scorre da solo (si ferma col mouse sopra) */
.bio-strip{margin:70px calc(-5vw) 0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.bio-track{display:flex;gap:18px;width:max-content;animation:bio-roll 45s linear infinite}
.bio-dup{display:contents}
.bio-strip:hover .bio-track{animation-play-state:paused}
.bio-shot{margin:0;height:clamp(260px,30vw,420px);flex:none;overflow:hidden;background:#161616}
.bio-shot img{display:block;height:100%;width:auto;filter:grayscale(1) contrast(1.05);transition:filter .45s ease}
@media(hover:hover){.bio-shot:hover img{filter:none}}
@keyframes bio-roll{to{transform:translateX(calc(-50% - 9px))}}
@media(max-width:650px){.bio-strip{margin:44px -5vw 0}.bio-shot{height:240px}.bio-track{gap:10px;animation-duration:35s}@keyframes bio-roll{to{transform:translateX(calc(-50% - 5px))}}}
@media(prefers-reduced-motion:reduce){.bio-strip{overflow-x:auto}.bio-track{animation:none}}

/* 18. TAB: al passaggio del mouse diventano rossi nel font della barra.
   Le due versioni stanno sovrapposte nella stessa cella, così la larghezza non cambia e il menu non si sposta. */
.tab-label{display:inline-grid;align-items:baseline}
.tab-label>span,.tab-label::after{grid-area:1/1;transition:opacity .2s ease}
.tab-label::after{content:attr(data-label);font-family:'Stint Ultra Condensed',Georgia,serif;font-weight:400;font-size:1.42em;letter-spacing:.09em;line-height:1;color:var(--red);opacity:0;text-align:center}
@media(hover:hover){
  .tabs button:hover .tab-label>span{opacity:0}
  .tabs button:hover .tab-label::after{opacity:1}
}
.tabs button:focus-visible .tab-label>span{opacity:0}
.tabs button:focus-visible .tab-label::after{opacity:1}
/* Su touch non c'è passaggio del mouse: la versione rossa sovrapposta non serve e su Safari iOS allargava le voci */
@media(hover:none){.tab-label::after{content:none}}

/* Niente sottolineatura: tutte le voci sono uguali, rosse solo al passaggio del mouse */
.tabs button::after{display:none}

/* 19. RIFINITURE MOBILE */
@media(max-width:650px){
  .tabs{gap:0;justify-content:space-between;padding-inline:5vw}
  .tabs button{font-size:12px;padding:12px 7px;margin:0 -7px} /* area da toccare più larga senza spostare le voci */
  .sub-ribbon-wrap{transform:scale(1.5)}
  .footer a{padding:14px 0;margin:-14px 0}
  .map-link{padding:10px 0 .45rem}
  .monogram{padding:6px 0}
}
@media(max-width:370px){
  .tabs button{font-size:11px}
}

/* 20. BIO LUNGA: titolo fisso a sinistra, testo più piccolo a destra */
.bio-layout{align-items:start;min-height:0}
.bio-head{position:sticky;top:40px}
.bio-lead{margin:14px 0 0;max-width:560px;font:400 22px/1.2 'Stint Ultra Condensed',Georgia,serif;letter-spacing:.06em;text-transform:uppercase;color:var(--red);
  -webkit-text-stroke:.35px currentColor} /* Stint ha solo il Regular: il contorno sottile lo rende "medium" */
.bio-text p{font-size:16px;line-height:1.65;margin:0 0 1.15rem;max-width:62ch}
@media(max-width:650px){
  .bio-head{position:static}
  .bio-lead{margin:-14px 0 32px;font-size:19px}
  .bio-text p{font-size:15px;line-height:1.6}
}

/* 21. LINGUA */
.header-right{display:flex;align-items:center;justify-content:flex-end;gap:22px}
.lang-toggle{border:1px solid currentColor;background:none;padding:5px 9px;font:inherit;font-size:11px;letter-spacing:.09em;line-height:1}
@media(hover:hover){.lang-toggle:hover{background:var(--red);border-color:var(--red);color:var(--ink)}}
@media(max-width:650px){.header-meta{grid-template-columns:auto 1fr auto}.lang-toggle{padding:9px 10px;margin-left:10px}}

/* 22. CLAIM SENZA CORNICE, SU UNA RIGA CHE SEGUE IL NOME */
@font-face{font-family:'Oranienbaum';src:url('fonts/oranienbaum.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
.signature-sub text.sub-claim{font-family:'Oranienbaum',Georgia,serif;font-size:100px;letter-spacing:.25em;fill:var(--white)}
.signature-sub .sub-strike{fill:none;stroke:var(--red);stroke-width:4.5;stroke-linecap:round}
@media(max-width:650px){.signature-sub text.sub-claim{font-size:100px;letter-spacing:.25em}}
/* stencil un po' più grandi */
.collage-photo{height:calc(clamp(170px,15.5vw,250px) * var(--s,1))}
@media(max-width:650px){.collage-photo{height:calc(96px * var(--s,1))}}

/* stencil ancora un po' più grandi; --k: variazione per singolo stencil decisa dallo script */
.collage-photo{height:calc(clamp(185px,17vw,275px) * var(--s,1) * var(--k,1))}
@media(max-width:650px){.collage-photo{height:calc(104px * var(--s,1) * var(--k,1))}}

/* 18. CALENDARIO: LOCANDINE ================================================ */
.cal-float{position:fixed;left:0;top:0;width:220px;z-index:60;pointer-events:none;opacity:0;
  transform:translate3d(var(--x,0),var(--y,0),0) rotate(-3deg) scale(.94);
  transition:opacity .18s ease,transform .18s ease;will-change:transform}
.cal-float.is-on{opacity:1;transform:translate3d(var(--x,0),var(--y,0),0) rotate(-3deg) scale(1)}
.cal-float img{display:block;width:100%;height:auto;border:6px solid var(--white)}
.cal-thumb{display:none}
.poster-box{border:0;padding:0;background:transparent;max-width:92vw;max-height:88vh}
.poster-box::backdrop{background:#000d}
.poster-box img{display:block;max-width:92vw;max-height:88vh;width:auto;height:auto}
@media (hover:none), (pointer:coarse){
  .cal-row[data-poster]{grid-template-columns:150px minmax(0,1.3fr) minmax(0,1fr) 54px}
  .cal-row[data-poster] .cal-thumb{display:block;grid-column:4;align-self:center;
    width:54px;padding:0;border:3px solid var(--white);background:none;cursor:pointer;transform:rotate(3deg)}
  .cal-thumb img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:top}
}
@media (max-width:650px) and (hover:none), (max-width:650px) and (pointer:coarse){
  .cal-row[data-poster]{grid-template-columns:72px minmax(0,1fr);position:relative;padding-right:70px}
  .cal-row[data-poster] .cal-thumb{position:absolute;right:2px;top:20px;width:50px}
}
@media (prefers-reduced-motion:reduce){.cal-float{transition:opacity .18s ease}}

/* 21. SPONSOR: tre card con locandina, categoria e nome; su telefono diventano righe */
.sponsor-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,200px));gap:clamp(20px,3vw,48px)}
.sponsor-card{display:block;color:var(--white)}
/* Locandine piccole; col mouse sopra si ingrandiscono e escono dalla griglia */
.sponsor-img{position:relative;display:block;aspect-ratio:4/5;background:#161616;transform-origin:50% 100%;transition:transform .45s cubic-bezier(.2,.7,.2,1),box-shadow .45s}
.sponsor-img img{display:block;width:100%;height:100%;object-fit:cover}
.sponsor-list li{position:relative}
/* Spazio sopra: la locandina ingrandita cresce verso l'alto senza coprire il titolo */
@media(min-width:651px){.sponsor-list{margin-top:72px}}
.sponsor-list li:hover,.sponsor-list li:focus-within{z-index:2}
.sponsor-meta{display:grid;grid-template-columns:1fr auto;align-items:end;gap:6px 1rem;padding:18px 0 20px;border-bottom:1px solid var(--line)}
.sponsor-cat{grid-column:1;font-size:.74rem;font-weight:700;letter-spacing:.05em;color:#9a9a9a}
.sponsor-meta strong{grid-column:1;font-size:clamp(18px,1.5vw,24px);font-weight:500;letter-spacing:-.01em;line-height:1.05;transition:color .2s}
.sponsor-arrow{grid-column:2;grid-row:1/3;font-size:1.5rem;transition:transform .25s,color .2s}
@media(hover:hover){
  .sponsor-card:hover .sponsor-img{transform:scale(1.25);box-shadow:0 18px 40px #000c}
  .sponsor-card:hover strong,.sponsor-card:hover .sponsor-arrow{color:var(--red)}
  .sponsor-card:hover .sponsor-arrow{transform:translate(3px,-3px)}
}
.sponsor-card:focus-visible{outline:2px solid var(--red);outline-offset:4px}
@media(prefers-reduced-motion:reduce){.sponsor-img{transition:none}}
@media(max-width:650px){
  .sponsor-list{grid-template-columns:1fr;gap:0;border-top:1px solid var(--line)}
  .sponsor-card{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
  .sponsor-meta{padding:0;border:0}
  .sponsor-meta strong{font-size:23px}
}
