@font-face {
  font-family: 'AG';
  src: url('../assets/fonts/akzidenz-grotesk-medium.woff') format('woff');
  font-weight: 500;
}

@font-face {
  font-family: 'AG';
  src:
    local('HelveticaNeue-Light'), local('Helvetica Neue Light'), local('HelveticaNeue'), local('Helvetica Neue'),
    local('Helvetica'), local('Arial');
  font-weight: 500;
  unicode-range: U+2190-21FF, U+27F0-27FF, U+2B00-2B0F;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

:root {
  --t-bg: #ededed;
  --t-fg: #000;
  --t-mu: #ababab;
  --t-hl: #e6e6e6;
  --t-red: #ff00ff;
  --r-bg: #ffffff;
  --r-mag: #ff00ff;
  --r-fg: var(--r-mag);
  --r-mu: var(--r-mag);
  --ov-gray: #ededed;
  --f: 'AG', 'Helvetica Neue', Arial, sans-serif;
  --fl: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  --ts: clamp(0.78rem, 1.17vw, 0.9375rem);
  --tm: clamp(1.05rem, 2.34vw, 1.875rem);
  --tl: clamp(2.4rem, 7.58vw, 6.0625rem);
  --lhl: 0.8;
  --lhm: 1;
  --rowh: clamp(1.9rem, 2.73vw, 2.1875rem);
  --ls: -0.01em;
  --lsl: -0.02em;
  --ml: clamp(1rem, 2.81vw, 2.25rem);
  --mr: clamp(1.4rem, 4.69vw, 3.75rem);
  --sp: clamp(1rem, 2.81vw, 2.25rem);
  --bw: clamp(1.2rem, 2.11vw, 1.6875rem);
}

html,
body {
  width: 100%;
  height: 100%;
  overflow: hidden;
  font-family: var(--f);
  font-weight: 500;
  letter-spacing: var(--ls);
  -webkit-font-smoothing: antialiased;
}

html,
body {
  letter-spacing: var(--ls);
}

:root {
  --navh: 2.45rem;
}

:root {
  --lh-s: 1.15;

  --gap-s-cap: 0.3;
  --gap-s-base: 0.45;
  --gap-m-cap: 0.13;
  --gap-m-base: 0.33;
  --gap-l-cap: 0.13;
  --gap-l-base: 0.22;

  --pad-s-t: calc(var(--gap-s-cap) - (var(--lh-s) / 2 - 0.4345));
  --pad-s-b: calc(var(--gap-s-base) - (var(--lh-s) / 2 - 0.2715));
  --pad-m-t: calc(var(--gap-m-cap) - (var(--lhm) / 2 - 0.4345));
  --pad-m-b: calc(var(--gap-m-base) - (var(--lhm) / 2 - 0.2715));
  --pad-l-t: calc(var(--gap-l-cap) - (var(--lhl) / 2 - 0.4345));
  --pad-l-b: calc(var(--gap-l-base) - (var(--lhl) / 2 - 0.2715));

  --sp-1: clamp(0.5rem, 0.95vw, 0.8rem);
  --sp-2: clamp(1rem, 1.9vw, 1.6rem);
  --sp-3: clamp(1.8rem, 3.8vw, 3.2rem);
  --sp-4: clamp(3rem, 7vw, 6rem);

  --link-shift: 0.75rem;
  --link-ease: 0.42s cubic-bezier(0.16, 1, 0.3, 1);
}

#root {
  display: flex;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.edge-band {
  position: absolute;
  top: 0;
  bottom: 0;
  width: var(--bw);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: width 0.22s ease;
  overflow: hidden;
}

.edge-band:hover {
  width: calc(var(--bw) + 0.7rem);
}

.edge-band span {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-size: var(--ts);
  letter-spacing: 0.08em;
  white-space: nowrap;
  color: #fff;
}

#slider-wrap {
  flex: 1;
  overflow: hidden;
  position: relative;
}

#slider {
  display: flex;
  width: 200%;
  height: 100%;
  position: relative;
  transition: transform 0.9s cubic-bezier(0.77, 0, 0.18, 1);
}

.panel {
  width: 50%;
  height: 100%;
  overflow-y: scroll;
  overflow-x: hidden;
  display: flex;
  flex-direction: column;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 200;
}

.byline {
  overflow: hidden;
  transition: opacity 0.2s;
}

.byline-inner {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  padding: 0.9rem var(--sp) 0.8rem;
  border-bottom: 1px solid currentColor;
  gap: 1.5rem;
}

.byline-brand {
  font-size: var(--ts);
  line-height: 1.1;
  letter-spacing: 0.02em;
  font-weight: 500;
  color: var(--t-fg);
}

.byline-sub {
  font-size: var(--ts);
  line-height: 1.1;
  letter-spacing: 0.02em;
  color: var(--t-mu);
}

.nav-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #000000;
  color: #ffffff;
  position: relative;
}

.nav-items {
  display: flex;
  align-items: stretch;
}

.nav-btn {
  font-family: var(--f);
  font-size: var(--ts);
  font-weight: 500;
  color: #fff;
  background: none;
  border: none;
  padding: 0.65rem var(--sp);
  cursor: pointer;
  letter-spacing: 0.04em;
  transition: background 0.1s;
  white-space: nowrap;
}

.nav-btn:hover {
  background: rgb(0, 0, 0);
}

.nav-btn.active {
  background: #f700ff;
  color: #000;
}

.nav-dd {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.45s cubic-bezier(0.16, 1, 0.3, 1);
  background: #000;
  color: #fff;
}

.nav-dd.open {
  max-height: 220px;
}

.nav-dd-inner {
  padding: var(--sp) var(--sp) calc(var(--sp) * 1.4);
  display: block;
}

.dd-preview {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--sp);
}

.dd-left h3 {
  font-size: calc(var(--tm) * 1.3);
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 0.95;
  margin-bottom: 0.6rem;
  color: #fff;
}

.dd-left p {
  font-size: var(--tm);
  line-height: 1.25;
  color: var(--g-inv);
  max-width: 34rem;
}

.dd-ag-t {
  color: #fff;
}

.dd-photo img {
  width: 100%;
  height: 110px;
  object-fit: cover;
  display: block;
  filter: grayscale(1) brightness(0.65);
  margin-bottom: 0.7rem;
}

.dd-photo p {
  font-size: var(--ts);
  color: var(--g-inv);
  line-height: 1.25;
}

.svc-prev-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.9rem var(--sp);
  border-top: 1px solid var(--t-fg);
  cursor: pointer;
  transition: background 0.1s;
}

.svc-prev-row:last-child {
  border-bottom: 1px solid var(--t-fg);
}

.svc-prev-row:hover {
  background: rgba(0, 0, 0, 0.05);
}

.svc-prev-t {
  font-size: var(--tm);
  font-weight: 500;
}

.svc-prev-arr {
  font-size: var(--tm);
}

.sheet-bg {
  position: fixed;
  inset: 0;
  z-index: 599;
  background: transparent;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: visibility 0.3s ease;
}

.sheet-bg.open {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}

#programs-overlay,
#services-overlay,
#apply-overlay,
#ticketing-overlay,
#between-overlay,
#resources-overlay,
#members-overlay,
#news-overlay,
#professionals-overlay,
#visit-overlay,
#rabout-overlay,
#aboutt-overlay {
  position: fixed;
  left: 0;
  right: 0;
  bottom: -100%;
  height: 85vh;
  z-index: 600;
  transition: bottom 0.55s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

#programs-overlay.open,
#services-overlay.open,
#apply-overlay.open,
#ticketing-overlay.open,
#between-overlay.open,
#resources-overlay.open,
#members-overlay.open,
#news-overlay.open,
#professionals-overlay.open,
#visit-overlay.open,
#rabout-overlay.open,
#aboutt-overlay.open {
  bottom: 0;
}

.tpage-overlay {
  position: fixed;
  left: 0;
  right: 0;
  bottom: -100%;
  height: 85vh;
  z-index: 600;
  transition: bottom 0.55s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: var(--t-fg);
  color: var(--t-bg);
}

.tpage-overlay.open {
  bottom: 0;
}

#news-overlay .prog-hdr-title {
  color: var(--t-fg);
}

#news-overlay .prog-close {
  color: var(--t-fg);
  border-color: var(--t-fg);
}

#resources-overlay .prog-hdr,
#members-overlay .prog-hdr,
#news-overlay .prog-hdr,
#aboutt-overlay .prog-hdr {
  border-bottom: 1px solid #fff;
}

#services-overlay .prog-hdr {
  border-bottom: 1px solid #fff;
}

#services-overlay .prog-hdr-title {
  color: var(--t-bg);
}

#services-overlay .prog-close {
  color: var(--g-inv);
  border-left: 1px solid #fff;
}

#services-overlay .prog-close:hover {
  color: var(--t-bg);
}

.svc-region {
  font-size: var(--tm);
  font-weight: 500;
  letter-spacing: -0.01em;
  color: var(--t-bg);
  padding: 1rem var(--sp) 0.6rem;
  border-bottom: 1px solid #fff;
}

.svc-venues {
  display: flex;
  flex-direction: column;
}

.svc-v {
  display: grid;
  grid-template-columns: minmax(140px, 1fr) minmax(160px, 1.4fr) minmax(140px, 1fr);
  gap: 1.5rem;
  align-items: baseline;
  padding: 0.55rem var(--sp);
  border-bottom: 1px solid #fff;
}

.svc-v-name {
  font-size: var(--ts);
  color: var(--t-bg);
}

.svc-v-addr {
  font-size: var(--ts);
  color: var(--g-inv);
  line-height: 1.2;
}

.svc-v-link {
  font-size: var(--ts);
  text-align: left;
  white-space: normal;
  word-break: break-word;
}

.svc-v-link a {
  color: var(--g-inv);
  text-decoration: none;
}

.svc-v-link a:hover {
  text-decoration: underline;
  color: var(--t-bg);
}

#ticketing-overlay,
#between-overlay {
  background: var(--r-mag);
  color: #fff;
}

#ticketing-overlay.open,
#between-overlay.open {
  bottom: 0;
}

#ticketing-overlay .prog-hdr,
#between-overlay .prog-hdr {
  border-bottom: 1px solid #fff;
}

#agenda-overlay {
  position: fixed;
  left: 0;
  right: 0;
  bottom: -100%;
  height: 65vh;
  background: #1a1a1a;
  color: #fff;
  z-index: 700;
  transition: bottom 0.55s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

#agenda-overlay.open {
  bottom: 0;
}

body.no-anim *,
body.no-anim *::before,
body.no-anim *::after {
  animation: none !important;
  transition: none !important;
}

.mt-sm {
  margin-top: 0.6rem;
}

.byline-inner-t {
  border-color: #000;
}

.byline-brand-r {
  color: var(--r-mag);
}

.byline-inner {
  grid-template-columns: auto 1fr;
  gap: clamp(0.6rem, 1.7vw, 1.35rem);
  padding: clamp(0.6rem, 1.25vw, 1rem) var(--ml) clamp(0.6rem, 1.25vw, 1rem) clamp(0.6rem, 1.25vw, 1rem);
  border-bottom: none;
}

.byline-brand,
.byline-sub {
  font-size: var(--ts);
  line-height: 1.11;
  letter-spacing: 0;
}

.byline-inner-t {
  border-color: transparent;
}

.nav-bar {
  justify-content: flex-start;
  min-height: calc(var(--bw));
  padding: 0 var(--mr) 0 var(--ml);
}

.nav-items {
  flex: 1;
  align-items: center;
}

.nav-btn {
  padding: clamp(0.2rem, 0.45vw, 0.36rem) 0;
  margin-right: clamp(1.4rem, 4vw, 3.2rem);
  letter-spacing: 0;
  font-size: var(--ts);
}

.nav-btn:hover {
  background: none;
  text-decoration: underline;
}

.nav-btn.active {
  background: none;
  color: #fff;
  text-decoration: underline;
}

.nav-aa {
  font-family: var(--f);
  font-size: var(--ts);
  font-weight: 500;
  letter-spacing: 0;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--g-nero);
  padding: 0.2rem 0;
}

.aa-panel {
  position: absolute;
  top: 100%;
  right: 0;
  width: clamp(150px, 17vw, 218px);
  background: #000;
  color: #fff;
  padding: 0.55rem 0.8rem 1rem;
  display: none;
  z-index: 400;
}

.aa-panel.open {
  display: block;
}

.aa-panel .aa-head {
  font-size: var(--ts);
  font-weight: 500;
  margin-bottom: 0.5rem;
}

.aa-sec {
  border-top: 1px solid #fff;
  padding: 0.3rem 0 0.7rem;
}

.aa-sec-lbl {
  font-size: var(--ts);
  margin-bottom: 0.4rem;
  color: #fff;
}

.aa-btn {
  font-family: var(--f);
  font-size: var(--ts);
  font-weight: 500;
  background: #000;
  color: #fff;
  border: 1px solid #fff;
  padding: 0.2rem 0.9rem 0.2rem 0.4rem;
  margin: 0 0 0.45rem;
  display: block;
  cursor: pointer;
  min-width: 4.6rem;
  text-align: left;
}

.svc-prev-row {
  padding: 0 0 1px;
  margin: 0;
  border-top: none;
  border-bottom: 1px solid var(--t-fg);
  align-items: baseline;
  min-height: var(--rowh);
}

.svc-prev-row:last-child {
  border-bottom: 1px solid var(--t-fg);
}

.svc-prev-row:hover {
  background: none;
}

.svc-prev-row:hover .svc-prev-t {
  text-decoration: underline;
}

.svc-prev-t {
  font-size: var(--tm);
  line-height: 1.1;
  letter-spacing: var(--lsl);
}

.svc-prev-arr {
  font-family: var(--fl);
  font-weight: 300;
  font-size: var(--tm);
  line-height: 1;
}

#agenda-overlay {
  background: #000;
}

.tpage-overlay {
  background: #000;
}

.nav-dd {
  background: #000;
}

.nav-dd.open {
  max-height: 480px;
}

.dd-preview {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: start;
  gap: var(--sp);
}

.dd-left h3.dd-big {
  font-size: var(--tm);
  line-height: 1.16;
  letter-spacing: var(--lsl);
  max-width: 46rem;
  cursor: pointer;
  color: #fff;
  margin-bottom: 0;
}

.dd-left h3.dd-big:hover {
  text-decoration: underline;
}

.dd-left h3.dd-big .thin-arr {
  font-family: var(--fl);
  font-weight: 200;
}

.dd-left p {
  font-size: var(--ts);
  letter-spacing: 0;
  color: #fff;
}

.dd-photo {
  width: 100%;
}

.dd-photo img {
  width: 100%;
  height: clamp(160px, 33vw, 420px);
  object-fit: cover;
  filter: grayscale(1);
  margin-bottom: 0;
}

.nav-dd-inner {
  padding: var(--sp) var(--mr) var(--sp) var(--ml);
}

.edge-band {
  align-items: flex-start;
  padding-top: 0.55rem;
}

.edge-band span {
  font-size: var(--ts);
  letter-spacing: 0.02em;
}

#pf-count {
  opacity: 0.75;
}

.sw-arr {
  display: inline-block;
  width: 1.5em;
  height: 0.82em;
  vertical-align: -0.08em;
  flex: none;
  overflow: visible;
}

.sw-arr path {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.4;
  vector-effect: non-scaling-stroke;
  stroke-linecap: butt;
  stroke-linejoin: miter;
}

.sw-arr-l {
  transform: scaleX(-1);
}

.sw-arr-v {
  width: 0.72em;
  height: 1.25em;
  vertical-align: -0.28em;
}

.sw-arr-u {
  transform: rotate(180deg);
}

body[data-world] #slider {
  width: 100%;
  transform: none;
}
body[data-world] .panel {
  width: 100%;
}

body.world-slide {
  transition: transform 0.9s cubic-bezier(0.77, 0, 0.18, 1);
}
body[data-page='programma'] .r-pinned-nav {
  display: flex;
}

html {
  background: var(--t-bg);
}
#slider {
  width: 100%;
  transition: none;
}
.panel {
  width: 100%;
}

.world-band {
  position: fixed;
  top: 0;
  bottom: 0;
  z-index: 500;
}
body[data-world='radar'] .world-band {
  left: 0;
  background: #000;
}
body[data-world='tpunkt'] .world-band {
  right: 0;
  background: var(--r-mag);
}

body.world-slide {
  transition: transform 0.9s cubic-bezier(0.77, 0, 0.18, 1);
}
body.world-out-left {
  transform: translateX(-100vw);
}
body.world-out-right {
  transform: translateX(100vw);
}

#panel-t {
  background: var(--t-bg);
  color: var(--t-fg);
  padding-right: var(--bw);
}

#panel-t .site-header {
  background: var(--t-bg);
}

.t-hero {
  position: relative;
  background: #000;
  line-height: 0;
}

.t-hero img {
  width: 100%;
  height: auto;
  display: block;
  filter: brightness(0.8);
}

.t-stmt-block {
  padding: var(--sp) var(--sp) calc(var(--sp));
  border-bottom: 1px solid var(--t-fg);
  position: relative;
}

.t-stmt {
  font-size: var(--tl);
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 0.82;
  margin-bottom: var(--sp);
}

.acc-block {
  border-top: 1px solid var(--t-fg);
}

.acc-block:last-child {
  border-bottom: 1px solid var(--t-fg);
}

.acc-trigger {
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  color: inherit;
  padding: 0.65rem 0;
  font-family: var(--f);
  font-size: var(--tm);
  font-weight: 500;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.acc-icon {
  font-weight: 500;
  transition: transform 0.28s;
  flex-shrink: 0;
}

.acc-block.open .acc-icon {
  transform: rotate(45deg);
}

.acc-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.acc-block.open .acc-body {
  max-height: 400px;
}

.acc-inner {
  padding-bottom: 1.2rem;
}

.acc-inner p {
  font-size: var(--tm);
  line-height: 1;
  color: var(--t-mu);
}

.acc-inner .sub-lnk {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: var(--tm);
  color: var(--t-fg);
  text-decoration: none;
  margin-top: 0.45rem;
}

.acc-inner .sub-lnk::before {
  content: '→';
}

.acc-inner .sub-lnk:hover {
  text-decoration: underline;
}

.calc-mini {
  display: grid;
  grid-template-columns: 1.3fr 0.7fr;
  gap: 1rem;
  max-width: 28rem;
  margin-bottom: 0.9rem;
}

.calc-full-btn {
  font-size: var(--ts);
  color: var(--t-fg);
  background: none;
  border: none;
  font-family: var(--f);
  font-weight: 500;
  cursor: pointer;
  text-decoration: underline;
  padding: 0;
}

.sec-head {
  font-size: var(--tl);
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 0.82;
  padding: var(--sp) var(--sp) calc(var(--sp) * 0.8);
  border-bottom: 1px solid var(--t-fg);
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--sp);
}

.t-ag-row {
  display: grid;
  grid-template-columns: 1fr 1fr 2rem;
  align-items: center;
  border-bottom: 1px solid var(--t-fg);
  padding: 0.85rem var(--sp);
  gap: var(--sp);
  cursor: pointer;
  transition: background 0.1s;
}

.t-ag-row:hover {
  background: rgba(0, 0, 0, 0.04);
}

.t-bandi-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: var(--sp);
  padding: var(--sp);
  align-items: stretch;
}

.t-bando-card {
  background: #000;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 1.4rem;
  aspect-ratio: 1/1;
  text-decoration: none;
  border-radius: 0;
  transition:
    border-radius 0.4s cubic-bezier(0.16, 1, 0.3, 1),
    opacity 0.2s;
}

.t-bando-card:hover {
  border-radius: 50%;
  text-align: center;
  align-items: center;
}

.t-bando-txt {
  font-size: calc(var(--tm) * 1.25);
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1;
}

.t-bando-arr {
  font-size: var(--tm);
  margin-top: 1rem;
}

@media (max-width: 900px) {
  .t-bandi-grid {
    grid-template-columns: 1fr;
  }
}

.t-footer {
  border-top: 1px solid var(--t-fg);
  margin-top: auto;
}

.t-footer-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.t-fc {
  padding: var(--sp);
}

.t-fc:not(:last-child) {
  border-right: 1px solid var(--t-fg);
}

.fc-links {
  display: flex;
  flex-direction: column;
  gap: 0.38rem;
}

.fc-links a,
.fc-links button {
  font-size: var(--ts);
  text-decoration: none;
  color: inherit;
  background: none;
  border: none;
  font-family: var(--f);
  font-weight: 500;
  cursor: pointer;
  padding: 0;
  text-align: left;
}

.fc-links a:hover,
.fc-links button:hover {
  text-decoration: underline;
}

.t-essentials {
  border-top: 1px solid var(--t-fg);
}

.t-essentials-list {
  padding: 0 var(--sp);
}

.t-essentials .acc-block:first-child {
  border-top: none;
}

.t-gallery {
  border-top: 1px solid var(--t-fg);
  padding: var(--sp);
}

.t-gallery-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp);
}

.t-gallery-grid img {
  width: 100%;
  height: 100%;
  aspect-ratio: 4/3;
  object-fit: cover;
  display: block;
  filter: grayscale(1) contrast(1.05);
}

.t-gallery-nav {
  display: flex;
  justify-content: space-between;
  padding-top: 0.9rem;
}

.t-gallery-nav button {
  background: none;
  border: none;
  font-family: var(--f);
  font-size: var(--tm);
  color: var(--t-fg);
  cursor: pointer;
  padding: 0.2rem 0.6rem;
  transition: opacity 0.15s;
}

.t-gallery-nav button:hover {
  opacity: 0.55;
}

.t-regional {
  border-top: 1px solid var(--t-fg);
  background: var(--t-hl);
  padding: var(--sp);
}

.t-regional-grid {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: var(--sp);
  align-items: center;
}

.t-regional-map-wrap {
  position: relative;
  width: 100%;
}

.t-regional-map-img {
  width: 100%;
  height: auto;
  display: block;
}

.t-regional-dot {
  position: absolute;
  transform: translate(-50%, -50%);
  width: clamp(18px, 2.1vw, 28px);
  height: clamp(18px, 2.1vw, 28px);
  border: none;
  border-radius: 0;
  background-image: url('../assets/images/logo_mappa_svizzera_bianco.png');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  display: block;
}

.t-regional-dot::after {
  content: none;
}

@media (max-width: 900px) {
  .t-regional-grid {
    grid-template-columns: 1fr;
  }
  .t-gallery-grid {
    grid-template-columns: 1fr;
  }
}

.t-newsletter-input {
  font-family: var(--f);
  font-size: var(--ts);
  font-weight: 500;
  background: rgba(0, 0, 0, 0.04);
  color: #fff;
  border: none;
  outline: none;
  padding: 0.35rem 0.5rem;
  margin-top: 0.35rem;
  width: 95%;
  max-width: 224px;
}

.t-newsletter-input::placeholder {
  color: #000000;
}

.t-footer-logo {
  width: 44px;
  height: auto;
  display: block;
  margin-bottom: 0.9rem;
}

.fc-sep-dot {
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--t-fg);
  margin: 0.5rem 0;
}

#services-overlay {
  background: var(--t-fg);
  color: var(--t-bg);
}

#resources-overlay,
#members-overlay,
#aboutt-overlay {
  background: var(--t-fg);
  color: var(--t-bg);
}

#news-overlay {
  background: var(--t-bg);
  color: var(--t-fg);
  display: flex;
  flex-direction: column;
  height: 100vh;
}

.news-list-scroll {
  flex: 1;
  overflow-y: auto;
}

.news-item {
  border-top: 1px solid var(--t-fg);
}

.news-item:last-child {
  border-bottom: 1px solid var(--t-fg);
}

.news-item-row {
  display: grid;
  grid-template-columns: 9rem 1fr 2rem;
  align-items: baseline;
  gap: var(--sp);
  padding: 0.85rem var(--sp);
  cursor: pointer;
}

.news-item-row:hover {
  background: rgba(0, 0, 0, 0.04);
}

.news-item-date {
  font-size: var(--ts);
  font-weight: 500;
}

.news-item-title {
  font-size: var(--tm);
  font-weight: 500;
  line-height: 1;
}

.news-item-arr {
  font-size: var(--tm);
  display: inline-block;
  transition: transform 0.25s;
  justify-self: end;
}

.news-item.expanded .news-item-arr {
  transform: rotate(90deg);
}

.news-item-expand {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.news-item.expanded .news-item-expand {
  max-height: 320px;
}

.news-item-expand-inner {
  display: grid;
  grid-template-columns: 1fr 12rem;
  gap: var(--sp);
  padding: 0 var(--sp) 1.6rem calc(9rem + var(--sp));
}

.news-item-text {
  max-height: 280px;
  overflow-y: auto;
  font-size: var(--tm);
  line-height: 1;
  color: var(--t-mu);
  padding-right: 0.6rem;
}

.news-item-meta {
  font-size: var(--ts);
  font-weight: 500;
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}

.news-item-dl {
  text-decoration: underline;
  cursor: pointer;
}

.news-filters-bar {
  background: #000;
  color: var(--t-bg);
  flex-shrink: 0;
}

.news-filters-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 0.6rem;
  background: none;
  border: none;
  color: inherit;
  font-family: var(--f);
  font-weight: 500;
  font-size: var(--tm);
  padding: 0.9rem var(--sp);
  cursor: pointer;
}

.news-filters-grid {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--sp);
  padding: 0 var(--sp);
}

.news-filters-bar.open .news-filters-grid {
  max-height: 220px;
  padding: 0 var(--sp) 1.6rem;
}

.news-filter-col-h {
  font-size: var(--tm);
  font-weight: 500;
  margin-bottom: 0.6rem;
}

.news-filter-item {
  font-size: var(--ts);
  padding: 0.15rem 0;
  cursor: pointer;
  opacity: 0.55;
}

.news-filter-item.active {
  opacity: 1;
}

@media (max-width: 900px) {
  .news-item-row {
    grid-template-columns: 1fr 1.5rem;
  }
  .news-item-date {
    grid-column: 1/3;
  }
  .news-item-expand-inner {
    grid-template-columns: 1fr;
    padding-left: var(--sp);
  }
  .news-filters-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.t-services-full .acc-block {
  border-top: 1px solid #fff;
  padding: 0 var(--sp);
}

.t-services-full .acc-block:last-child {
  border-bottom: 1px solid #fff;
}

.t-services-full .acc-trigger {
  color: #fff;
}

.t-services-full .acc-inner p {
  color: var(--g-inv);
}

.t-services-full .acc-inner .sub-lnk {
  color: #fff;
}

.t-services-full .acc-block.open .acc-body {
  max-height: 600px;
}

#calc-overlay {
  position: fixed;
  inset: 0;
  z-index: 900;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 0.3s,
    visibility 0.3s;
}

#calc-overlay.on {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}

#calc-bg {
  position: absolute;
  inset: 0;
  background: transparent;
}

#calc-panel {
  position: absolute;
  bottom: -100%;
  left: 0;
  right: 0;
  height: 88vh;
  background: var(--t-bg);
  color: var(--t-fg);
  border-top: 1px solid var(--t-fg);
  display: flex;
  flex-direction: column;
  transition: bottom 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

#calc-overlay.on #calc-panel {
  bottom: 0;
}

.calc-hdr {
  padding: 0.9rem var(--sp);
  border-bottom: 1px solid var(--t-fg);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.calc-hdr span {
  font-size: var(--tm);
}

.calc-close {
  background: none;
  border: none;
  cursor: pointer;
  font-family: var(--f);
  font-size: var(--tm);
  font-weight: 500;
  color: var(--t-fg);
}

.calc-body {
  padding: var(--sp) calc(var(--sp) * 1.2);
  overflow-y: auto;
}

.calc-body h2 {
  font-size: var(--tl);
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 0.85;
  margin-bottom: var(--sp);
}

.calc-box {
  max-width: none;
}

.calc-groups {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem;
  margin-bottom: 1.2rem;
  padding-bottom: 1.2rem;
  border-bottom: 1px solid var(--t-fg);
}

.calc-g {
  margin-bottom: 0;
  border-bottom: none;
  padding-bottom: 0;
}

.calc-g h4 {
  font-size: var(--tm);
  margin-bottom: 0.8rem;
}

.calc-results {
  padding: 1.2rem 0;
  border-top: 1px solid var(--t-fg);
  margin-top: 1.5rem;
}

.calc-res-row {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.4rem;
  font-size: var(--tm);
}

@media (max-width: 760px) {
  #calc-panel {
    height: 94vh;
  }
  .calc-hdr {
    padding: 0.8rem 1rem;
  }
  .calc-hdr span {
    font-size: var(--ts);
  }
  .calc-body {
    padding: 1rem 1rem calc(var(--sp) * 1.5);
  }
  .calc-body h2 {
    font-size: calc(var(--tl) * 0.6);
  }
  .calc-box {
    max-width: 100%;
  }
  .calc-groups {
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }
}

.fc-meta {
  font-size: var(--ts);
  color: var(--t-mu);
}

.fc-links a {
  text-decoration: underline;
}

.calc-full-btn-red {
  color: var(--r-mag);
  margin: 0 0 1rem;
}

#panel-t {
  background: var(--t-bg);
}

#panel-t .site-header {
  background: transparent;
}

#panel-t .byline {
  background: var(--t-bg);
}

.t-stmt-block {
  padding: clamp(0.3rem, 0.7vw, 0.55rem) var(--mr) 0 var(--ml);
  border-bottom: none;
}

.t-stmt {
  font-size: var(--tl);
  line-height: var(--lhl);
  letter-spacing: var(--lsl);
  margin-bottom: clamp(0.9rem, 2.25vw, 1.8rem);
}

.acc-block {
  border-top: none;
  border-bottom: 1px solid var(--t-fg);
}

.acc-block:first-child {
  border-top: 1px solid var(--t-fg);
}

.acc-trigger {
  font-size: var(--tm);
  line-height: 1.1;
  letter-spacing: var(--lsl);
  padding: 0 0 1px;
  min-height: var(--rowh);
  align-items: baseline;
}

.acc-inner {
  padding-bottom: 0.4rem;
}

.acc-inner p {
  font-size: var(--tm);
  line-height: 1.16;
  letter-spacing: var(--lsl);
  color: var(--t-mu);
  font-weight: 500;
  max-width: 46rem;
}

.acc-inner .sub-lnk {
  display: grid;
  grid-template-columns: 1fr auto;
  width: 100%;
  font-size: var(--tm);
  letter-spacing: var(--lsl);
  color: var(--t-mu);
  border-top: 1px solid var(--t-fg);
  padding: 0.05rem 0 0;
  margin-top: clamp(0.5rem, 1.3vw, 1rem);
  align-items: baseline;
}

.acc-inner .sub-lnk::before {
  content: none;
}

.acc-inner .sub-lnk::after {
  content: '→';
  font-family: var(--fl);
  font-weight: 200;
}

.acc-inner .sub-lnk:hover {
  text-decoration: none;
  color: var(--t-fg);
}

.acc-block.open .acc-body {
  max-height: 560px;
}

.t-bandi-grid {
  gap: clamp(1px, 0.16vw, 2px);
  padding: clamp(0.6rem, 1.25vw, 1rem) var(--mr) clamp(0.6rem, 1.25vw, 1rem) var(--ml);
}

.t-bando-card {
  aspect-ratio: 385/383;
  padding: 26% 12% 12%;
  justify-content: flex-start;
}

.t-bando-txt {
  font-size: var(--tm);
  line-height: 1;
  letter-spacing: var(--lsl);
}

.t-bando-arr {
  font-family: var(--fl);
  font-weight: 200;
  font-size: var(--tm);
  margin-top: clamp(0.4rem, 1vw, 0.8rem);
}

.sec-head {
  font-size: var(--tl);
  line-height: var(--lhl);
  letter-spacing: var(--lsl);
  padding: clamp(0.9rem, 2.1vw, 1.7rem) var(--mr) clamp(0.2rem, 0.55vw, 0.45rem) var(--ml);
  border-bottom: none;
  display: grid;
  grid-template-columns: 54.6% 1fr;
  gap: 0;
}

.t-ag-row {
  grid-template-columns: calc(54.6% - var(--sp)) 1fr auto;
  align-items: baseline;
  border-bottom: 1px solid var(--t-fg);
  padding: 0 0 1px;
  margin: 0 var(--mr) 0 var(--ml);
  min-height: var(--rowh);
  gap: var(--sp);
}

.t-ag-row:first-of-type {
  border-top: 1px solid var(--t-fg);
}

.t-ag-row:hover {
  background: rgba(0, 0, 0, 0.04);
}

.calc-mini {
  grid-template-columns: 54.6% 1fr;
  gap: var(--sp);
  max-width: none;
  margin-bottom: 0;
}

.t-footer-grid {
  border-top: 1px solid var(--t-fg);
}

.t-fc {
  padding: var(--sp) var(--sp) var(--sp) var(--ml);
}

.t-footer {
  border-top: 1px solid var(--t-fg);
}

#calc-panel {
  background: #000;
  color: #fff;
  border-top: none;
  height: 61vh;
}

.calc-hdr {
  border-bottom: none;
  padding: 0.55rem var(--mr) 0 var(--ml);
}

.calc-hdr span {
  font-size: var(--ts);
  color: var(--g-inv);
}

.calc-close {
  color: #fff;
  font-size: var(--tm);
  font-family: var(--fl);
  font-weight: 300;
}

.calc-body {
  padding: 0 var(--mr) var(--sp) var(--ml);
}

.calc-body h2 {
  font-size: var(--tl);
  line-height: var(--lhl);
  letter-spacing: var(--lsl);
  color: var(--ov-gray);
  margin-bottom: clamp(0.6rem, 1.5vw, 1.2rem);
}

.calc-groups {
  grid-template-columns: repeat(4, 1fr);
  gap: clamp(0.5rem, 0.95vw, 0.75rem);
  border-bottom: none;
  margin-bottom: clamp(1.4rem, 3.5vw, 2.8rem);
  padding-bottom: 0;
}

.calc-g h4 {
  font-size: var(--ts);
  border-bottom: 1px solid #fff;
  padding-bottom: 0.35rem;
  margin-bottom: 0.55rem;
  letter-spacing: 0;
}

.fc-opt {
  font-size: var(--ts);
  font-weight: 500;
  color: #fff;
  cursor: pointer;
  line-height: 1.1;
  margin-bottom: 0.05rem;
  letter-spacing: 0;
}

.fc-opt:hover {
  text-decoration: underline;
}

.fc-ic {
  margin-right: 0.2rem;
}

.calc-results {
  border-top: none;
  padding: 0;
  margin-top: 0;
}

.calc-res-row {
  display: grid;
  grid-template-columns: 49% 1fr;
  font-size: var(--tm);
  letter-spacing: var(--lsl);
  font-weight: 500;
  border-bottom: 1px solid #fff;
  padding: 0 0 0.1em;
  margin-bottom: 0;
  min-height: var(--rowh);
  align-items: baseline;
}

#services-overlay,
#resources-overlay,
#members-overlay,
#aboutt-overlay {
  background: #000;
}

.calc-full-btn-red {
  font-size: var(--ts);
  margin: 0.9rem 0 1rem;
  text-decoration: none;
}

.calc-full-btn-red:hover {
  text-decoration: underline;
}

@media (max-width: 900px) {
  .sec-head {
    grid-template-columns: 1fr auto;
  }
  .t-ag-row {
    grid-template-columns: 1fr auto auto;
  }
  .calc-mini {
    grid-template-columns: 1fr 1fr;
  }
  .calc-groups {
    grid-template-columns: repeat(2, 1fr);
  }
}

.news-item-text {
  line-height: 1.18;
}

.news-item-expand-inner p,
.acc-inner p {
  line-height: 1.22;
}

.t-regional {
  padding: 0 0 var(--sp);
}

.t-regional-grid {
  padding: 0 var(--mr) 0 var(--ml);
}

.t-regional-trigger {
  display: block;
  width: 100%;
  background: none;
  border: none;
  padding: 0.18rem 0;
  font-family: var(--f);
  font-weight: 500;
  font-size: var(--tm);
  letter-spacing: var(--lsl);
  line-height: 1.05;
  color: var(--t-fg);
  text-align: left;
  cursor: pointer;
}

.t-regional-trigger b {
  font-weight: 500;
}

.t-regional-trigger:hover {
  opacity: 0.7;
}

.t-regional-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.t-regional-item.open .t-regional-body {
  max-height: 420px;
}

.t-regional-body-inner {
  padding: 0.35rem 1rem 0.9rem 0;
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  color: var(--t-mu);
}

.t-regional-body-inner p {
  margin-bottom: 0.4rem;
}

.t-regional-body-inner .sub-lnk {
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  color: var(--t-mu);
}

.t-regional-grid {
  align-items: start;
}

.t-regional-dot {
  cursor: pointer;
  opacity: 0.8;
  transition:
    opacity 0.25s ease,
    transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.t-regional-dot:hover,
.t-regional-dot.active {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1.28);
}

.t-footer,
.t-footer-grid,
.t-regional,
.t-gallery {
  border-top: none;
}

.t-fc:not(:last-child) {
  border-right: none;
}

.sec-head--plain {
  border-bottom: none;
  padding-bottom: 0;
}

.t-regional-dot[data-rg='0'] {
  left: 46.27%;
  top: 21.54%;
}
.t-regional-dot[data-rg='1'] {
  left: 22.47%;
  top: 38.18%;
}
.t-regional-dot[data-rg='2'] {
  left: 38.05%;
  top: 17.18%;
}
.t-regional-dot[data-rg='3'] {
  left: 33.84%;
  top: 43.14%;
}
.t-regional-dot[data-rg='4'] {
  left: 77.16%;
  top: 47.85%;
}
.t-regional-dot[data-rg='5'] {
  left: 73.93%;
  top: 19.9%;
}
.t-regional-dot[data-rg='6'] {
  left: 66.47%;
  top: 79.47%;
}
.t-regional-dot[data-rg='7'] {
  left: 32.04%;
  top: 77.61%;
}
.t-regional-dot[data-rg='8'] {
  left: 51.75%;
  top: 38.17%;
}
.t-regional-dot[data-rg='9'] {
  left: 56.58%;
  top: 22.23%;
}

#panel-r {
  background: var(--r-bg);
  color: var(--r-fg);
  padding-left: var(--bw);
}

#panel-r .site-header {
  background: var(--r-bg);
}

#panel-r .byline-sub {
  color: var(--r-bg);
}

#panel-r .nav-bar {
  background: var(--r-mag);
}

#panel-r .nav-btn:hover {
  background: rgba(0, 0, 0, 0.25);
}

#panel-r .nav-btn.active {
  background: #000;
  color: #fff;
}

.r-hero {
  position: relative;
  background: #ff0000;
  line-height: 0;
  overflow: hidden;
  height: 0;
  padding-top: 62.5%;
}

#panel-r {
  --r-mag: #ff00ff;
}

.r-hero {
  background: #ff00ff;
}

.r-hero-dateline {
  position: absolute;
  top: 3.5%;
  left: clamp(11rem, 24vw, 19rem);
  right: var(--sp);
  z-index: 3;
  color: #fff;
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 0.95;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.r-hero-dateline .dl-dates {
  font-size: clamp(1.6rem, 4.5vw, 3.4rem);
}

.r-hero-wordmark {
  position: absolute;
  left: 3%;
  bottom: 7%;
  z-index: 3;
  display: flex;
  font-weight: 500;
  font-size: clamp(3.4rem, 11.5vw, 9rem);
  letter-spacing: -0.01em;
  color: #fff;
  line-height: 1;
  transform: rotate(-4deg);
  transform-origin: left bottom;
  pointer-events: none;
}

.r-hero-wordmark span {
  display: inline-block;
  transform: rotate(0deg);
  transition: transform 0.55s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.r-hero-wordmark.flipped span {
  transform: rotate(180deg);
}

.r-hero-wordmark.flipped span:nth-child(1) {
  transition-delay: 0.34s;
}

.r-hero-wordmark.flipped span:nth-child(2) {
  transition-delay: 0.255s;
}

.r-hero-wordmark.flipped span:nth-child(3) {
  transition-delay: 0.17s;
}

.r-hero-wordmark.flipped span:nth-child(4) {
  transition-delay: 0.085s;
}

.r-hero-wordmark.flipped span:nth-child(5) {
  transition-delay: 0s;
}

@media (max-width: 900px) {
  .r-hero-dateline {
    left: var(--sp);
    top: 3%;
  }
  .r-hero-wordmark {
    font-size: clamp(2.6rem, 15vw, 5rem);
  }
}

.r-avatars {
  display: flex;
  gap: 1rem;
  padding: var(--sp);
  flex-wrap: wrap;
  border-top: 1px solid var(--r-mag);
}

.r-program-lnk {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 0.3rem var(--sp);
  color: var(--r-mag);
  cursor: pointer;
  text-decoration: none;
}

.r-program-lnk .r-program-lnk-t {
  font-size: var(--tl);
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 1.05;
}

.r-program-lnk .thin-arr {
  font-size: var(--tm);
}

.r-show-row {
  display: grid;
  grid-template-columns: 1.4fr 0.5fr 2rem 2rem;
  align-items: center;
  gap: 0.8rem;
  padding: 0.7rem var(--sp);
  border-top: 1px solid var(--r-mag);
  color: var(--r-mag);
  font-weight: 500;
  font-size: var(--ts);
  cursor: pointer;
}

.r-show-row:last-child {
  border-bottom: 1px solid var(--r-mag);
}

.r-show-row:hover {
  background: rgba(255, 0, 255, 0.05);
}

.r-show-pin {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--r-mag);
  color: #fff;
  font-size: 0.65rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.r-venue {
  padding: var(--sp);
  border-top: 1px solid var(--r-mag);
}

.r-venue-map-wrap {
  position: relative;
  width: 100%;
}

.r-hero-shapes {
  position: absolute;
  top: -6%;
  left: -6%;
  width: 112%;
  height: 112%;
  object-fit: cover;
  mix-blend-mode: multiply;
  pointer-events: none;
  will-change: transform;
  z-index: 2;
}

.r-stmt-block {
  padding: var(--sp) var(--sp) calc(var(--sp) * 1.2);
  border-bottom: 1px solid #000;
  position: relative;
}

.r-stmt {
  font-size: var(--tl);
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 0.82;
  color: var(--r-mag);
  margin-bottom: var(--sp);
}

.r-ticket-btn {
  position: absolute;
  top: var(--sp);
  right: var(--sp);
  width: 140px;
  height: 140px;
  border-radius: 50%;
  border: 1px dotted var(--r-mag);
  color: var(--r-mag);
  font-size: var(--tm);
  font-weight: 500;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  background: transparent;
  font-family: var(--f);
  transform: rotate(-10deg);
  transition:
    background 0.2s,
    color 0.2s,
    transform 0.2s;
}

.r-ticket-btn:hover {
  transform: rotate(0deg);
}

.r-ticket-btn:hover {
  background: var(--r-mag);
  color: #fff;
}

.r-acc-section {
  padding: 0 var(--sp);
}

.r-acc-block {
  border-top: 1px solid #000;
}

.r-acc-block:last-child {
  border-bottom: 1px solid #000;
}

.r-acc-trigger {
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  color: var(--r-mag);
  padding: 1.1rem 0;
  font-family: var(--f);
  font-size: var(--tm);
  font-weight: 500;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.r-acc-icon {
  font-weight: 500;
  transition: transform 0.28s;
  flex-shrink: 0;
}

.r-acc-block.open .r-acc-icon {
  transform: rotate(45deg);
}

.r-acc-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.r-acc-block.open .r-acc-body {
  max-height: 260px;
}

.r-acc-inner {
  padding-bottom: 1.2rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-top: 1px solid rgba(255, 0, 0, 0.12);
  padding-top: 1rem;
}

.r-acc-sub-t {
  font-size: var(--ts);
  color: var(--r-mag);
  margin-bottom: 0.25rem;
}

.r-acc-sub-t::before {
  content: '→ ';
}

.r-footer {
  border-top: 1px solid #000;
  margin-top: auto;
}

.r-footer-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.r-fc {
  padding: var(--sp);
}

.r-fc:not(:last-child) {
  border-right: 1px solid #000;
}

.r-fc-links {
  display: flex;
  flex-direction: column;
  gap: 0.38rem;
}

.r-fc-links a,
.r-fc-links button {
  font-size: var(--ts);
  text-decoration: none;
  color: var(--r-fg);
  background: none;
  border: none;
  font-family: var(--f);
  font-weight: 500;
  cursor: pointer;
  padding: 0;
  text-align: left;
}

.r-fc-links a:hover,
.r-fc-links button:hover {
  text-decoration: underline;
}

#programs-overlay {
  background: var(--r-mag);
  color: #fff;
}

#programs-overlay .prog-hdr::after,
#apply-overlay .prog-hdr::after,
#professionals-overlay .prog-hdr::after,
#visit-overlay .prog-hdr::after,
#rabout-overlay .prog-hdr::after {
  content: '';
  position: absolute;
  right: 9rem;
  top: 50%;
  width: 34px;
  height: 34px;
  transform: translateY(-50%);
  border-radius: 50%;
  background-image: repeating-radial-gradient(circle, rgba(255, 255, 255, 0.9) 0 1.2px, transparent 1.2px 4px);
  opacity: 0.9;
  pointer-events: none;
}

.tpage-overlay .prog-hdr {
  border-bottom: 1px solid #fff;
}

#professionals-overlay,
#visit-overlay,
#rabout-overlay {
  background: var(--r-mag);
  color: #fff;
}

#professionals-overlay .prog-hdr,
#visit-overlay .prog-hdr,
#rabout-overlay .prog-hdr {
  border-bottom: 1px solid #fff;
}

#apply-overlay {
  background: var(--r-mag);
  color: #ffffff;
}

#apply-overlay .prog-hdr {
  border-bottom: 1px solid #fff;
}

.apply-scroll {
  flex: 1;
  overflow-y: auto;
}

.apply-fee-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  margin: 0.6rem 0;
  max-width: 40rem;
}

.apply-fee-col {
  padding: 0.5rem 0.8rem 0.5rem 0;
  border-right: 1px solid #fff;
}

.apply-fee-col:last-child {
  border-right: none;
  padding-left: 0.8rem;
}

.apply-fee-lbl {
  font-size: var(--ts);
  color: var(--g-inv);
  margin-bottom: 0.2rem;
}

.apply-fee-val {
  font-size: var(--ts);
  color: #fff;
}

.apply-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: var(--ts);
  color: #fff;
  text-decoration: none;
  border: 1px solid #fff;
  padding: 0.4rem 0.8rem;
  margin-top: 0.3rem;
}

.apply-cta:hover {
  background: #fff;
  color: var(--r-mag);
}

.prog-hdr {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  padding: 0 var(--sp);
  border-bottom: 1px solid #fff;
  flex-shrink: 0;
}

.prog-hdr-title {
  font-size: var(--tl);
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 0.85;
  padding: 1rem 0;
  color: #fff;
}

.prog-close {
  background: none;
  border: none;
  border-left: 1px solid #fff;
  color: var(--g-inv);
  font-family: var(--f);
  font-size: var(--ts);
  font-weight: 500;
  padding: 1rem var(--sp);
  cursor: pointer;
  white-space: nowrap;
  margin-right: calc(-1 * var(--sp));
}

.prog-close:hover {
  color: #fff;
}

.prog-filters {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-bottom: 1px solid #fff;
  flex-shrink: 0;
}

.prog-fg {
  padding: 0.9rem var(--sp);
}

.prog-fg:not(:last-child) {
  border-right: 1px solid #fff;
}

.prog-fg-lbl {
  font-size: var(--ts);
  color: var(--g-inv);
  margin-bottom: 0.5rem;
  text-decoration: underline;
}

.prog-fg-opts {
  display: flex;
  flex-direction: column;
  gap: 0.18rem;
}

.prog-fo {
  display: flex;
  align-items: baseline;
  gap: 0.35rem;
  font-size: var(--ts);
  color: var(--g-inv);
  cursor: pointer;
  padding: 0.06rem 0;
}

.prog-fo .fo-icon {
  width: 10px;
  flex-shrink: 0;
}

.prog-fo.sel {
  color: #fff;
}

.prog-shows {
  flex: 1;
  overflow-y: auto;
}

.prog-day-h {
  font-size: var(--tl);
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 0.82;
  padding: 1.2rem var(--sp) 0.8rem;
  color: #fff;
  border-bottom: 1px solid #fff;
}

.prog-show-row {
  display: grid;
  grid-template-columns: 1fr 1fr 1.1fr 2rem;
  align-items: center;
  border-bottom: 1px solid #fff;
  padding: 0.75rem var(--sp);
  gap: var(--sp);
  cursor: pointer;
  transition: background 0.1s;
}

a.prog-show-row {
  color: inherit;
  unicode-bidi: isolate;
}

a.nav-btn {
  text-align: center;
}

.prog-show-row:hover {
  background: rgba(255, 255, 255, 0.07);
}

.prog-company {
  font-size: var(--tm);
  font-weight: 500;
  color: #fff;
  text-decoration: underline;
}

.prog-title {
  font-size: var(--tm);
  color: #fff;
}

.prog-meta {
  font-size: var(--ts);
  color: var(--g-inv);
}

.prog-arr {
  font-size: var(--ts);
  color: var(--g-inv);
  justify-self: end;
}

#show-overlay {
  position: fixed;
  left: 0;
  right: 0;
  bottom: -100%;
  height: 65vh;
  background: #1a1a1a;
  color: #fff;
  z-index: 700;
  transition: bottom 0.55s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

#show-overlay.open {
  bottom: 0;
}

.show-hdr {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr auto;
  border-bottom: 1px solid #fff;
  flex-shrink: 0;
}

.show-hdr-tab {
  padding: 0.65rem var(--sp);
  font-size: var(--ts);
  color: var(--g-inv);
  border-right: 1px solid #fff;
}

.show-hdr-tab:last-of-type {
  border-right: none;
}

.show-close {
  background: none;
  border: none;
  border-left: 1px solid #fff;
  color: var(--g-inv);
  font-family: var(--f);
  font-size: var(--ts);
  font-weight: 500;
  padding: 0.65rem var(--sp);
  cursor: pointer;
  white-space: nowrap;
}

.show-close:hover {
  color: #fff;
}

.show-title-block {
  padding: 1.2rem var(--sp) 1rem;
  border-bottom: 1px solid #fff;
  flex-shrink: 0;
}

.show-company-name {
  font-size: calc(var(--tl) * 0.6);
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 0.82;
  color: var(--g-inv);
}

.show-piece-name {
  font-size: calc(var(--tl) * 0.6);
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 0.82;
  color: #fff;
}

.show-body {
  display: grid;
  grid-template-columns: 1fr 1fr;
  flex: 1;
  overflow: hidden;
  min-height: 0;
}

.show-desc {
  padding: var(--sp);
  overflow-y: auto;
  border-right: 1px solid #fff;
}

.show-teaser {
  font-size: var(--tm);
  line-height: var(--lhm);
  color: #fff;
  margin-bottom: 1rem;
}

.show-credits {
  display: flex;
  flex-direction: column;
}

.show-cred-row {
  display: grid;
  grid-template-columns: 100px 1fr;
  font-size: var(--ts);
  padding: 0.32rem 0;
  border-bottom: 1px solid #fff;
}

.show-cred-row:last-child {
  border-bottom: none;
}

.show-cred-lbl {
  color: var(--g-inv);
}

.show-cred-val {
  color: #fff;
}

.show-aside {
  padding: var(--sp);
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
}

.show-aside img {
  width: 100%;
  height: 130px;
  object-fit: cover;
  display: block;
  filter: grayscale(0.4) brightness(0.65);
}

.show-meta-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
}

.show-meta-item {
  padding: 0.65rem 0;
  border-bottom: 1px solid #fff;
}

.show-meta-item:nth-child(odd) {
  padding-right: 1rem;
  border-right: 1px solid #fff;
}

.show-meta-item:nth-child(even) {
  padding-left: 1rem;
}

.show-meta-lbl {
  font-size: var(--ts);
  color: var(--g-inv);
  margin-bottom: 0.2rem;
}

.show-meta-val {
  font-size: var(--ts);
  color: #fff;
}

.r-fc-meta {
  font-size: var(--ts);
  color: var(--r-mu);
}

.r-fc-links a {
  text-decoration: underline;
  color: var(--r-mag);
}

.prog-empty {
  padding: 1.5rem 1.6rem;
  font-size: var(--ts);
  color: var(--g-inv);
}

#panel-r {
  background: var(--r-bg);
}

#panel-r .site-header {
  background: transparent;
}

#panel-r .byline {
  background: var(--r-bg);
}

#panel-r .nav-btn.active {
  background: none;
  color: #fff;
}

#panel-r .nav-btn:hover {
  background: none;
}

#panel-r .nav-aa {
  color: var(--g-rosa);
}

.prog-hdr {
  padding: 0 var(--mr) 0 var(--ml);
  border-bottom: none;
}

.prog-hdr-title {
  font-size: var(--tl);
  line-height: var(--lhl);
  letter-spacing: var(--lsl);
  padding: clamp(0.6rem, 1.4vw, 1.1rem) 0 clamp(0.3rem, 0.8vw, 0.65rem);
}

.prog-close {
  border-left: none;
  font-family: var(--fl);
  font-weight: 300;
  font-size: var(--tm);
}

.r-stmt-block {
  padding: clamp(0.35rem, 0.8vw, 0.65rem) var(--mr) 0 var(--ml);
  border-bottom: none;
}

.r-stmt {
  font-size: var(--tl);
  line-height: var(--lhl);
  letter-spacing: var(--lsl);
  margin-bottom: clamp(0.9rem, 2.25vw, 1.8rem);
}

.r-ticket-btn {
  width: clamp(110px, 13.8vw, 177px);
  height: clamp(110px, 13.8vw, 177px);
  border: 1px dotted var(--r-mag);
  font-size: var(--tm);
  letter-spacing: var(--lsl);
  transform: rotate(-25deg);
}

.r-acc-section {
  padding: 0 var(--mr) 0 var(--ml);
}

.r-acc-block {
  border-top: none;
  border-bottom: 1px solid var(--r-mag);
}

.r-acc-block:first-child {
  border-top: 1px solid var(--r-mag);
}

.r-acc-block:last-child {
  border-bottom: 1px solid var(--r-mag);
}

.r-acc-trigger {
  font-size: var(--tm);
  line-height: 1.1;
  letter-spacing: var(--lsl);
  padding: 0 0 1px;
  min-height: var(--rowh);
  align-items: baseline;
}

.r-acc-inner {
  border-top: none;
  padding-top: 0.4rem;
}

.r-acc-sub-t {
  font-size: var(--ts);
  font-weight: 500;
  letter-spacing: 0;
  margin-bottom: 0.15rem;
}

.r-acc-sub-t::before {
  content: none;
}

.r-acc-sub-t::after {
  content: '→';
  display: block;
  font-family: var(--fl);
  font-weight: 200;
  margin-top: 0.1rem;
}

.r-entry-points {
  padding: clamp(2.2rem, 8vw, 7rem) var(--mr) clamp(1.4rem, 4vw, 3.2rem) var(--ml);
}

.r-ep-t {
  display: inline-flex;
  align-items: center;
  gap: clamp(0.6rem, 1.8vw, 1.5rem);
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font-family: var(--f);
  font-weight: 500;
  font-size: var(--tl);
  line-height: var(--lhl);
  letter-spacing: var(--lsl);
  color: var(--r-mag);
  text-align: left;
}

.r-ep-t:hover {
  opacity: 0.75;
}

.r-ep-t .thin-arr {
  font-family: var(--fl);
  font-weight: 100;
  font-size: 0.85em;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.r-ep.open .r-ep-t .thin-arr {
  transform: rotate(90deg);
}

.r-ep-sub {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.r-ep.open .r-ep-sub {
  max-height: 420px;
}

.r-ep-sub-inner {
  display: flex;
  flex-direction: column;
  padding: 0.5rem 0 clamp(0.9rem, 2vw, 1.6rem) clamp(0.2rem, 1vw, 0.6rem);
}

.r-ep-sub-inner a {
  display: inline-flex;
  align-items: baseline;
  gap: 0.55rem;
  font-size: var(--tm);
  line-height: 1.3;
  letter-spacing: var(--lsl);
  color: var(--r-mag);
  text-decoration: none;
  min-height: var(--rowh);
  border-bottom: 1px solid var(--r-mag);
  padding-top: 1px;
}

.r-ep-sub-inner a:first-child {
  border-top: 1px solid var(--r-mag);
}

.r-ep-sub-inner a:hover {
  text-decoration: underline;
}

.r-ep-sub-inner a .thin-arr {
  font-family: var(--fl);
  font-weight: 200;
}

.r-footer {
  border-top: none;
  padding-bottom: clamp(0.8rem, 2vw, 1.6rem);
}

.r-footer-grid {
  grid-template-columns: repeat(5, 1fr);
}

.r-fc {
  padding: var(--sp) 0.6rem var(--sp) 0;
  border-right: none !important;
}

.r-fc:first-child {
  padding-left: var(--ml);
}

.r-fc-links {
  gap: 0;
}

.r-fc-links a,
.r-fc-links button,
.r-fc-meta {
  font-size: var(--ts);
  letter-spacing: 0;
  line-height: 1.14;
}

.r-fc-links a {
  text-decoration: none;
}

.r-fc-links a:hover,
.r-fc-links button:hover {
  text-decoration: underline;
}

.r-newsletter-input {
  font-family: var(--f);
  font-size: var(--ts);
  font-weight: 500;
  background: var(--r-mag);
  color: #fff;
  border: none;
  outline: none;
  padding: 0.35rem 0.5rem;
  margin-top: 0.35rem;
  width: 95%;
  max-width: 224px;
}

.r-newsletter-input::placeholder {
  color: #fff;
}

#programs-overlay {
  background: var(--r-mag);
}

#programs-overlay .prog-hdr::after,
#apply-overlay .prog-hdr::after,
#professionals-overlay .prog-hdr::after,
#visit-overlay .prog-hdr::after,
#rabout-overlay .prog-hdr::after {
  content: none;
}

.prog-filters {
  grid-template-columns: repeat(3, 1fr);
  border-bottom: none;
  padding: 0 25% clamp(1rem, 3vw, 2.4rem) 0;
  margin: 0 var(--mr) 0 var(--ml);
  gap: clamp(0.8rem, 2.2vw, 1.8rem);
}

.prog-fg {
  padding: 0;
  border-right: none !important;
}

.prog-fg-lbl {
  font-size: var(--ts);
  color: #fff;
  font-weight: 500;
  text-decoration: none;
  border-bottom: 1px solid #fff;
  padding-bottom: 0.3rem;
  margin-bottom: 0.55rem;
  letter-spacing: 0;
}

.prog-fo {
  color: #fff;
  font-weight: 500;
  font-size: var(--ts);
  gap: 0.28rem;
  letter-spacing: 0;
}

.prog-fo.sel {
  color: #fff;
}

.prog-fo:hover {
  text-decoration: underline;
}

.prog-day-h {
  font-size: var(--tl);
  line-height: var(--lhl);
  letter-spacing: var(--lsl);
  border-bottom: none;
  padding: clamp(0.5rem, 1.3vw, 1.05rem) var(--mr) clamp(0.15rem, 0.4vw, 0.3rem) var(--ml);
}

.prog-show-row {
  grid-template-columns: calc(50% - var(--sp)) 1fr auto;
  border-bottom: 1px solid #fff;
  padding: 0 0 1px;
  margin: 0 var(--mr) 0 var(--ml);
  min-height: var(--rowh);
  align-items: baseline;
  gap: var(--sp);
}

.prog-show-row:first-of-type {
  border-top: 1px solid #fff;
}

.prog-show-row:hover {
  background: rgba(255, 255, 255, 0.08);
}

.prog-company,
.prog-title {
  font-size: var(--tm);
  line-height: 1.12;
  letter-spacing: var(--lsl);
  text-decoration: none;
}

.prog-meta {
  display: none;
}

.prog-arr {
  font-family: var(--fl);
  font-weight: 200;
  font-size: var(--tm);
  color: #fff;
}

.prog-filters-toggle {
  display: inline-flex;
  align-items: baseline;
  gap: 0.45rem;
  background: none;
  border: none;
  border-bottom: 1px solid #fff;
  color: #fff;
  font-family: var(--f);
  font-weight: 500;
  font-size: var(--ts);
  letter-spacing: 0;
  cursor: pointer;
  margin: 0.2rem var(--mr) 0.9rem var(--ml);
  padding: 0 0 0.3rem;
  align-self: flex-start;
  flex-shrink: 0;
}

.prog-filters-toggle:hover {
  opacity: 0.8;
}

.prog-filters-toggle .pf-icon {
  font-family: var(--fl);
  font-weight: 300;
}

.prog-filters-wrap {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  flex-shrink: 0;
}

#programs-overlay.filters-open .prog-filters-wrap {
  max-height: 460px;
  overflow-y: auto;
}

#show-overlay {
  background: #fff;
  color: var(--r-mag);
  height: 60vh;
  transition:
    bottom 0.55s cubic-bezier(0.16, 1, 0.3, 1),
    height 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

#show-overlay.expanded {
  height: calc(100vh - var(--navh));
}

.show-hdr {
  background: #ffffff;
  border-bottom: none;
}

.show-hdr-tab {
  color: #fff;
  border-right: none;
  font-weight: 500;
  letter-spacing: 0;
}

.show-close {
  color: #fff;
}

.show-close:hover {
  color: #000;
}

.show-scroll {
  flex: 1;
  overflow-y: auto;
  min-height: 0;
}

.show-title-block {
  border-bottom: none;
  padding: clamp(1rem, 2.6vw, 2rem) var(--mr) clamp(0.7rem, 1.8vw, 1.4rem) var(--ml);
}

.show-company-name,
.show-piece-name {
  font-size: var(--tl);
  line-height: var(--lhl);
  letter-spacing: var(--lsl);
  color: var(--r-mag);
}

.show-body {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: var(--sp);
  overflow: visible;
  padding: 0 var(--mr) 30vh var(--ml);
}

.show-desc {
  padding: 0;
  overflow: visible;
  border-right: none;
}

.show-teaser {
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  color: var(--r-mag);
  margin-bottom: clamp(1rem, 2.6vw, 2rem);
}

.show-cred-row {
  grid-template-columns: minmax(110px, 32%) 1fr;
  border-bottom: none;
  padding: 0.14rem 0;
}

.show-cred-lbl {
  color: var(--r-mag);
  font-weight: 500;
}

.show-cred-val {
  color: var(--r-mag);
}

.show-aside {
  padding: 0;
  overflow: visible;
}

.show-img-duo {
  background: var(--r-mag);
  line-height: 0;
}

.show-aside img {
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: cover;
  filter: grayscale(1) contrast(1.15) brightness(1.05);
  mix-blend-mode: screen;
}

.show-meta-item {
  border-bottom: 1px solid var(--r-mag);
}

.show-meta-item:nth-child(odd) {
  border-right: 1px solid var(--r-mag);
}

.show-meta-lbl {
  color: var(--r-mag);
  opacity: 0.65;
}

.show-meta-val {
  color: var(--r-mag);
}

.r-pinned-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: var(--navh);
  z-index: 950;
  background: var(--r-mag);
  color: #fff;
  display: none;
  align-items: center;
  justify-content: center;
}

body.r-ov-open .r-pinned-nav {
  display: flex;
}

.r-pinned-nav .nav-btn {
  color: #fff;
}

.r-pinned-nav .nav-btn:hover {
  background: rgba(0, 0, 0, 0.25);
}

@media (max-width: 900px) {
  .r-footer-grid {
    grid-template-columns: 1fr 1fr;
  }
  .prog-filters {
    padding-right: 0;
    grid-template-columns: 1fr;
  }
}

#panel-r {
  background: #ededed;
}

.r-hero {
  background: var(--r-mag);
  height: 0;
  padding-top: 62.446%;
  overflow: hidden;
}

.r-hero-full {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  pointer-events: none;
}

.r-hero-full {
  display: none;
  z-index: 1;
}

.r-hero.use-full .r-hero-full {
  display: block;
}

.r-hero-dateline,
.r-hero-wordmark {
  display: none;
}

.r-hero .byline {
  visibility: hidden;
}

.r-hero-dateline {
  top: 3%;
  left: 32.5%;
  right: var(--mr);
  letter-spacing: -0.02em;
  line-height: 0.98;
}

.r-hero-dateline .dl-dates {
  font-size: clamp(2rem, 6.6vw, 6.1rem);
}

.r-hero .byline-brand-r {
  color: #fff;
}

.r-hero .byline-sub {
  color: #fff;
}

.r-hero-wordmark {
  left: auto;
  right: -0.4rem;
  bottom: -1%;
  transform: none;
  font-size: clamp(4rem, 16.5vw, 15.5rem);
  letter-spacing: -0.03em;
  line-height: 0.8;
}

.r-hero-wordmark span {
  transform: scaleX(-1) rotate(0.001deg);
}

.r-hero-wordmark.flipped span {
  transform: scaleX(-1);
}

.r-stmt-block {
  border-bottom: none;
  padding-bottom: clamp(1.2rem, 3vw, 2.4rem);
}

.r-ticket-btn {
  top: 46%;
  right: clamp(1rem, 4vw, 3.4rem);
  width: clamp(140px, 15.5vw, 216px);
  height: clamp(140px, 15.5vw, 216px);
  border: 1px dotted var(--r-mag);
  z-index: 3;
}

.r-ticket-btn .r-ticket-txt {
  display: inline-block;
  transform: rotate(-24deg);
  line-height: 1.05;
  text-align: center;
}

.r-avatars {
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x proximity;
  scroll-padding-left: var(--ml);
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  cursor: grab;
  gap: clamp(0.8rem, 1.55vw, 1.35rem);
  padding: clamp(1.2rem, 2.6vw, 2.2rem) var(--mr) clamp(1.2rem, 2.6vw, 2.2rem) var(--ml);
  border-top: 1px solid var(--r-mag);
  margin: 0 0 0 0;
}

.r-avatars::-webkit-scrollbar {
  display: none;
}

.r-avatars.dragging {
  cursor: grabbing;
  scroll-snap-type: none;
}

.r-avatars.dragging .r-avatar {
  pointer-events: none;
}

.r-avatar {
  scroll-snap-align: start;
}

.r-avatar {
  position: relative;
  flex: 0 0 clamp(140px, 16.2vw, 226px);
  width: clamp(140px, 16.2vw, 226px);
  aspect-ratio: 1;
  border-radius: 50%;
  overflow: hidden;
  background: var(--r-mag);
  cursor: pointer;
}

.r-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: grayscale(1) contrast(1.08) brightness(1.02);
  mix-blend-mode: lighten;
}

.r-avatar-name {
  display: none;
  position: absolute;
  inset: 0;
  align-items: center;
  justify-content: flex-start;
  padding-left: 16%;
  font-size: clamp(0.95rem, 1.85vw, 1.625rem);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -0.01em;
  color: var(--r-mag);
  text-align: left;
}

.r-avatar:hover,
.r-avatar:focus-visible {
  background: transparent;
  border: 1px dotted var(--r-mag);
}

.r-avatar:hover img,
.r-avatar:focus-visible img {
  display: none;
}

.r-avatar:hover .r-avatar-name,
.r-avatar:focus-visible .r-avatar-name {
  display: flex;
}

.r-program-lnk {
  align-items: flex-end;
  padding: clamp(0.6rem, 1.4vw, 1rem) var(--mr) clamp(0.5rem, 1.2vw, 0.9rem) var(--ml);
  border-top: 1px solid var(--r-mag);
}

.r-program-lnk .thin-arr {
  font-family: var(--fl);
  font-weight: 100;
  font-size: clamp(1.8rem, 3.6vw, 3.2rem);
  line-height: 1;
}

.r-show-row {
  grid-template-columns: 46% 24% 1fr auto;
  gap: 0.8rem;
  font-size: var(--tm);
  letter-spacing: -0.02em;
  padding: 0.28rem var(--mr) 0.28rem var(--ml);
  border-top: 1px solid var(--r-mag);
}

.r-show-row:last-child {
  border-bottom: 1px solid var(--r-mag);
}

.r-show-pin {
  width: 24px;
  height: 24px;
  font-size: 0.8rem;
  justify-self: start;
}

.r-show-row .thin-arr {
  font-family: var(--fl);
  font-weight: 100;
  font-size: var(--tm);
}

.r-venue {
  border-top: none;
  padding: clamp(1.6rem, 4vw, 3.4rem) var(--mr) clamp(1.6rem, 4vw, 3.4rem) var(--ml);
}

.r-ep {
  border-bottom: 1px solid var(--r-mag);
}

.r-ep:first-child {
  border-top: 1px solid var(--r-mag);
}

.r-ep-t {
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: flex-end;
  padding: 0.15rem 0 0.35rem;
}

.r-ep-t .thin-arr {
  font-size: clamp(1.8rem, 3.6vw, 3.2rem);
}

.r-acc-section {
  margin-top: clamp(2rem, 5.5vw, 4.6rem);
}

.r-footer {
  margin-top: clamp(1.6rem, 4vw, 3rem);
}

.r-footer-bar {
  height: clamp(6px, 0.8vw, 11px);
  background: var(--r-mag);
  margin: 0 var(--mr) 0 var(--ml);
}

.r-footer-grid {
  grid-template-columns: 1.35fr 1fr 1fr 1fr;
  border-top: 1px solid var(--r-mag);
  display: grid;
}

.r-fc {
  padding: var(--sp) 0.6rem var(--sp) 0;
}

.r-fc:first-child {
  padding-left: var(--ml);
}

.r-fc-byline {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1.2rem;
  align-items: start;
}

.r-fc-meta {
  font-size: var(--ts);
  line-height: 1.25;
  color: var(--r-mag);
}

.r-fc .r-fc-links a,
.r-fc .r-fc-links button {
  color: var(--r-mag);
}

.r-fc-last {
  padding-right: var(--mr);
}

.r-fc-last .r-fc-links a {
  opacity: 0.55;
}

.r-fc-last .r-fc-links a:hover {
  opacity: 1;
}

.r-sep-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--r-mag);
  margin: 0.35rem 0;
}

.r-newsletter-input {
  background: var(--r-mag);
  border: none;
  color: #fff;
  font-family: var(--f);
  font-weight: 500;
  font-size: var(--ts);
  padding: 0.35rem 0.55rem;
  width: 100%;
  max-width: 220px;
}

.r-newsletter-input::placeholder {
  color: #fff;
  opacity: 1;
}

@media (max-width: 900px) {
  .r-hero-dateline {
    left: var(--sp);
  }
  .r-hero-wordmark {
    font-size: clamp(3rem, 20vw, 6.5rem);
  }
  .r-avatars {
    overflow-x: auto;
  }
  .r-show-row {
    grid-template-columns: 1.4fr 0.6fr auto auto;
    font-size: var(--ts);
  }
  .r-footer-grid {
    grid-template-columns: 1fr 1fr;
  }
  .r-ticket-btn {
    top: auto;
    bottom: 0.5rem;
  }
}

#panel-r .dd-photo img,
#apply-overlay img,
#professionals-overlay img {
  filter: grayscale(1) sepia(1) saturate(9) hue-rotate(287deg) brightness(1.08) contrast(0.95);
  transition: filter 0.35s ease;
}

#panel-r .dd-photo img:hover,
#apply-overlay img:hover,
#professionals-overlay img:hover {
  filter: none;
}

.show-img-duo img {
  transition: filter 0.35s ease;
}

.show-img-duo img:hover {
  filter: none;
  mix-blend-mode: normal;
}

.tpage-overlay .prog-hdr,
#services-overlay .prog-hdr,
#resources-overlay .prog-hdr,
#members-overlay .prog-hdr,
#aboutt-overlay .prog-hdr {
  border-bottom: none;
}

.tpage-overlay .prog-hdr-title,
#services-overlay .prog-hdr-title {
  color: var(--ov-gray);
}

.r-acc-icon,
.acc-icon {
  font-family: var(--fl);
  font-weight: 300;
  transition: none;
}

.r-acc-block.open .r-acc-icon,
.acc-block.open .acc-icon {
  transform: none;
}

.r-acc-block.open .r-acc-icon::before,
.acc-block.open .acc-icon::before {
  content: '×';
}

.r-acc-block.open .r-acc-icon span,
.acc-block.open .acc-icon span {
  display: none;
}

#apply-overlay .prog-hdr-title,
#professionals-overlay .prog-hdr-title,
#visit-overlay .prog-hdr-title,
#rabout-overlay .prog-hdr-title,
#ticketing-overlay .prog-hdr-title,
#between-overlay .prog-hdr-title {
  color: #fff;
}

.news-item-arr,
.show-close {
  font-family: var(--fl);
  font-weight: 300;
}

.prog-close,
.show-close {
  font-family: var(--fl);
  font-weight: 300;
  font-size: var(--tm);
  line-height: 1;
  border-left: none;
  padding-top: 0.55rem;
  padding-bottom: 0.55rem;
}

.t-hero .byline,
.r-hero .byline {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 5;
  background: transparent !important;
  pointer-events: none;
  line-height: normal;
}

.t-hero .byline .byline-brand,
.t-hero .byline .byline-sub,
.r-hero .byline .byline-brand,
.r-hero .byline .byline-sub {
  color: #fff;
}

#panel-t .byline,
#panel-r .byline {
  background: transparent;
}

#panel-t .site-header,
#panel-r .site-header {
  position: sticky;
  top: 0;
  z-index: 200;
  background: transparent;
}

.t-gallery-grid img,
#panel-t .dd-photo img,
.t-hero img {
  filter: grayscale(1) contrast(1.05);
  transition: filter 0.35s ease;
}

.t-gallery-grid img:hover,
#panel-t .dd-photo img:hover,
.t-hero img:hover {
  filter: none;
}

.r-program-lnk .sw-arr path,
.r-ep-t .sw-arr path,
.t-gallery-nav .sw-arr path {
  stroke-width: 1.7;
}

.r-avatars .r-avatar:nth-child(5) img {
  object-position: 20% 30%;
}
.r-avatars .r-avatar:nth-child(6) img {
  object-position: 75% 20%;
}

.show-teaser,
.dd-left h3,
.dd-left h3.dd-big,
.svc-prev-t,
.svc-region,
.acc-trigger,
.acc-inner p,
.acc-inner .sub-lnk,
.t-bando-txt,
.t-regional-trigger,
.news-item-title,
.news-item-text,
.news-item-expand-inner p,
.news-filters-toggle,
.news-filter-col-h,
.calc-res-row,
.r-ticket-btn,
.r-acc-trigger,
.r-ep-sub-inner a,
.r-show-row,
.prog-company,
.prog-title {
  line-height: var(--lhm);
}

a:hover,
a:focus,
.nav-btn:hover,
.dd-left h3.dd-big:hover,
.fc-links a:hover,
.fc-links button:hover,
.svc-v-link a:hover,
.svc-prev-row:hover .svc-prev-t,
.acc-inner .sub-lnk:hover,
.prog-fo:hover,
.fc-opt:hover,
.calc-full-btn-red:hover,
.r-fc-links a:hover,
.apply-cta:hover {
  text-decoration: none;
}

:root {
  --navh: calc(var(--bw) + 0.16rem);
}

.r-pinned-nav,
.t-pinned-nav {
  position: fixed;
  top: 0;
  left: var(--bw);
  right: 0;
  height: var(--navh);
  min-height: var(--navh);
  z-index: 950;
  display: none;
  align-items: center;
  justify-content: flex-start;
  padding: 0 var(--mr) 0 calc(var(--ml) - var(--bw));
}

.r-pinned-nav {
  background: var(--r-mag);
  color: #fff;
}
.t-pinned-nav {
  background: #000;
  color: #fff;
}

body.r-ov-open .r-pinned-nav {
  display: flex;
}
body.t-ov-open .t-pinned-nav {
  display: flex;
}

.r-pinned-nav .nav-items,
.t-pinned-nav .nav-items {
  flex: 1;
  align-items: center;
}

.r-pinned-nav .nav-btn,
.t-pinned-nav .nav-btn {
  color: #fff;
}

.r-pinned-nav .nav-btn:hover,
.t-pinned-nav .nav-btn:hover {
  background: none;
  text-decoration: none;
}

.r-pinned-nav .nav-aa {
  color: var(--g-rosa);
}
.t-pinned-nav .nav-aa {
  color: var(--g-nero);
}

#news-overlay {
  height: 85vh;
  transition:
    bottom 0.55s cubic-bezier(0.16, 1, 0.3, 1),
    height 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

#news-overlay.expanded {
  height: calc(100vh - var(--navh));
}

.news-filters-bar {
  background: none;
  color: inherit;
  flex-shrink: 0;
}

#news-overlay .news-filters-toggle {
  display: inline-flex;
  align-items: baseline;
  gap: 0.45rem;
  width: auto;
  background: none;
  border: none;
  border-bottom: 1px solid var(--t-fg);
  color: var(--t-fg);
  font-family: var(--f);
  font-weight: 500;
  font-size: var(--ts);
  letter-spacing: 0;
  cursor: pointer;
  margin: 0.2rem var(--mr) 0.9rem var(--ml);
  padding: 0 0 0.3rem;
  align-self: flex-start;
}

#news-overlay .news-filters-toggle:hover {
  opacity: 0.8;
}

#news-overlay .news-filters-toggle span {
  font-family: var(--fl);
  font-weight: 300;
}

.news-filters-wrap {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  flex-shrink: 0;
}

#news-overlay.filters-open .news-filters-wrap {
  max-height: 460px;
  overflow-y: auto;
}

#news-overlay .news-filters-grid {
  max-height: none;
  overflow: visible;
  padding: 0 var(--mr) 1.4rem var(--ml);
}

#news-overlay .news-filter-col-h {
  font-size: var(--ts);
  border-bottom: 1px solid var(--t-fg);
  padding-bottom: 0.3rem;
  margin-bottom: 0.55rem;
}

#news-overlay .news-filter-item {
  font-size: var(--ts);
  color: var(--t-fg);
}

.t-services-full .acc-block {
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
}

#apply-overlay .t-services-full .acc-block,
#ticketing-overlay .t-services-full .acc-block,
#between-overlay .t-services-full .acc-block {
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
}

#apply-overlay .t-services-full .acc-block:last-child,
#ticketing-overlay .t-services-full .acc-block:last-child,
#between-overlay .t-services-full .acc-block:last-child {
  border-bottom: 1px solid #fff;
}

.t-services-full .acc-inner ul {
  padding-left: 1.1rem;
  margin: 0.35rem 0 0;
}

.t-services-full .acc-inner li {
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  color: var(--g-inv);
}

.t-services-full .acc-inner strong {
  color: #fff;
  font-weight: 500;
}

.t-services-full .acc-inner .calc-full-btn {
  color: #fff;
  margin-top: 0.5rem;
}

.t-services-full .acc-inner .apply-fee-grid {
  margin: 0.6rem 0 0;
}

.t-services-full .acc-block.open .acc-body {
  max-height: 1200px;
}

.show-meta-grid {
  display: flex;
  flex-direction: column;
  margin-top: clamp(0.7rem, 1.8vw, 1.4rem);
}

.show-meta-item,
.show-meta-item:nth-child(odd),
.show-meta-item:nth-child(even) {
  display: grid;
  grid-template-columns: minmax(110px, 32%) 1fr;
  align-items: baseline;
  padding: 0.14rem 0;
  border: none;
}

.show-meta-lbl,
.show-meta-val {
  font-size: var(--ts);
  line-height: 1.14;
  margin-bottom: 0;
  color: var(--r-mag);
  opacity: 1;
}

.show-scroll {
  overflow-x: hidden;
}

.show-aside {
  padding: clamp(0.6rem, 1.6vw, 1.2rem) 0 clamp(0.6rem, 1.6vw, 1.2rem) clamp(0.6rem, 1.6vw, 1.2rem);
  margin-right: 0;
}

.edge-band,
.edge-band:hover,
.edge-band:focus,
.edge-band span {
  text-decoration: none;
}

body[data-world='radar'] .nav-dd {
  background: var(--r-mag);
  color: #fff;
}

body[data-world='radar'] .nav-dd .dd-left h3.dd-big,
body[data-world='radar'] .nav-dd .dd-left p {
  color: #fff;
}

body[data-world='radar'] .nav-dd .dd-photo img {
  filter: grayscale(1) contrast(1.15) brightness(1.05);
  mix-blend-mode: screen;
}

.show-rule {
  height: 0;
  border: none;
  border-top: 1px solid currentColor;
  color: var(--r-mag);
  opacity: 0.55;
}

.show-scroll > .show-rule {
  margin: 0 var(--mr) clamp(0.7rem, 1.8vw, 1.4rem) var(--ml);
}

.show-scroll > .show-rule:first-child {
  margin-bottom: 0;
}

.show-rule--in {
  margin: clamp(0.7rem, 1.8vw, 1.4rem) 0;
  width: 100%;
}

.show-desc .show-rule--in + .show-meta-grid {
  margin-top: 0;
}

.show-close {
  color: var(--r-mag);
  opacity: 1;
}

.show-close:hover,
.show-close:focus {
  color: #000;
}

.news-year {
  font-size: var(--tl);
  font-weight: 500;
  line-height: var(--lhl);
  letter-spacing: var(--lsl);
  color: var(--t-fg);
  padding: clamp(1.2rem, 2.8vw, 2.2rem) var(--mr) clamp(0.2rem, 0.6vw, 0.5rem) var(--ml);
  border-top: 1px solid var(--t-fg);
}

.news-group:first-child .news-year {
  border-top: none;
}

.news-group[hidden] {
  display: none;
}

:root {
  --news-date-col: clamp(3.4rem, 6.6vw, 4.9rem);
}

.news-item-row {
  display: grid;
  width: 100%;
  background: none;
  border: none;
  border-radius: 0;
  font: inherit;
  color: inherit;
  text-align: left;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  grid-template-columns: var(--news-date-col) 1fr 2rem;
  align-items: baseline;
  gap: var(--sp);
  padding: clamp(0.5rem, 1.1vw, 0.8rem) var(--mr) clamp(0.5rem, 1.1vw, 0.8rem) var(--ml);
}

.news-item-date {
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}

.news-item-title {
  letter-spacing: var(--lsl);
}

.news-item-expand-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 12rem;
  gap: var(--sp);
  padding: 0 var(--mr) clamp(1rem, 2.4vw, 1.8rem) var(--ml);
}

.news-item-text {
  max-height: none;
  overflow: visible;
  padding-right: 0;
  text-align: left;
  text-indent: 0;
  hyphens: none;
}

.news-item-text > *:first-child {
  margin-top: 0;
}

.news-item-text p {
  margin: 0 0 0.6em;
}

.news-item-text p:last-child {
  margin-bottom: 0;
}

.news-item-text strong {
  color: var(--t-fg);
  font-weight: 500;
}

.news-item-text a {
  color: var(--t-fg);
  text-decoration: underline;
  text-underline-offset: 0.14em;
}

.news-item-text ul {
  margin: 0.2em 0 0.6em;
  padding-left: 0;
  list-style-position: inside;
}

.news-item-text li {
  margin-bottom: 0.15em;
}

.news-item.expanded .news-item-expand {
  max-height: 3000px;
}

.news-item {
  scroll-margin-top: clamp(1rem, 3vw, 2.4rem);
  position: relative;
}

.news-item.targeted::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--t-red);
}

.news-item.targeted {
  background: var(--t-hl);
}

.news-item.targeted.flash {
  animation: news-flash 1.6s ease-out 1;
}

@keyframes news-flash {
  0% {
    background: var(--t-red);
  }
  18% {
    background: var(--t-red);
  }
  100% {
    background: var(--t-hl);
  }
}

body.no-anim .news-item.targeted.flash {
  animation: none;
}

@media (prefers-reduced-motion: reduce) {
  .news-item.targeted.flash {
    animation: none;
  }
}

.news-item-meta a,
.news-item-dl {
  color: var(--t-fg);
  text-decoration: underline;
  text-underline-offset: 0.14em;
}

.news-item-meta a:hover {
  opacity: 0.7;
}

.news-item-share {
  display: inline-flex;
  align-items: baseline;
  gap: 0.4rem;
  background: none;
  border: none;
  border-bottom: 1px solid var(--t-fg);
  color: var(--t-fg);
  font-family: var(--f);
  font-weight: 500;
  font-size: var(--ts);
  letter-spacing: 0;
  padding: 0 0 0.2rem;
  cursor: pointer;
  align-self: flex-start;
}

.news-item-share:hover {
  opacity: 0.7;
}

.news-item-share.copied {
  border-bottom-color: var(--t-red);
  color: var(--t-red);
}

@media (max-width: 900px) {
  .news-item-row {
    grid-template-columns: var(--news-date-col) 1fr 1.5rem;
    column-gap: 0.8rem;
  }

  .news-item-date {
    grid-column: 1 / 3;
  }

  .news-item-title {
    grid-column: 1 / 3;
  }

  .news-item-arr {
    grid-column: 3;
    grid-row: 1 / 3;
    align-self: center;
  }

  .news-item-expand-inner {
    grid-template-columns: 1fr;
    padding-left: var(--ml);
  }
}

.fm {
  --fm-fg: var(--t-fg);
  --fm-mu: var(--t-mu);
  --fm-line: #000;
  --fm-line-strong: var(--t-fg);
  --fm-accent: var(--t-red);
  --fm-field-gap: clamp(0.9rem, 2vw, 1.5rem);
  color: var(--fm-fg);
}

.fm-theme-t {
  --fm-fg: var(--t-bg);
  --fm-mu: var(--g-nero);
  --fm-line: #fff;
  --fm-line-strong: #fff;
  --fm-accent: var(--t-red);
}

.fm-theme-r {
  --fm-fg: var(--r-mag);
  --fm-mu: var(--g-rosa-bianco);
  --fm-line: var(--r-mag);
  --fm-line-strong: var(--r-mag);
  --fm-accent: var(--r-mag);
}

.fm-body {
  max-width: 72rem;
}

.fm a,
.fm-callout a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.14em;
}

.fm a:hover {
  opacity: 0.7;
}

.fm-intro {
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  color: var(--fm-mu);
  max-width: 46ch;
  padding-bottom: clamp(0.8rem, 2vw, 1.4rem);
}

.fm-sec {
  border: none;
  border-top: 1px solid var(--fm-line-strong);
  padding: clamp(0.9rem, 2vw, 1.5rem) 0 clamp(1.1rem, 2.4vw, 1.9rem);
  min-width: 0;
}

.fm-sec > legend {
  padding: 0;
  display: block;
  width: 100%;
}

.fm-sec:first-of-type {
  border-top: none;
}

.fm-sec-h {
  font-size: var(--tm);
  font-weight: 500;
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  margin-bottom: clamp(0.7rem, 1.6vw, 1.1rem);
}

.fm-sec-note {
  font-size: var(--ts);
  line-height: 1.25;
  color: var(--fm-mu);
  max-width: 60ch;
  margin: -0.4rem 0 clamp(0.7rem, 1.6vw, 1.1rem);
}

.fm-sec-note a {
  color: inherit;
  text-underline-offset: 0.14em;
}

.fm-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--fm-field-gap);
}

.fm-c12 {
  grid-column: span 12;
}
.fm-c8 {
  grid-column: span 8;
}
.fm-c6 {
  grid-column: span 6;
}
.fm-c4 {
  grid-column: span 4;
}
.fm-c3 {
  grid-column: span 3;
}

.fm-field {
  display: flex;
  flex-direction: column;
}

.fm-label {
  font-size: var(--ts);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.2;
  color: var(--fm-mu);
  margin-bottom: 0.25rem;
}

.fm-req {
  color: var(--fm-accent);
}

.fm-hint {
  font-size: var(--ts);
  line-height: 1.25;
  color: var(--fm-mu);
  margin-top: 0.3rem;
  max-width: 58ch;
}

.fm-input,
.fm-select,
.fm-textarea {
  font-family: var(--f);
  font-weight: 500;
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  color: var(--fm-fg);
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--fm-line);
  border-radius: 0;
  padding: 0.15rem 0 0.35rem;
  width: 100%;
  transition: border-color 0.2s ease;
  -webkit-appearance: none;
  appearance: none;
}

.fm-textarea {
  min-height: 5.5em;
  resize: vertical;
  line-height: 1.15;
}

.fm-input::placeholder,
.fm-textarea::placeholder {
  color: var(--fm-mu);
  opacity: 1;
}

.fm-input:hover,
.fm-select:hover,
.fm-textarea:hover {
  border-bottom-color: var(--fm-line-strong);
}

.fm-input:focus,
.fm-select:focus,
.fm-textarea:focus,
.fm-file-btn:focus-visible,
.fm-submit:focus-visible,
.fm-tab:focus-visible,
.fm-check:focus-visible + .fm-check-box,
.fm-radio:focus-visible + .fm-radio-dot {
  outline: 2px solid var(--fm-accent);
  outline-offset: 3px;
}

.fm-input:focus,
.fm-select:focus,
.fm-textarea:focus {
  border-bottom-color: var(--fm-line-strong);
}

.fm-select {
  padding-right: 1.8em;
  background-repeat: no-repeat;
  background-position: right 0.15em center;
  background-size: 0.85em auto;
  cursor: pointer;
}

.fm-theme-t .fm-select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 44'%3E%3Cpath d='M12 1 V42 M2 32 L12 42 L22 32' fill='none' stroke='%23EDEDED' stroke-width='2.4'/%3E%3C/svg%3E");
}

.fm-theme-r .fm-select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 44'%3E%3Cpath d='M12 1 V42 M2 32 L12 42 L22 32' fill='none' stroke='%23FF00FF' stroke-width='2.4'/%3E%3C/svg%3E");
}

.fm-theme-t .fm-select option {
  background: #000;
  color: #ededed;
}
.fm-theme-r .fm-select option {
  background: #fff;
  color: #ff00ff;
}

.fm-field.is-invalid .fm-input,
.fm-field.is-invalid .fm-select,
.fm-field.is-invalid .fm-textarea,
.fm-field.is-invalid .fm-opts {
  border-bottom-color: var(--fm-accent);
}

.fm-error {
  font-size: var(--ts);
  color: var(--fm-accent);
  margin-top: 0.3rem;
  display: none;
}

.fm-field.is-invalid .fm-error {
  display: block;
}

.fm-opts {
  display: flex;
  flex-direction: column;
  gap: 0.34rem;
  padding-top: 0.2rem;
}

.fm-opts-inline {
  flex-direction: row;
  flex-wrap: wrap;
  column-gap: clamp(1rem, 2.4vw, 2rem);
  row-gap: 0.34rem;
}

.fm-opts-cols {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr));
  gap: 0.34rem clamp(1rem, 2.4vw, 2rem);
}

.fm-opt {
  display: grid;
  grid-template-columns: 1.05em 1fr;
  align-items: start;
  gap: 0.55rem;
  font-size: var(--ts);
  line-height: 1.25;
  cursor: pointer;
  color: var(--fm-fg);
}

.fm-opt:hover .fm-check-box,
.fm-opt:hover .fm-radio-dot {
  border-color: var(--fm-fg);
}

.fm-check,
.fm-radio {
  position: absolute;
  opacity: 0;
  width: 1.05em;
  height: 1.05em;
  margin: 0;
}

.fm-check-box,
.fm-radio-dot {
  width: 1.05em;
  height: 1.05em;
  border: 1px solid var(--fm-line-strong);
  background: transparent;
  flex-shrink: 0;
  margin-top: 0.08em;
  transition:
    background 0.16s ease,
    border-color 0.16s ease;
}

.fm-radio-dot {
  border-radius: 50%;
}

.fm-check:checked + .fm-check-box {
  background: var(--fm-accent);
  border-color: var(--fm-accent);
}

.fm-radio:checked + .fm-radio-dot {
  border-color: var(--fm-accent);
  box-shadow: inset 0 0 0 0.22em var(--fm-accent);
}

.fm-opt-txt {
  display: block;
}

.fm-file {
  display: flex;
  flex-direction: column;
}

.fm-file input[type='file'] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.fm-file-row {
  display: flex;
  align-items: baseline;
  gap: 0.8rem;
  flex-wrap: wrap;
  padding-top: 0.2rem;
}

.fm-file-btn {
  font-family: var(--f);
  font-weight: 500;
  font-size: var(--ts);
  color: var(--fm-fg);
  background: none;
  border: 1px solid var(--fm-line-strong);
  border-radius: 0;
  padding: 0.4rem 0.9rem;
  cursor: pointer;
  transition:
    background 0.18s ease,
    color 0.18s ease;
}

.fm-file-btn:hover {
  background: var(--fm-fg);
  color: var(--fm-accent);
}

.fm-theme-r .fm-file-btn:hover {
  background: var(--fm-accent);
  color: #fff;
}

.fm-file-name {
  font-size: var(--ts);
  color: var(--fm-mu);
}

.fm-file-name.has-file {
  color: var(--fm-fg);
}

.fm-repeat-row {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) auto;
  gap: var(--fm-field-gap);
  align-items: end;
  margin-bottom: 0.6rem;
}

.fm-row-del {
  font-family: var(--fl);
  font-weight: 300;
  font-size: var(--tm);
  line-height: 1;
  background: none;
  border: none;
  color: var(--fm-mu);
  cursor: pointer;
  padding: 0 0 0.2rem;
}

.fm-row-del:hover {
  color: var(--fm-accent);
}

.fm-row-add {
  font-family: var(--f);
  font-weight: 500;
  font-size: var(--ts);
  background: none;
  border: none;
  border-bottom: 1px solid var(--fm-line-strong);
  color: var(--fm-fg);
  cursor: pointer;
  padding: 0 0 0.2rem;
}

.fm-row-add:hover {
  opacity: 0.75;
}

.fm-foot {
  border-top: 1px solid var(--fm-line-strong);
  padding-top: clamp(1rem, 2.2vw, 1.6rem);
  display: flex;
  align-items: center;
  gap: clamp(1rem, 2.4vw, 2rem);
  flex-wrap: wrap;
}

.fm-submit {
  font-family: var(--f);
  font-weight: 500;
  font-size: var(--tm);
  letter-spacing: var(--lsl);
  line-height: 1;
  color: var(--fm-fg);
  background: none;
  border: 1px solid var(--fm-line-strong);
  border-radius: 0;
  padding: 0.55rem 1.4rem 0.65rem;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  transition:
    background 0.2s ease,
    color 0.2s ease;
}

.fm-submit:hover {
  background: var(--fm-fg);
  color: var(--fm-accent);
}

.fm-theme-r .fm-submit:hover {
  background: var(--fm-accent);
  color: #fff;
}

.fm-submit-alt {
  font-family: var(--f);
  font-weight: 500;
  font-size: var(--ts);
  background: none;
  border: none;
  border-bottom: 1px solid var(--fm-line-strong);
  color: var(--fm-fg);
  cursor: pointer;
  padding: 0 0 0.25rem;
}

.fm-submit-alt:hover {
  opacity: 0.75;
}

.fm-status {
  font-size: var(--ts);
  line-height: 1.3;
  color: var(--fm-mu);
  flex: 1 1 14rem;
  min-width: 0;
}

.fm-status.is-error {
  color: var(--fm-accent);
}

.fm-status.is-ok {
  color: var(--fm-fg);
}

.fm-done {
  display: none;
  font-size: var(--tl);
  line-height: var(--lhl);
  letter-spacing: var(--lsl);
  padding: clamp(1.4rem, 3vw, 2.6rem) 0;
}

.fm-done p {
  font-size: var(--tm);
  line-height: var(--lhm);
  color: var(--fm-mu);
  margin-top: clamp(0.6rem, 1.4vw, 1rem);
  max-width: 44ch;
}

.fm.is-sent .fm-body {
  display: none;
}

.fm.is-sent .fm-done {
  display: block;
}

.t-members-form {
  padding: clamp(0.6rem, 1.4vw, 1rem) var(--mr) clamp(2.4rem, 5vw, 4rem) var(--ml);
}

.fm-open-btn {
  font-family: var(--f);
  font-weight: 500;
  font-size: var(--tm);
  letter-spacing: var(--lsl);
  color: inherit;
  background: none;
  border: 1px solid currentColor;
  border-radius: 0;
  padding: 0.45rem 1.1rem 0.55rem;
  margin-top: 0.7rem;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  transition:
    background 0.2s ease,
    color 0.2s ease;
}

.fm-open-btn:hover {
  background: currentColor;
}

.fm-open-btn:hover span {
  color: #000;
}

.apply-badge-wrap {
  position: relative;
  padding: 0 var(--mr) clamp(1rem, 2.4vw, 1.8rem) var(--ml);
  display: flex;
  justify-content: flex-start;
}

.apply-badge {
  width: clamp(112px, 12vw, 168px);
  height: clamp(112px, 12vw, 168px);
  border-radius: 50%;
  border: 1px dotted #fff;
  background: transparent;
  color: #fff;
  font-family: var(--f);
  font-weight: 500;
  font-size: var(--tm);
  line-height: var(--lhm);
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transform: rotate(-10deg);
  transition:
    transform 0.25s ease,
    background 0.25s ease,
    color 0.25s ease;
}

.apply-badge .apply-badge-txt {
  display: inline-block;
  transform: rotate(-14deg);
  line-height: 1.05;
}

.apply-badge:hover,
.apply-badge:focus-visible {
  transform: rotate(0deg);
  background: #fff;
  color: var(--r-mag);
}

body.no-anim .apply-badge,
body.no-anim .apply-badge .apply-badge-txt {
  transform: none;
}

#apply-forms-overlay {
  position: fixed;
  inset: 0;
  z-index: 1200;
  background: var(--r-bg);
  color: var(--r-mag);
  display: flex;
  flex-direction: column;
  opacity: 0;
  visibility: hidden;
  transform: translateY(2.5%);
  transition:
    opacity 0.4s ease,
    transform 0.55s cubic-bezier(0.16, 1, 0.3, 1),
    visibility 0.4s;
}

#apply-forms-overlay.open {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

body.no-anim #apply-forms-overlay {
  transition: none;
}

#apply-forms-overlay .prog-hdr {
  border-bottom: 1px solid var(--r-mag);
  background: var(--r-bg);
}

#apply-forms-overlay .prog-hdr-title {
  color: var(--r-mag);
}

#apply-forms-overlay .prog-close {
  color: var(--r-mag);
  border-left: none;
  font-family: var(--fl);
  font-weight: 300;
  font-size: var(--tm);
}

.fm-tabs {
  display: flex;
  gap: 0;
  border-bottom: 1px solid var(--r-mag);
  flex-shrink: 0;
  overflow-x: auto;
  scrollbar-width: none;
}

.fm-tabs::-webkit-scrollbar {
  display: none;
}

.fm-tab {
  font-family: var(--f);
  font-weight: 500;
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  text-align: left;
  color: var(--r-mag);
  background: none;
  border: none;
  border-radius: 0;
  padding: clamp(0.6rem, 1.4vw, 1rem) clamp(0.9rem, 2vw, 1.6rem);
  cursor: pointer;
  white-space: nowrap;
  opacity: 0.5;
  transition:
    opacity 0.2s ease,
    background 0.2s ease,
    color 0.2s ease;
}

.fm-tab:first-child {
  padding-left: var(--ml);
}

.fm-tab:hover {
  opacity: 0.8;
}

.fm-tab[aria-selected='true'] {
  opacity: 1;
  background: var(--r-mag);
  color: #fff;
}

.fm-panes {
  flex: 1;
  overflow-y: auto;
  overscroll-behavior: contain;
}

.fm-pane {
  padding: clamp(1rem, 2.4vw, 1.8rem) var(--mr) clamp(3rem, 6vw, 5rem) var(--ml);
}

.fm-pane[hidden] {
  display: none;
}

.fm-pane-h {
  font-size: var(--tl);
  font-weight: 500;
  line-height: var(--lhl);
  letter-spacing: var(--lsl);
  max-width: 18ch;
  margin-bottom: clamp(0.6rem, 1.4vw, 1rem);
}

.fm-callout {
  border: 1px solid var(--fm-line-strong);
  padding: clamp(0.8rem, 1.8vw, 1.2rem);
  font-size: var(--ts);
  line-height: 1.35;
  max-width: 52ch;
  margin-bottom: clamp(0.8rem, 1.8vw, 1.2rem);
}

.fm-callout strong {
  font-weight: 500;
}

.fm-callout .fm-iban {
  display: block;
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  margin: 0.35rem 0 0.25rem;
  font-variant-numeric: tabular-nums;
}

@media (max-width: 900px) {
  .fm-c8,
  .fm-c6,
  .fm-c4,
  .fm-c3 {
    grid-column: span 12;
  }

  .fm-repeat-row {
    grid-template-columns: 1fr auto;
  }

  .fm-repeat-row .fm-field:nth-child(2) {
    grid-column: 1 / 2;
  }

  .fm-pane-h {
    max-width: none;
  }

  .fm-tab {
    font-size: var(--ts);
  }
}

@media (max-width: 620px) {
  .fm-opts-cols {
    grid-template-columns: 1fr 1fr;
  }

  .fm-foot {
    align-items: flex-start;
    flex-direction: column;
  }
}

.r-hero {
  container-type: inline-size;
  container-name: rhero;
  background: var(--r-mag);
}

.r-hero-shapes {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  will-change: transform;
}

.r-hero-shape {
  position: absolute;
  display: block;
  width: auto;
  height: auto;
  object-fit: fill;
  transform-origin: center center;
  will-change: transform;
}

.r-hero-shape-sphere {
  left: 8.082%;
  top: 28.683%;
  width: 16.464%;
  height: 26.403%;
  animation: r-drift-sphere 19s ease-in-out infinite;
}

.r-hero-shape-rect {
  left: 44.478%;
  top: 4.32%;
  width: 50.853%;
  height: 61.146%;
  animation: r-drift-rect 24s ease-in-out infinite;
}

.r-hero-shape-square {
  left: 31.389%;
  top: 36.604%;
  width: 26.964%;
  height: 54.365%;
  animation: r-drift-square 28s ease-in-out infinite;
}

@keyframes r-drift-sphere {
  0%,
  100% {
    transform: translate3d(0, 0, 0);
  }
  33% {
    transform: translate3d(1.1%, -2.2%, 0);
  }
  66% {
    transform: translate3d(-0.9%, 1.6%, 0);
  }
}

@keyframes r-drift-rect {
  0%,
  100% {
    transform: translate3d(0, 0, 0) rotate(0deg);
  }
  40% {
    transform: translate3d(-1.2%, 0.9%, 0) rotate(-1.1deg);
  }
  70% {
    transform: translate3d(0.7%, -0.6%, 0) rotate(0.7deg);
  }
}

@keyframes r-drift-square {
  0%,
  100% {
    transform: translate3d(0, 0, 0) rotate(0deg);
  }
  35% {
    transform: translate3d(1.6%, 1.2%, 0) rotate(1.4deg);
  }
  75% {
    transform: translate3d(-1.1%, -0.8%, 0) rotate(-0.9deg);
  }
}

.r-hero-shape {
  opacity: 0;
  animation-play-state: paused;
}

.r-hero.shapes-in .r-hero-shape {
  opacity: 1;
  animation-play-state: running;
  transition: opacity 0.9s ease;
}

.r-hero.shapes-in .r-hero-shape-rect {
  transition-delay: 0.05s;
}
.r-hero.shapes-in .r-hero-shape-sphere {
  transition-delay: 0.2s;
}
.r-hero.shapes-in .r-hero-shape-square {
  transition-delay: 0.35s;
}

.r-hero-dateline {
  display: flex !important;
  position: absolute;
  z-index: 4;
  top: 2.98cqw;
  left: 31.3cqw;
  right: 2.37cqw;
  justify-content: space-between;
  align-items: baseline;
  gap: 1cqw;
  color: #fff;
  font-family: var(--f);
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 0.72;
  pointer-events: none;
  text-wrap: balance;
}

.r-hero-dateline .dl-dates {
  font-size: 6.84cqw;
  line-height: inherit;
  letter-spacing: inherit;
  white-space: nowrap;
}

.r-hero-wordmark {
  display: flex !important;
  position: absolute;
  z-index: 4;
  left: auto;
  right: 2.57cqw;
  bottom: -2cqw;
  transform: none;
  align-items: baseline;
  color: #fff;
  font-family: var(--f);
  font-weight: 500;
  font-size: 26.35cqw;
  line-height: 0.8;
  letter-spacing: -0.03em;
  pointer-events: none;
  perspective: 60cqw;
  perspective-origin: 50% 50%;
}

.r-hero-wordmark span {
  display: inline-block;
  transform-style: preserve-3d;
  backface-visibility: visible;
  transform: rotateY(0deg);
  transition: transform 0.85s cubic-bezier(0.16, 1, 0.3, 1);
}

.r-hero-wordmark.mirrored span {
  transform: rotateY(180deg);
}

.r-hero-wordmark span:nth-child(1) {
  transition-delay: 0.32s;
}
.r-hero-wordmark span:nth-child(2) {
  transition-delay: 0.24s;
}
.r-hero-wordmark span:nth-child(3) {
  transition-delay: 0.16s;
}
.r-hero-wordmark span:nth-child(4) {
  transition-delay: 0.08s;
}
.r-hero-wordmark span:nth-child(5) {
  transition-delay: 0s;
}

.r-hero-wordmark.no-transition span {
  transition: none;
}

.r-hero .byline {
  visibility: visible;
}

.r-hero .byline-brand-r,
.r-hero .byline-sub {
  color: #fff;
}

.r-hero.use-full .r-hero-full {
  display: block;
}

.r-hero.use-full .r-hero-shapes {
  display: none;
}

body.no-anim .r-hero-shape,
body.no-anim .r-hero-wordmark span {
  animation: none !important;
  transition: none !important;
}

body.no-anim .r-hero-shape {
  opacity: 1;
}

body.no-anim .r-hero-wordmark.mirrored span {
  transform: rotateY(0deg);
}

@media (prefers-reduced-motion: reduce) {
  .r-hero-shape,
  .r-hero-wordmark span {
    animation: none !important;
    transition: none !important;
  }

  .r-hero-shape {
    opacity: 1;
  }

  .r-hero-wordmark.mirrored span {
    transform: rotateY(0deg);
  }
}

@container rhero (max-width: 700px) {
  .r-hero-dateline {
    left: 4cqw;
    right: 4cqw;
    top: 16cqw;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
  }

  .r-hero-dateline .dl-dates {
    font-size: 9.2cqw;
  }

  .r-hero-wordmark {
    font-size: 30cqw;
    right: 3cqw;
  }
}

:root {
  --field-r: 0.55rem;
  --field-pad-y: 0.42rem;
  --field-pad-x: 0.7rem;
}

input,
select,
textarea,
.fm-input,
.fm-select,
.fm-textarea,
.r-newsletter-input,
.t-newsletter-input {
  border-radius: var(--field-r);
  -webkit-appearance: none;
  appearance: none;
}

.fm-input,
.fm-select,
.fm-textarea {
  border: 1px solid var(--fm-line);
  border-bottom-width: 1px;
  background-color: rgba(127, 127, 127, 0.07);
  padding: var(--field-pad-y) var(--field-pad-x);
  transition:
    border-color 0.2s ease,
    background-color 0.2s ease,
    box-shadow 0.2s ease;
}

.fm-input:hover,
.fm-select:hover,
.fm-textarea:hover {
  border-color: var(--fm-line-strong);
  background-color: rgba(127, 127, 127, 0.11);
}

.fm-input:focus,
.fm-select:focus,
.fm-textarea:focus {
  border-color: var(--fm-line-strong);
  background-color: rgba(127, 127, 127, 0.13);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--fm-accent) 22%, transparent);
  outline: none;
}

.fm-textarea {
  padding-top: 0.55rem;
}

.fm-select {
  padding-right: 2.1em;
  background-position: right 0.6em center;
}

.fm-field.is-invalid .fm-input,
.fm-field.is-invalid .fm-select,
.fm-field.is-invalid .fm-textarea {
  border-color: var(--fm-accent);
}

.r-newsletter-input,
.t-newsletter-input {
  padding: 0.42rem 0.75rem;
}

.fm-file-btn,
.fm-submit,
.fm-open-btn,
.fm-check-box {
  border-radius: var(--field-r);
}

.fm-check-box {
  border-radius: 0.25rem;
}

@media (max-width: 1150px) {
  .nav-btn {
    margin-right: clamp(0.8rem, 2.2vw, 1.6rem);
  }
}

@media (max-width: 1000px) {
  .nav-btn {
    margin-right: clamp(0.6rem, 1.6vw, 1.1rem);
  }
  .r-pinned-nav .nav-btn,
  .t-pinned-nav .nav-btn {
    margin-right: clamp(0.6rem, 1.6vw, 1.1rem);
  }
}

.r-hero-shape,
.r-hero.shapes-in .r-hero-shape {
  transition:
    left 1.45s cubic-bezier(0.62, 0, 0.2, 1),
    top 1.45s cubic-bezier(0.62, 0, 0.2, 1),
    width 1.45s cubic-bezier(0.62, 0, 0.2, 1),
    height 1.45s cubic-bezier(0.62, 0, 0.2, 1),
    rotate 1.45s cubic-bezier(0.62, 0, 0.2, 1),
    opacity 0.9s ease;
}

.r-hero-shapes {
  --shape-box: 1.12;
}

.r-hero.logo-state .r-hero-shape {
  rotate: 0deg;
}

.r-hero.logo-state .r-hero-shape-rect {
  left: calc(23.67% / var(--shape-box));
  top: calc(-2.05% / var(--shape-box));
  width: calc(51.2% / var(--shape-box));
  height: calc(61.85% / var(--shape-box));
  rotate: -29.5deg;
}

.r-hero.logo-state .r-hero-shape-square {
  left: calc(35.3% / var(--shape-box));
  top: calc(40.77% / var(--shape-box));
  width: calc(27.93% / var(--shape-box));
  height: calc(57.54% / var(--shape-box));
  rotate: 23deg;
}

.r-hero.logo-state .r-hero-shape-sphere {
  left: calc(58.86% / var(--shape-box));
  top: calc(69.21% / var(--shape-box));
  width: calc(16.39% / var(--shape-box));
  height: calc(26.23% / var(--shape-box));
  rotate: 0deg;
}

.r-hero.logo-state .r-hero-shape {
  animation-play-state: paused;
}

.r-hero.logo-instant .r-hero-shape,
.r-hero.logo-instant.shapes-in .r-hero-shape,
.r-hero.logo-instant .r-hero-dateline,
.r-hero.logo-instant .r-hero-wordmark {
  transition: none !important;
}

.r-hero.logo-state .r-hero-dateline,
.r-hero.logo-state .r-hero-wordmark {
  opacity: 0;
}

.r-hero-dateline,
.r-hero-wordmark {
  transition: opacity 0.8s ease 0.25s;
}

body.no-anim .r-hero.logo-state .r-hero-shape {
  transition: none;
}

@media (prefers-reduced-motion: reduce) {
  .r-hero-shape {
    transition: none;
  }
}

.r-hero-shapes {
  pointer-events: none;
}

.r-hero:not(.logo-state) .r-hero-shape {
  pointer-events: auto;
  cursor: none;
}

.r-hero:not(.logo-state) .r-hero-shape:hover {
  z-index: 6;
  filter: drop-shadow(0 0 1.2vw rgba(0, 0, 0, 0.22));
}

.r-hero-shapes:has(.r-hero-shape:hover) {
  z-index: 5;
}

.r-avatar {
  perspective: 900px;
  background: transparent;
  overflow: visible;
  border-radius: 0;
}

.r-av-flip {
  position: relative;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transition: transform 0.72s cubic-bezier(0.16, 1, 0.3, 1);
}

.r-avatar.flipped .r-av-flip {
  transform: rotateY(180deg);
}

.r-av-face {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  overflow: hidden;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.r-av-face--front {
  background: var(--r-mag);
}

.r-av-face--back {
  transform: rotateY(180deg);
  background: var(--r-mag);
  color: #fff;
  flex-direction: column;
  gap: 0.25em;
  padding: 12%;
  text-align: center;
}

.r-av-face--front img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: grayscale(1) contrast(1.08) brightness(1.02);
  mix-blend-mode: lighten;
}

.r-av-back-name {
  font-size: clamp(0.72rem, 1.25vw, 0.95rem);
  line-height: 1.1;
  letter-spacing: 0;
  opacity: 0.75;
}

.r-avatar.flipped:hover .r-avatar-name {
  display: none;
}

.r-avatar:hover .r-av-face--front,
.r-avatar:focus-visible .r-av-face--front {
  background: transparent;
  border: 1px dotted var(--r-mag);
}

.r-avatar:hover,
.r-avatar:focus-visible {
  background: transparent;
  border: none;
}

.r-avatar.flipped:hover .r-av-face--front {
  border: none;
  background: var(--r-mag);
}

.r-avatar-name {
  z-index: 2;
  border-radius: 50%;
}

.r-avatar::after {
  content: '';
  position: absolute;
  right: 6%;
  bottom: 6%;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: var(--r-mag);
  opacity: 0;
  transition: opacity 0.25s ease;
  pointer-events: none;
  z-index: 3;
}

.r-avatar:hover::after {
  opacity: 0.9;
}

.r-avatar.flipped::after {
  opacity: 0;
}

#opening-overlay {
  background: var(--r-mag);
  color: #fff;
}

#opening-overlay .prog-hdr-title {
  color: #fff;
}

#opening-overlay .prog-close {
  color: #fff;
}

#opening-overlay .prog-hdr {
  border-bottom: 1px solid #fff;
}

.op-intro {
  padding: 0 var(--mr) clamp(1rem, 2.6vw, 2rem) var(--ml);
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  max-width: 46rem;
}

.op-list {
  padding: 0 var(--mr) clamp(3rem, 8vw, 7rem) var(--ml);
}

.op-act {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: baseline;
  gap: var(--sp);
  border-top: 1px solid #fff;
  padding: clamp(0.3rem, 0.9vw, 0.7rem) 0 clamp(0.4rem, 1.1vw, 0.85rem);
  text-decoration: none;
  color: #fff;
  cursor: pointer;
  background: none;
  border-left: none;
  border-right: none;
  border-bottom: none;
  width: 100%;
  font-family: var(--f);
  text-align: left;
  transition:
    opacity 0.2s ease,
    padding-left 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

.op-act:last-child {
  border-bottom: 1px solid #fff;
}

.op-act:hover {
  opacity: 0.72;
}

.op-act-name {
  display: block;
  font-size: var(--tl);
  line-height: var(--lhl);
  letter-spacing: var(--lsl);
  font-weight: 500;
}

.op-foot {
  padding: 0 var(--mr) clamp(2rem, 5vw, 4rem) var(--ml);
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}

.r-faq-head {
  font-size: var(--tl);
  line-height: var(--lhl);
  letter-spacing: var(--lsl);
  color: #fff;
  padding: clamp(2rem, 5vw, 4rem) var(--mr) clamp(0.3rem, 0.8vw, 0.65rem) var(--ml);
}

.r-faq-lead {
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  color: #fff;
  padding: 0 var(--mr) clamp(0.8rem, 2vw, 1.4rem) var(--ml);
  max-width: 46rem;
}

.r-faq {
  padding: 0 var(--mr) clamp(2rem, 5vw, 4rem) var(--ml);
}

.r-faq-item {
  border-bottom: 1px solid #fff;
}

.r-faq-item:first-child {
  border-top: 1px solid #fff;
}

.r-faq-q {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--sp);
  background: none;
  border: none;
  padding: 0 0 1px;
  min-height: var(--rowh);
  font-family: var(--f);
  font-weight: 500;
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  color: #fff;
  text-align: left;
  cursor: pointer;
}

.r-faq-q:hover {
  opacity: 0.78;
}

.r-faq-ic {
  font-family: var(--fl);
  font-weight: 300;
  flex-shrink: 0;
  line-height: 1;
}

.r-faq-item.open .r-faq-ic::before {
  content: '\00d7';
}

.r-faq-item.open .r-faq-ic span {
  display: none;
}

.r-faq-a {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}

.r-faq-item.open .r-faq-a {
  max-height: 40rem;
}

.r-faq-a-in {
  padding: 0.2rem 0 clamp(0.7rem, 1.8vw, 1.2rem);
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  color: #fff;
  max-width: 52rem;
}

.r-faq-a-in p + p {
  margin-top: 0.5rem;
}

.r-faq-item.open .r-faq-a {
  max-height: 60rem;
}

.r-entry-points .r-ep-t {
  padding: 0;
  line-height: 0.78;
  align-items: baseline;
}

.r-entry-points .r-ep-t {
  padding-top: 0.06em;
  padding-bottom: 0.1em;
}

.r-entry-points .r-ep {
  line-height: 0;
}

.r-entry-points .r-ep-sub {
  line-height: normal;
}

.show-credits,
.show-meta-grid {
  border-top: 1px solid currentColor;
  color: var(--r-mag);
}

.show-cred-row,
.show-meta-item,
.show-meta-item:nth-child(odd),
.show-meta-item:nth-child(even) {
  border-bottom: 1px solid var(--r-mag);
  padding: 0.16rem 0 0.2rem;
  align-items: baseline;
}

.show-cred-row,
.show-meta-item {
  line-height: 1.08;
}

.show-cred-lbl,
.show-cred-val,
.show-meta-lbl,
.show-meta-val {
  line-height: 1.08;
}

.show-rule {
  opacity: 1;
}

.show-teaser {
  line-height: 0.98;
}

.calc-body {
  padding-top: 0.6rem;
}

.calc-body h2 {
  padding-top: 0.16em;
  padding-bottom: 0.06em;
  overflow: visible;
}

.calc-hdr {
  padding-bottom: 0.15rem;
  align-items: flex-start;
}

.btn-pill,
.apply-cta,
.calc-full-btn,
.calc-full-btn-red,
.fm-submit,
.fm-open-btn,
.fm-file-btn,
.acc-inner .sub-lnk,
.fm-submit-alt {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55em;

  font-family: var(--f);
  font-weight: 500;
  font-size: var(--tm);
  line-height: 1;
  letter-spacing: var(--lsl);
  text-align: left;
  text-decoration: none;

  color: #000;
  background: #fff;
  border: 1px solid #fff;
  border-radius: 999px;
  padding: 0.5em 1.05em 0.58em 1.15em;
  margin-top: 0.6rem;
  cursor: pointer;

  transition:
    background 0.22s ease,
    color 0.22s ease,
    border-color 0.22s ease,
    transform 0.22s ease;
}

.btn-pill-arr {
  display: inline-flex;
  align-items: center;
  flex: none;
  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}

.btn-pill-arr .sw-arr {
  width: 1.35em;
  height: 0.74em;
}

.btn-pill:hover .btn-pill-arr {
  transform: translateX(0.28em);
}

.btn-pill:active {
  transform: translateY(1px);
}

.btn-pill:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

.calc-full-btn,
.calc-full-btn-red {
  text-decoration: none;
}

.acc-inner .sub-lnk::after {
  content: none;
}

.acc-inner .sub-lnk::before {
  content: none;
}

.t-regional-body-inner .sub-lnk {
  display: inline;
  background: none;
  border: none;
  border-radius: 0;
  padding: 0;
  margin-top: 0.4rem;
  color: inherit;
  font-size: var(--ts);
  text-decoration: underline;
}

.t-regional-body-inner .sub-lnk:hover {
  background: none;
}

.fm-submit-alt {
  background: transparent;
  border-color: currentColor;
  color: inherit;
}

.fm-submit-alt:hover {
  background: transparent;
}

.prog-close,
.show-close,
.calc-close,
.nav-btn,
.nav-aa,
.aa-btn,
.t-gallery-nav button {
  border-radius: 0;
}

#services-overlay .svc-venues {
  border-top: 1px solid #fff;
}

#services-overlay .svc-v {
  border-bottom: 1px solid #fff;
  padding-top: 0.3rem;
  padding-bottom: 0.34rem;
  gap: clamp(0.7rem, 1.8vw, 1.4rem);
  align-items: baseline;
}

#services-overlay .svc-v:last-child {
  border-bottom: none;
}

#services-overlay .svc-v-name,
#services-overlay .svc-v-addr,
#services-overlay .svc-v-link {
  line-height: 1.08;
}

#services-overlay .svc-region {
  border-bottom: none;
  border-top: 1px solid #fff;
  padding-top: 0.75rem;
  padding-bottom: 0.28rem;
  line-height: 1.05;
}

#services-overlay .svc-region:first-child {
  border-top: none;
}

#services-overlay .svc-v-addr {
  color: var(--g-inv);
}

#services-overlay .svc-v-link a {
  color: var(--g-inv);
}

.t-bando-card {
  cursor: pointer;
  overflow: hidden;
  align-items: flex-start;
  transition:
    border-radius 0.45s cubic-bezier(0.16, 1, 0.3, 1),
    background 0.25s ease,
    color 0.25s ease;
}

.t-bando-card:hover {
  border-radius: 50%;
  text-align: center;
  align-items: center;
  justify-content: center;
}

.t-bando-card:hover .t-bando-tag,
.t-bando-card.is-active .t-bando-tag {
  opacity: 0.75;
}

.t-bando-card--inverse {
  border-radius: 50%;
  text-align: center;
  align-items: center;
  justify-content: center;
  padding: 16% 16% 12%;
}

.t-bando-card--inverse:hover {
  border-radius: 0;
  text-align: left;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 26% 12% 12%;
}

.t-bando-tag {
  font-size: var(--ts);
  letter-spacing: 0;
  opacity: 0.55;
  margin-bottom: 0.45rem;
}

.t-bando-card:hover .t-bando-tag {
  opacity: 0.8;
}

.pdf-lib-head {
  font-size: var(--tl);
  line-height: var(--lhl);
  letter-spacing: var(--lsl);
  color: var(--ov-gray);
  padding: clamp(1.6rem, 4vw, 3rem) var(--mr) clamp(0.2rem, 0.6vw, 0.5rem) var(--ml);
}

.pdf-lib-lead {
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  color: var(--g-inv);
  padding: 0 var(--mr) clamp(0.9rem, 2.2vw, 1.6rem) var(--ml);
  max-width: 46rem;
}

.pdf-lib {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(155px, 1fr));
  gap: clamp(0.9rem, 2.2vw, 1.8rem);
  padding: 0 var(--mr) clamp(2.4rem, 6vw, 5rem) var(--ml);
}

.pdf-card {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  text-decoration: none;
  color: #fff;
  border-radius: 0.7rem;
  padding: 0.9rem 0.9rem 1rem;
  border: 1px solid #fff;
  background: rgba(255, 255, 255, 0.02);
  transition:
    background 0.22s ease,
    border-color 0.22s ease,
    transform 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}

.pdf-card:hover {
  background: rgba(255, 255, 255, 0.09);
  border-color: #fff;
  transform: translateY(-3px);
}

.pdf-card:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

.pdf-ico {
  width: clamp(38px, 4.4vw, 56px);
  aspect-ratio: 794 / 1024;
  background: currentColor;
  -webkit-mask: url('../assets/icons/pdf-file.png') no-repeat center / contain;
  mask: url('../assets/icons/pdf-file.png') no-repeat center / contain;
  flex: none;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.pdf-card:hover .pdf-ico {
  transform: translateY(-2px) rotate(-3deg);
}

@supports not ((mask-image: url('#')) or (-webkit-mask-image: url('#'))) {
  .pdf-ico {
    background: url('../assets/icons/pdf-file.png') no-repeat center / contain;
    -webkit-mask: none;
    mask: none;
  }
}

.pdf-card-t {
  font-size: var(--ts);
  line-height: 1.16;
  letter-spacing: 0;
}

.pdf-card-meta {
  font-size: var(--ts);
  line-height: 1.2;
  letter-spacing: 0;
  color: var(--g-inv);
  margin-top: auto;
  display: flex;
  gap: 0.45rem;
  align-items: baseline;
}

.pdf-card-dl {
  font-family: var(--fl);
  font-weight: 300;
  margin-left: auto;
}

.t-gallery {
  padding: clamp(1.4rem, 3.4vw, 2.8rem) 0 clamp(1.4rem, 3.4vw, 2.8rem);
  flex: none;
}

.t-gallery-strip {
  display: flex;
  gap: clamp(0.7rem, 1.6vw, 1.4rem);
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  scroll-padding-left: var(--ml);
  padding: 0 var(--mr) 0 var(--ml);
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  cursor: grab;
}

.t-gallery-strip::-webkit-scrollbar {
  display: none;
}

.t-gallery-strip.dragging {
  cursor: grabbing;
  scroll-snap-type: none;
}

.t-gallery-strip.dragging * {
  pointer-events: none;
}

.t-gal-fig {
  flex: 0 0 auto;
  scroll-snap-align: start;
  margin: 0;
  width: clamp(240px, 42vw, 620px);
}

.t-gal-fig img {
  width: 100%;
  height: clamp(180px, 30vw, 430px);
  object-fit: cover;
  display: block;
  filter: grayscale(1) contrast(1.05);
  transition:
    filter 0.4s ease,
    opacity 0.4s ease;
}

.t-gal-fig:hover img {
  filter: none;
}

.t-gal-cap {
  font-size: var(--ts);
  line-height: 1.2;
  letter-spacing: 0;
  color: var(--t-mu);
  padding-top: 0.5rem;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}

.t-gal-cap-t {
  color: var(--t-fg);
}

.t-gallery-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: clamp(0.7rem, 1.6vw, 1.2rem) var(--mr) 0 var(--ml);
}

.t-gal-count {
  font-size: var(--ts);
  letter-spacing: 0.02em;
  color: var(--t-fg);
  font-variant-numeric: tabular-nums;
}

.t-gal-count i {
  font-style: normal;
  color: var(--t-mu);
}

.t-gal-progress {
  flex: 1;
  height: 1px;
  background: rgba(0, 0, 0, 0.18);
  position: relative;
}

.t-gal-progress span {
  position: absolute;
  left: 0;
  top: -1px;
  height: 3px;
  background: var(--t-fg);
  width: 12%;
  transition:
    width 0.25s ease,
    left 0.25s ease;
}

.t-gallery-nav {
  display: flex;
  gap: 0.2rem;
  padding-top: 0;
  justify-content: flex-end;
  flex: none;
}

.t-gallery-nav button {
  padding: 0.15rem 0.5rem;
  line-height: 1;
}

.t-gallery-nav button[disabled] {
  opacity: 0.25;
  cursor: default;
}

.mnav-toggle {
  display: none;
  align-items: center;
  gap: 0.55rem;
  background: none;
  border: none;
  padding: 0.45rem 0;
  margin-left: auto;
  cursor: pointer;
  font-family: var(--f);
  font-weight: 500;
  font-size: var(--ts);
  letter-spacing: 0.02em;
  color: inherit;
}

.mnav-burger {
  display: block;
  position: relative;
  width: 22px;
  height: 12px;
  flex: none;
}

.mnav-burger i,
.mnav-burger::before,
.mnav-burger::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  height: 1.5px;
  background: currentColor;
  transition:
    transform 0.38s cubic-bezier(0.16, 1, 0.3, 1),
    opacity 0.2s ease;
}

.mnav-burger::before {
  top: 0;
}
.mnav-burger i {
  top: 5.25px;
}
.mnav-burger::after {
  bottom: 0;
}

.mnav-open .mnav-burger::before {
  transform: translateY(5.25px) rotate(45deg);
}
.mnav-open .mnav-burger i {
  opacity: 0;
}
.mnav-open .mnav-burger::after {
  transform: translateY(-5.25px) rotate(-45deg);
}

.mnav-panel {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  z-index: 960;
  display: none;
  flex-direction: column;
  max-height: 100svh;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 0 var(--mr) clamp(1.4rem, 5vw, 2.6rem) var(--ml);
  transform: translateY(-101%);
  transition: transform 0.55s cubic-bezier(0.16, 1, 0.3, 1);
}

.mnav-panel.on {
  transform: translateY(0);
}

body[data-world='tpunkt'] .mnav-panel {
  background: #000;
  color: #fff;
}
body[data-world='radar'] .mnav-panel {
  background: var(--r-mag);
  color: #fff;
}

.mnav-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: var(--navh);
  padding: 0.4rem 0;
  font-size: var(--ts);
  border-bottom: 1px solid currentColor;
  margin-bottom: 0.4rem;
}

.mnav-close {
  background: none;
  border: none;
  color: inherit;
  font-family: var(--fl);
  font-weight: 300;
  font-size: var(--tm);
  line-height: 1;
  cursor: pointer;
  padding: 0.2rem 0 0.2rem 1rem;
}

.mnav-list {
  display: flex;
  flex-direction: column;
}

.mnav-item {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  background: none;
  border: none;
  border-bottom: 1px solid currentColor;
  padding: 0.34rem 0 0.44rem;
  font-family: var(--f);
  font-weight: 500;
  font-size: clamp(1.7rem, 8.4vw, 2.9rem);
  line-height: 0.94;
  letter-spacing: var(--lsl);
  color: inherit;
  text-align: left;
  cursor: pointer;

  opacity: 0;
  transform: translateY(-0.5rem);
  transition:
    opacity 0.4s ease,
    transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.mnav-panel.on .mnav-item {
  opacity: 1;
  transform: none;
}

.mnav-panel.on .mnav-item:nth-child(1) {
  transition-delay: 0.1s;
}
.mnav-panel.on .mnav-item:nth-child(2) {
  transition-delay: 0.15s;
}
.mnav-panel.on .mnav-item:nth-child(3) {
  transition-delay: 0.2s;
}
.mnav-panel.on .mnav-item:nth-child(4) {
  transition-delay: 0.25s;
}
.mnav-panel.on .mnav-item:nth-child(5) {
  transition-delay: 0.3s;
}
.mnav-panel.on .mnav-item:nth-child(6) {
  transition-delay: 0.35s;
}
.mnav-panel.on .mnav-item:nth-child(7) {
  transition-delay: 0.4s;
}
.mnav-panel.on .mnav-item:nth-child(8) {
  transition-delay: 0.45s;
}

.mnav-item .sw-arr {
  width: 1.1em;
  height: 0.6em;
  opacity: 0.75;
}

.mnav-item:active {
  opacity: 0.65;
}

.mnav-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.9rem;
  padding-top: clamp(0.9rem, 3vw, 1.4rem);
  font-size: var(--ts);
}

.mnav-foot button,
.mnav-foot a {
  background: none;
  border: 1px solid currentColor;
  border-radius: 999px;
  color: inherit;
  font-family: var(--f);
  font-weight: 500;
  font-size: var(--ts);
  padding: 0.35rem 0.9rem 0.4rem;
  cursor: pointer;
  text-decoration: none;
}

body.mnav-locked {
  overflow: hidden;
}

@media (max-width: 900px) {
  .nav-bar .nav-items > .nav-btn:not(:first-child) {
    display: none;
  }
  .nav-bar .nav-items {
    flex: none;
  }
  .nav-bar {
    justify-content: space-between;
    gap: 0.6rem;
  }
  .nav-bar .nav-aa {
    display: none;
  }

  .r-pinned-nav .nav-items > .nav-btn:not(:first-child),
  .t-pinned-nav .nav-items > .nav-btn:not(:first-child) {
    display: none;
  }
  .r-pinned-nav .nav-aa,
  .t-pinned-nav .nav-aa {
    display: none;
  }
  .r-pinned-nav .nav-items,
  .t-pinned-nav .nav-items {
    flex: none;
  }

  .mnav-toggle {
    display: inline-flex;
  }
  .mnav-panel {
    display: flex;
  }

  .nav-dd,
  .nav-dd.open {
    max-height: 0 !important;
  }
}

@media (max-width: 760px) {
  .t-hero {
    height: 88svh;
    min-height: 26rem;
    position: relative;
    overflow: hidden;
  }

  .t-hero img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  .r-hero {
    height: 88svh;
    min-height: 26rem;
    padding-top: 0;
  }

  .r-hero-shapes {
    top: 50%;
    bottom: auto;
    height: auto;
    aspect-ratio: 1390 / 868;
    translate: 0 -50%;
  }
}

@media (max-width: 760px) {
  .r-hero-dateline {
    top: auto !important;
    bottom: 30%;
    left: var(--ml) !important;
    right: var(--mr) !important;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    gap: 0;
    line-height: 0.86;
  }

  .r-hero-dateline .dl-dates {
    font-size: clamp(2.1rem, 12.5vw, 4rem);
    text-align: left;
    white-space: nowrap;
  }

  .r-hero-wordmark {
    right: var(--mr) !important;
    left: var(--ml);
    bottom: 2.5%;
    justify-content: flex-end;
    font-size: clamp(3.4rem, 26vw, 9rem);
  }

  .r-hero .byline-inner {
    gap: 0.6rem;
  }
  .r-hero .byline-sub {
    font-size: var(--ts);
  }

  .show-body {
    grid-template-columns: 1fr;
    gap: clamp(0.8rem, 3vw, 1.4rem);
    padding-bottom: 22vh;
  }

  .show-aside {
    padding-left: 0;
  }

  .show-aside img {
    height: auto;
    max-height: 60vh;
  }

  #show-overlay {
    height: 72svh;
  }

  #show-overlay.expanded {
    height: calc(100svh - var(--navh));
  }

  .show-hdr {
    grid-template-columns: 1fr 1fr auto;
  }

  .show-hdr-tab:nth-of-type(3) {
    display: none;
  }

  .prog-show-row {
    grid-template-columns: 1fr auto;
    row-gap: 0.1rem;
    padding-top: 0.35rem;
    padding-bottom: 0.4rem;
    align-items: baseline;
  }

  .prog-company {
    grid-column: 1;
  }

  .prog-title {
    grid-column: 1 / -1;
    opacity: 0.78;
  }

  .prog-arr {
    grid-column: 2;
    grid-row: 1;
  }

  .r-stmt-block {
    padding-bottom: 0;
  }

  .r-ticket-btn {
    position: static;
    transform: none;
    margin: 0.6rem 0 1.4rem;
    width: clamp(120px, 38vw, 170px);
    height: clamp(120px, 38vw, 170px);
  }

  .r-ticket-btn .r-ticket-txt {
    transform: rotate(-14deg);
  }

  .r-show-row {
    grid-template-columns: 1fr auto auto auto;
    gap: 0.5rem;
    font-size: var(--ts);
    align-items: center;
  }

  .r-show-row .r-show-pin {
    width: 20px;
    height: 20px;
  }

  .r-avatar {
    flex-basis: clamp(128px, 40vw, 190px);
    width: clamp(128px, 40vw, 190px);
  }
}

@media (max-width: 900px) {
  .t-bandi-grid {
    display: flex;
    grid-template-columns: none;
    gap: clamp(0.7rem, 3vw, 1.1rem);
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-padding-left: var(--ml);
    padding: var(--sp) var(--mr) var(--sp) var(--ml);
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    flex: none;
  }

  .t-bandi-grid::-webkit-scrollbar {
    display: none;
  }

  .t-bando-card {
    flex: 0 0 min(74vw, 21rem);
    width: min(74vw, 21rem);
    scroll-snap-align: center;
  }

  .t-bando-card.is-active {
    border-radius: 50%;
    text-align: center;
    align-items: center;
    justify-content: center;
  }

  .t-bando-card--inverse.is-active {
    border-radius: 0;
    text-align: left;
    align-items: flex-start;
    justify-content: flex-start;
  }
}

@media (max-width: 900px) {
  .r-footer-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 620px) {
  .r-footer-grid {
    grid-template-columns: 1fr;
  }

  .t-fc,
  .r-fc {
    padding-left: var(--ml) !important;
    padding-right: var(--mr) !important;
    padding-top: 0.9rem;
    padding-bottom: 0.9rem;
    border-top: 1px solid currentColor;
  }

  .t-fc:first-child,
  .r-fc:first-child {
    border-top: none;
  }

  .r-fc-byline {
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }

  .r-newsletter-input,
  .t-newsletter-input {
    max-width: none;
  }

  .t-footer-logo {
    width: 36px;
  }
}

@media (max-width: 900px) {
  .calc-groups {
    grid-template-columns: 1fr 1fr;
  }
  .t-regional-grid {
    grid-template-columns: 1fr;
  }
  .dd-preview {
    grid-template-columns: 1fr;
  }
  .pdf-lib {
    grid-template-columns: repeat(auto-fill, minmax(132px, 1fr));
  }
}

@media (max-width: 760px) {
  #services-overlay .svc-v {
    grid-template-columns: 1fr;
    gap: 0.1rem;
    padding-top: 0.45rem;
    padding-bottom: 0.5rem;
  }

  .apply-fee-grid {
    grid-template-columns: 1fr;
  }

  .apply-fee-col {
    border-right: none;
    border-bottom: 1px solid #fff;
    padding: 0.35rem 0 0.4rem !important;
  }

  .apply-fee-col:last-child {
    border-bottom: none;
  }

  .prog-filters {
    grid-template-columns: 1fr;
    padding-right: 0;
  }

  .calc-groups {
    grid-template-columns: 1fr;
  }

  .show-cred-row,
  .show-meta-item,
  .show-meta-item:nth-child(odd),
  .show-meta-item:nth-child(even) {
    grid-template-columns: 40% 1fr;
  }

  .show-meta-grid {
    grid-template-columns: 1fr;
  }

  .sec-head {
    grid-template-columns: 1fr;
  }

  .t-ag-row {
    grid-template-columns: 1fr auto;
    row-gap: 0.1rem;
  }

  .op-act {
    grid-template-columns: 1fr;
    row-gap: 0.15rem;
  }

  :root {
    --tl: clamp(1.9rem, 10.5vw, 3rem);
  }

  .prog-hdr-title,
  .pdf-lib-head,
  .r-faq-head {
    font-size: clamp(2.2rem, 15vw, 4rem);
  }

  :root {
    --ml: 1rem;
    --mr: 1rem;
    --sp: 1rem;
  }

  #programs-overlay,
  #services-overlay,
  #apply-overlay,
  #ticketing-overlay,
  #between-overlay,
  #resources-overlay,
  #members-overlay,
  #news-overlay,
  #professionals-overlay,
  #visit-overlay,
  #rabout-overlay,
  #aboutt-overlay,
  #opening-overlay,
  .tpage-overlay {
    height: 92svh;
  }

  #calc-panel {
    height: 92svh;
  }

  .r-entry-points {
    padding-top: clamp(1.6rem, 6vw, 2.6rem);
  }

  .t-gal-fig {
    width: 78vw;
  }

  .t-gal-fig img {
    height: 52vw;
  }
}

@media (max-width: 480px) {
  .pdf-lib {
    grid-template-columns: 1fr 1fr;
  }
  .r-avatar {
    flex-basis: 46vw;
    width: 46vw;
  }
  .t-bando-card {
    flex-basis: 80vw;
    width: 80vw;
  }
}

@media (hover: none) and (pointer: coarse) {
  .r-avatar:hover .r-avatar-name {
    display: none;
  }

  .r-avatar:hover .r-av-face--front {
    background: var(--r-mag);
    border: none;
  }

  .r-avatar::after {
    opacity: 0.9;
  }

  .t-gal-fig img {
    filter: none;
  }
}

.mnav-item:focus-visible,
.mnav-close:focus-visible,
.mnav-toggle:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: -4px;
}

.r-acc-inner p,
.r-acc-inner li {
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  color: var(--r-mag);
  max-width: 46rem;
}

.r-acc-block.open .r-acc-body {
  max-height: 40rem;
}

.r-acc-inner:not(.r-acc-grid-4) {
  display: block;
}

body[data-world='tpunkt'] .btn-pill.btn-pill {
  background: #fff;
  border-color: #fff;
  color: #000;
}

body[data-world='tpunkt'] .btn-pill.btn-pill:hover {
  background: transparent;
  border-color: #fff;
  color: #fff;
}

#panel-t .btn-pill.btn-pill {
  background: #000;
  border-color: #000;
  color: #fff;
}

#panel-t .btn-pill.btn-pill:hover {
  background: transparent;
  border-color: #000;
  color: #000;
}

body[data-world='radar'] .btn-pill.btn-pill {
  background: #fff;
  border-color: #fff;
  color: var(--r-mag);
}

body[data-world='radar'] .btn-pill.btn-pill:hover {
  background: transparent;
  border-color: #fff;
  color: #fff;
}

#panel-r .btn-pill.btn-pill {
  background: var(--r-mag);
  border-color: var(--r-mag);
  color: #fff;
}

#panel-r .btn-pill.btn-pill:hover {
  background: transparent;
  border-color: var(--r-mag);
  color: var(--r-mag);
}

#show-overlay .btn-pill.btn-pill {
  background: var(--r-mag);
  border-color: var(--r-mag);
  color: #fff;
}

#show-overlay .btn-pill.btn-pill:hover {
  background: transparent;
  border-color: var(--r-mag);
  color: var(--r-mag);
}

.t-bando-card:hover,
.t-bando-card.is-active {
  background: #000;
  color: var(--t-bg);
}

.fm-theme-t {
  --fm-accent: #ffffff;
}

body[data-world='tpunkt'] .t-regional-body-inner .sub-lnk:hover {
  color: var(--t-fg);
}

body[data-world='tpunkt'] .news-item.targeted::before {
  background: var(--t-fg);
}

body[data-world='tpunkt'] .news-item.targeted {
  background: var(--t-hl);
}

body[data-world='tpunkt'] .news-item.targeted.flash {
  animation: none;
}

body[data-world='tpunkt'] .news-item-share.copied {
  border-bottom-color: var(--t-fg);
  color: var(--t-fg);
}

body[data-world='radar'] .aa-panel {
  background: var(--r-mag);
  color: #fff;
}

body[data-world='radar'] .aa-btn {
  background: var(--r-mag);
  color: #fff;
}

body[data-world='radar'] .show-close:hover,
body[data-world='radar'] .show-close:focus {
  color: var(--r-mag);
  opacity: 0.55;
}

.r-hero:not(.logo-state) .r-hero-shape:hover {
  filter: none;
}

body[data-world='tpunkt'] #between-overlay {
  background: #000;
  color: var(--t-bg);
}

body[data-world='tpunkt'] #between-overlay .prog-hdr-title {
  color: var(--ov-gray);
}

body[data-world='tpunkt'] #between-overlay .prog-close {
  color: var(--t-bg);
}

.acc-block,
.news-item,
.news-year {
  margin-left: var(--ml);
  margin-right: var(--mr);
  padding-left: 0;
  padding-right: 0;
}

.r-program-lnk,
.r-show-row {
  margin-left: var(--ml);
  margin-right: var(--mr);
  padding-left: 0;
  padding-right: 0;
}

.t-ag-row {
  margin-left: 0;
  margin-right: 0;
}

.t-essentials .acc-block {
  margin-left: 0;
  margin-right: 0;
}

.t-essentials {
  padding-right: var(--mr);
  padding-left: var(--ml);
}

.acc-trigger,
.acc-inner,
.acc-body {
  padding-left: 0;
  padding-right: 0;
}

.r-faq,
.op-list {
  padding-left: var(--ml);
  padding-right: var(--mr);
}

.r-faq-q,
.r-faq-a-in,
.op-act {
  padding-left: 0;
  padding-right: 0;
}

#services-overlay .svc-venues {
  margin-left: var(--ml);
  margin-right: var(--mr);
  padding-left: 0;
  padding-right: 0;
}

#services-overlay .svc-v {
  padding-left: 0;
  padding-right: 0;
}

#services-overlay .svc-region {
  margin-left: var(--ml);
  margin-right: var(--mr);
  padding-left: 0;
  padding-right: 0;
}

.t-essentials-list {
  padding-left: 0;
  padding-right: 0;
}

.t-essentials,
.r-avatars,
.prog-hdr {
  margin-left: var(--ml);
  margin-right: var(--mr);
  padding-left: 0;
  padding-right: 0;
}

.r-avatars {
  scroll-padding-left: 0;
}

.t-essentials > .sec-head {
  padding-left: 0;
  padding-right: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
b,
strong,
th,
optgroup,
.r-faq-head,
.pdf-lib-head,
.sec-head,
.prog-hdr-title,
.calc-body h2 {
  font-weight: 500;
}

.t-services-full .acc-block,
.t-essentials .acc-block,
#resources-overlay .acc-block,
#services-page-overlay .acc-block,
#members-overlay .acc-block,
#aboutt-overlay .acc-block,
#apply-overlay .acc-block,
#ticketing-overlay .acc-block,
#between-overlay .acc-block,
#visit-overlay .acc-block {
  padding-left: 0;
  padding-right: 0;
}

.t-services-full .acc-inner,
.t-services-full .acc-inner p,
.t-services-full .acc-inner ul {
  padding-left: 0;
  margin-left: 0;
}

.t-services-full .acc-inner ul,
.acc-inner ul,
.r-faq-a-in ul {
  list-style: none;
  padding-left: 0;
  margin-left: 0;
}

.t-services-full .acc-inner li,
.acc-inner li,
.r-faq-a-in li {
  padding-left: 0;
  margin-left: 0;
}

.btn-pill.btn-pill {
  padding-top: 0.26em;
  padding-bottom: 0.32em;
  padding-left: 0.9em;
  padding-right: 0.85em;
  margin-top: 0.5rem;
  line-height: 1;
}

.btn-pill .btn-pill-arr .sw-arr {
  width: 1.2em;
  height: 0.62em;
}

.r-ep-t,
.r-program-lnk,
.r-acc-trigger,
.acc-trigger,
.r-faq-q,
.op-act,
.prog-show-row {
  transition:
    padding-left 0.42s cubic-bezier(0.16, 1, 0.3, 1),
    opacity 0.22s ease;
}

.r-ep-t:hover,
.r-program-lnk:hover,
.r-acc-trigger:hover,
.acc-trigger:hover,
.r-faq-q:hover,
.op-act:hover,
.prog-show-row:hover {
  padding-left: 0.75rem;
}

.r-acc-block.open .r-acc-trigger:hover,
.acc-block.open .acc-trigger:hover,
.r-faq-item.open .r-faq-q:hover {
  padding-left: 0;
}

.r-ep-t .thin-arr,
.r-program-lnk .thin-arr,
.prog-show-row .prog-arr {
  transition: transform 0.42s cubic-bezier(0.16, 1, 0.3, 1);
}

.r-ep-t:hover .thin-arr,
.r-program-lnk:hover .thin-arr,
.prog-show-row:hover .prog-arr {
  transform: translateX(0.5rem);
}

.r-hero-wordmark {
  perspective: 1100px;
  perspective-origin: 50% 55%;
}

.r-hero-wordmark span {
  transform-origin: 50% 50%;
  transition: transform 1.25s cubic-bezier(0.22, 0.85, 0.24, 1);
  will-change: transform;
}

.r-hero-wordmark.mirrored span {
  transform: rotateY(180deg) translateZ(-90px);
}

.r-hero-wordmark span {
  transform: rotateY(0deg) translateZ(0);
}

.r-hero-wordmark span:nth-child(1) {
  transition-delay: 0.62s;
}
.r-hero-wordmark span:nth-child(2) {
  transition-delay: 0.47s;
}
.r-hero-wordmark span:nth-child(3) {
  transition-delay: 0.32s;
}
.r-hero-wordmark span:nth-child(4) {
  transition-delay: 0.17s;
}
.r-hero-wordmark span:nth-child(5) {
  transition-delay: 0s;
}

.r-hero-wordmark.no-transition span {
  transition: none;
}

.r-hero-dateline,
.r-hero-wordmark {
  transition: opacity 0.3s ease 0s;
}

@media (prefers-reduced-motion: reduce) {
  .r-hero-wordmark span {
    transition: none;
    transform: none;
  }
}

body[data-world='radar'] {
  --band-l: var(--bw);
  --band-r: 0px;
}
body[data-world='tpunkt'] {
  --band-l: 0px;
  --band-r: var(--bw);
}

:root .world-band {
  z-index: 99990;
}

#root {
  padding-left: var(--band-l);
  padding-right: var(--band-r);
}

:root #panel-r,
:root #panel-t {
  padding-left: 0;
  padding-right: 0;
}

#programs-overlay,
#services-overlay,
#services-page-overlay,
#apply-overlay,
#ticketing-overlay,
#between-overlay,
#resources-overlay,
#members-overlay,
#news-overlay,
#professionals-overlay,
#visit-overlay,
#rabout-overlay,
#aboutt-overlay,
#opening-overlay,
#region-overlay,
#memlist-overlay,
.tpage-overlay,
#show-overlay,
#agenda-overlay,
#calc-overlay,
#apply-forms-overlay,
.r-pinned-nav,
.t-pinned-nav,
.mnav-panel {
  left: var(--band-l) !important;
  right: var(--band-r) !important;
}

:root .r-pinned-nav,
:root .t-pinned-nav {
  padding: 0 var(--mr) 0 var(--ml);
}

:root .acc-trigger,
:root .r-acc-trigger,
:root .r-faq-q,
:root .svc-prev-row,
:root .prog-show-row,
:root .t-ag-row,
:root .r-show-row,
:root .calc-res-row,
:root .news-item-row,
:root .rg-row,
:root .mem-row,
:root .r-ep-sub-inner a,
:root #services-overlay .svc-region {
  font-size: var(--tm);
  line-height: var(--lhm);
  min-height: 0;
  padding-top: calc(var(--pad-m-t) * 1em);
  padding-bottom: calc(var(--pad-m-b) * 1em);
  align-items: baseline;
}

:root .prog-company,
:root .prog-title,
:root .news-item-title,
:root .calc-res-row > * {
  font-size: 1em;
  line-height: var(--lhm);
}

:root .acc-icon,
:root .r-acc-icon,
:root .r-faq-ic,
:root .prog-arr,
:root .news-item-arr,
:root .rg-row-arr,
:root .mem-arr,
:root .r-show-row .thin-arr,
:root .r-ep-t .thin-arr,
:root .r-program-lnk .thin-arr,
:root .r-ep-sub-inner a .thin-arr,
:root .pf-icon,
:root #news-filters-icon {
  line-height: 0.8;
}

:root .r-show-row .r-show-pin {
  align-self: center;
}

:root .r-entry-points .r-ep-t,
:root .r-program-lnk {
  font-size: var(--tl);
  line-height: var(--lhl);
  min-height: 0;
  padding-top: calc(var(--pad-l-t) * 1em);
  padding-bottom: calc(var(--pad-l-b) * 1em);
}

:root .r-entry-points .r-ep-t {
  align-items: baseline;
}

:root .r-program-lnk {
  align-items: last baseline;
}

:root .r-program-lnk .r-program-lnk-t {
  font-size: 1em;
  line-height: var(--lhl);
  letter-spacing: var(--lsl);
}

:root .op-act {
  font-size: var(--tl);
  padding-top: calc(var(--pad-l-t) * 1em);
  padding-bottom: calc(var(--pad-s-b) * var(--ts));
  align-items: baseline;
}

:root .op-act-name {
  line-height: var(--lhl);
}

:root .prog-hdr-title,
:root .sec-head,
:root .t-essentials > .sec-head,
:root .news-year,
:root .prog-day-h,
:root .r-faq-head,
:root .pdf-lib-head,
:root .rg-sec-head,
:root .mem-sec-head {
  line-height: var(--lhl);
  letter-spacing: var(--lsl);
  padding-top: calc(var(--sp-3) + var(--pad-l-t) * 1em);
  padding-bottom: calc(var(--pad-l-b) * 1em);
}

:root .prog-hdr-title,
:root .t-essentials > .sec-head,
:root .news-group:first-child .news-year,
:root #prog-shows-list > div:first-child .prog-day-h {
  padding-top: calc(var(--pad-l-t) * 1em);
}

:root .news-year {
  border-top: none;
  padding-left: 0;
  padding-right: 0;
}

:root .prog-fg-lbl,
:root #news-overlay .news-filter-col-h,
:root .calc-g h4 {
  font-size: var(--ts);
  line-height: var(--lh-s);
  padding-top: 0;
  padding-bottom: calc(var(--pad-s-b) * 1em);
  margin-bottom: calc(var(--pad-s-t) * 1em - 0.06rem);
}

:root .prog-fo,
:root .news-filter-item,
:root .fc-opt {
  line-height: var(--lh-s);
}

:root .show-cred-row,
:root .show-meta-item,
:root .show-meta-item:nth-child(odd),
:root .show-meta-item:nth-child(even),
:root #services-overlay .svc-v {
  font-size: var(--ts);
  line-height: var(--lh-s);
  padding-top: calc(var(--pad-s-t) * 1em);
  padding-bottom: calc(var(--pad-s-b) * 1em);
}

:root .show-cred-lbl,
:root .show-cred-val,
:root .show-meta-lbl,
:root .show-meta-val,
:root #services-overlay .svc-v-name,
:root #services-overlay .svc-v-addr,
:root #services-overlay .svc-v-link {
  font-size: 1em;
  line-height: var(--lh-s);
}

:root .aa-sec {
  font-size: var(--ts);
  padding-top: calc(var(--pad-s-t) * 1em);
}

:root .r-fc-links a,
:root .r-fc-links button,
:root .r-fc-meta {
  line-height: var(--lh-s);
}

:root .r-fc,
:root .r-fc:first-child {
  font-size: var(--ts);
  padding-top: calc(var(--pad-s-t) * 1em);
}

:root .r-stmt,
:root .t-stmt,
:root .prog-hdr-title,
:root .sec-head,
:root .show-company-name,
:root .show-piece-name,
:root .calc-body h2 {
  line-height: var(--lhl);
}

:root .acc-inner p,
:root .acc-inner li,
:root .r-acc-inner p,
:root .r-acc-inner li,
:root .r-faq-a-in,
:root .r-faq-lead,
:root .op-intro,
:root .pdf-lib-lead,
:root .news-item-text,
:root .news-item-expand-inner p,
:root .t-regional-trigger,
:root .t-regional-body-inner,
:root .show-teaser,
:root .t-bando-txt,
:root .dd-left h3.dd-big,
:root .rg-intro,
:root .rg-contact {
  line-height: var(--lhm);
}

:root .acc-inner,
:root .r-acc-inner {
  padding-top: 0;
  padding-bottom: calc(var(--pad-m-b) * var(--tm));
}

:root .acc-inner > p + p,
:root .r-acc-inner > p + p {
  margin-top: calc(var(--tm) * 0.3);
}

:root .acc-inner .btn-pill.btn-pill,
:root .r-acc-body .btn-pill.btn-pill,
:root .r-faq-a-in .btn-pill.btn-pill,
:root .t-regional-body-inner .btn-pill.btn-pill {
  margin-top: var(--sp-1);
  margin-bottom: var(--sp-1);
}

:root .r-acc-body .btn-pill.btn-pill {
  margin-left: 0;
}

:root .r-faq-a-in {
  padding-top: 0;
  padding-bottom: calc(var(--pad-m-b) * var(--tm));
}

:root .op-intro,
:root .r-faq-lead,
:root .pdf-lib-lead,
:root .rg-intro {
  font-size: var(--tm);
  letter-spacing: var(--lsl);
  padding-top: 0;
  padding-bottom: calc(var(--pad-m-b) * 1em);
}

:root .pdf-lib-lead,
:root .rg-intro {
  padding-bottom: var(--sp-2);
}

:root .op-list,
:root .r-faq {
  padding-bottom: var(--sp-3);
}

:root .op-foot {
  padding-bottom: var(--sp-4);
}

:root .op-foot .btn-pill.btn-pill {
  margin-top: 0;
}

:root .apply-scroll {
  padding-bottom: var(--sp-4);
}

:root .r-stmt-block {
  padding-bottom: 0;
}

:root .r-stmt {
  margin-bottom: calc(var(--pad-l-b) * 1em);
}

:root .r-avatars {
  padding-top: var(--sp-2);
  padding-bottom: var(--sp-2);
}

:root .r-venue {
  padding-top: var(--sp-3);
  padding-bottom: var(--sp-3);
}

:root .r-entry-points {
  padding-top: var(--sp-3);
  padding-bottom: 0;
}

:root .r-ep-sub-inner {
  padding: 0;
}

:root .r-ep-sub-inner a,
:root .r-ep-sub-inner a:first-child {
  border-top: 1px solid var(--r-mag);
  border-bottom: none;
  display: flex;
}

:root .r-acc-section {
  margin-top: var(--sp-3);
}

:root .r-footer {
  margin-top: var(--sp-3);
}

:root .t-stmt {
  margin-bottom: var(--sp-2);
}

:root .t-bandi-grid {
  padding-bottom: var(--sp-3);
}

:root .t-gallery {
  padding-top: var(--sp-3);
  padding-bottom: var(--sp-3);
}

:root .t-regional {
  padding-bottom: var(--sp-3);
}

:root .t-regional > .sec-head {
  padding-left: var(--ml);
  padding-right: var(--mr);
}

:root .t-regional-body-inner {
  padding: 0 1rem var(--sp-1) 0;
}

:root .t-regional-body-inner p {
  margin-bottom: 0;
}

:root .t-regional-body-inner .sub-lnk {
  display: inline-block;
  margin-top: var(--sp-1);
}

:root .r-avatars + .r-program-lnk {
  border-top: none;
}

:root .r-avatar,
:root .r-avatar:hover,
:root .r-avatar:focus-visible {
  background: transparent;
  border: none;
  overflow: visible;
}

:root .r-avatar::after {
  content: none;
}

:root .r-av-flip {
  transition: transform 0.72s cubic-bezier(0.16, 1, 0.3, 1);
}

@media (hover: hover) {
  :root .r-avatar:hover .r-av-flip,
  :root .r-avatar:focus-visible .r-av-flip {
    transform: rotateY(180deg);
  }
}

:root .r-avatar.flipped .r-av-flip {
  transform: rotateY(180deg);
}

:root .r-avatar:hover .r-av-face--front,
:root .r-avatar:focus-visible .r-av-face--front {
  background: var(--r-mag);
  border: none;
}

:root .r-avatar:hover .r-av-face--front img,
:root .r-avatar:focus-visible .r-av-face--front img {
  display: block;
}

:root .r-av-face--back {
  background: transparent;
  border: 1px dotted var(--r-mag);
  color: var(--r-mag);
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  padding: 0 8% 0 16%;
  gap: 0;
  text-align: left;
}

:root .r-av-back-name {
  font-size: clamp(0.95rem, 1.85vw, 1.625rem);
  line-height: 1.12;
  letter-spacing: -0.01em;
  opacity: 1;
}

:root .r-avatar:focus-visible {
  outline: none;
}

@media (prefers-reduced-motion: reduce) {
  :root .r-av-flip {
    transition: none;
  }
}

body.no-anim .r-av-flip {
  transition: none;
}

:root .prog-filters-toggle,
:root #news-overlay .news-filters-toggle,
:root .mem-filters-toggle {
  display: flex;
  align-self: stretch;
  align-items: baseline;
  width: calc(100% - var(--ml) - var(--mr));
  gap: 0.45rem;
  margin: 0 var(--mr) 0 var(--ml);
  padding: 0 0 calc(var(--pad-s-b) * var(--ts));
  border-bottom: 1px solid currentColor;
  font-size: var(--ts);
  line-height: var(--lh-s);
  text-align: left;
}

:root .prog-filters-toggle {
  color: #fff;
}
:root .mem-filters-toggle {
  color: #fff;
  background: none;
  border-top: 0;
  border-left: 0;
  border-right: 0;
  font-family: var(--f);
  font-weight: 500;
  letter-spacing: 0;
  cursor: pointer;
}

:root .prog-filters,
:root #news-overlay .news-filters-grid,
:root .mem-filters {
  padding-top: var(--sp-2);
  padding-bottom: var(--sp-2);
}

:root .prog-filters {
  margin-top: 0;
}

:root .prog-fo,
:root .news-filter-item,
:root .mem-fo {
  padding-top: 0.06rem;
  padding-bottom: 0.06rem;
}

:root .news-item,
:root .rg-item {
  margin-left: var(--ml);
  margin-right: var(--mr);
  border-top: 1px solid currentColor;
  position: relative;
}

:root .news-item:last-child,
:root .rg-item:last-child {
  border-bottom: 1px solid currentColor;
}

:root .news-item-row,
:root .rg-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  column-gap: var(--sp-2);
  width: 100%;
  padding-left: 0;
  padding-right: 0;
  background: none;
  border: none;
  color: inherit;
  font-family: var(--f);
  font-weight: 500;
  letter-spacing: var(--lsl);
  text-align: left;
  cursor: pointer;
}

:root .news-item-date {
  display: none;
}

:root .news-item-title,
:root .rg-row-t {
  grid-column: 1;
  letter-spacing: var(--lsl);
}

:root .news-item-arr,
:root .rg-row-arr {
  grid-column: 2;
  grid-row: 1;
  justify-self: end;
  font-family: var(--fl);
  font-weight: 300;
}

:root .news-item.expanded .news-item-arr,
:root .rg-item.expanded .rg-row-arr {
  transform: none;
}

:root .news-item-arr .sw-arr,
:root .rg-row-arr .sw-arr {
  transition: transform var(--link-ease);
}

:root .news-item.expanded .news-item-arr .sw-arr,
:root .rg-item.expanded .rg-row-arr .sw-arr {
  transform: rotate(90deg) scale(0.62);
}

:root .rg-expand {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

:root .rg-item.expanded .rg-expand {
  max-height: 3000px;
}

:root .news-item-expand-inner,
:root .rg-expand-in {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 12rem;
  gap: var(--sp-2);
  padding: 0 0 calc(var(--pad-m-b) * var(--tm)) 0;
}

:root .news-item-text {
  color: var(--t-mu);
  font-size: var(--tm);
  letter-spacing: var(--lsl);
}

:root .news-item-meta {
  font-size: var(--ts);
  line-height: var(--lh-s);
  gap: var(--sp-1);
  display: flex;
  flex-direction: column;
}

:root .news-item-dl,
:root .news-item-meta a,
:root .news-item-share {
  border-bottom: none;
  padding-bottom: 0;
  align-self: flex-start;
}

@media (max-width: 900px) {
  :root .news-item-expand-inner,
  :root .rg-expand-in {
    grid-template-columns: 1fr;
    padding-left: 0;
  }
  :root .news-item-title {
    grid-column: 1;
  }
  :root .news-item-arr {
    grid-row: 1;
    align-self: baseline;
  }
}

a,
a:hover,
a:focus,
a:active,
a:visited,
button,
button:hover,
button:focus,
button:active,
.nav-btn.active,
[onclick],
[onclick]:hover,
[role='button']:hover {
  text-decoration: none !important;
}

:root .r-ep-t,
:root .r-program-lnk,
:root .r-acc-trigger,
:root .acc-trigger,
:root .r-faq-q,
:root .op-act,
:root .prog-show-row,
:root .news-item-row,
:root .rg-row,
:root .mem-row,
:root .t-ag-row,
:root .r-show-row,
:root .r-ep-sub-inner a,
:root .prog-filters-toggle,
:root #news-overlay .news-filters-toggle,
:root .mem-filters-toggle,
:root .t-regional-trigger,
:root .svc-prev-row,
:root .mnav-item {
  transition: padding-left var(--link-ease);
}

:root .r-ep-t:hover,
:root .r-program-lnk:hover,
:root .r-acc-trigger:hover,
:root .acc-trigger:hover,
:root .r-faq-q:hover,
:root .op-act:hover,
:root .prog-show-row:hover,
:root .news-item-row:hover,
:root .rg-row:hover,
:root a.mem-row:hover,
:root .t-ag-row:hover,
:root .r-show-row:hover,
:root .r-ep-sub-inner a:hover,
:root .prog-filters-toggle:hover,
:root #news-overlay .news-filters-toggle:hover,
:root .mem-filters-toggle:hover,
:root .t-regional-trigger:hover,
:root .svc-prev-row:hover,
:root .mnav-item:hover {
  padding-left: var(--link-shift);
  opacity: 1;
  background: none;
}

:root .r-acc-block.open .r-acc-trigger:hover,
:root .acc-block.open .acc-trigger:hover,
:root .r-faq-item.open .r-faq-q:hover,
:root .news-item.expanded .news-item-row:hover,
:root .rg-item.expanded .rg-row:hover,
:root .r-ep.open .r-ep-t:hover,
:root .t-regional-item.open .t-regional-trigger:hover,
:root #programs-overlay.filters-open .prog-filters-toggle:hover,
:root #news-overlay.filters-open .news-filters-toggle:hover,
:root #memlist-overlay.filters-open .mem-filters-toggle:hover {
  padding-left: 0;
}

:root .r-ep-t .thin-arr,
:root .r-program-lnk .thin-arr,
:root .prog-arr,
:root .news-item-arr .sw-arr,
:root .rg-row-arr .sw-arr,
:root .mem-arr,
:root .r-show-row .thin-arr {
  transition: transform var(--link-ease);
}

:root .r-ep-t:hover .thin-arr,
:root .r-program-lnk:hover .thin-arr,
:root .prog-show-row:hover .prog-arr,
:root .news-item-row:hover .news-item-arr .sw-arr,
:root .rg-row:hover .rg-row-arr .sw-arr,
:root a.mem-row:hover .mem-arr,
:root .r-show-row:hover .thin-arr {
  transform: translateX(var(--link-shift));
}

:root .r-ep.open .r-ep-t:hover .thin-arr {
  transform: rotate(90deg);
}

:root .nav-btn,
:root .fc-links a,
:root .fc-links button,
:root .r-fc-links a,
:root .r-fc-links button,
:root .svc-v-link a,
:root .prog-fo,
:root .news-filter-item,
:root .news-item-dl,
:root .news-item-share,
:root .news-item-text a,
:root .t-regional-body-inner .sub-lnk,
:root .rg-contact-lnk,
:root .fc-opt,
:root .dd-left h3.dd-big,
:root .mem-reset,
:root .t-gallery-nav button {
  display: inline-block;
  transition: transform var(--link-ease);
}

:root .prog-fo {
  display: flex;
}
:root .news-filter-item {
  display: block;
  width: fit-content;
}

:root .prog-day-h + .prog-show-row {
  border-top: 1px solid #fff;
}

:root #news-overlay .prog-hdr,
:root #region-overlay .prog-hdr {
  border-bottom: none;
}

:root .nav-btn:hover,
:root .fc-links a:hover,
:root .fc-links button:hover,
:root .r-fc-links a:hover,
:root .r-fc-links button:hover,
:root .svc-v-link a:hover,
:root .prog-fo:hover,
:root .news-filter-item:hover,
:root .news-item-dl:hover,
:root .news-item-share:hover,
:root .news-item-text a:hover,
:root .t-regional-body-inner .sub-lnk:hover,
:root .rg-contact-lnk:hover,
:root .fc-opt:hover,
:root .dd-left h3.dd-big:hover,
:root .mem-reset:hover,
:root #t-gal-next:hover {
  transform: translateX(var(--link-shift));
  opacity: 1;
  background: none;
}

:root #t-gal-prev:hover {
  transform: translateX(calc(var(--link-shift) * -1));
  opacity: 1;
}

:root .nav-btn.active,
:root #panel-r .nav-btn.active {
  background: none;
  color: #fff;
}

:root .r-fc-last .r-fc-links a:hover {
  opacity: 0.55;
}
:root .t-gallery-nav button[disabled]:hover {
  transform: none;
  opacity: 0.25;
}
:root .mnav-item:active {
  opacity: 1;
}

:root .t-ag-row:hover:not(.hl),
:root .r-show-row:hover,
:root .news-item-row:hover {
  background: none;
}

:root .pdf-card:hover {
  background: rgba(255, 255, 255, 0.02);
  border-color: #fff;
}

@media (prefers-reduced-motion: reduce) {
  :root * {
    transition-duration: 0.01ms !important;
  }
}

#region-bg,
#memlist-bg {
  z-index: 619;
}

:root #region-overlay,
:root #memlist-overlay {
  z-index: 620;
}

:root #region-overlay {
  background: var(--t-bg);
  color: var(--t-fg);
}

:root #region-overlay .prog-hdr-title,
:root #region-overlay .prog-close {
  color: var(--t-fg);
}

:root .rg-intro,
:root .rg-sec-head,
:root .rg-contact {
  padding-left: var(--ml);
  padding-right: var(--mr);
}

:root .rg-intro {
  max-width: calc(46rem + var(--ml));
  color: var(--t-fg);
}

:root .rg-sec-head {
  font-size: var(--tl);
  font-weight: 500;
}

:root .rg-sec:first-child .rg-sec-head {
  padding-top: calc(var(--pad-l-t) * 1em);
}

:root .rg-contact {
  font-size: var(--tm);
  letter-spacing: var(--lsl);
}

:root .rg-contact p + p {
  margin-top: var(--sp-1);
}

:root .rg-contact-lnk {
  color: inherit;
}

:root .rg-contact .btn-pill.btn-pill {
  margin-top: var(--sp-2);
}

:root .t-regional-body-inner .rg-open-btn.btn-pill {
  display: flex;
  width: fit-content;
}

:root .acc-inner .btn-pill.btn-pill {
  width: auto;
  display: inline-flex;
}

:root .mem-search {
  padding: 0 var(--mr) var(--sp-2) var(--ml);
}

:root .mem-search-input {
  width: min(100%, 28rem);
  font-family: var(--f);
  font-weight: 500;
  font-size: var(--ts);
  letter-spacing: 0;
  line-height: var(--lh-s);
  color: #fff;
  background-color: rgba(255, 255, 255, 0.08);
  border: 1px solid #fff;
  border-radius: var(--field-r);
  padding: var(--field-pad-y) var(--field-pad-x);
  outline: none;
}

:root .mem-search-input::placeholder {
  color: var(--g-inv);
}

:root .mem-search-input:focus {
  border-color: #fff;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.18);
}

:root .mem-filters-wrap {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

:root #memlist-overlay.filters-open .mem-filters-wrap {
  max-height: 1600px;
}

:root .mem-filters {
  display: grid;
  grid-template-columns: 1fr 1.25fr 2fr 2.4fr 1.6fr;
  gap: var(--sp-2);
  padding-left: var(--ml);
  padding-right: var(--mr);
  padding-bottom: 0;
  font-size: var(--ts);
}

:root .mem-filters .prog-fg-lbl {
  color: #fff;
  border-bottom: 1px solid #fff;
  letter-spacing: 0;
}

:root .mem-fg--wide .mem-fg-opts {
  column-count: 2;
  column-gap: var(--sp-2);
}

:root .mem-fo {
  width: 100%;
  align-items: baseline;
  gap: 0.28rem;
  background: none;
  border: none;
  padding: 0.06rem 0;
  color: #fff;
  font-family: var(--f);
  font-weight: 500;
  font-size: var(--ts);
  letter-spacing: 0;
  text-align: left;
  cursor: pointer;
  break-inside: avoid;
}

:root .mem-fo .fo-icon {
  flex: none;
}

:root .mem-filters-foot {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--sp-2);
  padding: var(--sp-2) var(--mr) var(--sp-2) var(--ml);
  font-size: var(--ts);
  line-height: var(--lh-s);
  color: var(--g-inv);
}

:root .mem-reset {
  background: none;
  border: none;
  padding: 0;
  color: #fff;
  font-family: var(--f);
  font-weight: 500;
  font-size: var(--ts);
  cursor: pointer;
  flex: none;
}

:root .mem-count {
  font-size: var(--ts);
  line-height: var(--lh-s);
  color: var(--g-inv);
  padding: calc(var(--pad-s-t) * 1em) var(--mr) calc(var(--pad-s-b) * 1em) var(--ml);
}

:root .mem-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  column-gap: var(--sp-2);
  margin: 0 var(--mr) 0 var(--ml);
  border-top: 1px solid #fff;
  color: #fff;
  letter-spacing: var(--lsl);
}

:root .mem-list .mem-row:last-child {
  border-bottom: 1px solid #fff;
}

:root .mem-site {
  color: var(--t-mu);
  max-width: 34vw;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

:root .mem-arr {
  font-family: var(--fl);
  font-weight: 300;
}

:root .mem-empty {
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  color: #fff;
  padding: calc(var(--pad-m-t) * 1em) var(--mr) 0 var(--ml);
}

:root .mem-sec-head {
  font-size: var(--tl);
  font-weight: 500;
  color: var(--ov-gray);
  padding-left: var(--ml);
  padding-right: var(--mr);
}

@media (max-width: 900px) {
  :root .mem-filters {
    grid-template-columns: 1fr 1fr;
  }
  :root .mem-fg--wide {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  :root .mem-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  :root .mem-site {
    display: none;
  }
  :root .mem-filters-foot {
    flex-direction: column;
  }
  :root .prog-hdr-title,
  :root .rg-sec-head,
  :root .mem-sec-head {
    font-size: clamp(2.2rem, 12vw, 4rem);
  }
}

:root #region-overlay .btn-pill.btn-pill,
:root #news-overlay .btn-pill.btn-pill {
  background: #000;
  border-color: #000;
  color: #fff;
}

:root #region-overlay .btn-pill.btn-pill:hover,
:root #news-overlay .btn-pill.btn-pill:hover {
  background: transparent;
  border-color: #000;
  color: #000;
}

#root ~ * .t-services-full .acc-block + .acc-block {
  border-top-width: 0;
}
#root ~ :not(#apply-forms-overlay) > .prog-hdr {
  border-bottom: none;
}

:root .show-title-block {
  padding-bottom: 0;
}
:root .show-piece-name {
  padding-bottom: calc(var(--pad-l-b) * 1em);
}
:root .show-scroll > .show-rule,
:root .show-scroll > .show-rule:first-child {
  margin-bottom: 0;
}
:root .show-body {
  padding-top: calc(var(--pad-m-t) * var(--tm));
}
:root .show-teaser {
  margin-bottom: calc(var(--pad-m-b) * 1em);
}
:root .show-desc .show-rule--in {
  display: none;
}
:root .show-desc .show-meta-grid,
:root .show-desc .show-rule--in + .show-meta-grid {
  margin-top: var(--sp-2);
}

:root .t-members-form {
  padding-top: var(--sp-3);
}
:root .t-members-form .fm-body > .fm-sec-h:first-child {
  padding-top: calc(var(--pad-l-t) * 1em);
  padding-bottom: calc(var(--pad-l-b) * 1em);
  margin-bottom: 0 !important;
}
:root .r-content + .r-footer {
  margin-top: 0;
}

:root .r-footer-grid {
  margin-left: var(--ml);
  margin-right: var(--mr);
}
:root .r-fc:first-child {
  padding-left: 0;
}
:root .r-fc-last {
  padding-right: 0;
}

:root .has-close-lbl {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  white-space: nowrap;
}

:root .close-lbl {
  font-family: var(--f);
  font-weight: 500;
  font-size: var(--ts);
  letter-spacing: 0;
  line-height: 1;
  transform: translateY(-0.04em);
}

:root .close-x {
  line-height: 1;
}

:root .has-close-lbl > span {
  color: inherit;
}
:root .has-close-lbl > .close-x {
  font-size: inherit;
}

:root #show-overlay .show-close {
  padding-right: var(--mr);
}

:root {
  --cur-size: 50px;
}

#cursore {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999;
  width: var(--cur-size);
  height: var(--cur-size);
  margin: calc(var(--cur-size) / -2) 0 0 calc(var(--cur-size) / -2);
  border-radius: 50%;
  pointer-events: none;
  display: none;
  opacity: 0;
  transition: opacity 0.15s linear;
  will-change: transform;
}

html.cur-on #cursore {
  display: block;
}

html.cur-visible #cursore,
html.cur-restore #cursore {
  opacity: 1;
}

html.cur-restore #cursore {
  transform: translate3d(var(--cur-x), var(--cur-y), 0);
}

html.cur-on,
html.cur-on body,
html.cur-on body * {
  cursor: none !important;
}

html[data-mondo='tpunkt'] #cursore {
  background: #fff;
  mix-blend-mode: difference;
}

html[data-mondo='radar'] #cursore {
  border-radius: 0;
  background: url('../assets/images/cursore-radar.png') center / 100% 100% no-repeat;
  image-rendering: pixelated;
}

:root {
  --vt-dur: 0.9s;
  --vt-ease: cubic-bezier(0.77, 0, 0.18, 1);
}

iframe.mondo-anteprima {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  margin: 0;
  border: 0;
  padding: 0;
  z-index: 99995;
  pointer-events: none;
  background: #ededed;
  transform: translateX(100vw);
}

iframe.mondo-anteprima[data-lato='sinistra'] {
  transform: translateX(-100vw);
}

iframe.mondo-anteprima.pronta {
  transition: transform var(--vt-dur) var(--vt-ease);
}

iframe.mondo-anteprima.scorre {
  transform: translateX(0);
}

body.world-slide {
  transition: transform var(--vt-dur) var(--vt-ease);
}

html.passaggio #cursore {
  opacity: 0 !important;
}

html.anteprima #cursore {
  display: none !important;
}

html.anteprima .r-hero-shape,
html.arrivo-mondo .r-hero-shape {
  opacity: 1;
  transition: none !important;
}

:root {
  --stmt-gap: var(--sp-3);
}

:root .t-stmt-block,
:root .r-stmt-block {
  padding-top: 0;
}

:root .t-stmt,
:root .r-stmt {
  padding-top: calc(var(--stmt-gap) + 0.0345em);
}

.nav-lang {
  display: flex;
  align-items: center;
  gap: 0.7em;
  margin-right: 1.9em;
  font-size: var(--ts);
}

.nav-lang-btn {
  font-family: var(--f);
  font-size: var(--ts);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.1;
  background: none;
  border: none;
  padding: 0.2rem 0;
  color: var(--g-nero);
  cursor: pointer;
}

body[data-world='radar'] .nav-lang-btn {
  color: var(--g-rosa);
}

:root .nav-lang-btn:hover,
:root .nav-lang-btn.on {
  color: #fff;
}

.nav-lang-btn:focus-visible {
  outline: 1px solid #fff;
  outline-offset: 2px;
}

@media (max-width: 1150px) {
  .nav-lang {
    margin-right: 1.4em;
    gap: 0.55em;
  }
}

@media (max-width: 900px) {
  .nav-bar .nav-lang,
  .r-pinned-nav .nav-lang,
  .t-pinned-nav .nav-lang {
    display: none;
  }
}

:root .mnav-foot .nav-lang {
  margin: 0 0 0 auto;
  gap: 0.9em;
}

:root .mnav-foot .nav-lang-btn {
  border: none;
  border-radius: 0;
  padding: 0.35rem 0;
}

:root {
  --agenda-bg: #dcdcdc;
}

:root .news-item[data-type='agenda'],
:root .rg-item[data-type='agenda'] {
  background-color: var(--agenda-bg);
}

body[data-world='tpunkt'] .news-item[data-type='agenda'].targeted {
  background-color: #d0d0d0;
}

#services-page-overlay,
#resources-overlay,
#members-overlay,
#aboutt-overlay,
#agenda-overlay,
#between-overlay,
#services-overlay,
#memlist-overlay,
#calc-panel {
  --ov-linea: #fff;
}

#news-overlay,
#region-overlay {
  --ov-linea: #000;
}

#programs-overlay,
#apply-overlay,
#professionals-overlay,
#visit-overlay,
#rabout-overlay,
#ticketing-overlay,
#opening-overlay {
  --ov-linea: #fff;
}

#show-overlay,
#apply-forms-overlay {
  --ov-linea: var(--r-mag);
}

#services-page-overlay::before,
#resources-overlay::before,
#members-overlay::before,
#aboutt-overlay::before,
#agenda-overlay::before,
#between-overlay::before,
#services-overlay::before,
#memlist-overlay::before,
#calc-panel::before,
#news-overlay::before,
#region-overlay::before,
#programs-overlay::before,
#apply-overlay::before,
#professionals-overlay::before,
#visit-overlay::before,
#rabout-overlay::before,
#ticketing-overlay::before,
#opening-overlay::before,
#show-overlay::before,
#apply-forms-overlay::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--ov-linea, currentColor);
  z-index: 60;
  pointer-events: none;
}

.t-hero {
  position: relative;
  height: 0;
  padding-top: 62.5%;
  flex: none;
  overflow: hidden;
  background: #000;
  line-height: 0;
}

.t-hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: brightness(var(--hero-luce, 0.72));
}

.t-hero::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 24%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0));
  z-index: 2;
  pointer-events: none;
}

.t-hero .t-hero-logo {
  position: absolute;
  left: 24.485%;
  top: 15.777%;
  width: 50.769%;
  height: 79.664%;
  object-fit: contain;
  z-index: 3;
  pointer-events: none;
  filter: none;

  clip-path: inset(0 0 100% 0);
}

.t-hero .t-hero-logo.is-in {
  clip-path: inset(0 0 0 0);
  transition: clip-path 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}

body.no-anim .t-hero .t-hero-logo {
  clip-path: inset(0 0 0 0);
  transition: none;
}

@media (prefers-reduced-motion: reduce) {
  .t-hero .t-hero-logo {
    clip-path: inset(0 0 0 0);
    transition: none;
  }
}

html.anteprima .t-hero .t-hero-logo {
  clip-path: inset(0 0 100% 0) !important;
  transition: none !important;
}

@media (max-width: 760px) {
  .t-hero {
    height: 88svh;
    min-height: 26rem;
    padding-top: 0;
  }

  .t-hero::after {
    height: 30%;
  }

  .t-hero .t-hero-logo {
    left: 15%;
    width: 70%;
    height: 79.664%;
    object-fit: contain;
  }
}

.r-hero:not(.logo-state) .r-hero-shape {
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
}

.r-hero-shape.is-presa {
  z-index: 7;
  animation-play-state: paused !important;
}

.r-hero-shapes:has(.r-hero-shape.is-presa) {
  z-index: 5;
}

.r-hero-shape.gira-libera {
  transition-property: left, top, width, height, opacity;
  will-change: rotate, translate;
}

body.no-anim .r-hero-shape {
  translate: none !important;
  pointer-events: none;
}

:root {
  --aa-on-bg: #fff;
  --aa-on-fg: #000;
  --aa-r: var(--field-r);
}

body[data-world='radar'] {
  --aa-on-fg: var(--r-mag);
}

.aa-panel {
  width: clamp(15rem, 25vw, 20.5rem);
  max-height: min(72vh, 41rem);
  overflow-y: auto;
  overscroll-behavior: contain;
  border-radius: var(--aa-r);
  padding: 0.7rem 0.9rem 0.9rem;
}

.aa-panel .aa-head {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  margin-bottom: 0.55rem;
}

.aa-head-sub {
  font-size: var(--ts);
  opacity: 0.62;
}

.aa-sec {
  border-top: 1px solid currentColor;
}

.aa-sec:first-of-type {
  border-top: none;
}

.aa-sec-lbl {
  color: inherit;
  opacity: 0.62;
  margin-bottom: 0.42rem;
}

.aa-opts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
}

.aa-opt {
  font-family: var(--f);
  font-weight: 500;
  font-size: var(--ts);
  letter-spacing: 0;
  line-height: 1;
  color: inherit;
  background: transparent;
  border: 1px solid currentColor;
  border-radius: 999px;
  padding: 0.36em 0.72em 0.4em;
  cursor: pointer;
  transition:
    background-color 0.18s ease,
    color 0.18s ease;
}

.aa-opt:hover {
  background-color: rgba(255, 255, 255, 0.14);
}

.aa-opt.on {
  background-color: var(--aa-on-bg);
  color: var(--aa-on-fg);
  border-color: var(--aa-on-bg);
}

.aa-corpo {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

.aa-panel .aa-btn {
  background: transparent;
  border: 1px solid currentColor;
  border-radius: var(--aa-r);
  color: inherit;
  min-width: 2.4rem;
  margin: 0;
  padding: 0.3rem 0;
  text-align: center;
  display: inline-block;
  cursor: pointer;
}

.aa-panel .aa-btn:hover {
  background-color: rgba(255, 255, 255, 0.14);
}

.aa-panel .aa-btn[disabled] {
  opacity: 0.35;
  cursor: default;
}

.aa-val {
  flex: 1;
  text-align: center;
  font-size: var(--ts);
  font-variant-numeric: tabular-nums;
}

.aa-fondo {
  position: sticky;
  bottom: -0.9rem;
  background-color: inherit;
  padding: 0.5rem 0 0.9rem;
  margin-top: 0.3rem;
}

.aa-reset {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.6rem;
  width: 100%;
  margin-top: 0;
  font-family: var(--f);
  font-weight: 500;
  font-size: var(--ts);
  letter-spacing: 0;
  color: var(--aa-on-fg);
  background: var(--aa-on-bg);
  border: 1px solid var(--aa-on-bg);
  border-radius: 999px;
  padding: 0.5em 0.9em 0.55em 1em;
  cursor: pointer;
  text-align: left;
  transition: opacity 0.18s ease;
}

.aa-reset:hover {
  opacity: 0.78;
}

.aa-reset-note {
  display: block;
  margin-top: 0.45rem;
  font-size: var(--ts);
  line-height: 1.25;
  opacity: 0.55;
}

.aa-panel::-webkit-scrollbar {
  width: 6px;
}

.aa-panel::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.35);
  border-radius: 999px;
}

.mnav-aa {
  font-family: var(--f);
  font-size: var(--ts);
  font-weight: 500;
  letter-spacing: 0;
  background: none;
  border: 1px solid currentColor;
  border-radius: 999px;
  padding: 0.4em 0.9em 0.45em;
  color: inherit;
  cursor: pointer;
}

.mnav-foot .aa-panel {
  position: static;
  width: 100%;
  max-height: 52vh;
  margin-top: 0.7rem;
  background: transparent;
  color: inherit;
  padding: 0;
}

.mnav-foot .aa-panel .aa-head {
  display: none;
}

body.aa-lh-1 {
  --aa-lh: 1.5;
}
body.aa-lh-2 {
  --aa-lh: 1.9;
}

body.aa-lh-1 p,
body.aa-lh-2 p,
body.aa-lh-1 li,
body.aa-lh-2 li,
body.aa-lh-1 .acc-inner,
body.aa-lh-2 .acc-inner,
body.aa-lh-1 .news-body,
body.aa-lh-2 .news-body,
body.aa-lh-1 .show-teaser,
body.aa-lh-2 .show-teaser,
body.aa-lh-1 .t-regional-body-inner,
body.aa-lh-2 .t-regional-body-inner {
  line-height: var(--aa-lh) !important;
}

body.aa-ls-1 {
  --aa-ls: 0.02em;
  --aa-ws: 0.06em;
}
body.aa-ls-2 {
  --aa-ls: 0.06em;
  --aa-ws: 0.14em;
}

body.aa-ls-1 p,
body.aa-ls-2 p,
body.aa-ls-1 li,
body.aa-ls-2 li,
body.aa-ls-1 .acc-inner,
body.aa-ls-2 .acc-inner,
body.aa-ls-1 .news-body,
body.aa-ls-2 .news-body,
body.aa-ls-1 .show-teaser,
body.aa-ls-2 .show-teaser {
  letter-spacing: var(--aa-ls) !important;
  word-spacing: var(--aa-ws) !important;
}

body.aa-contrasto-alto {
  filter: grayscale(100%) contrast(250%);
}

body.aa-contrasto-grigi {
  filter: grayscale(100%);
}

body.aa-link-sott
  :is(
    .sub-lnk,
    .news-item-t,
    .r-program-lnk,
    .acc-trigger,
    .nav-btn,
    .t-fc-links a,
    .r-fc-links a,
    .res-doc,
    .mnav-item,
    a[href]
  ) {
  text-decoration: underline !important;
  text-underline-offset: 0.18em;
}

body.aa-fuoco :is(a, button, input, select, textarea, [tabindex]):focus,
body.aa-fuoco :is(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid currentColor !important;
  outline-offset: 2px !important;
}

body.aa-font-leggibile {
  --f: Verdana, Tahoma, 'DejaVu Sans', system-ui, sans-serif;
  letter-spacing: 0;
}

body.aa-font-leggibile * {
  font-family: var(--f) !important;
}

html.aa-cursore-sistema #cursore {
  display: none !important;
}

html.aa-cursore-sistema,
html.aa-cursore-sistema body,
html.aa-cursore-sistema * {
  cursor: auto !important;
}

html.aa-cursore-sistema :is(button, .nav-btn, .acc-trigger, .t-ag-row, .news-item-t, .r-avatar, [onclick]) {
  cursor: pointer !important;
}

.vmap {
  display: flex;
  align-items: flex-start;
  position: relative;
}

.vmap-half {
  margin: 0;
  min-width: 0;
  flex: var(--vm-w) 1 0;
}

.vmap-svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: hidden;
}

.vmap-hit {
  fill: transparent;
}

.vmap-pin,
.vmap-label {
  cursor: pointer;
  outline: none;
}

.vmap-base,
.vmap-label,
.vmap-dot {
  transition: opacity 0.35s ease;
}

.vmap.is-on .vmap-base,
.vmap.is-on .vmap-label:not(.is-on),
.vmap.is-on .vmap-pin:not(.is-on) .vmap-dot {
  opacity: 0.18;
}

.vmap-dot {
  transition:
    opacity 0.35s ease,
    transform 0.45s var(--link-ease, ease);
}

.vmap-pin.is-on .vmap-dot {
  transform: scale(1.22);
}

.vmap-ring {
  fill: none;
  stroke: var(--r-mag);
  stroke-width: 7;
  stroke-linecap: round;
  stroke-dasharray: 0 17;
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
  transform: scale(1);
  transition:
    opacity 0.3s ease,
    transform 0.5s var(--link-ease, ease);
}

.vmap-pin.is-on .vmap-ring,
.vmap-pin:focus-visible .vmap-ring {
  opacity: 1;
  transform: scale(1.85);
}

.vmap-card {
  position: absolute;
  z-index: 6;
  width: min(21rem, 100%);
  background: var(--r-mag);
  color: #fff;
  padding: var(--sp-1) var(--sp-1) calc(var(--sp-1) * 0.6);
  line-height: 0;
  opacity: 0;
  transform: translateY(6px);
  transition:
    opacity 0.25s ease,
    transform 0.35s var(--link-ease, ease);
  pointer-events: auto;
}

.vmap-card[hidden] {
  display: none;
}

.vmap-card.is-in {
  opacity: 1;
  transform: none;
}

.vmap-card-img {
  margin: 0 0 var(--sp-1);
}

.vmap-card-img img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  filter: grayscale(1);
}

.vmap-card-where {
  font-size: var(--ts);
  line-height: var(--lh-s, 1.15);
}

.vmap-card-t {
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  padding: calc(var(--pad-m-t) * 1em) 0 calc(var(--pad-m-b) * 1em);
}

.vmap-card-p {
  font-size: var(--ts);
  line-height: var(--lh-s, 1.15);
  margin: 0 0 var(--sp-1);
  max-width: 34ch;
}

.vmap-card-row {
  display: grid;
  grid-template-columns: 3.4em minmax(0, 1fr) auto;
  align-items: baseline;
  gap: 0.6em;
  width: 100%;
  font: inherit;
  font-size: var(--ts);
  line-height: var(--lh-s, 1.15);
  color: #fff;
  background: none;
  border: 0;
  border-top: 1px solid #fff;
  padding: calc(var(--pad-s-t) * 1em) 0 calc(var(--pad-s-b) * 1em);
  text-align: left;
  cursor: pointer;
}

.vmap-card-n {
  transition: transform var(--link-ease, 0.3s ease);
}
.vmap-card-row:hover .vmap-card-n {
  transform: translateX(var(--link-shift, 0.75rem));
}
.vmap-card-a .sw-arr {
  width: 1.35em;
  height: 0.74em;
  display: block;
}
.vmap-card-a .sw-arr path {
  stroke: currentColor;
  fill: none;
  stroke-width: 1.6;
}

:root .r-show-row.is-pin-on .r-show-pin {
  background: var(--r-mag);
  color: #fff;
}

body.no-anim .vmap *,
body.no-anim .vmap-card {
  transition: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .vmap *,
  .vmap-card {
    transition: none !important;
  }
}

@media (max-width: 760px) {
  .vmap {
    flex-direction: column;
    align-items: stretch;
    gap: var(--sp-3);
  }

  .vmap-half {
    flex: none;
    width: 100%;
  }

  .vmap-card {
    width: 100%;
  }
}

:root {
  --hdr-h: 1.78rem;
}

:root .t-hero,
:root .r-hero {
  height: calc(100vh - var(--hdr-h));
  height: calc(100svh - var(--hdr-h));
  min-height: 15rem;
  padding-top: 0;
  flex: none;
}

@media (min-width: 761px) {
  :root .r-hero {
    container-type: size;
    --u: min(1cqw, 1.6cqh);
  }

  :root .r-hero-shapes {
    --sw: min(100cqw, 160cqh);
    --sh: calc(var(--sw) * 0.625);
    inset: auto;
    left: calc((100cqw - var(--sw)) / 2);
    top: calc((100cqh - var(--sh)) * 0.55609);
    width: calc(var(--sw) * 1.12);
    height: calc(var(--sh) * 1.12);
  }

  :root .r-hero-dateline {
    top: calc(2.98 * var(--u));
  }

  :root .r-hero-dateline .dl-dates {
    font-size: calc(6.84 * var(--u));
  }

  :root .r-hero-wordmark {
    bottom: calc(-2 * var(--u));
    font-size: calc(26.35 * var(--u));
  }
}

@media (min-width: 761px) and (max-aspect-ratio: 4/5) {
  :root .t-hero .t-hero-logo {
    left: 15%;
    width: 70%;
  }
}

:root .t-gal-count {
  display: none;
}

:root .news-item.targeted::before {
  content: none;
  display: none;
}

:root .acc-icon--arr .thin-arr {
  display: inline-block;
  font-family: var(--fl);
  font-weight: 200;
  transition: transform var(--link-ease);
}

:root .acc-link:hover .acc-icon--arr .thin-arr {
  transform: translateX(var(--link-shift));
}

:root .acc-icon--arr .sw-arr {
  width: 1.35em;
  height: 0.74em;
}

@media (max-width: 760px) {
  html:root .prog-hdr-title,
  html:root .pdf-lib-head,
  html:root .r-faq-head,
  html:root .rg-sec-head,
  html:root .mem-sec-head,
  html:root .fm-pane-h,
  html:root .op-act-name {
    font-size: var(--tl);
    line-height: var(--lhl);
  }
}

#apply-forms-overlay {
  --ov-linea: #fff;
  z-index: 700;
  top: auto;
  bottom: 0;
  height: 85vh;
  background: var(--r-mag);
  color: #fff;
  opacity: 1;
  transform: translateY(105%);
  transition:
    transform 0.55s cubic-bezier(0.16, 1, 0.3, 1),
    visibility 0s linear 0.55s;
  overflow: hidden;
}

#apply-forms-overlay.open {
  transform: translateY(0);
  transition:
    transform 0.55s cubic-bezier(0.16, 1, 0.3, 1),
    visibility 0s;
}

@media (max-width: 760px) {
  #apply-forms-overlay {
    height: 92svh;
  }
}

#apply-forms-overlay::before {
  background: #fff;
}

:root #apply-forms-overlay .prog-hdr {
  background: transparent;
  border-bottom: none;
}

:root #apply-forms-overlay .prog-hdr-title,
:root #apply-forms-overlay .prog-close {
  color: #fff;
}

:root #apply-forms-overlay .prog-close {
  font-family: var(--f);
  font-weight: 500;
  font-size: inherit;
}

:root #apply-forms-overlay .fm-tabs {
  display: flex;
  flex-wrap: wrap;
  column-gap: 2.2em;
  margin: 0 var(--mr) 0 var(--ml);
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  overflow: visible;
  font-size: var(--tm);
}

:root #apply-forms-overlay .fm-tab {
  font-size: 1em;
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  color: #fff;
  background: none;
  opacity: 1;
  padding: calc(var(--pad-m-t) * 1em) 0 calc(var(--pad-m-b) * 1em);
  transition: transform var(--link-ease);
}

:root #apply-forms-overlay .fm-tab:first-child {
  padding-left: 0;
}

:root #apply-forms-overlay .fm-tab::before {
  content: '\2296';
  font-family: var(--fl);
  font-weight: 300;
  margin-right: 0.3em;
}

:root #apply-forms-overlay .fm-tab[aria-selected='true'] {
  background: none;
  color: #fff;
}

:root #apply-forms-overlay .fm-tab[aria-selected='true']::before {
  content: '\2295';
}

:root #apply-forms-overlay .fm-tab:not([aria-selected='true']):hover {
  transform: translateX(var(--link-shift));
}

:root #apply-forms-overlay .fm-pane {
  padding: 0 var(--mr) var(--sp-4) var(--ml);
}

:root #apply-forms-overlay .fm-pane-h {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

#apply-forms-overlay .fm-theme-r {
  --fm-fg: #fff;
  --fm-mu: #fff;
  --fm-line: #fff;
  --fm-line-strong: #fff;
  --fm-accent: #fff;
  color: #fff;
}

:root #apply-forms-overlay .fm-body {
  max-width: none;
}

:root #apply-forms-overlay .fm-intro {
  color: #fff;
  max-width: 40ch;
  padding: var(--sp-2) 0 var(--sp-3);
}

:root #apply-forms-overlay .fm-sec,
:root #apply-forms-overlay .fm-sec:first-of-type {
  border-top: 1px solid #fff;
  padding: 0 0 var(--sp-3);
}

:root #apply-forms-overlay .fm-sec > legend {
  float: left;
  width: 100%;
}

:root #apply-forms-overlay .fm-sec > legend + * {
  clear: both;
}

:root #apply-forms-overlay .fm-sec-h {
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  padding: calc(var(--pad-m-t) * 1em) 0 calc(var(--pad-m-b) * 1em);
  margin: 0 0 var(--sp-2);
}

:root #apply-forms-overlay .fm-sec-note {
  margin: calc(var(--sp-2) * -0.5) 0 var(--sp-2);
  font-size: var(--ts);
  line-height: var(--lh-s, 1.15);
}

:root #apply-forms-overlay .fm-label,
:root #apply-forms-overlay .fm-hint,
:root #apply-forms-overlay .fm-error,
:root #apply-forms-overlay .fm-opt-txt,
:root #apply-forms-overlay .fm-file-name {
  color: #fff;
  font-size: var(--ts);
  line-height: var(--lh-s, 1.15);
}

:root #apply-forms-overlay .fm-input,
:root #apply-forms-overlay .fm-select,
:root #apply-forms-overlay .fm-textarea {
  color: #fff;
  background-color: transparent;
  border: 1px solid #fff;
  border-radius: var(--field-r);
  box-shadow: none;
}

:root #apply-forms-overlay .fm-input:hover,
:root #apply-forms-overlay .fm-select:hover,
:root #apply-forms-overlay .fm-textarea:hover,
:root #apply-forms-overlay .fm-input:focus,
:root #apply-forms-overlay .fm-select:focus,
:root #apply-forms-overlay .fm-textarea:focus {
  background-color: transparent;
  border-color: #fff;
  box-shadow: inset 0 0 0 1px #fff;
}

:root #apply-forms-overlay .fm-input::placeholder,
:root #apply-forms-overlay .fm-textarea::placeholder {
  color: #fff;
  opacity: 0.55;
}

#apply-forms-overlay .fm-select option {
  background: #fff;
  color: var(--r-mag);
}

:root #apply-forms-overlay .fm-check-box,
:root #apply-forms-overlay .fm-radio-dot {
  border-color: #fff;
  background: transparent;
}

:root #apply-forms-overlay .fm-check:checked + .fm-check-box {
  background: #fff;
  border-color: #fff;
}

:root #apply-forms-overlay .fm-check:checked + .fm-check-box::after {
  border-color: var(--r-mag);
}

:root #apply-forms-overlay .fm-radio:checked + .fm-radio-dot {
  border-color: #fff;
  background: var(--r-mag);
  box-shadow: inset 0 0 0 0.22em #fff;
}

:root #apply-forms-overlay .fm-callout {
  border: none;
  border-top: 1px solid #fff;
  padding: calc(var(--pad-s-t) * 1em) 0 0;
  margin: var(--sp-2) 0 0;
  max-width: 60ch;
  font-size: var(--ts);
  line-height: var(--lh-s, 1.15);
  color: #fff;
}

:root #apply-forms-overlay .fm-row-add,
:root #apply-forms-overlay .fm-row-del {
  color: #fff;
  border-color: #fff;
}

:root #apply-forms-overlay .fm-file-btn {
  color: #fff;
  border-color: #fff;
  background: transparent;
}

:root #apply-forms-overlay .fm-file-btn:hover {
  background: #fff;
  color: var(--r-mag);
}

:root #apply-forms-overlay .fm-foot {
  border-top: 1px solid #fff;
}

:root #apply-forms-overlay .fm-submit-alt,
:root #apply-forms-overlay .fm-submit-alt.btn-pill {
  background: transparent;
  border-color: #fff;
  color: #fff;
}

:root #apply-forms-overlay .fm-submit-alt:hover,
:root #apply-forms-overlay .fm-submit-alt.btn-pill:hover {
  background: #fff;
  color: var(--r-mag);
}

:root #apply-forms-overlay .fm-status,
:root #apply-forms-overlay .fm-done {
  color: #fff;
}

@media (max-width: 760px) {
  :root #apply-forms-overlay .fm-tabs {
    flex-direction: column;
    border-bottom: none;
  }

  :root #apply-forms-overlay .fm-tab {
    width: 100%;
    white-space: normal;
    border-bottom: 1px solid #fff;
  }
}

:root {
  --cur-link-size: 22px;
}

#cursore {
  transition:
    opacity 0.15s linear,
    width 0.28s cubic-bezier(0.16, 1, 0.3, 1),
    height 0.28s cubic-bezier(0.16, 1, 0.3, 1),
    margin 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}

html.cur-link {
  --cur-size: var(--cur-link-size);
}

html:has(body.no-anim) #cursore {
  transition: opacity 0.15s linear;
}

@media (prefers-reduced-motion: reduce) {
  #cursore {
    transition: opacity 0.15s linear;
  }
}

:root .r-hero-dateline,
:root .r-hero-dateline .dl-dates {
  line-height: var(--lhl);
  letter-spacing: var(--lsl);
  font-kerning: normal;
  font-feature-settings: 'kern' 1;
}

@media (min-width: 761px) {
  :root .r-hero-dateline {
    --dl-f: calc(6.84 * var(--u));
    top: calc(clamp(0.6rem, 1.25vw, 1rem) + 0.1205 * var(--ts) + 0.0345 * var(--dl-f));
    right: calc(2.57cqw - 0.497 * var(--u));
  }
}

@keyframes vmap-invito {
  0% {
    opacity: 0;
    transform: scale(1.55);
  }
  22% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: scale(3.1);
  }
}

@media (max-width: 760px) {
  .vmap-dot {
    transform: scale(1.6);
  }

  .vmap-pin.is-on .vmap-dot {
    transform: scale(1.85);
  }

  .vmap-pin .vmap-hit {
    transform-box: fill-box;
    transform-origin: center;
    transform: scale(1.9);
  }

  .vmap:not(.is-on) .vmap-ring {
    animation: vmap-invito 2.6s cubic-bezier(0.2, 0.7, 0.3, 1) infinite;
  }

  .vmap-pin[data-pin='2'] .vmap-ring {
    animation-delay: 0.45s;
  }
  .vmap-pin[data-pin='4'] .vmap-ring {
    animation-delay: 0.9s;
  }
  .vmap-pin[data-pin='3'] .vmap-ring {
    animation-delay: 1.35s;
  }
  .vmap-pin[data-pin='5'] .vmap-ring {
    animation-delay: 1.8s;
  }

  .vmap-pin.is-on .vmap-ring {
    opacity: 1;
    transform: scale(2.5);
  }

  :root .r-hero {
    container-type: size;
  }

  .r-hero:not(.logo-state) .r-hero-shape {
    animation: none;
  }

  .r-hero:not(.logo-state) .r-hero-shape-rect {
    left: 10cqw;
    top: calc(11cqh - (100cqh - 69.94cqw) / 2);
    width: 96cqw;
    height: 72.1cqw;
  }

  .r-hero:not(.logo-state) .r-hero-shape-square {
    left: 3cqw;
    top: calc(40cqh - (100cqh - 69.94cqw) / 2);
    width: 60cqw;
    height: 75.52cqw;
  }

  .r-hero:not(.logo-state) .r-hero-shape-sphere {
    left: 50cqw;
    top: calc(58cqh - (100cqh - 69.94cqw) / 2);
    width: 46cqw;
    height: 46cqw;
  }
}

@media (max-width: 760px) and (prefers-reduced-motion: reduce) {
  .vmap:not(.is-on) .vmap-ring {
    animation: none;
    opacity: 1;
    transform: scale(2.2);
  }
}

@media (max-width: 760px) {
  body.no-anim .vmap:not(.is-on) .vmap-ring {
    animation: none;
    opacity: 1;
    transform: scale(2.2);
  }
}

@media (max-width: 760px) {
  .vmap-altro {
    display: none;
  }
}

:where(a[href], button, summary, [role='button'], [tabindex]:not([tabindex='-1'])):focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

[data-dialogo]:focus,
[tabindex='-1']:focus {
  outline: none;
}

:root .r-newsletter-input:focus-visible,
:root .t-newsletter-input:focus-visible {
  box-shadow: inset 0 0 0 2px currentColor;
}

.salta {
  position: fixed;
  top: 0.5rem;
  left: 0.5rem;
  z-index: 100000;
  padding: 0.45em 0.8em;
  font-family: var(--f);
  font-size: var(--ts);
  font-weight: 500;
  line-height: 1.15;
  text-decoration: none;
  color: #fff;
  background: #000;
  transform: translateY(-200%);
}

body[data-world='radar'] .salta {
  background: var(--r-mag);
}

.salta:focus,
.salta:focus-visible {
  transform: none;
  outline: 2px solid currentColor;
  outline-offset: -5px;
}

:root {
  --g-chiaro: #808080;
  --g-nero: #a0a0a0;
  --g-rosa: #ffbfff;
  --g-rosa-bianco: #ff66ff;
}
body {
  --t-mu: var(--g-chiaro);
  --g-inv: var(--g-nero);
}

body[data-world='radar'] {
  --g-inv: var(--g-rosa);
}
body[data-world='tpunkt']
  :is(
    .tpage-overlay,
    #calc-overlay,
    #agenda-overlay,
    #services-overlay,
    #memlist-overlay,
    #between-overlay,
    .aa-panel,
    .t-pinned-nav,
    .site-header,
    .nav-dd,
    .t-bando-card,
    .t-footer-dark
  ) {
  --t-mu: var(--g-nero);
}
body[data-world='tpunkt'] :is(#news-overlay, #region-overlay) {
  --t-mu: var(--g-chiaro);
}
:root .t-bando-tag,
:root .t-bando-card:hover .t-bando-tag,
:root .t-bando-card.is-active .t-bando-tag {
  opacity: 1;
  color: var(--g-nero);
}

:root .r-fc-last .r-fc-links a {
  opacity: 1;
  color: var(--g-rosa-bianco);
}
:root .r-fc-last .r-fc-links a:hover {
  opacity: 1;
  color: var(--r-mag);
}
:root .show-meta-lbl {
  opacity: 1;
  color: var(--g-rosa-bianco);
}
:root #pf-count {
  opacity: 1;
  color: var(--g-inv);
}

:root .aa-head-sub,
:root .aa-sec-lbl {
  opacity: 1;
  color: var(--g-inv);
}

:root .news-filter-item {
  opacity: 1;
  color: var(--g-chiaro);
}
:root .news-filter-item.active {
  color: inherit;
}

@media (max-width: 900px) {
  :root .prog-title {
    opacity: 1;
    color: var(--g-rosa);
  }
}
body.aa-contrasto-alto {
  --g-chiaro: #707070;
  --g-nero: #909090;
  --g-rosa: #ff64ff;
  --g-rosa-bianco: #ff38ff;
}
body.aa-contrasto-alto[data-world='radar'] {
  --g-inv: var(--g-rosa);
}
:root .tendina-testo::after {
  content: '';
  display: block;
  height: var(--tm);
}
:root
  :is(p, li, .fm-opt-txt, .fm-note, .fm-intro)
  > a[href]:not(.btn-pill):not(.calc-full-btn):not(.sub-lnk):not(.news-item-dl):not(.team-mail)::after {
  content: '\2197';
  display: inline-block;
  margin-left: 0.12em;
  font-family: var(--fl);
  font-weight: 400;
  font-size: 0.62em;
  line-height: 1;
  vertical-align: 0.42em;
  text-decoration: none;
}
:root
  :is(p, li, .fm-opt-txt, .fm-note, .fm-intro)
  > a[href]:not(.btn-pill):not(.calc-full-btn):not(.sub-lnk):not(.news-item-dl) {
  color: inherit;
  text-decoration: none;
}
:root
  :is(p, li, .fm-opt-txt, .fm-note, .fm-intro)
  > a[href]:not(.btn-pill):not(.calc-full-btn):not(.sub-lnk):not(.news-item-dl):hover {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.14em;
}
:root .t-bando-card,
:root .t-bando-card:hover,
:root .t-bando-card.is-active,
:root .t-bando-card--inverse,
:root .t-bando-card--inverse:hover,
:root .t-bando-card--inverse.is-active {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 14%;
}

:root .t-bando-card .t-bando-txt {
  text-align: center;
}
:root .t-bando-card .t-bando-arr {
  align-self: center;
}
:root .news-item-arr,
:root .rg-row-arr,
:root .r-ep-ic {
  font-family: var(--fl);
  font-weight: 300;
  line-height: 0.8;
  transform: none;
  transition: none;
}

:root .news-item.expanded .news-item-arr,
:root .rg-item.expanded .rg-row-arr {
  transform: none;
}

:root .r-ep-t {
  justify-content: space-between;
}
:root .r-ep-ic {
  flex: none;
}
:root .r-ep-t:hover .r-ep-ic {
  transform: none;
}
:root .t-regional-body-inner .rg-open-btn--arr.btn-pill {
  gap: 0;
  padding-left: 0.85em;
  padding-right: 0.85em;
}
:root .rg-open-btn--arr .btn-pill-arr {
  margin: 0;
}
:root .prog-show-row {
  grid-template-columns: calc(50% - var(--sp)) calc(var(--tm) * 3.6) 1fr auto;
}

:root .prog-venue {
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  color: #fff;
}

@media (max-width: 900px) {
  :root .prog-show-row {
    grid-template-columns: calc(var(--tm) * 3.6) 1fr auto;
  }
  :root .prog-company {
    grid-column: 1 / 3;
    grid-row: 1;
  }
  :root .prog-arr {
    grid-column: 3;
    grid-row: 1;
  }
  :root .prog-title.prog-time {
    grid-column: 1;
    grid-row: 2;
  }
  :root .prog-venue {
    grid-column: 2 / 4;
    grid-row: 2;
    color: var(--g-rosa);
  }
}
:root .r-acc-section {
  padding-bottom: calc(var(--tm) + var(--sp-3));
}
:root .t-gal-progress span {
  height: 1px;
  top: 0;
}
:root .r-footer-bar {
  height: 1px;
}
#velo-retro {
  position: fixed;
  inset: 0;
  background: rgba(255, 255, 255, 0.2);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 0.3s ease,
    visibility 0s linear 0.3s;
}

body.velo-on #velo-retro {
  opacity: 1;
  visibility: visible;
  transition:
    opacity 0.3s ease,
    visibility 0s;
}

body.velo-on .edge-band {
  z-index: 940;
}

body.no-anim #velo-retro {
  transition: none;
}
html body.velo-on .panel .site-header.sopra-velo {
  z-index: 945 !important;
}
:root .expo-az {
  display: flex;
  flex-wrap: wrap;
  gap: 0 0.55em;
  margin: 0 var(--mr) 0 var(--ml);
  padding: 0.2rem 0 0.5rem;
  font-size: var(--ts);
  line-height: 1.2;
  border-bottom: 1px solid #fff;
}
:root .expo-az-l {
  background: none;
  border: 0;
  padding: 0;
  font: inherit;
  color: #fff;
  cursor: pointer;
}
:root .expo-az-l:hover {
  text-decoration: underline;
  text-underline-offset: 0.14em;
}
:root .expo-az-l.is-off {
  color: var(--g-inv);
  cursor: default;
}

:root .expo-lead {
  margin: var(--sp-2) var(--mr) var(--sp-2) var(--ml);
  max-width: 46rem;
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  color: #fff;
}
:root .expo-lead span {
  color: var(--g-inv);
}

:root .expo-list {
  padding-bottom: var(--sp-4);
}
:root .expo-list .prog-show-row.expo-row {
  grid-template-columns: calc(50% - var(--sp)) calc(var(--tm) * 4.6) 1fr auto;
}
:root .expo-disc {
  color: var(--g-inv);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}
:root .expo-group:first-child .prog-day-h {
  padding-top: 0;
}

@media (max-width: 900px) {
  :root .expo-list .prog-show-row.expo-row {
    grid-template-columns: calc(var(--tm) * 4.6) 1fr auto;
  }
  :root .expo-row .prog-company {
    grid-column: 1 / 3;
    grid-row: 1;
  }
  :root .expo-row .prog-arr {
    grid-column: 3;
    grid-row: 1;
  }
  :root .expo-row .expo-tipo {
    grid-column: 1;
    grid-row: 2;
    color: var(--g-rosa);
  }
  :root .expo-row .expo-disc {
    grid-column: 2 / 4;
    grid-row: 2;
  }
}
#show-overlay.is-expo .show-img-duo img {
  object-fit: contain;
}
#show-overlay .show-cred-val a {
  color: inherit;
  text-decoration: none;
}
#show-overlay .show-cred-val a:hover {
  text-decoration: underline;
  text-underline-offset: 0.14em;
}
:root #about-team.open .acc-body,
:root #about-comitato.open .acc-body {
  max-height: 5000px;
}
:root .team-inner {
  max-width: none;
}

:root .team-grp + .team-grp {
  margin-top: var(--sp-3);
}
:root .team-inner .team-grp-h {
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  font-weight: 500;
  color: #fff;
  border-top: 1px solid #fff;
  padding-top: 0.25rem;
}

:root .team-grid {
  list-style: none;
  margin: var(--sp-2) 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--sp-3) var(--sp);
}
:root .team-inner .team-grid .team-card {
  display: flex;
  flex-direction: column;
  font-size: var(--ts);
  line-height: 1.2;
  padding: 0;
  margin: 0;
}
:root .team-ph {
  display: block;
  width: 78%;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  overflow: hidden;
  background: #1a1a1a;
  margin-bottom: 0.7rem;
}
:root .team-ph img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: grayscale(1);
}
:root .team-inner .team-name {
  color: #fff;
}
:root .team-inner .team-role {
  color: var(--g-inv);
}
:root .team-mail {
  color: #fff;
  text-decoration: none;
  margin-top: 0.2rem;
  overflow-wrap: anywhere;
}
:root .team-mail:hover {
  text-decoration: underline;
  text-underline-offset: 0.14em;
}

@media (max-width: 760px) {
  :root .team-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--sp-2) var(--sp);
  }
  :root .team-ph {
    width: 100%;
  }
}
:root .na-title {
  margin: 0 var(--mr) 0 var(--ml);
  padding-top: calc(var(--sp-3) + var(--pad-l-t) * 1em);
  padding-bottom: calc(var(--pad-l-b) * 1em);
  font-size: var(--tl);
  font-weight: 500;
  line-height: var(--lhl);
  letter-spacing: var(--lsl);
  color: var(--t-fg);
}

:root .na-sec:not(.espansa) .na-oltre {
  display: none;
}
:root .na-sec:not(.espansa) .news-group:not(:has(.news-item:not(.na-oltre), .na-ag-row:not(.na-oltre))) {
  display: none;
}
:root .na-sec:not(.espansa) .news-item:not(.na-oltre):not(:has(~ .news-item:not(.na-oltre))) {
  border-bottom: 1px solid var(--t-fg);
}

:root .na-more {
  display: block;
  margin: var(--sp-1) var(--mr) 0 var(--ml);
  padding: 0.2em 0;
  background: none;
  border: 0;
  font-family: var(--fl);
  font-weight: 300;
  font-size: var(--tm);
  line-height: 1;
  color: var(--t-fg);
  cursor: pointer;
}
:root .na-more[hidden] {
  display: none;
}
:root .na-ag-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: var(--sp);
  align-items: baseline;
  width: calc(100% - var(--ml) - var(--mr));
  margin: 0 var(--mr) 0 var(--ml);
  background: none;
  border: 0;
  border-bottom: 1px solid var(--t-fg);
  padding: 0 0 1px;
  min-height: var(--rowh);
  font-family: var(--f);
  font-weight: 500;
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  color: var(--t-fg);
  text-align: left;
  cursor: pointer;
}
:root .na-prossimi .na-ag-row:first-child {
  border-top: 1px solid var(--t-fg);
}
:root .na-prossimi {
  padding-top: var(--sp-1);
}
:root .na-ag-d {
  color: var(--g-chiaro);
}
:root .na-ag-arr {
  font-family: var(--fl);
  font-weight: 300;
}
:root .na-ag-arr .sw-arr {
  width: 1.35em;
  height: 0.74em;
  transition: transform var(--link-ease);
}
:root .na-ag-row:hover .na-ag-arr .sw-arr {
  transform: translateX(var(--link-shift));
}

@media (max-width: 760px) {
  :root .na-ag-row {
    grid-template-columns: minmax(0, 1fr) auto;
    row-gap: 0;
  }
  :root .na-ag-d {
    grid-column: 1;
    grid-row: 2;
    font-size: var(--tm);
    padding-bottom: var(--sp-1);
  }
  :root .na-ag-arr {
    grid-column: 2;
    grid-row: 1;
  }
}
:root .na-ag-row {
  background: var(--agenda-bg, #dcdcdc);
}
html:root
  :is(
    .acc-icon:not(.acc-icon--arr),
    .r-acc-icon,
    .r-faq-ic,
    .news-item-arr,
    .rg-row-arr,
    .r-ep-ic,
    .tg-ic,
    [id='news-filters-icon'],
    [id='pf-icon'],
    [id='mem-f-icon'],
    .close-x
  ) {
  --tg-w: 1.4px;
  position: relative;
  display: inline-block;
  flex: none;
  width: 0.62em;
  height: 0.62em;
  overflow: hidden;
  text-indent: -9999px;
  white-space: nowrap;
  vertical-align: 0.02em;
  line-height: 0;
  transform: rotate(0deg);
  transition: transform 0.42s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
html:root
  :is(
    .acc-icon:not(.acc-icon--arr),
    .r-acc-icon,
    .r-faq-ic,
    .news-item-arr,
    .rg-row-arr,
    .r-ep-ic,
    .tg-ic,
    [id='news-filters-icon'],
    [id='pf-icon'],
    [id='mem-f-icon'],
    .close-x
  )
  > span {
  display: none !important;
}
html:root
  :is(
    .acc-icon:not(.acc-icon--arr),
    .r-acc-icon,
    .r-faq-ic,
    .news-item-arr,
    .rg-row-arr,
    .r-ep-ic,
    .tg-ic,
    [id='news-filters-icon'],
    [id='pf-icon'],
    [id='mem-f-icon'],
    .close-x
  )::before,
html:root
  :is(
    .acc-icon:not(.acc-icon--arr),
    .r-acc-icon,
    .r-faq-ic,
    .news-item-arr,
    .rg-row-arr,
    .r-ep-ic,
    .tg-ic,
    [id='news-filters-icon'],
    [id='pf-icon'],
    [id='mem-f-icon'],
    .close-x
  )::after {
  content: '' !important;
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  height: var(--tg-w);
  margin-top: calc(var(--tg-w) / -2);
  background: currentColor;
  font-size: 0;
}
html:root
  :is(
    .acc-icon:not(.acc-icon--arr),
    .r-acc-icon,
    .r-faq-ic,
    .news-item-arr,
    .rg-row-arr,
    .r-ep-ic,
    .tg-ic,
    [id='news-filters-icon'],
    [id='pf-icon'],
    [id='mem-f-icon'],
    .close-x
  )::after {
  transform: rotate(90deg);
}
html:root .r-ep-ic {
  --tg-w: 1.7px;
  width: 0.55em;
  height: 0.55em;
}
html:root :is([id='news-filters-icon'], [id='pf-icon'], [id='mem-f-icon'], .close-x) {
  --tg-w: 1px;
  width: 0.7em;
  height: 0.7em;
  margin-left: 0.3em;
  vertical-align: middle;
  align-self: center;
}
html:root body .acc-block.open > .acc-trigger .acc-icon:not(.acc-icon--arr),
html:root body .r-acc-block.open .r-acc-icon,
html:root body .r-faq-item.open .r-faq-ic,
html:root body .news-item.expanded .news-item-arr,
html:root body .rg-item.expanded .rg-row-arr,
html:root body .r-ep.open .r-ep-ic,
html:root body .na-sec.espansa .na-more .tg-ic,
html:root #news-overlay.filters-open #news-filters-icon,
html:root #programs-overlay.filters-open #pf-icon,
html:root #memlist-overlay.filters-open #mem-f-icon {
  transform: rotate(45deg);
}

body.no-anim
  :is(
    .acc-icon,
    .r-acc-icon,
    .r-faq-ic,
    .news-item-arr,
    .rg-row-arr,
    .r-ep-ic,
    .tg-ic,
    [id='news-filters-icon'],
    [id='pf-icon'],
    [id='mem-f-icon'],
    .close-x
  ) {
  transition: none !important;
}
:root .t-gallery-strip {
  gap: 0;
  padding: 0;
  scroll-padding-left: 0;
  cursor: pointer;
}
:root .t-gal-fig {
  width: auto;
  flex: 0 0 auto;
}
:root .t-gal-fig img {
  width: auto;
  height: clamp(220px, 36vw, 560px);
  max-width: none;
  object-fit: contain;
}
:root .t-gal-cap,
:root .t-gal-progress,
:root .t-gallery-nav {
  display: none;
}
:root .t-gallery-bar {
  padding: 0.5rem var(--mr) 0 var(--ml);
  justify-content: flex-start;
}
:root .t-gal-count {
  display: block;
  font-size: var(--ts);
  letter-spacing: 0;
  color: var(--t-fg);
  font-variant-numeric: tabular-nums;
}

@media (max-width: 760px) {
  :root .t-gal-fig {
    width: auto;
  }
  :root .t-gal-fig img {
    height: 62vw;
  }
}
:root .hdr-scorre {
  position: static;
  background: transparent;
}
:root #agenda-overlay {
  overflow-y: auto;
  overscroll-behavior: contain;
}
:root #agenda-overlay > * {
  flex-shrink: 0;
}
:root #show-overlay .show-teaser:empty,
:root #show-overlay .show-teaser:empty + .show-rule--in {
  display: none;
}
:root #show-overlay .show-teaser:empty ~ .show-credits {
  border-top: 0;
}
:root .ag-mese {
  margin: 0 var(--mr) 0 var(--ml);
  padding: var(--sp-1) 0 0.2rem;
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  font-weight: 500;
  color: var(--t-fg);
}
:root .ag-mese-gr .na-ag-row {
  border-bottom: 0;
  border-top: 1px solid var(--t-fg);
}
:root .ag-mese-gr > :last-child {
  border-bottom: 1px solid var(--t-fg);
}
:root .ag-arch-h {
  margin: var(--sp-3) var(--mr) 0 var(--ml);
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  font-weight: 500;
  color: var(--g-chiaro);
}
:root .na-sec:not(.espansa) .ag-arch-h {
  display: none;
}
:root .na-sec:not(.espansa) .ag-mese-gr:not(:has(.news-item:not(.na-oltre), .na-ag-row:not(.na-oltre))) {
  display: none;
}
:root .ag-mese-gr:not(:has(.na-ag-row, .news-item:not([style*='display: none']))) {
  display: none;
}
:root .na-title.is-sotto {
  visibility: hidden;
}
:root a.na-ag-row {
  text-decoration: none;
}
:root a.na-ag-row .na-ag-arr {
  font-size: 0.7em;
  align-self: center;
  transition: transform var(--link-ease);
}
:root a.na-ag-row:hover .na-ag-arr {
  transform: translate(0.15em, -0.15em);
}
:root a.na-ag-row:hover .na-ag-t {
  text-decoration: none;
}
:root .na-sec:not(.espansa) .na-ag-row:not(.na-oltre):has(+ .na-oltre) {
  border-bottom: 1px solid var(--t-fg);
}
:root .na-ag-row {
  background: none;
}
:root .ag-mese {
  background: var(--agenda-bg, #dcdcdc);
  margin-top: var(--sp-1);
  padding-top: 0.12em;
  padding-bottom: 0.12em;
}
:root .ag-anno .ag-mese-gr:first-of-type .ag-mese {
  margin-top: 0;
}
:root #news-overlay.in-agenda .news-filters-toggle > *,
:root #news-overlay.in-agenda .news-filters-toggle {
  color: transparent;
  pointer-events: none;
}
:root #news-overlay.in-agenda .news-filters-toggle > * {
  visibility: hidden;
}
:root #news-overlay.in-agenda .news-filters-wrap {
  visibility: hidden;
}
:root {
  --close-top: clamp(0.85rem, 1.5vw, 1.35rem);
}

html:root body .has-close-lbl:not(.mnav-close) {
  position: absolute !important;
  top: var(--close-top) !important;
  right: var(--mr) !important;
  left: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  width: auto !important;
  border: 0 !important;
  background: none !important;
  font-size: var(--tm) !important;
  line-height: 1 !important;
  gap: 0.4rem;
  z-index: 6;
}
html:root body .has-close-lbl .close-x {
  transform: rotate(45deg);
  margin-right: -0.091em;
}
html:root body .has-close-lbl:hover .close-x {
  transform: rotate(135deg);
}
html:root body .prog-hdr > .has-close-lbl {
  right: 0 !important;
}
html:root body :is(.tpage-overlay, [id$='-overlay'], #calc-panel)::before {
  content: none !important;
  display: none !important;
}
#velo-retro {
  display: none !important;
}
.velo-strato {
  position: fixed;
  inset: 0;
  background: rgba(255, 255, 255, 0.28);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 0.3s ease,
    visibility 0s linear 0.3s;
}
.velo-strato.on {
  opacity: 1;
  visibility: visible;
  transition:
    opacity 0.3s ease,
    visibility 0s;
}
body.no-anim .velo-strato {
  transition: none;
}
html:root body .panel.calamita-on {
  scroll-behavior: auto !important;
  scroll-snap-type: none !important;
}
@media (min-width: 901px) {
  html:root .t-bandi-grid {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-padding-left: var(--ml);
    scrollbar-width: none;
    cursor: grab;
    flex: none;
    min-height: max-content;
    align-items: flex-start;
  }
  html:root .t-bandi-grid .t-bando-card {
    scroll-snap-align: start;
  }
  html:root .t-bandi-grid::-webkit-scrollbar {
    display: none;
  }
  html:root .t-bandi-grid .t-bando-card {
    flex: 0 0 calc((100% - 2 * clamp(1px, 0.16vw, 2px)) / 3);
    width: calc((100% - 2 * clamp(1px, 0.16vw, 2px)) / 3);
  }
}
.t-bandi-grid.scorre .t-bando-card {
  transition:
    transform 0.95s cubic-bezier(0.65, 0, 0.35, 1),
    border-radius 0.45s cubic-bezier(0.16, 1, 0.3, 1),
    background 0.25s ease,
    color 0.25s ease !important;
}
@media (min-width: 901px) {
  html:root .t-bandi-grid .t-bando-card,
  html:root .t-bandi-grid .t-bando-card:hover,
  html:root .t-bandi-grid .t-bando-card--inverse,
  html:root .t-bandi-grid .t-bando-card--inverse:hover {
    padding: calc((100vw - var(--ml) - var(--mr)) / 3 * 0.14);
  }
}
@media (max-width: 900px) {
  html:root .t-bandi-grid .t-bando-card,
  html:root .t-bandi-grid .t-bando-card.is-active,
  html:root .t-bandi-grid .t-bando-card--inverse,
  html:root .t-bandi-grid .t-bando-card--inverse.is-active {
    padding: min(10vw, 2.9rem);
  }
}
html:root body .op-item {
  border-top: 1px solid #fff;
}
html:root body .op-item:last-child {
  border-bottom: 1px solid #fff;
}
html:root body .op-item > .op-act,
html:root body .op-item > .op-act:last-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--sp);
  border: 0;
  padding-left: 0;
  opacity: 1;
}
html:root body .op-item > .op-act:hover {
  padding-left: 0;
  opacity: 0.72;
}
html:root body .op-item .op-ic {
  font-size: var(--tl);
  --tg-w: 1.7px;
  width: 0.55em;
  height: 0.55em;
}
html:root body .op-item.open .op-ic {
  transform: rotate(45deg);
}
html:root body .op-bio {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}
html:root body .op-item.open .op-bio {
  grid-template-rows: 1fr;
}
html:root body .op-bio-in {
  overflow: hidden;
  min-height: 0;
}
html:root body .op-bio-in p {
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  max-width: 46rem;
  margin: 0;
  padding: 0;
  color: #fff;
}
body.no-anim .op-bio {
  transition: none;
}
html:root .t-bandi-grid {
  clip-path: inset(0 var(--mr) 0 var(--ml));
}
html:root body .giostra-libera {
  scroll-snap-type: none !important;
  scroll-behavior: auto !important;
}
html:root body .t-bandi-grid.dragging {
  cursor: grabbing;
}
html:root body .dragging :is(.t-bando-card, .r-avatar) {
  pointer-events: none;
}
html:root body .t-bandi-grid .t-bando-card,
html:root body .r-avatar img {
  -webkit-user-drag: none;
  user-select: none;
}
#cursore-banda {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100000;
  width: var(--cur-size);
  height: var(--cur-size);
  margin: calc(var(--cur-size) / -2) 0 0 calc(var(--cur-size) / -2);
  border-radius: 50%;
  background: #00ff00;
  mix-blend-mode: difference;
  pointer-events: none;
  display: none;
  will-change: transform;
}
html:not(.cur-on) #cursore-banda,
html:not(.cur-visible) #cursore-banda,
html.passaggio #cursore-banda,
html.anteprima #cursore-banda {
  visibility: hidden;
}
html:root body .r-av-back-name {
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
}
@media (max-width: 760px) {
  html:root body .prog-hdr .prog-hdr-title {
    padding-right: 4.2rem;
  }
}
html:root body .t-bandi-grid .t-bando-card {
  scroll-snap-align: start;
}
html:root body .r-fc-byline {
  display: block;
}
html:root body .r-fc-tlogo {
  display: block;
  width: 44px;
  color: var(--r-mag);
  line-height: 0;
}
html:root body .r-fc-tlogo svg {
  display: block;
  width: 100%;
  height: auto;
}
html:root body .r-fc-tlogo:hover {
  opacity: 0.72;
}
@media (max-width: 900px) {
  html:root body .r-fc-tlogo {
    width: 36px;
  }
}
html:root body .pp-sec[hidden],
html:root body #prog-shows-list[hidden],
html:root body .pp-day[hidden] {
  display: none;
}
html:root body .pp-head {
  margin: 0 var(--mr) 0 var(--ml);
  padding-top: calc(var(--sp-3) * 2 + var(--pad-l-t) * 1em);
  padding-bottom: calc(var(--pad-l-b) * 1em);
  font-size: var(--tl);
  font-weight: 500;
  line-height: var(--lhl);
  letter-spacing: var(--lsl);
  color: #fff;
}
html:root body .pp-sec.pp-solo .pp-head {
  padding-top: calc(var(--pad-l-t) * 1em);
}
html:root body .pp-sec {
  padding-bottom: clamp(3rem, 8vw, 7rem);
}
html:root body .pp-item {
  margin: 0 var(--mr) 0 var(--ml);
  border-bottom: 1px solid #fff;
}
html:root body .pp-day .prog-day-h + .pp-item {
  border-top: 1px solid #fff;
}
html:root body .pp-item > .pp-row {
  width: 100%;
  margin: 0;
  border: 0;
  background: none;
  font-family: var(--f);
  font-weight: 500;
  color: #fff;
  text-align: left;
  cursor: pointer;
}
html:root body .pp-item > .pp-row:hover {
  background: none;
}
html:root body .pp-row .pp-ic {
  font-size: var(--tm);
  align-self: center;
}
html:root body .pp-item.open .pp-ic {
  transform: rotate(45deg);
}
html:root body .pp-body {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}
html:root body .pp-item.open .pp-body {
  grid-template-rows: 1fr;
}
html:root body .pp-body-in {
  overflow: hidden;
  min-height: 0;
}
html:root body .pp-body-in p {
  margin: 0;
  max-width: 46rem;
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  color: #fff;
}
html:root body .pp-body-in p:first-child {
  padding-top: var(--sp-1);
}
html:root body .pp-body-in .pp-meta {
  padding-top: var(--sp-1);
  font-size: var(--ts);
  line-height: var(--lh-s);
  letter-spacing: 0;
  color: var(--g-rosa);
}
body.no-anim .pp-body {
  transition: none;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
#reports-bg {
  z-index: 619;
}
html:root body #reports-overlay {
  z-index: 620;
  background: var(--t-bg);
  color: var(--t-fg);
  --ov-linea: #000;
  --t-mu: var(--g-chiaro);
}
html:root body #reports-overlay .prog-hdr {
  border-bottom: none;
}
html:root body #reports-overlay :is(.prog-hdr-title, .prog-close) {
  color: var(--t-fg);
}
html:root body .rp-list {
  padding: 0 var(--mr) clamp(3rem, 8vw, 7rem) var(--ml);
}
html:root body .rp-item {
  border-bottom: 1px solid var(--t-fg);
}
html:root body .rp-item:first-child {
  border-top: 1px solid var(--t-fg);
}
html:root body .rp-row {
  display: flex;
  align-items: baseline;
  gap: var(--sp);
  width: 100%;
  margin: 0;
  border: 0;
  padding: calc(var(--pad-l-t) * 1em) 0 calc(var(--pad-l-b) * 1em);
  background: none;
  font-family: var(--f);
  font-weight: 500;
  font-size: var(--tl);
  line-height: var(--lhl);
  letter-spacing: var(--lsl);
  color: var(--t-fg);
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}
html:root body .rp-y {
  flex: none;
}
html:root body .rp-nota {
  flex: 1;
  font-size: var(--tm);
  line-height: var(--lhm);
  color: var(--g-chiaro);
}
html:root body .rp-y {
  flex: 0 1 auto;
  min-width: 0;
}
html:root body .rp-row .rp-ic {
  flex: none;
  margin-left: auto;
  align-self: center;
  --tg-w: 1.7px;
  width: 0.55em;
  height: 0.55em;
}
html:root body .rp-item.open > .rp-row .rp-ic {
  transform: rotate(45deg);
}
html:root body .rp-ext {
  margin-left: auto;
  align-self: center;
  display: inline-flex;
  font-family: var(--fl);
  font-weight: 300;
  font-size: var(--tm);
  line-height: 1;
}
html:root body .rp-ext .thin-arr {
  display: inline-flex;
  transform: rotate(-45deg);
  transition: transform var(--link-ease);
}
html:root body .rp-ext .sw-arr {
  width: 1.35em;
  height: 0.74em;
}
html:root body .rp-row .rp-ext {
  font-size: calc(var(--tl) * 0.62);
}
html:root body :is(.rp-row, .rp-pdf):hover .rp-ext .thin-arr {
  transform: translate(0.12em, -0.12em) rotate(-45deg);
}
html:root body .rp-row:hover {
  opacity: 0.72;
}
html:root body .rp-item.open > .rp-row:hover {
  opacity: 1;
}
html:root body :is(.rp-body, .rp-cap-body) {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}
html:root body :is(.rp-item.open > .rp-body, .rp-cap.open > .rp-cap-body) {
  grid-template-rows: 1fr;
}
html:root body :is(.rp-body-in, .rp-cap-in) {
  overflow: hidden;
  min-height: 0;
}
html:root body .rp-cap {
  border-top: 1px solid var(--t-fg);
}
html:root body .rp-cap-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--sp);
  width: 100%;
  min-height: var(--rowh);
  margin: 0;
  border: 0;
  padding: 0 0 1px;
  background: none;
  font-family: var(--f);
  font-weight: 500;
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  color: var(--t-fg);
  text-align: left;
  cursor: pointer;
}
html:root body .rp-cap-row .rp-cap-ic {
  align-self: center;
}
html:root body .rp-cap.open > .rp-cap-row .rp-cap-ic {
  transform: rotate(45deg);
}
html:root body .rp-cap-in :is(p, .rp-sub) {
  margin: 0;
  max-width: 46rem;
  font-size: var(--tm);
  font-weight: 500;
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  color: var(--t-fg);
}
html:root body .rp-cap-in p + p {
  margin-top: calc(var(--lhm) * 1em * 0.5);
}
html:root body .rp-cap-in .rp-sub {
  color: var(--g-chiaro);
  padding-top: var(--sp-2);
}
html:root body .rp-cap-in .rp-sub:first-child {
  padding-top: var(--sp-1);
}
html:root body .rp-cap-in p:first-child {
  padding-top: var(--sp-1);
}
html:root body .rp-cap-in .rp-fonte {
  padding-top: var(--sp-1);
}
html:root body .rp-pdf {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  min-height: var(--rowh);
  border-top: 1px solid var(--t-fg);
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  color: var(--t-fg);
  text-decoration: none;
  margin-bottom: var(--sp-3);
}
html:root body .rp-cap:first-child {
  border-top: 1px solid var(--t-fg);
}
body.no-anim :is(.rp-body, .rp-cap-body) {
  transition: none;
}
.nav-cerca,
.mnav-cerca {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: 0;
  padding: 0.2rem 0;
  font-size: var(--ts);
  line-height: 1;
  color: var(--g-nero);
  cursor: pointer;
}
.nav-cerca {
  margin-right: 1.15em;
}
#panel-r .nav-cerca,
.r-pinned-nav .nav-cerca {
  color: var(--g-rosa);
}
.nav-cerca:hover,
.mnav-cerca:hover {
  color: #fff;
}
.cerca-lente {
  display: block;
  width: 0.86em;
  height: 0.86em;
  overflow: visible;
}
.cerca-lente :is(circle, line) {
  stroke-width: 1.4px;
}
.mnav-cerca {
  display: none;
  color: inherit;
}
.mnav-cerca .cerca-lente {
  width: 13px;
  height: 13px;
}
@media (max-width: 900px) {
  .nav-bar .nav-cerca,
  .r-pinned-nav .nav-cerca,
  .t-pinned-nav .nav-cerca {
    display: none;
  }
  .mnav-cerca {
    display: inline-flex;
    margin-left: auto;
    padding: 0.45rem 0;
  }
  html:root body .mnav-cerca + .mnav-toggle {
    margin-left: 1.25rem;
  }
}

#cerca-livello {
  position: fixed;
  top: 0;
  bottom: 0;
  left: var(--band-l);
  right: var(--band-r);
  z-index: 99990;
  display: flex;
  flex-direction: column;
  background: #000;
  color: #fff;
  --c-mu: var(--g-nero);
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.3s ease,
    visibility 0s linear 0.3s;
}
body[data-world='radar'] #cerca-livello {
  background: var(--r-mag);
  --c-mu: var(--g-rosa);
}
#cerca-livello.on {
  opacity: 1;
  visibility: visible;
  transition:
    opacity 0.3s ease,
    visibility 0s;
}
body.no-anim #cerca-livello {
  transition: none;
}
html.cerca-aperto #cursore-banda {
  visibility: hidden;
}

.cerca-testa {
  position: relative;
  flex: none;
  margin: 0 var(--mr) 0 var(--ml);
}
html:root body .cerca-testa > .cerca-chiudi {
  right: 0 !important;
  color: #fff;
  background: none;
  border: 0;
  cursor: pointer;
}
.cerca-q {
  display: block;
  width: 100%;
  margin: 0;
  border: 0;
  border-bottom: 1px solid #fff;
  border-radius: 0;
  padding: calc(var(--pad-l-t) * var(--tl) + clamp(0.6rem, 1.4vw, 1.1rem)) 8rem calc(var(--pad-l-b) * var(--tl)) 0;
  background: none;
  font-family: var(--f);
  font-weight: 500;
  font-size: var(--tl);
  line-height: var(--lhl);
  letter-spacing: var(--lsl);
  color: #fff;
  caret-color: #fff;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}
.cerca-q::placeholder {
  color: var(--c-mu);
  opacity: 1;
}
.cerca-q::-webkit-search-cancel-button {
  display: none;
}
.cerca-q:focus-visible {
  border-bottom-color: #fff;
}

.cerca-scroll {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-bottom: clamp(3rem, 8vw, 7rem);
}
.cerca-conta,
.cerca-vuoto,
.cerca-altri {
  margin: 0 var(--mr) 0 var(--ml);
}
.cerca-conta {
  padding-top: var(--sp-1);
  font-size: var(--ts);
  line-height: var(--lh-s);
  color: var(--c-mu);
}
.cerca-vuoto,
.cerca-altri {
  padding-top: var(--sp-1);
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  color: var(--c-mu);
}
.cerca-gr-h {
  margin: 0 var(--mr) 0 var(--ml);
  padding-top: calc(var(--sp-3) + var(--pad-l-t) * 1em);
  padding-bottom: calc(var(--pad-l-b) * 1em);
  font-size: var(--tl);
  font-weight: 500;
  line-height: var(--lhl);
  letter-spacing: var(--lsl);
  color: var(--c-mu);
}
.cerca-gr:first-child .cerca-gr-h {
  padding-top: calc(var(--pad-l-t) * 1em);
}
.cerca-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  column-gap: var(--sp-2);
  align-items: baseline;
  width: calc(100% - var(--ml) - var(--mr));
  margin: 0 var(--mr) 0 var(--ml);
  border: 0;
  border-top: 1px solid #fff;
  padding: calc(var(--pad-m-t) * 1em) 0 calc(var(--pad-m-b) * 1em);
  background: none;
  font-family: var(--f);
  font-weight: 500;
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  color: #fff;
  text-align: left;
  cursor: pointer;
}
.cerca-lista .cerca-row:last-of-type {
  border-bottom: 1px solid #fff;
}
.cerca-m {
  color: var(--c-mu);
  max-width: 34vw;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cerca-arr {
  font-family: var(--fl);
  font-weight: 300;
}
.cerca-arr .sw-arr {
  width: 1.35em;
  height: 0.74em;
  transition: transform var(--link-ease);
}
.cerca-row:hover .cerca-arr .sw-arr,
.cerca-row:focus-visible .cerca-arr .sw-arr {
  transform: translateX(var(--link-shift));
}
.cerca-row:focus-visible {
  outline: none;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}
@media (max-width: 760px) {
  .cerca-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .cerca-t {
    grid-column: 1;
    grid-row: 1;
  }
  .cerca-arr {
    grid-column: 2;
    grid-row: 1;
  }
  .cerca-m {
    grid-column: 1 / -1;
    grid-row: 2;
    max-width: none;
  }
  .cerca-q {
    padding-right: 5rem;
  }
}
.cerca-conta + .cerca-gr .cerca-gr-h {
  padding-top: calc(var(--sp-1) + var(--pad-l-t) * 1em);
}
.cerca-arr--ext {
  font-size: 0.7em;
  align-self: center;
  transition: transform var(--link-ease);
}
.cerca-row:hover .cerca-arr--ext {
  transform: translate(0.15em, -0.15em);
}
html:root body #reports-overlay {
  height: 60vh;
  transition:
    bottom 0.55s cubic-bezier(0.16, 1, 0.3, 1),
    height 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}
html:root body #reports-overlay.expanded {
  height: calc(100vh - var(--navh));
}
@media (max-width: 900px) {
  html:root body #reports-overlay {
    height: 72svh;
  }
  html:root body #reports-overlay.expanded {
    height: calc(100svh - var(--navh));
  }
}
body.no-anim #reports-overlay {
  transition: none;
}
:root {
  --misura: calc((100vw - var(--band-l, 0px) - var(--band-r, 0px) - var(--ml) - var(--mr)) * 0.8);
}
html:root
  body
  :is(
    .op-intro,
    .r-faq-lead,
    .r-faq-a-in,
    .pdf-lib-lead,
    .r-acc-inner p,
    .r-acc-inner li,
    .apply-body,
    .expo-lead,
    .op-bio-in p,
    .pp-intro,
    .pp-body-in p,
    .rp-cap-in p,
    .rp-cap-in .rp-sub,
    .acc-inner p,
    .t-about-col p,
    .news-item-text,
    .news-item-text p
  ) {
  max-width: var(--misura);
}
html:root body .rg-intro {
  max-width: calc(var(--misura) + var(--ml));
}
html:root body .op-intro {
  max-width: calc(var(--misura) + var(--ml) + var(--mr));
}
html:root body #professionals-overlay {
  background: #fff;
  color: var(--r-mag);
  --g-inv: var(--g-rosa-bianco);
  --g-rosa: var(--g-rosa-bianco);
  --ov-linea: var(--r-mag);
}
html:root
  body
  #professionals-overlay
  :is(
    .apply-scroll,
    .expo-az,
    .expo-az-l:not(.is-off),
    .expo-group,
    .expo-lead,
    .prog-arr,
    .prog-company,
    .prog-day-h,
    .prog-hdr,
    .prog-hdr-title,
    .prog-show-row,
    .prog-shows,
    .prog-title,
    svg
  ) {
  color: var(--r-mag);
}
html:root
  body
  #professionals-overlay
  :is(.prog-close, .close-lbl, .close-x, .expo-az-l.is-off, .expo-disc, .expo-tipo, .expo-lead span, .prog-venue) {
  color: var(--g-rosa-bianco);
}
html:root body #professionals-overlay :is(.expo-az, .prog-show-row, .prog-hdr) {
  border-color: var(--r-mag);
}
html:root body #professionals-overlay .prog-show-row:hover {
  background: none;
}

html:root body #show-overlay.is-expo {
  background: var(--r-mag);
  color: #fff;
  --g-rosa-bianco: var(--g-rosa);
  --ov-linea: #fff;
}
html:root
  body
  #show-overlay.is-expo
  :is(
    a,
    .close-lbl,
    .close-x,
    .show-aside,
    .show-body,
    .show-close,
    .show-company-name,
    .show-cred-lbl,
    .show-cred-row,
    .show-cred-val,
    .show-credits,
    .show-desc,
    .show-hdr,
    .show-meta-grid,
    .show-meta-item,
    .show-meta-val,
    .show-piece-name,
    .show-rule,
    .show-scroll,
    .show-teaser,
    .show-title-block
  ) {
  color: #fff;
  border-color: #fff;
}
html:root body #show-overlay.is-expo .show-meta-lbl {
  color: var(--g-rosa);
}
html:root body .r-program-lnk--ultimo {
  border-bottom: 1px solid var(--r-mag);
}
html:root body :is(.prog-day-h, .news-year, .mem-sec-head) {
  padding-bottom: 0 !important;
  margin-bottom: -0.05em !important;
}
html:root body .pp-head {
  border-bottom: 1px solid #fff;
  margin-bottom: 0;
}
html:root body .pp-day:first-of-type .prog-day-h {
  padding-top: calc(var(--pad-l-t) * 1em);
}
html:root body #professionals-overlay .expo-az {
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  gap: 0 0.5em;
  padding: calc(var(--pad-m-t) * 1em) 0 calc(var(--pad-m-b) * 1em);
  border-top: 1px solid var(--r-mag);
  border-bottom: 1px solid var(--r-mag);
}
html:root body .rp-cap-in .rp-sub {
  color: var(--t-fg);
}
html:root body :is(#reports-overlay, #dossier-overlay) .rp-cap-in p:not(.rp-fonte) {
  color: var(--g-chiaro);
}
html:root body .rp-cap-in .rp-fonte,
html:root body .rp-cap-in .rp-fonte a {
  color: var(--t-fg);
}
html:root body :is(.rp-row, .rp-cap-row) {
  transition:
    padding-left 0.42s cubic-bezier(0.16, 1, 0.3, 1),
    opacity 0.22s ease;
}
html:root body .rp-row:hover,
html:root body .rp-cap-row:hover {
  padding-left: var(--link-shift);
  opacity: 1;
}
html:root body .rp-item.open > .rp-row:hover,
html:root body .rp-cap.open > .rp-cap-row:hover {
  padding-left: 0;
}
html:root body .r-acc-visit {
  padding-top: var(--sp-2);
}
html:root
  body
  :is(
    .acc-inner,
    .r-acc-inner,
    .r-faq-a-in,
    .news-item-text,
    .rg-expand-in,
    .t-regional-body-inner,
    .op-bio-in,
    .pp-body-in,
    .rp-cap-in,
    .ds-in
  )
  :is(p, ul, ol, li, .sub-lnk:not(.btn-pill)):not(:first-child) {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
html:root
  body
  :is(
    .acc-inner,
    .r-acc-inner,
    .r-faq-a-in,
    .news-item-text,
    .rg-expand-in,
    .t-regional-body-inner,
    .op-bio-in,
    .pp-body-in,
    .rp-cap-in,
    .ds-in
  )
  :is(p, ul, ol, li, .sub-lnk:not(.btn-pill)):not(:last-child) {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
html:root body :is(.rp-cap-in, .ds-in) .rp-sub:not(:first-child) {
  padding-top: calc(var(--lhm) * 1em) !important;
}
#dossier-bg {
  z-index: 619;
}
html:root body #dossier-overlay {
  z-index: 620;
  background: var(--t-bg);
  color: var(--t-fg);
  --ov-linea: #000;
  --t-mu: var(--g-chiaro);
  height: 60vh;
  transition:
    bottom 0.55s cubic-bezier(0.16, 1, 0.3, 1),
    height 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}
html:root body #dossier-overlay.expanded {
  height: calc(100vh - var(--navh));
}
@media (max-width: 900px) {
  html:root body #dossier-overlay {
    height: 72svh;
  }
  html:root body #dossier-overlay.expanded {
    height: calc(100svh - var(--navh));
  }
}
body.no-anim #dossier-overlay {
  transition: none;
}
html:root body #dossier-overlay .prog-hdr {
  border-bottom: none;
}
html:root body #dossier-overlay :is(.prog-hdr-title, .prog-close) {
  color: var(--t-fg);
}

html:root body .ds-in {
  padding-bottom: var(--sp-2);
}
html:root body .ds-in :is(p, li, .rp-sub) {
  margin: 0;
  max-width: var(--misura);
  font-size: var(--tm);
  font-weight: 500;
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
}
html:root body .ds-in :is(p, li) {
  color: var(--g-chiaro);
}
html:root body .ds-in .rp-sub {
  color: var(--t-fg);
}
html:root body .ds-in > :first-child {
  padding-top: var(--sp-1) !important;
}
html:root body .ds-ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
html:root body .ds-ul li {
  padding-left: 1em !important;
  text-indent: -1em;
}
html:root body .ds-ul li::before {
  content: '– ';
}
html:root body .ds-tab {
  margin: var(--sp-1) 0;
  border-bottom: 1px solid var(--t-fg);
}
html:root body .ds-tr {
  display: grid;
  grid-template-columns: repeat(var(--ds-col), minmax(0, 1fr));
  column-gap: var(--sp-2);
  border-top: 1px solid var(--t-fg);
  padding: calc(var(--pad-m-t) * var(--tm)) 0 calc(var(--pad-m-b) * var(--tm));
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  color: var(--g-chiaro);
}
html:root body .ds-tr.ds-th {
  color: var(--t-fg);
}
html:root body .ds-voci {
  margin-bottom: var(--sp-2);
}
html:root body .ds-voci .rp-cap:last-child {
  border-bottom: 1px solid var(--t-fg);
}
html:root body .ds-in + .rp-pdf,
html:root body .rp-pdf + .rp-pdf {
  margin-bottom: 0;
}
html:root body .ds-item .rp-pdf:last-child {
  margin-bottom: var(--sp-3);
}
html:root body .ds-calc {
  width: 100%;
  margin: var(--sp-1) 0 var(--sp-1);
  border: 0;
  border-top: 1px solid var(--t-fg);
  border-bottom: 1px solid var(--t-fg);
  background: none;
  font-family: var(--f);
  font-weight: 500;
  text-align: left;
  cursor: pointer;
}
html:root body .ds-arr {
  margin-left: auto;
  align-self: center;
  display: inline-flex;
  font-family: var(--fl);
  font-weight: 300;
}
html:root body .ds-arr .sw-arr {
  width: 1.35em;
  height: 0.74em;
  transition: transform var(--link-ease);
}
html:root body .ds-calc:hover .ds-arr .sw-arr {
  transform: translateX(var(--link-shift));
}
@media (max-width: 760px) {
  html:root body .ds-tr {
    grid-template-columns: 1fr;
  }
  html:root body .ds-tr.ds-th {
    display: none;
  }
}
html:root body :is(.prog-day-h, .news-year) {
  padding-top: calc(var(--pad-l-t) * 1em) !important;
  margin-top: 0 !important;
}
html:root body #dossier-overlay .rp-row {
  font-size: var(--tm);
  line-height: var(--lhm);
  padding-top: calc(var(--pad-m-t) * 1em);
  padding-bottom: calc(var(--pad-m-b) * 1em);
}
html:root body #dossier-overlay .rp-row .rp-ic {
  --tg-w: 1.4px;
  width: 0.62em;
  height: 0.62em;
}
html:root body #dossier-overlay .ds-item.open > .rp-row {
  position: sticky;
  top: 0;
  z-index: 3;
  background: var(--t-bg);
  box-shadow: 0 1px 0 var(--t-fg);
}
html:root body #dossier-overlay .ds-voci {
  width: calc(100% * 2 / 3);
}
html:root body #dossier-overlay .ds-voci .rp-cap-row {
  min-height: 0;
  font-size: var(--ts);
  line-height: var(--lh-s);
  letter-spacing: 0;
  padding: calc(var(--pad-s-t) * 1em) 0 calc(var(--pad-s-b) * 1em);
}
html:root body #dossier-overlay .ds-voci .rp-cap-ic {
  --tg-w: 1px;
  width: 0.7em;
  height: 0.7em;
}
html:root body #dossier-overlay .ds-voci .rp-cap-in p {
  font-size: var(--ts);
  line-height: var(--lh-s);
  letter-spacing: 0;
  padding: 0 0 calc(var(--pad-s-b) * var(--ts) + var(--sp-1)) !important;
}
html:root body #dossier-overlay .ds-voci .rp-cap-in.tendina-testo::after {
  height: 0;
}
@media (max-width: 760px) {
  html:root body #dossier-overlay .ds-voci {
    width: 100%;
  }
}
html:root body #dossier-overlay .ds-voci:last-child {
  margin-bottom: 0;
}
html:root body #dossier-overlay .ds-item.open > .rp-row {
  box-shadow: none;
}
html:root body #dossier-overlay .rp-list {
  padding-bottom: 0;
}
html:root body #dossier-overlay .ds-pdf {
  padding-top: var(--sp-3);
}
html:root body #dossier-overlay .pdf-card {
  color: var(--t-fg);
  border-color: var(--t-fg);
  background: transparent;
}
html:root body #dossier-overlay .pdf-card:hover {
  background: rgba(0, 0, 0, 0.04);
  border-color: var(--t-fg);
}
html:root body #dossier-overlay .pdf-card:focus-visible {
  outline-color: var(--t-fg);
}
html:root body #dossier-overlay .pdf-card-meta {
  color: var(--g-chiaro);
}
html:root body :is(.fc-links, .prog-fg-opts, .fm-opts, .apply-fee-col) {
  gap: 0 !important;
  row-gap: 0 !important;
}
html:root
  body
  :is(
    .fc-links a,
    .fc-links button,
    .fc-meta,
    .prog-fo,
    .fm-opt,
    .apply-fee-lbl,
    .apply-fee-val,
    .team-name,
    .team-role,
    .team-mail,
    .r-fc-links a,
    .r-fc-links button,
    .r-fc-meta
  ) {
  line-height: var(--lh-s) !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
html:root body :is(.fc-links a, .fc-links button) {
  display: block;
}
html:root body .fc-sep-dot {
  margin: calc((var(--ts) * var(--lh-s) - 4px) / 2) 0 !important;
}
html:root body .r-fc-links .fc-sep-dot,
html:root body .r-fc-links > span:empty {
  margin: calc((var(--ts) * var(--lh-s) - 4px) / 2) 0 !important;
}
html:root body .t-regional-trigger {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
html:root body .t-regional-item.open .t-regional-trigger {
  padding-bottom: 0 !important;
}
html:root body .news-item-meta > * {
  line-height: var(--lh-s) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
html:root body .news-item-meta {
  gap: calc(var(--ts) * var(--lh-s)) !important;
}
html:root body .t-bandi-nav {
  display: flex;
  justify-content: flex-end;
  gap: var(--sp-2);
  margin: calc(var(--sp-1) * -0.5) var(--mr) var(--sp-2) var(--ml);
}
html:root body .t-bandi-nav button {
  background: none;
  border: 0;
  padding: 0.15rem 0;
  font-family: var(--fl);
  font-weight: 300;
  font-size: var(--tm);
  line-height: 1;
  color: var(--t-fg);
  cursor: pointer;
}
html:root body .t-bandi-nav .sw-arr {
  width: 1.35em;
  height: 0.74em;
  transition: transform var(--link-ease);
}
html:root body .t-bandi-nav .t-bandi-next:hover .sw-arr {
  transform: translateX(var(--link-shift));
}
html:root body .t-bandi-nav .t-bandi-prev .sw-arr {
  transform: scaleX(-1);
}
html:root body .t-bandi-nav .t-bandi-prev:hover .sw-arr {
  transform: scaleX(-1) translateX(var(--link-shift));
}
html:root body #dossier-overlay .ds-ext {
  width: calc(100% * 2 / 3);
  margin-bottom: var(--sp-3);
}
html:root body #dossier-overlay .ds-ext-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--sp-2);
  border-top: 1px solid var(--t-fg);
  padding: calc(var(--pad-s-t) * var(--ts)) 0 calc(var(--pad-s-b) * var(--ts));
  font-size: var(--ts);
  line-height: var(--lh-s);
  letter-spacing: 0;
  font-weight: 500;
  color: var(--t-fg);
  text-decoration: none;
  transition: padding-left 0.42s cubic-bezier(0.16, 1, 0.3, 1);
}
html:root body #dossier-overlay .ds-ext-row:last-child {
  border-bottom: 1px solid var(--t-fg);
}
html:root body #dossier-overlay .ds-ext-row:hover {
  padding-left: var(--link-shift);
}
html:root body #dossier-overlay .ds-ext-row .rp-ext {
  font-size: var(--ts);
  margin-left: auto;
}
@media (max-width: 760px) {
  html:root body #dossier-overlay .ds-ext {
    width: 100%;
  }
}
html:root body .r-fc-wordmark {
  width: 120px;
  aspect-ratio: 557 / 171;
  background: var(--r-mag);
  -webkit-mask: url('../assets/images/radar-wordmark.png') no-repeat left top / contain;
  mask: url('../assets/images/radar-wordmark.png') no-repeat left top / contain;
}
@media (max-width: 900px) {
  html:root body .r-fc-wordmark {
    width: 96px;
  }
}
html:root body #dossier-overlay .ds-voci .rp-cap-in p {
  max-width: 34em;
}
html:root
  body
  :is(.acc-inner, .r-acc-inner, .r-faq-a-in, .news-item-text, .rg-expand-in, .t-regional-body-inner, .op-bio-in)
  > :is(.calc-full-btn, .btn-pill, .fm-open-btn):not(:first-child):not(#_) {
  margin-top: var(--sp-2) !important;
}
html:root body .r-footer-grid .r-fc {
  padding-top: var(--sp-2) !important;
}
html:root body .r-acc-section {
  margin-top: var(--sp-4) !important;
}
:root {
  --ic-top-l: calc((var(--lhl) / 2 - 0.4345) * var(--tl));
}
html:root body :is(.r-ep-t .r-ep-ic, #reports-overlay .rp-row .rp-ic, .op-act .op-ic) {
  font-size: var(--tm) !important;
  width: 0.62em !important;
  height: 0.62em !important;
  --tg-w: 1.4px;
  align-self: flex-start !important;
  margin-top: var(--ic-top-l) !important;
}
html:root body :is(#reports-overlay .rp-row .rp-ext, .r-program-lnk .thin-arr) {
  font-size: var(--tm) !important;
  align-self: flex-start !important;
  margin-top: var(--ic-top-l) !important;
  line-height: 0 !important;
  display: inline-flex;
}
html:root body :is(#reports-overlay .rp-row .rp-ext, .r-program-lnk .thin-arr) .sw-arr {
  width: 1.35em !important;
  height: 0.74em !important;
}
html:root body .r-ep-t,
html:root body .op-act,
html:root body .r-program-lnk {
  align-items: flex-start;
}
html:root body #reports-overlay .rp-row .rp-ext {
  margin-top: calc(var(--ic-top-l) + 0.37em) !important;
}

:root {
  --ts: clamp(calc(0.78rem + 1pt), calc(1.17vw + 1pt), calc(0.9375rem + 1pt));
}
:root {
  --g-chiaro: #5c5c5c;
  --g-nero: #c6c6c6;
}
:root .aa-head-sub,
:root .aa-sec-lbl,
:root .aa-reset-note {
  opacity: 1;
}
:root .aa-reset-note {
  color: var(--g-inv);
}
#velo-retro {
  background: rgba(255, 255, 255, 0.34);
}
.velo-strato {
  background: rgba(255, 255, 255, 0.5);
}
html:root body :is(.prog-close, .show-close, .calc-close, .agenda-ov-close, .dock-chiudi, .cerca-chiudi, .mnav-close),
html:root
  body
  :is(.prog-close, .show-close, .calc-close, .agenda-ov-close, .dock-chiudi, .cerca-chiudi, .mnav-close)
  :is(.close-lbl, .close-x) {
  opacity: 1 !important;
}
html:root body :is(.prog-close, .show-close, .calc-close, .agenda-ov-close, .dock-chiudi) :is(.close-lbl, .close-x) {
  color: inherit !important;
}
html:root body[data-world='tpunkt'] :is(.prog-close, .calc-close, .agenda-ov-close) {
  color: #fff !important;
}
html:root
  body[data-world='tpunkt']
  :is(#news-overlay, #region-overlay, #reports-overlay, #dossier-overlay)
  .prog-close {
  color: #000 !important;
}
html:root body[data-world='radar'] :is(.prog-close, .calc-close, .agenda-ov-close) {
  color: #fff !important;
}
html:root body[data-world='radar'] #show-overlay:not(.is-expo) .show-close,
html:root body[data-world='radar'] #professionals-overlay .prog-close {
  color: #ff00ff !important;
}
html:root body[data-world='radar'] #show-overlay.is-expo .show-close {
  color: #fff !important;
}
html:root body :is(.prog-close, .show-close, .calc-close, .agenda-ov-close, .dock-chiudi):hover {
  opacity: 1 !important;
}
.t-hero {
  position: relative;
}
.t-hero-play {
  position: absolute;
  z-index: 6;
  top: clamp(0.75rem, 1.4vw, 1.1rem);
  right: clamp(1rem, 4.69vw, 3.75rem);
  width: 2.6rem;
  height: 2.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  border: 1px solid #fff;
  border-radius: 0;
  background: transparent;
  color: #fff;
  cursor: pointer;
  transition:
    background-color 0.18s ease,
    color 0.18s ease;
}
.t-hero-play svg {
  width: 0.95rem;
  height: 0.95rem;
  fill: currentColor;
  display: block;
}
.t-hero-play .thp-play {
  display: none;
}
.t-hero-play.is-fermo .thp-play {
  display: block;
  margin-left: 0.12rem;
}
.t-hero-play.is-fermo .thp-pausa {
  display: none;
}
.t-hero-play:hover,
.t-hero-play:focus-visible {
  background: #fff;
  color: #000;
}
.t-hero-play:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}
html.anteprima .t-hero-play {
  display: none;
}
html:root body .nav-bar > .nav-aa,
html:root body .nav-bar > .aa-panel,
html:root body :is(.t-pinned-nav, .r-pinned-nav) > .nav-aa,
html:root body :is(.t-pinned-nav, .r-pinned-nav) > .aa-panel,
html:root body .mnav-foot > .mnav-aa,
html:root body .mnav-foot > #mnav-aa-panel {
  display: none !important;
}

.dock {
  --dock-q: 2.75rem;
  --dock-fg: #fff;
  --dock-bg: #000;
  --dock-acc: #000;
  --dock-su: 0px;
  position: fixed;
  z-index: 99992;
  right: calc(var(--bw) + var(--mr));
  bottom: calc(var(--dock-su) + clamp(0.75rem, 1.4vw, 1.1rem));
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.5rem;
  pointer-events: none;
  font-family: var(--f);
  font-weight: 500;
  letter-spacing: 0;
  transition: bottom 0.25s ease;
}
body[data-world='radar'] .dock {
  --dock-bg: var(--r-mag);
  --dock-acc: var(--r-mag);
  right: var(--mr);
}
.dock > * {
  pointer-events: auto;
}
body.no-anim .dock {
  transition: none;
}
html.anteprima .dock {
  display: none;
}

.dock-btns {
  display: flex;
  gap: 0.4rem;
}
.dock-btn {
  width: var(--dock-q);
  height: var(--dock-q);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  border: 1px solid var(--dock-fg);
  border-radius: 0;
  background: var(--dock-bg);
  color: var(--dock-fg);
  font-family: var(--f);
  font-weight: 500;
  font-size: var(--ts);
  line-height: 1;
  letter-spacing: 0;
  cursor: pointer;
  transition:
    background-color 0.18s ease,
    color 0.18s ease;
}
.dock-btn:hover,
.dock-btn.on {
  background: var(--dock-fg);
  color: var(--dock-acc);
  border-color: var(--dock-acc);
}
.dock-btn:focus-visible {
  outline: 2px solid var(--dock-acc);
  outline-offset: 2px;
}
.dock .sr {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.dock-panel {
  width: min(23rem, calc(100vw - 2rem));
  max-height: min(36rem, calc(100vh - var(--dock-su) - var(--dock-q) - var(--navh) - 3rem));
  display: flex;
  flex-direction: column;
  background: var(--dock-bg);
  color: var(--dock-fg);
  border: 1px solid var(--dock-fg);
  font-size: var(--ts);
  line-height: var(--lh-s);
}
.dock-panel[hidden] {
  display: none;
}

.dock-testa {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.75rem 0.9rem 0.7rem;
  border-bottom: 1px solid var(--dock-fg);
}
.dock-titolo {
  font-size: var(--ts);
}
html:root body .dock-chiudi {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: var(--dock-fg);
  font-family: var(--f);
  font-weight: 500;
  font-size: var(--ts);
  line-height: 1;
  letter-spacing: 0;
  cursor: pointer;
}
.dock-scorre {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: scroll;
  overscroll-behavior: contain;
  padding: 0.8rem 0.9rem 1rem;
}
@supports (-moz-appearance: none) {
  .dock-scorre {
    scrollbar-width: thin;
    scrollbar-color: var(--dock-fg) rgba(255, 255, 255, 0.18);
  }
}
.dock-scorre::-webkit-scrollbar {
  width: 7px;
  -webkit-appearance: none;
}
.dock-scorre::-webkit-scrollbar-track {
  background: rgba(255, 255, 255, 0.18);
}
.dock-scorre::-webkit-scrollbar-thumb {
  background: var(--dock-fg);
  border-radius: 0;
  min-height: 2rem;
}
html:root body #dock .aa-panel {
  position: static;
  display: block;
  width: auto;
  max-height: none;
  overflow: visible;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  box-shadow: none;
  z-index: auto;
}
html:root body #dock .aa-panel .aa-head {
  display: none;
}
html:root body #dock .aa-panel .aa-fondo {
  position: static;
  background: transparent;
  padding-bottom: 0;
}
html:root body #dock .aa-sec {
  border-top-color: var(--dock-fg);
}
.el-testo {
  line-height: 1.35;
}
.el-testo p {
  margin: 0;
}
.el-blocco + .el-blocco {
  margin-top: 1.1rem;
  padding-top: 0.75rem;
  border-top: 1px solid var(--dock-fg);
}
.el-h {
  font-size: var(--ts);
  font-weight: 500;
  margin: 0 0 0.4rem;
  color: var(--g-inv);
}
body[data-world='tpunkt'] .el-h {
  color: var(--g-nero);
}
.el-voci {
  list-style: none;
  margin: 0;
  padding: 0;
}
.el-voci li + li {
  border-top: 1px solid rgba(255, 255, 255, 0.35);
}
.el-voce {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0.45rem 0 0.5rem;
  border: 0;
  background: none;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.el-voce-t {
  display: block;
}
.el-voce-t .sw-arr {
  width: 1.4em;
  height: 0.75em;
  vertical-align: 0;
}
.el-voce-d {
  display: block;
  color: var(--g-inv);
}
body[data-world='tpunkt'] .el-voce-d {
  color: var(--g-nero);
}
.el-voce:hover .el-voce-t {
  text-decoration: underline;
  text-underline-offset: 0.14em;
}
.el-ascolta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin: 1.1rem 0 0;
  padding: 0.5em 0.9em 0.55em;
  border: 1px solid var(--dock-fg);
  border-radius: 999px;
  background: none;
  color: inherit;
  font: inherit;
  cursor: pointer;
}
.el-ascolta-ic {
  width: 0;
  height: 0;
  border-left: 0.6em solid currentColor;
  border-top: 0.36em solid transparent;
  border-bottom: 0.36em solid transparent;
}
.el-ascolta.on .el-ascolta-ic {
  width: 0.6em;
  height: 0.6em;
  border: 0;
  background: currentColor;
}
.el-ascolta:hover,
.el-ascolta.on {
  background: var(--dock-fg);
  color: var(--dock-acc);
}

@media (max-width: 900px) {
  .dock {
    right: calc(var(--bw) + 0.75rem);
  }
  body[data-world='radar'] .dock {
    right: 0.75rem;
  }
}
html:root body .filt-bar {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0 var(--sp);
  flex: 0 0 auto;
  align-self: stretch;
  width: auto;
  margin: 0 var(--mr) 0 var(--ml);
  padding: 0 0 calc(var(--pad-m-b) * var(--tm));
  border-bottom: 1px solid currentColor;
  font-size: var(--tm);
  line-height: var(--lhm);
}
html:root body .filt-bar--programs {
  color: #fff;
}
html:root body .filt-bar--news {
  color: var(--t-fg);
}
html:root body .filt-bar--memlist {
  color: #fff;
}
html:root body .filt-bar > :is(.prog-filters-toggle, .news-filters-toggle, .mem-filters-toggle) {
  display: inline-flex !important;
  align-items: baseline;
  gap: 0.35em;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none;
  color: inherit;
  font-family: var(--f);
  font-weight: 500;
  font-size: var(--tm) !important;
  line-height: var(--lhm) !important;
  letter-spacing: var(--lsl) !important;
  align-self: auto;
}
html:root body .filt-bar .filt-lbl {
  font-family: var(--f) !important;
  font-weight: 500 !important;
}
html:root body .filt-bar :is(#pf-count, #mem-f-count) {
  font-family: var(--f) !important;
  font-weight: 500 !important;
}
html:root body .filt-bar :is(#pf-icon, #news-filters-icon, #mem-f-icon) {
  font-size: 1em;
  margin-left: 0.15em;
}
html:root body .filt-reset,
html:root body .filt-pdf {
  display: inline-flex;
  align-items: baseline;
  gap: 0.3em;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font-family: var(--f);
  font-weight: 500;
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  text-decoration: none;
  cursor: pointer;
  transition:
    padding-left var(--link-ease),
    opacity 0.2s ease;
}
html:root body .filt-reset[disabled] {
  opacity: 0.4;
  cursor: default;
}
html:root body .filt-reset:not([disabled]):hover {
  padding-left: var(--link-shift);
}
html:root body .filt-pdf {
  margin-left: auto;
}
html:root body .filt-pdf:hover {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.14em;
}
html:root body .filt-reset-ic,
html:root body .filt-pdf-ic {
  font-family: var(--fl);
  font-weight: 300;
}
html:root body #news-overlay.in-agenda .filt-bar > * {
  visibility: hidden;
  pointer-events: none;
}
@media (max-width: 760px) {
  html:root body .filt-pdf {
    margin-left: 0;
    flex-basis: 100%;
  }
}
html:root body .t-stmt-block .t-stmt {
  max-width: none;
}
html:root body .r-hero .r-ticket-btn--hero {
  position: absolute;
  z-index: 40;
  top: auto;
  bottom: clamp(5rem, 22vh, 13rem);
  left: var(--ml);
  right: auto;
  margin: 0;
  border: 1px dotted #fff;
  color: #fff;
  background: transparent;
}
html:root body .r-hero .r-ticket-btn--hero:hover,
html:root body .r-hero .r-ticket-btn--hero:focus-visible {
  background: #fff;
  color: var(--r-mag);
}
@media (max-width: 760px) {
  html:root body .r-hero .r-ticket-btn--hero {
    position: absolute;
    bottom: auto;
    top: clamp(7.5rem, 30vh, 12rem);
    left: var(--ml);
    width: clamp(104px, 30vw, 140px);
    height: clamp(104px, 30vw, 140px);
    transform: none;
  }
}
html:root body .nl-lnk {
  display: inline-flex;
  align-items: baseline;
  gap: 0.35em;
  margin: 0.55rem 0 0;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font-family: var(--f);
  font-weight: 500;
  font-size: var(--ts);
  line-height: var(--lh-s);
  letter-spacing: 0;
  text-align: left;
  cursor: pointer;
  transition: padding-left var(--link-ease);
}
html:root body .nl-lnk:hover {
  padding-left: var(--link-shift);
}
html:root body .nl-lnk .sw-arr {
  width: 1.6em;
  height: 0.8em;
}
html:root body .r-fc .nl-lnk {
  color: var(--r-mag);
}

#newsletter-overlay .fm-body {
  max-width: none;
}
#newsletter-overlay .fm-theme-t {
  --fm-fg: var(--t-bg);
  --fm-mu: var(--g-nero);
  --fm-line: #fff;
  --fm-line-strong: #fff;
  --fm-accent: #fff;
}
body[data-world='radar'] #newsletter-overlay .fm-theme-r {
  --fm-fg: #fff;
  --fm-mu: #fff;
  --fm-line: #fff;
  --fm-line-strong: #fff;
  --fm-accent: #fff;
  color: #fff;
}
#newsletter-overlay .fm-intro {
  max-width: 52em;
}
#newsletter-overlay .nl-archivio {
  margin-top: var(--sp-2);
  font-size: var(--ts);
}
#newsletter-overlay .nl-archivio a {
  color: inherit;
}
body[data-world='tpunkt'] #newsletter-overlay .nl-radar {
  display: none;
}
html:root body #res-download.open .acc-body {
  max-height: 4000px;
}
html:root body #mem-adesione.open .acc-body {
  max-height: 16000px;
}
html:root body #mem-adesione .t-members-form {
  margin: 0;
  padding: 0;
}
html:root body #mem-adesione .fm-body > h2.fm-sec-h:first-child {
  display: none;
}
html:root body #res-download .pdf-lib-lead {
  margin-bottom: var(--sp-2);
}
html:root body #res-download .pdf-lib {
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
}
html:root body #rabout-team.open .acc-body {
  max-height: 5000px;
}
body[data-world='radar'] .team-inner .team-name,
body[data-world='radar'] .team-inner .team-mail {
  color: #fff;
}
body[data-world='radar'] .team-ph {
  background: rgba(255, 255, 255, 0.25);
}
html:root body .team-voci {
  width: calc(100% * 2 / 3);
  margin: var(--sp-2) 0 0;
}
html:root body .team-voci .rp-cap {
  border-top: 1px solid currentColor;
}
html:root body .team-voci .rp-cap:last-child {
  border-bottom: 1px solid currentColor;
}
html:root body :is(.team-voci, .team-bio) .rp-cap-row {
  min-height: 0;
  color: inherit;
  font-size: var(--ts);
  line-height: var(--lh-s);
  letter-spacing: 0;
  padding: calc(var(--pad-s-t) * 1em) 0 calc(var(--pad-s-b) * 1em);
}
html:root body :is(.team-voci, .team-bio) .rp-cap-ic {
  --tg-w: 1px;
  width: 0.7em;
  height: 0.7em;
}
html:root body .team-voci .rp-cap-in > :first-child {
  margin-top: 0 !important;
}
html:root body .team-voci .rp-cap-in > :last-child {
  margin-bottom: var(--sp-2) !important;
}
html:root body .team-voci .rp-cap-in .team-grid {
  margin: 0;
}
html:root body .team-voci .rp-cap-in p {
  font-size: var(--ts);
  line-height: var(--lh-s);
  color: #fff;
}
html:root body #aboutt-overlay #about-team .team-voci .rp-cap-in > p + p {
  margin-top: calc(var(--lh-s) * 1em) !important;
}
html:root body .team-voci .rp-cap-in .team-mail {
  display: inline;
  margin: 0;
}
html:root body .team-voci .tendina-testo::after,
html:root body .team-bio .tendina-testo::after {
  height: 0;
}
html:root body .team-bio {
  width: 100%;
  margin-top: 0.55rem;
  border-top: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  color: #fff;
}
html:root body .team-bio.rp-cap {
  border-top: 1px solid currentColor;
}
html:root body .team-bio .rp-cap-in p {
  font-size: var(--ts);
  line-height: var(--lh-s);
  color: var(--g-inv);
  padding: 0.2rem 0 0.7rem;
}
html:root body #about-comitato .team-card {
  align-self: start;
}
@media (max-width: 760px) {
  html:root body .team-voci {
    width: 100%;
  }
}
html:root body #calc-overlay .calc-groups--t {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--sp-2) var(--sp);
  align-items: start;
}
html:root body #calc-overlay .calc-groups--t .calc-g {
  min-width: 0;
}
html:root body #calc-overlay .calc-groups--t .fc-opt {
  display: flex;
  align-items: baseline;
  gap: 0.45em;
  width: 100%;
  margin: 0;
  padding: 0.16em 0;
  font-size: var(--ts);
  line-height: var(--lh-s);
  cursor: pointer;
}
html:root body #calc-overlay .calc-groups--t .fc-opt .fc-ic {
  flex: 0 0 auto;
}
html:root body #calc-overlay .calc-groups--t .fc-opt:not(.sel) {
  color: var(--g-nero);
}
html:root body #calc-overlay .calc-groups--t .fc-opt:hover {
  color: #fff;
  text-decoration: none;
}
html:root body #calc-overlay .calc-actions {
  display: flex;
  gap: 0.5rem;
  margin-top: var(--sp-2);
  flex-wrap: wrap;
}
html:root body #calc-overlay .calc-act {
  margin: 0;
  padding: 0.5em 1em 0.55em;
  border: 1px solid #fff;
  border-radius: 999px;
  background: none;
  color: #fff;
  font-family: var(--f);
  font-weight: 500;
  font-size: var(--ts);
  line-height: 1;
  letter-spacing: 0;
  cursor: pointer;
}
html:root body #calc-overlay .calc-act--go,
html:root body #calc-overlay .calc-act:hover {
  background: #fff;
  color: #000;
}
html:root body #calc-overlay .calc-results {
  margin-top: var(--sp-3);
}
html:root body #calc-overlay .calc-res-h {
  margin: var(--sp-2) 0 0;
  padding-bottom: calc(var(--pad-s-b) * var(--ts));
  font-size: var(--ts);
  font-weight: 500;
  line-height: var(--lh-s);
  letter-spacing: 0;
  color: var(--g-nero);
  border-bottom: 1px solid #fff;
}
html:root body #calc-overlay .calc-res-h:first-child {
  margin-top: 0;
}
html:root body #calc-overlay .calc-res-row > span:last-child {
  font-variant-numeric: tabular-nums;
}
@keyframes calcLampo {
  from {
    opacity: 0.35;
  }
  to {
    opacity: 1;
  }
}
html:root body #calc-overlay .calc-results.calc-lampo {
  animation: calcLampo 0.45s ease;
}
body.no-anim #calc-overlay .calc-results.calc-lampo {
  animation: none;
}
@media (max-width: 1100px) {
  html:root body #calc-overlay .calc-groups--t {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  html:root body #calc-overlay .calc-groups--t {
    grid-template-columns: 1fr;
  }
}
html:root body #dock .aa-head + .aa-sec {
  border-top: 0;
  padding-top: 0;
}
html:root body .dock-titolo,
html:root body .dock-chiudi .close-lbl {
  line-height: 1;
  padding: 0;
  margin: 0;
}
html:root body .dock-chiudi .close-x {
  margin-left: 0;
}
html:root body .dock .dock-chiudi.has-close-lbl {
  position: static !important;
  top: auto !important;
  right: auto !important;
  z-index: auto;
}
html:root body #newsletter-overlay .nl-form {
  margin: 0 var(--mr) 0 var(--ml);
}
#newsletter-overlay {
  --ov-linea: #fff;
}
body[data-world='radar'] #newsletter-overlay {
  background: var(--r-mag);
  color: #fff;
}
body[data-world='radar'] #newsletter-overlay .prog-hdr-title {
  color: #fff;
}
#newsletter-overlay::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--ov-linea, currentColor);
  z-index: 60;
  pointer-events: none;
}
html:root body :is(.t-footer, .r-footer) {
  padding-bottom: calc(2.75rem + 2 * clamp(0.75rem, 1.4vw, 1.1rem)) !important;
}
:root {
  --g-chiaro: #4a4a4a;
  --g-nero: #d4d4d4;
  --g-rosa: #ffe4ff;
  --g-rosa-bianco: #ff2eff;
}
html:root
  body
  :is(
    .prog-title,
    .news-filter-item,
    .t-bando-tag,
    .aa-sec-lbl,
    .aa-head-sub,
    .op-act-sub,
    .show-meta-lbl,
    .r-av-back-venue,
    .prog-fo,
    .mem-fo,
    .fc-opt,
    .fm-label,
    .fm-hint,
    .fm-sec-note
  ) {
  opacity: 1 !important;
}
:root #apply-forms-overlay .fm-input::placeholder,
:root #apply-forms-overlay .fm-textarea::placeholder {
  opacity: 1;
  color: var(--g-rosa);
}
html:root body :is(.prog-fo, .mem-fo, .news-filter-item, .fc-opt) {
  display: flex !important;
  align-items: center;
  gap: 0.55em;
}
html:root body .news-filter-item {
  width: fit-content;
}
html:root body :is(.prog-fo, .mem-fo, .news-filter-item) .fo-icon,
html:root body .fc-opt .fc-ic {
  position: static !important;
  flex: 0 0 auto;
  display: inline-block;
  width: 0.78em !important;
  height: 0.78em;
  margin: 0 !important;
  padding: 0;
  border: 1px solid currentColor;
  border-radius: 50%;
  background: transparent;
  color: transparent !important;
  font-size: inherit;
  line-height: 0;
  overflow: hidden;
  text-indent: 200%;
  white-space: nowrap;
  transition: background-color 0.15s ease;
}
html:root body :is(.prog-fo.sel, .mem-fo.sel, .news-filter-item.sel) .fo-icon,
html:root body .fc-opt.sel .fc-ic {
  background: var(--pallino, #fff);
}
html:root body #news-overlay {
  --pallino: var(--t-fg);
}
html:root body :is(#programs-overlay, #memlist-overlay, #calc-overlay) {
  --pallino: #fff;
}
html:root body .news-filter-item,
html:root body .news-filter-item.active {
  color: var(--t-fg);
}
html:root body .prog-fo {
  color: #fff;
}
html:root body #calc-overlay .calc-groups--t .fc-opt:not(.sel) {
  color: #fff;
}
html:root body .filt-foot {
  display: flex;
  justify-content: flex-end;
  margin: 0 var(--mr) 0 var(--ml);
  padding: 0 0 var(--sp-2);
}
html:root body #news-overlay .filt-foot .filt-reset {
  color: var(--t-fg);
}
html:root body .filt-reset.is-vuoto,
html:root body #mem-reset.is-vuoto {
  opacity: 0.45;
}
html:root body .filt-reset:hover {
  text-decoration: underline;
  text-underline-offset: 0.14em;
}
html:root body .filt-bar > :is(.prog-filters-toggle, .news-filters-toggle, .mem-filters-toggle) {
  align-items: center !important;
}
html:root body .filt-bar :is(#pf-icon, #news-filters-icon, #mem-f-icon) {
  align-self: center !important;
  width: 0.5em !important;
  height: 0.5em !important;
  margin: 0.08em 0 0 0.25em !important;
  vertical-align: middle;
}
html:root body #show-overlay .show-title-block--evento {
  position: relative;
}
html:root body #show-overlay .show-title-block--evento .show-company-name {
  padding-bottom: calc(var(--pad-l-b) * 1em);
  border-bottom: 1px solid currentColor;
  margin-bottom: calc(var(--pad-l-t) * 1em);
  margin-right: calc(clamp(110px, 11vw, 160px) + var(--sp));
}
html:root body #show-overlay .show-title-block--evento .show-piece-name {
  margin-right: calc(clamp(110px, 11vw, 160px) + var(--sp));
}
@media (max-width: 760px) {
  html:root body #show-overlay .show-title-block--evento :is(.show-company-name, .show-piece-name) {
    margin-right: 0;
  }
}
.dock {
  right: auto;
  left: calc(var(--band-l, 0px) + var(--ml));
  align-items: flex-start;
  --dock-q: 3.4rem;
  --dock-tinta: #000;
}
body[data-world='radar'] .dock {
  right: auto;
  --dock-tinta: var(--r-mag);
}
body[data-world] .dock.dock--scuro,
body[data-world] .dock.dock--rosa {
  --dock-tinta: #fff;
}
.dock-btns {
  gap: 0.5rem;
}
html:root body .dock-btn {
  border: 1px dotted var(--dock-tinta);
  border-radius: 50%;
  background: transparent;
  color: var(--dock-tinta);
  transform: rotate(-10deg);
  transition:
    transform 0.25s ease,
    background-color 0.2s ease,
    color 0.2s ease;
}
html:root body .dock-btn > span[aria-hidden] {
  display: inline-block;
  transform: rotate(10deg);
}
html:root body .dock-btn:hover,
html:root body .dock-btn.on {
  transform: rotate(0);
  background: var(--dock-tinta);
  color: var(--dock-bg);
  border-color: var(--dock-tinta);
}
.dock.dock--scuro .dock-btn:hover,
.dock.dock--scuro .dock-btn.on {
  color: #000;
}
.dock.dock--rosa .dock-btn:hover,
.dock.dock--rosa .dock-btn.on {
  color: var(--r-mag);
}
.dock.dock--chiaro .dock-btn:hover,
.dock.dock--chiaro .dock-btn.on {
  color: #fff;
}
body.no-anim .dock-btn,
body.no-anim .dock-btn > span[aria-hidden] {
  transform: none !important;
}
.dock-panel {
  border-radius: var(--field-r, 0.55rem);
  overflow: hidden;
}
.dock-scorre::-webkit-scrollbar-thumb {
  border-radius: 999px;
}
@media (max-width: 900px) {
  .dock,
  body[data-world='radar'] .dock {
    right: auto;
    left: calc(var(--band-l, 0px) + 0.75rem);
  }
}
html:root body .t-hero-play {
  top: auto;
  bottom: clamp(0.9rem, 2vw, 1.6rem);
  right: var(--mr);
  width: 3.4rem;
  height: 3.4rem;
  border: 1px dotted #fff;
  border-radius: 50%;
}
html:root body .t-hero-play svg {
  width: 0.85rem;
  height: 0.85rem;
}
html:root body #about-comitato .acc-inner {
  padding-bottom: var(--sp-3) !important;
}
body.menu-sopra .t-pinned-nav,
body.menu-sopra .r-pinned-nav {
  display: flex !important;
}
html:root body :is(.t-pinned-nav, .r-pinned-nav) .nav-btn.active {
  text-decoration: underline;
  text-underline-offset: 0.2em;
  text-decoration-thickness: 1px;
}
html:root body .fm .fm-body {
  max-width: none;
}
html:root body .fm .fm-intro {
  max-width: 34em;
  padding: 0 0 var(--sp-3);
  font-size: var(--tm);
  line-height: var(--lhm);
  color: var(--fm-fg);
}
html:root body .fm .fm-sec,
html:root body .fm .fm-sec:first-of-type {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  column-gap: var(--sp);
  align-items: start;
  margin: 0;
  padding: calc(var(--pad-m-t) * var(--tm)) 0 var(--sp-3);
  border: 0;
  border-top: 1px solid var(--fm-line-strong);
}
html:root body .fm .fm-sec > legend {
  float: left;
  grid-column: 1;
  grid-row: 1 / span 20;
  width: auto;
  margin: 0;
  padding: 0;
}
html:root body .fm .fm-sec > legend + * {
  clear: none;
}
html:root body .fm .fm-sec > :not(legend) {
  grid-column: 2;
  min-width: 0;
}
html:root body .fm .fm-sec-h {
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  margin: 0;
  padding: 0;
}
html:root body .fm .fm-sec-note {
  margin: 0 0 var(--sp-1);
  max-width: none;
  font-size: var(--ts);
  line-height: var(--lh-s);
  color: var(--fm-mu);
}
html:root body .fm .fm-grid {
  gap: var(--sp-2) var(--sp);
}
html:root body .fm .fm-field {
  gap: 0;
}
html:root body .fm :is(.fm-label, .fm-field > .fm-label) {
  font-size: var(--ts);
  line-height: var(--lh-s);
  color: var(--fm-mu);
  margin: 0 0 0.45rem;
}
html:root body .fm :is(.fm-input, .fm-select, .fm-textarea) {
  min-height: 2.75rem;
  height: auto;
  padding: 0.6rem 0.85rem;
  font-family: var(--f);
  font-weight: 500;
  font-size: var(--ts);
  line-height: var(--lh-s);
  letter-spacing: 0;
  color: var(--fm-fg);
  background-color: transparent;
  border: 1px solid var(--fm-line);
  border-radius: var(--field-r, 0.55rem);
  box-shadow: none;
}
html:root body .fm .fm-select {
  padding-right: 2.4rem;
  background-size: 0.55em auto;
  background-position: right 0.9rem center;
}
html:root body .fm .fm-textarea {
  min-height: 7.5rem;
  resize: vertical;
}
html:root body .fm :is(.fm-input, .fm-textarea)::placeholder {
  color: var(--fm-mu);
  opacity: 1;
}
html:root body .fm :is(.fm-input, .fm-select, .fm-textarea):focus {
  outline: none;
  border-color: var(--fm-line-strong);
  box-shadow: inset 0 0 0 1px var(--fm-line-strong);
}
html:root body .fm :is(.fm-hint, .fm-error) {
  font-size: var(--ts);
  line-height: var(--lh-s);
  margin-top: 0.4rem;
}
html:root body .fm .fm-hint {
  color: var(--fm-mu);
}
html:root body .fm .fm-opts {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: 0.1rem 0 0;
}
html:root body .fm .fm-opts-inline {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.55rem 2rem;
}
html:root body .fm .fm-opts-cols {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));
  gap: 0.55rem var(--sp);
}
html:root body .fm .fm-opt {
  display: grid;
  grid-template-columns: 1.05em minmax(0, 1fr);
  align-items: start;
  column-gap: 0.65em;
  font-size: var(--ts);
  line-height: var(--lh-s);
  color: var(--fm-fg);
}
html:root body .fm :is(.fm-check-box, .fm-radio-dot) {
  width: 1.05em;
  height: 1.05em;
  margin-top: 0.05em;
  border-color: var(--fm-line-strong);
}
html:root body .fm .fm-radio-dot {
  border-radius: 50%;
}
html:root body .fm .fm-check-box {
  border-radius: 0.22em;
}
html:root body .fm .fm-callout {
  margin: var(--sp-1) 0 0;
  padding: var(--sp-1) 0 0;
  border: 0;
  border-top: 1px solid var(--fm-line);
  max-width: 40em;
  font-size: var(--ts);
  line-height: var(--lh-s);
}
html:root body .fm .fm-foot {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  column-gap: var(--sp);
  align-items: center;
  padding: var(--sp-2) 0 0;
  border-top: 1px solid var(--fm-line-strong);
}
html:root body .fm .fm-foot > * {
  grid-column: 2;
}
html:root body .fm .fm-foot > .fm-submit {
  justify-self: start;
}
html:root body .fm .fm-foot > .fm-submit-alt {
  justify-self: start;
  margin-top: var(--sp-1);
}
html:root body .fm .fm-foot > .fm-status {
  margin-top: var(--sp-1);
}
html:root body #newsletter-overlay .nl-archivio {
  margin-left: calc((100% - 2 * var(--sp)) / 3 + var(--sp));
}
html:root body #mem-adesione .t-members-form {
  padding: 0 0 var(--sp-2);
}
html:root body #mem-adesione .fm .fm-intro {
  color: inherit;
}

@media (max-width: 900px) {
  html:root body .fm .fm-sec,
  html:root body .fm .fm-sec:first-of-type,
  html:root body .fm .fm-foot {
    grid-template-columns: minmax(0, 1fr);
  }
  html:root body .fm .fm-sec > legend {
    float: none;
    grid-row: auto;
    margin-bottom: var(--sp-2);
  }
  html:root body .fm .fm-sec > :not(legend),
  html:root body .fm .fm-foot > * {
    grid-column: 1;
  }
  html:root body #newsletter-overlay .nl-archivio {
    margin-left: 0;
  }
}
@media (max-width: 640px) {
  html:root body .fm .fm-grid > [class*='fm-c'] {
    grid-column: span 12;
  }
}
html:root body :is(.prog-fo, .mem-fo, .news-filter-item) .fo-icon,
html:root body .fc-opt .fc-ic {
  border-color: var(--pallino, #fff) !important;
}
html:root body .filt-foot .filt-reset,
html:root body #mem-reset {
  font-size: var(--ts) !important;
  line-height: var(--lh-s) !important;
  letter-spacing: 0 !important;
  padding: 0 !important;
}
html:root body .filt-foot .filt-reset:hover {
  padding-left: 0 !important;
}
html:root body .fm .fm-opts.fm-opts-inline {
  column-gap: 2rem !important;
}
html:root body .fm .fm-opts-cols {
  column-gap: var(--sp) !important;
  row-gap: 0 !important;
}
html:root body .fm .fm-opt {
  padding: 0 !important;
}
html:root body #calc-overlay .calc-groups--t .fc-opt {
  align-items: center !important;
}
html:root body .fm .fm-sec-note {
  margin-bottom: var(--sp-2) !important;
}
html:root body .fm .fm-file-row {
  gap: 0.4rem 1rem;
  align-items: center;
  padding: 0;
}
html:root body .fm .fm-file-btn {
  font-size: var(--ts) !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  padding: 0.75rem 1.1rem !important;
  min-height: 2.75rem;
  border-radius: 999px !important;
}
html:root body .fm .fm-file-btn .sw-arr {
  width: 1.4em;
  height: 0.7em;
}
html:root body .fm .fm-file-name {
  margin-top: 0;
}
html:root body form.fm fieldset.fm-sec > p.fm-sec-note {
  margin: 0 0 var(--sp-2) !important;
}
html:root body form.fm fieldset.fm-sec > .fm-sec-note + :not(p) {
  margin-top: var(--sp-2) !important;
}
body.scambio :is(.tpage-overlay, [id$='-overlay']) {
  transition: none !important;
}
html:root body .filt-reset.is-vuoto,
html:root body #mem-reset.is-vuoto {
  opacity: 1;
}
html:root body .dock-btn:not(:hover):not(.on) {
  background: var(--dock-fondo, transparent);
}
:root #apply-forms-overlay .fm-tab::before,
:root #apply-forms-overlay .fm-tab[aria-selected='true']::before {
  content: '' !important;
  display: inline-block;
  width: 0.62em;
  height: 0.62em;
  margin-right: 0.4em;
  border: 1px solid #fff;
  border-radius: 50%;
  background: transparent;
  vertical-align: 0.02em;
  font-size: inherit;
}
:root #apply-forms-overlay .fm-tab[aria-selected='true']::before {
  background: #fff;
}
html:root body .filt-bar :is(#pf-icon, #news-filters-icon, #mem-f-icon) {
  --tg-w: 1.4px;
  width: 0.62em !important;
  height: 0.62em !important;
  margin: 0 0 0 0.35em !important;
  align-self: center !important;
  position: relative;
  top: -0.02em;
}
html.aa-cursore-sistema.cur-on,
html.aa-cursore-sistema.cur-on body,
html.aa-cursore-sistema.cur-on body * {
  cursor: auto !important;
}
html.aa-cursore-sistema.cur-on
  body
  :is(
    a[href],
    button,
    select,
    summary,
    label,
    [onclick],
    [role='button'],
    [role='tab'],
    input[type='checkbox'],
    input[type='radio'],
    .nav-lang-btn,
    .vmap-pin,
    .r-avatar,
    .fm-opt,
    .prog-fo,
    .news-filter-item,
    .mem-fo,
    .fc-opt
  ) {
  cursor: pointer !important;
}
html.aa-cursore-sistema.cur-on
  body
  :is(input[type='text'], input[type='email'], input[type='search'], input:not([type]), textarea) {
  cursor: text !important;
}
html.aa-cursore-sistema #cursore,
html.aa-cursore-sistema #cursore-banda {
  display: none !important;
}
#adesione-overlay {
  background: #fff;
  color: #000;
  --ov-linea: #000;
  --t-mu: var(--g-chiaro);
}
#adesione-overlay::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: #000;
  z-index: 60;
  pointer-events: none;
}
html:root body #adesione-overlay .prog-hdr {
  border-bottom-color: #000;
}
html:root body #adesione-overlay .prog-hdr-title {
  color: #000;
}
html:root body[data-world='tpunkt'] #adesione-overlay .prog-close {
  color: #000 !important;
}
html:root body #adesione-overlay .t-members-form {
  padding: 0 var(--mr) var(--sp-3) var(--ml);
}
html:root body #adesione-overlay .fm-body > h2.fm-sec-h:first-child {
  display: none;
}
.fm-theme-chiaro {
  --fm-fg: #000;
  --fm-mu: var(--g-chiaro);
  --fm-line: #000;
  --fm-line-strong: #000;
  --fm-accent: #000;
  color: #000;
}
html:root body .fm-theme-chiaro .fm-select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 44'%3E%3Cpath d='M12 1 V42 M2 32 L12 42 L22 32' fill='none' stroke='%23000' stroke-width='2.4'/%3E%3C/svg%3E");
}
html:root body .fm-theme-chiaro .fm-select option {
  background: #fff;
  color: #000;
}
html:root body .fm-theme-chiaro .fm-check:checked + .fm-check-box {
  background: #000;
  border-color: #000;
}
html:root body .fm-theme-chiaro .fm-radio:checked + .fm-radio-dot {
  border-color: #000;
  background: #000;
  box-shadow: inset 0 0 0 0.22em #fff;
}
html:root body .fm-theme-chiaro :is(.fm-submit, .fm-file-btn) {
  color: #fff;
  background: #000;
  border-color: #000;
}
html:root body .fm-theme-chiaro :is(.fm-submit, .fm-file-btn):hover {
  color: #000;
  background: #fff;
}
html:root body .fm-theme-chiaro .fm-intro {
  color: #000;
}
html:root body .filt-foot {
  justify-content: flex-start;
}
html:root body :is(.filt-reset, #mem-reset) {
  display: inline-flex;
  align-items: baseline;
  gap: 0.3em;
}
html:root body .filt-reset-ic {
  font-family: var(--fl);
  font-weight: 300;
  font-size: 1.05em;
  line-height: 1;
}
html:root body .mem-filters-foot {
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
}
html:root body .mem-filters-foot #mem-reset {
  order: -1;
}
html:root body .t-bandi-nav {
  justify-content: space-between;
}
html:root body :is(.t-footer, .r-footer) .fc-plain {
  color: inherit;
  text-decoration: none;
}
html:root body :is(.t-footer, .r-footer) .fc-plain:hover {
  text-decoration: underline;
  text-underline-offset: 0.14em;
}
html:root body .t-footer .fc-meta strong,
html:root body .r-footer .r-fc-meta strong {
  font-weight: 500;
  color: var(--t-fg);
}
html:root body .r-footer .r-fc-meta strong {
  color: var(--r-mag);
}
html:root body .t-fc .t-footer-logo + .fc-links {
  margin-top: 0;
}
html:root body .r-fc-byline {
  display: flex !important;
  flex-direction: column;
  gap: 0.9rem;
  align-items: flex-start;
}
html:root body .r-fc-byline .r-fc-meta {
  max-width: 16em;
}
html:root body .r-footer-grid {
  grid-template-columns: 1.3fr 1fr 1fr 1fr 1fr !important;
}
@media (max-width: 900px) {
  html:root body .r-footer-grid {
    grid-template-columns: 1fr 1fr !important;
  }
}
@media (max-width: 560px) {
  html:root body .r-footer-grid {
    grid-template-columns: 1fr !important;
  }
}
html:root body .t-fc .nl-lnk,
html:root body .r-fc .nl-lnk {
  margin-top: 0;
  text-decoration: none;
}
html:root body #rabout-team .team-ph {
  background: var(--r-mag);
}
html:root body #rabout-team .team-ph img {
  filter: grayscale(1) contrast(1.08) brightness(1.02);
  mix-blend-mode: lighten;
}
#sponsor-overlay {
  background: #fff;
  color: var(--r-mag);
  --ov-linea: var(--r-mag);
}
#sponsor-overlay::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--r-mag);
  z-index: 60;
  pointer-events: none;
}
html:root body #sponsor-overlay .prog-hdr-title {
  color: var(--r-mag);
}
html:root body[data-world='radar'] #sponsor-overlay .prog-close {
  color: #ff00ff !important;
}
html:root body #sponsor-overlay .sp-h {
  margin: var(--sp-2) var(--mr) var(--sp-2) var(--ml);
  max-width: 40em;
  font-size: var(--tm);
  font-weight: 500;
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
}
html:root body #sponsor-overlay .sp-h:first-child {
  margin-top: var(--sp-1);
}
html:root body #sponsor-overlay .sp-grid {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  column-gap: var(--sp);
  margin: 0 var(--mr) var(--sp-3) var(--ml);
  padding: 0;
}
html:root body #sponsor-overlay .sp-cell {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.35rem;
  min-height: clamp(6rem, 8.5vw, 8.5rem);
  padding: var(--sp-1) 0;
  border-top: 1px solid var(--r-mag);
  margin-bottom: -1px;
  border-bottom: 1px solid var(--r-mag);
}
@media (max-width: 1000px) {
  html:root body #sponsor-overlay .sp-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 520px) {
  html:root body #sponsor-overlay .sp-grid {
    grid-template-columns: 1fr;
  }
  html:root body #sponsor-overlay .sp-cell {
    min-height: 0;
  }
}
html:root body :is(.t-footer, .r-footer) a.fc-plain {
  display: inline !important;
}
html:root body #sponsor-overlay .sp-h {
  max-width: none;
}
html:root body #sponsor-overlay .sp-cell {
  align-items: center;
  justify-content: center;
  aspect-ratio: 368 / 145;
  min-height: 0;
  padding: var(--sp-1) 0;
}
html:root body #sponsor-overlay .sp-logo {
  display: block;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
html:root body .t-footer-grid-6 {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
html:root body .r-footer-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}
html:root body .t-footer-grid-6 .t-footer-logo {
  margin-bottom: 0;
}
@media (max-width: 900px) {
  html:root body .t-footer-grid-6,
  html:root body .r-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 560px) {
  html:root body .t-footer-grid-6,
  html:root body .r-footer-grid {
    grid-template-columns: 1fr !important;
  }
}
html:root body :is(.t-footer, .r-footer) a.fc-plain {
  white-space: nowrap;
}
html:root body #sponsor-overlay .sp-grid:first-child {
  margin-top: var(--sp-1);
}
html:root body #show-overlay .show-title-block--evento :is(.show-company-name, .show-piece-name) {
  margin-right: 0;
}
html:root body #show-overlay .show-desc {
  padding-bottom: var(--sp-3);
}
html:root body #show-overlay .show-desc {
  padding-bottom: calc(clamp(140px, 15.5vw, 216px) + var(--sp-2));
}
@media (max-width: 760px) {
  html:root body #show-overlay .show-desc {
    padding-bottom: calc(clamp(110px, 30vw, 140px));
  }
}
html:root body .pp-body-in .pp-meta {
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  color: #fff;
  padding-top: 0;
}
:root {
  --g-rosa-bianco: #ff6bff;
}
html:root body .r-faq-a-in :is(p, li, a),
html:root body .op-bio-in :is(p, li, a),
html:root body .pp-body-in :is(p, .pp-con, .pp-meta) {
  color: var(--g-rosa) !important;
}
html:root body .r-acc-inner :is(p, li),
html:root body .r-ep-sub-inner a {
  color: var(--g-rosa-bianco) !important;
}
html:root body .r-ep-sub-inner a:hover {
  color: var(--r-mag) !important;
}
html:root body .team-voci .rp-cap-in p,
html:root body .team-voci .rp-cap-in .team-mail {
  color: var(--g-nero) !important;
}
html:root body #visit-overlay .r-faq-head::after {
  content: '';
  display: block;
  border-top: 1px solid currentColor;
  margin-top: calc(var(--pad-m-b, 0.12) * var(--tm));
}
html:root body .filt-bar {
  position: relative;
}
html:root body .filt-del {
  position: absolute;
  top: 0;
  left: 25%;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  font-family: var(--f);
  font-weight: 500;
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  cursor: pointer;
  white-space: nowrap;
}
html:root body .filt-del[hidden] {
  display: none;
}
html:root body .filt-del:hover,
html:root body .filt-del:focus-visible {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.14em;
}
html:root body .filt-foot,
html:root body #memlist-overlay #mem-reset {
  display: none !important;
}
@media (max-width: 760px) {
  html:root body .filt-del {
    position: static;
  }
}
html:root body #sponsor-overlay .sp-lbl {
  margin: var(--sp-1) var(--mr) 0 var(--ml);
  padding-top: calc(var(--pad-s-t, 0.15) * 1em);
  border-top: 1px solid var(--r-mag);
  font-size: var(--ts);
  line-height: var(--lh-s, 1.25);
  color: var(--r-mag);
}
html:root body #sponsor-overlay .sp-lbl + .sp-grid {
  margin-top: var(--sp-1);
}
html:root body #sponsor-overlay .sp-grid + .sp-lbl {
  margin-top: 0;
}
html:root body #show-overlay .show-hdr-tab {
  visibility: hidden !important;
}
html:root body .t-footer :is(.fc-meta, .fc-meta *, .fc-links a, .fc-links button, a.fc-plain) {
  color: var(--t-fg) !important;
  opacity: 1 !important;
}
html:root body .r-footer :is(.r-fc-meta, .r-fc-meta *, .r-fc-links a, .r-fc-links button, a.fc-plain) {
  color: var(--r-mag) !important;
  opacity: 1 !important;
}
html:root body .dock-btn,
html:root body .dock-btn:hover,
html:root body .dock-btn.on,
html:root body .dock-btn > span[aria-hidden] {
  transform: none !important;
}
html:root body .t-footer .t-footer-logo {
  width: 68px;
}
html:root body #professionals-overlay #expo-list {
  margin-top: var(--sp-2);
}
html:root body #professionals-overlay #expo-list::before {
  content: '';
  display: block;
  border-top: 1px solid var(--r-mag);
  margin: 0 var(--mr) 0 var(--ml);
}
html:root body #show-overlay .show-hdr {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 0;
  padding: 0;
  margin: 0;
  border: 0;
  z-index: 5;
}
html:root body #show-overlay .show-title-block {
  padding-top: 0 !important;
}
html:root body #show-overlay .show-company-name {
  padding-top: calc(var(--pad-l-t) * 1em) !important;
  margin-top: 0 !important;
}
html:root body #calc-overlay .calc-hdr {
  height: 0;
  padding: 0;
  margin: 0;
}
html:root body #calc-overlay .calc-body {
  padding-top: 0;
}
html:root body #calc-overlay .calc-body h2 {
  padding-top: calc(var(--pad-l-t) * 1em);
  margin-top: 0;
}
html:root body #show-overlay .show-company-name {
  padding-right: 7.5rem;
}
@media (max-width: 760px) {
  html:root body #show-overlay .show-company-name {
    padding-right: 4.5rem;
  }
}
html:root body .r-ep-sub-inner a {
  color: var(--r-mag) !important;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  width: 100%;
}
html:root body .r-ep-sub-inner a:hover {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.14em;
}
html:root body .r-ep-sub-inner a .thin-arr {
  font-family: var(--fl);
  font-weight: 200;
}
:root {
  --g-chiaro: #787878;
  --g-nero: #a8a8a8;
  --g-rosa: #ffd6ff;
  --g-rosa-bianco: #ff4bff;
}
html:root body .home-uscita:not(.panel) {
  display: none !important;
}
html:root body .panel {
  overscroll-behavior-y: none;
}
body.mnav-locked .dock {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
html.anteprima .world-band {
  visibility: hidden !important;
}
:root .world-band {
  transition:
    width 0.22s ease,
    transform 0.55s var(--vt-ease, ease);
}
html.banda-dopo body[data-world='radar'] .world-band {
  transform: translateX(-100%);
}
html.banda-dopo body[data-world='tpunkt'] .world-band {
  transform: translateX(100%);
}
body.no-anim .world-band {
  transition: none;
}
html:root body .t-footer .t-footer-grid {
  margin: 0 var(--mr) 0 var(--ml);
  border-top: 1px solid var(--t-fg);
  column-gap: 0;
}
html:root body .t-footer .t-footer-grid .t-fc {
  padding: var(--sp-2) 0.6rem var(--sp) 0 !important;
  border: 0 !important;
}
@media (max-width: 620px) {
  html:root body .t-footer .t-footer-grid .t-fc {
    padding: 0.9rem 0 !important;
    border-top: 1px solid currentColor !important;
  }
  html:root body .t-footer .t-footer-grid .t-fc:first-child {
    border-top: 0 !important;
  }
}
html.anteprima body[data-world='radar'],
html.banda-fondo body[data-world='radar'] {
  background: var(--r-mag) !important;
}
html.anteprima body[data-world='tpunkt'],
html.banda-fondo body[data-world='tpunkt'] {
  background: #000 !important;
}
html.anteprima:has(body[data-world='radar']),
html.banda-fondo:has(body[data-world='radar']) {
  background: var(--r-mag) !important;
}
html.anteprima:has(body[data-world='tpunkt']),
html.banda-fondo:has(body[data-world='tpunkt']) {
  background: #000 !important;
}
iframe.mondo-anteprima[data-target='index.html'] {
  background: var(--r-mag);
}
iframe.mondo-anteprima[data-target='tpunkt.html'] {
  background: #000;
}
html:root body .t-footer .t-footer-grid {
  border-top: 0 !important;
}
html:root body #programs-overlay #pf-count {
  display: none !important;
}
html:root body .r-hero.hero-sim:not(.logo-state) .r-hero-shape-square {
  left: var(--sim-square-l) !important;
  top: var(--sim-square-t) !important;
  width: var(--sim-square-w) !important;
  height: var(--sim-square-h) !important;
  rotate: var(--sim-square-r) !important;
}
html:root body .r-hero.hero-sim:not(.logo-state) .r-hero-shape-rect {
  left: var(--sim-rect-l) !important;
  top: var(--sim-rect-t) !important;
  width: var(--sim-rect-w) !important;
  height: var(--sim-rect-h) !important;
  rotate: var(--sim-rect-r) !important;
}
html:root body .r-hero.hero-sim:not(.logo-state) .r-hero-shape-sphere {
  left: var(--sim-sphere-l) !important;
  top: var(--sim-sphere-t) !important;
  width: var(--sim-sphere-w) !important;
  height: var(--sim-sphere-h) !important;
  rotate: var(--sim-sphere-r) !important;
}
html:root body .r-hero.hero-sim .r-hero-shapes {
  z-index: 2;
}
html:root body .r-hero.hero-sim .r-hero-dateline .dl-l {
  display: inline;
}
html:root body #calc-panel {
  height: 66vh;
  transition:
    bottom 0.55s cubic-bezier(0.16, 1, 0.3, 1),
    height 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}
html:root body #calc-overlay.expanded #calc-panel {
  height: calc(100vh - var(--navh));
}
html:root body #calc-panel .calc-body {
  flex: 1;
  min-height: 0;
  overscroll-behavior: contain;
}
@media (max-width: 760px) {
  html:root body #calc-panel {
    height: 72svh;
  }
  html:root body #calc-overlay.expanded #calc-panel {
    height: calc(100svh - var(--navh));
  }
}

.velo-strato ~ .velo-strato {
  background: rgba(255, 255, 255, 0.55);
}
html:root body .t-hero,
html:root body .r-hero {
  height: 100vh;
  height: 100svh;
}
.hero-giu {
  --giu-q: var(--dock-q, 3.9rem);
  position: absolute;
  z-index: 6;
  left: calc(var(--ml) + 2 * var(--giu-q) + 0.5rem + 1.1rem);
  bottom: calc(clamp(0.75rem, 1.4vw, 1.1rem) + (var(--giu-q) - 2.6rem) / 2);
  width: 2.6rem;
  height: 2.6rem;
  padding: 0;
  margin: 0;
  border: 0;
  background: transparent;
  color: #fff;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-tap-highlight-color: transparent;
}
.hero-giu svg {
  width: 0.9rem;
  height: 2rem;
  display: block;
  overflow: visible;
  animation: hero-giu 2.4s ease-in-out infinite;
}
.hero-giu:hover svg,
.hero-giu:focus-visible svg {
  animation-play-state: paused;
  transform: translateY(5px);
}
.hero-giu:focus-visible {
  outline: 1px dotted currentColor;
  outline-offset: 2px;
  border-radius: 50%;
}
@keyframes hero-giu {
  0%,
  55%,
  100% {
    transform: translateY(0);
  }
  25% {
    transform: translateY(6px);
  }
}
body.no-anim .hero-giu svg {
  animation: none;
}
@media (prefers-reduced-motion: reduce) {
  .hero-giu svg {
    animation: none;
  }
}
.home-uscita .hero-giu {
  display: none;
}
@media (max-width: 900px) {
  .hero-giu {
    left: calc(0.75rem + 2 * var(--giu-q) + 0.5rem + 0.6rem);
  }
}
html:root body .dock {
  --dock-q: 3.9rem;
}
:root {
  --dock-q: 3.9rem;
}
body.livello-aperto .dock-btn--el,
body.livello-aperto #dock-el {
  display: none !important;
}
@media (max-width: 760px) {
  html:root body .r-hero .r-hero-wordmark {
    bottom: calc(0.75rem + var(--dock-q) + 0.9rem) !important;
  }
}
html:root body #dossier-overlay .ds-voci {
  width: 100%;
  max-width: var(--misura);
  margin-top: 0;
  color: var(--g-chiaro);
}
html:root body #dossier-overlay .ds-voci .rp-cap,
html:root body #dossier-overlay .ds-voci .rp-cap:first-child {
  border-top-color: var(--g-chiaro);
}
html:root body #dossier-overlay .ds-voci .rp-cap:last-child {
  border-bottom-color: var(--g-chiaro);
}
html:root body #dossier-overlay .ds-voci .rp-cap-row {
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  font-weight: 500;
  color: var(--g-chiaro);
}
html:root body #dossier-overlay .ds-voci .rp-cap-row:hover,
html:root body #dossier-overlay .ds-voci .rp-cap-row:focus-visible {
  color: var(--t-fg);
}
html:root body #dossier-overlay .ds-voci .rp-cap-ic {
  width: 0.55em;
  height: 0.55em;
  color: inherit;
}
html:root body #dossier-overlay .ds-voci .rp-cap-in {
  padding-left: 0;
  font-size: var(--tm);
}
html:root body #dossier-overlay .ds-voci .rp-cap-in p,
html:root body #dossier-overlay .ds-voci .rp-cap-in p:not(.rp-fonte) {
  max-width: none;
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  font-weight: 500;
  color: var(--g-chiaro);
  padding: 0 0 var(--sp-2) !important;
}
html:root body #dossier-overlay .ds-in > .ds-voci {
  padding-left: calc(var(--tm) * 2);
  max-width: calc(var(--misura) + var(--tm) * 2);
}
html:root body #dossier-overlay .ds-in > .ds-voci:first-child {
  padding-top: 0 !important;
}
@media (max-width: 760px) {
  html:root body #dossier-overlay .ds-in > .ds-voci {
    padding-left: calc(var(--tm) * 1.2);
  }
}
html:root body #calc-overlay {
  --t-fg: #000;
  --t-bg: #fff;
  --t-mu: var(--g-chiaro);
  --ov-linea: #000;
  --ov-gray: var(--g-chiaro);
  --pallino: #000;
}
html:root body #calc-overlay #calc-panel {
  background: #fff !important;
  color: #000 !important;
  box-shadow: inset 0 1px 0 #000;
}
html:root
  body
  #calc-overlay
  :is(.calc-body h2, .calc-g h4, .fc-opt, .fc-opt:not(.sel), .calc-res-row, .calc-res-row > *, .calc-total span) {
  color: #000 !important;
}
html:root body #calc-overlay :is(.calc-lead, .calc-g-note, .calc-res-h, .calc-notes p) {
  color: var(--g-chiaro) !important;
}
html:root body #calc-overlay :is(.calc-g h4, .calc-res-h, .calc-res-row) {
  border-color: #000 !important;
}
html:root body[data-world] #calc-overlay .calc-close {
  color: #000 !important;
}
html:root body #calc-overlay .calc-groups--t .fc-opt:hover {
  color: #000 !important;
}
html:root body #calc-overlay .fc-opt .fc-ic {
  border-color: #000 !important;
}
html:root body #calc-overlay .fc-opt.sel .fc-ic {
  background: #000;
}
html:root body #calc-overlay .calc-act {
  border-color: #000;
  color: #000;
  background: none;
}
html:root body #calc-overlay .calc-act--go,
html:root body #calc-overlay .calc-act:hover {
  background: #000;
  color: #fff;
}
html:root body #calc-overlay ::selection {
  background: #000;
  color: #fff;
}

.calc-bolla {
  position: fixed;
  z-index: 3000;
  max-width: min(22rem, calc(100vw - 2rem));
  padding: 0.6rem 0.8rem 0.7rem;
  border-radius: var(--field-r, 0.55rem);
  background: #000;
  color: #fff;
  font-size: var(--ts);
  line-height: var(--lh-s);
  font-weight: 500;
  letter-spacing: 0;
  pointer-events: none;
  opacity: 0;
  transform: translateY(4px);
  transition:
    opacity 0.16s ease,
    transform 0.16s ease;
}
.calc-bolla.on {
  opacity: 1;
  transform: none;
}
body.no-anim .calc-bolla {
  transition: none;
}
html:root body #show-overlay .show-title-block--evento :is(.show-company-name, .show-piece-name) {
  margin-right: 0 !important;
}
html:root body #show-overlay .show-title-block:not(.show-pezzo) {
  position: sticky;
  top: 0;
  z-index: 4;
  background: var(--show-fondo, #fff);
}
html:root body #show-overlay .show-title-block:not(.show-pezzo) .show-company-name {
  padding-right: 7rem;
}
html:root body #show-overlay .show-title-block.show-pezzo .show-company-name {
  display: none;
}
html:root body #show-overlay.is-expo {
  --show-fondo: var(--r-mag);
}
html:root body #show-overlay .show-hdr {
  z-index: 6;
}
html:root body #show-overlay .show-title-block.show-pezzo:has(.show-piece-name:empty) {
  display: none;
}
@media (max-width: 760px) {
  html:root body #show-overlay .show-title-block:not(.show-pezzo) .show-company-name {
    padding-right: 5.8rem;
  }
}
html:root body #show-overlay:not(.is-expo) :is(.show-cred-lbl, .show-meta-lbl) {
  color: var(--g-rosa-bianco) !important;
  opacity: 1 !important;
  font-weight: 500;
}
html:root body #show-overlay .show-date {
  margin-top: var(--sp-2);
  border-top: 1px solid var(--r-mag);
  font-variant-numeric: tabular-nums;
}
html:root body #show-overlay .show-date-g {
  display: grid;
  grid-template-columns: calc(var(--tl) * 2.55) minmax(0, 1fr);
  column-gap: var(--sp);
  align-items: end;
  padding: calc(var(--pad-l-t) * var(--tl)) 0 calc(var(--pad-l-b) * var(--tl) + 0.2rem);
  border-bottom: 1px solid var(--r-mag);
}
html:root body #show-overlay .show-date-d {
  font-size: var(--tl);
  line-height: var(--lhl);
  letter-spacing: var(--lsl);
  font-weight: 500;
  color: var(--r-mag);
}
html:root body #show-overlay .show-date-rr {
  padding-bottom: 0.12em;
}
html:root body #show-overlay .show-date-r {
  display: flex;
  flex-wrap: wrap;
  column-gap: 0.6em;
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  font-weight: 500;
  color: var(--r-mag);
}
html:root body #show-overlay .show-date-t {
  min-width: 3.1em;
}
html:root body .expo-row .expo-disc {
  display: none !important;
}
html:root body .expo-list .prog-show-row.expo-row {
  grid-template-columns: calc(50% - var(--sp)) minmax(0, 1fr) auto !important;
}
@media (max-width: 900px) {
  html:root body .expo-list .prog-show-row.expo-row {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }
  html:root body .expo-row .prog-company {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }
  html:root body .expo-row .prog-arr {
    grid-column: 2 !important;
    grid-row: 1 / 3 !important;
  }
  html:root body .expo-row .expo-tipo {
    grid-column: 1 !important;
    grid-row: 2 !important;
  }
}
html:root body #show-overlay.is-expo :is(.show-cred-lbl, .show-meta-lbl) {
  color: #fff !important;
  opacity: 1 !important;
}
html:root body #rabout-team .team-ph {
  position: relative;
  isolation: isolate;
}
html:root body #rabout-team .team-ph img {
  mix-blend-mode: normal;
  filter: grayscale(1) contrast(1.08) brightness(1.02);
  transition: filter 0.35s ease;
}
html:root body #rabout-team .team-ph::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--r-mag);
  mix-blend-mode: lighten;
  pointer-events: none;
  transition: opacity 0.35s ease;
}
@media (hover: hover) and (pointer: fine) {
  html:root body #rabout-team .team-card:hover .team-ph img {
    filter: none;
  }
  html:root body #rabout-team .team-card:hover .team-ph::after {
    opacity: 0;
  }
}
body.no-anim #rabout-team .team-ph img,
body.no-anim #rabout-team .team-ph::after {
  transition: none !important;
}
html:root body .nl-footer {
  display: inline-flex !important;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
}
html:root body .nl-footer .thin-arr,
html:root body .nl-footer .sw-arr {
  display: block;
  margin: 0;
}
html:root body .t-footer .fc-orari {
  display: block;
  margin-top: calc(var(--ts) * var(--lh-s));
}
html:root body .t-footer .fc-sep-dot {
  width: 7px;
  height: 7px;
  background: #000;
  margin: calc((var(--ts) * var(--lh-s) - 7px) / 2) 0 !important;
}
html:root body .t-footer .t-footer-logo {
  width: clamp(56px, 5.5vw, 92px);
}
html:root body .r-fc-wordmark {
  width: clamp(96px, 9.9vw, 165px);
}
@media (max-width: 900px) {
  html:root body .t-footer .t-footer-logo {
    width: 56px;
  }
  html:root body .r-fc-wordmark {
    width: 96px;
  }
}
html:root body .nl-footer .sw-arr {
  width: 1.15em;
  height: 0.7em;
  margin-top: 0.15em;
}
html:root body #calc-overlay .calc-groups--t {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--sp);
}
html:root body #calc-overlay .calc-g h4 {
  display: flex;
  align-items: center;
  font-size: var(--ts);
  line-height: var(--lh-s);
  font-weight: 500;
  color: #000 !important;
  border-bottom: 1px solid #000;
  padding: 0 0 0.3rem;
  margin: 0 0 0.55rem;
}
html:root body #calc-overlay .calc-groups--t .fc-opt {
  align-items: center !important;
  gap: 0.55em;
  width: fit-content;
  max-width: 100%;
  padding: 0.06rem 0;
  font-size: var(--ts);
  line-height: var(--lh-s);
}
html:root body #calc-overlay .calc-actions {
  margin-top: var(--sp-2);
}
@media (max-width: 1100px) {
  html:root body #calc-overlay .calc-groups--t {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  html:root body #calc-overlay .calc-groups--t {
    grid-template-columns: 1fr;
  }
}
html:root body #calc-overlay .calc-body {
  padding-bottom: calc(var(--dock-q, 3.9rem) + clamp(0.75rem, 1.4vw, 1.1rem) + var(--sp-2)) !important;
}
.calc-info {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  box-sizing: border-box;
  width: 0.8rem;
  height: 0.8rem;
  margin: 0 0 0 0.45rem;
  padding: 0;
  border: 1px solid currentColor;
  border-radius: 50%;
  background: transparent;
  color: inherit;
  font: 600 0.55rem/1 var(--f);
  letter-spacing: 0;
  vertical-align: middle;
  position: relative;
  top: -0.08em;
  cursor: help;
  -webkit-tap-highlight-color: transparent;
}
.calc-info::before {
  content: none;
}
.calc-info {
  border: 0 !important;
  width: 0.95rem !important;
  height: 0.95rem !important;
}
.calc-info svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.calc-info:hover,
.calc-info:focus-visible,
.calc-info[aria-expanded='true'] {
  background: #000;
  color: #fff;
  outline: none;
}
.calc-info:hover .calc-info-c,
.calc-info:focus-visible .calc-info-c,
.calc-info[aria-expanded='true'] .calc-info-c {
  stroke: #000;
}
html:root body #calc-overlay :is(.calc-g h4, .fc-opt) .calc-info {
  top: 0;
}
html:root body #calc-overlay .calc-res-row > span:first-child {
  display: inline-flex;
  align-items: center;
}
html:root body #calc-overlay .calc-res-row .calc-info {
  top: 0.04em;
  margin-left: 0.4rem;
}
html:root body #calc-overlay .calc-groups--t .fc-opt {
  align-items: flex-start !important;
}
html:root body #calc-overlay .calc-groups--t .fc-opt .fc-ic {
  margin-top: calc((var(--ts) * var(--lh-s) - 12.7px) / 2) !important;
}
html:root body #calc-overlay .calc-groups--t .fc-opt .calc-info {
  margin: calc((var(--ts) * var(--lh-s) - 0.95rem) / 2) 0 0 -0.1em !important;
}
html:root body #calc-overlay .fc-opt,
html:root body #calc-overlay .fc-opt:hover {
  transform: none !important;
  padding-left: 0 !important;
  text-decoration: none !important;
}
html:root body #calc-overlay .calc-reg {
  display: block;
}
@media (max-width: 760px) {
  :root {
    --dock-q: 3rem;
  }
  html:root body .dock {
    --dock-q: 3rem;
  }
  html:root body .dock .dock-btn {
    font-size: 0.8rem;
  }
  html:root body .dock {
    transition:
      transform 0.28s cubic-bezier(0.16, 1, 0.3, 1),
      opacity 0.2s ease;
  }
  html:root body .dock.dock-via:not(.dock--aperto) {
    transform: translateY(calc(100% + 1.5rem));
    opacity: 0;
    pointer-events: none;
  }
  body.no-anim .dock {
    transition: none !important;
  }
  html:root body [id$='-overlay'] .prog-hdr {
    padding-top: 0.55rem !important;
  }
  html:root body #show-overlay .show-title-block:not(.show-pezzo) .show-company-name {
    padding-top: calc(var(--pad-l-t) * 1em + 0.55rem) !important;
  }
  html:root body #calc-overlay .calc-body h2 {
    padding-top: calc(var(--pad-l-t) * 1em + 0.55rem) !important;
  }
  html:root body .prog-hdr-title {
    padding-right: 7.4rem;
  }
  html:root body #calc-overlay .calc-body h2 {
    padding-right: 5.4rem;
  }
  html:root
    body
    :is(
      #programs-overlay,
      #services-overlay,
      #apply-overlay,
      #ticketing-overlay,
      #between-overlay,
      #resources-overlay,
      #members-overlay,
      #news-overlay,
      #professionals-overlay,
      #visit-overlay,
      #rabout-overlay,
      #aboutt-overlay,
      #opening-overlay,
      .tpage-overlay,
      #region-overlay,
      #memlist-overlay,
      #show-overlay,
      #agenda-overlay,
      #apply-forms-overlay,
      #newsletter-overlay,
      #adesione-overlay,
      #sponsor-overlay,
      #reports-overlay,
      #dossier-overlay,
      #calc-panel
    ) {
    height: calc(100svh - var(--navh)) !important;
  }
  html:root body #calc-overlay .calc-res-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: var(--sp);
    align-items: baseline;
  }
  html:root body #calc-overlay .calc-res-row > span:last-child {
    text-align: right;
  }
  html:root body #calc-overlay .calc-close {
    background: #fff;
    border-radius: 999px;
    padding: 0.2rem 0.35rem 0.2rem 0.55rem !important;
    margin-right: -0.35rem;
  }
  html:root
    body
    :is(
      input[type='text'],
      input[type='email'],
      input[type='tel'],
      input[type='url'],
      input[type='search'],
      input[type='number'],
      input:not([type]),
      select,
      textarea
    ) {
    font-size: 16px !important;
  }
  html:root body #show-overlay .show-desc {
    padding-bottom: 0 !important;
  }
  html:root body #show-overlay .show-aside {
    padding-top: var(--sp-2) !important;
  }
  html:root body .t-footer .t-footer-grid,
  html:root body .r-footer .r-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    column-gap: var(--sp) !important;
  }
  html:root body .t-footer .t-footer-grid .t-fc,
  html:root body .r-footer .r-footer-grid .r-fc {
    padding: 0.9rem 0 1.1rem !important;
    border: 0 !important;
    border-top: 1px solid currentColor !important;
  }
  html:root body .t-footer .t-footer-grid .t-fc:nth-child(-n + 2),
  html:root body .r-footer .r-footer-grid .r-fc:nth-child(-n + 2) {
    border-top: 0 !important;
    padding-top: var(--sp-2) !important;
  }
  html:root body .r-footer .r-footer-grid {
    margin-left: var(--ml) !important;
    margin-right: var(--mr) !important;
  }
  html:root body .r-footer .r-fc {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  html:root body .t-footer .t-footer-logo {
    width: 52px !important;
  }
  html:root body .r-fc-wordmark {
    width: 104px !important;
  }
}
@media (max-width: 900px), (hover: none) {
  html:root body :is(#memlist-overlay, #programs-overlay, #news-overlay).filters-open .filt-bar {
    position: sticky;
    top: 0;
    z-index: 5;
    background: var(--fondo-barra, transparent);
  }
}
@media (max-width: 900px), (hover: none) {
  html:root
    body
    :is(#dock-aa-panel, .aa-panel)
    :is([data-aa-sec='fuoco'], [data-aa-sec='cursore'], [data-aa-sec='guida']) {
    display: none !important;
  }
  html:root
    body.aa-link-sott
    :is(
      .sub-lnk,
      .news-item-t,
      .r-program-lnk,
      .acc-trigger,
      .nav-btn,
      .t-fc-links a,
      .r-fc-links a,
      .res-doc,
      .mnav-item,
      a[href],
      button
    ) {
    text-decoration: none !important;
  }
  html:root
    body.aa-link-sott
    :is(p, li, .fc-meta, .r-fc-meta, .acc-inner, .r-acc-inner, .news-item-text, .el-testo)
    a[href],
  html:root body.aa-link-sott :is(.fc-links, .r-fc-links) a[href] {
    text-decoration: underline !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 0.16em !important;
  }
}
html:root body [id$='-overlay'] .prog-hdr-title,
html:root body #calc-overlay .calc-body h2 {
  margin-top: 0.12em !important;
}
html:root body #show-overlay .show-title-block:not(.show-pezzo) .show-company-name {
  margin-top: 0 !important;
  border-top: 0.12em solid transparent;
}
html:root
  body
  :is(
    #programs-overlay,
    #services-overlay,
    #apply-overlay,
    #ticketing-overlay,
    #between-overlay,
    #resources-overlay,
    #members-overlay,
    #news-overlay,
    #professionals-overlay,
    #visit-overlay,
    #rabout-overlay,
    #aboutt-overlay,
    #opening-overlay,
    .tpage-overlay,
    #region-overlay,
    #memlist-overlay,
    #show-overlay,
    #agenda-overlay,
    #apply-forms-overlay,
    #newsletter-overlay,
    #adesione-overlay,
    #sponsor-overlay,
    #reports-overlay,
    #dossier-overlay,
    #calc-panel
  )::after {
  content: '' !important;
  display: block !important;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: var(--ov-linea, currentColor);
  z-index: 60;
  pointer-events: none;
}
html:root body #show-overlay.is-expo::after {
  background: #fff;
}
html:root body #show-overlay:not(.is-expo)::after {
  background: var(--r-mag);
}
html:root body #calc-panel::after {
  background: #000;
}
@media (max-width: 760px) {
  html:root body .filt-bar--programs {
    flex-wrap: nowrap;
  }
  html:root body .filt-bar--programs > .prog-filters-toggle {
    flex: 0 0 50%;
  }
  html:root body .filt-bar--programs .filt-pdf {
    flex: 0 0 auto;
    flex-basis: auto;
    margin-left: 0;
  }
  html:root body .filt-bar--programs.filt-bar--aperta.filt-bar--attivi .filt-pdf {
    visibility: hidden;
  }
}

html:root body .velo-strato,
html:root body .velo-strato ~ .velo-strato {
  background: rgba(255, 255, 255, 0.775);
}
html:root body .velo-strato.on:has(~ .velo-strato.on) {
  opacity: 0;
  visibility: hidden;
  transition:
    opacity 0.1s linear 0.28s,
    visibility 0s linear 0.38s;
}
body.no-anim .velo-strato.on:has(~ .velo-strato.on) {
  transition: none;
}
html:root
  body
  :is(
    #programs-overlay,
    #services-overlay,
    #apply-overlay,
    #ticketing-overlay,
    #between-overlay,
    #resources-overlay,
    #members-overlay,
    #news-overlay,
    #professionals-overlay,
    #visit-overlay,
    #rabout-overlay,
    #aboutt-overlay,
    #opening-overlay,
    .tpage-overlay,
    #region-overlay,
    #memlist-overlay,
    #show-overlay,
    #agenda-overlay,
    #apply-forms-overlay,
    #newsletter-overlay,
    #adesione-overlay,
    #sponsor-overlay,
    #reports-overlay,
    #dossier-overlay,
    #calc-panel,
    #calc-overlay
  )::after,
html:root body :is(#show-overlay.is-expo, #show-overlay:not(.is-expo), #calc-panel)::after,
html:root body :is(#newsletter-overlay, #adesione-overlay, #sponsor-overlay)::before {
  content: none !important;
  display: none !important;
}
html:root body #calc-overlay #calc-panel {
  box-shadow: none !important;
}
html:root body #newsletter-overlay {
  background: #fff !important;
  color: #000;
  --ov-linea: #000;
  --t-fg: #000;
  --t-bg: #fff;
  --t-mu: var(--g-chiaro);
  --ov-gray: #000;
}
html:root body #newsletter-overlay .prog-hdr-title {
  color: #000 !important;
}
html:root body #newsletter-overlay .prog-hdr {
  border-bottom-color: #000;
}
html:root body[data-world] #newsletter-overlay :is(.prog-close, .prog-close .close-lbl, .prog-close .close-x) {
  color: #000 !important;
}
html:root body #newsletter-overlay .fm.fm-theme-t {
  --fm-fg: #000;
  --fm-mu: var(--g-chiaro);
  --fm-line: #000;
  --fm-line-strong: #000;
  --fm-accent: #000;
  color: #000;
}
html:root body #newsletter-overlay ::selection {
  background: #000;
  color: #fff;
}

html:root body[data-world='radar'] #newsletter-overlay {
  color: var(--r-mag);
  --ov-linea: var(--r-mag);
  --t-fg: var(--r-mag);
  --ov-gray: var(--r-mag);
}
html:root body[data-world='radar'] #newsletter-overlay .prog-hdr-title {
  color: var(--r-mag) !important;
}
html:root body[data-world='radar'] #newsletter-overlay .prog-hdr {
  border-bottom-color: var(--r-mag);
}
html:root body[data-world='radar'] #newsletter-overlay :is(.prog-close, .prog-close .close-lbl, .prog-close .close-x) {
  color: var(--r-mag) !important;
}
html:root body[data-world='radar'] #newsletter-overlay .fm.fm-theme-r {
  --fm-fg: var(--r-mag);
  --fm-mu: var(--r-mag);
  --fm-line: var(--r-mag);
  --fm-line-strong: var(--r-mag);
  --fm-accent: var(--r-mag);
  color: var(--r-mag);
}
html:root body[data-world='radar'] #newsletter-overlay ::selection {
  background: var(--r-mag);
  color: #fff;
}
html:root body #dossier-overlay .ds-item--dl .ds-pdf {
  padding-top: var(--sp-1, 0.75rem);
  padding-bottom: var(--sp-2);
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
}
html:root body #aboutt-overlay .team-voci,
html:root body #rabout-overlay .team-voci {
  width: 100%;
  max-width: none;
  margin: var(--sp-2) 0 0;
  padding-left: calc(var(--tm) * 2);
  box-sizing: border-box;
}
html:root body #aboutt-overlay .team-voci .rp-cap-row,
html:root body #rabout-overlay .team-voci .rp-cap-row {
  font-size: var(--tm);
  line-height: var(--lhm);
  letter-spacing: var(--lsl);
  font-weight: 500;
  padding: calc(var(--pad-l-t, 0.08) * 1em) 0 calc(var(--pad-l-b, 0.12) * 1em);
}
html:root body :is(#aboutt-overlay, #rabout-overlay) .team-voci .rp-cap-ic {
  width: 0.55em;
  height: 0.55em;
}
html:root body :is(#aboutt-overlay, #rabout-overlay) .team-voci .rp-cap-in {
  padding-left: 0;
}
html:root body :is(#aboutt-overlay, #rabout-overlay) .team-voci .rp-cap-in > :first-child {
  margin-top: var(--sp-1, 0.75rem) !important;
}
html:root body :is(#aboutt-overlay, #rabout-overlay) .team-voci .rp-cap-in .team-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media (max-width: 760px) {
  html:root body :is(#aboutt-overlay, #rabout-overlay) .team-voci {
    padding-left: calc(var(--tm) * 1.2);
  }
  html:root body :is(#aboutt-overlay, #rabout-overlay) .team-voci .rp-cap-in .team-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
html:root body #show-overlay .show-title-block:not(.show-pezzo) {
  padding-bottom: 0.18em;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: manual;
}
html:root body #show-overlay .show-title-block:not(.show-pezzo)::after {
  content: '';
  position: absolute;
  left: var(--ml);
  right: var(--mr);
  bottom: 0;
  height: 1px;
  background: var(--r-mag);
  pointer-events: none;
}
html:root body #show-overlay.is-expo .show-title-block:not(.show-pezzo)::after {
  background: #fff;
}
html:root body #show-overlay .show-title-block:not(.show-pezzo) .show-company-name {
  border-bottom: 0 !important;
}
html:root body #show-overlay .show-title-block.show-pezzo {
  padding-top: 0.12em;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: manual;
}
html:root body #show-overlay:has(.show-pezzo .show-piece-name:empty) .show-rule,
html:root body #show-overlay:not(:has(.show-pezzo)) .show-rule {
  display: none;
}
html:root body #show-overlay .show-title-block.show-pezzo .show-piece-name {
  padding-top: 0.06em;
}
@media (max-width: 760px), (hover: none) {
  html:root
    body
    :is(
      #rabout-team .team-ph img,
      .show-img-duo img,
      .show-aside img,
      .t-gal-fig img,
      .t-gallery-grid img,
      .dd-photo img,
      #ag-img,
      .t-about-img img,
      #apply-overlay img,
      #professionals-overlay img
    ) {
    filter: none !important;
    mix-blend-mode: normal !important;
  }
  html:root body #rabout-team .team-ph::after {
    opacity: 0 !important;
  }
  html:root body .show-img-duo {
    background: transparent !important;
  }
}
html:root body #dossier-overlay .ds-voci,
html:root body #dossier-overlay .ds-in > .ds-voci {
  width: auto;
  max-width: none;
  margin-right: 0;
  box-sizing: border-box;
}
html:root body :is(#aboutt-overlay, #rabout-overlay) .team-voci {
  width: auto;
  max-width: none;
  margin-right: 0;
}
html:root body #show-overlay .show-date-g {
  align-items: start;
}
html:root body #show-overlay .show-date-rr {
  padding-bottom: 0;
  margin-top: calc((var(--lhl) - 0.87) * var(--tl) / 2 - (var(--lhm) - 0.87) * var(--tm) / 2);
}
@media (min-width: 761px) {
  html:root body #show-overlay .show-body {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    column-gap: var(--sp) !important;
  }
  html:root body #show-overlay .show-aside {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  html:root body #show-overlay .show-desc {
    min-width: 0;
  }
}
html:root body #calc-overlay .calc-g h4 .calc-info {
  margin: 0 0 0 auto !important;
  top: 0 !important;
}
html:root body #calc-overlay .calc-groups--t .fc-opt:has(.calc-info) {
  width: 100% !important;
}
html:root body #calc-overlay .calc-groups--t .fc-opt .calc-info {
  margin: calc((var(--ts) * var(--lh-s) - 0.95rem) / 2) 0 0 auto !important;
}
html:root body #calc-overlay .calc-res-row:has(.calc-info) {
  position: relative;
}
@media (max-width: 760px) {
  html:root body #calc-overlay .calc-res-row {
    padding-right: calc(0.95rem + 0.6rem) !important;
  }
}
html:root body #calc-overlay .calc-res-row .calc-info {
  position: absolute !important;
  right: 0;
  top: 50% !important;
  margin: -0.475rem 0 0 0 !important;
}
.calc-info svg :is(circle, path) {
  stroke-width: 1px !important;
  vector-effect: non-scaling-stroke;
}
html:root body #show-overlay {
  --show-c1: calc(var(--tl) * 2.55 + var(--sp));
}
html:root body #show-overlay :is(.show-cred-row, .show-meta-item) {
  grid-template-columns: var(--show-c1) minmax(0, 1fr) !important;
  column-gap: 0 !important;
}
html:root body #show-overlay :is(.show-cred-row, .show-meta-item) > :first-child {
  padding-right: 0.6em;
}
html:root body #show-overlay .show-date-g {
  grid-template-columns: calc(var(--tl) * 2.55) minmax(0, 1fr) !important;
  column-gap: var(--sp) !important;
}
html:root body #show-overlay .show-date-r {
  column-gap: 0 !important;
  flex-wrap: nowrap;
}
html:root body #show-overlay .show-date-t {
  flex: 0 0 3.6em;
  min-width: 3.6em;
}
html:root body #show-overlay .show-date-v {
  min-width: 0;
}

html:root body #calc-overlay .calc-g--act {
  align-self: start;
}
html:root body #calc-overlay .calc-g--act .calc-actions {
  margin-top: 0 !important;
}
html:root body #calc-overlay .calc-results {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: var(--sp);
  align-items: start;
}
html:root body #calc-overlay .calc-res-col > .calc-res-h:first-child {
  margin-top: 0 !important;
}
@media (max-width: 760px) {
  html:root body #calc-overlay .calc-results {
    grid-template-columns: 1fr;
    row-gap: var(--sp-2);
  }
}
html:root body #show-overlay .show-title-block:not(.show-pezzo) {
  padding-bottom: 0 !important;
}
html:root body #show-overlay .show-title-block:not(.show-pezzo) .show-company-name {
  padding-bottom: 0.11em !important;
  margin-bottom: 0 !important;
}
html:root body #show-overlay .show-title-block.show-pezzo {
  padding-top: 0 !important;
}
html:root body #show-overlay .show-title-block.show-pezzo .show-piece-name {
  padding-top: 0.175em !important;
  margin-top: 0 !important;
}
html:root body .r-footer-bar {
  height: clamp(6px, 0.8vw, 11px) !important;
  background: var(--r-mag) !important;
  display: block !important;
}
html:root body #show-overlay .show-date > .show-date-g:last-child {
  border-bottom: clamp(6px, 0.8vw, 11px) solid var(--r-mag);
}
html:root body #apply-forms-overlay {
  background: #fff !important;
  color: var(--r-mag);
  --ov-linea: var(--r-mag);
}
html:root body #apply-forms-overlay .fm-theme-r {
  --fm-fg: var(--r-mag);
  --fm-mu: var(--r-mag);
  --fm-line: var(--r-mag);
  --fm-line-strong: var(--r-mag);
  --fm-accent: var(--r-mag);
  color: var(--r-mag);
}
html:root
  body
  #apply-forms-overlay
  :is(
    .prog-hdr-title,
    .prog-close,
    .prog-close .close-lbl,
    .prog-close .close-x,
    .fm-tab,
    .fm-tab[aria-selected='true'],
    .fm-intro,
    .fm-sec-h,
    .fm-sec-note,
    .fm-label,
    .fm-hint,
    .fm-error,
    .fm-opt-txt,
    .fm-file-name,
    .fm-input,
    .fm-select,
    .fm-textarea,
    .fm-callout,
    .fm-row-add,
    .fm-row-del,
    .fm-file-btn,
    .fm-status,
    .fm-done,
    .fm-req
  ) {
  color: var(--r-mag) !important;
}
html:root body #apply-forms-overlay :is(.fm-tabs) {
  border-color: var(--r-mag) !important;
}
html:root body #apply-forms-overlay :is(.fm-sec, .fm-sec:first-of-type, .fm-callout, .fm-foot) {
  border-top-color: var(--r-mag) !important;
}
html:root body #apply-forms-overlay :is(.fm-input, .fm-select, .fm-textarea) {
  border-color: var(--r-mag) !important;
}
html:root body #apply-forms-overlay :is(.fm-input, .fm-select, .fm-textarea):is(:hover, :focus) {
  box-shadow: inset 0 0 0 1px var(--r-mag) !important;
}
html:root body #apply-forms-overlay :is(.fm-input, .fm-textarea)::placeholder {
  color: var(--g-rosa-bianco, #ff99ff) !important;
  opacity: 1;
}
html:root body #apply-forms-overlay :is(.fm-check-box, .fm-radio-dot) {
  border-color: var(--r-mag) !important;
}
html:root body #apply-forms-overlay .fm-check:checked + .fm-check-box {
  background: var(--r-mag) !important;
  border-color: var(--r-mag) !important;
}
html:root body #apply-forms-overlay .fm-check:checked + .fm-check-box::after {
  border-color: #fff !important;
}
html:root body #apply-forms-overlay .fm-radio:checked + .fm-radio-dot {
  background: #fff !important;
  box-shadow: inset 0 0 0 0.22em var(--r-mag) !important;
}
html:root body #apply-forms-overlay :is(.fm-row-add, .fm-row-del, .fm-file-btn) {
  border-color: var(--r-mag) !important;
}
html:root body #apply-forms-overlay .fm-file-btn:hover {
  background: var(--r-mag) !important;
  color: #fff !important;
}
html:root body #apply-forms-overlay :is(.fm-submit-alt, .fm-submit-alt.btn-pill) {
  border-color: var(--r-mag) !important;
  color: var(--r-mag) !important;
  background: transparent !important;
}
html:root body #apply-forms-overlay :is(.fm-submit-alt, .fm-submit-alt.btn-pill):hover {
  background: var(--r-mag) !important;
  color: #fff !important;
}
html:root body #apply-forms-overlay .fm-submit {
  background: var(--r-mag) !important;
  border-color: var(--r-mag) !important;
  color: #fff !important;
}
html:root body #apply-forms-overlay .fm-submit:hover {
  background: #fff !important;
  color: var(--r-mag) !important;
}
html:root body #apply-forms-overlay .fm-tab::before,
html:root body #apply-forms-overlay .fm-tab[aria-selected='true']::before {
  border-color: var(--r-mag) !important;
}
html:root body #apply-forms-overlay .fm-tab[aria-selected='true']::before {
  background: var(--r-mag) !important;
}
html:root body #apply-forms-overlay ::selection {
  background: var(--r-mag);
  color: #fff;
}
html:root body .fm .fm-sec {
  --fm-g: calc(var(--ts) * 0.6);
}
html:root body .fm .fm-sec > .fm-sec-h {
  padding-top: calc(var(--fm-g) - (var(--lhm) - 0.87) * var(--tm) / 2) !important;
}
html:root body .fm .fm-sec > .fm-sec-h + * {
  padding-top: calc(var(--fm-g) - (var(--lh-s) - 0.87) * var(--ts) / 2) !important;
}
html:root body .fm .fm-sec > .fm-sec-h + * > .fm-sec-note:first-child,
html:root body .fm .fm-sec > .fm-sec-h + .fm-sec-note {
  margin-top: 0 !important;
}
html:root body .fm :is(.fm-callout, .fm-foot) {
  padding-top: calc(var(--ts) * 0.6 - (var(--lh-s) - 0.87) * var(--ts) / 2) !important;
}
html:root body .fm .fm-foot {
  padding-top: calc(var(--ts) * 0.6 + 0.4rem) !important;
}
