:root{
      --turquoise:#2596BE;
      --turquoise-light:#3BA9D4;
      --turquoise-dark:#1A7A9E;
      --ink:#0B1822;
      --paper:#FFFFFF;
      --gold:#C9A66B;
      --gold-light:#E0C490;
      --muted:#F8FBFD;
      --glass:rgba(255,255,255,0.7);
    }

    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
    html{scroll-behavior:smooth}

    body{
      font-family:'Inter',system-ui,sans-serif;
      color:var(--paper);
      background:#0a1520;
      overflow-x:hidden;
      -webkit-font-smoothing:antialiased;
      -moz-osx-font-smoothing:grayscale;
      line-height:1.6;
    }

    body::before{
      content:''; position:fixed; inset:0; z-index:0;
      background:
        radial-gradient(circle at 20% 30%, rgba(37,150,190,0.40) 0%, transparent 50%),
        radial-gradient(circle at 80% 70%, rgba(201,166,107,0.30) 0%, transparent 50%),
        radial-gradient(circle at 50% 50%, rgba(37,150,190,0.20) 0%, transparent 80%);
      animation:gradientShift 15s ease infinite;
    }
    @keyframes gradientShift{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.1) rotate(5deg)}}
    @media (prefers-reduced-motion:reduce){body::before{animation:none}}

    .particles{position:fixed; inset:0; pointer-events:none; z-index:1}
    .particle{position:absolute; width:4px; height:4px; background:var(--gold); border-radius:50%; opacity:0; animation:float 8s ease-in-out infinite}
    @keyframes float{0%{transform:translateY(100vh) scale(0);opacity:0}10%{opacity:.8}90%{opacity:.8}100%{transform:translateY(-100px) scale(1);opacity:0}}
    @media (prefers-reduced-motion:reduce){.particle{animation:none; opacity:.2}}

    .content{position:relative; z-index:2}

    /* HEADER CON NAVBAR MOBILE */
    header{
      position:fixed; top:20px; left:50%; transform:translateX(-50%);
      width:min(1200px,94vw); z-index:100;
      background:#0a1520; backdrop-filter:none;
      border:1px solid rgba(255,255,255,0.12); border-radius:24px; padding:16px 28px;
      transition:all .4s cubic-bezier(.4,0,.2,1);
      box-shadow:0 8px 32px rgba(0,0,0,0.40);
    }
    header.scrolled{top:10px; background:#0a1520}

    .nav{display:flex; align-items:center; justify-content:space-between}

    .logo{
      font-family:'Playfair Display',serif; font-weight:900; font-size:24px;
      background:linear-gradient(135deg,var(--turquoise),var(--gold));
      -webkit-background-clip:text; -webkit-text-fill-color:transparent;
      background-clip:text; letter-spacing:-.5px;
    }

    .logo-full{display:inline}
    .logo-short{display:none}

    .links{display:flex; gap:12px; align-items:center}

    .pill{
      padding:10px 20px; border-radius:12px; background:rgba(255,255,255,0.08);
      backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,0.15);
      color:#fff; font-weight:600; font-size:14px; transition:.3s;
      text-decoration:none; position:relative; overflow:hidden;
    }
    .pill:hover{border-color:var(--gold); transform:translateY(-2px); box-shadow:0 8px 24px rgba(201,166,107,0.3); background:rgba(255,255,255,0.14)}

    /* MENU MOBILE */
    .mobile-menu-toggle{
      display:none;
      background:none;
      border:none;
      cursor:pointer;
      padding:8px;
      position:relative;
      width:40px;
      height:40px;
      align-items:center;
      justify-content:center;
    }

    .chevron-icon{
      width:24px;
      height:24px;
      transition:transform 0.3s ease;
    }

    .chevron-icon path{
      fill:var(--gold);
    }

    .mobile-menu-toggle.active .chevron-icon{
      transform:rotate(180deg);
    }

    .mobile-menu{
      position:absolute;
      top:calc(100% + 16px);
      right:0;
      background:#0a1520;
      backdrop-filter:none;
      border:1px solid rgba(255,255,255,0.12);
      border-radius:20px;
      padding:24px;
      min-width:240px;
      opacity:0;
      visibility:hidden;
      transform:translateY(-10px);
      transition:all 0.3s cubic-bezier(0.4,0,0.2,1);
      box-shadow:0 12px 40px rgba(0,0,0,0.6);
    }

    .mobile-menu.active{
      opacity:1;
      visibility:visible;
      transform:translateY(0);
    }

    .mobile-menu .pill{
      display:block;
      margin-bottom:12px;
      text-align:center;
      width:100%;
      padding:14px 24px;
      font-size:15px;
      background:rgba(255,255,255,0.08);
      border:1px solid rgba(255,255,255,0.15);
      color:#fff;
    }

    .mobile-menu .pill:last-child{
      margin-bottom:0;
    }

    .mobile-menu .pill:hover{
      background:rgba(255,255,255,0.14);
      border-color:var(--gold);
      color:#fff;
    }

    @media (max-width:768px){
      .logo-full{display:none}
      .logo-short{display:inline}
      .links{display:none}
      .mobile-menu-toggle{display:flex}
      header{padding:14px 20px}
    }

    .scroll-indicator{position:fixed; top:0; left:0; height:3px; background:linear-gradient(90deg,var(--turquoise),var(--gold)); z-index:1000; transform-origin:left}

    /* Hero con SLIDESHOW */
    .hero{
      min-height:100vh;
      display:flex;
      align-items:center;
      justify-content:center;
      padding:140px 40px 40px;
      position:relative;
    }

    .hero-split{
      max-width:1600px;
      margin:0 auto;
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:80px;
      align-items:center;
    }

    /* SLIDESHOW */
    .hero-visual{
      position:relative;
      animation:fadeInLeft 1.2s ease-out;
    }

    @keyframes fadeInLeft{
      from{opacity:0; transform:translateX(-60px)}
      to{opacity:1; transform:translateX(0)}
    }

    .image-container{
      position:relative;
      height:600px;
    }

    .geo-shape{
      position:absolute;
      border-radius:50%;
      opacity:0.6;
      animation:float-shape 6s ease-in-out infinite;
      z-index:1;
    }

    .geo-shape.shape-1{
      width:180px;
      height:180px;
      background:linear-gradient(135deg, rgba(37,150,190,0.3), rgba(37,150,190,0.1));
      top:-20px;
      left:-20px;
      animation-delay:0s;
    }

    .geo-shape.shape-2{
      width:120px;
      height:120px;
      background:linear-gradient(135deg, rgba(201,166,107,0.3), rgba(201,166,107,0.1));
      bottom:-10px;
      right:-10px;
      animation-delay:1s;
    }

    @keyframes float-shape{
      0%,100%{transform:translate(0,0) rotate(0deg)}
      33%{transform:translate(10px,-10px) rotate(5deg)}
      66%{transform:translate(-10px,10px) rotate(-5deg)}
    }

    .image-frame{
      position:relative;
      height:100%;
      width:100%;
      clip-path:polygon(0 10%, 10% 0, 100% 0, 100% 90%, 90% 100%, 0 100%);
      background:linear-gradient(135deg, rgba(37,150,190,0.2), rgba(201,166,107,0.2));
      padding:4px;
      z-index:2;
    }

    .image-inner{
      position:relative;
      height:100%;
      width:100%;
      clip-path:polygon(0 10%, 10% 0, 100% 0, 100% 90%, 90% 100%, 0 100%);
      overflow:hidden;
      background:#0a1520;
    }

    .slideshow-container{
      width:100%;
      height:100%;
      position:relative;
    }

    .hero-photo{
      width:100%;
      height:100%;
      object-fit:cover;
      display:block;
      position:absolute;
      top:0;
      left:0;
      opacity:0;
      transition:all .8s cubic-bezier(.4,0,.2,1);
      filter:grayscale(20%) contrast(1.1);
    }

    .hero-photo.active{
      opacity:1;
    }

    .image-container:hover .hero-photo.active{
      transform:scale(1.08);
      filter:grayscale(0%) contrast(1.15);
    }

    .image-overlay{
      position:absolute;
      inset:0;
      background:linear-gradient(135deg, rgba(37,150,190,0.15) 0%, transparent 50%, rgba(201,166,107,0.15) 100%);
      pointer-events:none;
      opacity:0.6;
      z-index:1;
    }

    /* Contenuto Hero */
    .hero-content{
      animation:fadeInRight 1.2s ease-out;
    }

    @keyframes fadeInRight{
      from{opacity:0; transform:translateX(60px)}
      to{opacity:1; transform:translateX(0)}
    }

    .hero-title{
      font-family:'Playfair Display',serif;
      font-size:clamp(42px,5vw,68px);
      line-height:1.1;
      letter-spacing:-.02em;
      color:#fff;
      margin-bottom:16px;
    }

    .hero-name{
      display:inline-block;
      background:linear-gradient(135deg, #fff 0%, var(--gold-light) 50%, var(--gold) 100%);
      -webkit-background-clip:text;
      -webkit-text-fill-color:transparent;
      background-clip:text;
      transition:all 0.4s ease;
    }

    .hero-name:hover{
      background:linear-gradient(135deg, var(--gold) 0%, var(--gold-light) 50%, #fff 100%);
      -webkit-background-clip:text;
      -webkit-text-fill-color:transparent;
      background-clip:text;
      filter:drop-shadow(0 0 20px rgba(201,166,107,0.6));
    }

    .hero-subtitle{
      font-size:clamp(22px,3vw,32px);
      color:var(--turquoise-light);
      font-weight:600;
      margin-bottom:32px;
      line-height:1.4;
      letter-spacing:-0.01em;
      text-shadow:0 0 30px rgba(37,150,190,0.5);
    }

    .hero-subtitle:hover{
      color:#fff;
      text-shadow:0 0 40px rgba(37,150,190,0.8);
    }

    .hero-desc{
      font-size:18px;
      line-height:1.7;
      color:rgba(255,255,255,0.75);
      margin-bottom:40px;
      max-width:540px;
    }

    .hero-cta-group{
      display:flex;
      gap:16px;
      flex-wrap:wrap;
    }

    .hero-cta{
      display:inline-flex;
      align-items:center;
      gap:12px;
      padding:16px 32px;
      background:linear-gradient(135deg,var(--turquoise),var(--turquoise-light));
      color:#fff;
      text-decoration:none;
      border-radius:14px;
      font-weight:600;
      font-size:16px;
      transition:all .3s cubic-bezier(.4,0,.2,1);
      border:2px solid transparent;
      box-shadow:0 4px 20px rgba(37,150,190,0.3);
    }

    .hero-cta:hover{
      transform:translateY(-2px);
      box-shadow:0 8px 30px rgba(37,150,190,0.5);
      border-color:var(--gold);
    }

    .hero-cta-secondary{
      background:linear-gradient(135deg,var(--gold),var(--gold-light));
      color:var(--turquoise);
      box-shadow:0 4px 20px rgba(201,166,107,0.3);
    }

    .hero-cta-secondary:hover{
      box-shadow:0 8px 30px rgba(201,166,107,0.5);
      border-color:var(--turquoise);
    }

    .cta-arrow{
      transition:transform .3s;
      font-size:20px;
    }

    .hero-cta:hover .cta-arrow{
      transform:translateY(4px);
    }

    .hero-cta-secondary:hover .cta-arrow{
      transform:translateX(4px);
    }

    @media (max-width:968px){
      .hero-split{
        grid-template-columns:1fr;
        gap:60px;
      }
      .image-container{
        height:500px;
      }
    }

    @media (max-width:640px){
      .hero{
        padding:120px 40px 60px;
      }
      .image-container{
        height:400px;
      }
    }

    /* SEZIONI */
    .section{
      padding:60px 40px;
      position:relative;
    }

    .container{
      max-width:1400px;
      margin:0 auto;
    }

    .section-title{
      font-family:'Playfair Display',serif;
      font-size:clamp(48px,5vw,72px);
      text-align:center;
      margin-bottom:40px;
      font-weight:900;
      background:linear-gradient(135deg, var(--turquoise-light) 0%, var(--gold-light) 50%, var(--turquoise) 100%);
      -webkit-background-clip:text;
      -webkit-text-fill-color:transparent;
      background-clip:text;
      letter-spacing:-0.02em;
      position:relative;
      text-shadow:0 0 40px rgba(37,150,190,0.3);
    }

    /* CHI SONO - MIGLIORATO */
    .bio-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:60px;
      align-items:center;
    }

    .bio-content{
      max-width:600px;
    }

    .bio-subtitle{
      font-family:'Playfair Display',serif;
      font-size:36px;
      margin-bottom:16px;
      color:var(--turquoise-light);
      font-weight:700;
    }
    
    .bio-intro{
      font-size:19px;
      line-height:1.7;
      color:rgba(255,255,255,0.95);
      margin-bottom:36px;
      font-weight:500;
    }
    
    .bio-section{
      margin-bottom:28px;
      padding-left:20px;
      border-left:3px solid var(--gold);
    }
    
    .bio-section-title{
      font-family:'Playfair Display',serif;
      font-size:20px;
      font-weight:700;
      color:var(--gold-light);
      margin-bottom:10px;
      letter-spacing:-0.02em;
    }

    .bio-section p{
      font-size:16px;
      line-height:1.75;
      color:rgba(255,255,255,0.85);
      margin:0;
    }
    
    .bio-closing{
      font-size:16px;
      line-height:1.75;
      color:rgba(255,255,255,0.8);
      margin-top:32px;
      font-style:italic;
      padding-top:24px;
      border-top:1px solid rgba(255,255,255,0.15);
    }

    /* BUSINESS CARD - VERSIONE ORIGINALE MIGLIORATA */
    .business-card-wrapper{
      perspective:1500px;
      display:flex;
      justify-content:center;
      align-items:center;
    }

    .business-card{
      width:100%;
      max-width:420px;
      aspect-ratio:1.586/1;
      position:relative;
      transform-style:preserve-3d;
      transition:transform 0.8s cubic-bezier(0.4,0,0.2,1);
      cursor:pointer;
    }

    .business-card.flipped{
      transform:rotateY(180deg);
    }

    .card-face{
      position:absolute;
      inset:0;
      backface-visibility:hidden;
      border-radius:20px;
      padding:40px;
      display:flex;
      flex-direction:column;
      justify-content:center;
      box-shadow:0 20px 60px rgba(0,0,0,0.4);
    }

    .card-front{
      background:linear-gradient(135deg, rgba(37,150,190,0.15), rgba(201,166,107,0.15));
      border:2px solid rgba(255,255,255,0.2);
      backdrop-filter:blur(10px);
    }

    .card-back{
      background:linear-gradient(135deg, rgba(201,166,107,0.15), rgba(37,150,190,0.15));
      border:2px solid rgba(255,255,255,0.2);
      backdrop-filter:blur(10px);
      transform:rotateY(180deg);
      padding:30px;
    }

    .card-header{
      margin-bottom:24px;
    }

    .card-name{
      font-family:'Playfair Display',serif;
      font-size:32px;
      font-weight:900;
      background:linear-gradient(135deg,var(--turquoise-light),var(--gold-light));
      -webkit-background-clip:text;
      -webkit-text-fill-color:transparent;
      background-clip:text;
      margin-bottom:8px;
    }

    .card-degree{
      font-size:14px;
      color:rgba(255,255,255,0.85);
      font-weight:500;
      margin-bottom:4px;
      font-style:italic;
    }

    .card-role{
      font-size:16px;
      color:var(--gold-light);
      font-weight:600;
    }

    .card-info{
      display:flex;
      flex-direction:column;
      gap:12px;
    }

    .card-info-item{
      display:flex;
      align-items:center;
      gap:12px;
      font-size:14px;
      color:rgba(255,255,255,0.85);
    }

    .card-icon{
      width:20px;
      height:20px;
      fill:var(--gold);
    }

    .card-skills{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:12px;
      height:100%;
      align-content:center;
    }

    .skill-tag{
      padding:12px 16px;
      background:rgba(255,255,255,0.08);
      border:2px solid var(--gold);
      border-radius:8px;
      font-size:13px;
      text-align:center;
      color:#fff;
      font-weight:500;
      transition:all 0.3s;
    }

    .skill-tag:hover{
      background:rgba(37,150,190,0.2);
      border-color:var(--turquoise);
      color:var(--turquoise-light);
      transform:translateY(-2px);
    }

    @media (max-width:968px){
      .bio-grid{
        grid-template-columns:1fr;
        gap:50px;
      }
      .bio-content{
        max-width:100%;
      }
      .business-card{
        max-width:360px;
      }
      .card-face{
        padding:30px;
      }
      .card-name{
        font-size:28px;
      }
      .card-back{
        padding:25px;
      }
      .card-skills{
        gap:10px;
      }
      .skill-tag{
        padding:10px 12px;
        font-size:12px;
      }
    }

    @media (max-width:640px){
      .business-card{
        max-width:100%;
      }
    }

    /* ESPLORA CON HOVER TURCHESE */
    .explore-grid{
      display:grid;
      grid-template-columns:repeat(3, 1fr);
      gap:32px;
    }

    .explore-card{
      background:rgba(255,255,255,0.05);
      border:1px solid rgba(255,255,255,0.12);
      border-radius:24px;
      padding:40px;
      text-decoration:none;
      transition:all .4s cubic-bezier(.4,0,.2,1);
      position:relative;
      overflow:hidden;
    }

    .explore-card::before{
      content:'';
      position:absolute;
      inset:0;
      background:linear-gradient(135deg,rgba(37,150,190,0.1),rgba(201,166,107,0.1));
      opacity:0;
      transition:opacity .4s;
    }

    .explore-card:hover::before{
      opacity:1;
    }

    .explore-card:hover{
      transform:translateY(-8px);
      border-color:var(--turquoise);
      box-shadow:0 20px 60px rgba(37,150,190,0.3);
    }

    .card-content{
      position:relative;
      z-index:1;
    }

    .card-icon-wrapper{
      width:56px;
      height:56px;
      background:linear-gradient(135deg,rgba(201,166,107,0.2),rgba(201,166,107,0.1));
      border-radius:16px;
      display:flex;
      align-items:center;
      justify-content:center;
      margin-bottom:24px;
      transition:all .4s;
    }

    .explore-card:hover .card-icon-wrapper{
      background:linear-gradient(135deg,rgba(37,150,190,0.3),rgba(37,150,190,0.2));
      transform:scale(1.1);
    }

    .card-icon-wrapper svg{
      width:28px;
      height:28px;
      fill:var(--gold);
      transition:fill .4s;
    }

    .explore-card:hover .card-icon-wrapper svg{
      fill:var(--turquoise-light);
    }

    .card-header{
      margin-bottom:16px;
    }

    .card-subtitle{
      font-size:13px;
      text-transform:uppercase;
      letter-spacing:1.2px;
      color:var(--gold);
      font-weight:600;
      margin-bottom:8px;
      transition:color .4s;
    }

    .explore-card:hover .card-subtitle{
      color:var(--turquoise-light);
    }

    .card-title{
      font-family:'Playfair Display',serif;
      font-size:28px;
      color:#fff;
      margin-bottom:0;
      transition:color .4s;
    }

    .explore-card:hover .card-title{
      color:var(--turquoise-light);
    }

    .card-desc{
      font-size:15px;
      line-height:1.7;
      color:rgba(255,255,255,0.75);
      margin-bottom:24px;
    }

    .card-footer{
      display:flex;
      align-items:center;
      justify-content:space-between;
    }

    .card-cta{
      display:flex;
      align-items:center;
      gap:8px;
      color:var(--gold);
      font-weight:600;
      font-size:15px;
      transition:all .4s;
    }

    .explore-card:hover .card-cta{
      color:var(--turquoise-light);
    }

    .card-arrow{
      transition:transform .3s;
      font-size:18px;
    }

    .explore-card:hover .card-arrow{
      transform:translateX(4px);
    }

    .card-meta{
      display:flex;
      gap:8px;
    }

    .meta-badge{
      padding:6px 12px;
      background:rgba(201,166,107,0.15);
      border:1px solid rgba(201,166,107,0.3);
      border-radius:8px;
      font-size:12px;
      color:var(--gold);
      font-weight:600;
      transition:all .4s;
    }

    .explore-card:hover .meta-badge{
      background:rgba(37,150,190,0.2);
      border-color:var(--turquoise);
      color:var(--turquoise-light);
    }

    @media (max-width:1024px){
      .explore-grid{
        grid-template-columns:repeat(2, 1fr);
      }
    }

    @media (max-width:768px){
      .explore-grid{
        grid-template-columns:1fr;
      }
    }

    /* CONTATTI */
    .contact-simple{
      text-align:center;
      max-width:700px;
      margin:0 auto;
    }

    .contact-simple p{
      font-size:18px;
      line-height:1.7;
      color:rgba(255,255,255,0.8);
      margin-bottom:40px;
    }

    .contact-links{
      display:flex;
      justify-content:center;
      gap:16px;
      flex-wrap:wrap;
    }

    .social-icon-link{
      width:56px;
      height:56px;
      display:flex;
      align-items:center;
      justify-content:center;
      background:rgba(255,255,255,0.08);
      border:1px solid rgba(255,255,255,0.15);
      border-radius:14px;
      transition:all .3s cubic-bezier(.4,0,.2,1);
      text-decoration:none;
    }

    .social-icon-link svg{
      width:24px;
      height:24px;
      fill:var(--gold);
      transition:fill .3s;
    }

    .social-icon-link:hover{
      background:rgba(37,150,190,0.15);
      border-color:var(--turquoise);
      transform:translateY(-4px);
      box-shadow:0 8px 24px rgba(37,150,190,0.3);
    }

    .social-icon-link:hover svg{
      fill:var(--turquoise-light);
    }

    /* FOOTER SUI TONI DEL BLU */
    footer{
      background:linear-gradient(180deg, rgba(10,21,32,0.5) 0%, rgba(26,122,158,0.3) 50%, rgba(37,150,190,0.4) 100%);
      border-top:2px solid rgba(37,150,190,0.4);
      padding:60px 40px 30px;
      position:relative;
    }

    footer::before{
      content:'';
      position:absolute;
      top:0;
      left:0;
      right:0;
      bottom:0;
      background:
        radial-gradient(circle at 30% 20%, rgba(37,150,190,0.2) 0%, transparent 50%),
        radial-gradient(circle at 70% 80%, rgba(59,169,212,0.15) 0%, transparent 50%);
      pointer-events:none;
    }

    .footer-container{
      max-width:1400px;
      margin:0 auto;
      position:relative;
      z-index:1;
    }

    .footer-main{
      display:grid;
      grid-template-columns:2fr 1fr 1fr 1fr;
      gap:60px;
      margin-bottom:50px;
      padding-bottom:40px;
      border-bottom:1px solid rgba(37,150,190,0.3);
    }

    .footer-brand-section{
      max-width:320px;
    }

    .footer-logo{
      font-family:'Playfair Display',serif;
      font-size:32px;
      font-weight:900;
      background:linear-gradient(135deg,var(--turquoise-light),#fff);
      -webkit-background-clip:text;
      -webkit-text-fill-color:transparent;
      background-clip:text;
      margin-bottom:16px;
      display:inline-block;
    }

    .footer-tagline{
      font-size:15px;
      line-height:1.6;
      color:rgba(255,255,255,0.8);
      margin-bottom:24px;
    }

    .footer-social{
      display:flex;
      gap:12px;
    }

    .footer-social-link{
      width:40px;
      height:40px;
      display:flex;
      align-items:center;
      justify-content:center;
      background:rgba(37,150,190,0.2);
      border:1px solid rgba(37,150,190,0.4);
      border-radius:10px;
      transition:all 0.3s ease;
      text-decoration:none;
    }

    .footer-social-link svg{
      width:18px;
      height:18px;
      fill:var(--turquoise-light);
      transition:fill 0.3s;
    }

    .footer-social-link:hover{
      background:rgba(37,150,190,0.4);
      border-color:var(--turquoise-light);
      transform:translateY(-3px);
      box-shadow:0 8px 20px rgba(37,150,190,0.3);
    }

    .footer-social-link:hover svg{
      fill:#fff;
    }

    .footer-column h4{
      font-size:16px;
      font-weight:700;
      color:var(--turquoise-light);
      margin-bottom:20px;
      letter-spacing:0.5px;
      text-transform:uppercase;
    }

    .footer-links{
      display:flex;
      flex-direction:column;
      gap:12px;
    }

    .footer-link{
      color:rgba(255,255,255,0.8);
      text-decoration:none;
      font-size:14px;
      transition:all 0.3s ease;
      display:inline-block;
    }

    .footer-link:hover{
      color:var(--turquoise-light);
      transform:translateX(4px);
    }

    .footer-bottom{
      display:flex;
      justify-content:space-between;
      align-items:center;
      flex-wrap:wrap;
      gap:20px;
    }

    .footer-copyright{
      font-size:14px;
      color:rgba(255,255,255,0.7);
    }

    .footer-legal{
      display:flex;
      gap:24px;
    }

    .footer-legal-link{
      font-size:14px;
      color:rgba(255,255,255,0.7);
      text-decoration:none;
      transition:color 0.3s;
    }

    .footer-legal-link:hover{
      color:var(--turquoise-light);
    }

    @media (max-width:968px){
      .footer-main{
        grid-template-columns:1fr 1fr;
        gap:40px;
      }
      .footer-brand-section{
        grid-column:1/-1;
        max-width:100%;
      }
    }

    @media (max-width:640px){
      .footer-main{
        grid-template-columns:1fr;
        gap:30px;
      }
      .footer-bottom{
        flex-direction:column;
        text-align:center;
      }
      .footer-legal{
        flex-direction:column;
        gap:12px;
      }
    }
    :root{
      --turquoise:#2596BE;
      --turquoise-light:#3BA9D4;
      --turquoise-dark:#1A7A9E;
      --ink:#0B1822;
      --paper:#FFFFFF;
      --gold:#C9A66B;
      --gold-light:#E0C490;
      --muted:#F8FBFD;
      --glass:rgba(255,255,255,0.7);
    }

    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
    html{scroll-behavior:smooth}
    body{
      font-family:'Inter',system-ui,sans-serif;
      color:var(--paper);
      background:#0a1520;
      overflow-x:hidden;
      -webkit-font-smoothing:antialiased;
      -moz-osx-font-smoothing:grayscale;
      line-height:1.6;
    }

    /* Background animato */
    body::before{
      content:''; position:fixed; inset:0; z-index:0;
      background:
        radial-gradient(circle at 20% 30%, rgba(37,150,190,0.40) 0%, transparent 50%),
        radial-gradient(circle at 80% 70%, rgba(201,166,107,0.30) 0%, transparent 50%),
        radial-gradient(circle at 50% 50%, rgba(37,150,190,0.20) 0%, transparent 80%);
      animation:gradientShift 15s ease infinite;
    }
    @keyframes gradientShift{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.1) rotate(5deg)}}
    @media (prefers-reduced-motion:reduce){body::before{animation:none}}

    /* Particelle */
    .particles{position:fixed; inset:0; pointer-events:none; z-index:1}
    .particle{position:absolute; width:4px; height:4px; background:var(--gold); border-radius:50%; opacity:0; animation:float 8s ease-in-out infinite}
    @keyframes float{0%{transform:translateY(100vh) scale(0);opacity:0}10%{opacity:.8}90%{opacity:.8}100%{transform:translateY(-100px) scale(1);opacity:0}}
    @media (prefers-reduced-motion:reduce){.particle{animation:none; opacity:.2}}

    .content{position:relative; z-index:2}

    /* NAVBAR IDENTICA A INDEX */
    header{
      position:fixed; top:20px; left:50%; transform:translateX(-50%);
      width:min(1200px,94vw); z-index:100;
      background:#0a1520; backdrop-filter:none;
      border:1px solid rgba(255,255,255,0.12); box-shadow:0 8px 32px rgba(0,0,0,0.40); border-radius:24px; padding:16px 28px;
      transition:all .4s cubic-bezier(.4,0,.2,1);
    }
    header.scrolled{top:10px; background:#0a1520}
    
    .nav{display:flex; align-items:center; justify-content:space-between}
    
    .logo{
      font-family:'Playfair Display',serif; font-weight:900; font-size:24px;
      background:linear-gradient(135deg,var(--turquoise),var(--gold)); 
      -webkit-background-clip:text; -webkit-text-fill-color:transparent; 
      background-clip:text; letter-spacing:-.5px;
      text-decoration:none;
    }
    
    .logo-full{display:inline}
    .logo-short{display:none}
    
    .links{display:flex; gap:12px; align-items:center}
    
    .pill{
      padding:10px 20px; border-radius:12px; background:rgba(255,255,255,0.1); 
      backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,0.2); 
      color:#fff; font-weight:600; font-size:14px; transition:.3s; 
      text-decoration:none; position:relative; overflow:hidden;
    }
    .pill:hover{border-color:var(--gold); transform:translateY(-2px); box-shadow:0 8px 24px rgba(201,166,107,0.3)}

    /* MENU MOBILE */
    .mobile-menu-toggle{
      display:none;
      background:none;
      border:none;
      cursor:pointer;
      padding:8px;
      position:relative;
      width:40px;
      height:40px;
      align-items:center;
      justify-content:center;
    }
    
    .chevron-icon{
      width:24px;
      height:24px;
      transition:transform 0.3s ease;
    }
    
    .chevron-icon path{
      fill:var(--gold);
    }
    
    .mobile-menu-toggle.active .chevron-icon{
      transform:rotate(180deg);
    }
    
    .mobile-menu{
      position:absolute;
      top:calc(100% + 16px);
      right:0;
      background:#0a1520;
      backdrop-filter:blur(30px) saturate(200%);
      border:2px solid rgba(201,166,107,0.5);
      border-radius:20px;
      padding:24px;
      min-width:240px;
      opacity:0;
      visibility:hidden;
      transform:translateY(-10px);
      transition:all 0.3s cubic-bezier(0.4,0,0.2,1);
      box-shadow:0 12px 40px rgba(0,0,0,0.6);
    }
    
    .mobile-menu.active{
      opacity:1;
      visibility:visible;
      transform:translateY(0);
    }
    
    .mobile-menu .pill{
      display:block;
      margin-bottom:12px;
      text-align:center;
      width:100%;
      padding:14px 24px;
      font-size:15px;
      background:rgba(255,255,255,0.20);
      border:1px solid rgba(201,166,107,0.5);
    }
    
    .mobile-menu .pill:last-child{
      margin-bottom:0;
    }

    .mobile-menu .pill:hover{
      background:rgba(201,166,107,0.25);
      border-color:var(--gold);
    }

    @media (max-width:768px){
      .logo-full{display:none}
      .logo-short{display:inline}
      .links{display:none}
      .mobile-menu-toggle{display:flex}
      header{padding:14px 20px}
    }

    .scroll-indicator{position:fixed; top:0; left:0; height:3px; background:linear-gradient(90deg,var(--turquoise),var(--gold)); z-index:1000; transform-origin:left}

    /* Sezioni */
    .services{padding:140px 40px 80px}
    .container{max-width:1400px; margin:0 auto}
    
    .section-header{margin-bottom:60px}
    .eyebrow{color:var(--gold-light); text-transform:uppercase; letter-spacing:.16em; font-weight:800; font-size:12px; margin-bottom:12px; display:block; text-align:center}
    
    /* TITOLI IDENTICI A INDEX */
    h2{
      font-family:'Playfair Display',serif; 
      font-size:clamp(48px,5vw,72px);
      line-height:1.1; 
      letter-spacing:-.02em; 
      font-weight:900;
      background:linear-gradient(135deg, var(--turquoise-light) 0%, var(--gold-light) 50%, var(--turquoise) 100%);
      -webkit-background-clip:text;
      -webkit-text-fill-color:transparent;
      background-clip:text;
      position:relative;
      text-shadow:0 0 40px rgba(37,150,190,0.3);
      text-align:center;
      margin-bottom:16px;
    }
    
    .section-header p{font-size:17px; color:rgba(255,255,255,0.85); text-align:center; max-width:720px; margin:0 auto}
    .gradient-text{background:linear-gradient(135deg,var(--turquoise-light),var(--gold-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:inline-block}

    /* Travel grid */
    .travel-grid{display:grid; grid-template-columns:2fr 1fr; gap:34px; align-items:start; margin-bottom:80px}
    .card{background:rgba(255,255,255,0.05); backdrop-filter:blur(20px); border:1px solid rgba(255,255,255,0.12); border-radius:24px; padding:28px}
    .card h3{font-family:'Playfair Display',serif; color:var(--turquoise-light); font-size:28px; margin-bottom:16px}
    .card p{color:rgba(255,255,255,.85); line-height:1.7}

    /* MAPPA CON COLORI PERMANENTI */
    #worldmap{height:520px; border-radius:18px; overflow:hidden; border:1px solid rgba(255,255,255,0.08)}
    
    .map-legend{
      display:flex;
      gap:24px;
      flex-wrap:wrap;
      margin-top:16px;
      justify-content:center;
    }
    
    .legend-item{
      display:flex;
      align-items:center;
      gap:8px;
      font-size:14px;
      color:rgba(255,255,255,0.9);
    }
    
    .legend-dot{
      width:16px;
      height:16px;
      border-radius:50%;
      border:2px solid rgba(255,255,255,0.3);
    }
    
    .legend-dot.not-visited{background:#1a3a52}
    .legend-dot.visited{background:var(--turquoise)}
    .legend-dot.upcoming{background:var(--gold)}

    /* TABELLA SEMPLIFICATA: PAESE - STATO - ANNO */
    .table-wrapper{
      background:rgba(255,255,255,0.05);
      border:1px solid rgba(255,255,255,0.12);
      border-radius:24px;
      padding:24px;
    }
    
    .table{width:100%; border-collapse:separate; border-spacing:0 12px}
    .table thead th{
      font-size:12px; 
      letter-spacing:.12em; 
      text-transform:uppercase; 
      color:var(--gold-light); 
      text-align:left; 
      padding:0 14px 8px; 
      font-weight:800;
    }
    
    .row{
      background:rgba(255,255,255,0.04); 
      border:1px solid rgba(255,255,255,0.12); 
      border-radius:12px; 
      transition:all 0.3s ease;
    }
    
    .row:hover{
      background:rgba(37,150,190,0.08);
      border-color:rgba(37,150,190,0.3);
      transform:translateX(4px);
    }
    
    .row td{
      padding:16px 14px;
      color:#fff;
    }
    
    .row td:first-child{
      font-weight:600;
      font-size:16px;
    }
    
    .badge{
      display:inline-flex;
      align-items:center;
      gap:8px;
      padding:6px 12px;
      border-radius:999px;
      font-size:11px;
      font-weight:900;
      letter-spacing:.06em;
      border:1px solid rgba(255,255,255,0.2);
    }
    
    .badge.visited{
      background:linear-gradient(135deg,var(--turquoise),var(--turquoise-light));
      color:#fff;
      box-shadow:0 4px 16px rgba(37,150,190,0.35);
    }
    
    .badge.upcoming{
      background:linear-gradient(135deg,var(--gold),var(--gold-light));
      color:#0B1822;
      box-shadow:0 4px 16px rgba(201,166,107,0.35);
    }

    /* ARTICOLI CON SLIDESHOW */
    .blog-grid{
      display:grid; 
      grid-template-columns:repeat(auto-fit,minmax(340px,1fr)); 
      gap:32px;
    }
    
    .post{
      background:rgba(255,255,255,0.05); 
      border:1px solid rgba(255,255,255,0.12); 
      border-radius:20px; 
      overflow:hidden;
      transition:all 0.4s cubic-bezier(0.4,0,0.2,1);
      cursor:pointer;
      text-decoration:none;
      display:block;
    }
    
    .post:hover{
      transform:translateY(-8px);
      border-color:var(--turquoise);
      box-shadow:0 20px 60px rgba(37,150,190,0.3);
    }
    
    .post__media{
      aspect-ratio:16/9; 
      position:relative;
      overflow:hidden;
      background:#0a1520;
    }
    
    .slideshow-container{
      width:100%;
      height:100%;
      position:relative;
    }
    
    .slide-image{
      width:100%;
      height:100%;
      object-fit:cover;
      position:absolute;
      top:0;
      left:0;
      opacity:0;
      transition:opacity 0.8s ease-in-out;
    }
    
    .slide-image.active{
      opacity:1;
    }
    
    .post:hover .slide-image{
      transform:scale(1.05);
    }
    
    .post__body{padding:24px}
    
    .post__title{
      font-family:'Playfair Display',serif;
      font-size:24px;
      color:#fff;
      margin-bottom:12px;
      font-weight:700;
    }
    
    .post__tags{
      display:flex;
      gap:8px;
      flex-wrap:wrap;
      margin-bottom:12px;
    }
    
    .tag{
      padding:6px 12px;
      background:rgba(37,150,190,0.2);
      border:1px solid rgba(37,150,190,0.4);
      border-radius:20px;
      font-size:11px;
      font-weight:600;
      color:var(--turquoise-light);
      text-transform:uppercase;
      letter-spacing:.05em;
    }
    
    .post__desc{
      color:rgba(255,255,255,0.85);
      line-height:1.7;
      font-size:15px;
    }

    /* Pacchetti Travel Planning */
    .pricing-grid{
      display:grid;
      grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
      gap:30px;
      margin-top:60px;
    }
    
    .plan{
      background:rgba(255,255,255,0.05);
      backdrop-filter:blur(20px);
      border:1px solid rgba(255,255,255,0.1);
      border-radius:32px;
      padding:34px;
      position:relative;
      overflow:hidden;
      transition:all .5s cubic-bezier(.4,0,.2,1);
    }
    
    .plan.featured{
      border:2px solid var(--gold);
      background:rgba(201,166,107,0.08);
    }
    
    .plan:hover{
      transform:translateY(-8px);
      box-shadow:0 20px 60px rgba(37,150,190,0.3);
    }
    
    .plan__name{
      font-size:14px;
      font-weight:800;
      letter-spacing:.15em;
      text-transform:uppercase;
      color:var(--gold-light);
      margin-bottom:6px;
    }
    
    .plan__price{
      font-family:'Playfair Display',serif;
      font-size:44px;
      font-weight:900;
      color:#fff;
      line-height:1;
      margin-bottom:8px;
    }
    
    .plan__desc{
      font-size:15px;
      color:rgba(255,255,255,.8);
      margin-bottom:24px;
    }
    
    .plan__features{
      list-style:none;
      margin:0;
      padding:0;
    }
    
    .plan__features li{
      display:flex;
      gap:10px;
      margin:12px 0;
      color:rgba(255,255,255,.92);
    }
    
    .plan__features li::before{
      content:'✦';
      color:var(--gold);
    }
    
    .btn{
      padding:16px 32px;
      border-radius:16px;
      font-weight:700;
      font-size:16px;
      border:none;
      cursor:pointer;
      transition:all .4s cubic-bezier(.4,0,.2,1);
      display:inline-flex;
      align-items:center;
      gap:8px;
      text-decoration:none;
      margin-top:20px;
    }
    
    .btn-primary{
      background:linear-gradient(135deg,var(--turquoise),var(--turquoise-dark));
      color:#fff;
      box-shadow:0 10px 40px rgba(37,150,190,.4);
    }
    
    .btn-gold{
      background:linear-gradient(135deg,var(--gold),var(--gold-light));
      color:#0B1822;
      box-shadow:0 10px 40px rgba(201,166,107,.4);
    }
    
    .btn:hover{
      transform:translateY(-2px);
    }

    /* FOOTER IDENTICO A INDEX */
    footer{
      background:linear-gradient(180deg, rgba(10,21,32,0.5) 0%, rgba(26,122,158,0.3) 50%, rgba(37,150,190,0.4) 100%);
      border-top:2px solid rgba(37,150,190,0.4);
      padding:60px 40px 30px;
      position:relative;
      margin-top:80px;
    }

    footer::before{
      content:'';
      position:absolute;
      top:0;
      left:0;
      right:0;
      bottom:0;
      background:
        radial-gradient(circle at 30% 20%, rgba(37,150,190,0.2) 0%, transparent 50%),
        radial-gradient(circle at 70% 80%, rgba(59,169,212,0.15) 0%, transparent 50%);
      pointer-events:none;
    }

    .footer-container{
      max-width:1400px;
      margin:0 auto;
      position:relative;
      z-index:1;
    }

    .footer-main{
      display:grid;
      grid-template-columns:2fr 1fr 1fr 1fr;
      gap:60px;
      margin-bottom:50px;
      padding-bottom:40px;
      border-bottom:1px solid rgba(37,150,190,0.3);
    }

    .footer-brand-section{
      max-width:320px;
    }

    .footer-logo{
      font-family:'Playfair Display',serif;
      font-size:32px;
      font-weight:900;
      background:linear-gradient(135deg,var(--turquoise-light),#fff);
      -webkit-background-clip:text;
      -webkit-text-fill-color:transparent;
      background-clip:text;
      margin-bottom:16px;
      display:inline-block;
    }

    .footer-tagline{
      font-size:15px;
      line-height:1.6;
      color:rgba(255,255,255,0.8);
      margin-bottom:24px;
    }

    .footer-social{
      display:flex;
      gap:12px;
    }

    .footer-social-link{
      width:40px;
      height:40px;
      display:flex;
      align-items:center;
      justify-content:center;
      background:rgba(37,150,190,0.2);
      border:1px solid rgba(37,150,190,0.4);
      border-radius:10px;
      transition:all 0.3s ease;
      text-decoration:none;
    }

    .footer-social-link svg{
      width:18px;
      height:18px;
      fill:var(--turquoise-light);
      transition:fill 0.3s;
    }

    .footer-social-link:hover{
      background:rgba(37,150,190,0.4);
      border-color:var(--turquoise-light);
      transform:translateY(-3px);
      box-shadow:0 8px 20px rgba(37,150,190,0.3);
    }

    .footer-social-link:hover svg{
      fill:#fff;
    }

    .footer-column h4{
      font-size:16px;
      font-weight:700;
      color:var(--turquoise-light);
      margin-bottom:20px;
      letter-spacing:0.5px;
      text-transform:uppercase;
    }

    .footer-links{
      display:flex;
      flex-direction:column;
      gap:12px;
    }

    .footer-link{
      color:rgba(255,255,255,0.8);
      text-decoration:none;
      font-size:14px;
      transition:all 0.3s ease;
      display:inline-block;
    }

    .footer-link:hover{
      color:var(--turquoise-light);
      transform:translateX(4px);
    }

    .footer-bottom{
      display:flex;
      justify-content:space-between;
      align-items:center;
      flex-wrap:wrap;
      gap:20px;
    }

    .footer-copyright{
      font-size:14px;
      color:rgba(255,255,255,0.7);
    }

    .footer-legal{
      display:flex;
      gap:24px;
    }

    .footer-legal-link{
      font-size:14px;
      color:rgba(255,255,255,0.7);
      text-decoration:none;
      transition:color 0.3s;
    }

    .footer-legal-link:hover{
      color:var(--turquoise-light);
    }

    @media (max-width:980px){
      .travel-grid{grid-template-columns:1fr}
      .footer-main{
        grid-template-columns:1fr 1fr;
        gap:40px;
      }
      .footer-brand-section{
        grid-column:1/-1;
        max-width:100%;
      }
    }

    @media (max-width:640px){
      .footer-main{
        grid-template-columns:1fr;
        gap:30px;
      }
      .footer-bottom{
        flex-direction:column;
        text-align:center;
      }
      .footer-legal{
        flex-direction:column;
        gap:12px;
      }
    }
    :root{
      --turquoise:#2596BE;
      --turquoise-light:#3BA9D4;
      --turquoise-dark:#1A7A9E;
      --ink:#0B1822;
      --paper:#FFFFFF;
      --gold:#C9A66B;
      --gold-light:#E0C490;
      --muted:#F8FBFD;
      --glass:rgba(255,255,255,0.7);
    }
    
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
    
    html{scroll-behavior:smooth}
    
    body{
      font-family:'Inter',system-ui,sans-serif;
      color:var(--ink);
      background:#0a1520;
      overflow-x:hidden;
      -webkit-font-smoothing:antialiased;
      -moz-osx-font-smoothing:grayscale;
    }
    
    /* Animated gradient background */
    body::before{
      content:'';
      position:fixed;
      top:0;left:0;right:0;bottom:0;
      background:
        radial-gradient(circle at 20% 30%, rgba(37,150,190,0.4) 0%, transparent 50%),
        radial-gradient(circle at 80% 70%, rgba(201,166,107,0.3) 0%, transparent 50%),
        radial-gradient(circle at 50% 50%, rgba(37,150,190,0.2) 0%, transparent 80%);
      animation:gradientShift 15s ease infinite;
      z-index:0;
    }
    
    @keyframes gradientShift{
      0%,100%{transform:scale(1) rotate(0deg)}
      50%{transform:scale(1.1) rotate(5deg)}
    }
    
    /* Floating particles */
    .particles{
      position:fixed;
      top:0;left:0;width:100%;height:100%;
      pointer-events:none;
      z-index:1;
    }
    
    .particle{
      position:absolute;
      width:4px;
      height:4px;
      background:var(--gold);
      border-radius:50%;
      opacity:0;
      animation:float 8s ease-in-out infinite;
    }
    
    @keyframes float{
      0%{transform:translateY(100vh) scale(0);opacity:0}
      10%{opacity:0.8}
      90%{opacity:0.8}
      100%{transform:translateY(-100px) scale(1);opacity:0}
    }
    
    /* Main content wrapper */
    .content{position:relative;z-index:2}
    
    /* Glassmorphism header */
    header{
      position:fixed;
      top:20px;
      left:50%;
      transform:translateX(-50%);
      width:min(1200px,94vw);
      z-index:100;
      background:#0a1520;
      backdrop-filter:none;
      border:1px solid rgba(255,255,255,0.12);
      border-radius:24px;
      padding:16px 28px;
      transition:all 0.4s cubic-bezier(0.4,0,0.2,1);
      box-shadow:0 8px 32px rgba(0,0,0,0.40);
    }
    
    header.scrolled{
      top:10px;
      padding:12px 24px;
      background:#0a1520;
    }
    
    .nav{
      display:flex;
      align-items:center;
      justify-content:space-between;
    }
    
    .logo{
      font-family:'Playfair Display',serif;
      font-weight:900;
      font-size:24px;
      background:linear-gradient(135deg,var(--turquoise),var(--gold));
      -webkit-background-clip:text;
      -webkit-text-fill-color:transparent;
      background-clip:text;
      letter-spacing:-0.5px;
      position:relative;
      text-decoration:none;
      display:block;
    }

    .logo-short{display:none}

    @media (max-width:640px){
      .logo-full{display:none}
      .logo-short{display:block}
    }
    
    .logo::after{
      content:'';
      position:absolute;
      bottom:-4px;
      left:0;
      width:0;
      height:2px;
      background:var(--gold);
      transition:width 0.5s cubic-bezier(0.4,0,0.2,1);
    }
    
    .logo:hover::after{width:100%}
    
    /* Mobile menu toggle */
    .mobile-menu-toggle{
      display:none;
      background:none;
      border:none;
      cursor:pointer;
      padding:8px;
      position:relative;
      width:40px;
      height:40px;
      align-items:center;
      justify-content:center;
    }

    .chevron-icon{
      width:24px;
      height:24px;
      transition:transform 0.3s ease;
    }

    .chevron-icon path{
      fill:var(--gold);
    }

    .mobile-menu-toggle.active .chevron-icon{
      transform:rotate(180deg);
    }

    .mobile-menu{
      position:absolute;
      top:calc(100% + 16px);
      right:0;
      background:#0a1520;
      backdrop-filter:blur(30px) saturate(200%);
      border:2px solid rgba(201,166,107,0.5);
      border-radius:20px;
      padding:24px;
      min-width:240px;
      opacity:0;
      visibility:hidden;
      transform:translateY(-10px);
      transition:all 0.3s cubic-bezier(0.4,0,0.2,1);
      box-shadow:0 12px 40px rgba(0,0,0,0.6);
    }

    .mobile-menu.active{
      opacity:1;
      visibility:visible;
      transform:translateY(0);
    }

    .mobile-menu .pill{
      display:block;
      margin-bottom:12px;
      text-align:center;
      width:100%;
      padding:14px 24px;
      font-size:15px;
      background:rgba(255,255,255,0.20);
      border:1px solid rgba(201,166,107,0.5);
    }

    .mobile-menu .pill:last-child{
      margin-bottom:0;
    }

    .mobile-menu .pill:hover{
      background:rgba(201,166,107,0.25);
      border-color:var(--gold);
    }

    @media (max-width:980px){
      .links{display:none}
      .mobile-menu-toggle{display:flex}
    }
    
    .links{
      display:flex;
      gap:12px;
      align-items:center;
    }
    
    .pill{
      padding:10px 20px;
      border-radius:12px;
      background:rgba(255,255,255,0.1);
      backdrop-filter:blur(10px);
      border:1px solid rgba(255,255,255,0.2);
      color:#fff;
      font-weight:600;
      font-size:14px;
      transition:all 0.3s cubic-bezier(0.4,0,0.2,1);
      position:relative;
      overflow:hidden;
      text-decoration:none;
    }
    
    .pill::before{
      content:'';
      position:absolute;
      top:50%;
      left:50%;
      width:0;
      height:0;
      border-radius:50%;
      background:rgba(201,166,107,0.3);
      transform:translate(-50%,-50%);
      transition:width 0.5s,height 0.5s;
    }
    
    .pill:hover{
      border-color:var(--gold);
      transform:translateY(-2px);
      box-shadow:0 8px 24px rgba(201,166,107,0.3);
    }
    
    .pill:hover::before{
      width:200px;
      height:200px;
    }
    
    .pill span{position:relative;z-index:1}
    
    /* Services section */
    .services{
      padding:140px 40px 100px;
      position:relative;
    }
    
    .container{
      max-width:1400px;
      margin:0 auto;
    }
    
    .section-header{
      text-align:center;
      margin-bottom:80px;
    }

    .eyebrow{
      display:inline-block;
      padding:8px 20px;
      background:rgba(37,150,190,0.15);
      color:var(--turquoise);
      border-radius:20px;
      font-size:14px;
      font-weight:700;
      text-transform:uppercase;
      letter-spacing:1.5px;
      margin-bottom:16px;
    }
    
    .section-header h2{
      font-family:'Playfair Display',serif;
      font-size:clamp(36px,5vw,64px);
      font-weight:900;
      color:#fff;
      margin-bottom:16px;
      letter-spacing:-1px;
    }
    
    .section-header p{
      font-size:18px;
      color:rgba(255,255,255,0.7);
      max-width:600px;
      margin:0 auto;
    }
    
    .gradient-text{
      background:linear-gradient(135deg,var(--turquoise-light),var(--gold-light));
      -webkit-background-clip:text;
      -webkit-text-fill-color:transparent;
      background-clip:text;
      display:inline-block;
      animation:shimmer 3s ease-in-out infinite;
    }
    
    @keyframes shimmer{
      0%,100%{filter:hue-rotate(0deg)}
      50%{filter:hue-rotate(15deg)}
    }
    
    .pricing-grid{
      display:grid;
      grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
      gap:30px;
      margin-bottom:100px;
    }
    
    .plan{
      background:rgba(255,255,255,0.05);
      backdrop-filter:blur(20px);
      border:1px solid rgba(255,255,255,0.1);
      border-radius:32px;
      padding:40px;
      position:relative;
      overflow:hidden;
      transition:all 0.5s cubic-bezier(0.4,0,0.2,1);
    }
    
    .plan::before{
      content:'';
      position:absolute;
      top:0;
      left:0;
      right:0;
      height:4px;
      background:linear-gradient(90deg,var(--turquoise),var(--gold));
      transform:scaleX(0);
      transition:transform 0.5s cubic-bezier(0.4,0,0.2,1);
    }
    
    .plan:hover{
      transform:translateY(-10px);
      border-color:rgba(201,166,107,0.5);
      box-shadow:0 30px 60px rgba(0,0,0,0.3);
    }
    
    .plan:hover::before{
      transform:scaleX(1);
    }
    
    .plan.featured{
      border:2px solid var(--gold);
      background:rgba(201,166,107,0.08);
    }
    
    .plan.featured::after{
      content:'BEST SELLER';
      position:absolute;
      top:24px;
      right:-32px;
      background:linear-gradient(135deg,var(--gold),var(--gold-light));
      color:#0B1822;
      padding:6px 40px;
      font-size:11px;
      font-weight:800;
      letter-spacing:0.1em;
      transform:rotate(45deg);
      box-shadow:0 4px 12px rgba(201,166,107,0.4);
    }
    
    .plan__header{
      margin-bottom:28px;
    }
    
    .plan__name{
      font-size:14px;
      font-weight:800;
      letter-spacing:0.15em;
      text-transform:uppercase;
      color:var(--gold-light);
      margin-bottom:12px;
    }
    
    .plan__price{
      font-family:'Playfair Display',serif;
      font-size:56px;
      font-weight:900;
      color:#fff;
      line-height:1;
      margin-bottom:8px;
    }
    
    .plan__desc{
      font-size:16px;
      color:rgba(255,255,255,0.7);
      line-height:1.6;
    }
    
    .plan__features{
      list-style:none;
      margin:32px 0;
    }
    
    .plan__features li{
      display:flex;
      align-items:flex-start;
      gap:12px;
      margin-bottom:16px;
      font-size:15px;
      color:rgba(255,255,255,0.9);
    }
    
    .plan__features li::before{
      content:'✦';
      color:var(--gold);
      font-size:18px;
      flex-shrink:0;
    }
    
    /* Buttons */
    .btn{
      padding:16px 32px;
      border-radius:16px;
      font-weight:700;
      font-size:16px;
      border:none;
      cursor:pointer;
      transition:all 0.4s cubic-bezier(0.4,0,0.2,1);
      position:relative;
      overflow:hidden;
      display:inline-flex;
      align-items:center;
      gap:8px;
      text-decoration:none;
    }
    
    .btn::before{
      content:'';
      position:absolute;
      top:0;
      left:-100%;
      width:100%;
      height:100%;
      background:linear-gradient(90deg,transparent,rgba(255,255,255,0.3),transparent);
      transition:left 0.5s;
    }
    
    .btn:hover::before{
      left:100%;
    }
    
    .btn-primary{
      background:linear-gradient(135deg,var(--turquoise),var(--turquoise-dark));
      color:#fff;
      box-shadow:0 10px 40px rgba(37,150,190,0.4);
    }
    
    .btn-primary:hover{
      transform:translateY(-3px);
      box-shadow:0 15px 50px rgba(37,150,190,0.5);
    }
    
    .btn-gold{
      background:linear-gradient(135deg,var(--gold),var(--gold-light));
      color:#0B1822;
      box-shadow:0 10px 40px rgba(201,166,107,0.4);
    }
    
    .btn-gold:hover{
      transform:translateY(-3px);
      box-shadow:0 15px 50px rgba(201,166,107,0.5);
    }
    
    /* Portfolio Grid - 2 COLONNE COME PRICING */
    .portfolio-grid{
      display:grid;
      grid-template-columns:repeat(2, 1fr);
      gap:32px;
      max-width:1400px;
      margin:0 auto;
    }
    
    .project-card{
      background:rgba(255,255,255,0.05);
      backdrop-filter:blur(20px);
      border:1px solid rgba(255,255,255,0.1);
      border-radius:24px;
      overflow:hidden;
      transition:all 0.5s cubic-bezier(0.4,0,0.2,1);
      cursor:pointer;
    }
    
    .project-card:hover{
      transform:translateY(-10px) scale(1.02);
      border-color:var(--turquoise);
      box-shadow:0 30px 60px rgba(37,150,190,0.3);
    }
    
    .project__gallery{
      position:relative;
      height:280px;
      overflow:hidden;
      background:#000;
    }
    
    .gallery-track{
      display:flex;
      height:100%;
      transition:transform 0.5s cubic-bezier(0.4,0,0.2,1);
    }
    
    .gallery-slide{
      min-width:100%;
      height:100%;
      position:relative;
      overflow:hidden;
    }
    
    .gallery-slide img{
      width:100%;
      height:100%;
      object-fit:cover;
      transition:transform 0.5s cubic-bezier(0.4,0,0.2,1);
    }
    
    .project-card:hover .gallery-slide img{
      transform:scale(1.1);
    }
    
    .gallery-nav{
      position:absolute;
      bottom:16px;
      left:50%;
      transform:translateX(-50%);
      display:flex;
      gap:8px;
      z-index:2;
    }
    
    .gallery-dot{
      width:8px;
      height:8px;
      border-radius:50%;
      background:rgba(255,255,255,0.4);
      border:none;
      cursor:pointer;
      transition:all 0.3s;
    }
    
    .gallery-dot.active{
      background:var(--gold);
      width:24px;
      border-radius:4px;
    }
    
    .project__info{
      padding:32px;
    }
    
    .project__tags{
      display:flex;
      gap:8px;
      margin-bottom:16px;
      flex-wrap:wrap;
    }
    
    .tag{
      padding:6px 14px;
      background:rgba(37,150,190,0.2);
      border:1px solid rgba(37,150,190,0.4);
      border-radius:20px;
      font-size:12px;
      font-weight:600;
      color:var(--turquoise-light);
      text-transform:uppercase;
      letter-spacing:0.05em;
    }
    
    .project__title{
      font-family:'Playfair Display',serif;
      font-size:28px;
      font-weight:700;
      color:#fff;
      margin-bottom:12px;
    }
    
    .project__desc{
      font-size:15px;
      color:rgba(255,255,255,0.7);
      line-height:1.7;
      margin-bottom:24px;
    }
    
    .project__actions{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
    }
    
    .link-demo{
      display:inline-flex;
      align-items:center;
      gap:8px;
      color:var(--turquoise-light);
      font-weight:600;
      font-size:15px;
      transition:all 0.3s;
      text-decoration:none;
    }
    
    .link-demo:hover{
      color:var(--gold);
      transform:translateX(4px);
    }
    
    /* Footer */
    /* FOOTER IDENTICO A VIAGGI */
    footer{
      background:linear-gradient(180deg, rgba(10,21,32,0.5) 0%, rgba(26,122,158,0.3) 50%, rgba(37,150,190,0.4) 100%);
      border-top:2px solid rgba(37,150,190,0.4);
      padding:60px 40px 30px;
      position:relative;
    }

    footer::before{
      content:'';
      position:absolute;
      top:0;
      left:0;
      right:0;
      bottom:0;
      background:
        radial-gradient(circle at 30% 20%, rgba(37,150,190,0.2) 0%, transparent 50%),
        radial-gradient(circle at 70% 80%, rgba(59,169,212,0.15) 0%, transparent 50%);
      pointer-events:none;
    }

    .footer-container{
      max-width:1400px;
      margin:0 auto;
      position:relative;
      z-index:1;
    }

    .footer-main{
      display:grid;
      grid-template-columns:2fr 1fr 1fr 1fr;
      gap:60px;
      margin-bottom:50px;
      padding-bottom:40px;
      border-bottom:1px solid rgba(37,150,190,0.3);
    }

    .footer-brand-section{
      max-width:320px;
    }

    .footer-logo{
      font-family:'Playfair Display',serif;
      font-size:32px;
      font-weight:900;
      background:linear-gradient(135deg,var(--turquoise-light),#fff);
      -webkit-background-clip:text;
      -webkit-text-fill-color:transparent;
      background-clip:text;
      margin-bottom:16px;
      display:inline-block;
    }

    .footer-tagline{
      font-size:15px;
      line-height:1.6;
      color:rgba(255,255,255,0.8);
      margin-bottom:24px;
    }

    .footer-social{
      display:flex;
      gap:12px;
    }

    .footer-social-link{
      width:40px;
      height:40px;
      display:flex;
      align-items:center;
      justify-content:center;
      background:rgba(37,150,190,0.2);
      border:1px solid rgba(37,150,190,0.4);
      border-radius:10px;
      transition:all 0.3s ease;
      text-decoration:none;
    }

    .footer-social-link svg{
      width:18px;
      height:18px;
      fill:var(--turquoise-light);
      transition:fill 0.3s;
    }

    .footer-social-link:hover{
      background:rgba(37,150,190,0.4);
      border-color:var(--turquoise-light);
      transform:translateY(-3px);
      box-shadow:0 8px 20px rgba(37,150,190,0.3);
    }

    .footer-social-link:hover svg{
      fill:#fff;
    }

    .footer-column h4{
      font-size:16px;
      font-weight:700;
      color:var(--turquoise-light);
      margin-bottom:20px;
      letter-spacing:0.5px;
      text-transform:uppercase;
    }

    .footer-links{
      display:flex;
      flex-direction:column;
      gap:12px;
    }

    .footer-link{
      color:rgba(255,255,255,0.8);
      text-decoration:none;
      font-size:14px;
      transition:all 0.3s ease;
      display:inline-block;
    }

    .footer-link:hover{
      color:var(--turquoise-light);
      transform:translateX(4px);
    }

    .footer-bottom{
      display:flex;
      justify-content:space-between;
      align-items:center;
      flex-wrap:wrap;
      gap:20px;
    }

    .footer-copyright{
      font-size:14px;
      color:rgba(255,255,255,0.7);
    }

    .footer-legal{
      display:flex;
      gap:24px;
    }

    .footer-legal-link{
      font-size:14px;
      color:rgba(255,255,255,0.7);
      text-decoration:none;
      transition:color 0.3s;
    }

    .footer-legal-link:hover{
      color:var(--turquoise-light);
    }
    
    /* Scroll indicator */
    .scroll-indicator{
      position:fixed;
      top:0;
      left:0;
      height:3px;
      background:linear-gradient(90deg,var(--turquoise),var(--gold));
      z-index:1000;
      transform-origin:left;
    }
    
    @media (max-width:768px){
      .logo-full{display:none}
      .logo-short{display:inline}
      .links{display:none}
      .mobile-menu-toggle{display:flex}
      header{padding:14px 20px}

      .pricing-grid,.portfolio-grid{
        grid-template-columns:1fr;
      }
      
      header{
        width:92vw;
      }
    }

    @media (max-width:968px){
      .footer-main{
        grid-template-columns:1fr 1fr;
        gap:40px;
      }
      .footer-brand-section{
        grid-column:1/-1;
        max-width:100%;
      }
    }

    @media (max-width:640px){
      .footer-main{
        grid-template-columns:1fr;
        gap:30px;
      }

      .footer-bottom{
        flex-direction:column;
        text-align:center;
      }

      .footer-legal{
        flex-direction:column;
        gap:12px;
      }
    }
    :root{
      --turquoise:#2596BE;
      --turquoise-light:#3BA9D4;
      --turquoise-dark:#1A7A9E;
      --ink:#0B1822;
      --paper:#FFFFFF;
      --gold:#C9A66B;
      --gold-light:#E0C490;
      --muted:#F8FBFD;
      --glass:rgba(255,255,255,0.7);
    }

    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
    html{scroll-behavior:smooth}

    body{
      font-family:'Inter',system-ui,sans-serif;
      color:var(--paper);
      background:#0a1520;
      overflow-x:hidden;
      -webkit-font-smoothing:antialiased;
      -moz-osx-font-smoothing:grayscale;
      line-height:1.6;
    }

    /* Background animato */
    body::before{
      content:''; position:fixed; inset:0; z-index:0;
      background:
        radial-gradient(circle at 20% 30%, rgba(37,150,190,0.40) 0%, transparent 50%),
        radial-gradient(circle at 80% 70%, rgba(201,166,107,0.30) 0%, transparent 50%),
        radial-gradient(circle at 50% 50%, rgba(37,150,190,0.20) 0%, transparent 80%);
      animation:gradientShift 15s ease infinite;
    }
    @keyframes gradientShift{0%,100%{transform:scale(1) rotate(0)}50%{transform:scale(1.1) rotate(5deg)}}
    @media (prefers-reduced-motion:reduce){body::before{animation:none}}

    /* Particelle */
    .particles{position:fixed; inset:0; pointer-events:none; z-index:1}
    .particle{position:absolute; width:4px; height:4px; background:var(--gold); border-radius:50%; opacity:0; animation:float 8s ease-in-out infinite}
    @keyframes float{0%{transform:translateY(100vh) scale(0);opacity:0}10%{opacity:.8}90%{opacity:.8}100%{transform:translateY(-100px) scale(1);opacity:0}}
    @media (prefers-reduced-motion:reduce){.particle{animation:none; opacity:.2}}

    .content{position:relative; z-index:2}

    /* NAVBAR IDENTICA A INDEX */
    header{
      position:fixed; top:20px; left:50%; transform:translateX(-50%);
      width:min(1200px,94vw); z-index:100;
      background:#0a1520; backdrop-filter:none;
      border:1px solid rgba(255,255,255,0.12); box-shadow:0 8px 32px rgba(0,0,0,0.40); border-radius:24px; padding:16px 28px;
      transition:all .4s cubic-bezier(.4,0,.2,1);
    }
    header.scrolled{top:10px; background:#0a1520}
    
    .nav{display:flex; align-items:center; justify-content:space-between}
    
    .logo{
      font-family:'Playfair Display',serif; font-weight:900; font-size:24px;
      background:linear-gradient(135deg,var(--turquoise),var(--gold)); 
      -webkit-background-clip:text; -webkit-text-fill-color:transparent; 
      background-clip:text; letter-spacing:-.5px;
    }
    
    .logo-full{display:inline}
    .logo-short{display:none}
    
    .links{display:flex; gap:12px; align-items:center}
    
    .pill{
      padding:10px 20px; border-radius:12px; background:rgba(255,255,255,0.1); 
      backdrop-filter:blur(10px); border:1px solid rgba(255,255,255,0.2); 
      color:#fff; font-weight:600; font-size:14px; transition:.3s; 
      text-decoration:none; position:relative; overflow:hidden;
    }
    .pill:hover{border-color:var(--gold); transform:translateY(-2px); box-shadow:0 8px 24px rgba(201,166,107,0.3)}

    /* MENU MOBILE */
    .mobile-menu-toggle{
      display:none;
      background:none;
      border:none;
      cursor:pointer;
      padding:8px;
      position:relative;
      width:40px;
      height:40px;
      align-items:center;
      justify-content:center;
    }
    
    .chevron-icon{
      width:24px;
      height:24px;
      transition:transform 0.3s ease;
    }
    
    .chevron-icon path{
      fill:var(--gold);
    }
    
    .mobile-menu-toggle.active .chevron-icon{
      transform:rotate(180deg);
    }
    
    .mobile-menu{
      position:absolute;
      top:calc(100% + 16px);
      right:0;
      background:#0a1520;
      backdrop-filter:blur(30px) saturate(200%);
      border:2px solid rgba(201,166,107,0.5);
      border-radius:20px;
      padding:24px;
      min-width:240px;
      opacity:0;
      visibility:hidden;
      transform:translateY(-10px);
      transition:all 0.3s cubic-bezier(0.4,0,0.2,1);
      box-shadow:0 12px 40px rgba(0,0,0,0.6);
    }
    
    .mobile-menu.active{
      opacity:1;
      visibility:visible;
      transform:translateY(0);
    }
    
    .mobile-menu .pill{
      display:block;
      margin-bottom:12px;
      text-align:center;
      width:100%;
      padding:14px 24px;
      font-size:15px;
      background:rgba(255,255,255,0.20);
      border:1px solid rgba(201,166,107,0.5);
    }
    
    .mobile-menu .pill:last-child{
      margin-bottom:0;
    }

    .mobile-menu .pill:hover{
      background:rgba(201,166,107,0.25);
      border-color:var(--gold);
    }

    @media (max-width:768px){
      .logo-full{display:none}
      .logo-short{display:inline}
      .links{display:none}
      .mobile-menu-toggle{display:flex}
      header{padding:14px 20px}
    }

    .scroll-indicator{position:fixed; top:0; left:0; height:3px; background:linear-gradient(90deg,var(--turquoise),var(--gold)); z-index:1000; transform-origin:left}

    /* Sezioni e tipografia */
    main{padding:130px 18px 80px}
    .container{max-width:1000px; margin:0 auto}
    .section{margin-bottom:80px}
    .section-header{margin-bottom:40px}
    .eyebrow{color:var(--gold-light); text-transform:uppercase; letter-spacing:.16em; font-weight:800; font-size:12px; margin-bottom:12px; display:block}
    
    /* TITOLI IDENTICI A INDEX */
    h1{
      font-family:'Playfair Display',serif; 
      font-size:clamp(48px,5vw,72px); 
      line-height:1.1; 
      letter-spacing:-.02em; 
      font-weight:900;
      background:linear-gradient(135deg, var(--turquoise-light) 0%, var(--gold-light) 50%, var(--turquoise) 100%);
      -webkit-background-clip:text;
      -webkit-text-fill-color:transparent;
      background-clip:text;
      position:relative;
      text-shadow:0 0 40px rgba(37,150,190,0.3);
      margin-bottom:24px;
    }
    
    h2{
      font-family:'Playfair Display',serif; 
      font-size:clamp(48px,5vw,72px);
      line-height:1.1; 
      letter-spacing:-.02em; 
      font-weight:900;
      background:linear-gradient(135deg, var(--turquoise-light) 0%, var(--gold-light) 50%, var(--turquoise) 100%);
      -webkit-background-clip:text;
      -webkit-text-fill-color:transparent;
      background-clip:text;
      position:relative;
      text-shadow:0 0 40px rgba(37,150,190,0.3);
    }
    
    p.lead{font-size:17px; color:rgba(255,255,255,.85); line-height:1.7}
    .gradient-text{background:linear-gradient(135deg,var(--turquoise-light),var(--gold-light));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:inline-block}

    /* Cards / chip / badge modernizzati */
    .intro{
      background:rgba(255,255,255,0.06); 
      border:1px solid rgba(255,255,255,0.12); 
      border-radius:22px; 
      padding:32px; 
      display:grid; 
      gap:24px; 
      text-align:center;
    }
    
    .path{
      display:flex; 
      flex-direction:column; 
      align-items:center; 
      gap:20px; 
      margin-top:12px;
    }
    
    .chip{
      display:inline-flex; 
      align-items:center; 
      justify-content:center; 
      gap:12px; 
      padding:20px 40px; 
      border-radius:20px; 
      background:linear-gradient(135deg, rgba(37,150,190,0.25), rgba(37,150,190,0.15));
      border:2px solid rgba(37,150,190,0.5); 
      font-weight:800; 
      font-size:20px; 
      color:#fff; 
      transition:all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
      position:relative;
      overflow:hidden;
      box-shadow:0 4px 20px rgba(37,150,190,0.25);
      backdrop-filter:blur(10px);
      min-width:320px;
    }
    
    .chip::before{
      content:'';
      position:absolute;
      inset:0;
      background:linear-gradient(135deg, rgba(201,166,107,0.2), rgba(37,150,190,0.2));
      opacity:0;
      transition:opacity 0.4s ease;
    }
    
    .chip:hover::before{
      opacity:1;
    }
    
    .chip:hover{
      transform:scale(1.08) translateY(-4px); 
      box-shadow:0 12px 40px rgba(37,150,190,0.5);
      border-color:var(--gold);
      color:var(--gold-light);
    }
    
    .chip-icon{
      width:28px;
      height:28px;
      fill:var(--turquoise-light);
      transition:all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
      position:relative;
      z-index:1;
    }
    
    .chip:hover .chip-icon{
      fill:var(--gold-light);
      transform:rotate(10deg) scale(1.15);
    }
    
    .chip-text{
      position:relative;
      z-index:1;
    }
    
    .arrow{
      opacity:.7; 
      font-size:32px; 
      line-height:1; 
      user-select:none; 
      transition:all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
      color:var(--turquoise-light);
      text-shadow:0 0 20px rgba(37,150,190,0.5);
    }
    
    .arrow:hover{
      transform:scale(1.2) translateY(5px);
      opacity:1;
      color:var(--gold-light);
      text-shadow:0 0 30px rgba(201,166,107,0.6);
    }
    
    @media (max-width:640px){
      .chip{
        min-width:auto;
        width:100%;
        padding:18px 24px;
        font-size:17px;
      }
      .chip-icon{
        width:24px;
        height:24px;
      }
    }

    .explain{background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.12); border-radius:22px; padding:22px}
    .explain p{color:rgba(255,255,255,.92)}

    .timeline{display:grid; gap:18px}
    .year-card{background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.12); border-radius:22px; overflow:hidden}
    .year-head{display:flex; align-items:center; justify-content:space-between; padding:16px 18px; gap:10px}
    .year-title{display:flex; align-items:center; gap:10px; font-weight:800}
    .badge{background:linear-gradient(135deg,var(--gold),var(--gold-light)); color:#0B1822; padding:4px 10px; border-radius:999px; font-size:12px; font-weight:800; letter-spacing:.06em}
    .year-body{padding:0 14px 14px}

    /* DETTAGLI ESAMI CON ESPANSIONE SUPER DOLCE */
    details.exam{
      background:rgba(255,255,255,0.04); 
      border:1px solid rgba(255,255,255,0.12); 
      border-radius:16px; 
      padding:12px 14px; 
      margin:10px 0; 
      transition:all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
      overflow:hidden;
      display:grid;
      grid-template-rows:auto 0fr;
    }
    
    details.exam[open]{
      background:rgba(37,150,190,0.10); 
      border-color:rgba(37,150,190,0.45);
      box-shadow:0 8px 24px rgba(37,150,190,0.2);
      grid-template-rows:auto 1fr;
      padding-bottom:18px;
    }
    
    summary{
      list-style:none; 
      cursor:pointer; 
      font-weight:700; 
      display:flex; 
      align-items:center; 
      justify-content:space-between; 
      gap:10px;
      transition:all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
      user-select:none;
    }
    
    summary::-webkit-details-marker{display:none}
    
    summary:hover{
      color:var(--turquoise-light);
      transform:translateX(4px);
    }
    
    .right{
      display:inline-flex; 
      align-items:center; 
      gap:10px;
      transition:transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
    }
    
    details.exam[open] .right{
      transform:scale(1.05);
    }
    
    .cfu{
      display:inline-flex; 
      align-items:center; 
      justify-content:center; 
      min-width:64px; 
      padding:6px 10px; 
      border-radius:999px; 
      font-size:12px; 
      font-weight:900; 
      letter-spacing:.04em; 
      color:#0B1822; 
      background:linear-gradient(135deg,var(--gold),var(--gold-light)); 
      border:1px solid rgba(255,255,255,0.2); 
      box-shadow:0 4px 16px rgba(201,166,107,0.35);
      transition:all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
    }
    
    details.exam[open] .cfu{
      box-shadow:0 6px 20px rgba(201,166,107,0.5);
      transform:scale(1.08);
    }
    
    .chev{
      transition:all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
      display:inline-block;
      opacity:0.7;
    }
    
    details[open] .chev{
      transform:rotate(180deg) scale(1.1);
      opacity:1;
      color:var(--turquoise-light);
    }
    
    summary:hover .chev{
      opacity:1;
      transform:scale(1.15);
    }
    
    .exam-desc-wrapper{
      overflow:hidden;
      transition:all 0.6s cubic-bezier(0.34, 1.56, 0.64, 1);
    }
    
    .exam-desc{
      padding-top:16px; 
      color:rgba(255,255,255,.9);
      line-height:1.7;
      opacity:0;
      transform:translateY(-10px);
      transition:all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) 0.1s;
    }
    
    details[open] .exam-desc{
      opacity:1;
      transform:translateY(0);
    }
    
    /* Effetto glow al passaggio del mouse */
    details.exam:hover{
      box-shadow:0 4px 16px rgba(37,150,190,0.15);
      transform:translateY(-2px);
    }
    
    details.exam[open]:hover{
      box-shadow:0 10px 30px rgba(37,150,190,0.3);
    }

    /* SEZIONE ESPERIENZE LAVORATIVE */
    .experience-section{
      margin-bottom:80px;
      max-width:100%;
    }
    
    .experience-grid{
      display:grid;
      gap:40px;
      max-width:100%;
    }
    
    .experience-category{
      background:rgba(255,255,255,0.05);
      border:1px solid rgba(255,255,255,0.12);
      border-radius:22px;
      padding:32px;
    }
    
    .experience-category h3{
      font-family:'Playfair Display',serif;
      font-size:32px;
      color:var(--gold-light);
      margin-bottom:24px;
    }
    
    .experience-list{
      display:grid;
      gap:20px;
    }
    
    .experience-item{
      background:rgba(255,255,255,0.04);
      border:1px solid rgba(255,255,255,0.12);
      border-radius:16px;
      padding:20px;
      transition:all 0.3s ease;
    }
    
    .experience-item:hover{
      background:rgba(37,150,190,0.08);
      border-color:rgba(37,150,190,0.3);
      transform:translateX(8px);
    }
    
    .experience-header{
      display:flex;
      justify-content:space-between;
      align-items:flex-start;
      margin-bottom:12px;
      flex-wrap:wrap;
      gap:12px;
    }
    
    .experience-title{
      font-weight:700;
      font-size:18px;
      color:#fff;
    }
    
    .experience-period{
      font-size:14px;
      color:var(--gold-light);
      font-weight:600;
    }
    
    .experience-company{
      font-size:15px;
      color:var(--turquoise-light);
      margin-bottom:8px;
      font-weight:600;
    }
    
    .experience-desc{
      font-size:15px;
      color:rgba(255,255,255,0.85);
      line-height:1.6;
    }
    
    .experience-skills{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-top:12px;
    }
    
    .experience-skill{
      padding:6px 12px;
      background:rgba(37,150,190,0.15);
      border:1px solid rgba(37,150,190,0.3);
      border-radius:8px;
      font-size:12px;
      color:var(--turquoise-light);
      font-weight:600;
    }

    /* Sezione tesi */
    .thesis{display:grid; gap:16px; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.12); border-radius:22px; padding:20px}
    .thesis-meta{display:grid; gap:8px; font-size:14px; color:rgba(255,255,255,.86)}

    /* Bottoni */
    .btn{padding:16px 32px; border-radius:16px; font-weight:700; font-size:16px; border:none; cursor:pointer; transition:all .4s cubic-bezier(.4,0,.2,1); position:relative; overflow:hidden; display:inline-flex; align-items:center; gap:8px; text-decoration:none}
    .btn::before{content:''; position:absolute; top:0; left:-100%; width:100%; height:100%; background:linear-gradient(90deg,transparent,rgba(255,255,255,0.3),transparent); transition:left .5s}
    .btn:hover::before{left:100%}
    .btn-primary{background:linear-gradient(135deg,var(--turquoise),var(--turquoise-dark)); color:#fff; box-shadow:0 10px 40px rgba(37,150,190,0.4)}
    .btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold-light)); color:#0B1822; box-shadow:0 10px 40px rgba(201,166,107,0.4)}

    /* Skills / certificazioni */
    .skills{display:flex; flex-wrap:wrap; gap:10px}
    .skill{padding:9px 12px; border-radius:999px; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.12); font-weight:700; font-size:13px}
    .skill.alt{background:rgba(37,150,190,0.18); border-color:rgba(37,150,190,0.45); color:var(--turquoise-light)}
    .certs{display:grid; gap:14px; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.12); border-radius:20px; padding:18px; max-width:100%}
    .cert-list{display:flex; flex-wrap:wrap; gap:10px}
    .cert{padding:10px 14px; border-radius:999px; font-weight:800; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.12)}
    .cert.alt{background:rgba(201,166,107,0.18); border-color:rgba(201,166,107,0.45); color:#f8e9cf}

    /* Box contatti */
    .contact{display:grid; gap:12px; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.12); border-radius:18px; padding:18px}
    .contact-actions{display:flex; gap:10px; flex-wrap:wrap}

    /* FOOTER IDENTICO A INDEX */
    footer{
      background:linear-gradient(180deg, rgba(10,21,32,0.5) 0%, rgba(26,122,158,0.3) 50%, rgba(37,150,190,0.4) 100%);
      border-top:2px solid rgba(37,150,190,0.4);
      padding:60px 40px 30px;
      position:relative;
    }

    footer::before{
      content:'';
      position:absolute;
      top:0;
      left:0;
      right:0;
      bottom:0;
      background:
        radial-gradient(circle at 30% 20%, rgba(37,150,190,0.2) 0%, transparent 50%),
        radial-gradient(circle at 70% 80%, rgba(59,169,212,0.15) 0%, transparent 50%);
      pointer-events:none;
    }

    .footer-container{
      max-width:1400px;
      margin:0 auto;
      position:relative;
      z-index:1;
    }

    .footer-main{
      display:grid;
      grid-template-columns:2fr 1fr 1fr 1fr;
      gap:60px;
      margin-bottom:50px;
      padding-bottom:40px;
      border-bottom:1px solid rgba(37,150,190,0.3);
    }

    .footer-brand-section{
      max-width:320px;
    }

    .footer-logo{
      font-family:'Playfair Display',serif;
      font-size:32px;
      font-weight:900;
      background:linear-gradient(135deg,var(--turquoise-light),#fff);
      -webkit-background-clip:text;
      -webkit-text-fill-color:transparent;
      background-clip:text;
      margin-bottom:16px;
      display:inline-block;
    }

    .footer-tagline{
      font-size:15px;
      line-height:1.6;
      color:rgba(255,255,255,0.8);
      margin-bottom:24px;
    }

    .footer-social{
      display:flex;
      gap:12px;
    }

    .footer-social-link{
      width:40px;
      height:40px;
      display:flex;
      align-items:center;
      justify-content:center;
      background:rgba(37,150,190,0.2);
      border:1px solid rgba(37,150,190,0.4);
      border-radius:10px;
      transition:all 0.3s ease;
      text-decoration:none;
    }

    .footer-social-link svg{
      width:18px;
      height:18px;
      fill:var(--turquoise-light);
      transition:fill 0.3s;
    }

    .footer-social-link:hover{
      background:rgba(37,150,190,0.4);
      border-color:var(--turquoise-light);
      transform:translateY(-3px);
      box-shadow:0 8px 20px rgba(37,150,190,0.3);
    }

    .footer-social-link:hover svg{
      fill:#fff;
    }

    .footer-column h4{
      font-size:16px;
      font-weight:700;
      color:var(--turquoise-light);
      margin-bottom:20px;
      letter-spacing:0.5px;
      text-transform:uppercase;
    }

    .footer-links{
      display:flex;
      flex-direction:column;
      gap:12px;
    }

    .footer-link{
      color:rgba(255,255,255,0.8);
      text-decoration:none;
      font-size:14px;
      transition:all 0.3s ease;
      display:inline-block;
    }

    .footer-link:hover{
      color:var(--turquoise-light);
      transform:translateX(4px);
    }

    .footer-bottom{
      display:flex;
      justify-content:space-between;
      align-items:center;
      flex-wrap:wrap;
      gap:20px;
    }

    .footer-copyright{
      font-size:14px;
      color:rgba(255,255,255,0.7);
    }

    .footer-legal{
      display:flex;
      gap:24px;
    }

    .footer-legal-link{
      font-size:14px;
      color:rgba(255,255,255,0.7);
      text-decoration:none;
      transition:color 0.3s;
    }

    .footer-legal-link:hover{
      color:var(--turquoise-light);
    }

    @media (max-width:968px){
      .footer-main{
        grid-template-columns:1fr 1fr;
        gap:40px;
      }
      .footer-brand-section{
        grid-column:1/-1;
        max-width:100%;
      }
      .experience-header{
        flex-direction:column;
        align-items:flex-start;
      }
    }

    @media (max-width:640px){
      .footer-main{
        grid-template-columns:1fr;
        gap:30px;
      }
      .footer-bottom{
        flex-direction:column;
        text-align:center;
      }
      .footer-legal{
        flex-direction:column;
        gap:12px;
      }
    }

/* ============================================
   ADVANCED SCROLL ANIMATIONS
   ============================================ */

/* Stato iniziale per tutti gli elementi animati */
[class*="animate-"]:not(.animated) {
  opacity: 0;
  will-change: transform, opacity;
}

[class*="animate-"].animated {
  animation-fill-mode: forwards;
  animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
  opacity: 1;
}

/* Fade Up - Salita con dissolvenza */
@keyframes fadeUp {
  0% {
    opacity: 0;
    transform: translateY(60px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-fade-up.animated {
  animation: fadeUp 0.9s;
}

/* Slide Left - Scivolata da sinistra */
@keyframes slideLeft {
  0% {
    opacity: 0;
    transform: translateX(-80px) rotate(-5deg);
  }
  100% {
    opacity: 1;
    transform: translateX(0) rotate(0);
  }
}

.animate-slide-left.animated {
  animation: slideLeft 1s;
}

/* Slide Right - Scivolata da destra */
@keyframes slideRight {
  0% {
    opacity: 0;
    transform: translateX(80px) rotate(5deg);
  }
  100% {
    opacity: 1;
    transform: translateX(0) rotate(0);
  }
}

.animate-slide-right.animated {
  animation: slideRight 1s;
}

/* Slide Up - Scivolata dal basso */
@keyframes slideUp {
  0% {
    opacity: 0;
    transform: translateY(100px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.animate-slide-up.animated {
  animation: slideUp 1.2s;
}

/* Scale Rotate - Zoom con rotazione */
@keyframes scaleRotate {
  0% {
    opacity: 0;
    transform: scale(0.7) rotate(-10deg);
  }
  60% {
    transform: scale(1.05) rotate(2deg);
  }
  100% {
    opacity: 1;
    transform: scale(1) rotate(0);
  }
}

.animate-scale-rotate.animated {
  animation: scaleRotate 1.2s;
}

/* Fade Scale - Dissolvenza con zoom */
@keyframes fadeScale {
  0% {
    opacity: 0;
    transform: scale(0.85);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

.animate-fade-scale.animated {
  animation: fadeScale 0.8s;
}

/* Pop In - Effetto elastico */
@keyframes popIn {
  0% {
    opacity: 0;
    transform: scale(0.5);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

.animate-pop-in.animated {
  animation: popIn 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

/* Blur In - Entrata con sfocatura */
@keyframes blurIn {
  0% {
    opacity: 0;
    filter: blur(20px);
    transform: scale(0.9);
  }
  100% {
    opacity: 1;
    filter: blur(0);
    transform: scale(1);
  }
}

.animate-blur-in.animated {
  animation: blurIn 1s;
}

/* Flip In - Rotazione 3D */
@keyframes flipIn {
  0% {
    opacity: 0;
    transform: perspective(1000px) rotateY(90deg);
  }
  100% {
    opacity: 1;
    transform: perspective(1000px) rotateY(0);
  }
}

.animate-flip-in.animated {
  animation: flipIn 0.9s;
}

/* Bounce In - Rimbalzo in entrata */
@keyframes bounceIn {
  0% {
    opacity: 0;
    transform: scale(0.3);
  }
  50% {
    opacity: 1;
    transform: scale(1.05);
  }
  70% {
    transform: scale(0.9);
  }
  100% {
    transform: scale(1);
  }
}

.animate-bounce-in.animated {
  animation: bounceIn 0.8s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

/* Glow In - Entrata con bagliore */
@keyframes glowIn {
  0% {
    opacity: 0;
    filter: brightness(2) blur(10px);
    transform: scale(0.8);
  }
  100% {
    opacity: 1;
    filter: brightness(1) blur(0);
    transform: scale(1);
  }
}

.animate-glow-in.animated {
  animation: glowIn 1s;
}

/* Riduce le animazioni per utenti con preferenze di accessibilità */
@media (prefers-reduced-motion: reduce) {
  [class*="animate-"] {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

/* ============================================
   QUICK NAVIGATION MENU - PAGINA STUDIO
   ============================================ */

.section-subtitle {
  font-size: 17px;
  color: rgba(255, 255, 255, 0.7);
  text-align: center;
  max-width: 600px;
  margin: 16px auto 0;
  font-weight: 400;
}

.quick-nav {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin: 60px 0 80px;
  padding: 0;
}

.quick-nav-card {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 28px 32px;
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(20px);
  border: 2px solid rgba(255, 255, 255, 0.12);
  border-radius: 20px;
  text-decoration: none;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
  cursor: pointer;
}

.quick-nav-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(37, 150, 190, 0.15), rgba(201, 166, 107, 0.15));
  opacity: 0;
  transition: opacity 0.4s;
}

.quick-nav-card:hover::before {
  opacity: 1;
}

.quick-nav-card:hover {
  transform: translateY(-8px) scale(1.02);
  border-color: var(--turquoise);
  box-shadow: 0 20px 60px rgba(37, 150, 190, 0.4);
}

.quick-nav-icon {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, rgba(37, 150, 190, 0.2), rgba(37, 150, 190, 0.1));
  border-radius: 16px;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  z-index: 1;
}

.quick-nav-icon svg {
  width: 28px;
  height: 28px;
  fill: var(--turquoise-light);
  transition: all 0.4s;
}

.quick-nav-card:hover .quick-nav-icon {
  background: linear-gradient(135deg, rgba(201, 166, 107, 0.3), rgba(201, 166, 107, 0.2));
  transform: rotate(-10deg) scale(1.1);
}

.quick-nav-card:hover .quick-nav-icon svg {
  fill: var(--gold-light);
  transform: rotate(10deg);
}

.quick-nav-content {
  flex: 1;
  position: relative;
  z-index: 1;
}

.quick-nav-content h3 {
  font-family: 'Playfair Display', serif;
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 4px;
  transition: color 0.4s;
}

.quick-nav-card:hover .quick-nav-content h3 {
  color: var(--turquoise-light);
}

.quick-nav-content p {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.7);
  margin: 0;
  transition: color 0.4s;
}

.quick-nav-card:hover .quick-nav-content p {
  color: rgba(255, 255, 255, 0.9);
}

.quick-nav-arrow {
  flex-shrink: 0;
  font-size: 24px;
  color: var(--gold);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  z-index: 1;
}

.quick-nav-card:hover .quick-nav-arrow {
  color: var(--turquoise-light);
  transform: translateX(8px);
}

/* Responsive */
@media (max-width: 768px) {
  .quick-nav {
    grid-template-columns: 1fr;
    gap: 16px;
    margin: 40px 0 60px;
  }
  
  .quick-nav-card {
    padding: 24px;
  }
  
  .quick-nav-icon {
    width: 48px;
    height: 48px;
  }
  
  .quick-nav-icon svg {
    width: 24px;
    height: 24px;
  }
  
  .quick-nav-content h3 {
    font-size: 18px;
  }
}

/* Animazione per il menu di navigazione */
.quick-nav-card {
  opacity: 0;
  transform: translateY(30px);
}

.quick-nav-card.animated {
  animation: fadeUpNav 0.6s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

@keyframes fadeUpNav {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ============================================
   RESPONSIVE PADDING/MARGIN ADJUSTMENTS
   ============================================ */

@media (max-width: 768px) {
  .section {
    padding: 60px 20px !important;
  }
  
  .hero {
    padding: 140px 20px 40px !important;
  }
  
  footer {
    padding: 60px 20px 30px !important;
  }
  
  .services {
    padding: 140px 20px 80px !important;
  }
}

@media (min-width: 1600px) {
  .container {
    max-width: 1600px;
  }
}

/* ============================================
   NUOVA SEZIONE CERTIFICAZIONI MODERNA
   ============================================ */

.certifications-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
  gap: 32px;
  max-width: 1400px;
  margin: 0 auto;
}

.certification-card {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(20px);
  border: 2px solid rgba(255, 255, 255, 0.12);
  border-radius: 24px;
  padding: 32px;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.certification-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(37, 150, 190, 0.15), rgba(201, 166, 107, 0.15));
  opacity: 0;
  transition: opacity 0.4s;
}

.certification-card:hover::before {
  opacity: 1;
}

.certification-card:hover {
  transform: translateY(-8px);
  border-color: var(--turquoise);
  box-shadow: 0 20px 60px rgba(37, 150, 190, 0.4);
}

.certification-icon {
  width: 64px;
  height: 64px;
  background: linear-gradient(135deg, rgba(37, 150, 190, 0.2), rgba(37, 150, 190, 0.1));
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
  transition: all 0.4s;
  position: relative;
  z-index: 1;
}

.certification-icon svg {
  width: 32px;
  height: 32px;
  fill: var(--turquoise-light);
  transition: all 0.4s;
}

.certification-card:hover .certification-icon {
  background: linear-gradient(135deg, rgba(201, 166, 107, 0.3), rgba(201, 166, 107, 0.2));
  transform: rotate(-10deg) scale(1.1);
}

.certification-card:hover .certification-icon svg {
  fill: var(--gold-light);
}

.certification-content {
  flex: 1;
  position: relative;
  z-index: 1;
}

.certification-content h3 {
  font-family: 'Playfair Display', serif;
  font-size: 24px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 8px;
}

.certification-issuer {
  font-size: 14px;
  color: var(--gold-light);
  font-weight: 600;
  margin-bottom: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.certification-desc {
  font-size: 15px;
  color: rgba(255, 255, 255, 0.85);
  line-height: 1.6;
  margin-bottom: 16px;
}

.certification-date {
  font-size: 13px;
  color: var(--turquoise-light);
  font-weight: 500;
  margin-top: 12px;
}

.certification-actions {
  margin-top: 24px;
  position: relative;
  z-index: 1;
}

.btn-certificate {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 20px;
  background: rgba(255, 255, 255, 0.1);
  border: 2px solid rgba(255, 255, 255, 0.2);
  border-radius: 12px;
  color: #fff;
  font-weight: 600;
  font-size: 14px;
  text-decoration: none;
  transition: all 0.3s ease;
}

.btn-certificate:hover {
  background: rgba(37, 150, 190, 0.2);
  border-color: var(--turquoise);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(37, 150, 190, 0.3);
}

.btn-certificate svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}

.btn-certificate:hover span {
  transform: translateX(2px);
}

/* Responsive */
@media (max-width: 768px) {
  .certifications-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  
  .certification-card {
    padding: 24px;
  }
  
  .certification-icon {
    width: 56px;
    height: 56px;
  }
  
  .certification-icon svg {
    width: 28px;
    height: 28px;
  }
  
  .certification-content h3 {
    font-size: 20px;
  }
}

/* Assicura che il link del quick-nav punti alla nuova sezione */
.quick-nav-card[href="#certificazioni"] {
  /* Stile esistente */
}

/* ============================================
   FREECCIA PER TORNARE ALL'INIZIO
   ============================================ */

.back-to-top {
  position: fixed;
  bottom: 30px;
  right: 30px;
  width: 56px;
  height: 56px;
  background: linear-gradient(135deg, var(--gold), var(--gold-light));
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  box-shadow: 0 8px 30px rgba(201, 166, 107, 0.4);
  z-index: 1000;
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  border: 2px solid rgba(255, 255, 255, 0.3);
}

.back-to-top.visible {
  opacity: 1;
  transform: translateY(0);
}

.back-to-top:hover {
  transform: translateY(-8px) scale(1.1);
  box-shadow: 0 15px 40px rgba(201, 166, 107, 0.6);
  background: linear-gradient(135deg, var(--gold-light), var(--gold));
  border-color: var(--turquoise);
}

.back-to-top svg {
  width: 28px;
  height: 28px;
  fill: #0B1822;
  transition: transform 0.3s ease;
}

.back-to-top:hover svg {
  transform: translateY(-3px);
}

/* Effetto di respiro (breathing effect) */
@keyframes pulse {
  0%, 100% {
    box-shadow: 0 8px 30px rgba(201, 166, 107, 0.4);
  }
  50% {
    box-shadow: 0 8px 40px rgba(201, 166, 107, 0.6);
  }
}

.back-to-top.visible {
  animation: pulse 3s infinite ease-in-out;
}

.back-to-top:hover {
  animation: none; /* Disattiva l'animazione di respiro quando hover */
}

/* Responsive */
@media (max-width: 768px) {
  .back-to-top {
    bottom: 20px;
    right: 20px;
    width: 48px;
    height: 48px;
  }
  
  .back-to-top svg {
    width: 24px;
    height: 24px;
  }
}

/* MOBILE - 1 COLONNA */
@media (max-width: 768px) {
  .portfolio-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}