@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@600;700;800;900&family=DM+Sans:wght@400;600;700&display=swap');
:root{--gold:#ffd85e;--purple:#16003d;--red:#c90025}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#11002f;color:#fff;font-family:DM Sans,sans-serif;overflow-x:hidden}a{text-decoration:none;color:inherit}header{position:fixed;z-index:50;inset:0 0 auto;height:74px;display:flex;align-items:center;padding:6px 18px;background:#14002fd9;border-bottom:1px solid #ffd85e3d;backdrop-filter:blur(9px)}.brand{width:70px}.brand img{width:100%;height:60px;object-fit:contain}.menu{display:none}nav{position:absolute;left:50%;transform:translateX(-50%);display:flex;gap:24px}nav a{font:800 10px Cinzel;letter-spacing:.7px}.actions{margin-left:auto;display:flex;align-items:center;gap:7px}.book{padding:11px 17px;border-radius:30px;background:#d20829;border:1px solid #ff526a;font:900 10px Cinzel}.actions>a:not(.book){width:28px;height:28px;border:1px solid #fff8;border-radius:50%;display:grid;place-items:center}
.home{height:116svh;min-height:720px;position:relative;text-align:center;overflow:hidden;background:#140036 url("assets/sfondo.jpg") top center/cover no-repeat}.home:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0900201f 0,#12002d0a 58%,#13002e9c 100%)}.ambient{position:absolute;inset:-8%;background:radial-gradient(circle at 50% 12%,#fff2a429 0 7%,transparent 28%),radial-gradient(circle at 72% 35%,#ff43ad18,transparent 25%);animation:floatGlow 8s ease-in-out infinite alternate;transform-origin:center}@keyframes floatGlow{from{transform:scale(1) translate3d(0,0,0)}to{transform:scale(1.055) translate3d(0,12px,0)}}.main-logo{position:relative;z-index:2;display:block;width:min(62vw,335px);margin:112px auto 0;filter:none}.claim{position:absolute;z-index:3;left:18px;right:18px;bottom:10svh}.claim small,.tour small,.copy small,.feature small,.clean small{font:800 10px Cinzel;letter-spacing:2px;color:var(--gold)}.claim h1{font:800 clamp(34px,9vw,64px)/.94 Cinzel;margin:12px 0 26px;text-shadow:0 3px 14px #13001f}.claim b,.tour b,.copy b,.feature b,.clean b{color:var(--gold)}.cta{display:inline-block;padding:15px 24px;border:2px solid var(--gold);border-radius:40px;background:#b90022dc;font:900 11px Cinzel}
.photo-screen,.aerial-section,.tour,.feature,.clean{position:relative}.photo-screen:before,.aerial-section:before,.tour:before,.feature:before,.clean:before,footer:before{content:"";position:absolute;z-index:10;top:-3px;left:-3%;width:106%;height:7px;background:linear-gradient(90deg,transparent 0,#ff49ac 14%,#fff4b2 38%,#ffcf4d 53%,#ff4da7 76%,transparent 100%);box-shadow:0 0 5px #fff7c7,0 0 14px #ffbd48,0 0 30px #ff2f9a;transform:rotate(-.25deg);pointer-events:none}.photo-screen:after,.aerial-section:after,.tour:after,.feature:after,.clean:after{content:"";position:absolute;z-index:11;top:-12px;left:0;right:0;height:28px;background:radial-gradient(circle at 16% 50%,#fff 0 1px,transparent 3px),radial-gradient(circle at 38% 45%,#ffd85e 0 2px,transparent 4px),radial-gradient(circle at 62% 55%,#fff4a5 0 1px,transparent 3px),radial-gradient(circle at 82% 44%,#ff7ac5 0 2px,transparent 4px);filter:drop-shadow(0 0 6px #ffd45c);pointer-events:none}.photo-screen{min-height:100svh;background:#090019;display:grid;place-items:center;overflow:hidden}.photo-fit{width:100%;height:100svh;display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,#17205d,#050010 75%)}.photo-fit img{display:block;max-width:100%;max-height:100svh;width:auto;height:auto;object-fit:contain}
.aerial-section{min-height:100svh;background:linear-gradient(160deg,rgba(14,0,47,.95),rgba(36,4,85,.92)),url("assets/sfondo.jpg") center/cover;overflow:hidden;display:flex;align-items:center}.aerial-person{position:absolute;z-index:2;right:4%;bottom:0;max-height:90svh;max-width:60vw;width:auto;height:auto;object-fit:contain}.copy{position:relative;z-index:3;width:43%;padding:7vw}.copy h2,.feature h2,.clean h2{font:800 clamp(38px,6vw,68px)/.93 Cinzel;margin:10px 0 18px}.copy p,.feature p,.clean p{font-size:16px;line-height:1.65;color:#f5eaf8;max-width:430px}.tour{text-align:center;padding:88px 20px;background:linear-gradient(145deg,#d91532,#a70024 58%,#730018)}.tour h2{font:900 clamp(38px,9vw,66px)/.92 Cinzel;margin:12px 0}.tour p{font:800 13px Cinzel}.tour strong{font-size:60px;color:var(--gold);vertical-align:middle}.feature{display:grid;grid-template-columns:.85fr 1.5fr;min-height:680px;background:#0c0320}.feature-copy{padding:7vw;display:flex;flex-direction:column;justify-content:center}.feature-photo{display:flex;align-items:center;justify-content:center;background:#06030e}.feature-photo img{width:100%;height:auto;max-height:800px;object-fit:contain}.clean{text-align:center;padding:105px 22px;background:radial-gradient(circle at 50% 0,#4c0a67,#15002f 70%)}.clean p{margin:20px auto;max-width:760px}.clean.alt{background:radial-gradient(circle at 50% 0,#8c082d,#24002e 72%)}.clean.info{background:linear-gradient(145deg,#ba0b2d,#760026)}footer{position:relative;text-align:center;padding:80px 20px 100px;background:#19002c}footer img{width:150px;filter:none}footer p{font:700 9px Cinzel;letter-spacing:3px;color:#ffe3a0}
@media(max-width:850px){header{height:70px;padding:5px 8px}.brand{width:56px}.brand img{height:56px}.menu{display:block;position:absolute;left:50%;transform:translateX(-50%);border:1px solid #ffe08b99;border-radius:30px;background:#4b075f99;color:#fff;padding:8px 11px;font:800 8px Cinzel}nav{display:none;top:70px;width:92vw;padding:23px;background:#21003ff8;flex-direction:column;align-items:center}nav.open{display:flex}.actions{gap:3px}.book{padding:8px 7px;font-size:8px}.actions>a:not(.book){width:22px;height:22px;font-size:10px}.home{height:108svh;min-height:680px;background-size:auto 100%;background-position:center top}.main-logo{margin-top:104px;width:min(68vw,285px)}.claim{bottom:7svh}.photo-screen{min-height:0}.photo-fit{height:auto;min-height:0;background:#080017}.photo-fit img{width:100%;height:auto;max-height:none;object-fit:contain}.aerial-section{min-height:780px;display:block;padding-top:62px}.copy{width:100%;padding:45px 22px 0;text-align:center}.copy p{margin:0 auto}.aerial-person{position:absolute;right:50%;transform:translateX(50%);bottom:0;max-width:94vw;max-height:64%;object-fit:contain}.feature{display:flex;flex-direction:column}.feature-copy{padding:65px 22px}.feature-photo img{width:100%;height:auto;max-height:none}.clean{padding:85px 22px}.photo-screen:before,.aerial-section:before,.tour:before,.feature:before,.clean:before,footer:before{height:5px;top:-2px;transform:none}}
@media(prefers-reduced-motion:reduce){.ambient{animation:none}html{scroll-behavior:auto}}
.footer-social{margin-top:24px;display:flex;justify-content:center;gap:18px;flex-wrap:wrap}
.footer-social a{font:800 9px Cinzel;letter-spacing:1.5px;color:#fff0d1;border-bottom:1px solid #ffd85e80;padding-bottom:4px}
.footer-social a:hover{color:#ffd85e}

/* V21 — PNG performers integrated into the luminous background */
.magic-performer{
 position:relative;min-height:100svh;overflow:hidden;
 background:
 linear-gradient(180deg,rgba(13,0,44,.16),rgba(19,0,54,.36)),
 #140036 url("assets/sfondo.jpg") center/cover no-repeat;
}
.magic-performer:before{
 content:"";position:absolute;z-index:8;left:-4%;width:108%;height:6px;
 background:linear-gradient(90deg,transparent 0,#ff42a5 14%,#fff6bd 37%,#ffd34e 52%,#ff55b2 77%,transparent);
 box-shadow:0 0 5px #fff9d7,0 0 14px #ffc44d,0 0 32px #ff309a;
 pointer-events:none
}
.magic-performer:after{
 content:"";position:absolute;z-index:9;left:0;right:0;height:30px;
 background:radial-gradient(circle at 15% 50%,#fff 0 1px,transparent 3px),
 radial-gradient(circle at 34% 42%,#ffd75b 0 2px,transparent 4px),
 radial-gradient(circle at 58% 55%,#fff5b2 0 1px,transparent 3px),
 radial-gradient(circle at 78% 44%,#ff76c5 0 2px,transparent 4px);
 filter:drop-shadow(0 0 6px #ffd85e);pointer-events:none
}
.marco-scene:before{top:0}.marco-scene:after{top:-12px}
.marco-cutout{
 position:absolute;z-index:3;left:2%;top:0;
 width:min(58vw,780px);height:auto;max-height:94svh;object-fit:contain;
 transform:translateY(-1px)
}
.scene-copy{
 position:absolute;z-index:4;right:8%;top:50%;transform:translateY(-50%);
 width:min(36vw,470px);text-align:left
}
.scene-copy small,.benny-copy small{font:800 10px Cinzel;letter-spacing:2px;color:var(--gold)}
.scene-copy h2,.benny-copy h2{font:800 clamp(38px,6vw,70px)/.92 Cinzel;margin:10px 0 18px}
.scene-copy h2 b,.benny-copy h2 b{color:var(--gold)}
.scene-copy p{font-size:16px;line-height:1.65;color:#f6ebfa;max-width:420px}

.benny-scene{min-height:105svh;display:flex;justify-content:center;align-items:flex-end}
.benny-scene:before{bottom:0;top:auto}.benny-scene:after{bottom:-12px;top:auto}
.benny-cutout{
 position:absolute;z-index:3;bottom:0;left:50%;transform:translateX(-50%);
 width:min(82vw,1120px);height:auto;max-height:92svh;object-fit:contain
}
.benny-copy{
 position:absolute;z-index:4;left:6%;top:18%;width:30vw;text-align:left;
 text-shadow:0 3px 14px #13001f
}

/* Disable the generic divider on these custom performer sections:
   their own light trails sit exactly on the boundaries. */
.magic-performer + .tour:before{top:-3px}

@media(max-width:850px){
 .magic-performer{min-height:92svh;background-size:auto 100%;background-position:center}
 .marco-cutout{
   left:-4%;top:0;width:92vw;max-height:68svh;object-fit:contain
 }
 .scene-copy{
   right:20px;left:20px;top:auto;bottom:8%;transform:none;width:auto;text-align:center
 }
 .scene-copy p{margin:0 auto}
 .benny-scene{min-height:92svh}
 .benny-cutout{
   width:98vw;max-height:72svh;bottom:0;object-fit:contain
 }
 .benny-copy{
   left:20px;right:20px;top:9%;width:auto;text-align:center
 }
 .magic-performer:before{height:5px}
}

/* V22 — testi sempre separati dai soggetti PNG */
@media(min-width:851px){
  .marco-scene{
    display:grid;
    grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);
    align-items:center;
  }
  .marco-cutout{
    left:1%;
    width:min(55vw,760px);
  }
  .scene-copy{
    position:relative;
    right:auto;top:auto;transform:none;
    grid-column:2;
    width:auto;
    padding:40px 5vw 40px 10px;
  }
  .benny-scene{
    min-height:112svh;
  }
  .benny-cutout{
    width:min(72vw,980px);
    max-height:78svh;
  }
  .benny-copy{
    left:5%;top:10%;
    width:28vw;
  }
}
@media(max-width:850px){
  .marco-scene{
    min-height:112svh;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    padding-top:1px;
  }
  .marco-cutout{
    position:relative;
    order:1;
    left:auto;top:auto;
    width:100%;
    max-height:68svh;
    margin:0 auto;
  }
  .scene-copy{
    position:relative;
    order:2;
    left:auto;right:auto;top:auto;bottom:auto;
    transform:none;
    width:100%;
    padding:34px 22px 72px;
    text-align:center;
    background:linear-gradient(180deg,rgba(19,0,54,.2),rgba(19,0,54,.72));
  }
  .benny-scene{
    min-height:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    padding-top:0;
  }
  .benny-copy{
    position:relative;
    order:1;
    left:auto;right:auto;top:auto;
    width:100%;
    padding:58px 22px 28px;
    text-align:center;
  }
  .benny-cutout{
    position:relative;
    order:2;
    left:auto;bottom:auto;
    transform:none;
    width:100%;
    max-height:none;
    margin:0 auto;
  }
  .benny-scene:before{bottom:0}
  .benny-scene:after{bottom:-12px}
}

/* =========================================================
   V23 MOBILE RESET — one continuous luminous environment
   ========================================================= */
@media(max-width:850px){
  html,body{background:#12002f!important}
  body{
    background-image:url("assets/sfondo.jpg")!important;
    background-repeat:repeat-y!important;
    background-position:center top!important;
    background-size:100% auto!important;
    background-attachment:scroll!important;
  }

  /* HOME: the supplied background is the actual hero. No purple panels. */
  .home{
    height:108svh!important;
    min-height:680px!important;
    background-image:url("assets/sfondo.jpg")!important;
    background-repeat:no-repeat!important;
    background-position:center top!important;
    background-size:cover!important;
  }
  .home:after{
    background:linear-gradient(180deg,rgba(8,0,28,.04) 0%,rgba(8,0,28,.02) 60%,rgba(8,0,28,.15) 100%)!important;
  }
  .ambient{
    opacity:.62;
    background:
      radial-gradient(circle at 50% 12%,rgba(255,244,174,.22),transparent 26%),
      radial-gradient(circle at 72% 34%,rgba(255,64,176,.12),transparent 28%)!important;
  }

  /* Same background continues behind the two PNG performers. */
  .magic-performer,
  .marco-scene,
  .benny-scene{
    background-color:transparent!important;
    background-image:url("assets/sfondo.jpg")!important;
    background-repeat:no-repeat!important;
    background-position:center center!important;
    background-size:cover!important;
  }

  /* No rectangular text panels. */
  .scene-copy,
  .benny-copy{
    background:none!important;
  }

  /* Marco: image and copy are separate, never overlapping. */
  .marco-scene{
    min-height:0!important;
    padding:0!important;
    display:flex!important;
    flex-direction:column!important;
  }
  .marco-cutout{
    position:relative!important;
    order:1!important;
    left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
    transform:none!important;
    display:block!important;
    width:min(100%,620px)!important;
    height:auto!important;
    max-width:100%!important;
    max-height:none!important;
    margin:0 auto!important;
    object-fit:contain!important;
  }
  .scene-copy{
    position:relative!important;
    order:2!important;
    inset:auto!important;
    transform:none!important;
    width:100%!important;
    padding:38px 24px 74px!important;
    text-align:center!important;
  }

  /* Benny: title first, figure below, never crossed by typography. */
  .benny-scene{
    min-height:0!important;
    padding:0!important;
    display:flex!important;
    flex-direction:column!important;
  }
  .benny-copy{
    position:relative!important;
    order:1!important;
    inset:auto!important;
    width:100%!important;
    padding:64px 24px 28px!important;
    text-align:center!important;
  }
  .benny-cutout{
    position:relative!important;
    order:2!important;
    left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
    transform:none!important;
    display:block!important;
    width:min(100%,680px)!important;
    max-width:100%!important;
    height:auto!important;
    max-height:none!important;
    margin:0 auto!important;
    object-fit:contain!important;
  }

  /* The luminous line is exactly on each section boundary. */
  .magic-performer:before,
  .tour:before,.feature:before,.clean:before,footer:before{
    top:0!important;
    bottom:auto!important;
    transform:translateY(-50%)!important;
  }
  .magic-performer:after,
  .tour:after,.feature:after,.clean:after{
    top:-14px!important;
    bottom:auto!important;
  }
  .benny-scene:before{top:auto!important;bottom:0!important;transform:translateY(50%)!important}
  .benny-scene:after{top:auto!important;bottom:-14px!important}

  /* Tour/other content: transparent theatrical layers rather than solid blocks. */
  .tour{
    background:linear-gradient(180deg,rgba(130,0,37,.58),rgba(94,0,35,.68))!important;
    backdrop-filter:none!important;
  }
  .feature{
    background:rgba(7,0,25,.55)!important;
  }
  .clean{
    background:linear-gradient(180deg,rgba(29,0,63,.55),rgba(18,0,48,.68))!important;
  }
  .clean.alt{
    background:linear-gradient(180deg,rgba(90,0,45,.54),rgba(28,0,55,.66))!important;
  }
  .clean.info{
    background:linear-gradient(180deg,rgba(151,0,42,.62),rgba(89,0,42,.70))!important;
  }
  footer{background:rgba(20,0,44,.76)!important}

  /* Main logo stays clean and transparent. */
  .main-logo{
    margin-top:104px!important;
    filter:none!important;
  }
}

/* V24 — corrected long red/gold HOME background */
.home{
 background:#b40018 url("assets/sfondo-home-red.jpg") center top/100% auto no-repeat!important;
 height:112svh!important;min-height:760px!important
}
.home:after{background:linear-gradient(180deg,rgba(65,0,0,.01),rgba(80,0,5,.015) 75%,rgba(80,0,5,.05))!important}
.ambient{opacity:.38!important;background:radial-gradient(circle at 50% 12%,rgba(255,241,156,.18),transparent 26%)!important}

/* Continue the long artwork into the following scene, using its lower portion. */
.marco-scene{
 background-color:#b40018!important;
 background-image:url("assets/sfondo-home-red.jpg")!important;
 background-repeat:no-repeat!important;
 background-position:center bottom!important;
 background-size:100% auto!important
}
.oltre-section{
 position:relative;min-height:72svh;display:flex;align-items:center;justify-content:center;
 padding:90px 22px;text-align:center;
 background:linear-gradient(180deg,#a5001d,#65001f)
}
.oltre-section:before{content:"";position:absolute;z-index:3;top:0;left:-3%;width:106%;height:6px;background:linear-gradient(90deg,transparent,#ff4cac 14%,#fff5b7 38%,#ffd14c 54%,#ff4cac 78%,transparent);box-shadow:0 0 5px #fff7ca,0 0 15px #ffc249,0 0 30px #ff319c}
.oltre-inner{position:relative;z-index:4;max-width:760px}
.oltre-section small{font:800 10px Cinzel;letter-spacing:2px;color:var(--gold)}
.oltre-section h2{font:800 clamp(40px,7vw,76px)/.91 Cinzel;margin:12px 0 22px}
.oltre-section h2 b{color:var(--gold)}
.oltre-section p{max-width:650px;margin:0 auto 28px;line-height:1.7;color:#fff4f1}
.oltre-note{font:800 9px Cinzel;letter-spacing:2.5px;color:#ffe9a4}
@media(max-width:850px){
 body{background:#b40018!important}
 .home{
   height:112svh!important;min-height:760px!important;
   background-image:url("assets/sfondo-home-red.jpg")!important;
   background-size:100% auto!important;background-position:center top!important;background-repeat:no-repeat!important
 }
 .marco-scene{
   background-image:url("assets/sfondo-home-red.jpg")!important;
   background-size:100% auto!important;background-position:center bottom!important;background-repeat:no-repeat!important;
   background-color:#b40018!important
 }
 .oltre-section{min-height:68svh;padding:82px 22px}
}

/* V25 — HQ red home + true transition ribbon */
.home{
  background:#b40018 url("assets/home-red-hq.png") center top/cover no-repeat!important;
  height:120svh!important;min-height:820px!important;
}
.home:after{background:linear-gradient(180deg,transparent 0 86%,rgba(125,0,22,.08) 100%)!important}

/* The second scene starts only AFTER the thick luminous transition. */
.marco-scene{
  position:relative!important;
  min-height:108svh!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 50% 10%,rgba(74,24,168,.58),transparent 35%),
    linear-gradient(180deg,#18004b 0%,#090028 68%,#16003c 100%)!important;
  padding-top:70px!important;
}
.marco-scene:before{
  content:""!important;position:absolute!important;z-index:12!important;
  top:-26px!important;left:-7%!important;width:114%!important;height:86px!important;
  transform:rotate(1.4deg)!important;
  background:
   radial-gradient(circle at 8% 55%,#fff 0 2px,transparent 4px),
   radial-gradient(circle at 17% 32%,#ffd85e 0 2px,transparent 5px),
   radial-gradient(circle at 27% 62%,#fff5ad 0 3px,transparent 6px),
   radial-gradient(circle at 43% 38%,#fff 0 2px,transparent 5px),
   radial-gradient(circle at 61% 66%,#ffd65a 0 3px,transparent 6px),
   radial-gradient(circle at 76% 34%,#fff 0 2px,transparent 5px),
   radial-gradient(circle at 91% 58%,#ffe675 0 3px,transparent 6px),
   linear-gradient(174deg,transparent 34%,rgba(255,112,22,.8) 36%,#fff1a3 38%,#ffd33d 40%,transparent 43%),
   linear-gradient(181deg,transparent 45%,#ff5f24 47%,#fff9cf 49%,#ffca32 51%,transparent 54%),
   linear-gradient(188deg,transparent 57%,rgba(255,80,35,.85) 59%,#ffe77a 61%,#fff 62%,transparent 65%)!important;
  box-shadow:none!important;filter:drop-shadow(0 0 7px #ffd244) drop-shadow(0 0 18px #ff5a24)!important;
  pointer-events:none!important;
}
.marco-scene:after{
  content:""!important;position:absolute!important;z-index:11!important;
  top:-7px!important;left:0!important;right:0!important;height:70px!important;
  background:radial-gradient(ellipse at 50% 0,rgba(255,214,64,.35),transparent 65%)!important;
  filter:none!important;pointer-events:none!important;
}
/* Marco's red straps visually disappear into the luminous ribbon. */
.marco-cutout{
  z-index:10!important;
  top:-70px!important;
  transform:translateY(0)!important;
}
.scene-copy{z-index:10!important}

@media(max-width:850px){
  .home{
    height:118svh!important;min-height:760px!important;
    background-image:url("assets/home-red-hq.png")!important;
    background-size:cover!important;background-position:center top!important;
  }
  .marco-scene{
    min-height:0!important;padding-top:54px!important;
    background:linear-gradient(180deg,#17004c,#080027 72%,#17003d)!important;
  }
  .marco-scene:before{
    top:-22px!important;height:72px!important;left:-10%!important;width:120%!important;
    transform:rotate(1.8deg)!important;
  }
  .marco-cutout{
    position:relative!important;top:-54px!important;
    margin-bottom:-54px!important;width:100%!important;
  }
  .scene-copy{padding-top:26px!important}
}

/* V26 — generated acrobat artwork becomes the opening environment */
.home{
  background:#a90016 url("assets/hero-acrobat-magic.png") center top/cover no-repeat!important;
  height:190svh!important;
  min-height:1250px!important;
}
.home:after{
  background:linear-gradient(180deg,rgba(55,0,0,.02) 0%,rgba(55,0,0,0) 55%,rgba(5,0,28,.04) 100%)!important;
}
.ambient{opacity:.18!important}

/* Artwork already contains its own luminous boundary and aerialist:
   remove the duplicated Marco scene from view without affecting later content. */
.marco-scene{display:none!important}

@media(max-width:850px){
  .home{
    height:auto!important;
    min-height:205svh!important;
    background-image:url("assets/hero-acrobat-magic.png")!important;
    background-size:100% auto!important;
    background-position:center top!important;
    background-repeat:no-repeat!important;
    background-color:#10002f!important;
  }
  .home .claim{
    bottom:auto!important;
    top:62svh!important;
  }
}

/* =========================================================
   V27 — full opening artwork, seamless Benny transition,
   SHOW then TOUR
   ========================================================= */
.home{
  height:auto!important;
  min-height:0!important;
  aspect-ratio:800/2000!important;
  background-image:url("assets/hero-acrobat-magic.png")!important;
  background-size:100% 100%!important;
  background-position:center top!important;
  background-repeat:no-repeat!important;
  position:relative!important;
}
.home:before{
  content:"";position:absolute;z-index:2;left:0;right:0;bottom:-2px;height:18%;
  background:linear-gradient(180deg,transparent 0%,rgba(16,0,47,.18) 48%,#140036 100%);
  pointer-events:none;
}
.home:after{background:none!important}
.home .main-logo,.home .claim{z-index:4}
.home .claim{bottom:8%!important}

/* Benny begins only after the complete opening artwork; fade hides the page join. */
.benny-scene{
  margin-top:0!important;
  background:
    linear-gradient(180deg,#140036 0%,rgba(20,0,54,.72) 16%,rgba(20,0,54,.2) 45%,rgba(20,0,54,.72) 100%),
    url("assets/sfondo.jpg") center/cover no-repeat!important;
}
.benny-scene:after{
  content:"";position:absolute!important;z-index:1!important;left:0!important;right:0!important;top:-90px!important;
  height:150px!important;background:linear-gradient(180deg,transparent,#140036 75%)!important;filter:none!important;
}
.benny-copy{z-index:5!important}
.benny-intro{
  margin-top:20px;max-width:470px;font-size:15px;line-height:1.72;color:#fff4fa;
}
.benny-cutout{z-index:3!important}

/* SHOW starts directly below Benny's luminous divider. */
.show-section{
  position:relative;min-height:100svh;padding:110px 7vw 95px;
  display:flex;align-items:center;justify-content:center;text-align:center;
  background:
    radial-gradient(circle at 50% 8%,rgba(118,28,175,.42),transparent 34%),
    linear-gradient(180deg,#10002f,#24004d 62%,#50002f);
}
.show-section:before{
  content:"";position:absolute;z-index:8;top:0;left:-3%;width:106%;height:7px;
  background:linear-gradient(90deg,transparent,#ff42a5 14%,#fff6bd 37%,#ffd34e 52%,#ff55b2 77%,transparent);
  box-shadow:0 0 5px #fff9d7,0 0 14px #ffc44d,0 0 32px #ff309a;
}
.show-inner{max-width:900px}
.show-section small{font:800 10px Cinzel;letter-spacing:2px;color:var(--gold)}
.show-section h2{font:800 clamp(52px,9vw,100px)/.9 Cinzel;color:var(--gold);margin:10px 0 28px}
.show-lead{max-width:790px;margin:0 auto 44px;font-size:clamp(17px,2vw,21px);line-height:1.65}
.show-section h3{font:700 clamp(20px,3vw,28px) Cinzel;margin:0 0 24px}
.show-lineup{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.show-lineup span{border:1px solid rgba(255,214,78,.48);border-radius:999px;padding:9px 15px;background:rgba(255,255,255,.035);font:700 11px Cinzel;letter-spacing:.5px}
.tour-v27{text-align:center}
.tour-v27 .tour-date{font:800 clamp(18px,3vw,28px) Cinzel;color:#fff;margin:18px 0 30px}

@media(max-width:850px){
  .home{
    min-height:0!important;height:auto!important;
    aspect-ratio:800/2000!important;
    background-size:100% 100%!important;
  }
  .home .main-logo{margin-top:104px!important}
  .home .claim{top:auto!important;bottom:7%!important}
  .benny-scene{padding-top:0!important}
  .benny-copy{padding:70px 22px 34px!important}
  .benny-intro{margin:18px auto 0;font-size:14px;line-height:1.65;max-width:560px}
  .show-section{min-height:0;padding:92px 22px 82px}
  .show-lead{font-size:16px;margin-bottom:36px}
  .show-lineup{gap:8px}
  .show-lineup span{padding:8px 11px;font-size:10px}
}

/* =========================================================
   V28 corrective layer
   ========================================================= */

/* HERO COPY: locked directly below logo, never over the aerialist. */
.home{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
}
.home .main-logo{
  position:relative!important;
  z-index:20!important;
  flex:0 0 auto!important;
}
.home .claim{
  position:relative!important;
  z-index:20!important;
  top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;
  transform:none!important;
  width:min(92%,820px)!important;
  margin:26px auto 0!important;
  padding:0 20px!important;
}

/* HOME -> BENNY: use a luminous ribbon at the exact boundary.
   It masks the join instead of pretending two different images are continuous. */
.home:before{
  content:""!important;
  position:absolute!important;z-index:30!important;
  left:-6%!important;right:auto!important;bottom:-32px!important;
  width:112%!important;height:92px!important;
  background:
    radial-gradient(circle at 8% 46%,#fff 0 2px,transparent 4px),
    radial-gradient(circle at 19% 61%,#ffd65a 0 3px,transparent 6px),
    radial-gradient(circle at 31% 37%,#fff4ae 0 2px,transparent 5px),
    radial-gradient(circle at 48% 58%,#fff 0 2px,transparent 5px),
    radial-gradient(circle at 66% 34%,#ffd85d 0 3px,transparent 6px),
    radial-gradient(circle at 82% 62%,#fff 0 2px,transparent 5px),
    radial-gradient(circle at 94% 39%,#ffe67c 0 3px,transparent 6px),
    linear-gradient(175deg,transparent 34%,rgba(255,76,35,.9) 36%,#fff4ae 38%,#ffc928 40%,transparent 43%),
    linear-gradient(182deg,transparent 45%,#ff5a28 47%,#fffbd8 49%,#ffd13c 51%,transparent 54%),
    linear-gradient(188deg,transparent 57%,rgba(255,76,35,.9) 59%,#ffe978 61%,#fff 62%,transparent 65%)!important;
  filter:drop-shadow(0 0 7px #ffd449) drop-shadow(0 0 19px #ff4f25)!important;
  pointer-events:none!important;
}
.benny-scene{
  margin-top:0!important;
  padding-top:50px!important;
}
.benny-scene:after{
  top:0!important;height:115px!important;
  background:linear-gradient(180deg,rgba(255,83,37,.16),transparent)!important;
}

/* SHOW: guaranteed full text and full ordered lineup. */
.show-section{display:flex!important;visibility:visible!important;height:auto!important;min-height:100svh!important}
.show-inner{display:block!important;width:min(100%,900px)!important}
.show-lead{display:block!important}
.show-lineup-v28{
  list-style:none!important;margin:0 auto!important;padding:0!important;
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;max-width:760px!important;counter-reset:showitem!important
}
.show-lineup-v28 li{
  counter-increment:showitem;
  border:1px solid rgba(255,214,78,.5);border-radius:999px;
  padding:10px 13px;background:rgba(255,255,255,.04);
  font:700 11px Cinzel;letter-spacing:.4px
}
.show-lineup-v28 li:before{
  content:counter(showitem,decimal-leading-zero) " · ";
  color:var(--gold)
}

@media(max-width:850px){
  .home{
    display:flex!important;
    min-height:0!important;
    aspect-ratio:800/2000!important;
    background-size:100% 100%!important;
  }
  .home .main-logo{
    margin:104px auto 0!important;
  }
  .home .claim{
    margin:18px auto 0!important;
    padding:0 18px!important;
  }
  .home:before{bottom:-27px!important;height:78px!important}
  .benny-scene{padding-top:46px!important}
  .show-lineup-v28{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* V29 — ARTISTI horizontal gallery + SHOW hard reset */
.artists-v29{
 position:relative;padding:105px 0 90px;overflow:hidden;
 background:linear-gradient(180deg,#170035,#390052 58%,#190032);
}
.artists-v29:before{
 content:"";position:absolute;top:0;left:0;width:100%;height:6px;
 background:linear-gradient(90deg,transparent,#ff4ca7,#fff5b4,#ffd343,#ff4ca7,transparent);
 box-shadow:0 0 8px #ffd85d,0 0 25px #ff3e9e;
}
.artists-head{text-align:center;padding:0 22px 42px}
.artists-head small{font:800 10px Cinzel;letter-spacing:2px;color:var(--gold)}
.artists-head h2{font:800 clamp(38px,6vw,72px)/.94 Cinzel;margin:10px 0 16px}
.artists-head h2 b{color:var(--gold)}
.artists-head p{color:#f4e9f5}
.artists-slider{
 display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;
 padding:8px max(6vw,24px) 26px;scrollbar-width:none;-webkit-overflow-scrolling:touch;
}
.artists-slider::-webkit-scrollbar{display:none}
.artist-placeholder{
 flex:0 0 clamp(230px,28vw,360px);aspect-ratio:3/4;scroll-snap-align:center;
 border:1px solid rgba(255,215,91,.55);border-radius:22px;position:relative;
 display:flex;flex-direction:column;justify-content:flex-end;padding:24px;
 background:
  radial-gradient(circle at 50% 34%,rgba(255,213,84,.12),transparent 22%),
  linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.015));
 box-shadow:inset 0 0 40px rgba(255,196,58,.04);
}
.artist-placeholder span{position:absolute;top:20px;right:20px;font:700 11px Cinzel;color:var(--gold)}
.artist-placeholder strong{font:700 17px Cinzel;letter-spacing:1px;color:#fff}
.swipe-hint{text-align:center;margin-top:18px;font:700 9px Cinzel;letter-spacing:2px;color:#d8bddf}

/* SHOW is explicitly visible and complete. */
.show-section{display:flex!important;min-height:100svh!important;height:auto!important;visibility:visible!important;opacity:1!important}
.show-inner{display:block!important;visibility:visible!important;opacity:1!important}
.show-lead{display:block!important;visibility:visible!important;opacity:1!important;max-width:820px!important}
.show-program{
 display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
 gap:10px!important;max-width:780px!important;margin:0 auto!important;
}
.show-program div{
 display:block!important;padding:11px 14px;border:1px solid rgba(255,214,78,.5);
 border-radius:999px;background:rgba(255,255,255,.04);
 font:700 11px Cinzel;color:#fff;
}
@media(max-width:850px){
 .artists-v29{padding:86px 0 72px}
 .artists-slider{padding-left:22px;padding-right:22px}
 .artist-placeholder{flex-basis:76vw}
 .show-program{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* V30 — simple numbered SHOW programme */
.show-program-v30{
  display:block!important;
  max-width:480px!important;
  margin:0 auto!important;
  padding:0 0 0 34px!important;
  text-align:left!important;
  list-style:decimal!important;
  columns:2;
  column-gap:70px;
}
.show-program-v30 li{
  display:list-item!important;
  break-inside:avoid;
  padding:7px 0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:none!important;
  font:600 15px/1.4 "DM Sans",sans-serif!important;
  color:#fff!important;
}
.show-program-v30 li::marker{
  color:var(--gold);
  font-weight:800;
}
@media(max-width:600px){
  .show-program-v30{columns:1;max-width:280px!important}
}

/* V31 — elegant editorial typography for page copy */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&display=swap');

:root{--editorial:"Cormorant Garamond",Georgia,serif}

/* Long-form and descriptive copy */
.scene-copy p,
.benny-intro,
.show-lead,
.artists-head p,
.oltre-section p,
.clean p,
.feature p,
.tour p,
footer p{
  font-family:var(--editorial)!important;
  font-weight:600!important;
  letter-spacing:.15px!important;
  line-height:1.52!important;
}

/* Slightly larger so the refined serif remains highly readable. */
.benny-intro{font-size:clamp(17px,1.6vw,20px)!important}
.show-lead{font-size:clamp(19px,2vw,23px)!important;line-height:1.55!important}
.artists-head p,.oltre-section p,.scene-copy p,.clean p,.feature p{
  font-size:clamp(17px,1.5vw,20px)!important;
}

/* Programme stays clean and legible, but more refined. */
.show-program-v30 li{
  font-family:var(--editorial)!important;
  font-size:19px!important;
  font-weight:600!important;
  line-height:1.35!important;
}

/* Keep display typography theatrical and crisp. */
h1,h2,h3,.main-logo + *,nav,.cta,.show-section small,.artists-head small,
.oltre-section small,.oltre-note,.swipe-hint{
  font-family:Cinzel,serif;
}

@media(max-width:850px){
  .benny-intro,.artists-head p,.oltre-section p,.scene-copy p,.clean p,.feature p{
    font-size:17px!important;
    line-height:1.5!important;
  }
  .show-lead{font-size:18px!important}
  .show-program-v30 li{font-size:18px!important}
}

/* V33 — ruby/bordeaux premium navigation */
header{
  background:
    linear-gradient(90deg,
      rgba(49,0,8,.96) 0%,
      rgba(101,0,15,.95) 48%,
      rgba(58,0,9,.97) 100%)!important;
  border-bottom:1px solid rgba(255,210,86,.68)!important;
  box-shadow:
    0 1px 0 rgba(255,235,160,.14),
    0 7px 22px rgba(35,0,5,.34),
    0 0 16px rgba(255,191,45,.08)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
}
header:after{
  content:"";
  position:absolute;
  left:8%;right:8%;bottom:-1px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,211,78,.28),rgba(255,236,163,.72),rgba(255,211,78,.28),transparent);
  box-shadow:0 0 8px rgba(255,205,68,.38);
  pointer-events:none;
}
header nav a{color:#fff8f2!important}
header nav a:hover{color:#ffd75b!important}
header .menu{color:#fff8f2!important}
header .actions .cta{
  background:linear-gradient(180deg,#ffe17a,#e8ac22)!important;
  color:#4a0800!important;
  border-color:#fff0ad!important;
  box-shadow:0 0 16px rgba(255,201,54,.24)!important;
}
@media(max-width:850px){
  header{
    background:linear-gradient(90deg,rgba(49,0,8,.98),rgba(94,0,14,.97),rgba(58,0,9,.98))!important;
  }
}

/* V34 — mobile MENU and dropdown aligned to ruby navigation */
header .menu{
  background:linear-gradient(180deg,#7a0014 0%,#4a000b 100%)!important;
  color:#fff8f2!important;
  border:1px solid rgba(255,214,91,.72)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 12px rgba(255,190,50,.10)!important;
}
header .menu:hover,
header .menu:focus,
header .menu:active{
  background:linear-gradient(180deg,#920019 0%,#58000d 100%)!important;
  color:#ffe18a!important;
  border-color:#ffd65b!important;
}
@media(max-width:850px){
  header nav{
    background:linear-gradient(180deg,rgba(91,0,14,.99) 0%,rgba(49,0,8,.995) 100%)!important;
    border:1px solid rgba(255,211,78,.42)!important;
    box-shadow:0 18px 38px rgba(28,0,5,.52),0 0 14px rgba(255,196,48,.08)!important;
  }
  header nav a{
    color:#fff8f2!important;
    border-color:rgba(255,215,96,.13)!important;
  }
  header nav a:hover,
  header nav a:focus{
    color:#ffd75b!important;
    background:rgba(255,215,91,.07)!important;
  }
}

/* V35 contacts and transparency */
.contact-phone{display:inline-flex;align-items:center;justify-content:center;gap:12px;margin:24px auto 26px;padding:13px 22px;border:1px solid rgba(255,217,113,.65);border-radius:999px;background:linear-gradient(110deg,rgba(100,0,18,.85),rgba(55,0,11,.92));color:#ffe3a0;text-decoration:none;font:700 clamp(16px,2vw,21px) "DM Sans",sans-serif;letter-spacing:.4px;transition:transform .2s,box-shadow .2s}
.contact-phone:hover,.contact-phone:focus-visible{transform:translateY(-2px);box-shadow:0 0 20px rgba(255,210,74,.25)}
.legal-footer{max-width:840px;margin:42px auto 0;padding:26px 20px 8px;border-top:1px solid rgba(255,214,93,.35)}
.legal-footer>p{font:500 15px/1.8 "DM Sans",sans-serif!important;color:#f8e8dd!important;letter-spacing:0!important}
.transparency{margin:26px auto 0;text-align:left;border:1px solid rgba(255,211,89,.45);border-radius:14px;overflow:hidden;background:linear-gradient(130deg,#5e0011,#33000b)}
.transparency summary{list-style:none;cursor:pointer;display:flex;justify-content:center;align-items:center;gap:14px;padding:17px 22px;color:#ffe3a0;font:700 14px Cinzel,serif;letter-spacing:1.5px}
.transparency summary::-webkit-details-marker{display:none}
.transparency summary span{transition:transform .2s;font-size:21px}
.transparency[open] summary span{transform:rotate(180deg)}
.transparency-content{padding:18px clamp(20px,4vw,42px) 30px;border-top:1px solid rgba(255,211,89,.28);overflow-wrap:anywhere}
.transparency-content p{font:500 16px/1.65 "DM Sans",sans-serif!important;letter-spacing:0!important;color:#fff5ee!important;margin:0 0 17px!important;text-align:left}
.transparency-content h3{font:700 20px Cinzel,serif;color:#ffdb81;margin:26px 0 13px}
@media(max-width:600px){.legal-footer{margin-top:30px}.transparency-content p{font-size:14px!important}.contact-phone{font-size:16px}}

/* V37 — first artist photo with expandable story */
.artist-feature{flex:0 0 clamp(260px,32vw,420px);scroll-snap-align:center;min-width:0;align-self:flex-start;position:relative}
.artist-feature-photo{position:relative;border-radius:19px;overflow:hidden;aspect-ratio:3/4;background:#160514;box-shadow:0 15px 35px rgba(0,0,0,.3);border:1px solid rgba(255,205,75,.45)}
.artist-feature-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.artist-feature-overlay{position:absolute;inset:auto 0 0;padding:90px 24px 25px;background:linear-gradient(0deg,rgba(33,0,8,.98),rgba(45,0,13,.76) 56%,transparent);color:white}
.artist-feature-kicker{font:700 10px Cinzel;letter-spacing:2px;color:#ffdc7b}
.artist-feature-overlay h3{font:800 clamp(21px,2.3vw,30px)/1.07 Cinzel;color:#ffe09b;margin:9px 0}
.artist-feature-overlay p{font-size:17px;line-height:1.25;margin:0 0 15px;color:#fff}
.artist-read-more,.artist-close-bio{cursor:pointer;border:1px solid #ffdd7a;border-radius:999px;padding:11px 18px;background:linear-gradient(135deg,#ffe58b,#d9a62f);color:#4b0b0b;font:800 10px Cinzel;letter-spacing:.7px}
.artist-read-more:hover,.artist-close-bio:hover{filter:brightness(1.1)}
.artist-bio{padding:23px 24px 26px;background:linear-gradient(150deg,#730c21,#35000b);border:1px solid rgba(255,216,106,.6);border-top:0;border-radius:0 0 18px 18px;color:white}
.artist-bio[hidden]{display:none!important}.artist-bio h4{color:#ffdc7b;font:700 17px Cinzel;margin:0 0 12px}.artist-bio p{font-size:19px;line-height:1.4;margin:0 0 18px}
@media(max-width:850px){.artist-feature{flex-basis:82vw}.artist-feature-overlay{padding:70px 18px 20px}.artist-feature-overlay p{font-size:15px}}

/* V38 — biografia estesa Marco */
.artist-bio h5{font:700 13px Cinzel;color:#ffe29b;letter-spacing:1px;margin:20px 0 7px}.artist-bio .artist-bio-subtitle{color:#f8d484;font-style:italic;font-size:20px;margin:-3px 0 18px}.artist-bio strong{color:#ffe5a2}.artist-bio p{line-height:1.55;margin-bottom:14px}.artist-bio{max-height:min(70vh,750px);overflow-y:auto;scrollbar-color:#c89b3d #470514}.artist-bio .artist-close-bio{margin-top:8px}

/* V39 — readable full biographies on mobile, without carousel clipping */
.artist-photo-pending{background:radial-gradient(ellipse at 50% 22%,#9b2430 0%,#4c0719 48%,#1e0010 100%);border-color:rgba(255,210,91,.55)}
.artist-photo-pending:before{content:"✦";position:absolute;top:20%;left:50%;transform:translateX(-50%);font-size:94px;color:rgba(255,210,100,.28);text-shadow:0 0 55px rgba(255,184,42,.5)}
@media(max-width:850px){
 .artist-bio:not([hidden]){position:fixed!important;inset:82px 12px 14px!important;z-index:1000!important;max-height:none!important;height:auto!important;overflow-y:auto!important;overscroll-behavior:contain!important;border:1px solid #e3b957!important;border-radius:18px!important;padding:25px 22px 32px!important;box-shadow:0 0 0 100vmax rgba(15,0,9,.82),0 15px 50px rgba(0,0,0,.55)!important;-webkit-overflow-scrolling:touch!important}
 body.artist-bio-open{overflow:hidden!important}
 .artist-bio .artist-close-bio{position:sticky;bottom:0;display:block;margin:24px auto 0;z-index:2}
 .artist-bio p{font-size:18px!important;line-height:1.5!important}
}

/* V40: biographies have an always-accessible close control on phones */
.artist-close-top{display:none}
@media(max-width:850px){
 .artist-bio:not([hidden]){
   position:fixed!important;inset:0!important;
   width:100vw!important;height:100dvh!important;max-height:100dvh!important;
   padding:78px 22px max(45px,env(safe-area-inset-bottom))!important;
   overflow-y:auto!important;overscroll-behavior:contain!important;
   border-radius:0!important;z-index:9999!important;
 }
 .artist-bio .artist-close-top{
   display:block!important;position:fixed!important;
   top:max(15px,env(safe-area-inset-top))!important;right:18px!important;
   z-index:10001!important;margin:0!important;padding:12px 20px!important;
   box-shadow:0 5px 18px rgba(0,0,0,.45)!important;
 }
 .artist-bio .artist-close-bio:not(.artist-close-top){position:static!important;display:block!important;margin:25px auto 0!important}
}

/* V41: only the original bottom close button; no floating right button */
.artist-bio .artist-close-top{display:none!important}
@media(max-width:850px){.artist-bio .artist-close-bio:not(.artist-close-top){position:static!important;display:table!important;margin:26px auto 0!important;max-width:100%!important}}

/* V42 — programme divided into two acts */
.show-program-v42{max-width:680px;margin:28px auto 0;text-align:center;color:#fff}
.show-program-v42 h4{font-family:Cinzel,serif;color:var(--gold,#f5cb62);font-size:clamp(20px,3vw,26px);letter-spacing:2px;margin:22px 0 14px}
.show-program-v42 .show-opening{font-family:Cinzel,serif;font-size:clamp(20px,2.8vw,27px);font-weight:700;color:#fff;margin:0 0 26px}
.show-program-v42 ol{display:block;columns:1;list-style:decimal;text-align:left;max-width:510px;margin:0 auto;padding-left:36px}
.show-program-v42 li{display:list-item;break-inside:avoid;font-family:var(--editorial,Georgia,serif);font-size:clamp(19px,2.2vw,23px);font-weight:600;line-height:1.4;padding:7px 0;color:#fff}
.show-program-v42 li::marker{color:var(--gold,#f5cb62);font-weight:800}
.show-program-v42 .show-zoo{font-family:Cinzel,serif;color:#ffe09a;font-size:clamp(17px,2.4vw,22px);font-weight:700;line-height:1.55;margin:32px auto;padding:17px 12px;border-top:1px solid rgba(255,215,120,.48);border-bottom:1px solid rgba(255,215,120,.48)}
@media(max-width:600px){.show-program-v42{padding:0 8px}.show-program-v42 ol{max-width:330px;padding-left:30px}.show-program-v42 li{font-size:19px}.show-program-v42 .show-zoo{margin:28px auto}}

/* V43 — Denny portrait and comfortable biography on mobile */
#denny-artist .artist-feature-photo{background:#5185b9}
#denny-artist .artist-feature-photo img{object-fit:cover;object-position:center top}
@media(max-width:850px){
 .artist-bio:not([hidden]){height:100dvh!important;max-height:100dvh!important;overflow-y:auto!important;padding:34px 22px max(64px,env(safe-area-inset-bottom))!important;-webkit-overflow-scrolling:touch!important}
 .artist-bio .artist-close-bio:not(.artist-close-top){position:static!important;display:block!important;width:max-content!important;margin:28px auto 10px!important}
 #denny-artist .artist-feature-photo img{object-position:center top}
}

/* V44 — readable specialties above biographies */
.artist-specialties{display:flex;flex-direction:column;gap:3px;margin:3px 0 12px;color:#8edcff;font:700 12px/1.35 'DM Sans',sans-serif;letter-spacing:.5px;text-shadow:0 1px 4px #130015}
.artist-feature-overlay .artist-specialties span{display:block}
.artist-bio .artist-bio-subtitle{color:#94ddff!important;font-style:normal!important;font-weight:700!important;line-height:1.5!important}
.artist-feature-placeholder{background:radial-gradient(ellipse at 50% 30%,#a04a60 0%,#630e2d 40%,#240315 100%)}
.artist-placeholder-art{position:absolute;inset:0;display:grid;place-items:center;color:#f4cb77;font-size:120px;opacity:.32;text-shadow:0 0 60px #f5c15c}
@media(max-width:850px){.artist-specialties{font-size:11px;line-height:1.3}.artist-feature-overlay{padding-top:55px}.artist-feature-overlay p{font-size:14px}}

/* V45 — Marco framed as prominently as Denny, desktop and mobile */
#marco-artist .artist-feature-photo img{transform:scale(1.22);transform-origin:50% 27%;object-position:center 18%}

/* V46: Benedetta portrait */
#benedetta-artist .artist-feature-photo img{object-fit:cover;object-position:center 30%}

/* V47: align Marco portrait with Denny, responsive Jefferson photo */
#marco-artist .artist-feature-photo img{transform:scale(1.25);transform-origin:50% 18%;object-position:center 9%}
#jefferson-artist .artist-feature-photo img{object-fit:cover;object-position:center 20%}
@media(max-width:850px){#marco-artist .artist-feature-photo img{transform:scale(1.2);transform-origin:50% 16%;object-position:center 9%}#jefferson-artist .artist-feature-photo img{object-position:center 15%}}

/* V48 — Mineri, responsive full-height photo */
#mineri-artist .artist-feature-photo img{object-fit:cover;object-position:center 42%}
@media(max-width:850px){#mineri-artist .artist-feature-photo img{object-position:center 38%}}

/* V49 — coordinated performer scale and vertical framing across the gallery */
.artist-feature-photo img{object-fit:cover;object-position:center 20%;transform-origin:center 25%;}
#marco-artist .artist-feature-photo img{transform:scale(1.18);object-position:center 13%;transform-origin:center 19%}
#denny-artist .artist-feature-photo img{transform:scale(1.03);object-position:center 10%;transform-origin:center 18%}
#benedetta-artist .artist-feature-photo img{transform:scale(1.13);object-position:center 28%;transform-origin:center 34%}
#jefferson-artist .artist-feature-photo img{transform:scale(1.09);object-position:center 14%;transform-origin:center 19%}
#mineri-artist .artist-feature-photo img{transform:scale(1.13);object-position:center 37%;transform-origin:center 38%}
@media(max-width:850px){
 #marco-artist .artist-feature-photo img{transform:scale(1.18);object-position:center 13%;transform-origin:center 19%}
 #denny-artist .artist-feature-photo img{transform:scale(1.03);object-position:center 10%;transform-origin:center 18%}
 #benedetta-artist .artist-feature-photo img{transform:scale(1.13);object-position:center 28%;transform-origin:center 34%}
 #jefferson-artist .artist-feature-photo img{transform:scale(1.09);object-position:center 14%;transform-origin:center 19%}
 #mineri-artist .artist-feature-photo img{transform:scale(1.13);object-position:center 37%;transform-origin:center 38%}
}

/* V50: unified editorial crop — no competing transforms from earlier revisions */
.artist-feature-photo{aspect-ratio:3/4!important}
.artist-feature-photo img,
#marco-artist .artist-feature-photo img,
#denny-artist .artist-feature-photo img,
#benedetta-artist .artist-feature-photo img,
#jefferson-artist .artist-feature-photo img,
#mineri-artist .artist-feature-photo img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:50% 50%!important;transform:none!important;transform-origin:center!important}
@media(max-width:850px){
#marco-artist .artist-feature-photo img,
#denny-artist .artist-feature-photo img,
#benedetta-artist .artist-feature-photo img,
#jefferson-artist .artist-feature-photo img,
#mineri-artist .artist-feature-photo img{object-position:50% 50%!important;transform:none!important}
}

/* V52 story page entry */
.story-readmore{display:inline-flex;margin-top:22px;padding:14px 25px;background:linear-gradient(180deg,#ffe18a,#d9a536);border:1px solid #ffe8a6;border-radius:30px;color:#47070d!important;text-decoration:none;font-family:Cinzel,serif;font-size:14px;font-weight:800;letter-spacing:.05em}

/* V62 Pamela: original user photo, no generative retouching or facial alterations. */
#pamela-mavilla-artist .artist-feature-photo img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:50% 38%!important;transform:none!important;filter:brightness(1.12) contrast(1.025)!important}

/* V63 – ultimo riquadro della galleria: altri artisti in arrivo */
.artist-coming-soon{overflow:hidden;justify-content:center;align-items:center;text-align:center;padding:30px 23px;background:radial-gradient(ellipse at 50% 30%,#8b2030 0%,#4b0718 48%,#19020a 100%);border:1px solid rgba(245,200,104,.78);box-shadow:inset 0 0 55px rgba(255,184,65,.10),0 12px 34px rgba(0,0,0,.25)}
.artist-coming-soon::before{content:"";position:absolute;inset:10px;border:1px solid rgba(241,187,80,.28);border-radius:15px;pointer-events:none}
.artist-coming-soon::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 18%,rgba(255,215,125,.14),transparent 46%);pointer-events:none}
.coming-soon-emblem{position:absolute;top:14%;font-size:110px;line-height:1;color:rgba(244,187,74,.13);pointer-events:none}
.coming-soon-content{position:relative;z-index:1;max-width:290px}
.coming-soon-kicker{display:block;font:700 10px Cinzel,serif;letter-spacing:1.4px;color:#f1c974;margin-bottom:15px}
.artist-coming-soon h3{font:700 clamp(20px,2vw,27px)/1.25 Cinzel,Georgia,serif;color:#fff1d2;letter-spacing:.6px;margin:0 0 12px}
.artist-coming-soon h3 em{font-style:normal;color:#f5c96c}
.coming-soon-divider{font-size:16px;letter-spacing:2px;color:#f1bf63;margin:12px 0}
.artist-coming-soon p{font:400 14px/1.6 Georgia,serif;color:#fff0de;margin:0 0 19px}
.artist-coming-soon .coming-soon-label{display:inline-block;position:static;border:1px solid rgba(247,202,106,.65);border-radius:40px;padding:10px 13px;font:700 9px Cinzel,serif;letter-spacing:1px;color:#f9d486;background:rgba(38,2,9,.48)}
@media(max-width:600px){.artist-coming-soon{padding:24px 20px}.artist-coming-soon p{font-size:13px}}

/* V64: only subtle glints on existing gold points of the UNCHANGED home artwork. */
.home .hero-glimmers{position:absolute;inset:0;z-index:3;pointer-events:none;overflow:hidden;isolation:isolate}
.home .hero-glimmer{position:absolute;left:var(--x);top:var(--y);width:clamp(3px,.65vw,9px);height:clamp(3px,.65vw,9px);transform:translate(-50%,-50%);border-radius:50%;background:#fff8c9;opacity:0;box-shadow:0 0 5px 2px #ffe18a,0 0 15px 5px #ffbb4d8a;animation:hero-gold-twinkle var(--duration) ease-in-out var(--delay) infinite}
.home .hero-glimmer:before,.home .hero-glimmer:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:linear-gradient(90deg,transparent,#fff8d9,transparent);opacity:.75}
.home .hero-glimmer:before{width:480%;height:1px}.home .hero-glimmer:after{width:1px;height:480%;background:linear-gradient(180deg,transparent,#fff8d9,transparent)}
@keyframes hero-gold-twinkle{0%,18%,48%,100%{opacity:0;filter:brightness(1);transform:translate(-50%,-50%) scale(.5)}27%{opacity:.95;filter:brightness(1.2);transform:translate(-50%,-50%) scale(1)}35%{opacity:.18;transform:translate(-50%,-50%) scale(.65)}}
@media(prefers-reduced-motion:reduce){.home .hero-glimmer{animation:none!important;opacity:0!important}}

/* V65: working light-only overlay; original hero image unchanged. */
.home .hero-glimmers{display:block!important;position:absolute!important;inset:0!important;z-index:5!important;pointer-events:none!important;overflow:hidden!important}
.home .hero-glimmer{display:block!important;position:absolute!important;width:7px!important;height:7px!important;left:var(--x)!important;top:var(--y)!important;border-radius:50%!important;background:#fff7d0!important;opacity:0;box-shadow:0 0 8px 3px #ffe3a0,0 0 23px 8px #ffc15e80!important;animation:hero-gold-twinkle var(--duration) ease-in-out var(--delay) infinite!important;will-change:opacity,transform}
@keyframes hero-gold-twinkle{0%,16%,43%,100%{opacity:0;transform:translate(-50%,-50%) scale(.4)}23%{opacity:1;transform:translate(-50%,-50%) scale(1.25)}31%{opacity:.25;transform:translate(-50%,-50%) scale(.7)}}
@media(max-width:600px){.home .hero-glimmer{width:4px!important;height:4px!important}}
@media(prefers-reduced-motion:reduce){.home .hero-glimmer{animation:none!important;opacity:0!important}}

/* V66: clean final artist card; no background emblem or overlapping kicker. */
.artist-coming-soon .coming-soon-emblem,.artist-coming-soon .coming-soon-kicker{display:none!important}
.artist-coming-soon .coming-soon-content{max-width:310px;width:100%}
.artist-coming-soon h3{line-height:1.32;margin-bottom:18px}
