.audio-atmosphere-element {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.audio-atmosphere-wrap {
  position: relative;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  margin-left: 7px;
  vertical-align: middle;
  overflow: visible;
}

.audio-atmosphere-wrap .audio-atmosphere-control { margin-left: 0; }

.audio-musical-notes {
  position: absolute;
  inset: -12px -13px;
  z-index: 4;
  pointer-events: none;
  overflow: visible;
}

.audio-note {
  position: absolute;
  display: block;
  color: rgba(196, 139, 52, .92);
  font-family: Georgia, "Times New Roman", serif;
  font-size: .68rem;
  line-height: 1;
  opacity: 0;
  text-shadow: 0 1px 5px rgba(120, 75, 19, .24);
  will-change: transform, opacity;
}

.audio-note-1 { left: 6px; bottom: 8px; }
.audio-note-2 { right: 4px; bottom: 11px; font-size: .62rem; }
.audio-note-3 { left: 12px; top: 8px; font-size: .58rem; }
.audio-note-4 { right: 11px; top: 5px; font-size: .56rem; }

.audio-atmosphere-wrap.is-playing .audio-note-1 { animation: audio-note-float-1 3.4s ease-out infinite; }
.audio-atmosphere-wrap.is-playing .audio-note-2 { animation: audio-note-float-2 3.8s ease-out .85s infinite; }
.audio-atmosphere-wrap.is-playing .audio-note-3 { animation: audio-note-float-3 4.1s ease-out 1.7s infinite; }
.audio-atmosphere-wrap.is-playing .audio-note-4 { animation: audio-note-float-4 3.6s ease-out 2.45s infinite; }
.audio-atmosphere-control {
  position: relative;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  width: 44px;
  min-width: 44px;
  height: 44px;
  padding: 0;
  margin-left: 7px;
  border: 1px solid rgba(219, 176, 91, .92);
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(145deg, #285f4a, #14382c);
  box-shadow: 0 7px 18px rgba(17, 46, 36, .24), inset 0 0 0 1px rgba(255,255,255,.08);
  font: 700 .72rem/1 "Montserrat", Arial, sans-serif;
  letter-spacing: .02em;
  cursor: pointer;
  overflow: hidden;
  white-space: nowrap;
  vertical-align: middle;
  transition: width .42s cubic-bezier(.2,.78,.22,1),
              background .25s ease,
              box-shadow .25s ease,
              transform .25s ease;
  -webkit-tap-highlight-color: transparent;
}

.audio-atmosphere-control:hover,
.audio-atmosphere-control:focus-visible {
  width: 166px;
  background: linear-gradient(145deg, #34745b, #173f31);
  box-shadow: 0 10px 24px rgba(17,46,36,.31), 0 0 0 3px rgba(226,189,114,.20);
  transform: translateY(-1px);
  outline: none;
}

.audio-atmosphere-control::after {
  content: "";
  position: absolute;
  inset: -70% -45%;
  background: linear-gradient(105deg, transparent 39%, rgba(255,241,202,.42) 49%, transparent 59%);
  transform: translateX(-90%) rotate(8deg);
  animation: audio-metal-sheen 5.2s ease-in-out infinite;
  pointer-events: none;
}

.audio-atmosphere-icon {
  position: relative;
  z-index: 1;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  flex: 0 0 42px;
  border-radius: 50%;
  color: #fff;
}

.audio-play-symbol {
  display: inline-block;
  font-family: Arial, sans-serif;
  font-size: .92rem;
  font-weight: 900;
  line-height: 1;
  transform: translateX(1px);
}

.audio-atmosphere-control.is-playing .audio-play-symbol {
  transform: none;
  letter-spacing: -2px;
}

.audio-atmosphere-label {
  position: relative;
  z-index: 1;
  max-width: 0;
  margin-right: 0;
  opacity: 0;
  overflow: hidden;
  transform: translateX(-6px);
  transition: max-width .38s ease, opacity .24s ease .08s, transform .32s ease .06s, margin-right .32s ease;
}

.audio-atmosphere-control:hover .audio-atmosphere-label,
.audio-atmosphere-control:focus-visible .audio-atmosphere-label {
  max-width: 112px;
  margin-right: 14px;
  opacity: 1;
  transform: translateX(0);
}

.audio-atmosphere-bars { display: none !important; }
.audio-atmosphere-control.is-loading { opacity: .75; cursor: progress; }
.audio-atmosphere-wrap.audio-atmosphere-fallback {
  position: fixed;
  top: max(16px, env(safe-area-inset-top));
  right: max(18px, env(safe-area-inset-right));
  z-index: 2147483000;
  margin-left: 0;
}

@keyframes audio-note-float-1 {
  0%, 18% { opacity: 0; transform: translate(0, 4px) scale(.74) rotate(-8deg); }
  34% { opacity: .82; }
  76% { opacity: .48; }
  100% { opacity: 0; transform: translate(-9px, -17px) scale(1.04) rotate(8deg); }
}
@keyframes audio-note-float-2 {
  0%, 16% { opacity: 0; transform: translate(0, 3px) scale(.72) rotate(7deg); }
  32% { opacity: .78; }
  74% { opacity: .44; }
  100% { opacity: 0; transform: translate(10px, -20px) scale(1.02) rotate(-7deg); }
}
@keyframes audio-note-float-3 {
  0%, 20% { opacity: 0; transform: translate(0, 2px) scale(.7) rotate(-4deg); }
  37% { opacity: .7; }
  78% { opacity: .38; }
  100% { opacity: 0; transform: translate(-6px, -14px) scale(.98) rotate(6deg); }
}
@keyframes audio-note-float-4 {
  0%, 17% { opacity: 0; transform: translate(0, 3px) scale(.7) rotate(6deg); }
  35% { opacity: .72; }
  77% { opacity: .4; }
  100% { opacity: 0; transform: translate(7px, -15px) scale(1) rotate(-5deg); }
}

@keyframes audio-metal-sheen {
  0%, 62% { transform: translateX(-90%) rotate(8deg); }
  85%, 100% { transform: translateX(90%) rotate(8deg); }
}

@media (max-width: 900px) {
  .audio-atmosphere-wrap { margin-left: 5px; }
  .audio-atmosphere-control {
    width: 40px;
    min-width: 40px;
    height: 40px;
    margin-left: 5px;
  }
  .audio-atmosphere-icon { width: 38px; height: 38px; flex-basis: 38px; }
  .audio-atmosphere-control:hover,
  .audio-atmosphere-control:focus-visible { width: 154px; }
}

@media (hover: none), (max-width: 620px) {
  .audio-atmosphere-control,
  .audio-atmosphere-control:hover,
  .audio-atmosphere-control:focus-visible {
    width: 40px;
    min-width: 40px;
    transform: none;
  }
  .audio-atmosphere-control .audio-atmosphere-label { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .audio-atmosphere-control,
  .audio-atmosphere-label { transition: none !important; }
  .audio-note { animation: none !important; opacity: 0 !important; }
  .audio-atmosphere-control::after { animation: none !important; }
}
.audio-musical-notes { inset: -22px -24px; }
.audio-note {
  font-size: .88rem;
  text-shadow: 0 1px 6px rgba(120, 75, 19, .32), 0 0 5px rgba(238, 202, 128, .34);
}
.audio-note-1  { left: 3px;  bottom: 10px; font-size: .92rem; }
.audio-note-2  { right: 2px; bottom: 13px; font-size: .84rem; }
.audio-note-3  { left: 10px; top: 5px; font-size: .78rem; }
.audio-note-4  { right: 10px; top: 3px; font-size: .76rem; }
.audio-note-5  { left: 24px; bottom: -1px; font-size: .72rem; }
.audio-note-6  { right: 23px; bottom: -3px; font-size: .80rem; }
.audio-note-7  { left: -3px; top: 24px; font-size: .74rem; }
.audio-note-8  { right: -4px; top: 25px; font-size: .86rem; }
.audio-note-9  { left: 27px; top: -5px; font-size: .70rem; }
.audio-note-10 { right: 27px; top: -7px; font-size: .78rem; }

.audio-atmosphere-wrap.is-playing .audio-note-5  { animation: audio-note-float-2 4.0s ease-out .35s infinite; }
.audio-atmosphere-wrap.is-playing .audio-note-6  { animation: audio-note-float-1 4.2s ease-out 1.15s infinite; }
.audio-atmosphere-wrap.is-playing .audio-note-7  { animation: audio-note-float-4 3.7s ease-out 1.95s infinite; }
.audio-atmosphere-wrap.is-playing .audio-note-8  { animation: audio-note-float-3 4.3s ease-out 2.65s infinite; }
.audio-atmosphere-wrap.is-playing .audio-note-9  { animation: audio-note-float-1 3.9s ease-out 3.15s infinite; }
.audio-atmosphere-wrap.is-playing .audio-note-10 { animation: audio-note-float-2 4.1s ease-out 3.55s infinite; }

@media (hover: none), (max-width: 620px) {
  .audio-musical-notes { inset: -25px -27px; }
  .audio-note { font-size: 1rem; }
  .audio-note-1 { font-size: 1.08rem; }
  .audio-note-2 { font-size: .98rem; }
  .audio-note-3, .audio-note-4, .audio-note-6, .audio-note-8, .audio-note-10 { font-size: .92rem; }
  .audio-note-5, .audio-note-7, .audio-note-9 { font-size: .86rem; }
}
.site-header .brand-name,
.site-footer .footer-brand .brand-name {
  display: inline-block;
  position: relative;
  overflow: visible;
  padding-top: .20em;
  padding-bottom: .05em;
  margin-top: -.10em;
  line-height: 1.08 !important;
  white-space: nowrap;
  vertical-align: bottom;
  clip-path: inset(0 100% 0 0);
  opacity: 0;
  transform: translateX(-8px);
  will-change: clip-path, opacity, transform;
}

.site-header .brand-name.brand-writing,
.site-footer .footer-brand .brand-name.brand-writing {
  animation: brand-signature-write 1.65s cubic-bezier(.22,.76,.24,1) both;
}

.site-header .brand-name::after,
.site-footer .footer-brand .brand-name::after {
  content: "";
  position: absolute;
  top: 9%;
  right: -2px;
  width: 2px;
  height: 78%;
  border-radius: 99px;
  background: linear-gradient(180deg, transparent, rgba(224,181,105,.96), transparent);
  box-shadow: 0 0 8px rgba(224,181,105,.5);
  opacity: 0;
  pointer-events: none;
}

.site-header .brand-name.brand-writing::after,
.site-footer .footer-brand .brand-name.brand-writing::after {
  animation: brand-signature-pen 1.65s linear both;
}
.site-header .brand-role,
.credential-certificate > h3,
.site-footer .footer-brand > span:not(.brand-name) {
  color: #d6a24d !important;
  text-shadow: 0 0 8px rgba(229,189,110,.14), 0 2px 10px rgba(4,19,13,.16);
}

@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .site-header .brand-role,
  .credential-certificate > h3,
  .site-footer .footer-brand > span:not(.brand-name) {
    background: linear-gradient(105deg,
      #93601f 0%,
      #d9a449 19%,
      #f0d18c 33%,
      #fff5cf 45%,
      #bd7827 56%,
      #edc97d 72%,
      #89571c 100%);
    background-size: 260% 100%;
    background-position: 110% 50%;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: professional-metallic 3.25s linear infinite,
               professional-breathe 4.2s ease-in-out infinite alternate;
  }
}

@keyframes brand-signature-write {
  0%   { clip-path: inset(0 100% 0 0); opacity: 0; transform: translateX(-8px); }
  12%  { opacity: 1; }
  100% { clip-path: inset(0 0 0 0); opacity: 1; transform: translateX(0); }
}

@keyframes brand-signature-pen {
  0%, 8% { opacity: 0; }
  14% { opacity: 1; }
  88% { opacity: .9; }
  100% { opacity: 0; }
}

@keyframes professional-metallic {
  from { background-position: 110% 50%; }
  to   { background-position: -150% 50%; }
}

@keyframes professional-breathe {
  from { filter: brightness(.96); }
  to   { filter: brightness(1.08); }
}

@media (prefers-reduced-motion: reduce) {
  .site-header .brand-name,
  .site-footer .footer-brand .brand-name {
    clip-path: none;
    opacity: 1;
    transform: none;
    animation: none !important;
  }
  .site-header .brand-name::after,
  .site-footer .footer-brand .brand-name::after { display: none; }
  .site-header .brand-role,
  .credential-certificate > h3,
  .site-footer .footer-brand > span:not(.brand-name) { animation: none !important; }
}
.cta-band,
.section-faq,
.cta-band + .section-faq,
.section-faq + .section {
  content-visibility: visible !important;
  contain: none !important;
  contain-intrinsic-size: auto !important;
}
.cta-band,
.section-faq {
  transform: translateZ(0);
  backface-visibility: hidden;
}

@media (prefers-reduced-motion: reduce) {
  .cta-band,
  .section-faq {
    transform: none;
  }
}
.section-video,
.section-video + .cta-band,
.cta-band,
.cta-band + .section-faq,
.section-faq,
.section-faq + .section,
#percorsi,
#percorsi + .section-video {
  content-visibility: visible !important;
  contain: none !important;
  contain-intrinsic-size: auto !important;
}
.section-video,
.cta-band,
.section-faq {
  transform: none !important;
  backface-visibility: visible !important;
  will-change: auto !important;
}
.section-video,
.cta-band,
.section-faq {
  margin-block: 0 !important;
  border-block: 0 !important;
}

.section-video { padding-bottom: calc(var(--section-space, 7rem) + 1px); }
.cta-band { margin-top: -1px !important; margin-bottom: -1px !important; }
.section-faq { padding-top: calc(var(--section-space, 7rem) + 1px); }

@media (max-width: 900px) {
  .section-video { padding-bottom: calc(var(--section-space, 5rem) + 1px); }
  .section-faq { padding-top: calc(var(--section-space, 5rem) + 1px); }
}
.site-header {
  background-color: #fbf8f1 !important;
  background-image:
    radial-gradient(ellipse at 50% -55%, rgba(216, 203, 177, .26) 0%, rgba(251, 248, 241, 0) 58%),
    linear-gradient(180deg, #fbf8f1 0%, #fbf8f1 72%, #faf7ef 100%) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  backdrop-filter: blur(18px) !important;
  border-top: 1px solid rgba(214, 198, 165, .28) !important;
  border-bottom: 2px solid #184b3a !important;
  box-shadow:
    0 -8px 22px rgba(121, 96, 55, .06),
    0 7px 24px rgba(24, 57, 45, .07) !important;
}

.site-header::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg,
    rgba(255,255,255,.16) 0%,
    rgba(255,255,255,.04) 32%,
    rgba(255,255,255,.13) 52%,
    rgba(255,255,255,.03) 75%,
    rgba(255,255,255,.12) 100%);
  opacity: .55;
  z-index: 0;
}

.site-header .nav-container {
  position: relative;
  z-index: 1;
}

@media (max-width: 900px) {
  .site-header {
    background-image:
      radial-gradient(ellipse at 50% -45%, rgba(216, 203, 177, .22) 0%, rgba(251, 248, 241, 0) 62%),
      linear-gradient(180deg, #fbf8f1 0%, #faf7ef 100%) !important;
  }
}
