html:has(body.aso-page-chi-sono){ background: #FFF9F2; }
body.aso-page-chi-sono{ line-height: normal; }
body.aso-page-chi-sono{
      --verde-chiaro:  #CEDBC3;
      --lilla-chiaro:  #E8D6EF;
      --bianco-panna:  #FFF9F2;
      --verde-bosco:   #20573D;   
      --grigio-testo:  #3a3a3a;
      --grigio-muted:  #6b7280;
      --grigio-bordo:  #e5e7eb;
    }
body.aso-page-chi-sono *, body.aso-page-chi-sono *::before, body.aso-page-chi-sono *::after{ box-sizing: border-box; margin: 0; padding: 0; }
body.aso-page-chi-sono{ scroll-behavior: smooth; }
body.aso-page-chi-sono{
      font-family: 'DM Sans', sans-serif;
      background: var(--bianco-panna);
      color: var(--grigio-testo);
      overflow-x: hidden;
    }
body.aso-page-chi-sono .ic{ display: inline-block; flex-shrink: 0; line-height: 0; }
body.aso-page-chi-sono .ic svg{ display: block; }
body.aso-page-chi-sono nav{
      position: fixed; top: 0; left: 0; right: 0;
      z-index: 100;
      background: rgba(249,247,242,.92);
      backdrop-filter: blur(10px);
      border-bottom: 1px solid var(--lilla-chiaro);
      display: flex; align-items: center; justify-content: space-between;
      padding: .9rem 5%;
    }
body.aso-page-chi-sono .nav-logo{display:flex;flex-direction:column;align-items:flex-end;gap:3px;text-decoration:none;}
body.aso-page-chi-sono .nav-logo-img{display:block;height:20px;width:auto;}
body.aso-page-chi-sono .nav-logo-payoff{display:block;height:7px;width:auto;}
body.aso-page-chi-sono .nav-links{ display: flex; align-items:center; gap: 2rem; list-style: none; }
body.aso-page-chi-sono .nav-links > li > a{
      font-size: .88rem; font-weight: 500;
      color: var(--grigio-testo); text-decoration: none;
      letter-spacing: .02em; transition: color .25s;
    }
body.aso-page-chi-sono .nav-links > li > a:hover{ color: var(--grigio-testo); opacity:.7; }
body.aso-page-chi-sono .nav-disabled{ color: var(--grigio-muted); opacity:.55; cursor:not-allowed; font-size:.88rem; font-weight:500; }
body.aso-page-chi-sono .nav-dropdown{ position: relative; list-style:none; }
body.aso-page-chi-sono .nav-dropdown-label{
      text-decoration:none; color:inherit; font-family:'DM Sans',sans-serif;
      font-size:.88rem; font-weight:500;
    }
body.aso-page-chi-sono .nav-dropdown-caret{
      background:none; border:none; cursor:pointer; padding:0 0 0 .3rem;
      display:inline-flex; align-items:center; color:inherit;
    }
body.aso-page-chi-sono .nav-caret svg{ transition: transform .2s; }
body.aso-page-chi-sono .nav-dropdown-caret[aria-expanded="true"] .nav-caret svg{ transform: rotate(180deg); }
body.aso-page-chi-sono .nav-dropdown-panel{
      position:absolute; top:100%; left:0; min-width:230px;
      background:var(--bianco-panna);
      border-top:3px solid var(--verde-chiaro);
      box-shadow:0 14px 34px rgba(0,0,0,.10);
      border-radius:0 0 .9rem .9rem; padding:.35rem 0;
      display:none; z-index:120;
    }
body.aso-page-chi-sono .nav-dropdown-panel--lilla{ border-top-color: var(--lilla-chiaro); }
body.aso-page-chi-sono .nav-dropdown-panel.open{ display:block; }
body.aso-page-chi-sono .nav-dropdown-panel a{
      display:block; padding:.85rem 1.4rem; font-size:.87rem; font-weight:500;
      color:var(--grigio-testo); text-decoration:none;
      border-bottom:1px solid rgba(0,0,0,.06); transition:background .2s;
    }
body.aso-page-chi-sono .nav-dropdown-panel a:last-child{ border-bottom:none; }
body.aso-page-chi-sono .nav-dropdown-panel--verde a:hover{ background: var(--verde-chiaro); }
body.aso-page-chi-sono .nav-dropdown-panel--lilla a:hover{ background: var(--lilla-chiaro); }
@media (min-width: 1101px) {
body.aso-page-chi-sono nav{ padding-bottom: 0; padding-left: 0; }
body.aso-page-chi-sono .folder-tabs{ align-self: flex-end; align-items: flex-end; gap: .4rem; margin-bottom: -1px; }
body.aso-page-chi-sono .folder-tabs li{ list-style: none; }
body.aso-page-chi-sono .folder-tabs > li > a:not(.nav-dropdown-label), body.aso-page-chi-sono .folder-tabs li.nav-dropdown, body.aso-page-chi-sono .folder-tabs .nav-disabled{
        position: relative; display: flex; align-items: center;
        padding: .65rem 1.4rem .6rem; margin: 0;
        font-size: .84rem; font-weight: 600; letter-spacing: .02em;
        text-decoration: none;
        border: 1.5px solid var(--verde-chiaro); border-bottom: none;
        border-radius: .8rem .8rem 0 0;
        background: var(--verde-chiaro);
        color: var(--grigio-testo);
        box-shadow: 0 2px 4px rgba(0,0,0,.05);
        transform: scale(1) translateY(0);
        transition: transform .22s ease, background .22s, color .22s, box-shadow .22s, border-color .22s;
      }
body.aso-page-chi-sono .folder-tabs .nav-disabled{ cursor:not-allowed; }
body.aso-page-chi-sono .folder-tabs li:nth-child(odd) > a, body.aso-page-chi-sono .folder-tabs li:nth-child(odd).nav-dropdown, body.aso-page-chi-sono .folder-tabs li:nth-child(odd) .nav-disabled{
        background: var(--verde-chiaro); border-color: var(--verde-chiaro);
      }
body.aso-page-chi-sono .folder-tabs li:nth-child(even) > a, body.aso-page-chi-sono .folder-tabs li:nth-child(even).nav-dropdown, body.aso-page-chi-sono .folder-tabs li:nth-child(even) .nav-disabled{
        background: var(--lilla-chiaro); border-color: var(--lilla-chiaro);
      }
body.aso-page-chi-sono .folder-tabs > li > a:not(.nav-dropdown-label):hover, body.aso-page-chi-sono .folder-tabs > li > a:not(.nav-dropdown-label):focus-visible, body.aso-page-chi-sono .folder-tabs li.nav-dropdown:hover, body.aso-page-chi-sono .folder-tabs li.nav-dropdown:focus-within{ border-color: var(--grigio-testo); z-index: 4; }
body.aso-page-chi-sono .folder-tabs > li > a:not(.nav-dropdown-label).active, body.aso-page-chi-sono .folder-tabs li.nav-dropdown.active{
        background: var(--bianco-panna);
        color: var(--grigio-testo);
        border: 1.5px solid var(--grigio-testo); border-bottom: none;
        transform: scale(1.08) translateY(-3px);
        z-index: 5;
        font-weight: 700;
        box-shadow: 0 -4px 12px rgba(0,0,0,.08);
      }
body.aso-page-chi-sono .nav-dropdown-panel{ margin-top: 1px; }
}
body.aso-page-chi-sono .nav-hamburger{
      display: none; flex-direction: column; gap: 5px;
      cursor: pointer; background: none; border: none;
      padding: .4rem; border-radius: .4rem; transition: background .2s;
    }
body.aso-page-chi-sono .nav-hamburger:hover{ background: var(--lilla-chiaro); }
body.aso-page-chi-sono .nav-hamburger span{
      display: block; width: 24px; height: 2px;
      background: var(--grigio-testo); border-radius: 2px;
      transition: transform .3s, opacity .3s;
    }
body.aso-page-chi-sono .nav-hamburger.open span:nth-child(1){ transform: translateY(7px) rotate(45deg); }
body.aso-page-chi-sono .nav-hamburger.open span:nth-child(2){ opacity: 0; }
body.aso-page-chi-sono .nav-hamburger.open span:nth-child(3){ transform: translateY(-7px) rotate(-45deg); }
@media (max-width: 1100px) {
body.aso-page-chi-sono .nav-hamburger{ display: flex; }
body.aso-page-chi-sono .nav-links{
        display: none; position: fixed; top: 60px; left: 0; right: 0;
        background: rgba(249,247,242,.98); backdrop-filter: blur(12px);
        flex-direction: column; align-items: stretch; gap: 0;
        padding: .5rem 0 1.5rem; border-bottom: 2px solid var(--verde-chiaro);
        z-index: 99; box-shadow: 0 8px 24px rgba(0,0,0,.08);
      }
body.aso-page-chi-sono .nav-links.open{ display: flex; }
body.aso-page-chi-sono .nav-links > li{ width: 100%; }
body.aso-page-chi-sono .nav-links > li > a, body.aso-page-chi-sono .nav-disabled{
        display: block; padding: .85rem 5%; font-size: 1rem;
        border-bottom: 1px solid var(--lilla-chiaro);
      }
body.aso-page-chi-sono .nav-dropdown{ display:flex; align-items:center; border-bottom: 1px solid var(--lilla-chiaro); }
body.aso-page-chi-sono .nav-dropdown-label{ display:block; flex:1; padding: .85rem 5%; font-size:1rem; }
body.aso-page-chi-sono .nav-dropdown-caret{ padding: .85rem 5% .85rem 0; }
body.aso-page-chi-sono .nav-dropdown-panel{
        position:static; box-shadow:none; border-top:none; border-radius:0;
        background:transparent; padding-left:1.2rem; margin-top:0;
      }
body.aso-page-chi-sono .nav-dropdown-panel a{ padding:.7rem 5%; border-bottom:1px solid rgba(0,0,0,.05); }
body.aso-page-chi-sono .nav-links > li:last-child > a{ border-bottom: none; }
}
body.aso-page-chi-sono .about-header{
      position: relative;
      min-height: 100vh;
      
      display: flex; flex-direction: column; align-items: center; justify-content: flex-end;
      padding: 8rem 5% 0;
      
      text-align: center;
      background: linear-gradient(
        to right,
        var(--lilla-chiaro) 0%,
        rgba(232,214,239,.55) 18%,
        var(--bianco-panna) 42%,
        var(--bianco-panna) 58%,
        rgba(206,219,195,.55) 82%,
        var(--verde-chiaro) 100%
      );
      overflow: hidden;
    }
body.aso-page-chi-sono .about-header h1{
      font-family: 'Lora', serif;
      font-size: clamp(2.6rem, 7vw, 5rem);
      font-weight: 700;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: var(--grigio-testo);
      margin-bottom: .6rem;
    }
body.aso-page-chi-sono .about-header .about-sub{
      font-size: 1rem;
      color: var(--grigio-muted);
      max-width: 520px;
      margin: 0 auto 1.5rem;
      line-height: 1.7;
    }
body.aso-page-chi-sono .about-portrait{
      display: block;
      
      width: auto;
      max-width: min(280px, 60%);
      height: auto;
      max-height: 100%;
      min-height: 0;
      margin: 0 auto;
      position: relative;
      z-index: 2;
    }
body.aso-page-chi-sono .percorso-section{ padding: 4.5rem 5% 5rem; }
body.aso-page-chi-sono .percorso-intro{ text-align: center; max-width: 640px; margin: 0 auto 3rem; }
body.aso-page-chi-sono .percorso-intro .section-label{
      font-size: .78rem; font-weight: 700; letter-spacing: .14em;
      text-transform: uppercase; color: var(--grigio-muted); margin-bottom: .7rem;
    }
body.aso-page-chi-sono .percorso-intro h2{
      font-family: 'Lora', serif;
      font-size: clamp(1.7rem, 3vw, 2.3rem);
      font-weight: 700; color: var(--grigio-testo);
    }
body.aso-page-chi-sono .percorso{
      position: relative;
      max-width: 1000px;
      margin: 0 auto;
    }
body.aso-page-chi-sono .percorso-road{
      position: absolute;
      inset: 0;
      width: 100%; height: 100%;
      pointer-events: none;
      z-index: 0;
    }
body.aso-page-chi-sono .tappa{
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: 1fr 1fr;
      align-items: center;
      min-height: 360px;
    }
body.aso-page-chi-sono .tappa-marker{ display: flex; justify-content: center; align-items: center; position: relative; }
body.aso-page-chi-sono .tappa-connector{
      position: absolute; top: 0; left: 0; width: 100%; height: 100%;
      pointer-events: none; z-index: 0; overflow: visible;
    }
body.aso-page-chi-sono .tappa-connector path{
      fill: none; stroke: var(--grigio-testo); stroke-width: 1.5;
      stroke-dasharray: 1 6; stroke-linecap: round;
    }
@media (max-width: 860px) {
body.aso-page-chi-sono .tappa-connector{ display: none !important; }
}
body.aso-page-chi-sono .tappa-pin{
      width: 62px; height: 62px;
      background: var(--lilla-chiaro);
      border: 2px solid var(--grigio-testo);
      border-radius: 50% 50% 50% 0;
      transform: rotate(-45deg);
      display: flex; align-items: center; justify-content: center;
      box-shadow: 0 6px 14px rgba(0,0,0,.16);
      flex-shrink: 0;
    }
body.aso-page-chi-sono .tappa-pin-inner{
      width: 38px; height: 38px;
      background: var(--bianco-panna);
      border-radius: 50%;
      transform: rotate(45deg);
      display: flex; align-items: center; justify-content: center;
      font-family: 'Lora', serif;
      font-size: 1.05rem; font-weight: 700;
      color: var(--grigio-testo);
    }
body.aso-page-chi-sono .tappa-card{
      position: relative;
      background: var(--lilla-chiaro);
      border: 1.5px solid var(--lilla-chiaro);
      border-radius: 1.3rem;
      padding: 1.9rem 2rem;
      box-shadow: 0 10px 30px rgba(0,0,0,.09);
      max-width: 420px;
    }
body.aso-page-chi-sono .tappa-badge{
      position: absolute; top: -16px; left: -16px;
      width: 34px; height: 34px;
      background: var(--bianco-panna);
      border: 2px solid var(--grigio-testo);
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      font-family: 'Lora', serif; font-size: .95rem; font-weight: 700;
      color: var(--grigio-testo);
      box-shadow: 0 3px 8px rgba(0,0,0,.12);
    }
body.aso-page-chi-sono .tappa--left  .tappa-marker{ grid-column: 1; grid-row: 1; }
body.aso-page-chi-sono .tappa--left  .tappa-card{ grid-column: 2; grid-row: 1; margin-right: auto; }
body.aso-page-chi-sono .tappa--right .tappa-marker{ grid-column: 2; grid-row: 1; }
body.aso-page-chi-sono .tappa--right .tappa-card{ grid-column: 1; grid-row: 1; margin-left: auto; }
body.aso-page-chi-sono .tappa-card h3{
      font-family: 'Lora', serif;
      font-size: 1.02rem; font-weight: 700;
      letter-spacing: .06em; text-transform: uppercase;
      color: var(--grigio-testo);
      margin-bottom: .9rem;
    }
body.aso-page-chi-sono .tappa-card p{ font-size: .95rem; color: var(--grigio-muted); line-height: 1.7; }
body.aso-page-chi-sono .tappa-card p + p{ margin-top: .7rem; }
body.aso-page-chi-sono .tappa-card ul{ list-style: none; margin: .9rem 0 0; display: flex; flex-direction: column; gap: .55rem; }
body.aso-page-chi-sono .tappa-card li{
      position: relative; padding-left: 1.3rem;
      font-size: .93rem; color: var(--grigio-muted); line-height: 1.6;
    }
body.aso-page-chi-sono .tappa-card li::before{
      content: ''; position: absolute; left: 0; top: .5rem;
      width: 8px; height: 8px; border-radius: 50%;
      background: var(--bianco-panna); border: 1px solid var(--grigio-testo);
    }
body.aso-page-chi-sono .tappa-card ul + p{ margin-top: .9rem; }
@media (max-width: 860px) {
body.aso-page-chi-sono .percorso-road{ display: none; }
body.aso-page-chi-sono .percorso{ padding-left: 2.6rem; }
body.aso-page-chi-sono .percorso::before{
        content: ''; position: absolute; left: 18px; top: 0; bottom: 0;
        width: 24px; border-radius: 12px;
        background: var(--verde-chiaro);
        z-index: 0;
      }
body.aso-page-chi-sono .percorso::after{
        content: ''; position: absolute; left: 29px; top: 14px; bottom: 14px;
        width: 2px; border-radius: 1px;
        background: repeating-linear-gradient(
          to bottom,
          var(--bianco-panna) 0 16px,
          transparent 16px 34px
        );
        z-index: 1;
      }
body.aso-page-chi-sono .tappa{
        grid-template-columns: 1fr;
        min-height: 0;
        padding: 1.4rem 0 1.4rem 1.6rem;
        align-items: start;
      }
body.aso-page-chi-sono .tappa-marker{ display: none; }
body.aso-page-chi-sono .tappa--left .tappa-card, body.aso-page-chi-sono .tappa--right .tappa-card{
        grid-column: 1; grid-row: 1;
        max-width: 100%; margin: 0;
      }
}
@media (max-width: 500px) {
body.aso-page-chi-sono .percorso{ padding-left: 2rem; }
body.aso-page-chi-sono .percorso::before{ left: 13px; width: 19px; border-radius: 10px; }
body.aso-page-chi-sono .percorso::after{ left: 21.5px; }
body.aso-page-chi-sono .tappa{ padding-left: 1.2rem; }
body.aso-page-chi-sono .tappa-card{ padding: 1.4rem 1.3rem; }
}
body.aso-page-chi-sono footer.footer-main{background:var(--bianco-panna);color:var(--grigio-testo);border-top:1px solid var(--grigio-bordo);padding:4rem 5% 0;font-size:.88rem;line-height:1.7;}
body.aso-page-chi-sono .footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:3rem;max-width:1100px;margin:0 auto 3rem;}
body.aso-page-chi-sono .footer-brand-logo{display:block;text-decoration:none;margin-bottom:1.6rem;}
body.aso-page-chi-sono .footer-brand-logo-img{display:block;width:100%;max-width:250px;height:auto;}
body.aso-page-chi-sono .footer-brand-logo svg, body.aso-page-chi-sono .footer-brand-logo span{color:var(--verde-bosco);}
body.aso-page-chi-sono .footer-brand p{font-size:.85rem;line-height:1.7;max-width:280px;color:var(--grigio-muted);margin-top:.4rem;}
body.aso-page-chi-sono .footer-col-title{font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--grigio-muted);margin-bottom:1rem;}
body.aso-page-chi-sono .footer-nav-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.55rem;}
body.aso-page-chi-sono .footer-nav-list a{color:var(--grigio-testo);text-decoration:none;transition:color .2s;}
body.aso-page-chi-sono .footer-nav-list a:hover{color:var(--grigio-muted);}
body.aso-page-chi-sono .footer-info-item{display:flex;align-items:flex-start;gap:.6rem;margin-bottom:.7rem;font-size:.84rem;color:var(--grigio-testo);}
body.aso-page-chi-sono .footer-info-item svg{flex-shrink:0;color:var(--grigio-testo);margin-top:.15rem;}
body.aso-page-chi-sono .footer-bottom{border-top:1px solid var(--grigio-bordo);padding:1.4rem 0;max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.8rem;font-size:.78rem;color:var(--grigio-muted);}
body.aso-page-chi-sono .footer-bottom-links{display:flex;gap:1.4rem;}
body.aso-page-chi-sono .footer-bottom-links a{color:var(--grigio-muted);text-decoration:none;transition:color .2s;}
body.aso-page-chi-sono .footer-bottom-links a:hover{color:var(--grigio-testo);}
@media(max-width:820px){
body.aso-page-chi-sono .footer-grid{grid-template-columns:1fr;gap:2rem;}
body.aso-page-chi-sono .footer-bottom{flex-direction:column;text-align:center;}
}
@media(max-width:500px){
body.aso-page-chi-sono .footer-grid{grid-template-columns:1fr;gap:1.5rem;}
}
@media (max-width: 768px) {
body.aso-page-chi-sono .nav-hamburger{ display: none !important; }
body.aso-page-chi-sono .nav-links{ display: none !important; }
body.aso-page-chi-sono .nav-links.open{ display: none !important; }
body.aso-page-chi-sono{ padding-bottom: calc(66px + env(safe-area-inset-bottom, 0px)) !important; }
body.aso-page-chi-sono .bottom-nav{
        display: flex !important;
        position: fixed !important;
        top: auto !important; bottom: 0 !important; left: 0 !important; right: 0 !important;
        height: calc(60px + env(safe-area-inset-bottom, 0px)) !important;
        padding-bottom: env(safe-area-inset-bottom, 0px) !important;
        background: #ffffff !important;
        border-top: 2px solid var(--verde-chiaro) !important;
        box-shadow: 0 -2px 16px rgba(0,0,0,.12) !important;
        z-index: 99999 !important;
        align-items: stretch !important;
      }
body.aso-page-chi-sono .bnav-tab{
        flex: 1 !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 3px !important;
        text-decoration: none !important;
        color: var(--grigio-muted) !important;
        font-size: 10px !important;
        font-weight: 600 !important;
        line-height: 1.2 !important;
        padding: .2rem .1rem !important;
        border-top: 3px solid transparent !important;
        -webkit-tap-highlight-color: transparent;
        height: 100%;
        box-sizing: border-box;
      }
body.aso-page-chi-sono .bnav-tab svg{
        display: block !important;
        width: 22px !important; height: 22px !important;
        stroke: currentColor !important;
        stroke-width: 1.7 !important;
        fill: none !important;
        flex-shrink: 0 !important;
      }
body.aso-page-chi-sono .bnav-tab span{
        display: block !important;
        font-size: 10px !important;
        line-height: 1.2 !important;
        color: inherit !important;
        text-align: center !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        padding: 0 2px !important;
      }
body.aso-page-chi-sono .bnav-tab:active{ background: var(--verde-chiaro) !important; }
body.aso-page-chi-sono .bnav-tab.bnav-active{
        color: var(--grigio-testo) !important;
        border-top: 3px solid var(--verde-chiaro) !important;
        background: var(--verde-chiaro) !important;
        font-weight: 700 !important;
      }
body.aso-page-chi-sono .bnav-tab.bnav-active svg{ stroke: var(--grigio-testo) !important; }
body.aso-page-chi-sono .bnav-tab.bnav-active span{ color: var(--grigio-testo) !important; font-weight: 700 !important; }
body.aso-page-chi-sono nav{ padding: .6rem 4% !important; }
body.aso-page-chi-sono .about-header{ padding-top: 6rem; }
}
@media (min-width: 769px) {
body.aso-page-chi-sono .bottom-nav{ display: none !important; }
}