@import url('styles.css');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:opsz,wght@6..96,500;6..96,600;6..96,700&family=Manrope:wght@400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=DM+Sans:wght@400;500;600&display=swap');

:root{--ink:#0b1716;--paper:#d39a6a;--cream:#f2ece3;--rust:#a93f35;--sage:#1f716d;--line:rgba(16,16,14,.25)}
body{font-family:"DM Sans",sans-serif;background:#0b1716;overflow-x:hidden}
section[id]{scroll-margin-top:84px}
.topbar{height:72px;background:rgba(11,23,22,.94);color:#fff;border:0;position:sticky;top:0;z-index:90;backdrop-filter:blur(12px);box-shadow:0 8px 26px rgba(0,0,0,.18)}.topbar .mini-cta{background:#d39a6a;color:#0b1716;border:0}.brand{font-size:17px}.quick-info{margin:0 0 0 auto;font-size:12px;letter-spacing:.04em;opacity:.78}.topbar nav{margin-left:12px}
.hero{min-height:760px;height:100svh;background:#0b1716}.hero>img{object-position:center 42%;filter:saturate(1.25) contrast(1.08)}.hero-shade{background:linear-gradient(90deg,rgba(0,0,0,.9),rgba(0,0,0,.2) 62%),linear-gradient(0deg,rgba(0,0,0,.6),transparent)}
.hero-content{left:5vw;max-width:980px}.hero h1,.manifesto h2,.paths h2,.section-intro h2,.beyond h2,.info h2,.final-cta h2,.collective-head h2,.independentango h2,.acquatango h2,.adornos-feature h2,.milonga h2{font-family:"Archivo Black",sans-serif;text-transform:uppercase;line-height:.88;letter-spacing:-.055em}
.hero h1{font-size:clamp(62px,9vw,145px)}.hero h1 em{font:inherit;color:#d39a6a}.eyebrow,.kicker{letter-spacing:.16em}.lead{font-size:20px;font-weight:500}.button{border-radius:999px;text-transform:uppercase;letter-spacing:.05em}.primary{background:#a93f35}.ghost{border:2px solid #fff}
.manifesto{position:relative;background:#d39a6a;padding:120px 6vw;transform:skewY(-2deg);margin:-1px 0}.manifesto>*{transform:skewY(2deg)}.manifesto h2{font-size:clamp(58px,8vw,125px)}.manifesto-grid{grid-template-columns:1fr 1fr}.large-copy{font-family:"DM Sans";font-weight:600;line-height:1.08}.pillars article{border-color:#0b1716;grid-template-columns:46px minmax(0,1fr);row-gap:8px}.pillars article p{grid-column:2;margin-top:0}.pillars h3{font-family:"Archivo Black";text-transform:uppercase;font-size:23px}
.collective{background:#f2ece3;padding:130px 5vw}.collective-head h2{font-size:clamp(60px,8vw,125px)}.collective-videos{gap:18px}.collective-videos figure:nth-child(2){transform:translateY(32px)}.collective-videos video{border:6px solid #0b1716}.collective-videos figcaption{font-family:"Archivo Black";text-transform:uppercase;font-size:17px;border:0}
.technique{background:#0b1716;padding:130px 5vw}.section-intro h2{font-size:clamp(58px,8vw,125px);color:#d39a6a}.video-grid{gap:16px}.video-grid figure:nth-child(2){transform:translateY(30px)}.video-grid video{border:5px solid #d39a6a}.video-grid figcaption{font-family:"DM Sans";font-weight:600}
.independentango{background:#70243b;color:#fff;grid-template-columns:.82fr 1.18fr;padding:130px 6vw;transform:skewY(2deg);margin:-1px 0}.independentango>*{transform:skewY(-2deg)}.independentango:before{background:#1f716d;opacity:.45}.independentango:after{background:#a93f35;opacity:.5}.independentango .kicker{color:#d39a6a}.independentango h2{font-size:clamp(54px,7vw,110px)}.independentango blockquote{font-family:"Archivo Black";text-transform:uppercase;border-color:#d39a6a;border-image:none}.independentango-video{transform:skewY(-2deg) rotate(1.2deg);padding:9px;background:#d39a6a;box-shadow:22px 22px 0 #0b1716}.independentango-video>p{color:#0b1716}
.acquatango{background:#1f716d;color:#f2ece3;padding:135px 6vw}.acquatango h2 em{font-family:"DM Sans";text-transform:none;letter-spacing:0;color:#d7e5e2}.acqua-copy li{border:2px solid #d7e5e2;font-weight:600}.acqua-videos figure:first-child{transform:rotate(-1.5deg)}.acqua-videos figure:last-child{transform:rotate(2deg)}
.paths{background:#f2ece3;padding:130px 5vw}.paths h2{font-size:clamp(58px,8vw,125px)}.cards{gap:15px}.path-card{background:#d39a6a;border:4px solid #0b1716}.path-card:nth-child(2){transform:translateY(35px)}.path-card:nth-child(3){background:#70243b;color:#fff}.path-card h3{font-family:"Archivo Black";text-transform:uppercase;font-size:25px}.path-card span{color:inherit}
.adornos-feature{background:#a93f35;color:#0b1716;padding:130px 6vw}.adornos-feature h2 em{font-family:"DM Sans";letter-spacing:0;text-transform:none;color:#0b1716}.adornos-feature-video{transform:rotate(-1.2deg);border:6px solid #0b1716}
.beyond{background:#0b1716;color:#fff}.beyond-photo img{filter:saturate(1.25) contrast(1.1)}.tags span{border:2px solid #d39a6a;color:#d39a6a;font-weight:600}
.milonga{background:#d39a6a;color:#0b1716;padding:130px 6vw}.milonga-head>p:last-child{color:#0b1716}.milonga-videos{grid-template-columns:1fr}.milonga-videos .milonga-main{width:min(1040px,100%);margin:0 auto;transform:rotate(-.6deg);filter:drop-shadow(0 22px 28px rgba(39,15,8,.28))}.milonga-videos video{border:5px solid #0b1716}.milonga-videos figcaption{border:0;font-family:"Archivo Black";text-transform:uppercase;font-size:17px}
.info{background:#f2ece3}.poster-wrap{transform:rotate(-2deg);box-shadow:18px 18px 0 #a93f35}.info h2{font-size:clamp(58px,7vw,110px)}.final-cta{background:#70243b}.final-cta h2{color:#d39a6a}.light{background:#d39a6a;color:#0b1716}footer{padding-bottom:90px}
@media(max-width:850px){.hero h1{font-size:62px}.manifesto,.manifesto>*{transform:none}.collective-videos figure:nth-child(2),.video-grid figure:nth-child(2),.path-card:nth-child(2){transform:none}.independentango,.independentango>*{transform:none}.independentango{grid-template-columns:1fr}.independentango-video{transform:rotate(1deg)}}
@media(max-width:480px){.hero h1{font-size:48px}}

/* OpenART: la stessa famiglia in versione energica */
body{font-family:"Montserrat",sans-serif}
.brand{font-family:"Montserrat",sans-serif;font-weight:900;letter-spacing:-.055em}.brand span{font-weight:300}
.hero h1,.manifesto h2,.paths h2,.section-intro h2,.beyond h2,.info h2,.final-cta h2,.collective-head h2,.independentango h2,.acquatango h2,.adornos-feature h2,.milonga h2,.pillars h3,.path-card h3,.collective-videos figcaption,.milonga-videos figcaption,.independentango blockquote{font-family:"Montserrat",sans-serif;font-weight:900}
.large-copy,.video-grid figcaption,.acquatango h2 em,.adornos-feature h2 em{font-family:"Montserrat",sans-serif}.footer-logo{width:min(280px,100%);height:auto;mix-blend-mode:screen}

/* Superfici materiche: pigmento, carta, acqua e intonaco */
.manifesto,.collective,.technique,.independentango,.acquatango,.paths,.adornos-feature,.beyond,.milonga,.info,.final-cta{isolation:isolate;position:relative}
.manifesto:after,.collective:after,.technique:after,.independentango:after,.acquatango:after,.paths:after,.adornos-feature:after,.beyond:after,.milonga:after,.info:after,.final-cta:after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.48;mix-blend-mode:soft-light}
.manifesto>*,.collective>*,.technique>*,.independentango>*,.acquatango>*,.paths>*,.adornos-feature>*,.beyond>*,.milonga>*,.info>*,.final-cta>*{position:relative;z-index:1}
.manifesto:after{background:radial-gradient(circle at 18% 27%,rgba(255,242,218,.48) 0 1px,transparent 2px),radial-gradient(circle at 76% 62%,rgba(55,15,8,.34) 0 1px,transparent 2px),repeating-linear-gradient(8deg,rgba(255,255,255,.12) 0 1px,transparent 1px 7px);background-size:19px 23px,27px 31px,auto}
.collective:after,.info:after{background:repeating-linear-gradient(92deg,rgba(72,51,37,.08) 0 1px,transparent 1px 5px),radial-gradient(ellipse at 30% 10%,rgba(255,255,255,.9),transparent 52%),radial-gradient(circle at 80% 75%,rgba(96,56,37,.16),transparent 42%)}
.technique:after,.beyond:after{opacity:.62;background:radial-gradient(circle at 20% 25%,rgba(211,154,106,.18) 0 1px,transparent 2px),radial-gradient(circle at 72% 66%,rgba(255,255,255,.1) 0 1px,transparent 2px),repeating-linear-gradient(112deg,transparent 0 9px,rgba(255,255,255,.025) 10px 11px);background-size:23px 29px,31px 37px,auto}
.independentango:after{background:radial-gradient(ellipse at 18% 18%,rgba(255,190,171,.35),transparent 45%),radial-gradient(ellipse at 82% 72%,rgba(24,5,16,.46),transparent 52%),repeating-linear-gradient(35deg,rgba(255,255,255,.06) 0 1px,transparent 1px 8px)}
.acquatango:after{opacity:.7;background:repeating-radial-gradient(ellipse at 15% 15%,rgba(220,245,240,.16) 0 2px,transparent 3px 13px),linear-gradient(118deg,rgba(255,255,255,.16),transparent 38%,rgba(5,41,43,.26))}
.paths:after{background:repeating-linear-gradient(0deg,rgba(80,58,41,.07) 0 1px,transparent 1px 6px),repeating-linear-gradient(90deg,rgba(255,255,255,.3) 0 1px,transparent 1px 11px)}
.adornos-feature:after{background:radial-gradient(circle at 72% 24%,rgba(255,213,177,.28),transparent 38%),repeating-linear-gradient(125deg,rgba(75,9,12,.12) 0 1px,transparent 1px 9px)}
.milonga:after{background:radial-gradient(circle at 25% 30%,rgba(255,235,202,.36),transparent 35%),radial-gradient(circle at 78% 66%,rgba(77,31,16,.28),transparent 45%),repeating-linear-gradient(4deg,rgba(255,255,255,.07) 0 1px,transparent 1px 12px)}
.final-cta:after{background:radial-gradient(ellipse at center,rgba(210,121,111,.28),transparent 58%),repeating-linear-gradient(100deg,rgba(0,0,0,.08) 0 1px,transparent 1px 10px)}
.collective,.technique,.acquatango,.paths,.adornos-feature,.beyond,.milonga,.info,.final-cta{box-shadow:inset 0 1px rgba(255,255,255,.17),inset 0 -18px 38px rgba(0,0,0,.08)}

/* Prova tipografica: Didot/Bodoni + Manrope */
body{font-family:"Manrope",Arial,sans-serif;font-weight:400;letter-spacing:.005em}
.topbar nav,.mini-cta,.eyebrow,.kicker,.lead,.button,.pillars p,.section-intro>p,.path-card span,.tags,.info dl,.reassurance,.phone,figcaption,.floating,footer{font-family:"Manrope",Arial,sans-serif}
.hero h1,.manifesto h2,.paths h2,.section-intro h2,.beyond h2,.info h2,.final-cta h2,.collective-head h2,.independentango h2,.acquatango h2,.adornos-feature h2,.milonga h2,.pillars h3,.path-card h3,.independentango blockquote{font-family:Didot,"Bodoni Moda","Bodoni MT",serif;font-weight:600;letter-spacing:-.038em}
.hero h1,.manifesto h2,.paths h2,.section-intro h2,.beyond h2,.info h2,.final-cta h2,.collective-head h2,.independentango h2,.acquatango h2,.adornos-feature h2,.milonga h2{text-transform:none;line-height:.92}
.collective-videos figcaption,.milonga-videos figcaption,.video-grid figcaption{font-family:"Manrope",Arial,sans-serif;font-weight:600;letter-spacing:.015em;text-transform:none}
.large-copy,.acquatango h2 em,.adornos-feature h2 em{font-family:Didot,"Bodoni Moda","Bodoni MT",serif;font-weight:500}

/* Prova materica con le texture selezionate */
.technique:after,
.independentango:after,
.acquatango:after{
  opacity:1;
  mix-blend-mode:normal;
  background-repeat:no-repeat;
  background-size:cover;
}
.technique:after{
  background-image:
    linear-gradient(105deg,rgba(5,7,7,.96) 0%,rgba(7,10,10,.84) 46%,rgba(4,6,6,.70) 100%),
    url("textures/tecnica-antracite.webp");
  background-position:center 48%;
}
.independentango:before{display:none}
.independentango:after{
  inset:0;
  width:auto;
  height:auto;
  border-radius:0;
  background-image:
    linear-gradient(108deg,rgba(55,10,32,.96) 0%,rgba(63,17,43,.84) 48%,rgba(8,15,20,.72) 100%),
    url("textures/independentango-intreccio.webp");
  background-position:center 52%;
}
.acquatango:after{
  background-image:
    linear-gradient(112deg,rgba(8,45,55,.94) 0%,rgba(12,55,70,.78) 50%,rgba(5,23,43,.66) 100%),
    url("textures/acquatango-pieghe.webp");
  background-position:center 50%;
}
.technique,.independentango,.acquatango{
  box-shadow:inset 0 1px rgba(255,255,255,.16),inset 0 -28px 60px rgba(0,0,0,.22);
}

/* Independentango: immagine nella stessa famiglia delle altre */
.independentango-video{
  padding:0;
  border:0;
  background:none;
  box-shadow:none;
  filter:none;
}
.independentango-frame{
  border:5px solid #d39a6a;
  background:#0b1716;
  transform:rotate(1.1deg);
  box-shadow:0 20px 34px rgba(18,4,12,.42);
}
.independentango-video>p{
  margin-top:24px;
  padding:0 4px;
  color:#f0ddd0;
  text-shadow:0 1px rgba(36,6,11,.72);
}
.independentango-logo{
  width:clamp(190px,44%,330px);
  height:auto;
  flex:0 0 auto;
  filter:drop-shadow(0 3px 3px rgba(20,3,14,.7));
}
.independentango-video>p .independentango-caption{font:500 12px/1.35 "Manrope",Arial,sans-serif;text-align:right}
@media(max-width:850px){
  .technique:after{background-position:58% center}
  .independentango:after{background-position:52% center}
  .acquatango:after{background-position:46% center}
  .independentango-video{box-shadow:none}
  .independentango-frame{transform:rotate(.7deg);box-shadow:0 15px 26px rgba(18,4,12,.38)}
  .independentango-logo{width:min(290px,72%);margin-bottom:8px}
  .independentango-video>p .independentango-caption{text-align:left}
}

/* Texture fornite: trattate come materia, non come illustrazioni */
.manifesto{background:#b96f4c}
.manifesto:after,
.collective:after{
  opacity:1;
  mix-blend-mode:normal;
  background-repeat:no-repeat;
  background-size:cover;
}
.manifesto:after{
  background-image:
    linear-gradient(108deg,rgba(187,104,73,.82) 0%,rgba(211,143,96,.68) 48%,rgba(151,57,48,.72) 100%),
    url("textures/manifesto-pesca-floreale.webp");
  background-position:center 47%;
  filter:saturate(.88) contrast(.94);
}
.collective:after{
  background-image:
    linear-gradient(112deg,rgba(248,245,239,.76) 0%,rgba(239,234,226,.68) 55%,rgba(250,248,244,.78) 100%),
    url("textures/collettivo-rete-bianca.webp");
  background-position:center 52%;
  filter:contrast(.94);
}
@media(max-width:850px){
  .manifesto:after{background-position:52% center}
  .collective:after{background-position:49% center}
}

/* Le cinque superfici restanti: materia continua, intensità diverse */
.paths:after,
.adornos-feature:after,
.beyond:after,
.milonga:after,
.info:after{
  opacity:1;
  mix-blend-mode:normal;
  background-repeat:no-repeat;
  background-size:cover;
}
.paths{background:#ece6dd}
.paths:after{
  background-image:
    linear-gradient(112deg,rgba(244,239,231,.66) 0%,rgba(231,222,211,.58) 54%,rgba(247,243,237,.72) 100%),
    url("textures/percorsi-petali.webp");
  background-position:center 48%;
  filter:contrast(.97);
}
.adornos-feature{background:#c8bcc2}
.adornos-feature:after{
  background-image:
    radial-gradient(ellipse at 4% 10%,rgba(132,100,126,.46) 0%,rgba(157,126,148,.30) 28%,transparent 55%),
    linear-gradient(115deg,rgba(222,208,211,.52) 0%,rgba(166,142,160,.37) 52%,rgba(91,53,76,.40) 100%),
    url("textures/adornos-foglie.webp");
  background-position:center 50%;
  filter:saturate(.64) hue-rotate(8deg) contrast(.97);
}
.beyond:after{
  background-image:
    linear-gradient(108deg,rgba(6,11,12,.90) 0%,rgba(9,15,16,.76) 54%,rgba(28,19,17,.72) 100%),
    url("textures/oltre-quinte.webp");
  background-position:center 45%;
  filter:saturate(.76) contrast(1.02);
}
.milonga{background:#c98b54}
.milonga:after{
  background-image:
    linear-gradient(112deg,rgba(185,107,63,.63) 0%,rgba(91,43,48,.52) 48%,rgba(201,143,83,.58) 100%),
    url("textures/milonga-onde.webp");
  background-position:center 50%;
  filter:saturate(.84) contrast(.97);
}
.milonga-head{
  color:#f45b36;
  text-shadow:0 2px 7px rgba(45,13,18,.55);
}
.milonga-head>p:last-child{color:#f45b36}
.milonga .kicker{color:#ff7652}
.milonga-videos figcaption{
  color:#f45b36;
  text-shadow:0 2px 7px rgba(45,13,18,.55);
}
.info{background:#f0ebe3}
.info:after{
  background-image:
    linear-gradient(108deg,rgba(247,244,238,.73) 0%,rgba(234,228,219,.64) 54%,rgba(249,247,242,.77) 100%),
    url("textures/info-intonaco.webp");
  background-position:center 48%;
  filter:contrast(.96);
}
@media(max-width:850px){
  .paths:after{background-position:48% center}
  .adornos-feature:after{background-position:54% center}
  .beyond:after{background-position:50% center}
  .milonga:after{background-position:52% center}
  .info:after{background-position:50% center}
}

/* Giunzione intenzionale: la sezione chiara passa dietro il taglio obliquo */
.manifesto{
  z-index:2;
  box-shadow:
    0 8px 9px rgba(39,15,8,.22),
    0 24px 30px rgba(32,12,7,.31);
}
.collective{
  z-index:1;
  margin-top:calc(-1 * min(4vw,72px));
  padding-top:calc(130px + min(4vw,72px));
}
.independentango{
  z-index:2;
  box-shadow:
    0 9px 10px rgba(20,5,13,.25),
    0 25px 34px rgba(15,4,10,.34);
}
.acquatango{
  z-index:1;
  margin-top:calc(-1 * min(4vw,72px));
  padding-top:calc(135px + min(4vw,72px));
}
.collective-videos figure,.video-grid figure,.acqua-videos figure,.path-card,.adornos-feature-video,.poster-wrap{
  filter:drop-shadow(0 16px 18px rgba(18,11,8,.18));
}
@media(max-width:850px){
  .manifesto{box-shadow:0 12px 20px rgba(32,12,7,.25)}
  .collective{margin-top:0;padding-top:130px}
  .independentango{box-shadow:0 12px 20px rgba(20,5,13,.25)}
  .acquatango{margin-top:0;padding-top:85px}
  .quick-info{display:none}
  .topbar nav{display:none}
  .topbar .mini-cta{display:none}
  .floating{left:auto;right:14px;bottom:14px;padding:14px 18px}
}

@media(min-width:851px){
  .floating{display:none}
}

/* Chiusura in risonanza: onde scure, centro quieto per il testo */
.final-cta{background:#2d0d1c}
.final-cta:after{
  opacity:1;
  mix-blend-mode:normal;
  background-image:
    radial-gradient(ellipse at center,rgba(37,8,24,.94) 0%,rgba(48,11,29,.78) 38%,rgba(40,10,24,.34) 72%,rgba(15,6,12,.42) 100%),
    linear-gradient(112deg,rgba(24,6,16,.72) 0%,rgba(88,24,45,.44) 50%,rgba(27,7,17,.72) 100%),
    url("textures/finale-onde-scure.webp");
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center 48%;
  filter:saturate(.78) contrast(1.02);
}
@media(max-width:850px){
  .final-cta:after{background-position:51% center}
}

/* Archivio IndipendenTango: fotografie come fogli mobili */
.role-gallery{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:125px 0 110px;
  color:#24131c;
  background:#e9dfdf;
  box-shadow:inset 0 1px rgba(255,255,255,.75),inset 0 -24px 48px rgba(75,34,52,.10);
}
.role-gallery:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:.72;
  background:
    radial-gradient(ellipse at 12% 20%,rgba(122,55,90,.20),transparent 42%),
    radial-gradient(ellipse at 88% 76%,rgba(166,90,59,.16),transparent 45%),
    repeating-linear-gradient(105deg,rgba(255,255,255,.22) 0 1px,transparent 1px 9px);
}
.role-gallery>*{position:relative;z-index:1}
.role-gallery-head{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:7vw;
  align-items:end;
  padding:0 6vw;
}
.role-gallery h2{
  max-width:780px;
  margin:18px 0 0;
  font:600 clamp(54px,7vw,108px)/.92 Didot,"Bodoni Moda","Bodoni MT",serif;
  letter-spacing:-.045em;
}
.role-gallery-intro{
  padding:24px 26px;
  color:#f8f3ef;
  background:rgba(36,19,28,.94);
  box-shadow:0 14px 30px rgba(42,18,29,.13);
}
.role-gallery-intro>p{max-width:580px;margin:0;line-height:1.65;font-size:16px;color:#f8f3ef}
.gallery-controls{display:flex;gap:10px;margin-top:28px}
.gallery-controls button{
  width:48px;
  height:48px;
  border:1px solid rgba(248,243,239,.58);
  border-radius:50%;
  background:rgba(255,255,255,.08);
  color:#f8f3ef;
  font-size:22px;
  cursor:pointer;
}
.gallery-controls button:hover{background:#d39a6a;color:#24131c;border-color:#d39a6a}
.role-gallery-track{
  display:flex;
  align-items:flex-start;
  gap:22px;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  padding:58px 6vw 42px;
}
.role-gallery-track::-webkit-scrollbar{display:none}
.role-gallery-track figure{
  flex:0 0 auto;
  margin:0;
  scroll-snap-align:start;
  filter:drop-shadow(0 20px 22px rgba(42,18,29,.23));
}
.role-gallery-track figure:nth-child(odd){transform:rotate(-.65deg)}
.role-gallery-track figure:nth-child(even){transform:translateY(18px) rotate(.6deg)}
.role-gallery-track .gallery-cover{transform:rotate(-1deg)}
.gallery-image{
  display:block;
  height:clamp(470px,55vw,680px);
  padding:8px;
  border:0;
  background:#f8f3ef;
  cursor:zoom-in;
}
.gallery-image img{width:auto;height:100%;max-width:none;object-fit:cover}
.role-gallery-track figcaption{
  display:flex;
  justify-content:space-between;
  gap:28px;
  min-height:52px;
  margin-top:-1px;
  padding:15px 14px;
  font-size:14px;
  color:#f8f3ef;
  background:#24131c;
  border-top:1px solid rgba(248,243,239,.15);
}
.role-gallery-track figcaption span{font-size:11px;letter-spacing:.12em;color:#d39a6a}
.gallery-lightbox{
  width:min(94vw,1200px);
  height:min(92vh,920px);
  padding:0;
  border:0;
  background:transparent;
  overflow:visible;
}
.gallery-lightbox::backdrop{background:rgba(7,8,8,.88);backdrop-filter:blur(5px)}
.gallery-lightbox img{width:100%;height:100%;object-fit:contain}
.gallery-close{
  position:absolute;
  z-index:2;
  top:-12px;
  right:-12px;
  width:44px;
  height:44px;
  border:0;
  border-radius:50%;
  background:#f4ece8;
  color:#24131c;
  font-size:28px;
  cursor:pointer;
  box-shadow:0 8px 28px rgba(0,0,0,.35);
}
@media(min-width:851px){
  .paths .cards{grid-template-columns:1fr 1fr}
  .paths .path-card img,.paths .main-card img{height:430px}
}
@media(max-width:850px){
  .role-gallery{padding:88px 0 72px}
  .role-gallery-head{grid-template-columns:1fr;padding:0 24px;gap:26px}
  .role-gallery h2{font-size:clamp(48px,15vw,72px)}
  .role-gallery-track{padding:42px 24px 34px;gap:16px}
  .gallery-image{height:min(62svh,560px);padding:6px}
  .role-gallery-track figcaption{max-width:78vw;font-size:13px}
}

/* Coreografie per la scena: il lavoro professionale precede il laboratorio */
.stage-works{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:120px 6vw 132px;
  color:#f6eee8;
  background:#111313;
}
.stage-works:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(105deg,rgba(12,13,14,.96) 0%,rgba(20,18,19,.87) 48%,rgba(10,18,18,.91) 100%),
    url("textures/oltre-quinte.webp") center 34%/cover no-repeat;
  filter:saturate(.72) contrast(1.08);
}
.stage-works:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:radial-gradient(circle at 13% 15%,rgba(190,62,47,.2),transparent 28%),radial-gradient(circle at 85% 75%,rgba(207,148,81,.13),transparent 27%);
}
.stage-works-head{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:5vw;align-items:end;margin-bottom:72px}
.stage-works .kicker{grid-column:1/-1;color:#dc8369}
.stage-works-head h2{margin:10px 0 0;font:600 clamp(58px,6.6vw,102px)/.88 Didot,"Bodoni Moda","Bodoni MT",serif;letter-spacing:-.044em}
.stage-works-head>p:last-child{max-width:540px;margin:0 0 8px;font-size:18px;line-height:1.72;color:#ded2cb}
.stage-works-grid{display:grid;grid-template-columns:1fr 1fr;gap:5vw}
.stage-work{min-width:0}
.stage-work:nth-child(2){margin-top:110px}
.stage-work-media{position:relative;margin:0;filter:drop-shadow(0 24px 34px rgba(0,0,0,.42))}
.stage-work-media video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#080909;border:6px solid #b95743;box-shadow:14px 15px 0 rgba(218,151,87,.62)}
.stage-work-furto .stage-work-media video{border-color:#cb8d57;box-shadow:14px 15px 0 rgba(132,42,42,.7)}
.stage-poster{position:absolute;right:18px;bottom:-45px;width:92px;aspect-ratio:9/16;object-fit:cover;border:3px solid #e7d8cf;box-shadow:0 13px 24px rgba(0,0,0,.5);transform:rotate(2deg)}
.stage-work-copy{padding:42px 8px 0}
.stage-number{margin:0 0 12px;text-transform:uppercase;font-size:10px;letter-spacing:.16em;color:#dc8369}
.stage-work h3{margin:0 0 16px;font:600 clamp(42px,4vw,70px)/1 Didot,"Bodoni Moda","Bodoni MT",serif;letter-spacing:-.035em}
.stage-work h3 cite,.stage-work-copy cite{font-style:italic}
.stage-work-copy>p:last-child{max-width:620px;margin:0;font-size:14px;line-height:1.7;color:#d7cac3}
@media(max-width:850px){
  .stage-works{padding:88px 24px 104px}
  .stage-works-head{grid-template-columns:1fr;gap:25px;margin-bottom:54px}
  .stage-works-head h2{font-size:clamp(40px,11vw,52px)}
  .stage-works-head>p:last-child{font-size:16px}
  .stage-works-grid{grid-template-columns:1fr;gap:76px}
  .stage-work:nth-child(2){margin-top:0}
  .stage-work-media video{border-width:4px;box-shadow:9px 10px 0 rgba(218,151,87,.62)}
  .stage-work-furto .stage-work-media video{box-shadow:9px 10px 0 rgba(132,42,42,.7)}
  .stage-poster{right:13px;bottom:-32px;width:68px;border-width:2px}
  .stage-work-copy{padding:34px 4px 0}
  .stage-work h3{font-size:46px}
}

/* Coreolab: dal gesto individuale alla composizione collettiva */
.coreolab{
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:7vw;
  align-items:center;
  overflow:hidden;
  padding:130px 6vw;
  color:#f7eee7;
  background:#542334;
  box-shadow:inset 0 1px rgba(255,255,255,.17),inset 0 -18px 38px rgba(0,0,0,.12);
}
.coreolab:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  opacity:1;
  background-image:
    linear-gradient(110deg,rgba(55,18,35,.48) 0%,rgba(91,39,45,.29) 48%,rgba(33,43,39,.25) 100%),
    url("textures/milonga-colature.webp");
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center 46%;
  filter:saturate(.82) contrast(1.07);
}
.coreolab>*{position:relative;z-index:1}
.coreolab-copy{text-shadow:0 1px 12px rgba(23,7,13,.52)}
.coreolab .kicker{color:#efb071}
.coreolab h2{
  margin:20px 0 32px;
  font:600 clamp(56px,7vw,108px)/.92 Didot,"Bodoni Moda","Bodoni MT",serif;
  letter-spacing:-.038em;
}
.coreolab h2 em{display:block;margin-top:16px;color:#efb071;font-size:.42em;line-height:1.08;letter-spacing:-.02em}
.coreolab-lead{max-width:650px;margin:0;font-size:17px;line-height:1.72;color:#f7eee7}
.coreolab-year{margin:34px 0 13px;font-size:13px;font-weight:600;letter-spacing:.04em;color:#efb071}
.coreolab-directions{margin:0;padding:0;list-style:none;counter-reset:coreolab}
.coreolab-directions li{
  counter-increment:coreolab;
  display:grid;
  grid-template-columns:40px 145px 1fr;
  gap:14px;
  padding:17px 0;
  border-top:1px solid rgba(247,238,231,.24);
}
.coreolab-directions li:before{content:"0" counter(coreolab);color:#efb071;font-size:11px;letter-spacing:.08em}
.coreolab-directions b{font-weight:600;color:#fff}
.coreolab-directions span{font-size:14px;line-height:1.5;color:#e5d9d2}
.coreolab-media{margin:0;transform:rotate(.7deg);filter:drop-shadow(0 25px 30px rgba(19,5,10,.42))}
.coreolab-frame{padding:7px;background:#d4955d;box-shadow:16px 17px 0 rgba(17,24,22,.78)}
.coreolab-frame video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#0b1110}
.coreolab-media figcaption{display:flex;justify-content:space-between;gap:20px;margin:17px 0 0;padding:0 7px;font-size:13px;color:#f7eee7}
.coreolab-media figcaption span{text-transform:uppercase;letter-spacing:.14em;font-size:10px;color:#efb071}
@media(max-width:850px){
  .coreolab{grid-template-columns:1fr;padding:88px 24px;gap:46px}
  .coreolab:after{background-position:56% center}
  .coreolab h2{font-size:clamp(50px,15vw,74px)}
  .coreolab-directions li{grid-template-columns:34px 1fr;gap:10px 12px}
  .coreolab-directions span{grid-column:2}
  .coreolab-media{transform:rotate(.45deg)}
  .coreolab-frame{padding:5px;box-shadow:10px 11px 0 rgba(17,24,22,.78)}
  .coreolab-media figcaption{display:block;line-height:1.5}
  .coreolab-media figcaption span{display:block;margin-bottom:6px}
}

/* L'apertura scenica mette in primo piano il lavoro da interprete */
.stage-work-feature{
  display:grid;
  grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr);
  gap:5vw;
  align-items:center;
  margin:0 0 118px;
}
.stage-work-feature .stage-work-copy{padding:0}
.stage-work-feature .stage-work-media video{
  border-color:#c95642;
  box-shadow:16px 17px 0 rgba(218,151,87,.62);
}
.stage-work-feature .stage-work-copy>p:not(.stage-number){max-width:520px;margin:0 0 16px;color:#ded2cb;font-size:15px;line-height:1.72}
.stage-work-feature .stage-work-copy .stage-credits{margin-top:24px;color:#efa58c;font-size:13px}
.stage-poster-wide{
  right:20px;
  bottom:-43px;
  width:152px;
  aspect-ratio:16/9;
  object-fit:cover;
  border-color:#eadad1;
  transform:rotate(1.5deg);
}

@media(max-width:850px){
  .stage-work-feature{grid-template-columns:1fr;gap:58px;margin-bottom:92px}
  .stage-work-feature .stage-work-copy{padding:0 4px}
  .stage-work-feature .stage-work-media video{box-shadow:9px 10px 0 rgba(218,151,87,.62)}
  .stage-poster-wide{right:12px;bottom:-29px;width:100px}
}
