@font-face {
  font-family: "Campus By Night Regular";
  src:url("../assets/fonts/font campusbynight/CampusByNight-Regular.otf");
  font-style: normal;
  font-weight: 900;
}
@font-face {
  font-family: "Ltt Recoleta Compressed Regular";
  src: url("../assets/fonts/font titoli/RecoletaCBN-Compressed Regular.otf")
    format("opentype");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
}
@font-face {
  font-family: "Ltt Recoleta Compressed Light";
  src: url("../assets/fonts/font titoli/RecoletaCBN-Compressed Light.otf")
    format("opentype");
  font-display: swap;
  font-style: normal;
  font-weight: 300;
}
@font-face {
  font-family: "Ltt Recoleta Compressed Medium";
  src: url("../assets/fonts/font titoli/RecoletaCBN-Compressed Medium.otf")
    format("opentype");
  font-display: swap;
  font-style: normal;
  font-weight: 500;
}
@font-face {
  font-family: "Articulat CF Normal";
  src: url("../assets/fonts/font corpo/articulat/ArticulatCF-Normal.otf")
    format("opentype");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
}
@font-face {
  font-family: "Ltt Recoleta Condensed Bold";
  src: url("../assets/fonts/font titoli/RecoletaCBN-Bold.otf")
    format("opentype");
  font-display: swap;
  font-style: normal;
  font-weight: 700;
}
@font-face {
  font-family: "Inter";
  src: url("../assets/fonts/font corpo/articulat/ArticulatCF-Regular.otf")
    format("opentype");
  font-display: swap;
  font-style: normal;
  font-weight: 400;
}
@font-face {
  font-family: "Inter";
  src: url("../assets/fonts/font corpo/articulat/ArticulatCF-DemiBold.otf")
    format("opentype");
  font-display: swap;
  font-style: normal;
  font-weight: 600;
}
@font-face {
  font-family: "Ltt Recoleta Compressed Regular Placeholder";
  src: local("Arial");
  ascent-override: 133.34%;
  descent-override: 27.47%;
  line-gap-override: 0%;
  size-adjust: 74.62%;
}
@font-face {
  font-family: "Ltt Recoleta Compressed Light Placeholder";
  src: local("Arial");
  ascent-override: 135.49%;
  descent-override: 27.92%;
  line-gap-override: 0%;
  size-adjust: 73.44%;
}
@font-face {
  font-family: "Ltt Recoleta Compressed Medium Placeholder";
  src: local("Arial");
  ascent-override: 130.72%;
  descent-override: 26.93%;
  line-gap-override: 0%;
  size-adjust: 76.12%;
}
@font-face {
  font-family: "Articulat CF Normal Placeholder";
  src: local("Arial");
  ascent-override: 98.09%;
  descent-override: 22.02%;
  line-gap-override: 18.02%;
  size-adjust: 99.91%;
}
@font-face {
  font-family: "Ltt Recoleta Condensed Bold Placeholder";
  src: local("Arial");
  ascent-override: 108.49%;
  descent-override: 22.35%;
  line-gap-override: 0%;
  size-adjust: 91.71%;
}
@font-face {
  font-family: "Inter Placeholder";
  src: local("Arial");
  ascent-override: 89.79%;
  descent-override: 22.36%;
  line-gap-override: 0%;
  size-adjust: 107.89%;
}

html,
body,
#main {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
:root {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
* {
  box-sizing: border-box;
  -webkit-font-smoothing: inherit;
}
h1,
h2,
h3,
h4,
h5,
h6,
p,
figure {
  margin: 0;
}
body,
input,
textarea,
select,
button {
  font-family: sans-serif;
  font-size: 12px;
}
body {
  --token-de4a76c7-6e4b-4bcc-bedd-c14e940905e2: #fffae3;
  --token-d453de31-a28f-4b58-b5d3-fb3a6b7682a5: #21274e;
  --token-c66738e4-2fe2-4e60-92e6-b3f08529dea3: #ec631a;
  --token-819f6190-c503-4369-af27-3643c2ed1690: #761418;
  --token-61a62690-48f2-4731-8203-92f47c846015: #d9d9d9;
}
@supports (z-index: calc(infinity)) {
  }
#__framer-badge-container {
  pointer-events: none;
  width: 100%;
  z-index: calc(var(--infinity, 2147480000));
  justify-content: flex-end;
  padding: 20px;
  display: flex;
  position: fixed;
  bottom: 0;
}
@supports (background: -webkit-named-image(i)) and
  (not (grid-template-rows: subgrid)) {
  body {
    --framer-will-change-override: transform;
  }
}
@supports (background: -webkit-named-image(i)) and
  (not (position-area: top right)) {
  body {
    --framer-will-change-filter-override: filter;
  }
}
@supports not (color: color(display-p3 1 1 1)) {
  p.framer-text,
  div.framer-text,
  h1.framer-text,
  h2.framer-text,
  h3.framer-text,
  h4.framer-text,
  h5.framer-text,
  h6.framer-text,
  li.framer-text,
  ol.framer-text,
  ul.framer-text,
  span.framer-text:not([data-text-fill]) {
    --framer-base-text-color: var(
      --framer-text-color-rgb,
      var(--framer-text-color, #000)
    );
    --framer-blockquote-fallback-color: var(
      --framer-blockquote-text-color,
      var(--framer-base-text-color)
    );
    color: var(
      --framer-blockquote-text-color-rgb,
      var(--framer-blockquote-fallback-color)
    );
    -webkit-text-stroke-color: var(
      --framer-text-stroke-color-rgb,
      var(--framer-text-stroke-color, initial)
    );
  }
  mark.framer-text {
    background-color: var(
      --framer-blockquote-text-background-color-rgb,
      var(
        --framer-blockquote-text-background-color,
        var(
          --framer-text-background-color-rgb,
          var(--framer-text-background-color, initial)
        )
      )
    );
  }
}
@supports not (color: color(display-p3 1 1 1)) {
  code.framer-text,
  code.framer-text span.framer-text:not([data-text-fill]) {
    color: var(
      --framer-blockquote-text-color-rgb,
      var(
        --framer-blockquote-text-color,
        var(
          --framer-code-text-color-rgb,
          var(
            --framer-code-text-color,
            var(--framer-text-color-rgb, var(--framer-text-color, #000))
          )
        )
      )
    );
  }
}
@supports not (color: color(display-p3 1 1 1)) {
  a.framer-text,
  span.framer-text[data-nested-link] {
    color: var(
      --framer-blockquote-text-color-rgb,
      var(
        --framer-blockquote-text-color,
        var(
          --framer-link-text-color-rgb,
          var(
            --framer-link-text-color,
            var(--framer-text-color-rgb, var(--framer-text-color, #000))
          )
        )
      )
    );
    background-color: var(
      --framer-link-text-background-color-rgb,
      var(--framer-link-text-background-color, initial)
    );
    -webkit-text-decoration-color: var(
      --framer-link-text-decoration-color-rgb,
      var(
        --framer-link-text-decoration-color,
        var(
          --framer-text-decoration-color-rgb,
          var(--framer-text-decoration-color, currentcolor)
        )
      )
    );
    text-decoration-color: var(
      --framer-link-text-decoration-color-rgb,
      var(
        --framer-link-text-decoration-color,
        var(
          --framer-text-decoration-color-rgb,
          var(--framer-text-decoration-color, currentcolor)
        )
      )
    );
  }
}
@supports not (color: color(display-p3 1 1 1)) {
  code.framer-text a.framer-text,
  code.framer-text a.framer-text span.framer-text:not([data-text-fill]),
  code.framer-text span.framer-text[data-nested-link],
  code.framer-text
    span.framer-text[data-nested-link]
    span.framer-text:not([data-text-fill]) {
    color: var(
      --framer-blockquote-text-color-rgb,
      var(
        --framer-blockquote-text-color,
        var(
          --framer-link-text-color-rgb,
          var(
            --framer-link-text-color,
            var(
              --framer-code-text-color-rgb,
              var(
                --framer-code-text-color,
                var(--framer-text-color-rgb, var(--framer-text-color, #000))
              )
            )
          )
        )
      )
    );
  }
}
@supports not (color: color(display-p3 1 1 1)) {
  a.framer-text:hover,
  span.framer-text[data-nested-link]:hover {
    color: var(
      --framer-link-hover-text-color-rgb,
      var(
        --framer-link-hover-text-color,
        var(
          --framer-blockquote-text-color-rgb,
          var(
            --framer-blockquote-text-color,
            var(
              --framer-link-text-color-rgb,
              var(
                --framer-link-text-color,
                var(--framer-text-color-rgb, var(--framer-text-color, #000))
              )
            )
          )
        )
      )
    );
    background-color: var(
      --framer-link-hover-text-background-color-rgb,
      var(
        --framer-link-hover-text-background-color,
        var(
          --framer-link-text-background-color-rgb,
          var(
            --framer-link-text-background-color,
            var(
              --framer-text-background-color-rgb,
              var(--framer-text-background-color, initial)
            )
          )
        )
      )
    );
    -webkit-text-decoration-color: var(
      --framer-link-hover-text-decoration-color-rgb,
      var(
        --framer-link-hover-text-decoration-color,
        var(
          --framer-link-text-decoration-color-rgb,
          var(
            --framer-link-text-decoration-color,
            var(
              --framer-text-decoration-color-rgb,
              var(--framer-text-decoration-color, currentcolor)
            )
          )
        )
      )
    );
    text-decoration-color: var(
      --framer-link-hover-text-decoration-color-rgb,
      var(
        --framer-link-hover-text-decoration-color,
        var(
          --framer-link-text-decoration-color-rgb,
          var(
            --framer-link-text-decoration-color,
            var(
              --framer-text-decoration-color-rgb,
              var(--framer-text-decoration-color, currentcolor)
            )
          )
        )
      )
    );
  }
}
@supports not (color: color(display-p3 1 1 1)) {
  code.framer-text a.framer-text:hover,
  code.framer-text span.framer-text[data-nested-link]:hover {
    color: var(
      --framer-link-hover-text-color-rgb,
      var(
        --framer-link-hover-text-color,
        var(
          --framer-blockquote-text-color-rgb,
          var(
            --framer-blockquote-text-color,
            var(
              --framer-link-text-color-rgb,
              var(
                --framer-link-text-color,
                var(
                  --framer-code-text-color-rgb,
                  var(
                    --framer-code-text-color,
                    var(--framer-text-color-rgb, var(--framer-text-color, #000))
                  )
                )
              )
            )
          )
        )
      )
    );
  }
}
@supports not (color: color(display-p3 1 1 1)) {
  a.framer-text[data-framer-page-link-current],
  span.framer-text[data-framer-page-link-current] {
    color: var(
      --framer-link-current-text-color-rgb,
      var(
        --framer-link-current-text-color,
        var(
          --framer-link-text-color-rgb,
          var(
            --framer-link-text-color,
            var(--framer-text-color-rgb, var(--framer-text-color, #000))
          )
        )
      )
    );
    background-color: var(
      --framer-link-current-text-background-color-rgb,
      var(
        --framer-link-current-text-background-color,
        var(
          --framer-link-text-background-color-rgb,
          var(
            --framer-link-text-background-color,
            var(
              --framer-text-background-color-rgb,
              var(--framer-text-background-color, initial)
            )
          )
        )
      )
    );
    -webkit-text-decoration-color: var(
      --framer-link-current-text-decoration-color-rgb,
      var(
        --framer-link-current-text-decoration-color,
        var(
          --framer-link-text-decoration-color-rgb,
          var(
            --framer-link-text-decoration-color,
            var(
              --framer-text-decoration-color-rgb,
              var(--framer-text-decoration-color, currentcolor)
            )
          )
        )
      )
    );
    text-decoration-color: var(
      --framer-link-current-text-decoration-color-rgb,
      var(
        --framer-link-current-text-decoration-color,
        var(
          --framer-link-text-decoration-color-rgb,
          var(
            --framer-link-text-decoration-color,
            var(
              --framer-text-decoration-color-rgb,
              var(--framer-text-decoration-color, currentcolor)
            )
          )
        )
      )
    );
  }
}
@supports not (color: color(display-p3 1 1 1)) {
  code.framer-text a.framer-text[data-framer-page-link-current],
  code.framer-text
    a.framer-text[data-framer-page-link-current]
    span.framer-text:not([data-text-fill]),
  code.framer-text span.framer-text[data-framer-page-link-current],
  code.framer-text
    span.framer-text[data-framer-page-link-current]
    span.framer-text:not([data-text-fill]) {
    color: var(
      --framer-link-current-text-color-rgb,
      var(
        --framer-link-current-text-color,
        var(
          --framer-link-text-color-rgb,
          var(
            --framer-link-text-color,
            var(
              --framer-code-text-color-rgb,
              var(
                --framer-code-text-color,
                var(--framer-text-color-rgb, var(--framer-text-color, #000))
              )
            )
          )
        )
      )
    );
    background-color: var(
      --framer-link-current-text-background-color-rgb,
      var(
        --framer-link-current-text-background-color,
        var(
          --framer-link-text-background-color-rgb,
          var(
            --framer-link-text-background-color,
            var(
              --framer-text-background-color-rgb,
              var(--framer-text-background-color, initial)
            )
          )
        )
      )
    );
  }
}
@supports not (color: color(display-p3 1 1 1)) {
  a.framer-text[data-framer-page-link-current]:hover,
  span.framer-text[data-framer-page-link-current]:hover {
    color: var(
      --framer-link-hover-text-color-rgb,
      var(
        --framer-link-hover-text-color,
        var(
          --framer-link-current-text-color-rgb,
          var(
            --framer-link-current-text-color,
            var(
              --framer-link-text-color-rgb,
              var(
                --framer-link-text-color,
                var(
                  --framer-code-text-color-rgb,
                  var(
                    --framer-code-text-color,
                    var(--framer-text-color-rgb, var(--framer-text-color, #000))
                  )
                )
              )
            )
          )
        )
      )
    );
    background-color: var(
      --framer-link-hover-text-background-color-rgb,
      var(
        --framer-link-hover-text-background-color,
        var(
          --framer-link-current-text-background-color-rgb,
          var(
            --framer-link-current-text-background-color,
            var(
              --framer-link-text-background-color-rgb,
              var(--framer-link-text-background-color, initial)
            )
          )
        )
      )
    );
    -webkit-text-decoration-color: var(
      --framer-link-hover-text-decoration-color-rgb,
      var(
        --framer-link-hover-text-decoration-color,
        var(
          --framer-link-current-text-decoration-color-rgb,
          var(
            --framer-link-current-text-decoration-color,
            var(
              --framer-link-text-decoration-color-rgb,
              var(
                --framer-link-text-decoration-color,
                var(
                  --framer-text-decoration-color-rgb,
                  var(--framer-text-decoration-color, currentcolor)
                )
              )
            )
          )
        )
      )
    );
    text-decoration-color: var(
      --framer-link-hover-text-decoration-color-rgb,
      var(
        --framer-link-hover-text-decoration-color,
        var(
          --framer-link-current-text-decoration-color-rgb,
          var(
            --framer-link-current-text-decoration-color,
            var(
              --framer-link-text-decoration-color-rgb,
              var(
                --framer-link-text-decoration-color,
                var(
                  --framer-text-decoration-color-rgb,
                  var(--framer-text-decoration-color, currentcolor)
                )
              )
            )
          )
        )
      )
    );
  }
}
@supports not (color: color(display-p3 1 1 1)) {
  code.framer-text a.framer-text[data-framer-page-link-current]:hover,
  code.framer-text
    a.framer-text[data-framer-page-link-current]:hover
    span.framer-text:not([data-text-fill]),
  code.framer-text span.framer-text[data-framer-page-link-current]:hover,
  code.framer-text
    span.framer-text[data-framer-page-link-current]:hover
    span.framer-text:not([data-text-fill]) {
    color: var(
      --framer-link-hover-text-color-rgb,
      var(
        --framer-link-hover-text-color,
        var(
          --framer-link-current-text-color-rgb,
          var(
            --framer-link-current-text-color,
            var(
              --framer-link-text-color-rgb,
              var(
                --framer-link-text-color,
                var(
                  --framer-code-text-color-rgb,
                  var(
                    --framer-code-text-color,
                    var(--framer-text-color-rgb, var(--framer-text-color, #000))
                  )
                )
              )
            )
          )
        )
      )
    );
    background-color: var(
      --framer-link-hover-text-background-color-rgb,
      var(
        --framer-link-hover-text-background-color,
        var(
          --framer-link-current-text-background-color-rgb,
          var(
            --framer-link-current-text-background-color,
            var(
              --framer-link-text-background-color-rgb,
              var(--framer-link-text-background-color, initial)
            )
          )
        )
      )
    );
  }
}
@supports not (aspect-ratio: 1) {
  .framer-text-module:not([data-width="fit"])[style*="aspect-ratio"] {
    position: relative !important;
  }
  .framer-text-module:not([data-width="fit"])[style*="aspect-ratio"]:before {
  
    padding-bottom: calc(100% / calc(var(--aspect-ratio)));
    display: block;
  }
  .framer-text-module[data-width="fill"] > :first-child,
  .framer-text-module[data-width="fill"] > .ssr-variant > :first-child,
  .framer-text-module:not([data-width="fit"])[style*="aspect-ratio"]
    > :first-child,
  .framer-text-module:not([data-width="fit"])[style*="aspect-ratio"]
    > .ssr-variant
    > :first-child {
    position: absolute;
    top: 0;
    left: 0;
    height: 100% !important;
  }
}
@supports not (overflow: clip) {
  :root {
    --overflow-clip-fallback: hidden;
  }
}
@supports (background: -webkit-named-image(i)) and
  (not (contain-intrinsic-size: inherit)) {
  div.framer-text,
  p.framer-text,
  h1.framer-text,
  h2.framer-text,
  h3.framer-text,
  h4.framer-text,
  h5.framer-text,
  h6.framer-text,
  ol.framer-text,
  ul.framer-text,
  li.framer-text,
  blockquote.framer-text,
  .framer-text.framer-image {
    display: var(--text-truncation-display-inline-for-safari-16, revert);
  }
  div.framer-text:after,
  p.framer-text:after,
  h1.framer-text:after,
  h2.framer-text:after,
  h3.framer-text:after,
  h4.framer-text:after,
  h5.framer-text:after,
  h6.framer-text:after,
  ol.framer-text:after,
  ul.framer-text:after,
  li.framer-text:after,
  blockquote.framer-text:after,
  .framer-text.framer-image:after {
    content: var(--text-truncation-line-break-for-safari-16);
    white-space: pre;
  }
  .framer-text.framer-text-module,
  .framer-text.framer-table-wrapper {
    display: var(--text-truncation-display-none-for-safari-16, revert);
  }
  p.framer-text[data-text-fill] {
    display: var(--text-truncation-display-inline-for-safari-16, inline-block);
  }
}
@supports (corner-shape: superellipse(2)) {
  :root {
    --one-if-corner-shape-supported: 1;
  }
}
@supports (aspect-ratio: 1) {
  body {
    --framer-aspect-ratio-supported: auto;
  }
}
.pagina.link-pointer,
.pagina .link-pointer {
  display: block;
}
#main {
  background-color: var(--token-de4a76c7-6e4b-4bcc-bedd-c14e940905e2, #fffae3);
  height: min-content;
  overflow: var(--overflow-clip-fallback, clip);
  flex-flow: column;
  place-content: center flex-start;
  align-items: center;
  gap: 0;
  width: 1200px;
  padding: 0;
  display: flex;
  position: relative;
}
.pagina .navbar-wrapper {
  z-index: 4;
  flex: none;
  width: 100%;
  height: 64px;
  position: fixed;
  top: 0;
  left: 0%;
}
.pagina .framer-1nchewp-container {
  z-index: 1;
  flex: none;
  height: 48px;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}
.pagina .framer-1gktb1i-container {
  z-index: 10;
  flex: none;
  width: 390px;
  height: 48px;
  position: fixed;
  bottom: 10px;
  left: calc(50% - 195px);
}
.pagina .hero {
  background-color: var(--token-de4a76c7-6e4b-4bcc-bedd-c14e940905e2, #fffae3);
  height: 850px;
  overflow: var(--overflow-clip-fallback, clip);
  flex: none;
  width: 100%;
  scroll-margin-top: 850px;
  position: relative;
}
.pagina .hero-sfondo {
  flex: none;
  width: 100%;
  height: 212%;
  position: absolute;
  bottom: -554px;
  left: 0%;
  overflow: visible;
}
.pagina .hero-overlay {
  flex: none;
  position: absolute;
  inset: -508px 0 -442px;
  overflow: visible;
}
.pagina .hero-titolo {
  --framer-link-text-color: #09f;
  --framer-link-text-decoration: underline;
  white-space: pre-wrap;
  word-break: break-word;
  word-wrap: break-word;
  flex: none;
  width: 100%;
  height: auto;
  position: absolute;
  top: 132px;
  left: 50%;
  transform: translate(-50%);
}
.pagina .sezione-programma {
  background-color: var(--token-de4a76c7-6e4b-4bcc-bedd-c14e940905e2, #fffae3);
  height: auto;
  min-height: 400px;
  overflow: visible;
  flex: none;
  width: 100%;
  scroll-margin-top: 30px;
  position: relative;
  padding: 40px 0;
}
.pagina .programma-griglia {
  height: auto;
  overflow: visible;
  flex-flow: column;
  flex: none;
  place-content: center flex-start;
  align-items: center;
  gap: 0;
  width: 100%;
  padding: 0;
  display: flex;
  position: relative;
  top: auto;
  left: 0;
}
.pagina .programma-colonne {
  --framer-link-text-color: #09f;
  --framer-link-text-decoration: underline;
  white-space: pre-wrap;
  word-break: break-word;
  word-wrap: break-word;
  flex: none;
  width: 1107px;
  height: 18%;
  position: relative;
}
.pagina .programma-col-sx,
.pagina .programma-col-dx {
  height: 21%;
  overflow: var(--overflow-clip-fallback, clip);
  flex-flow: row;
  flex: none;
  place-content: center space-between;
  align-items: center;
  width: 87%;
  padding: 0;
  display: flex;
  position: relative;
}
.pagina .programma-txt-a,
.pagina .programma-txt-b,
.pagina .programma-txt-c,
.pagina .programma-txt-d,
.pagina .programma-txt-e,
.pagina .programma-txt-f,
.pagina .programma-txt-g {
  --framer-link-text-color: #09f;
  --framer-link-text-decoration: underline;
  white-space: pre;
  flex: none;
  width: auto;
  height: auto;
  position: relative;
}
.pagina .programma-sep-a,
.pagina .programma-sep-b,
.pagina .programma-sep-c {
  --framer-link-text-color: #09f;
  --framer-link-text-decoration: underline;
  white-space: pre-wrap;
  word-break: break-word;
  word-wrap: break-word;
  flex: none;
  width: 90%;
  height: auto;
  position: relative;
}
.pagina .programma-countdown-wrap {
  width: 100%;
  background: transparent;
  box-shadow: none;
  padding: 0;
  text-align: center;
}
.pagina .programma-countdown-subtitle {
  margin: 0;
}
.pagina .programma-countdown-subtitle {
  font-family: "Ltt Recoleta Compressed Light", "Ltt Recoleta Compressed Light Placeholder", sans-serif;
  font-size: clamp(42px, 8vw, 86px);
  line-height: 0.9;
  color: var(--token-819f6190-c503-4369-af27-3643c2ed1690, #761418);
}
.pagina .programma-countdown {
  text-align: center;
  margin-top: 22px;
  font-family: "Inter", "Inter Placeholder", sans-serif;
  font-size: clamp(40px, 7.6vw, 125px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.01em;
  font-variant-numeric: tabular-nums;
  color: var(--token-819f6190-c503-4369-af27-3643c2ed1690, #761418);
  white-space: nowrap;
  margin-bottom: 0;
}
.pagina .programma-countdown .lotteria-countdown-sep {
  color: rgba(118, 20, 24, 0.5);
}
.pagina .programma-countdown .lotteria-countdown-digit {
  display: inline-block;
  min-width: 2.2ch;
  text-align: center;
}
.pagina .programma-countdown-meta {
  margin-top: 18px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.pagina .programma-countdown-meta-item {
  margin: 0;
  padding: 13px 24px;
  min-width: 230px;
  border-radius: 999px;
  background-color: rgba(118, 20, 24, 0.08);
  color: var(--token-819f6190-c503-4369-af27-3643c2ed1690, #761418);
  font-family: "Articulat CF Normal", "Articulat CF Normal Placeholder", sans-serif;
  font-size: 21px;
  font-weight: 300;
  line-height: 1.2;
  text-align: center;
}
.pagina .programma-countdown-meta-item span {
  font-family: "Articulat CF Normal", "Articulat CF Normal Placeholder", sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  opacity: 0.72;
  margin-right: 8px;
}
.pagina .sezione-naviga,
.pagina .sezione-mappa {
  background-color: var(--token-d453de31-a28f-4b58-b5d3-fb3a6b7682a5, #21274e);
  height: 850px;
  overflow: var(--overflow-clip-fallback, clip);
  flex: none;
  width: 100%;
  position: relative;
}
.pagina .sezione-mappa {
  display: flex;
  justify-content: center;
  align-items: center;
}
.pagina .naviga-wrapper {
  display: none;
}
.pagina .naviga-eventi-container {
  flex: none;
  width: 390px;
  height: 440px;
  position: relative;
}
.pagina .naviga-testo-a,
.pagina .naviga-testo-b {
  height: 464px;
  overflow: var(--overflow-clip-fallback, clip);
  width: 26px;
  position: relative;
}
.pagina .naviga-testo-c,
.pagina .naviga-testo-d {
  width: 61px;
  height: 464px;
  position: absolute;
  top: 0;
  left: 0;
}
.pagina .naviga-testo-e,
.pagina .naviga-testo-f {
  aspect-ratio: 0.805063;
  background-color: var(--token-de4a76c7-6e4b-4bcc-bedd-c14e940905e2, #fffae3);
  height: var(--framer-aspect-ratio-supported, 325px);
  will-change: var(--framer-will-change-effect-override, transform);
  border-radius: 24px;
  width: 262px;
  text-decoration: none;
  position: relative;
}
.pagina .naviga-testo-g {
  --framer-paragraph-spacing: 0px;
  white-space: pre-wrap;
  word-break: break-word;
  word-wrap: break-word;
  flex: none;
  width: 144px;
  height: 66px;
  position: absolute;
  bottom: 75px;
  left: 25px;
}
.pagina .naviga-testo-h,
.pagina .naviga-testo-i {
  aspect-ratio: 3.7561;
  background-color: var(--token-c66738e4-2fe2-4e60-92e6-b3f08529dea3, #ec631a);
  height: var(--framer-aspect-ratio-supported, 53px);
  border-radius: 40px;
  flex: none;
  width: 43%;
  position: absolute;
  bottom: 40px;
  left: 25px;
}
.pagina .naviga-testo-j,
.pagina .naviga-testo-k,
.pagina .naviga-testo-l,
.pagina .naviga-testo-m {
  --framer-paragraph-spacing: 0px;
  white-space: pre;
  flex: none;
  width: auto;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.pagina .naviga-testo-n,
.pagina .naviga-testo-o,
.pagina .naviga-testo-p {
  aspect-ratio: 1.62577;
  height: var(--framer-aspect-ratio-supported, 123px);
  background-color: #d9d9d9;
  border-radius: 21px;
  flex: none;
  width: 83%;
  position: absolute;
  top: 23px;
  left: 50%;
  transform: translate(-50%);
}
.pagina .naviga-blocco-a-container {
  will-change: var(--framer-will-change-effect-override, transform);
  width: 262px;
  height: 325px;
  position: relative;
}
.pagina .naviga-testo-principale {
  --framer-paragraph-spacing: 0px;
  white-space: pre-wrap;
  word-break: break-word;
  word-wrap: break-word;
  flex: none;
  width: 277px;
  height: 66px;
  position: absolute;
  bottom: 75px;
  left: 25px;
}
.pagina .naviga-blocco-b-container {
  flex: none;
  width: 812px;
  height: 524px;
  position: relative;
}
.pagina .naviga-badge-titolo {
  height: 458px;
  overflow: var(--overflow-clip-fallback, clip);
  width: 0;
  position: relative;
}
.pagina .naviga-badge-inner-a,
.pagina .naviga-badge-inner-b {
  background-color: var(--token-de4a76c7-6e4b-4bcc-bedd-c14e940905e2, #fffae3);
  border-radius: 24px;
  width: 318px;
  height: 395px;
  text-decoration: none;
  position: relative;
}
.pagina .sezione-naviga {
  height: auto;
  min-height: 850px;
  padding: 64px 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.pagina .naviga-carousel-shell {
  width: min(1044px, 90%);
  position: relative;
}
.pagina .naviga-lista {
  height: auto;
  overflow: visible;
  flex-flow: row;
  flex: none;
  place-content: center;
  align-items: center;
  gap: 45px;
  flex-wrap: wrap;
  width: min(1044px, 90%);
  padding: 0;
  display: flex;
  position: relative;
}
.pagina .naviga-carousel-shell .naviga-lista {
  width: 100%;
}
.pagina .naviga-carousel-prev,
.pagina .naviga-carousel-next,
.pagina .naviga-carousel-dots {
  display: none;
}

.pagina .naviga-carousel-shell.is-overflow .naviga-lista {
  flex-wrap: nowrap;
  justify-content: flex-start;
  overflow-x: auto;
  overflow-y: visible;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding-bottom: 14px;
}

.pagina .naviga-carousel-shell.is-overflow .naviga-lista::-webkit-scrollbar {
  display: none;
}

.pagina .naviga-carousel-shell.is-overflow .naviga-card {
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.pagina .naviga-carousel-shell:not(.is-overflow) .naviga-card {
  transition: transform 0.3s ease;
  cursor: pointer;
}

.pagina .naviga-carousel-shell:not(.is-overflow) .naviga-card:hover {
  transform: scale(1.05);
}

.pagina .naviga-carousel-shell.is-overflow::after {

  position: absolute;
  right: 0;
  top: 0;
  bottom: 46px;
  width: 60px;
  border-radius: 20px;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(33, 39, 78, 0), rgba(33, 39, 78, 0.42));
}

.pagina .naviga-carousel-shell.is-overflow .naviga-carousel-prev,
.pagina .naviga-carousel-shell.is-overflow .naviga-carousel-next {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 50%;
  background: rgba(33, 39, 78, 0.62);
  color: #fffae3;
  font-size: 28px;
  line-height: 0.8;
  font-weight: 300;
  cursor: pointer;
  z-index: 3;
  padding: 0;
}

.pagina .naviga-carousel-shell.is-overflow .naviga-carousel-prev[hidden],
.pagina .naviga-carousel-shell.is-overflow .naviga-carousel-next[hidden],
.pagina .naviga-carousel-shell.is-overflow .naviga-carousel-dots[hidden] {
  display: none !important;
}

.pagina .naviga-carousel-shell.is-overflow .naviga-carousel-prev {
  left: 12px;
}

.pagina .naviga-carousel-shell.is-overflow .naviga-carousel-next {
  right: 12px;
}

.pagina .naviga-carousel-shell.is-overflow .naviga-carousel-prev:hover,
.pagina .naviga-carousel-shell.is-overflow .naviga-carousel-prev:focus-visible,
.pagina .naviga-carousel-shell.is-overflow .naviga-carousel-next:hover,
.pagina .naviga-carousel-shell.is-overflow .naviga-carousel-next:focus-visible {
  background: rgba(33, 39, 78, 0.82);
}

.pagina .naviga-carousel-shell.is-overflow .naviga-carousel-dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
}

.pagina .naviga-carousel-shell.is-overflow .naviga-carousel-dots button {
  width: 10px;
  height: 10px;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 250, 227, 0.7);
  cursor: pointer;
  padding: 0;
}

.pagina
  .naviga-carousel-shell.is-overflow
  .naviga-carousel-dots
  button[aria-current="true"] {
  width: 22px;
  background: #fffae3;
}
.pagina .naviga-card {
  background-color: var(--token-de4a76c7-6e4b-4bcc-bedd-c14e940905e2, #fffae3);
  will-change: var(--framer-will-change-effect-override, transform);
  border-radius: 24px;
  flex: none;
  width: 318px;
  min-height: 395px;
  padding: 232px 25px 33px;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  gap: 2px;
  position: relative;
  overflow: hidden;
}
.pagina .naviga-card-preview {

  background-color: var(--token-61a62690-48f2-4731-8203-92f47c846015, #d9d9d9);
  border-radius: 21px;
  width: 265px;
  height: 163px;
  position: absolute;
  top: 23px;
  left: 50%;
  transform: translateX(-50%);
}
.pagina .naviga-card-line {
  --framer-paragraph-spacing: 0px;
  white-space: pre-wrap;
  word-break: break-word;
  word-wrap: break-word;
  z-index: 1;
  width: 100%;
  max-width: 277px;
  position: relative;
}
.pagina .naviga-card-cta {
  margin-top: auto;
  background-color: var(--token-c66738e4-2fe2-4e60-92e6-b3f08529dea3, #ec631a);
  border-radius: 40px;
  z-index: 1;
  width: 154px;
  min-height: 41px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.pagina .naviga-card-eventi .naviga-card-cta {
  background-color: var(--token-819f6190-c503-4369-af27-3643c2ed1690, #761418);
}
.pagina .naviga-eventi-actions {
  margin-top: auto;
  z-index: 1;
  width: 100%;
  max-width: 277px;
  gap: 10px;
  display: none;
  align-items: center;
}
.pagina .naviga-eventi-btn {
  background-color: var(--token-819f6190-c503-4369-af27-3643c2ed1690, #761418);
  border-radius: 40px;
  border: none;
  min-height: 41px;
  flex: 1 1 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: var(--token-de4a76c7-6e4b-4bcc-bedd-c14e940905e2, #fffae3);
  opacity: 1;
  --framer-link-text-color: var(--token-de4a76c7-6e4b-4bcc-bedd-c14e940905e2, #fffae3);
  --framer-link-hover-text-color: var(--token-de4a76c7-6e4b-4bcc-bedd-c14e940905e2, #fffae3);
  --framer-link-text-background-color: transparent;
  --framer-link-hover-text-background-color: transparent;
  --framer-link-text-decoration: none;
  --framer-link-hover-text-decoration: none;
  --framer-link-text-background-radius: 40px;
  --framer-link-hover-text-background-radius: 40px;
  --framer-link-text-background-padding: 0;
  --framer-link-hover-text-background-padding: 0;
}
.pagina .naviga-eventi-btn:hover,
.pagina .naviga-eventi-btn:focus,
.pagina .naviga-eventi-btn:focus-visible,
.pagina .naviga-eventi-btn:active {
  background-color: var(--token-819f6190-c503-4369-af27-3643c2ed1690, #761418) !important;
  color: var(--token-de4a76c7-6e4b-4bcc-bedd-c14e940905e2, #fffae3) !important;
  text-decoration: none !important;
  opacity: 1 !important;
  border-radius: 40px !important;
  border: none !important;
  outline: none;
}
.pagina .naviga-card-eventi:hover .naviga-card-cta,
.pagina .naviga-card-eventi:focus-within .naviga-card-cta {
  display: none;
}
.pagina .naviga-card-eventi:hover .naviga-eventi-actions,
.pagina .naviga-card-eventi:focus-within .naviga-eventi-actions {
  display: flex;
}
.pagina .sezione-menu {
  /* Wrapper sezione menu (desktop):
     altezza sezione, sfondo e ancora di scroll. */
  background-color: var(--token-de4a76c7-6e4b-4bcc-bedd-c14e940905e2, #fffae3);
  height: auto;
  min-height: 850px;
  overflow: visible;
  flex: none;
  width: 100%;
  scroll-margin-top: 500px;
  text-decoration: none;
  position: relative;
  display: flex;
  justify-content: center;
  padding: 72px 0;
}
.pagina .sezione-menu[hidden] {
  display: none !important;
}
.pagina .menu-body {
  /* Layout interno menu: centra verticalmente titolo + box piatti.
     Qui regoli gap e posizionamento generale del contenuto. */
  height: min-content;
  overflow: visible;
  flex-flow: column;
  flex: none;
  place-content: flex-start;
  align-items: center;
  gap: 63px;
  padding: 0;
  display: flex;
  position: relative;
  width: min(1114px, 90%);
}
.pagina .menu-intestazione {
  /* Riga titolo/sottotitolo desktop.
     Passa a colonna nelle media query sotto. */
  height: min-content;
  overflow: var(--overflow-clip-fallback, clip);
  flex-flow: row;
  flex: none;
  place-content: center space-between;
  align-items: center;
  width: 100%;
  padding: 0;
  display: flex;
  position: relative;
}
.pagina .menu-titolo {
  --framer-font-family:
    "Ltt Recoleta Compressed Regular",
    "Ltt Recoleta Compressed Regular Placeholder",
    sans-serif;
  --framer-font-size: 120px;
  --framer-text-color: var(--token-819f6190-c503-4369-af27-3643c2ed1690, #761418);
  white-space: pre-wrap;
  word-break: break-word;
  word-wrap: break-word;
  width: min(100%, 900px);
}
.pagina .menu-completo {
  --framer-font-family:
    "Ltt Recoleta Compressed Light",
    "Ltt Recoleta Compressed Light Placeholder",
    sans-serif;
  --framer-font-size: 25px;
  --framer-font-weight: 300;
  --framer-text-color: var(--token-819f6190-c503-4369-af27-3643c2ed1690, #761418);
  white-space: pre-wrap;
  word-break: break-word;
  word-wrap: break-word;
}
.pagina .menu-bottone-nav-container {
  flex: none;
  width: 160px;
  height: 71px;
  position: relative;
}
.pagina .menu-bottone-inner {
  --framer-link-text-color: #09f;
  --framer-link-text-decoration: underline;
  white-space: pre-wrap;
  word-break: break-word;
  word-wrap: break-word;
  flex: 1 0 0;
  width: 1px;
  height: auto;
  position: relative;
}
.pagina .menu-piatti {
  /* Box principale dei piatti: dimensioni e cornice del contenuto menu. */
  min-height: 555px;
  height: auto;
  overflow: visible;
  flex: none;
  width: 100%;
  position: relative;
  border-radius: 23px;
  background-color: var(--token-819f6190-c503-4369-af27-3643c2ed1690, #761418);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  column-gap: 36px;
  row-gap: 28px;
  padding: 86px 66px 80px;
  box-sizing: border-box;
}
.pagina .menu-piatti-sfondo {
  display: none;
}
.pagina .menu-piatto-a {
  /* Prima lista piatti: posizione assoluta dentro .menu-piatti. */
  --framer-link-text-color: #09f;
  --framer-link-text-decoration: underline;
  white-space: normal;
  flex: none;
  width: 100%;
  height: auto;
  position: relative;
  min-width: 0;
}
.pagina .menu-piatto-b {
  /* Seconda lista piatti: in desktop ancorata in basso. */
  --framer-link-text-color: #09f;
  --framer-link-text-decoration: underline;
  white-space: normal;
  flex: none;
  width: 100%;
  height: auto;
  position: relative;
  min-width: 0;
}
.pagina .menu-lista {
  /* Stile tipografico comune delle liste piatti (dimensione, gap, colore). */
  --framer-font-family:
    "Ltt Recoleta Compressed Regular",
    "Ltt Recoleta Compressed Regular Placeholder",
    sans-serif;
  --framer-font-size: 45px;
  --framer-text-color: var(--token-de4a76c7-6e4b-4bcc-bedd-c14e940905e2, #fffae3);
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.pagina .menu-lista li {
  margin: 0;
  white-space: normal;
  word-break: break-word;
}
.pagina .menu-lista-title {
  margin: 0 0 8px;
  padding-inline-start: 0;
  list-style: none;
  white-space: normal;
  word-break: break-word;
}
.pagina .menu-lista-title::before,
.pagina .menu-lista-title::marker {
  content: none;
}
.pagina .menu-extra {
  --framer-link-text-color: #09f;
  --framer-link-text-decoration: underline;
  white-space: pre;
  flex: none;
  width: auto;
  height: auto;
  position: absolute;
  bottom: 39px;
  left: 18px;
}
.pagina .menu-immagine {
  /* Elemento decorativo a destra (desktop). */
  aspect-ratio: 0.98088;
  height: var(--framer-aspect-ratio-supported, 216px);
  flex: none;
  width: 212px;
  position: absolute;
  top: 136px;
  left: 82%;
  transform: translate(-50%);
}
.pagina .menu-overlay {
  aspect-ratio: 0.98088;
  height: var(--framer-aspect-ratio-supported, 91px);
  flex: none;
  width: 89px;
  position: absolute;
  top: 118px;
  left: 276px;
}
.pagina .mappa-body {
  height: 100%;
  max-height: 100%;
  overflow: hidden;
  flex-flow: column;
  flex: none;
  place-content: center;
  align-items: center;
  gap: 10px;
  width: min(1200px, 92%);
  max-width: 1200px;
  padding: 28px 0;
  box-sizing: border-box;
  display: flex;
  position: relative;
  top: auto;
  left: auto;
  transform: none;
}
.pagina .mappa-titolo {
  --framer-link-text-color: #09f;
  --framer-link-text-decoration: underline;
  white-space: pre-wrap;
  word-break: break-word;
  word-wrap: break-word;
  z-index: 1;
  flex: none;
  width: 1046px;
  height: auto;
  position: relative;
}
.pagina .mappa-link {
  aspect-ratio: 1.5065;
  height: var(--framer-aspect-ratio-supported, 339px);
  flex: none;
  width: 511px;
  position: relative;
  overflow: visible;
}
.pagina .mappa-immagine {
  aspect-ratio: 1754 / 1480;
  height: auto;
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  max-width: 866px;
  max-height: 100%;
  position: relative;
  overflow: visible;
  display: flex;
  justify-content: center;
  align-items: center;
}
.pagina .mappa-immagine img {
  display: block;
  position: static !important;
  inset: auto !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
}
.pagina .sezione-foto {
  background-color: var(--token-de4a76c7-6e4b-4bcc-bedd-c14e940905e2, #fffae3);
  height: 850px;
  overflow: var(--overflow-clip-fallback, clip);
  flex: none;
  width: 100%;
  position: relative;
}
.pagina .foto-body {
  height: min-content;
  overflow: var(--overflow-clip-fallback, clip);
  flex-flow: column;
  flex: none;
  place-content: center;
  align-items: center;
  gap: 2px;
  padding: 0;
  display: flex;
  position: absolute;
  top: 70px;
  left: 0;
  right: -1px;
}
.pagina .foto-col-info {
  --framer-link-text-color: #09f;
  --framer-link-text-decoration: underline;
  white-space: pre-wrap;
  word-break: break-word;
  word-wrap: break-word;
  flex: none;
  width: 1081px;
  height: auto;
  position: relative;
}
.pagina .foto-grid {
  flex: none;
  width: min(900px, 90%);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  position: relative;
}
.pagina .foto-card {
  background-color: var(--token-c66738e4-2fe2-4e60-92e6-b3f08529dea3, #ec631a);
  border-radius: 24px;
  width: 318px;
  min-height: 395px;
  padding: 232px 25px 33px;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  gap: 2px;
  position: relative;
  overflow: hidden;
  transition: transform 0.2s ease;
}
.pagina .foto-card:hover {
  transform: translateY(-4px);
}
.pagina .foto-card-preview {
  background-color: var(--token-61a62690-48f2-4731-8203-92f47c846015, #d9d9d9);
  border-radius: 21px;
  width: 84%;
  height: 163px;
  position: absolute;
  top: 23px;
  left: 50%;
  transform: translateX(-50%);
}
.pagina .foto-card-line {
  --framer-font-family:
    "Ltt Recoleta Compressed Regular",
    "Ltt Recoleta Compressed Regular Placeholder",
    sans-serif;
  --framer-font-size: 42px;
  --framer-text-color: var(--token-819f6190-c503-4369-af27-3643c2ed1690, #761418);
  --framer-line-height: 0.95em;
  white-space: pre-wrap;
  word-break: break-word;
  word-wrap: break-word;
}
.pagina .foto-card-cta {
  margin-top: auto;
  background-color: var(--token-819f6190-c503-4369-af27-3643c2ed1690, #761418);
  border-radius: 40px;
  width: 154px;
  min-height: 41px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
.pagina .foto-card-cta-text {
  --framer-font-family:
    "Ltt Recoleta Compressed Light",
    "Ltt Recoleta Compressed Light Placeholder",
    sans-serif;
  --framer-font-size: 22px;
  --framer-font-weight: 300;
  --framer-text-color: var(--token-de4a76c7-6e4b-4bcc-bedd-c14e940905e2, #fffae3);
  white-space: pre;
}
.pagina .sezione-sponsor {
  background-color: var(--token-c66738e4-2fe2-4e60-92e6-b3f08529dea3, #ec631a);
  height: auto;
  min-height: 1000px;
  overflow: visible;
  flex: none;
  width: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 22px;
  padding: 66px 0 74px;
  box-sizing: border-box;
  --sponsor-inline-space: clamp(20px, 6vw, 85px);
}
.pagina .sponsor-titolo {
  --framer-link-text-color: #09f;
  --framer-link-text-decoration: underline;
  white-space: normal;
  flex: none;
  width: min(1200px, calc(100% - (var(--sponsor-inline-space) * 2)));
  height: auto;
  position: relative;
  margin: 0;
}
.pagina .sponsor-titolo .framer-text {
  margin: 0;
  --framer-line-height: 0.92em;
}
.pagina .sponsor-grid {
  position: relative;
  width: min(1200px, calc(100% - (var(--sponsor-inline-space) * 2)));
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
  gap: 14px;
  justify-items: start;
  min-height: 150px;
}
.pagina .sponsor-grid-item {
  width: fit-content;
  border-radius: 18px;
  background: rgba(255, 250, 227, 0.14);
  border: 1px solid rgba(255, 250, 227, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px;
  box-sizing: border-box;
  text-decoration: none;
  transition: transform 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}
.pagina .sponsor-grid-item:hover,
.pagina .sponsor-grid-item:focus-visible {
  transform: translateY(-2px);
  background: rgba(255, 250, 227, 0.24);
  border-color: rgba(255, 250, 227, 0.82);
}
.pagina .sponsor-grid-item img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: none;
  object-fit: contain;
  display: block;
}
.pagina .sponsor-lista {
  --framer-link-text-color: #09f;
  --framer-link-text-decoration: underline;
  white-space: pre;
  flex: none;
  width: min(1200px, calc(100% - (var(--sponsor-inline-space) * 2)));
  height: auto;
  position: relative;
  margin: 14px 0 0;
}
.pagina .footer-logo-container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(10px, 1.5vw, 18px);
  margin-top: 16px;
  width: 100%;
}
.pagina .footer-logo-container a {
  width: clamp(48px, 5.4vw, 62px);
  height: clamp(48px, 5.4vw, 62px);
  border-radius: 999px;
  background: rgba(255, 250, 227, 0.16);
  color: var(--token-de4a76c7-6e4b-4bcc-bedd-c14e940905e2, #fffae3);
  border: 1px solid rgba(255, 250, 227, 0.45);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: transform 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}
.pagina .footer-logo-container a:hover,
.pagina .footer-logo-container a:focus-visible {
  transform: translateY(-2px);
  background: rgba(255, 250, 227, 0.26);
  border-color: rgba(255, 250, 227, 0.8);
}
.pagina .footer-logo {
  width: clamp(22px, 2.8vw, 30px);
  height: clamp(22px, 2.8vw, 30px);
  display: block;
}
.pagina .sponsor-logo-link {
  height: 59px;
  overflow: var(--overflow-clip-fallback, clip);
  z-index: 1;
  flex: none;
  width: 100%;
  position: fixed;
  bottom: -49px;
  left: 0%;
}
.pagina .sponsor-logo {
  height: 109px;
  overflow: var(--overflow-clip-fallback, clip);
  z-index: 1;
  flex: none;
  width: 100%;
  position: fixed;
  bottom: -144px;
  left: 0%;
}
.pagina .framer-styles-preset-j7wil3:not(.rich-text-wrapper),
.pagina .framer-styles-preset-j7wil3.rich-text-wrapper p {
  --framer-font-family:
    "Ltt Recoleta Compressed Medium",
    "Ltt Recoleta Compressed Medium Placeholder", sans-serif;
  --framer-font-family-bold:
    "Ltt Recoleta Condensed Bold", "Ltt Recoleta Condensed Bold Placeholder",
    sans-serif;
  --framer-font-open-type-features: normal;
  --framer-font-size: 65px;
  --framer-font-style: normal;
  --framer-font-style-bold: normal;
  --framer-font-variation-axes: normal;
  --framer-font-weight: 500;
  --framer-font-weight-bold: 700;
  --framer-letter-spacing: 0em;
  --framer-line-height: 1.2em;
  --framer-paragraph-spacing: 20px;
  --framer-text-alignment: start;
  --framer-text-color: #ec631a;
  --framer-text-decoration: none;
  --framer-text-stroke-color: initial;
  --framer-text-stroke-width: initial;
  --framer-text-transform: none;
}
.pagina .framer-styles-preset-qqmdfr:not(.rich-text-wrapper),
.pagina .framer-styles-preset-qqmdfr.rich-text-wrapper h1 {
  --framer-font-family:
    "Ltt Recoleta Compressed Regular",
    "Ltt Recoleta Compressed Regular Placeholder", sans-serif;
  --framer-font-family-bold:
    "Ltt Recoleta Condensed Bold", "Ltt Recoleta Condensed Bold Placeholder",
    sans-serif;
  --framer-font-open-type-features: normal;
  --framer-font-size: 120px;
  --framer-font-style: normal;
  --framer-font-style-bold: normal;
  --framer-font-variation-axes: normal;
  --framer-font-weight: 400;
  --framer-font-weight-bold: 700;
  --framer-letter-spacing: 0em;
  --framer-line-height: 1.2em;
  --framer-paragraph-spacing: 0px;
  --framer-text-alignment: start;
  --framer-text-color: var(
    --token-c66738e4-2fe2-4e60-92e6-b3f08529dea3,
    #ec631a
  );
  --framer-text-decoration: none;
  --framer-text-stroke-color: initial;
  --framer-text-stroke-width: initial;
  --framer-text-transform: none;
}
@media (min-width: 810px) and (max-width: 1199.98px) {
  #main {
    width: 810px;
  }
  .pagina .navbar-wrapper,
  .pagina .programma-sep-c {
    order: 0;
  }
  .pagina .hero {
    order: 3;
    height: 745px;
  }
  .pagina .sezione-programma {
    order: 4;
    height: 905px;
  }
  .pagina .programma-griglia {
    height: 859px;
    top: calc(49.8343% - 429.5px);
    left: 0%;
  }
  .pagina .programma-colonne {
    width: 759px;
    height: 13%;
  }
  .pagina .programma-col-sx,
  .pagina .programma-col-dx {
    height: 17%;
  }
  .pagina .sezione-naviga {
    order: 5;
    min-height: 745px;
  }
  .pagina .naviga-carousel-shell {
    width: min(720px, 92%);
  }
  .pagina .naviga-lista {
    gap: 24px;
    width: min(720px, 92%);
  }
  .pagina .sezione-menu {
    order: 6;
  }
  .pagina .menu-intestazione {
    flex-direction: column;
    width: 100%;
  }
  .pagina .menu-titolo {
    white-space: pre-wrap;
    word-break: break-word;
    word-wrap: break-word;
    order: 0;
    width: 90%;
  }
  .pagina .menu-piatti,
  .pagina .mappa-titolo {
    width: 90%;
  }
  .pagina .menu-immagine {
    height: var(--framer-aspect-ratio-supported, 142px);
    width: 139px;
    top: 173px;
    left: 82%;
  }
  .pagina .sezione-mappa {
    order: 7;
  }
  .pagina .mappa-body {
    width: 100%;
  }
  .pagina .mappa-immagine {
    height: auto;
    max-height: 100%;
    min-height: 0;
    width: 100%;
  }
  .pagina .sezione-foto {
    order: 8;
  }
  .pagina .foto-col-info {
    width: 729px;
  }
  .pagina .sezione-sponsor {
    order: 9;
  }
}
@media (max-width: 809.98px) {
  #main {
    width: 390px;
  }
  .pagina .framer-1nchewp-container,
  .pagina .programma-txt-b,
  .pagina .naviga-eventi-container {
    order: 1;
  }
  .pagina .framer-1gktb1i-container {
    order: 2;
  }
  .pagina .hero {
    order: 3;
    height: 520px;
  }
  .pagina .hero-titolo {
    top: 83px;
  }
  .pagina .sezione-programma {
    flex-flow: column;
    order: 5;
    place-content: center;
    align-items: center;
    gap: 10px;
    height: min-content;
    padding: 0;
    display: flex;
  }
  .pagina .programma-griglia {
    left: unset;
    top: unset;
    order: 0;
    gap: 15px;
    position: relative;
  }
  .pagina .programma-colonne {
    order: 0;
    width: 349px;
    height: 96px;
  }
  .pagina .programma-col-sx {
    order: 1;
    height: 10%;
  }
  .pagina .programma-txt-a {
    order: 0;
  }
  .pagina .programma-sep-a {
    order: 2;
    height: 25%;
  }
  .pagina .programma-col-dx {
    order: 3;
    height: 10%;
  }
  .pagina .programma-sep-b {
    order: 4;
    height: 25%;
  }
  .pagina .programma-countdown-wrap {
    width: 100%;
    padding: 0;
  }
  .pagina .programma-countdown-subtitle {
    font-size: clamp(36px, 11.5vw, 52px);
  }
  .pagina .programma-countdown {
    font-size: clamp(52px, 13.5vw, 112px);
    margin-top: 28px;
    letter-spacing: 0;
    padding: 0 20px;
    box-sizing: border-box;
  }
  .pagina .programma-countdown .lotteria-countdown-digit {
    min-width: 1.9ch;
  }
  .pagina .programma-countdown-meta {
    margin-top: 14px;
    gap: 8px;
  }
  .pagina .programma-countdown-meta-item {
    font-size: 18px;
    padding: 11px 18px;
    min-width: 200px;
  }
  .pagina .sezione-naviga {
    order: 7;
    min-height: auto;
    padding: 48px 0;
  }
  .pagina .naviga-carousel-shell {
    width: 90%;
  }
  .pagina .naviga-lista {
    gap: 20px;
    width: 90%;
  }
  .pagina .naviga-card {
    width: min(318px, 100%);
    min-height: 360px;
    padding-top: 210px;
  }
  .pagina .sezione-menu {
    /* Tablet/mobile: riduce altezza sezione e cambia ordine nel flusso. */
    order: 8;
    height: auto;
    min-height: 0;
    padding: 48px 0;
  }
  .pagina .menu-body {
    /* Disattiva il centraggio assoluto desktop per usare layout fluido. */
    height: auto;
    gap: 33px;
    scroll-margin-top: 1500px;
    width: 90%;
  }
  .pagina .menu-intestazione {
    flex-direction: column;
    order: 0;
    width: 90%;
  }
  .pagina .menu-titolo {
    white-space: pre-wrap;
    word-break: break-word;
    word-wrap: break-word;
    order: 0;
    width: 100%;
    height: 120px;
  }
  .pagina .menu-completo {
    order: 1;
    width: 100%;
  }
  .pagina .menu-piatti {
    /* Box piatti compatto su schermi piccoli. */
    will-change: var(--framer-will-change-override, transform);
    border-radius: 30px;
    order: 1;
    width: 90%;
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 28px 18px;
  }
  .pagina .menu-piatto-a {
    width: 100%;
  }
  .pagina .menu-piatto-b {
    width: 100%;
  }
  .pagina .menu-lista {
    --framer-font-size: 34px;
    gap: 4px;
  }
  .pagina .sezione-mappa {
    order: 9;
    height: 512px;
  }
  .pagina .mappa-body {
    height: 100%;
    max-height: 100%;
    padding: 20px 0;
    width: 100%;
  }
  .pagina .mappa-titolo,
  .pagina .foto-col-info {
    width: 90%;
  }
  .pagina .sezione-foto {
    order: 10;
    height: auto;
    min-height: 1020px;
    overflow: visible;
  }
  .pagina .foto-body {
    gap: 18px;
    top: 0;
    transform: none;
    position: relative;
    padding-top: 44px;
  }
  .pagina .foto-grid {
    flex-direction: column;
    gap: 20px;
  }
  .pagina .sezione-sponsor {
    order: 11;
    height: auto;
    min-height: 0;
    padding: 42px 0;
    gap: 26px;
  }
  .pagina .sponsor-titolo {
    width: min(90%, 680px);
    transform: none;
  }
  .pagina .sponsor-lista {
    width: min(90%, 680px);
    margin-top: 6px;
    transform: none;
  }
  .pagina .sponsor-grid {
    width: min(90%, 680px);
    transform: none;
  }
  .pagina .footer-logo-container {
    margin-top: 10px;
  }
  .pagina .sponsor-logo-link {
    order: 4;
  }
  .pagina .sponsor-logo {
    order: 6;
  }
}
@supports (aspect-ratio: 1) {
  body {
    --framer-aspect-ratio-supported: auto;
  }
}
.navbar-main.nav-corpo {
  cursor: pointer;
  flex-flow: row;
  place-content: center space-between;
  align-items: center;
  width: 1184px;
  height: 64px;
  padding: 0;
  display: flex;
  position: relative;
  overflow: hidden;
}
.navbar-main .navbar-inner {
  flex-flow: column;
  flex: 1 0 0;
  place-content: center;
  align-items: center;
  gap: 0;
  width: 1px;
  height: min-content;
  padding: 0;
  display: flex;
  position: relative;
  overflow: visible;
}
.navbar-main .navbar-divider {
  width: 1788px;
  height: 1px;
  position: relative;
}
/* 
=========================================================
MODIFICA QUI I MARGINI DELLA TUA NAVBAR
=========================================================
*/
.navbar-main .navbar-content {
  flex-flow: row;
  flex: none;
  place-content: center space-between;
  align-items: center;
  width: 100%;
  height: min-content;

  /* CAMBIA QUESTO VALORE PER STACCARE A DESTRA E SINISTRA la navbar */
  padding: 0 40px; 
  box-sizing: border-box; /* Necessario per non far sballare la larghezza con il padding! */
  
  display: flex;
  position: relative;
  overflow: visible;
}
/* ========================================================= */
.navbar-main .navbar-logo {
  flex-flow: row;
  flex: none;
  place-content: center;
  align-items: center;
  gap: 0;
  width: min-content;
  height: min-content;
  padding: 10px 18px;
  display: flex;
  position: relative;
  overflow: visible;
}
.navbar-main .nav-logo-txt {
  white-space: pre;
  flex: none;
  width: auto;
  height: auto;
  position: relative;
}
.navbar-main .navbar-links {
  flex-flow: row;
  flex: none;
  place-content: center;
  align-items: center;
  gap: 32px !important;
  width: min-content;
  height: min-content;
  padding: 0 19px;
  display: flex;
  position: relative;
  overflow: visible;
}
.navbar-main .nav-icona-home-container,
.navbar-main .nav-icona-menu-container,
.navbar-main .nav-icona-sport-container,
.navbar-main .nav-icona-lotteria-container,
.navbar-main .nav-icona-fondi-container {
  flex: none;
  width: 40px;
  height: 40px;
  position: relative;
}
.navbar-main .nav-linea {
  width: 3334px;
  height: 1px;
  position: absolute;
  top: 63px;
  left: -340px;
}
body {
  --framer-will-change-override: none;
}
@supports (background: -webkit-named-image(i)) and
  (not (grid-template-rows: subgrid)) {
  body {
    --framer-will-change-override: transform;
  }
}
body {
  --framer-will-change-filter-override: none;
}
@supports (background: -webkit-named-image(i)) and
  (not (position-area: top right)) {
  body {
    --framer-will-change-filter-override: filter;
  }
}
[data-framer-component-type] {
  position: absolute;
}
p.framer-text,
div.framer-text,
figure.framer-text,
h1.framer-text,
h2.framer-text,
h3.framer-text,
h4.framer-text,
h5.framer-text,
h6.framer-text,
ol.framer-text,
ul.framer-text {
  margin: 0;
  padding: 0;
}
p.framer-text,
div.framer-text,
h1.framer-text,
h2.framer-text,
h3.framer-text,
h4.framer-text,
h5.framer-text,
h6.framer-text,
li.framer-text,
ol.framer-text,
ul.framer-text,
mark.framer-text,
span.framer-text:not([data-text-fill]) {
  font-family: var(
    --framer-font-family-preview,
    var(
      --framer-blockquote-font-family,
      var(--framer-font-family, Inter, Inter Placeholder, sans-serif)
    )
  );
  font-style: var(
    --framer-font-style-preview,
    var(--framer-blockquote-font-style, var(--framer-font-style, normal))
  );
  font-weight: var(
    --framer-font-weight-preview,
    var(--framer-blockquote-font-weight, var(--framer-font-weight, 400))
  );
  color: var(--framer-blockquote-text-color, var(--framer-text-color, #000));
  font-size: calc(
    var(--framer-blockquote-font-size, var(--framer-font-size, 16px)) *
      var(--framer-font-size-scale, 1)
  );
  letter-spacing: var(
    --framer-blockquote-letter-spacing,
    var(--framer-letter-spacing, 0)
  );
  text-transform: var(
    --framer-blockquote-text-transform,
    var(--framer-text-transform, none)
  );
  -webkit-text-decoration-line: var(
    --framer-blockquote-text-decoration,
    var(--framer-text-decoration, initial)
  );
  text-decoration-line: var(
    --framer-blockquote-text-decoration,
    var(--framer-text-decoration, initial)
  );
  -webkit-text-decoration-style: var(
    --framer-blockquote-text-decoration-style,
    var(--framer-text-decoration-style, initial)
  );
  text-decoration-style: var(
    --framer-blockquote-text-decoration-style,
    var(--framer-text-decoration-style, initial)
  );
  -webkit-text-decoration-color: var(
    --framer-blockquote-text-decoration-color,
    var(--framer-text-decoration-color, initial)
  );
  text-decoration-color: var(
    --framer-blockquote-text-decoration-color,
    var(--framer-text-decoration-color, initial)
  );
  text-decoration-thickness: var(
    --framer-blockquote-text-decoration-thickness,
    var(--framer-text-decoration-thickness, initial)
  );
  text-decoration-skip-ink: var(
    --framer-blockquote-text-decoration-skip-ink,
    var(--framer-text-decoration-skip-ink, initial)
  );
  text-underline-offset: var(
    --framer-blockquote-text-decoration-offset,
    var(--framer-text-decoration-offset, initial)
  );
  line-height: var(
    --framer-blockquote-line-height,
    var(--framer-line-height, 1.2em)
  );
  text-align: var(
    --framer-blockquote-text-alignment,
    var(--framer-text-alignment, start)
  );
  -webkit-text-stroke-width: var(--framer-text-stroke-width, initial);
  -webkit-text-stroke-color: var(--framer-text-stroke-color, initial);
  -moz-font-feature-settings: var(--framer-font-open-type-features, initial);
  -webkit-font-feature-settings: var(--framer-font-open-type-features, initial);
  font-feature-settings: var(--framer-font-open-type-features, initial);
  font-variation-settings: var(
    --framer-font-variation-axes-preview,
    var(--framer-font-variation-axes, normal)
  );
  text-wrap: var(--framer-text-wrap-override, var(--framer-text-wrap));
}
mark.framer-text,
p.framer-text,
div.framer-text,
h1.framer-text,
h2.framer-text,
h3.framer-text,
h4.framer-text,
h5.framer-text,
h6.framer-text,
li.framer-text,
ol.framer-text,
ul.framer-text {
  background-color: var(
    --framer-blockquote-text-background-color,
    var(--framer-text-background-color, initial)
  );
  border-radius: var(
    --framer-blockquote-text-background-radius,
    var(--framer-text-background-radius, initial)
  );
  corner-shape: var(
    --framer-blockquote-text-background-corner-shape,
    var(--framer-text-background-corner-shape, initial)
  );
  padding: var(
    --framer-blockquote-text-background-padding,
    var(--framer-text-background-padding, initial)
  );
}
@supports not (color: color(display-p3 1 1 1)) {
  p.framer-text,
  div.framer-text,
  h1.framer-text,
  h2.framer-text,
  h3.framer-text,
  h4.framer-text,
  h5.framer-text,
  h6.framer-text,
  li.framer-text,
  ol.framer-text,
  ul.framer-text,
  span.framer-text:not([data-text-fill]) {
    color: var(
      --framer-blockquote-text-color-rgb,
      var(
        --framer-blockquote-text-color,
        var(--framer-text-color-rgb, var(--framer-text-color, #000))
      )
    );
    -webkit-text-stroke-color: var(
      --framer-text-stroke-color-rgb,
      var(--framer-text-stroke-color, initial)
    );
  }
  mark.framer-text {
    background-color: var(
      --framer-blockquote-text-background-color-rgb,
      var(
        --framer-blockquote-text-background-color,
        var(
          --framer-text-background-color-rgb,
          var(--framer-text-background-color, initial)
        )
      )
    );
  }
}
.framer-fit-text .framer-text {
  white-space: nowrap;
  white-space-collapse: preserve;
}
strong.framer-text {
  font-family: var(
    --framer-blockquote-font-family-bold,
    var(--framer-font-family-bold)
  );
  font-style: var(
    --framer-blockquote-font-style-bold,
    var(--framer-font-style-bold)
  );
  font-weight: var(
    --framer-blockquote-font-weight-bold,
    var(--framer-font-weight-bold, bolder)
  );
  font-variation-settings: var(
    --framer-blockquote-font-variation-axes-bold,
    var(--framer-font-variation-axes-bold)
  );
}
em.framer-text {
  font-family: var(
    --framer-blockquote-font-family-italic,
    var(--framer-font-family-italic)
  );
  font-style: var(
    --framer-blockquote-font-style-italic,
    var(--framer-font-style-italic, italic)
  );
  font-weight: var(
    --framer-blockquote-font-weight-italic,
    var(--framer-font-weight-italic)
  );
  font-variation-settings: var(
    --framer-blockquote-font-variation-axes-italic,
    var(--framer-font-variation-axes-italic)
  );
}
em.framer-text > strong.framer-text {
  font-family: var(
    --framer-blockquote-font-family-bold-italic,
    var(--framer-font-family-bold-italic)
  );
  font-style: var(
    --framer-blockquote-font-style-bold-italic,
    var(--framer-font-style-bold-italic, italic)
  );
  font-weight: var(
    --framer-blockquote-font-weight-bold-italic,
    var(--framer-font-weight-bold-italic, bolder)
  );
  font-variation-settings: var(
    --framer-blockquote-font-variation-axes-bold-italic,
    var(--framer-font-variation-axes-bold-italic)
  );
}
p.framer-text:not(:first-child),
div.framer-text:not(:first-child),
h1.framer-text:not(:first-child),
h2.framer-text:not(:first-child),
h3.framer-text:not(:first-child),
h4.framer-text:not(:first-child),
h5.framer-text:not(:first-child),
h6.framer-text:not(:first-child),
ol.framer-text:not(:first-child),
ul.framer-text:not(:first-child),
blockquote.framer-text:not(:first-child),
table.framer-text:not(:first-child),
figure.framer-text:not(:first-child),
.framer-image.framer-text:not(:first-child) {
  margin-top: var(
    --framer-blockquote-paragraph-spacing,
    var(--framer-paragraph-spacing, 0)
  );
}
li.framer-text > ul.framer-text:nth-child(2),
li.framer-text > ol.framer-text:nth-child(2) {
  margin-top: 0;
}
.framer-text[data-text-fill] {
  -webkit-text-fill-color: transparent;
  padding: max(
    0em,
    calc(
      calc(
          1.3em -
            var(
              --framer-blockquote-line-height,
              var(--framer-line-height, 1.3em)
            )
        ) /
        2
    )
  );
  margin: min(
    0em,
    calc(
      calc(
          1.3em -
            var(
              --framer-blockquote-line-height,
              var(--framer-line-height, 1.3em)
            )
        ) /
        -2
    )
  );
  -webkit-background-clip: text;
  background-clip: text;
  display: inline-block;
}
code.framer-text,
code.framer-text span.framer-text:not([data-text-fill]) {
  font-family: var(
    --framer-code-font-family,
    var(--framer-font-family, Inter, Inter Placeholder, sans-serif)
  );
  font-style: var(
    --framer-blockquote-font-style,
    var(--framer-code-font-style, var(--framer-font-style, normal))
  );
  font-weight: var(
    --framer-blockquote-font-weight,
    var(--framer-code-font-weight, var(--framer-font-weight, 400))
  );
  color: var(
    --framer-blockquote-text-color,
    var(--framer-code-text-color, var(--framer-text-color, #000))
  );
  font-size: calc(
    var(--framer-blockquote-font-size, var(--framer-font-size, 16px)) *
      var(--framer-font-size-scale, 1)
  );
  letter-spacing: var(
    --framer-blockquote-letter-spacing,
    var(--framer-letter-spacing, 0)
  );
  line-height: var(
    --framer-blockquote-line-height,
    var(--framer-line-height, 1.2em)
  );
}
@supports not (color: color(display-p3 1 1 1)) {
  code.framer-text,
  code.framer-text span.framer-text:not([data-text-fill]) {
    color: var(
      --framer-blockquote-text-color-rgb,
      var(
        --framer-blockquote-text-color,
        var(
          --framer-code-text-color-rgb,
          var(
            --framer-code-text-color,
            var(--framer-text-color-rgb, var(--framer-text-color, #000))
          )
        )
      )
    );
  }
}
blockquote.framer-text {
  unicode-bidi: initial;
  margin-block-start: initial;
  margin-block-end: initial;
  margin-inline-start: initial;
  margin-inline-end: initial;
}
a.framer-text,
a.framer-text span.framer-text:not([data-text-fill]),
span.framer-text[data-nested-link],
span.framer-text[data-nested-link] span.framer-text:not([data-text-fill]) {
  color: inherit;
  font-family: var(
    --framer-font-family-preview,
    var(
      --framer-blockquote-font-family,
      var(
        --framer-link-font-family,
        var(--framer-font-family, Inter, Inter Placeholder, sans-serif)
      )
    )
  );
  font-style: var(
    --framer-font-style-preview,
    var(
      --framer-blockquote-font-style,
      var(--framer-link-font-style, var(--framer-font-style, normal))
    )
  );
  font-weight: var(
    --framer-font-weight-preview,
    var(
      --framer-blockquote-font-weight,
      var(--framer-link-font-weight, var(--framer-font-weight, 400))
    )
  );
  font-size: calc(
    var(--framer-blockquote-font-size, var(--framer-font-size, 16px)) *
      var(--framer-font-size-scale, 1)
  );
  text-transform: var(
    --framer-blockquote-text-transform,
    var(--framer-link-text-transform, var(--framer-text-transform, none))
  );
  cursor: var(--framer-custom-cursors, pointer);
  background-color: initial;
  border-radius: var(--framer-link-text-background-radius, initial);
  corner-shape: var(--framer-link-text-background-corner-shape, initial);
  padding: var(--framer-link-text-background-padding, initial);
}
a.framer-text,
span.framer-text[data-nested-link] {
  color: var(
    --framer-blockquote-text-color,
    var(--framer-link-text-color, var(--framer-text-color, #000))
  );
  -webkit-text-decoration-line: var(
    --framer-blockquote-text-decoration,
    var(--framer-link-text-decoration, var(--framer-text-decoration, initial))
  );
  text-decoration-line: var(
    --framer-blockquote-text-decoration,
    var(--framer-link-text-decoration, var(--framer-text-decoration, initial))
  );
  -webkit-text-decoration-style: var(
    --framer-blockquote-text-decoration-style,
    var(
      --framer-link-text-decoration-style,
      var(--framer-text-decoration-style, initial)
    )
  );
  text-decoration-style: var(
    --framer-blockquote-text-decoration-style,
    var(
      --framer-link-text-decoration-style,
      var(--framer-text-decoration-style, initial)
    )
  );
  -webkit-text-decoration-color: var(
    --framer-blockquote-text-decoration-color,
    var(
      --framer-link-text-decoration-color,
      var(--framer-text-decoration-color, initial)
    )
  );
  text-decoration-color: var(
    --framer-blockquote-text-decoration-color,
    var(
      --framer-link-text-decoration-color,
      var(--framer-text-decoration-color, initial)
    )
  );
  text-decoration-thickness: var(
    --framer-blockquote-text-decoration-thickness,
    var(
      --framer-link-text-decoration-thickness,
      var(--framer-text-decoration-thickness, initial)
    )
  );
  text-decoration-skip-ink: var(
    --framer-blockquote-text-decoration-skip-ink,
    var(
      --framer-link-text-decoration-skip-ink,
      var(--framer-text-decoration-skip-ink, initial)
    )
  );
  text-underline-offset: var(
    --framer-blockquote-text-decoration-offset,
    var(
      --framer-link-text-decoration-offset,
      var(--framer-text-decoration-offset, initial)
    )
  );
  background-color: var(--framer-link-text-background-color, initial);
}
@supports not (color: color(display-p3 1 1 1)) {
  a.framer-text,
  span.framer-text[data-nested-link] {
    color: var(
      --framer-blockquote-text-color-rgb,
      var(
        --framer-blockquote-text-color,
        var(
          --framer-link-text-color-rgb,
          var(
            --framer-link-text-color,
            var(--framer-text-color-rgb, var(--framer-text-color, #000))
          )
        )
      )
    );
    background-color: var(
      --framer-link-text-background-color-rgb,
      var(--framer-link-text-background-color, initial)
    );
    -webkit-text-decoration-color: var(
      --framer-link-text-decoration-color-rgb,
      var(
        --framer-link-text-decoration-color,
        var(
          --framer-text-decoration-color-rgb,
          var(--framer-text-decoration-color, currentcolor)
        )
      )
    );
    text-decoration-color: var(
      --framer-link-text-decoration-color-rgb,
      var(
        --framer-link-text-decoration-color,
        var(
          --framer-text-decoration-color-rgb,
          var(--framer-text-decoration-color, currentcolor)
        )
      )
    );
  }
}
code.framer-text a.framer-text,
code.framer-text a.framer-text span.framer-text:not([data-text-fill]),
code.framer-text span.framer-text[data-nested-link],
code.framer-text
  span.framer-text[data-nested-link]
  span.framer-text:not([data-text-fill]) {
  font-family: var(
    --framer-code-font-family,
    var(--framer-font-family, Inter, Inter Placeholder, sans-serif)
  );
  font-style: var(
    --framer-blockquote-font-style,
    var(--framer-code-font-style, var(--framer-font-style, normal))
  );
  font-weight: var(
    --framer-blockquote-font-weight,
    var(--framer-code-font-weight, var(--framer-font-weight, 400))
  );
  color: inherit;
  font-size: calc(
    var(--framer-blockquote-font-size, var(--framer-font-size, 16px)) *
      var(--framer-font-size-scale, 1)
  );
}
code.framer-text a.framer-text,
code.framer-text span.framer-text[data-nested-link] {
  color: var(
    --framer-blockquote-text-color,
    var(
      --framer-link-text-color,
      var(--framer-code-text-color, var(--framer-text-color, #000))
    )
  );
}
@supports not (color: color(display-p3 1 1 1)) {
  code.framer-text a.framer-text,
  code.framer-text a.framer-text span.framer-text:not([data-text-fill]),
  code.framer-text span.framer-text[data-nested-link],
  code.framer-text
    span.framer-text[data-nested-link]
    span.framer-text:not([data-text-fill]) {
    color: var(
      --framer-blockquote-text-color-rgb,
      var(
        --framer-blockquote-text-color,
        var(
          --framer-link-text-color-rgb,
          var(
            --framer-link-text-color,
            var(
              --framer-code-text-color-rgb,
              var(
                --framer-code-text-color,
                var(--framer-text-color-rgb, var(--framer-text-color, #000))
              )
            )
          )
        )
      )
    );
  }
}
a.framer-text:hover,
a.framer-text:hover span.framer-text:not([data-text-fill]),
span.framer-text[data-nested-link]:hover,
span.framer-text[data-nested-link]:hover
  span.framer-text:not([data-text-fill]) {
  font-family: var(
    --framer-font-family-preview,
    var(
      --framer-link-hover-font-family,
      var(
        --framer-blockquote-font-family,
        var(
          --framer-link-font-family,
          var(--framer-font-family, Inter, Inter Placeholder, sans-serif)
        )
      )
    )
  );
  font-style: var(
    --framer-font-style-preview,
    var(
      --framer-link-hover-font-style,
      var(
        --framer-blockquote-font-style,
        var(--framer-link-font-style, var(--framer-font-style, normal))
      )
    )
  );
  font-weight: var(
    --framer-font-weight-preview,
    var(
      --framer-link-hover-font-weight,
      var(
        --framer-blockquote-font-weight,
        var(--framer-link-font-weight, var(--framer-font-weight, 400))
      )
    )
  );
  font-size: calc(
    var(
        --framer-link-hover-font-size,
        var(--framer-blockquote-font-size, var(--framer-font-size, 16px))
      ) *
      var(--framer-font-size-scale, 1)
  );
  text-transform: var(
    --framer-link-hover-text-transform,
    var(
      --framer-blockquote-text-transform,
      var(--framer-link-text-transform, var(--framer-text-transform, none))
    )
  );
  border-radius: var(
    --framer-link-hover-text-background-radius,
    var(
      --framer-link-text-background-radius,
      var(--framer-text-background-radius, initial)
    )
  );
  corner-shape: var(
    --framer-link-hover-text-background-corner-shape,
    var(
      --framer-link-text-background-corner-shape,
      var(--framer-text-background-corner-shape, initial)
    )
  );
  padding: var(
    --framer-link-hover-text-background-padding,
    var(
      --framer-link-text-background-padding,
      var(--framer-text-background-padding, initial)
    )
  );
}
a.framer-text:hover,
span.framer-text[data-nested-link]:hover {
  color: var(
    --framer-link-hover-text-color,
    var(
      --framer-blockquote-text-color,
      var(--framer-link-text-color, var(--framer-text-color, #000))
    )
  );
  -webkit-text-decoration-line: var(
    --framer-link-hover-text-decoration,
    var(
      --framer-blockquote-text-decoration,
      var(--framer-link-text-decoration, var(--framer-text-decoration, initial))
    )
  );
  text-decoration-line: var(
    --framer-link-hover-text-decoration,
    var(
      --framer-blockquote-text-decoration,
      var(--framer-link-text-decoration, var(--framer-text-decoration, initial))
    )
  );
  -webkit-text-decoration-style: var(
    --framer-link-hover-text-decoration-style,
    var(
      --framer-blockquote-text-decoration-style,
      var(
        --framer-link-text-decoration-style,
        var(--framer-text-decoration-style, initial)
      )
    )
  );
  text-decoration-style: var(
    --framer-link-hover-text-decoration-style,
    var(
      --framer-blockquote-text-decoration-style,
      var(
        --framer-link-text-decoration-style,
        var(--framer-text-decoration-style, initial)
      )
    )
  );
  -webkit-text-decoration-color: var(
    --framer-link-hover-text-decoration-color,
    var(
      --framer-blockquote-text-decoration-color,
      var(
        --framer-link-text-decoration-color,
        var(--framer-text-decoration-color, initial)
      )
    )
  );
  text-decoration-color: var(
    --framer-link-hover-text-decoration-color,
    var(
      --framer-blockquote-text-decoration-color,
      var(
        --framer-link-text-decoration-color,
        var(--framer-text-decoration-color, initial)
      )
    )
  );
  text-decoration-thickness: var(
    --framer-link-hover-text-decoration-thickness,
    var(
      --framer-blockquote-text-decoration-thickness,
      var(
        --framer-link-text-decoration-thickness,
        var(--framer-text-decoration-thickness, initial)
      )
    )
  );
  text-decoration-skip-ink: var(
    --framer-link-hover-text-decoration-skip-ink,
    var(
      --framer-blockquote-text-decoration-skip-ink,
      var(
        --framer-link-text-decoration-skip-ink,
        var(--framer-text-decoration-skip-ink, initial)
      )
    )
  );
  text-underline-offset: var(
    --framer-link-hover-text-decoration-offset,
    var(
      --framer-blockquote-text-decoration-offset,
      var(
        --framer-link-text-decoration-offset,
        var(--framer-text-decoration-offset, initial)
      )
    )
  );
  background-color: var(
    --framer-link-hover-text-background-color,
    var(
      --framer-link-text-background-color,
      var(--framer-text-background-color, initial)
    )
  );
}
@supports not (color: color(display-p3 1 1 1)) {
  a.framer-text:hover,
  span.framer-text[data-nested-link]:hover {
    color: var(
      --framer-link-hover-text-color-rgb,
      var(
        --framer-link-hover-text-color,
        var(
          --framer-blockquote-text-color-rgb,
          var(
            --framer-blockquote-text-color,
            var(
              --framer-link-text-color-rgb,
              var(
                --framer-link-text-color,
                var(--framer-text-color-rgb, var(--framer-text-color, #000))
              )
            )
          )
        )
      )
    );
    background-color: var(
      --framer-link-hover-text-background-color-rgb,
      var(
        --framer-link-hover-text-background-color,
        var(
          --framer-link-text-background-color-rgb,
          var(
            --framer-link-text-background-color,
            var(
              --framer-text-background-color-rgb,
              var(--framer-text-background-color, initial)
            )
          )
        )
      )
    );
    -webkit-text-decoration-color: var(
      --framer-link-hover-text-decoration-color-rgb,
      var(
        --framer-link-hover-text-decoration-color,
        var(
          --framer-link-text-decoration-color-rgb,
          var(
            --framer-link-text-decoration-color,
            var(
              --framer-text-decoration-color-rgb,
              var(--framer-text-decoration-color, currentcolor)
            )
          )
        )
      )
    );
    text-decoration-color: var(
      --framer-link-hover-text-decoration-color-rgb,
      var(
        --framer-link-hover-text-decoration-color,
        var(
          --framer-link-text-decoration-color-rgb,
          var(
            --framer-link-text-decoration-color,
            var(
              --framer-text-decoration-color-rgb,
              var(--framer-text-decoration-color, currentcolor)
            )
          )
        )
      )
    );
  }
}
code.framer-text a.framer-text:hover,
code.framer-text span.framer-text[data-nested-link]:hover {
  color: var(
    --framer-link-hover-text-color,
    var(
      --framer-blockquote-text-color,
      var(
        --framer-link-text-color,
        var(--framer-code-text-color, var(--framer-text-color, #000))
      )
    )
  );
}
@supports not (color: color(display-p3 1 1 1)) {
  code.framer-text a.framer-text:hover,
  code.framer-text span.framer-text[data-nested-link]:hover {
    color: var(
      --framer-link-hover-text-color-rgb,
      var(
        --framer-link-hover-text-color,
        var(
          --framer-blockquote-text-color-rgb,
          var(
            --framer-blockquote-text-color,
            var(
              --framer-link-text-color-rgb,
              var(
                --framer-link-text-color,
                var(
                  --framer-code-text-color-rgb,
                  var(
                    --framer-code-text-color,
                    var(--framer-text-color-rgb, var(--framer-text-color, #000))
                  )
                )
              )
            )
          )
        )
      )
    );
  }
}
a.framer-text[data-framer-page-link-current],
a.framer-text[data-framer-page-link-current]
  span.framer-text:not([data-text-fill]),
span.framer-text[data-framer-page-link-current],
span.framer-text[data-framer-page-link-current]
  span.framer-text:not([data-text-fill]) {
  font-family: var(
    --framer-font-family-preview,
    var(
      --framer-link-current-font-family,
      var(
        --framer-link-font-family,
        var(--framer-font-family, Inter, Inter Placeholder, sans-serif)
      )
    )
  );
  font-style: var(
    --framer-font-style-preview,
    var(
      --framer-link-current-font-style,
      var(--framer-link-font-style, var(--framer-font-style, normal))
    )
  );
  font-weight: var(
    --framer-font-weight-preview,
    var(
      --framer-link-current-font-weight,
      var(--framer-link-font-weight, var(--framer-font-weight, 400))
    )
  );
  font-size: calc(
    var(
        --framer-link-current-font-size,
        var(--framer-link-font-size, var(--framer-font-size, 16px))
      ) *
      var(--framer-font-size-scale, 1)
  );
  text-transform: var(
    --framer-link-current-text-transform,
    var(--framer-link-text-transform, var(--framer-text-transform, none))
  );
  border-radius: var(
    --framer-link-current-text-background-radius,
    var(--framer-link-text-background-radius, initial)
  );
  corner-shape: var(
    --framer-link-current-text-background-corner-shape,
    var(--framer-link-text-background-corner-shape, initial)
  );
  padding: var(
    --framer-link-current-text-background-padding,
    var(--framer-link-text-background-padding, initial)
  );
}
a.framer-text[data-framer-page-link-current],
span.framer-text[data-framer-page-link-current] {
  color: var(
    --framer-link-current-text-color,
    var(--framer-link-text-color, var(--framer-text-color, #000))
  );
  -webkit-text-decoration-line: var(
    --framer-link-current-text-decoration,
    var(--framer-link-text-decoration, var(--framer-text-decoration, initial))
  );
  text-decoration-line: var(
    --framer-link-current-text-decoration,
    var(--framer-link-text-decoration, var(--framer-text-decoration, initial))
  );
  -webkit-text-decoration-style: var(
    --framer-link-current-text-decoration-style,
    var(
      --framer-link-text-decoration-style,
      var(--framer-text-decoration-style, initial)
    )
  );
  text-decoration-style: var(
    --framer-link-current-text-decoration-style,
    var(
      --framer-link-text-decoration-style,
      var(--framer-text-decoration-style, initial)
    )
  );
  -webkit-text-decoration-color: var(
    --framer-link-current-text-decoration-color,
    var(
      --framer-link-text-decoration-color,
      var(--framer-text-decoration-color, initial)
    )
  );
  text-decoration-color: var(
    --framer-link-current-text-decoration-color,
    var(
      --framer-link-text-decoration-color,
      var(--framer-text-decoration-color, initial)
    )
  );
  text-decoration-thickness: var(
    --framer-link-current-text-decoration-thickness,
    var(
      --framer-link-text-decoration-thickness,
      var(--framer-text-decoration-thickness, initial)
    )
  );
  text-decoration-skip-ink: var(
    --framer-link-current-text-decoration-skip-ink,
    var(
      --framer-link-text-decoration-skip-ink,
      var(--framer-text-decoration-skip-ink, initial)
    )
  );
  text-underline-offset: var(
    --framer-link-current-text-decoration-offset,
    var(
      --framer-link-text-decoration-offset,
      var(--framer-text-decoration-offset, initial)
    )
  );
  background-color: var(
    --framer-link-current-text-background-color,
    var(
      --framer-link-text-background-color,
      var(--framer-text-background-color, initial)
    )
  );
}
@supports not (color: color(display-p3 1 1 1)) {
  a.framer-text[data-framer-page-link-current],
  span.framer-text[data-framer-page-link-current] {
    color: var(
      --framer-link-current-text-color-rgb,
      var(
        --framer-link-current-text-color,
        var(
          --framer-link-text-color-rgb,
          var(
            --framer-link-text-color,
            var(--framer-text-color-rgb, var(--framer-text-color, #000))
          )
        )
      )
    );
    background-color: var(
      --framer-link-current-text-background-color-rgb,
      var(
        --framer-link-current-text-background-color,
        var(
          --framer-link-text-background-color-rgb,
          var(
            --framer-link-text-background-color,
            var(
              --framer-text-background-color-rgb,
              var(--framer-text-background-color, initial)
            )
          )
        )
      )
    );
    -webkit-text-decoration-color: var(
      --framer-link-current-text-decoration-color-rgb,
      var(
        --framer-link-current-text-decoration-color,
        var(
          --framer-link-text-decoration-color-rgb,
          var(
            --framer-link-text-decoration-color,
            var(
              --framer-text-decoration-color-rgb,
              var(--framer-text-decoration-color, currentcolor)
            )
          )
        )
      )
    );
    text-decoration-color: var(
      --framer-link-current-text-decoration-color-rgb,
      var(
        --framer-link-current-text-decoration-color,
        var(
          --framer-link-text-decoration-color-rgb,
          var(
            --framer-link-text-decoration-color,
            var(
              --framer-text-decoration-color-rgb,
              var(--framer-text-decoration-color, currentcolor)
            )
          )
        )
      )
    );
  }
}
code.framer-text a.framer-text[data-framer-page-link-current],
code.framer-text
  a.framer-text[data-framer-page-link-current]
  span.framer-text:not([data-text-fill]),
code.framer-text span.framer-text[data-framer-page-link-current],
code.framer-text
  span.framer-text[data-framer-page-link-current]
  span.framer-text:not([data-text-fill]) {
  font-family: var(
    --framer-code-font-family,
    var(--framer-font-family, Inter, Inter Placeholder, sans-serif)
  );
  font-style: var(--framer-code-font-style, var(--framer-font-style, normal));
  font-weight: var(--framer-code-font-weight, var(--framer-font-weight, 400));
  color: inherit;
  font-size: calc(
    var(
        --framer-link-current-font-size,
        var(--framer-link-font-size, var(--framer-font-size, 16px))
      ) *
      var(--framer-font-size-scale, 1)
  );
}
code.framer-text a.framer-text[data-framer-page-link-current],
code.framer-text span.framer-text[data-framer-page-link-current] {
  color: var(
    --framer-link-current-text-color,
    var(
      --framer-link-text-color,
      var(--framer-code-text-color, var(--framer-text-color, #000))
    )
  );
}
@supports not (color: color(display-p3 1 1 1)) {
  code.framer-text a.framer-text[data-framer-page-link-current],
  code.framer-text
    a.framer-text[data-framer-page-link-current]
    span.framer-text:not([data-text-fill]),
  code.framer-text span.framer-text[data-framer-page-link-current],
  code.framer-text
    span.framer-text[data-framer-page-link-current]
    span.framer-text:not([data-text-fill]) {
    color: var(
      --framer-link-current-text-color-rgb,
      var(
        --framer-link-current-text-color,
        var(
          --framer-link-text-color-rgb,
          var(
            --framer-link-text-color,
            var(
              --framer-code-text-color-rgb,
              var(
                --framer-code-text-color,
                var(--framer-text-color-rgb, var(--framer-text-color, #000))
              )
            )
          )
        )
      )
    );
    background-color: var(
      --framer-link-current-text-background-color-rgb,
      var(
        --framer-link-current-text-background-color,
        var(
          --framer-link-text-background-color-rgb,
          var(
            --framer-link-text-background-color,
            var(
              --framer-text-background-color-rgb,
              var(--framer-text-background-color, initial)
            )
          )
        )
      )
    );
  }
}
a.framer-text[data-framer-page-link-current]:hover,
a.framer-text[data-framer-page-link-current]:hover
  span.framer-text:not([data-text-fill]),
span.framer-text[data-framer-page-link-current]:hover,
span.framer-text[data-framer-page-link-current]:hover
  span.framer-text:not([data-text-fill]) {
  color: inherit;
  font-family: var(
    --framer-font-family-preview,
    var(
      --framer-link-hover-font-family,
      var(
        --framer-link-current-font-family,
        var(
          --framer-link-font-family,
          var(--framer-font-family, Inter, Inter Placeholder, sans-serif)
        )
      )
    )
  );
  font-style: var(
    --framer-font-style-preview,
    var(
      --framer-link-hover-font-style,
      var(
        --framer-link-current-font-style,
        var(--framer-link-font-style, var(--framer-font-style, normal))
      )
    )
  );
  font-weight: var(
    --framer-font-weight-preview,
    var(
      --framer-link-hover-font-weight,
      var(
        --framer-link-current-font-weight,
        var(--framer-link-font-weight, var(--framer-font-weight, 400))
      )
    )
  );
  font-size: calc(
    var(
        --framer-link-hover-font-size,
        var(
          --framer-link-current-font-size,
          var(--framer-link-font-size, var(--framer-font-size, 16px))
        )
      ) *
      var(--framer-font-size-scale, 1)
  );
  text-transform: var(
    --framer-link-hover-text-transform,
    var(
      --framer-link-current-text-transform,
      var(--framer-link-text-transform, var(--framer-text-transform, none))
    )
  );
  border-radius: var(
    --framer-link-hover-text-background-radius,
    var(
      --framer-link-current-text-background-radius,
      var(--framer-link-text-background-radius, initial)
    )
  );
  corner-shape: var(
    --framer-link-hover-text-background-corner-shape,
    var(
      --framer-link-current-text-background-corner-shape,
      var(--framer-link-text-background-corner-shape, initial)
    )
  );
  padding: var(
    --framer-link-hover-text-background-padding,
    var(
      --framer-link-current-text-background-padding,
      var(--framer-link-text-background-padding, initial)
    )
  );
}
a.framer-text[data-framer-page-link-current]:hover,
span.framer-text[data-framer-page-link-current]:hover {
  color: var(
    --framer-link-hover-text-color,
    var(
      --framer-link-current-text-color,
      var(--framer-link-text-color, var(--framer-text-color, #000))
    )
  );
  -webkit-text-decoration-line: var(
    --framer-link-hover-text-decoration,
    var(
      --framer-link-current-text-decoration,
      var(--framer-link-text-decoration, var(--framer-text-decoration, initial))
    )
  );
  text-decoration-line: var(
    --framer-link-hover-text-decoration,
    var(
      --framer-link-current-text-decoration,
      var(--framer-link-text-decoration, var(--framer-text-decoration, initial))
    )
  );
  -webkit-text-decoration-style: var(
    --framer-link-hover-text-decoration-style,
    var(
      --framer-link-current-text-decoration-style,
      var(
        --framer-link-text-decoration-style,
        var(--framer-text-decoration-style, initial)
      )
    )
  );
  text-decoration-style: var(
    --framer-link-hover-text-decoration-style,
    var(
      --framer-link-current-text-decoration-style,
      var(
        --framer-link-text-decoration-style,
        var(--framer-text-decoration-style, initial)
      )
    )
  );
  -webkit-text-decoration-color: var(
    --framer-link-hover-text-decoration-color,
    var(
      --framer-link-current-text-decoration-color,
      var(
        --framer-link-text-decoration-color,
        var(--framer-text-decoration-color, initial)
      )
    )
  );
  text-decoration-color: var(
    --framer-link-hover-text-decoration-color,
    var(
      --framer-link-current-text-decoration-color,
      var(
        --framer-link-text-decoration-color,
        var(--framer-text-decoration-color, initial)
      )
    )
  );
  text-decoration-thickness: var(
    --framer-link-hover-text-decoration-thickness,
    var(
      --framer-link-current-text-decoration-thickness,
      var(
        --framer-link-text-decoration-thickness,
        var(--framer-text-decoration-thickness, initial)
      )
    )
  );
  text-decoration-skip-ink: var(
    --framer-link-hover-text-decoration-skip-ink,
    var(
      --framer-link-current-text-decoration-skip-ink,
      var(
        --framer-link-text-decoration-skip-ink,
        var(--framer-text-decoration-skip-ink, initial)
      )
    )
  );
  text-underline-offset: var(
    --framer-link-hover-text-decoration-offset,
    var(
      --framer-link-current-text-decoration-offset,
      var(
        --framer-link-text-decoration-offset,
        var(--framer-text-decoration-offset, initial)
      )
    )
  );
  background-color: var(
    --framer-link-hover-text-background-color,
    var(
      --framer-link-current-text-background-color,
      var(--framer-link-text-background-color, initial)
    )
  );
}
@supports not (color: color(display-p3 1 1 1)) {
  a.framer-text[data-framer-page-link-current]:hover,
  span.framer-text[data-framer-page-link-current]:hover {
    color: var(
      --framer-link-hover-text-color-rgb,
      var(
        --framer-link-hover-text-color,
        var(
          --framer-link-current-text-color-rgb,
          var(
            --framer-link-current-text-color,
            var(
              --framer-link-text-color-rgb,
              var(
                --framer-link-text-color,
                var(
                  --framer-code-text-color-rgb,
                  var(
                    --framer-code-text-color,
                    var(--framer-text-color-rgb, var(--framer-text-color, #000))
                  )
                )
              )
            )
          )
        )
      )
    );
    background-color: var(
      --framer-link-hover-text-background-color-rgb,
      var(
        --framer-link-hover-text-background-color,
        var(
          --framer-link-current-text-background-color-rgb,
          var(
            --framer-link-current-text-background-color,
            var(
              --framer-link-text-background-color-rgb,
              var(--framer-link-text-background-color, initial)
            )
          )
        )
      )
    );
    -webkit-text-decoration-color: var(
      --framer-link-hover-text-decoration-color-rgb,
      var(
        --framer-link-hover-text-decoration-color,
        var(
          --framer-link-current-text-decoration-color-rgb,
          var(
            --framer-link-current-text-decoration-color,
            var(
              --framer-link-text-decoration-color-rgb,
              var(
                --framer-link-text-decoration-color,
                var(
                  --framer-text-decoration-color-rgb,
                  var(--framer-text-decoration-color, currentcolor)
                )
              )
            )
          )
        )
      )
    );
    text-decoration-color: var(
      --framer-link-hover-text-decoration-color-rgb,
      var(
        --framer-link-hover-text-decoration-color,
        var(
          --framer-link-current-text-decoration-color-rgb,
          var(
            --framer-link-current-text-decoration-color,
            var(
              --framer-link-text-decoration-color-rgb,
              var(
                --framer-link-text-decoration-color,
                var(
                  --framer-text-decoration-color-rgb,
                  var(--framer-text-decoration-color, currentcolor)
                )
              )
            )
          )
        )
      )
    );
  }
}
code.framer-text a.framer-text[data-framer-page-link-current]:hover,
code.framer-text span.framer-text[data-framer-page-link-current]:hover {
  color: var(
    --framer-link-hover-text-color,
    var(
      --framer-link-current-text-color,
      var(
        --framer-link-text-color,
        var(--framer-code-text-color, var(--framer-text-color, #000))
      )
    )
  );
}
@supports not (color: color(display-p3 1 1 1)) {
  code.framer-text a.framer-text[data-framer-page-link-current]:hover,
  code.framer-text
    a.framer-text[data-framer-page-link-current]:hover
    span.framer-text:not([data-text-fill]),
  code.framer-text span.framer-text[data-framer-page-link-current]:hover,
  code.framer-text
    span.framer-text[data-framer-page-link-current]:hover
    span.framer-text:not([data-text-fill]) {
    color: var(
      --framer-link-hover-text-color-rgb,
      var(
        --framer-link-hover-text-color,
        var(
          --framer-link-current-text-color-rgb,
          var(
            --framer-link-current-text-color,
            var(
              --framer-link-text-color-rgb,
              var(
                --framer-link-text-color,
                var(
                  --framer-code-text-color-rgb,
                  var(
                    --framer-code-text-color,
                    var(--framer-text-color-rgb, var(--framer-text-color, #000))
                  )
                )
              )
            )
          )
        )
      )
    );
    background-color: var(
      --framer-link-hover-text-background-color-rgb,
      var(
        --framer-link-hover-text-background-color,
        var(
          --framer-link-current-text-background-color-rgb,
          var(
            --framer-link-current-text-background-color,
            var(
              --framer-link-text-background-color-rgb,
              var(--framer-link-text-background-color, initial)
            )
          )
        )
      )
    );
  }
}
.framer-image.framer-text {
  max-width: 100%;
  height: auto;
  display: block;
}
.text-styles-preset-reset.framer-text {
  --framer-font-family: Inter, Inter Placeholder, sans-serif;
  --framer-font-style: normal;
  --framer-font-weight: 500;
  --framer-text-color: #000;
  --framer-font-size: 16px;
  --framer-letter-spacing: 0;
  --framer-text-transform: none;
  --framer-text-decoration: none;
  --framer-text-decoration-style: none;
  --framer-text-decoration-color: none;
  --framer-text-decoration-thickness: none;
  --framer-text-decoration-skip-ink: none;
  --framer-text-decoration-offset: none;
  --framer-line-height: 1.2em;
  --framer-text-alignment: start;
  --framer-font-open-type-features: normal;
  --framer-text-background-color: initial;
  --framer-text-background-radius: initial;
  --framer-text-background-corner-shape: initial;
  --framer-text-background-padding: initial;
}
ol.framer-text {
  --list-style-type: decimal;
}
ul.framer-text,
ol.framer-text {
  padding-inline-start: 0;
  position: relative;
}
li.framer-text {
  counter-increment: list-item;
  padding-inline-start: 2ch;
  list-style: none;
}
ol.framer-text > li.framer-text:before {
  content: counter(list-item, var(--list-style-type)) ".";
  font-variant-numeric: tabular-nums;
  position: absolute;
  inset-inline-start: 0;
}
ol.framer-text > li.framer-text:nth-last-child(n + 10),
ol.framer-text > li.framer-text:nth-last-child(n + 10) ~ li {
  padding-inline-start: 3ch;
}
ol.framer-text > li.framer-text:nth-last-child(n + 100),
ol.framer-text > li.framer-text:nth-last-child(n + 100) ~ li {
  padding-inline-start: 4ch;
}
ol.framer-text > li.framer-text:nth-last-child(n + 1000),
ol.framer-text > li.framer-text:nth-last-child(n + 1000) ~ li {
  padding-inline-start: 5ch;
}
ol.framer-text > li.framer-text:nth-last-child(n + 10000),
ol.framer-text > li.framer-text:nth-last-child(n + 10000) ~ li {
  padding-inline-start: 6ch;
}
ol.framer-text > li.framer-text:nth-last-child(n + 100000),
ol.framer-text > li.framer-text:nth-last-child(n + 100000) ~ li {
  padding-inline-start: 7ch;
}
ol.framer-text > li.framer-text:nth-last-child(n + 1000000),
ol.framer-text > li.framer-text:nth-last-child(n + 1000000) ~ li {
  padding-inline-start: 8ch;
}
ul.framer-text > li.framer-text:before {
  content: "•";
  position: absolute;
  inset-inline-start: 0;
}
.framer-table-wrapper {
  overflow-x: auto;
}
table.framer-text,
.framer-table-wrapper table.framer-text {
  border-collapse: separate;
  border-spacing: 0;
  table-layout: auto;
  word-break: normal;
  width: 100%;
}
td.framer-text,
th.framer-text {
  vertical-align: top;
  min-width: 16ch;
}
.framer-text-module[data-width="fill"] > :first-child,
.framer-text-module[data-width="fill"] > .ssr-variant > :first-child,
.framer-text-module:not([data-width="fit"])[style*="aspect-ratio"]
  > :first-child,
.framer-text-module:not([data-width="fit"])[style*="aspect-ratio"]
  > .ssr-variant
  > :first-child {
  width: 100% !important;
}
@supports not (aspect-ratio: 1) {
  .framer-text-module:not([data-width="fit"])[style*="aspect-ratio"] {
    position: relative !important;
  }
  .framer-text-module:not([data-width="fit"])[style*="aspect-ratio"]:before {
  
    padding-bottom: calc(100% / calc(var(--aspect-ratio)));
    display: block;
  }
  .framer-text-module[data-width="fill"] > :first-child,
  .framer-text-module[data-width="fill"] > .ssr-variant > :first-child,
  .framer-text-module:not([data-width="fit"])[style*="aspect-ratio"]
    > :first-child,
  .framer-text-module:not([data-width="fit"])[style*="aspect-ratio"]
    > .ssr-variant
    > :first-child {
    position: absolute;
    top: 0;
    left: 0;
    height: 100% !important;
  }
}
:not(.svgContainer) svg {
  display: block;
}
[data-reset="button"] {
  background: 0 0;
  border-width: 0;
  padding: 0;
}
[data-hide-scrollbars="true"]::-webkit-scrollbar {
  width: 0;
  height: 0;
}
[data-hide-scrollbars="true"]::-webkit-scrollbar-thumb {
  background: 0 0;
}
[data-hide-scrollbars="true"] {
  scrollbar-width: none;
}
@supports not (overflow: clip) {
  :root {
    --overflow-clip-fallback: hidden;
  }
}
@supports (background: -webkit-named-image(i)) and
  (not (contain-intrinsic-size: inherit)) {
  div.framer-text,
  p.framer-text,
  h1.framer-text,
  h2.framer-text,
  h3.framer-text,
  h4.framer-text,
  h5.framer-text,
  h6.framer-text,
  ol.framer-text,
  ul.framer-text,
  li.framer-text,
  blockquote.framer-text,
  .framer-text.framer-image {
    display: var(--text-truncation-display-inline-for-safari-16, revert);
  }
  div.framer-text:after,
  p.framer-text:after,
  h1.framer-text:after,
  h2.framer-text:after,
  h3.framer-text:after,
  h4.framer-text:after,
  h5.framer-text:after,
  h6.framer-text:after,
  ol.framer-text:after,
  ul.framer-text:after,
  li.framer-text:after,
  blockquote.framer-text:after,
  .framer-text.framer-image:after {
    content: var(--text-truncation-line-break-for-safari-16);
    white-space: pre;
  }
  .framer-text.framer-text-module,
  .framer-text.framer-table-wrapper {
    display: var(--text-truncation-display-none-for-safari-16, revert);
  }
  p.framer-text[data-text-fill] {
    display: var(--text-truncation-display-inline-for-safari-16, inline-block);
  }
}
@supports (corner-shape: superellipse(2)) {
  :root {
    --one-if-corner-shape-supported: 1;
  }
}
@supports (aspect-ratio: 1) {
  body {
    --framer-aspect-ratio-supported: auto;
  }
}
.eventi-comp.eventi-comp-lux,
.eventi-comp .eventi-comp-lux {
  display: block;
}
.eventi-comp.eventi-comp-main {
  cursor: pointer;
  width: 40px;
  height: 40px;
  text-decoration: none;
  position: relative;
  overflow: visible;
}
.eventi-comp .eventi-comp-inner {
  aspect-ratio: 1;
  height: var(--framer-aspect-ratio-supported, 40px);
  flex: none;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.eventi-comp-badge {
  aspect-ratio: 1;
  -webkit-mask: var(--framer-icon-mask);
  mask: var(--framer-icon-mask);
  width: 24px;
  display: block;
}
@supports (aspect-ratio: 1) {
  body {
    --framer-aspect-ratio-supported: auto;
  }
}
.foto-nav-comp-scope.foto-nav-comp-lux,
.foto-nav-comp-scope .foto-nav-comp-lux {
  display: block;
}
.foto-nav-comp-scope.foto-nav-comp-main {
  cursor: pointer;
  width: 40px;
  height: 40px;
  text-decoration: none;
  position: relative;
}
.foto-nav-comp-scope .foto-nav-comp-inner {
  aspect-ratio: 1;
  height: var(--framer-aspect-ratio-supported, 40px);
  flex: none;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.naviga-eventi-comp {
  aspect-ratio: 1;
  -webkit-mask: var(--framer-icon-mask);
  mask: var(--framer-icon-mask);
  width: 24px;
  display: block;
}
@supports (aspect-ratio: 1) {
  body {
    --framer-aspect-ratio-supported: auto;
  }
}
.foto-slideshow-alt.slide-13,
.foto-slideshow-alt .slide-13 {
  display: block;
}
.foto-slideshow-alt.slide-09 {
  cursor: pointer;
  width: 40px;
  height: 40px;
  text-decoration: none;
  position: relative;
}
.foto-slideshow-alt .slide-11 {
  aspect-ratio: 1;
  height: var(--framer-aspect-ratio-supported, 40px);
  flex: none;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.foto-slideshow-nav-alt {
  aspect-ratio: 1;
  -webkit-mask: var(--framer-icon-mask);
  mask: var(--framer-icon-mask);
  width: 24px;
  display: block;
}
.ssr-variant {
  display: contents;
}
@supports (aspect-ratio: 1) {
  body {
    --framer-aspect-ratio-supported: auto;
  }
}
.slide-51.slide-25,
.slide-51 .slide-25 {
  display: block;
}
.slide-51.framer-8dppq0 {
  cursor: pointer;
  flex-flow: row;
  place-content: center space-between;
  align-items: center;
  width: 390px;
  height: 48px;
  padding: 0;
  display: flex;
  position: relative;
  overflow: hidden;
}
.slide-51 .slide-28 {
  flex-flow: column;
  flex: 1 0 0;
  place-content: center;
  align-items: center;
  gap: 0;
  width: 1px;
  height: 47px;
  padding: 18px 0;
  display: flex;
  position: relative;
  overflow: visible;
}
.slide-51 .framer-1te3b2i {
  width: 412px;
  height: 1px;
  position: relative;
}
.slide-51 .slide-45 {
  flex-flow: row;
  flex: none;
  place-content: center space-between;
  align-items: center;
  width: 100%;
  height: 43px;
  padding: 0;
  display: flex;
  position: relative;
  overflow: visible;
}
.slide-51 .slide-32 {
  flex-flow: row;
  flex: none;
  place-content: center;
  align-items: center;
  gap: 0;
  width: min-content;
  height: min-content;
  padding: 10px 18px;
  display: flex;
  position: relative;
  overflow: visible;
}
.slide-51 .framer-1tn9nwb {
  white-space: pre;
  flex: none;
  width: auto;
  height: auto;
  position: relative;
}
.slide-51 .slide-37 {
  flex-flow: row;
  flex: none;
  place-content: center;
  align-items: center;
  gap: 21px;
  width: 160px;
  height: 35px;
  padding: 0 10px;
  display: flex;
  position: relative;
  overflow: visible;
}
.slide-51 .slide-47,
.slide-51 .slide-23,
.slide-51 .framer-1tk8xo8 {
  aspect-ratio: 1;
  height: var(--framer-aspect-ratio-supported, 28px);
  flex: none;
  width: 28px;
  text-decoration: none;
  position: relative;
  overflow: visible;
}
.slide-51 .framer-eepvrs,
.slide-51 .slide-35,
.slide-51 .slide-42 {
  aspect-ratio: 1;
  height: var(--framer-aspect-ratio-supported, 28px);
  flex: none;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.slide-51 .slide-36 {
  width: 430px;
  height: 1px;
  position: absolute;
  top: 44px;
  left: -37px;
}
.slide-51 .framer-4n5z2w {
  z-index: 1;
  flex-flow: row;
  flex: none;
  place-content: center;
  align-items: center;
  gap: 32px;
  width: min-content;
  height: min-content;
  padding: 3px 7px;
  display: flex;
  position: relative;
  overflow: visible;
}
.slide-51 .framer-cgnn29,
.slide-51 .slide-24,
.slide-51 .slide-30 {
  aspect-ratio: 1;
  height: var(--framer-aspect-ratio-supported, 27px);
  flex: none;
  width: 28px;
  text-decoration: none;
  position: relative;
  overflow: visible;
}
.slide-51 .slide-41,
.slide-51 .slide-34,
.slide-51 .slide-26 {
  aspect-ratio: 1;
  height: var(--framer-aspect-ratio-supported, 24px);
  flex: none;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.slide-51.framer-v-1e72ni4.framer-8dppq0,
.slide-51.framer-v-8ftb6j.framer-8dppq0 {
  justify-content: center;
  gap: 879px;
}
.slide-51.framer-v-8ftb6j .framer-cgnn29,
.slide-51.framer-v-8ftb6j .slide-41,
.slide-51.framer-v-8ftb6j .slide-24,
.slide-51.framer-v-8ftb6j .slide-34,
.slide-51.framer-v-8ftb6j .slide-30,
.slide-51.framer-v-8ftb6j .slide-26 {
  height: var(--framer-aspect-ratio-supported, 28px);
}
@supports (aspect-ratio: 1) {
  body {
    --framer-aspect-ratio-supported: auto;
  }
}
.slide-52.framer-380if6,
.slide-52 .framer-380if6 {
  display: block;
}
.slide-52.framer-1o2p1no {
  cursor: pointer;
  width: 262px;
  height: 325px;
  position: relative;
}
.slide-52 .slide-33 {
  white-space: pre-wrap;
  word-break: break-word;
  word-wrap: break-word;
  flex: none;
  width: 190px;
  height: 66px;
  position: absolute;
  bottom: 75px;
  left: 25px;
}
.slide-52 .framer-6wid0u {
  aspect-ratio: 3.7561;
  height: var(--framer-aspect-ratio-supported, 30px);
  flex: none;
  width: 43%;
  position: absolute;
  bottom: 40px;
  left: 25px;
}
.slide-52 .slide-27,
.slide-52 .slide-49 {
  white-space: pre;
  flex: none;
  width: auto;
  height: auto;
  position: absolute;
  top: 51%;
  left: 50%;
}
.slide-52 .slide-40 {
  aspect-ratio: 1.62577;
  height: var(--framer-aspect-ratio-supported, 134px);
  flex: none;
  width: 83%;
  position: absolute;
  top: 23px;
  left: 50%;
}
.slide-52 .slide-43 {
  flex: none;
  width: 40%;
  height: 30px;
  text-decoration: none;
  position: absolute;
  bottom: 40px;
  left: 136px;
}
.slide-52.framer-v-1kz1v6d .framer-6wid0u {
  aspect-ratio: unset;
  width: 40%;
  height: 30px;
  text-decoration: none;
  left: 21px;
}
@supports (aspect-ratio: 1) {
  body {
    --framer-aspect-ratio-supported: auto;
  }
}
.framer-Cveqc.slide-39,
.framer-Cveqc .slide-39 {
  display: block;
}
.framer-Cveqc.framer-1pbbr5g {
  cursor: pointer;
  width: 297px;
  height: 325px;
  position: relative;
}
.framer-Cveqc .framer-b2znii {
  white-space: pre-wrap;
  word-break: break-word;
  word-wrap: break-word;
  flex: none;
  width: 190px;
  height: 66px;
  position: absolute;
  bottom: 75px;
  left: 25px;
}
.framer-Cveqc .slide-48 {
  aspect-ratio: 3.7561;
  height: var(--framer-aspect-ratio-supported, 34px);
  flex: none;
  width: 43%;
  position: absolute;
  bottom: 40px;
  left: 25px;
}
.framer-Cveqc .slide-31,
.framer-Cveqc .slide-50 {
  white-space: pre;
  flex: none;
  width: auto;
  height: auto;
  position: absolute;
  top: 51%;
  left: 50%;
}
.framer-Cveqc .framer-y6dpp5 {
  aspect-ratio: 1.62577;
  height: var(--framer-aspect-ratio-supported, 152px);
  flex: none;
  width: 83%;
  position: absolute;
  top: 23px;
  left: 50%;
}
.framer-Cveqc .slide-44 {
  flex: none;
  width: 40%;
  height: 34px;
  text-decoration: none;
  position: absolute;
  bottom: 40px;
  left: 154px;
}
.framer-Cveqc.framer-v-1pbbr5g.hover .slide-48 {
  aspect-ratio: unset;
  width: 40%;
  height: 34px;
  text-decoration: none;
}
@supports (aspect-ratio: 1) {
  body {
    --framer-aspect-ratio-supported: auto;
  }
}
.eventi-card.framer-1ppz4vj,
.eventi-card .framer-1ppz4vj {
  display: block;
}
.eventi-card.eventi-card-stile {
  cursor: pointer;
  width: 318px;
  height: 395px;
  position: relative;
}
.eventi-card .eventi-card-titolo {
  white-space: pre-wrap;
  word-break: break-word;
  word-wrap: break-word;
  flex: none;
  width: 190px;
  height: 66px;
  position: absolute;
  bottom: 85px;
  left: 25px;
}
.eventi-card .eventi-card-badge {
  flex: none;
  width: 154px;
  height: 41px;
  position: absolute;
  bottom: 33px;
  left: 25px;
}
.eventi-card .eventi-card-badge-txt,
.eventi-card .framer-cq5t8t {
  white-space: pre;
  flex: none;
  width: auto;
  height: auto;
  position: absolute;
  top: 51%;
  left: 50%;
}
.eventi-card .eventi-card-linea {
  aspect-ratio: 1.62577;
  height: var(--framer-aspect-ratio-supported, 163px);
  flex: none;
  width: 83%;
  position: absolute;
  top: 23px;
  left: 50%;
}
.eventi-card .slide-38 {
  flex: none;
  width: 40%;
  height: 36px;
  position: absolute;
  bottom: 40px;
  left: 164px;
}
.eventi-card.eventi-card-stile-v.hover .eventi-card-badge {
  width: 40%;
  height: 36px;
  bottom: 40px;
}
@supports (aspect-ratio: 1) {
  body {
    --framer-aspect-ratio-supported: auto;
  }
}
.menu-bottone-comp.slide-29,
.menu-bottone-comp .slide-29 {
  display: block;
}
.menu-bottone-comp.menu-bottone-stile {
  height: min-content;
  overflow: var(--overflow-clip-fallback, clip);
  flex-flow: column;
  place-content: flex-start;
  align-items: flex-start;
  gap: 0;
  width: min-content;
  padding: 0;
  display: flex;
  position: relative;
}
.menu-bottone-comp .menu-bottone-txt {
  white-space: pre;
  flex: none;
  width: auto;
  height: auto;
  position: relative;
}
.menu-bottone-comp .menu-bottone-linea {
  width: 127px;
  height: 1px;
  position: relative;
}
@supports (aspect-ratio: 1) {
  body {
    --framer-aspect-ratio-supported: auto;
  }
}
.foto-slideshow.slide-46,
.foto-slideshow .slide-46 {
  display: block;
}
.foto-slideshow.foto-slideshow-stile {
  width: 195px;
  height: 127px;
  position: relative;
}
.foto-slideshow .foto-slideshow-outer {
  overflow: var(--overflow-clip-fallback, clip);
  will-change: var(--framer-will-change-override, transform);
  flex: none;
  position: absolute;
  inset: 0;
}
.foto-slideshow .foto-slideshow-nav-container {
  flex: none;
  position: absolute;
  inset: -10px -11px -11px -12px;
}
.foto-slideshow .slide-01,
.foto-slideshow .slide-02,
.foto-slideshow .slide-03,
.foto-slideshow .slide-04,
.foto-slideshow .slide-alt-a,
.foto-slideshow .slide-06,
.foto-slideshow .slide-22,
.foto-slideshow .slide-08,
.foto-slideshow .slide-18,
.foto-slideshow .slide-12,
.foto-slideshow .slide-10,
.foto-slideshow .slide-19,
.foto-slideshow .slide-17,
.foto-slideshow .slide-20,
.foto-slideshow .slide-14 {
  aspect-ratio: 1.5;
  height: var(--framer-aspect-ratio-supported, 179px);
  width: 268px;
  position: relative;
  overflow: visible;
}
.foto-slideshow .slide-05,
.foto-slideshow .slide-15,
.foto-slideshow .slide-alt-b {
  aspect-ratio: 1.5;
  height: var(--framer-aspect-ratio-supported, 207px);
  width: 310px;
  position: relative;
  overflow: visible;
}
.foto-slideshow .slide-21,
.foto-slideshow .slide-16,
.foto-slideshow .slide-07 {
  aspect-ratio: 1.5;
  height: var(--framer-aspect-ratio-supported, 147px);
  width: 220px;
  position: relative;
  overflow: visible;
}
.slideshow-orizzontale {
  --framer-dir-multiplier: -1;
}
html[dir="rtl"] .slideshow-orizzontale {
  --framer-dir-multiplier: 1;
}
.framer-slideshow-axis-y {
  --framer-dir-multiplier: -1;
}

#__framer-editorbar-container {
  align-items: center;
  display: flex;
  gap: 8px;
  position: fixed;
  z-index: calc(2147483647);
  width: max-content;
  cursor: pointer;
}

#__framer-editorbar-label {
  background-color: #111;
  border-radius: 8px;
  font-family: "Inter", "Inter-Regular", system-ui, Arial, sans-serif;
  font-size: 12px;
  height: fit-content;
  opacity: 0;
  padding: 4px 8px;
  transition: opacity 0.4s ease-out;
  font-weight: 500;
  flex-shrink: 0;
  position: fixed;
  width: max-content;
  pointer-events: none;
  user-select: none;
}

#__framer-editorbar-button {
  all: unset;
  align-items: center;
  border-radius: 15px;
  display: flex;
  height: 30px;
  justify-content: center;
  width: 30px;
  flex-shrink: 0;
}

#__framer-editorbar-label.__framer-editorbar-button-tooltip-visible {
  opacity: 1;
}

#__framer-editorbar-label,
#__framer-editorbar-button {
  backdrop-filter: blur(10px);
  background-color: rgba(34, 34, 34, 0.8);
  box-shadow:
    rgba(0, 0, 0, 0.1) 0px 2px 4px 0px,
    rgba(0, 0, 0, 0.05) 0px 1px 0px 0px,
    rgba(255, 255, 255, 0.15) 0px 0px 0px 1px;
  color: #fff;
}

#__framer-editorbar-loading-spinner {
  width: 12px;
  height: 12px;
  -webkit-mask: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAApNJREFUSA2tlUtLlFEYgEe7mtFFQ8NLFBG1SJAwahtiLVy5ceVSEPQH1LZf0Lp9FO1bdYNyI7gyBFcS2kAzilYq3sfxeYZ55Zv6FGfohWfOd97vnPd23u9MXeZoaeb1Q7gPHXAFzsAS5GACxiEPqVKXqs1kmtAPQi+cAtedToz1PJ8ExxPwDl7CAlRImoN7rBiF86ABHTiGAzMIh8n3O+ifwWc4EL0n5TGTYQijvjNSxbUadozInUeGZ3nuh1WYgpIkM+hGMwYajAgdrfUn+AaLoLTCAxiAOxCZxL4RdB+gZMjxEjwHo4hS8Jh5DR9hz0mKaNizegoNEI7Wee6FXJTISG6AUgDr+QImoAiHie+mwZJow/PRps4uwnsnRj8Epqc4voVJJ8eULOtW4BFYYjPpgjc+3IWI2sh/wFeoVl6xYQ48dDGLfjOwc/ygQqz595hUMVouS9QHBm4l6k3HWpnBLqicgVrlCxujSbR1Swd+UDpQYRS/oVaZZ2MWwlZBB9Zdxf+QTYw8SRgq6sAvz7vH6JULEB9USVHFjzZskgPRQR4ayxoXXIdaHdg9HrB2rErByWxZERnYtrWUzD0esDbtTmXPhzXwHrKLxEUbYGbVyDkWWwkdadfqbPmwDXZSCyh2VAf8BM/nOOJH5Y0QopMt2I5U/KO4DZZJB47XwEX+ex0mGroMV8sLwp56gyuGwiyW4SZ4c8bt2cZzO7jBNeqtsRHbeZ1g9krsMbhfYPv/c5gecA+4yAVuitFszE5Hjva872OMdXagF19JIoOYWyozMTI3J0tmA6gLvXPfO1cc/XOqOLe/HbjwD8yCXRD3VNJROEgatiRZMJsKsbZHia3nAdphtq8fkiWyXJbBe8uM1aXKPouNnz2Bm1kwAAAAAElFTkSuQmCC);
  mask: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAAAXNSR0IArs4c6QAAApNJREFUSA2tlUtLlFEYgEe7mtFFQ8NLFBG1SJAwahtiLVy5ceVSEPQH1LZf0Lp9FO1bdYNyI7gyBFcS2kAzilYq3sfxeYZ55Zv6FGfohWfOd97vnPd23u9MXeZoaeb1Q7gPHXAFzsAS5GACxiEPqVKXqs1kmtAPQi+cAtedToz1PJ8ExxPwDl7CAlRImoN7rBiF86ABHTiGAzMIh8n3O+ifwWc4EL0n5TGTYQijvjNSxbUadozInUeGZ3nuh1WYgpIkM+hGMwYajAgdrfUn+AaLoLTCAxiAOxCZxL4RdB+gZMjxEjwHo4hS8Jh5DR9hz0mKaNizegoNEI7Wee6FXJTISG6AUgDr+QImoAiHie+mwZJow/PRps4uwnsnRj8Epqc4voVJJ8eULOtW4BFYYjPpgjc+3IWI2sh/wFeoVl6xYQ48dDGLfjOwc/ygQqz595hUMVouS9QHBm4l6k3HWpnBLqicgVrlCxujSbR1Swd+UDpQYRS/oVaZZ2MWwlZBB9Zdxf+QTYw8SRgq6sAvz7vH6JULEB9USVHFjzZskgPRQR4ayxoXXIdaHdg9HrB2rErByWxZERnYtrWUzD0esDbtTmXPhzXwHrKLxEUbYGbVyDkWWwkdadfqbPmwDXZSCyh2VAf8BM/nOOJH5Y0QopMt2I5U/KO4DZZJB47XwEX+ex0mGroMV8sLwp56gyuGwiyW4SZ4c8bt2cZzO7jBNeqtsRHbeZ1g9krsMbhfYPv/c5gecA+4yAVuitFszE5Hjva872OMdXagF19JIoOYWyozMTI3J0tmA6gLvXPfO1cc/XOqOLe/HbjwD8yCXRD3VNJROEgatiRZMJsKsbZHia3nAdphtq8fkiWyXJbBe8uM1aXKPouNnz2Bm1kwAAAAAElFTkSuQmCC);
  -webkit-mask-size: 12px;
  mask-size: 12px;
  background-color: #fff;

  animation-duration: 800ms;
  animation-iteration-count: infinite;
  animation-name: __framer-loading-spin;
  animation-timing-function: linear;
}

@keyframes __framer-loading-spin {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

#__framer-editorbar {
  /* https://sergeyski.com/css-color-scheme-and-iframes-lessons-learned-from-disqus-background-bug */
  color-scheme: light dark;
  overflow: hidden;
  position: fixed;
  border: none;
  z-index: calc(2147483647);
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  touch-action: manipulation;
}

@supports (height: 100dvh) {
  #__framer-editorbar {
    height: 100dvh;
  }
}

#__framer-editorbar.status_hidden {
  display: none;
}

#__framer-editorbar.status_visually_hidden {
  clip-path: circle(1px at calc(100% - 1px) calc(100% - 1px));
  z-index: calc(2147483647 - 1);
}

#__framer-editorbar.status_measuring {
  clip-path: unset;
}

body,
html {
  background: var(
    --token-de4a76c7-6e4b-4bcc-bedd-c14e940905e2,
    #fffae3
  ) !important;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}

#main {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100%;
  overflow-x: hidden !important;
}

.pagina {
  width: 100vw !important;
  max-width: 100vw !important;
  min-width: 100vw !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  transform: none !important;
  zoom: 1 !important;
}

.pagina > div:not(.navbar-wrapper) {
  min-height: 100vh !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  position: relative !important;
}

/* --- NAVBAR ESTESA --- */
.navbar-wrapper {
  width: 100vw !important;
  height: 64px !important;
  position: fixed !important;
  top: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  z-index: 1000 !important;
  transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1) !important;
  display: flex !important;
  justify-content: center !important;
}

.navbar-wrapper nav {
  width: 100% !important;
  height: 64px !important;
  transition: all 0.3s ease !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

.navbar-inner {
  width: 100% !important;
  max-width: 1200px !important;
  height: 64px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  position: relative !important;
  flex: none !important;
}

.navbar-content {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 0 !important;
}

/* La famosa riga di sottofondo: sistemata per non rompere nulla */
.navbar-divider {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 1px !important;
  display: block !important;
}

.navbar-logo {
  display: flex !important;
  align-items: center !important;
  height: 100% !important;
  width: auto !important;
  padding-left: 100px !important;
}
.nav-logo-txt {
  display: flex !important;
  align-items: center !important;
  height: 100% !important;
}
.nav-logo-txt p {
  margin: 0 !important;
  line-height: 1 !important;
  transform: translateY(-0.3px) !important;
}

/* Simboli: spinti a destra (-15px) e distanziati */
.navbar-links {
  display: flex !important;
  align-items: center !important;
  height: 100% !important;
  width: auto !important;
  padding: 0 !important;
}

/* Base Icon colors (Orange) - we force override framer inline variables */
.navbar-links svg {
  --21h8s6: rgb(236, 99, 26) !important;
  color: rgb(236, 99, 26) !important;
  fill: transparent !important;
  transition: all 0.3s ease !important;
}
.navbar-links svg use {
  fill: rgb(236, 99, 26) !important;
}

/* --- NAVBAR SHRUNK (RIDOTTA) --- */
.navbar-wrapper.scrolled-nav {
  width: max-content !important;
  top: 20px !important;
}

.navbar-wrapper.scrolled-nav nav {
  width: max-content !important;
  height: 50px !important;
  border-radius: 50px !important;
  background-color: rgb(236, 99, 26) !important; /* BACKGROUD ARANCIONE PURO */
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15) !important;
}

.navbar-wrapper.scrolled-nav .navbar-inner {
  width: max-content !important;
  height: 50px !important;
}

.navbar-wrapper.scrolled-nav .navbar-content {
  padding: 0 30px !important;
  justify-content: center !important;
  height: 50px !important;
}

.navbar-wrapper.scrolled-nav .navbar-links {
  margin-right: 0 !important; /* Rimuove lo spread esagerato qui */
}

/* Simboli Bianchi e Stile */
.navbar-wrapper.scrolled-nav .navbar-links svg {
  --21h8s6: #ffffff !important;
  color: #ffffff !important;
  fill: transparent !important;
}
.navbar-wrapper.scrolled-nav .navbar-links svg use {
  fill: #ffffff !important;
}

/* Nascondi linea base e CBN text nello Shrink */
.navbar-wrapper.scrolled-nav .navbar-logo,
.navbar-wrapper.scrolled-nav .navbar-divider {
  display: none !important;
}

@media (max-width: 809.98px) {
  .hero-titolo {
    display: none !important;
  }
  .navbar-content {
    padding: 0 !important;
  }
  .navbar-logo {
    margin-left: 0 !important;
  }
  .navbar-links {
    margin-right: 0 !important;
  }
}

.navbar-inner {
  max-width: 100% !important;
  width: 100vw !important;
  padding: 0 !important;
  margin: 0 !important;
}
.navbar-content {
  display: flex !important;
  justify-content: space-between !important;
  width: 100% !important;
  padding: 0 15px !important;
}
.navbar-logo {
  margin-left: 0 !important;
  padding-left: 0 !important;
}
.navbar-links {
  margin-right: 0 !important;
  padding-right: 0 !important;
  display: flex !important;
  justify-content: flex-end !important;
  gap: 5px !important;
}
.navbar-links svg {
  --21h8s6: rgb(236, 99, 26) !important;
  color: rgb(236, 99, 26) !important;
}
.navbar-links svg use,
.navbar-links svg path {
  fill: transparent !important;
  stroke: rgb(236, 99, 26) !important;
  stroke-width: 1.5 !important;
}

/* Lotteria: piena arancione (non trasparente) */
.navbar-links .nav-icona-lotteria-container svg path {
  fill: rgb(236, 99, 26) !important;
  stroke: rgb(236, 99, 26) !important;
  stroke-width: 8 !important;
}


.navbar-wrapper.scrolled-nav .navbar-links svg path {
  fill: transparent !important;
  stroke: #ffffff !important;
}

.navbar-wrapper.scrolled-nav .navbar-links .nav-icona-lotteria-container svg path {
  fill: #ffffff !important;
  stroke: #ffffff !important;
  stroke-width: 8 !important;
}

/* Hover: colora in arancione alcune aree interne delle icone destra */
.navbar-links .nav-icona-home-container svg path[fill-opacity],
.navbar-links .nav-icona-menu-container svg path[fill-opacity],
.navbar-links .nav-icona-sport-container svg path[fill-opacity],
.navbar-links .nav-icona-lotteria-container svg path[fill-opacity],
.navbar-links .nav-icona-fondi-container svg path[fill-opacity] {
  fill: rgb(236, 99, 26) !important;
  fill-opacity: 0;
  stroke: none !important;
  transition: fill-opacity 220ms ease;
}

.navbar-links .nav-icona-home-container:hover svg path[fill-opacity],
.navbar-links .nav-icona-home-container:focus-within svg path[fill-opacity],
.navbar-links .nav-icona-menu-container:hover svg path[fill-opacity],
.navbar-links .nav-icona-menu-container:focus-within svg path[fill-opacity],
.navbar-links .nav-icona-sport-container:hover svg path[fill-opacity],
.navbar-links .nav-icona-sport-container:focus-within svg path[fill-opacity],
.navbar-links .nav-icona-lotteria-container:hover svg path[fill-opacity],
.navbar-links .nav-icona-lotteria-container:focus-within svg path[fill-opacity],
.navbar-links .nav-icona-fondi-container:hover svg path[fill-opacity],
.navbar-links .nav-icona-fondi-container:focus-within svg path[fill-opacity] {
  fill-opacity: 1;
}

/* Dopo lo scroll: nessuna animazione/attivazione hover sulle icone */
.navbar-wrapper.scrolled-nav .navbar-links .nav-icona-home-container svg path[fill-opacity],
.navbar-wrapper.scrolled-nav .navbar-links .nav-icona-menu-container svg path[fill-opacity],
.navbar-wrapper.scrolled-nav .navbar-links .nav-icona-sport-container svg path[fill-opacity],
.navbar-wrapper.scrolled-nav .navbar-links .nav-icona-lotteria-container svg path[fill-opacity],
.navbar-wrapper.scrolled-nav .navbar-links .nav-icona-fondi-container svg path[fill-opacity] {
  transition: none;
}

.navbar-wrapper.scrolled-nav .navbar-links .nav-icona-home-container:hover svg path[fill-opacity],
.navbar-wrapper.scrolled-nav .navbar-links .nav-icona-home-container:focus-within svg path[fill-opacity],
.navbar-wrapper.scrolled-nav .navbar-links .nav-icona-menu-container:hover svg path[fill-opacity],
.navbar-wrapper.scrolled-nav .navbar-links .nav-icona-menu-container:focus-within svg path[fill-opacity],
.navbar-wrapper.scrolled-nav .navbar-links .nav-icona-sport-container:hover svg path[fill-opacity],
.navbar-wrapper.scrolled-nav .navbar-links .nav-icona-sport-container:focus-within svg path[fill-opacity],
.navbar-wrapper.scrolled-nav .navbar-links .nav-icona-lotteria-container:hover svg path[fill-opacity],
.navbar-wrapper.scrolled-nav .navbar-links .nav-icona-lotteria-container:focus-within svg path[fill-opacity],
.navbar-wrapper.scrolled-nav .navbar-links .nav-icona-fondi-container:hover svg path[fill-opacity],
.navbar-wrapper.scrolled-nav .navbar-links .nav-icona-fondi-container:focus-within svg path[fill-opacity] {
  fill-opacity: 0 !important;
}

/* Fund-raising: stato base identico al SVG fornito (senza hover/focus) */
.navbar-links .nav-icona-fondi-container:not(:hover):not(:focus-within) svg path {
  fill: transparent !important;
  stroke: rgb(236, 99, 26) !important;
  stroke-width: 1.5 !important;
}

.navbar-links .nav-icona-fondi-container:not(:hover):not(:focus-within) svg path[fill-opacity] {
  fill: rgb(236, 99, 26) !important;
  fill-opacity: 0 !important;
  stroke: none !important;
}

/* Fund-raising: dopo lo scroll usa palette leggibile su navbar arancione */
.navbar-wrapper.scrolled-nav .navbar-links .nav-icona-fondi-container:not(:hover):not(:focus-within) svg path {
  fill: transparent !important;
  stroke: #ffffff !important;
  stroke-width: 1.5 !important;
}

.navbar-wrapper.scrolled-nav .navbar-links .nav-icona-fondi-container svg path[fill-opacity] {
  fill: #ffffff !important;
}

.navbar-wrapper.scrolled-nav .navbar-links .nav-icona-fondi-container:not(:hover):not(:focus-within) svg path[fill-opacity] {
  fill-opacity: 0 !important;
  stroke: none !important;
}

/* Fund-raising: il bordo della moneta resta arancione in navbar normale */
.navbar-links .nav-icona-fondi-container .fund-coin-outline,
.navbar-links .nav-icona-fondi-container:hover .fund-coin-outline,
.navbar-links .nav-icona-fondi-container:focus-within .fund-coin-outline {
  fill: transparent !important;
  stroke: rgb(236, 99, 26) !important;
}

/* Fund-raising: dopo lo scroll il bordo resta bianco anche in hover/focus */
.navbar-wrapper.scrolled-nav .navbar-links .nav-icona-fondi-container .fund-coin-outline,
.navbar-wrapper.scrolled-nav .navbar-links .nav-icona-fondi-container:hover .fund-coin-outline,
.navbar-wrapper.scrolled-nav .navbar-links .nav-icona-fondi-container:focus-within .fund-coin-outline {
  fill: transparent !important;
  stroke: #ffffff !important;
}

.foto-card-preview,
.naviga-card-preview {
  position: relative;
  overflow: hidden;
}

.foto-card-preview img.foto-preview-img,
.naviga-card-preview img.foto-preview-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  will-change: transform;
}

.naviga-card:not(.naviga-card-eventi) .naviga-card-preview > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.foto-card-preview .foto-nav,
.naviga-card-preview .foto-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.45);
  color: #fff;
  display: grid;
  place-items: center;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.2s ease;
  z-index: 3;
}

.foto-card-preview .foto-nav.prev,
.naviga-card-preview .foto-nav.prev { left: 10px; }

.foto-card-preview .foto-nav.next,
.naviga-card-preview .foto-nav.next { right: 10px; }

.foto-card-preview:hover .foto-nav,
.naviga-card-preview:hover .foto-nav {
  opacity: 1;
}

.foto-card-preview .foto-nav::before,
.naviga-card-preview .foto-nav::before {
  content: "";
  display: block;
  width: 9px;
  height: 9px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}

.foto-card-preview .foto-nav.prev::before,
.naviga-card-preview .foto-nav.prev::before {
  transform: rotate(-135deg);
  margin-left: 3px;
}

.foto-card-preview .foto-nav.next::before,
.naviga-card-preview .foto-nav.next::before {
  transform: rotate(45deg);
  margin-right: 3px;
}

/* ================================================================
   RESPONSIVE EXTRA — mobile & schermi ≤ 809px
   Questi override vengono DOPO il CSS generato da Framer, quindi
   le regole con !important applicano sempre su mobile.
   ================================================================ */
@media (max-width: 809.98px) {

  .pagina .hero-sfondo {
    display: block !important;
    height: 100% !important;
    bottom: 0 !important;
    overflow: hidden !important;
  }
  .pagina .hero-sfondo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center top !important;
  }

  /* 1. Fix larghezza globale: Framer blocca #main a 390px */
  #main {
    width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  /* 2. Sezioni: altezza auto, no min-height aggressivo */
  .pagina > div:not(.navbar-wrapper) {
    min-height: auto !important;
  }

  /* --- HERO --- */
  .pagina .hero {
    height: clamp(320px, 75vw, 520px) !important;
  }

  /* --- PROGRAMMA --- */
  .pagina .programma-colonne {
    width: min(349px, 92%) !important;
    height: auto !important;
  }
  .pagina .programma-col-sx,
  .pagina .programma-col-dx {
    width: 92% !important;
    min-height: 72px !important;
    height: auto !important;
    align-items: flex-end !important;
    gap: 14px !important;
  }
  .pagina .programma-griglia {
    gap: 10px !important;
  }
  .pagina .sezione-programma {
    padding: 24px 0 34px !important;
  }
  .pagina .programma-txt-a,
  .pagina .programma-txt-d {
    flex: 0 0 auto !important;
  }
  .pagina .programma-txt-c,
  .pagina .programma-txt-f {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
  .pagina .programma-txt-c p,
  .pagina .programma-txt-f p {
    --framer-font-size: clamp(44px, 12vw, 72px) !important;
    line-height: 0.95 !important;
    white-space: normal !important;
    word-break: break-word !important;
  }
  .pagina .programma-txt-a p,
  .pagina .programma-txt-d p {
    --framer-font-size: clamp(28px, 7vw, 38px) !important;
  }
  .pagina .programma-sep-a,
  .pagina .programma-sep-b,
  .pagina .programma-sep-c {
    width: 92% !important;
    height: auto !important;
  }
  .pagina .programma-sep-a p,
  .pagina .programma-sep-b p,
  .pagina .programma-sep-c p {
    --framer-text-alignment: left !important;
    --framer-font-size: 16px !important;
    white-space: normal !important;
    word-break: break-word !important;
  }

  /* --- NAVIGA --- */
  .pagina .sezione-naviga {
    padding: 48px 0 !important;
  }
  .pagina .naviga-carousel-shell {
    width: 92% !important;
  }
  .pagina .naviga-lista {
    width: 92% !important;
    justify-content: center !important;
    align-items: center !important;
  }
  .pagina .naviga-carousel-shell .naviga-lista {
    width: 100% !important;
  }
  .pagina .naviga-carousel-shell.is-overflow .naviga-lista {
    justify-content: flex-start !important;
    padding-left: calc((100% - 318px) / 2) !important;
    padding-right: calc((100% - 318px) / 2) !important;
    box-sizing: border-box !important;
  }
  .pagina .naviga-carousel-shell.is-overflow .naviga-card {
    scroll-snap-align: center !important;
  }
  .pagina .naviga-card {
    width: 318px !important;
    aspect-ratio: auto !important;
    height: 395px !important;
    min-height: 395px !important;
    padding: 232px 25px 33px !important;
    box-sizing: border-box !important;
    justify-content: space-between !important;
    gap: 0 !important;
  }
  .pagina .naviga-card-preview {
    width: 265px !important;
    height: 163px !important;
    top: 23px !important;
  }

  /* --- MENU --- */
  .pagina .sezione-menu {
    /* Override mobile stretti: sezione auto-height con padding verticale. */
    height: auto !important;
    padding: 48px 0 !important;
    overflow: visible !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }
  .pagina .menu-body {
    /* Libera dal position:absolute che assume schermo grande */
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    width: 92% !important;
    margin: 0 auto !important;
  }
  .pagina .menu-intestazione {
    width: 100% !important;
  }
  .pagina .menu-titolo {
    --framer-font-size: clamp(38px, 15vw, 90px) !important;
    height: auto !important;
    width: 100% !important;
  }
  .pagina .menu-piatti {
    /* In mobile full-width rispetto al contenitore .menu-body. */
    width: 100% !important;
  }
  .pagina .menu-immagine {
    /* Nascosta in mobile per evitare overflow laterale. */
    display: none !important;
  }

  /* --- MAPPA --- */
  .pagina .sezione-mappa {
    height: auto !important;
    padding: 48px 0 !important;
    overflow: hidden !important;
  }
  .pagina .mappa-body {
    /* Libera dal position:absolute centrato a 50% */
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    width: 92% !important;
    margin: 0 auto !important;
    gap: 16px !important;
  }
  .pagina .mappa-titolo {
    width: 100% !important;
  }
  .pagina .mappa-immagine {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1754 / 1480 !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: 100% !important;
    overflow: visible !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }
  .pagina .mappa-immagine img {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    display: block !important;
  }

  /* --- BACHECA FOTO --- */
  .pagina .sezione-foto {
    height: auto !important;
    min-height: auto !important;
    padding: 48px 0 !important;
    overflow: visible !important;
  }
  .pagina .foto-body {
    width: 92% !important;
    margin: 0 auto !important;
    padding-top: 0 !important;
    top: auto !important;
  }
  .pagina .foto-col-info {
    width: 100% !important;
  }
  .pagina .foto-grid {
    width: 100% !important;
    flex-direction: column !important;
    align-items: center !important;
  }
  .pagina .foto-card {
    width: min(318px, 92vw) !important;
    align-self: center !important;
  }

  /* Frecce slideshow: sempre visibili su touch (niente hover su mobile) */
  .foto-card-preview .foto-nav {
    opacity: 0.75 !important;
  }

  /* --- SPONSOR --- */
  .pagina .sezione-sponsor {
    height: auto !important;
    min-height: 0 !important;
    padding: 48px 0 !important;
    overflow: visible !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 32px !important;
    box-sizing: border-box !important;
  }
  .pagina .sponsor-titolo {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    width: min(92%, 1080px) !important;
    padding: 0 8px !important;
    box-sizing: border-box !important;
    text-align: center !important;
  }
  .pagina .sponsor-lista {
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    width: min(92%, 1080px) !important;
    padding: 0 8px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 20px !important;
  }
  .pagina .sponsor-grid {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    width: min(92%, 1080px) !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
    justify-items: center !important;
  }
  .pagina .sponsor-grid-item {
    padding: 12px !important;
    border-radius: 16px !important;
  }
  .pagina .sponsor-grid-item img {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: none !important;
  }
  .pagina .footer-logo-container {
    gap: clamp(10px, 4vw, 16px) !important;
    margin-top: 8px !important;
  }
  .pagina .footer-logo-container a {
    width: clamp(46px, 13vw, 58px) !important;
    height: clamp(46px, 13vw, 58px) !important;
  }
  .pagina .footer-logo {
    width: clamp(22px, 6.8vw, 28px) !important;
    height: clamp(22px, 6.8vw, 28px) !important;
  }
  .pagina .sponsor-titolo .framer-text,
  .pagina .sponsor-lista .framer-text {
    --framer-font-size: clamp(42px, 11.5vw, 86px) !important;
    --framer-line-height: 1.05 !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    text-align: center !important;
    width: 100% !important;
  }
  .pagina .sponsor-logo-link,
  .pagina .sponsor-logo {
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    width: min(92%, 1080px) !important;
    height: auto !important;
  }
}

/* Schermi molto stretti (< 360px): font e card ancora più compatti */
@media (max-width: 359px) {
  .pagina .foto-card {
    width: 94vw !important;
  }
  .pagina .naviga-card {
    width: 318px !important;
    height: 395px !important;
    min-height: 395px !important;
    padding: 232px 25px 33px !important;
  }
  .pagina .menu-titolo {
    --framer-font-size: clamp(32px, 13vw, 60px) !important;
  }
  .pagina .sponsor-titolo .framer-text,
  .pagina .sponsor-lista .framer-text {
    --framer-font-size: clamp(34px, 12vw, 56px) !important;
  }
  .pagina .sponsor-grid {
    grid-template-columns: 1fr !important;
  }
}

.pagina .sezione-sponsor[hidden] {
  display: none !important;
}