*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
    :root{
      --or:#E8560A;--or2:#C44608;--glow:rgba(232,86,10,.14);
      --bk:#080808;--dk:#111;--card:#181818;
      --wh:#fff;--off:#F4F4F4;--mu:#888;--bd:rgba(255,255,255,.08)
    }
    html{scroll-behavior:smooth}
    body{font-family:'Inter',sans-serif;font-weight:300;background:var(--bk);color:var(--wh);line-height:1.6}

    /* ── LANG SWITCHER ── */
    .lang-switch{position:relative;display:flex;gap:4px;border:1px solid rgba(255,255,255,.15);border-radius:30px;padding:3px;overflow:visible}
    .lang-thumb{position:absolute;top:3px;left:0;bottom:3px;background:var(--or);border-radius:30px;transition:transform .35s cubic-bezier(.34,1.15,.64,1),width .35s cubic-bezier(.34,1.15,.64,1);z-index:0;pointer-events:none}
    .lang-btn{position:relative;z-index:1;background:transparent;border:none;border-radius:30px;color:rgba(255,255,255,.5);font-family:'Inter',sans-serif;font-size:.62rem;font-weight:600;letter-spacing:.06em;padding:.35rem .68rem;cursor:pointer;transition:color .2s;white-space:nowrap}
    .lang-btn.active{color:var(--wh)}
    .lang-btn:not(.active):hover{color:var(--wh)}

    /* ── NAV ── */
    nav{position:fixed;top:0;left:0;right:0;z-index:700;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;height:72px;background:transparent;transition:background .4s,box-shadow .4s}
    nav.scrolled{background:rgba(8,8,8,.97);box-shadow:0 1px 0 var(--bd)}
    .nav-left{display:flex;align-items:center;gap:2rem}
    .nav-logo{display:flex;align-items:center;gap:.7rem;text-decoration:none;transition:opacity .2s}
    .nav-logo:hover{opacity:.8}
    .nav-logo svg{width:40px;height:40px;flex-shrink:0}
    .nav-logo-name{font-family:'Inter',sans-serif;font-size:1rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--wh)}
    .nav-logo-sub{font-size:.55rem;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--mu);display:block;margin-top:3px}
    .nav-right{display:flex;align-items:center;gap:2rem}
    .nav-home-item{display:none}
    .nav-links{display:flex;gap:1.45rem;list-style:none;align-items:center}
    .nav-links>li>a{white-space:nowrap}
    .nav-links a{color:rgba(255,255,255,.62);text-decoration:none;font-size:.72rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;transition:color .2s}
    .nav-links a:hover{color:var(--wh)}
    .nav-cta{background:var(--or)!important;color:var(--wh)!important;padding:.52rem 1.3rem;border-radius:30px;font-weight:600!important;transition:transform .15s,background .2s!important}
    .nav-cta:active{transform:scale(.96)}
    .nav-cta:hover{background:var(--or2)!important}
    .nav-burger{display:none;flex-direction:column;gap:5px;cursor:pointer;background:none;border:none;padding:4px;
      position:relative;z-index:200}
    .nav-burger span{display:block;width:24px;height:2px;background:var(--wh);border-radius:2px;
      transition:transform .32s cubic-bezier(.4,0,.2,1),opacity .2s ease}
    /* A menu aperto le tre righe diventano una X, ed è la X stessa a chiudere:
       prima il pannello copriva il pulsante e non c'era modo di uscirne. */
    nav.open .nav-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
    nav.open .nav-burger span:nth-child(2){opacity:0;transform:scaleX(.4)}
    nav.open .nav-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
    .nav-mobile-lang{display:none}

    /* ── HERO ── */
    #hero{position:relative;height:100svh;min-height:600px;display:flex;flex-direction:column;align-items:center;text-align:center;overflow:hidden}
    .hero-main{position:relative;z-index:2;flex:1;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0}
    .hero-bg{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(8,8,8,.65) 0%,rgba(8,8,8,.35) 50%,rgba(8,8,8,.88) 100%),url('../immagini/hero-maldive.jpg') center/cover no-repeat;transform:scale(1.06);animation:zoomOut 14s ease forwards}
    @keyframes zoomOut{from{transform:scale(1.08)}to{transform:scale(1)}}
    .hero-logo-big{position:relative;z-index:2;flex:0 0 auto;width:clamp(120px,15vw,180px);height:clamp(120px,15vw,180px);margin-bottom:2rem;opacity:0;animation:fadeUp .9s .2s forwards;filter:drop-shadow(0 2px 12px rgba(0,0,0,.45))}
    .hero-content{position:relative;z-index:2;max-width:820px;padding:0 2rem}
    .hero-eyebrow{font-size:.66rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--or);margin-bottom:1.4rem;min-height:1.0557rem;opacity:0;animation:fadeUp .8s .5s forwards}
    .hero-title{font-family:'EB Garamond',serif;font-size:clamp(2.7rem,6vw,5.2rem);font-weight:400;line-height:1.1;color:var(--wh);opacity:0;animation:fadeUp .8s .7s forwards;
      /* due righe sempre: in cinese il testo e' corto e ne occuperebbe una sola,
         facendo salire tutto il blocco. Solo min-height: display:flex spezzerebbe
         la riga fra le due parti del titolo. */
      min-height:2.2em}
    .hero-rotate-wrap{display:inline-block;position:relative;height:1.1em;overflow:visible;vertical-align:bottom;min-width:230px;text-align:left}
    .hero-rotate-word{position:absolute;top:0;left:0;font-style:italic;color:var(--or);opacity:0;transform:translateY(28px);transition:opacity .5s,transform .5s;white-space:nowrap}
    .hero-rotate-word.active{opacity:1;transform:translateY(0)}
    .hero-subtitle{font-size:clamp(.88rem,1.8vw,1.05rem);color:rgba(255,255,255,.58);font-weight:300;margin:1.6rem 0 2.5rem;opacity:0;animation:fadeUp .8s 1s forwards}
    .hero-buttons{display:grid;grid-template-columns:repeat(2,auto);gap:1rem;justify-content:center;
      justify-items:center;opacity:0;animation:fadeUp .8s 1.2s forwards}
    .hero-buttons>a{white-space:nowrap}
    @media(max-width:900px){
      /* sul telefono uno sotto l'altro, tutti della stessa larghezza:
         quattro righe in ogni lingua, nessuno slittamento */
      .hero-buttons{grid-template-columns:minmax(0,1fr);width:min(330px,100%);margin-left:auto;margin-right:auto}
      .hero-buttons>a{width:100%;justify-content:center;padding-left:1rem;padding-right:1rem}
    }
    @media(max-width:390px){
      .hero-buttons{width:min(310px,100%)}
      .hero-buttons>a{font-size:.71rem;letter-spacing:.08em}
      .btn-group-tag,.btn-pkg-tag{font-size:.55rem;letter-spacing:.1em;padding:3px 7px}
    }
    .btn-primary{background:var(--or);color:var(--wh);border:none;padding:.9rem 2.3rem;font-family:'Inter',sans-serif;font-size:.76rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border-radius:30px;cursor:pointer;transition:background .2s,transform .15s;display:inline-block;box-shadow:0 4px 16px rgba(232,86,10,.3)}
    .btn-primary:hover{background:var(--or2);transform:translateY(-2px)}
    .btn-outline{background:transparent;color:var(--wh);border:1px solid rgba(255,255,255,.28);padding:.9rem 2.3rem;font-family:'Inter',sans-serif;font-size:.76rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border-radius:30px;transition:border-color .2s,color .2s,transform .15s;display:inline-block}
    .btn-outline:active{transform:scale(.96)}
    .btn-outline:hover{border-color:var(--or);color:var(--or)}
    @keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

    /* ── STATS ── */
    .stats-bar{background:var(--dk);display:flex;justify-content:center;border-top:1px solid var(--bd);border-bottom:1px solid var(--bd);flex-wrap:wrap}
    .stat-item{padding:2rem 3rem;text-align:center;border-right:1px solid var(--bd);flex:1;min-width:140px}
    .stat-item:last-child{border-right:none}
    .stat-num{font-family:'EB Garamond',serif;font-size:2.5rem;font-weight:700;color:var(--or);line-height:1;display:block}
    .stat-label{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--mu);margin-top:.4rem;display:block}

    /* ── GENERIC ── */
    section{padding:6rem 5vw}
    .section-eyebrow{font-size:.66rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;color:var(--or);margin-bottom:.9rem}
    .section-title{font-family:'EB Garamond',serif;font-size:clamp(2rem,4vw,3rem);font-weight:400;line-height:1.2;color:var(--wh);max-width:600px}
    .section-title em{font-style:italic;color:var(--or)}
    .section-title.dk{color:#111}.section-title.dk em{color:var(--or)}
    .section-body{font-size:.93rem;color:var(--mu);max-width:520px;margin-top:1.2rem;line-height:1.8}
    .section-body.dk{color:#555}

    /* ── ABOUT ── */
    #about{background:var(--off);display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:center}
    .about-image{position:relative;border-radius:2px;overflow:visible;aspect-ratio:4/5}
    .about-image img{width:100%;height:100%;object-fit:cover;display:block;border-radius:2px;transition:transform .6s}
    .about-image:hover img{transform:scale(1.02)}
    .about-badge{position:absolute;bottom:2rem;left:-1.8rem;background:var(--or);color:var(--wh);padding:1.2rem 1.5rem;font-size:.8rem;font-weight:600;letter-spacing:.06em;border-radius:2px;box-shadow:0 8px 28px rgba(232,86,10,.35);line-height:1.5}
    .about-badge .ab-sub{display:block;font-size:1.3rem;font-family:'EB Garamond',serif;font-style:italic;font-weight:400}
    .about-text{padding:1rem 0}
    .about-quote{font-family:'EB Garamond',serif;font-size:1.35rem;font-style:italic;color:var(--wh);line-height:1.5;margin:1.8rem 0;padding-left:1.4rem;border-left:3px solid var(--or)}
    .about-sig{margin-top:2rem}
    .about-sig strong{color:var(--wh);font-weight:700;font-size:.93rem;display:block;margin-bottom:.2rem}
    .about-sig span{font-size:.72rem;letter-spacing:.1em;color:var(--or);text-transform:uppercase}

    /* ── ABOUT PAGE (sotto-pagina "Chi siamo") ── */
    .aboutpage-body{max-width:1180px;margin:0 auto;padding:3rem 5vw 5rem}
    .aboutpage-hero{display:grid;grid-template-columns:1fr 1.15fr;gap:3rem;align-items:center;margin-bottom:3rem}
    @media(max-width:760px){.aboutpage-hero{grid-template-columns:1fr}}

    /* ── SOTTO-PAGINA SERVIZI ── */
    .servicespage-body{max-width:760px;margin:0 auto;padding:3.5rem 5vw 5rem;
      width:100%;box-sizing:border-box;min-width:0}
    .services-list{display:flex;flex-direction:column;margin-top:2.5rem}
    .service-row{display:flex;align-items:flex-start;gap:1.6rem;padding:2.2rem 0;border-bottom:1px solid var(--bd);transition:padding-left .25s}
    .service-row:hover{padding-left:.4rem}
    .service-row:last-child{border-bottom:none}
    .service-row-icon{width:56px;height:56px;flex-shrink:0;background:var(--glow);border:1px solid rgba(232,86,10,.28);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem}
    .service-row-text{flex:1}
    .service-row-name{font-family:'EB Garamond',serif;font-size:1.3rem;font-weight:400;color:var(--wh);margin-bottom:.5rem}
    .service-row-desc{font-size:.88rem;color:var(--mu);line-height:1.8;max-width:520px}
    /* ── SEZIONI DELLA PAGINA SERVIZI ── */
    .services-group{margin-top:3.2rem}
    .services-group-head{display:flex;align-items:baseline;gap:1rem;padding-bottom:.8rem;border-bottom:1px solid var(--bd)}
    .services-group-num{font-family:'EB Garamond',serif;font-size:1rem;color:var(--or);letter-spacing:.05em}
    .services-group-title{font-family:'EB Garamond',serif;font-size:1.15rem;color:var(--wh)}
    .services-group-sub{font-size:.66rem;color:var(--mu);letter-spacing:.1em;text-transform:uppercase;margin-left:auto;text-align:right}
    .services-group .services-list{margin-top:.4rem}
    .service-row.is-link{cursor:pointer}
    .service-row.is-link:hover .service-row-name{color:var(--or)}
    .service-row-go{display:inline-block;margin-top:.75rem;font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--or)}
    /* ── SEZIONE EVENTI: vetrina a caroselli ── */
    .evhub-hero{position:relative;overflow:hidden;border-radius:16px;padding:2.8rem 2rem;margin-top:1.6rem;
      background:linear-gradient(115deg,#E8560A,#C9A467 30%,#7a2f05 58%,#141414);background-size:300% 300%;
      animation:evhubShift 18s ease infinite}
    @keyframes evhubShift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
    .evhub-hero:before{content:'';position:absolute;inset:0;background:rgba(8,8,8,.5)}
    .evhub-hero-in{position:relative;z-index:1;max-width:640px}
    .evhub-hero-in .section-eyebrow{color:#fff;opacity:.85}
    .evhub-hero-in h2{color:#fff}
    .evhub-hero-in p{font-size:.92rem;color:rgba(255,255,255,.86);line-height:1.85;margin-top:1.1rem}
    .evhub-stats{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:2.4rem;margin-top:2rem}
    .evhub-stat-n{display:block;font-family:'EB Garamond',serif;font-size:1.7rem;color:#fff;line-height:1}
    .evhub-stat-l{display:block;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.75);margin-top:.35rem}
    .evhub-cat{margin-top:3.2rem}
    .evhub-cat-head{display:flex;align-items:baseline;gap:1rem;padding-bottom:.8rem;border-bottom:1px solid var(--bd)}
    .evhub-cat-num{font-family:'EB Garamond',serif;font-size:1rem;color:var(--or);letter-spacing:.05em}
    .evhub-cat-title{font-family:'EB Garamond',serif;font-size:1.15rem;color:var(--wh)}
    .evhub-cat-sub{font-size:.66rem;color:var(--mu);letter-spacing:.1em;text-transform:uppercase;margin-left:auto;text-align:right}
    .evhub-railwrap{position:relative;margin-top:1.2rem}
    .evhub-rail{display:flex;gap:14px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;
      padding:4px 2px 16px;-webkit-overflow-scrolling:touch}
    .evhub-rail::-webkit-scrollbar{height:5px}
    .evhub-rail::-webkit-scrollbar-track{background:rgba(255,255,255,.05);border-radius:4px}
    .evhub-rail::-webkit-scrollbar-thumb{background:rgba(232,86,10,.45);border-radius:4px}
    .evhub-card{flex:0 0 264px;scroll-snap-align:start;border-radius:14px;overflow:hidden;cursor:pointer;
      background:var(--dk);border:1px solid var(--bd);display:flex;flex-direction:column;
      transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
    .evhub-card:hover{transform:translateY(-7px);border-color:rgba(232,86,10,.45);box-shadow:0 18px 40px -18px rgba(0,0,0,.85)}
    /* La foto grande della scheda evento si sfoglia: frecce, trascinamento col dito e pallini.
       Prima si poteva solo toccare una delle tre miniature più in basso. */
    .evhub-photo-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;
      width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.28);
      background:rgba(0,0,0,.42);color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;
      display:flex;align-items:center;justify-content:center;transition:background .25s,border-color .25s;
      -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
    .evhub-photo-nav:hover{background:rgba(0,0,0,.7);border-color:rgba(255,255,255,.6)}
    .evhub-photo-nav.prev{left:12px}
    .evhub-photo-nav.next{right:12px}
    .evhub-photo-dots{position:absolute;left:0;right:0;bottom:12px;z-index:3;
      display:flex;justify-content:center;gap:7px;pointer-events:none}
    .evhub-photo-dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.4);
      transition:background .25s,transform .25s}
    .evhub-photo-dots i.on{background:#fff;transform:scale(1.35)}
    #evhubArt{touch-action:pan-y}
    .evhub-art{position:relative;height:150px;overflow:hidden;flex-shrink:0}
    .evhub-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
    .evhub-card:hover .evhub-photo{transform:scale(1.07)}
    .evhub-art:after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(8,8,8,.72),rgba(8,8,8,.05) 55%)}
    .evhub-month{position:absolute;z-index:2;left:10px;top:10px;background:rgba(8,8,8,.62);color:#fff;
      font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;padding:.28rem .6rem;border-radius:20px;backdrop-filter:blur(4px)}
    .evhub-body{padding:.95rem 1.05rem 1.15rem;display:flex;flex-direction:column;flex:1}
    .evhub-name{font-family:'EB Garamond',serif;font-size:1.02rem;font-weight:400;color:var(--wh);line-height:1.3;margin-bottom:.45rem}
    .evhub-desc{font-size:.76rem;color:var(--mu);line-height:1.65;flex:1}
    .evhub-go{margin-top:.85rem;font-size:.62rem;font-weight:600;letter-spacing:.11em;text-transform:uppercase;color:var(--or)}
    .evhub-arrow{position:absolute;top:44px;z-index:5;width:38px;height:38px;border-radius:50%;
      background:rgba(8,8,8,.82);border:1px solid rgba(255,255,255,.18);color:#fff;font-size:1rem;
      display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;backdrop-filter:blur(5px)}
    .evhub-arrow:hover{background:var(--or);border-color:var(--or)}
    .evhub-arrow.left{left:-6px}
    .evhub-arrow.right{right:-6px}
    .evhub-band{margin-top:3.4rem;display:grid;grid-template-columns:1fr 1fr;gap:6px}
    .evhub-bandbox{background:var(--dk);border:1px solid var(--bd);border-radius:12px;padding:1.9rem 1.7rem;transition:border-color .25s}
    .evhub-bandbox:hover{border-color:rgba(232,86,10,.4)}
    .evhub-bandbox h3{font-family:'EB Garamond',serif;font-size:1.12rem;font-weight:400;color:var(--wh);margin-bottom:.65rem}
    .evhub-bandbox p{font-size:.82rem;color:var(--mu);line-height:1.8;margin-bottom:1.2rem}
    /* scheda descrittiva del singolo evento */
    /* La barra di navigazione e' fissa a z-index 700: con 620 la scheda evento le finiva
       sotto, tagliando la parte alta della foto e il pulsante di chiusura. Come gli altri
       overlay modali del sito (lightbox 800, nozze 850, avviso 900) la scheda deve stare
       sopra la nav. */
    #evhubSheet{display:none;position:fixed;inset:0;z-index:720;background:rgba(4,4,4,.86);
      backdrop-filter:blur(6px);align-items:flex-end;justify-content:center}
    #evhubSheet.open{display:flex}
    .evhub-panel{background:var(--bk);border:1px solid var(--bd);border-bottom:none;
      border-radius:18px 18px 0 0;width:100%;max-width:900px;max-height:95vh;overflow-y:auto;
      animation:evhubUp .38s cubic-bezier(.16,1,.3,1)}
    @keyframes evhubUp{from{transform:translateY(60px);opacity:0}to{transform:none;opacity:1}}
    .evhub-panel-art{position:relative;height:330px;overflow:hidden;background:#111}
    .evhub-panel-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
      opacity:0;transition:opacity .45s ease}
    .evhub-panel-art img.shown{opacity:1}
    .evhub-panel-art:after{content:'';position:absolute;inset:0;pointer-events:none;
      background:linear-gradient(to top,var(--bk) 2%,transparent 55%)}
    .evhub-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:1.4rem}
    .evhub-thumb{position:relative;height:112px;border-radius:8px;overflow:hidden;cursor:pointer;
      border:2px solid transparent;background:#111;transition:border-color .25s,transform .25s}
    .evhub-thumb img{width:100%;height:100%;object-fit:cover;display:block}
    .evhub-thumb:hover{transform:translateY(-3px)}
    .evhub-thumb.active{border-color:var(--or)}
    .evhub-credit{font-size:.58rem;color:var(--mu);opacity:.65;line-height:1.6;margin-top:.7rem}
    .evhub-credit a{color:var(--mu);text-decoration:underline}
    .evhub-panel-x{position:absolute;z-index:4;right:14px;top:14px;width:34px;height:34px;border-radius:50%;
      background:rgba(8,8,8,.7);border:1px solid rgba(255,255,255,.2);color:#fff;cursor:pointer;
      display:flex;align-items:center;justify-content:center;font-size:1.1rem}
    .evhub-panel-x:hover{background:var(--or);border-color:var(--or)}
    .evhub-panel-body{padding:1.6rem 1.9rem 2.2rem;margin-top:-2.2rem;position:relative;z-index:2}
    .evhub-panel-tag{font-size:.63rem;letter-spacing:.13em;text-transform:uppercase;color:var(--or)}
    .evhub-panel-tagrow{display:flex;align-items:center;gap:.9rem;margin-bottom:.2rem}
    .evhub-panel-flag{width:64px;height:auto;display:block;border-radius:4px;
      box-shadow:0 0 0 1px rgba(255,255,255,.12)}
    .evhub-panel-title{font-family:'EB Garamond',serif;font-size:1.65rem;font-weight:400;color:var(--wh);margin:.4rem 0 .9rem}
    .evhub-panel-long{font-size:.88rem;color:var(--mu);line-height:1.9}
    .evhub-panel-hlabel{font-size:.62rem;letter-spacing:.13em;text-transform:uppercase;color:var(--mu);margin:1.7rem 0 .8rem}
    .evhub-hlist{list-style:none;padding:0;margin:0}
    .evhub-hlist li{position:relative;padding-left:1.4rem;font-size:.83rem;color:var(--off);line-height:1.75;margin-bottom:.7rem}
    .evhub-hlist li:before{content:'';position:absolute;left:0;top:.6rem;width:6px;height:6px;border-radius:50%;background:var(--or)}
    .evhub-panel-cta{margin-top:1.9rem;display:flex;gap:.7rem;flex-wrap:wrap}
    @media(max-width:700px){
      .evhub-band{grid-template-columns:1fr}
      .evhub-cat-sub{display:none}
      .evhub-arrow{display:none}
      .evhub-hero{padding:2rem 1.3rem}
      .evhub-stats{gap:1.5rem}
      .evhub-panel-body{padding:1.4rem 1.2rem 2rem}
      .evhub-panel-flag{width:52px}
      .evhub-panel-art{height:210px}
      .evhub-thumb{height:74px}
      .evhub-art{height:135px}
    }
    .evhub-swipe-hint{display:none}
    @media(max-width:700px){
      .evhub-swipe-hint{display:block;font-size:.6rem;letter-spacing:.11em;text-transform:uppercase;
        color:var(--mu);margin-top:.5rem;opacity:.75}
      
    }
    /* ── MODULO DI RICHIESTA EVENTO ── */
    /* Si apre sopra la scheda evento (720), quindi deve stare piu' in alto di lei. */
    #evFormModal{display:none;position:fixed;inset:0;z-index:760;background:rgba(4,4,4,.9);
      backdrop-filter:blur(7px);align-items:center;justify-content:center;padding:3vh 4vw}
    #evFormModal.open{display:flex}
    .evform-panel{background:var(--bk);border:1px solid var(--bd);border-radius:16px;
      width:100%;max-width:620px;max-height:94vh;overflow-y:auto;padding:2rem 2rem 2.2rem;
      position:relative;animation:evformIn .34s cubic-bezier(.16,1,.3,1)}
    @keyframes evformIn{from{transform:translateY(28px) scale(.98);opacity:0}to{transform:none;opacity:1}}
    .evform-x{position:absolute;right:14px;top:14px;width:32px;height:32px;border-radius:50%;
      background:var(--dk);border:1px solid var(--bd);color:var(--wh);cursor:pointer;
      display:flex;align-items:center;justify-content:center;font-size:1.1rem}
    .evform-x:hover{background:var(--or);border-color:var(--or)}
    .evform-title{font-family:'EB Garamond',serif;font-size:1.45rem;font-weight:400;color:var(--wh);margin-bottom:.5rem;padding-right:2.4rem}
    .evform-intro{font-size:.84rem;color:var(--mu);line-height:1.75;margin-bottom:1.3rem}
    .evform-chip{display:inline-flex;align-items:center;gap:.55rem;background:var(--glow);
      border:1px solid rgba(232,86,10,.45);border-radius:30px;padding:.4rem .95rem;
      font-size:.74rem;color:var(--wh);margin-bottom:1.3rem}
    .evform-chip b{font-weight:600;color:var(--or)}
    .evform-panel .form-field{margin-bottom:1rem}
    @media(max-width:700px){.evform-panel{padding:1.5rem 1.2rem 1.8rem}.evform-title{font-size:1.2rem}}
    /* ── SOTTO-PAGINE DEI SINGOLI SERVIZI ── */
    .srvp-intro{font-size:.92rem;color:var(--mu);line-height:1.9;max-width:620px;margin-top:1.4rem}
    .srvp-block{margin-top:3.4rem}
    .srvp-head{display:flex;align-items:baseline;gap:1rem;padding-bottom:.8rem;border-bottom:1px solid var(--bd);margin-bottom:1.4rem}
    .srvp-num{font-family:'EB Garamond',serif;font-size:1rem;color:var(--or);letter-spacing:.05em}
    .srvp-title{font-family:'EB Garamond',serif;font-size:1.15rem;color:var(--wh)}
    .srvp-sub{font-size:.66rem;color:var(--mu);letter-spacing:.1em;text-transform:uppercase;margin-left:auto;text-align:right}
    .srvp-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
    /* la griglia si adatta al numero di schede: con tre non resta il buco */
    .srvp-grid:has(> .srvp-card:nth-child(3):last-child){grid-template-columns:repeat(3,1fr)}
    .srvp-grid:has(> .srvp-card:nth-child(6):last-child){grid-template-columns:repeat(3,1fr)}
    @media(max-width:1000px){
      .srvp-grid:has(> .srvp-card:nth-child(3):last-child),
      .srvp-grid:has(> .srvp-card:nth-child(6):last-child){grid-template-columns:1fr 1fr}
    }
    .srvp-card{background:var(--dk);border:1px solid var(--bd);padding:1.5rem 1.4rem;border-radius:2px;transition:border-color .25s,transform .25s}
    .srvp-card:hover{border-color:rgba(232,86,10,.4);transform:translateY(-2px)}
    .srvp-card h4{font-family:'EB Garamond',serif;font-size:1rem;font-weight:400;color:var(--wh);margin-bottom:.45rem}
    .srvp-card p{font-size:.82rem;color:var(--mu);line-height:1.75}
    .srvp-note{margin-top:2.6rem;padding:1.2rem 1.4rem;background:var(--glow);border-left:2px solid var(--or);border-radius:2px;font-size:.82rem;color:var(--mu);line-height:1.85}
    @media(max-width:700px){.srvp-grid,.srvp-grid:has(> .srvp-card:nth-child(3):last-child),.srvp-grid:has(> .srvp-card:nth-child(6):last-child){grid-template-columns:1fr}.services-group-sub,.srvp-sub{display:none}}
    .services-cta{text-align:center;margin-top:1rem}
    .services-cta p{font-size:.85rem;color:var(--mu);margin-bottom:1.2rem}

    /* ── SOTTO-PAGINA LISTA NOZZE (catalogo esperienze regalo + form dedicato) ── */
    /* I "dettagli" (testo, bottoni, prezzi, bordi attivi) restano nell'arancione del brand.
       Solo gli elementi puramente decorativi (rami dorati, ornamenti, divisori) usano l'oro champagne.
       Niente "card" da dashboard: liste e colonne aperte, separate da sottili righe, non da riquadri. */
    /* ── SOTTO-PAGINA LISTA NOZZE (catalogo esperienze regalo + form dedicato) ── */
    /* I "dettagli" (testo,bottoni,prezzi,bordi attivi) restano nell'arancione del brand.
       Solo gli elementi puramente decorativi (rami dorati,ornamenti,divisori) usano l'oro champagne.
       Niente "card" da dashboard: liste e colonne aperte,separate da sottili righe{max-width:1060px;margin:0 auto;padding:3.5rem 5vw 5rem;position:relative;z-index:1}
    
    
    
    
    
    
    
    

    /* "Come funziona" — un ordine del giorno elegante, non una griglia di card */

    /* "Il vostro Passaporto di Nozze" — tre timbri, stesso linguaggio del documento scaricabile */
    .nozze-stamps{display:grid;grid-template-columns:repeat(3,1fr);gap:2.6rem;margin-top:2.2rem;text-align:center}
    .nozze-stamp-rule{height:1px;width:64px;margin:0 auto;background:linear-gradient(90deg,transparent,#B8923F,transparent)}
    .nozze-stamp-title{font-family:'EB Garamond',serif;font-style:italic;font-weight:400;font-size:1.25rem;color:#C9A467;margin:.8rem 0 .25rem}
    .nozze-stamp-sub{font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--mu);margin-bottom:.9rem}
    .nozze-stamp-desc{font-size:.8rem;color:rgba(255,255,255,.62);line-height:1.7}
    @media(max-width:760px){ .nozze-stamps{grid-template-columns:1fr;gap:2.4rem} }

    /* Esempi di regali di viaggio — elenco editoriale, non card con badge icona */
    .nozze-catalog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:2.4rem 2.6rem;margin-top:2rem}
    .nozze-catalog-card{padding-bottom:1.6rem;border-bottom:1px solid rgba(255,255,255,.07);transition:opacity .2s}
    .nozze-catalog-icon{margin-bottom:1rem;display:block;color:#C9A467}
    .nozze-catalog-icon svg{width:26px;height:26px;display:block}
    .nozze-catalog-name{font-family:'EB Garamond',serif;font-style:italic;font-weight:400;font-size:1.12rem;color:var(--wh);margin-bottom:.6rem;transition:color .2s}
    .nozze-catalog-card:hover .nozze-catalog-name{color:var(--or)}
    .nozze-catalog-desc{font-size:.8rem;color:var(--mu);line-height:1.7;margin-bottom:.9rem}
    .nozze-catalog-price{font-size:.68rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--or)}
    .nozze-catalog-note{font-size:.76rem;color:var(--mu);margin-top:1.6rem;font-style:italic}
    
    
    
    /* Il corpo della pagina Nozze è un elemento flex: senza questo vincolo un contenuto
       che non va a capo (la riga MRZ del passaporto) allarga tutta la pagina. */
    

    /* Fra gli 821 e i ~1290px le due schede laterali del carosello sporgono oltre lo schermo
       e facevano comparire una barra di scorrimento orizzontale su tutta la pagina: le tagliamo. */
    #nozzePage{overflow-x:hidden}

    /* ══ NOZZE — registro visivo: oro invece di arancione, immagini grandi, molta aria ══ */
    /* L'arancione del marchio segnala offerta; su questa pagina abbassa il tono. Qui resta
       solo sui pulsanti di contatto, tutto il resto passa all'oro champagne. */
    #nozzePage .section-eyebrow,
    #nozzePage .e-slabel{color:#B8923F;letter-spacing:.28em}
    #nozzePage .section-title{font-size:clamp(2.6rem,5vw,4.1rem);line-height:1.08;letter-spacing:-.015em}
    #nozzePage .section-title em{color:#C9A467;font-style:italic}
    
    
    
    
    #nozzePage .section-body{max-width:46ch;line-height:1.85}

    /* Copertina: la pagina si apre su una fotografia, non su una scelta da fare. */
    /* Copertina: la pagina si apre su una fotografia{position:relative;width:100%;height:clamp(460px,76vh,700px);
      overflow:hidden;display:flex;align-items:flex-end;flex:0 0 auto}
    
    
    
    
    
    

    /* Una sola immagine per capitolo, grande. Poche cose per schermata. */
    /* Una sola immagine per capitolo{position:relative;margin:2.6rem 0 0;border-radius:10px;overflow:hidden;
      height:clamp(280px,44vh,460px)}
    
    
    
    

    /* ══ CAPITOLI DELLA PAGINA NOZZE ══ */
    .nzch-photos{display:grid;grid-template-columns:repeat(4,1fr);gap:.9rem;margin-top:1.8rem}
    
    .nzch-photo{position:relative;margin:0;border-radius:8px;overflow:hidden;aspect-ratio:3/4;cursor:default}
    .nzch-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s ease}
    .nzch-photo:hover img{transform:scale(1.07)}
    .nzch-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(4,4,4,.85) 0%,transparent 58%)}
    .nzch-photo figcaption{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:.9rem .85rem;
      font-size:.72rem;letter-spacing:.05em;color:var(--wh);line-height:1.4}
    
    
    
    
    @media(max-width:820px){
      .nzch-photos{grid-template-columns:repeat(2,1fr);gap:.7rem}
      
      
      
      
    }

    /* ══ CHIUSURA — la promessa, non l'imitazione di un passaporto ══ */
    /* ══ CHIUSURA — la promessa{max-width:none}
    
    
    
    

    /* ══ Catalogo regali: le card reagiscono al passaggio del cursore ══ */
    .nozze-catalog-card{position:relative;transition:transform .32s ease,border-color .32s ease}
    .nozze-catalog-card::after{content:'';position:absolute;left:0;bottom:-1px;width:0;height:1px;
      background:linear-gradient(90deg,#C9A467,rgba(201,164,103,0));transition:width .5s ease}
    .nozze-catalog-card:hover{transform:translateY(-4px)}
    .nozze-catalog-card:hover::after{width:100%}
    .nozze-catalog-icon{transition:transform .32s ease}
    .nozze-catalog-card:hover .nozze-catalog-icon{transform:translateY(-3px) scale(1.16)}
    .nozze-catalog-price{transition:letter-spacing .32s ease}
    .nozze-catalog-card:hover .nozze-catalog-price{letter-spacing:.16em}

    /* Vetrina fotografica interna, stessa meccanica del carosello principale della
       pagina Nozze: una foto al centro (grande, in primo piano), due ai lati come
       sfondo, una nascosta a turno — si muovono da sole, scambiandosi di posizione,
       finché non ci si passa sopra col cursore/dito (con piccolo ritardo, per non
       scattare ad ogni passaggio veloce). Usata per lo stile del matrimonio, il tipo
       di luna di miele e le idee regalo. Click per selezionare (dove previsto). */
    /* Vetrina fotografica interna,stessa meccanica del carosello principale della
       pagina Nozze: una foto al centro (grande,in primo piano),due ai lati come
       sfondo,una nascosta a turno — si muovono da sole,scambiandosi di posizione,finché non ci si passa sopra col cursore/dito (con piccolo ritardo,per non
       scattare ad ogni passaggio veloce). Usata per lo stile del matrimonio{position:relative;height:380px;margin:1rem 0;overflow:hidden}
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    /* Scheda descrittiva con galleria fotografica: si apre cliccando una foto dello stile
       matrimonio o del tipo di luna di miele. Deve trasmettere davvero l'atmosfera —
       foto grandi, testo evocativo, e un bottone per confermare la scelta da qui. */
    /* Scheda descrittiva con galleria fotografica: si apre cliccando una foto dello stile
       matrimonio o del tipo di luna di miele. Deve trasmettere davvero l'atmosfera —
       foto grandi,testo evocativo{display:none;position:fixed;inset:0;z-index:850;background:rgba(4,4,4,.97);overflow-y:auto}
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    .nzld-back-btn{background:none;border:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.75);padding:1rem 1.6rem;font-family:'Inter',sans-serif;font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;border-radius:30px;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:.5rem}
    .nzld-back-btn:hover{border-color:var(--or);color:var(--or)}
    

    /* Vetrina "itinerari già creati": esempi concreti di viaggi/matrimoni già organizzati,
       presentati quasi come un piccolo preventivo emozionale — foto, momenti salienti
       giorno per giorno, prezzo indicativo. Serve a far immaginare concretamente cosa
       significa affidarsi a noi, non è un preventivo vincolante ma un esempio ispirato
       a viaggi/matrimoni reali già seguiti dall'agenzia. */
    /* Vetrina "itinerari già creati": esempi concreti di viaggi/matrimoni già organizzati,presentati quasi come un piccolo preventivo emozionale — foto,momenti salienti
       giorno per giorno,prezzo indicativo. Serve a far immaginare concretamente cosa
       significa affidarsi a noi{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.4rem;margin:1.2rem 0 2rem}
    
    
    
    
    .nozze-mega-price{position:absolute;top:.8rem;right:.8rem;z-index:1;background:rgba(232,86,10,.92);color:#fff;font-size:.64rem;font-weight:700;letter-spacing:.03em;padding:.35rem .8rem;border-radius:20px;white-space:nowrap}
    
    
    
    
    
    
    

    

    
    
    
    
    
    
    
    
    

    /* Sfondo decorativo: rametti dorati agli angoli, ispirati a una partecipazione di nozze, + cornice sottile
       I wrapper (.nz-corner-wrap) sono mossi via JS in base a cursore/scroll; l'SVG interno gestisce solo
       l'oscillazione continua via CSS, così le due animazioni non si pestano i piedi a vicenda. */
    /* Sfondo decorativo: rametti dorati agli angoli,ispirati a una partecipazione di nozze{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none}
    

    
    
    
    
    
    
    
    
    

    
    
    
    
    @keyframes nzSway{0%,100%{transform:rotate(0deg)}50%{transform:rotate(1.2deg)}}
    @keyframes nzSwayX{0%,100%{transform:scaleX(-1) rotate(0deg)}50%{transform:scaleX(-1) rotate(-1.2deg)}}
    @keyframes nzSwayY{0%,100%{transform:scaleY(-1) rotate(0deg)}50%{transform:scaleY(-1) rotate(-1.2deg)}}
    @keyframes nzSwayXY{0%,100%{transform:scale(-1,-1) rotate(0deg)}50%{transform:scale(-1,-1) rotate(1.2deg)}}
    
    

    /* ── SOTTO-PAGINA PIANIFICA (scelta: destinazione singola / multitratta) ── */
    .planpage-body{max-width:760px;margin:0 auto;padding:5rem 5vw;text-align:center;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center}
    .planpage-body .section-title{margin:0 auto 1rem}
    .planpage-body .section-body{margin:0 auto}
    .plan-choices-page{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;margin-top:2.8rem;width:100%}
    .plan-choice-card{background:var(--dk);border:1px solid var(--bd);border-radius:8px;padding:2.6rem 2.4rem;display:flex;flex-direction:column;align-items:center;gap:1rem;cursor:pointer;font-family:'Inter',sans-serif;transition:border-color .25s,transform .2s;min-width:200px;flex:1;max-width:260px}
    .plan-choice-card:hover{border-color:rgba(232,86,10,.4);transform:translateY(-3px)}
    .plan-choice-icon{width:52px;height:52px;background:var(--glow);border:1px solid rgba(232,86,10,.28);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem}
    .plan-choice-name{font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--wh)}

    /* ── TEAM (versione home, semplificata) ── */
    #team{background:var(--bk);text-align:center}
    #team .section-title{margin:0 auto}
    .team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1.4rem;margin-top:3.5rem}
    .team-card{background:var(--dk);border:1px solid var(--bd);border-radius:4px;padding:2rem 1.4rem;transition:border-color .25s,transform .2s}
    .team-card:hover{border-color:rgba(232,86,10,.4);transform:translateY(-3px)}
    .team-avatar{width:72px;height:72px;border-radius:50%;margin:0 auto 1.1rem;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(232,86,10,.22),rgba(232,86,10,.06));border:1.5px solid rgba(232,86,10,.4);font-family:'EB Garamond',serif;font-size:1.5rem;font-weight:700;color:var(--or);letter-spacing:.02em}
    .team-name{font-family:'EB Garamond',serif;font-size:1.05rem;font-weight:400;color:var(--wh);margin-bottom:.4rem}
    .team-role{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--or);line-height:1.5}

    /* ── TEAM DETAIL (sotto-pagina Chi siamo: ogni persona è una riga separata, foto + testo laterale) ── */
    .team-detail{margin-bottom:3rem}
    .team-rows{display:flex;flex-direction:column;gap:1rem;margin-top:2.2rem}
    .team-row{display:flex;gap:2.2rem;align-items:center;padding:2.3rem 2.6rem;background:var(--dk);border:1px solid var(--bd);border-radius:6px;cursor:pointer;transition:border-color .25s,transform .2s}
    .team-row:hover{border-color:rgba(232,86,10,.45);transform:translateY(-2px)}
    .team-row .team-photo{margin-bottom:0;width:120px;height:120px}
    .team-row-text{flex:1;min-width:0}
    .team-row-name{font-family:'EB Garamond',serif;font-size:1.45rem;font-weight:400;color:var(--wh);margin-bottom:.3rem}
    .team-row-role{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--or);margin-bottom:.35rem}
    .team-row-tagline{font-size:.82rem;color:rgba(255,255,255,.55);line-height:1.5;margin-bottom:.8rem;max-width:440px}
    .team-row-more{font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--or)}
    @media(max-width:760px){
      .team-row{flex-direction:column;align-items:flex-start;padding:1.8rem 1.6rem;gap:1.1rem}
      .team-row .team-photo{width:100px;height:100px}
    }

    /* ── SOTTO-PAGINA SCHEDA PERSONA (pagina a sé stante: foto grande + storia + galleria foto) ── */
    .tmmpage-body{max-width:900px;margin:0 auto;padding:3rem 5vw 5rem}
    .tmmpage-back{background:none;border:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.6);font-family:'Inter',sans-serif;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;padding:.5rem 1.1rem;border-radius:30px;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;margin-bottom:2.4rem;transition:all .2s}
    .tmmpage-back:hover{border-color:var(--or);color:var(--or)}
    .tmmpage-hero{display:flex;gap:2.6rem;align-items:flex-start;margin-bottom:3.2rem}
    .tmmpage-photo{position:relative;width:240px;height:240px;border-radius:50%;overflow:hidden;border:2px solid rgba(232,86,10,.45);flex-shrink:0}
    .tmmpage-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
    .tmmpage-photo .team-photo-fallback{font-size:3rem}
    .tmmpage-text{flex:1;min-width:0;padding-top:.6rem}
    .tmmpage-name{font-family:'EB Garamond',serif;font-size:2rem;font-weight:400;color:var(--wh);margin-bottom:.4rem}
    .tmmpage-role{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--or);margin-bottom:1.4rem}
    .tmmpage-bio{font-size:.95rem;color:rgba(255,255,255,.78);line-height:1.9;margin-bottom:1.6rem;max-width:560px;white-space:pre-line}
    .tmmpage-gallery-wrap{margin-top:1rem}
    .tmmpage-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.9rem;margin-top:1.1rem}
    .tmmpage-gallery-item{position:relative;aspect-ratio:3/4;border-radius:6px;overflow:hidden;cursor:pointer;border:1px solid var(--bd);background:#161616;transition:border-color .2s,transform .2s;padding:0}
    .tmmpage-gallery-item:hover{border-color:rgba(232,86,10,.45);transform:translateY(-2px)}
    .tmmpage-gallery-item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
    .tmmpage-gallery-item .team-photo-fallback{position:absolute;inset:0;border-radius:0;font-size:1.3rem}
    @media(max-width:640px){
      .tmmpage-hero{flex-direction:column;align-items:center;text-align:center}
      .tmmpage-photo{width:180px;height:180px}
      .tmmpage-text{padding-top:0}
      .tmmpage-bio{max-width:100%}
      .tmmpage-gallery{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}
    }

    /* ── LIGHTBOX: zoom singola foto della scheda persona ── */
    #photoLightbox{display:none;position:fixed;inset:0;z-index:800;background:rgba(4,4,4,.96);align-items:center;justify-content:center;padding:4vh 4vw}
    #photoLightbox.open{display:flex}
    #photoLightbox img{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px;box-shadow:0 30px 80px rgba(0,0,0,.6)}
    .photo-lightbox-close{position:fixed;top:1.4rem;right:1.6rem;background:none;border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.7);font-size:.9rem;width:38px;height:38px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:5}
    .photo-lightbox-close:hover{border-color:var(--or);color:var(--or)}
    .team-photo{position:relative;flex-shrink:0;width:88px;height:88px;border-radius:50%;overflow:hidden;border:2px solid rgba(232,86,10,.45);margin-bottom:.9rem}
    .team-photo-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(232,86,10,.25),rgba(232,86,10,.07));font-family:'EB Garamond',serif;font-size:1.5rem;font-weight:700;color:var(--or)}
    .team-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
    .team-contact-btn{margin-top:auto;background:none;border:1px solid rgba(255,255,255,.18);color:rgba(255,255,255,.7);font-size:.62rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.45rem 1rem;border-radius:30px;text-decoration:none;transition:all .2s;white-space:nowrap;display:inline-block}
    .team-contact-btn:hover{border-color:var(--or);color:var(--or);background:rgba(232,86,10,.08)}

    /* ── TEAM MAP ── */
    #teamMapWrap{margin-top:3rem;background:#0d0d0d;border:1px solid var(--bd);border-radius:6px;overflow:hidden}
    .tm-header{padding:1rem 1.4rem;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}
    .tm-label{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--or);font-weight:500}
    .tm-count{font-size:.66rem;color:rgba(255,255,255,.92);letter-spacing:.04em}
    .tm-count strong{color:var(--or)}
    #teamMap{width:100%;display:block;background:#0a0a0a}
    .tm-country{fill:#1c1c1c;stroke:#2a2a2a;stroke-width:.3px}
    .tm-country.visited{fill:rgba(232,86,10,.55);cursor:pointer;transition:fill .2s,filter .2s}
    .tm-country.visited:hover{fill:var(--or)}
    #tmTooltip{position:fixed;background:rgba(8,8,8,.95);border:1px solid rgba(232,86,10,.35);border-radius:3px;padding:5px 12px;font-size:.7rem;color:rgba(255,255,255,.85);pointer-events:none;display:none;z-index:200;white-space:nowrap}

    /* ── SERVICES ── */
    #services{background:var(--dk);text-align:center}
    #services .section-title{margin:0 auto}
    .services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1px;margin-top:3.5rem;background:var(--bd)}
    .service-card{background:var(--dk);padding:2.8rem 2rem;text-align:center;transition:background .25s}
    .service-card:hover{background:#1d1d1d}
    .service-icon{width:52px;height:52px;margin:0 auto 1.4rem;background:var(--glow);border:1px solid rgba(232,86,10,.28);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem}
    .service-name{font-family:'EB Garamond',serif;font-size:1.08rem;font-weight:400;color:var(--wh);margin-bottom:.7rem}
    .service-desc{font-size:.82rem;color:var(--mu);line-height:1.7}

    /* ── DESTINATIONS / WORLD EXPLORER MODAL ── */
    #destinations{background:var(--bk);padding:5rem 5vw;text-align:center}
    .dest-trigger-wrap{max-width:600px;margin:0 auto}
    .dest-open-btn{font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--wh);background:var(--or);border:none;padding:1rem 2.4rem;border-radius:30px;cursor:pointer;font-family:'Inter',sans-serif;transition:background .2s,transform .15s;margin-top:1.6rem;box-shadow:0 4px 16px rgba(232,86,10,.3)}
    .dest-open-btn:hover{background:var(--or2);transform:translateY(-2px)}
    .dest-open-btn.outline{background:transparent;border:1px solid rgba(255,255,255,.25);color:var(--wh);box-shadow:none}
    .dest-open-btn.outline:hover{border-color:var(--or);color:var(--or);background:transparent;transform:translateY(-2px)}
    .link-or{font-size:.7rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--or);text-decoration:none;border-bottom:1px solid rgba(232,86,10,.35);padding-bottom:1px;transition:border-color .2s;white-space:nowrap}
    .link-or:hover{border-color:var(--or)}

    /* ── VETRINA EVENTI STRAORDINARI ── */
    .evhub-credits{max-width:1180px;margin:26px auto 0;padding:0 20px;font-size:.72rem;
      line-height:1.6;color:var(--muted,#7b8794);text-align:center;}
    .evhub-credits a{color:inherit;text-decoration:underline;text-underline-offset:2px;}
    #showcase{background:var(--bk);padding:6rem 5vw;text-align:center}
    .showcase-events{display:grid;grid-template-columns:1.18fr 1fr;gap:1rem;margin:3rem auto 2.6rem;max-width:1100px;text-align:left}
    .showcase-event-hero{position:relative;border-radius:5px;overflow:hidden;min-height:420px;display:flex;align-items:flex-end}
    .showcase-event-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s}
    .showcase-event-hero:hover img{transform:scale(1.04)}
    .showcase-event-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(8,8,8,.9) 0%,rgba(8,8,8,.2) 55%,transparent 100%);pointer-events:none}
    .showcase-event-info{position:relative;z-index:1;padding:1.8rem 1.6rem}
    .showcase-event-tag{display:inline-block;font-size:.6rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--or);background:rgba(232,86,10,.15);border:1px solid rgba(232,86,10,.3);border-radius:20px;padding:.25rem .7rem;margin-bottom:.6rem}
    .showcase-event-name{font-family:'EB Garamond',serif;font-size:1.9rem;font-weight:400;color:var(--wh);line-height:1.2;margin-bottom:.7rem}
    .showcase-event-desc{font-size:.8rem;color:rgba(255,255,255,.72);line-height:1.7}
    .showcase-event-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
    .showcase-event-card{position:relative;border-radius:5px;overflow:hidden;display:flex;flex-direction:column}
    .showcase-event-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .6s}
    .showcase-event-card:hover img{transform:scale(1.06)}
    .showcase-event-card-info{padding:.9rem 1rem;background:var(--dk);flex:1;border:1px solid var(--bd);border-top:none;border-bottom-left-radius:5px;border-bottom-right-radius:5px}
    .showcase-event-card-name{font-family:'EB Garamond',serif;font-size:1rem;font-weight:400;color:var(--wh);margin:.3rem 0 .4rem;line-height:1.3}
    .showcase-event-card-desc{font-size:.74rem;color:rgba(255,255,255,.6);line-height:1.65}
    .showcase-ctas{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-top:.6rem}
    @media(max-width:900px){
      .showcase-events{grid-template-columns:1fr}
      .showcase-event-hero{min-height:300px}
    }
    @media(max-width:520px){ .showcase-event-grid{grid-template-columns:1fr} }

    /* SOTTO-PAGINE DINAMICHE (Destinazioni, Chi siamo, Servizi, Pianifica) — pagine a schermo intero */
    /* SOTTO-PAGINE DINAMICHE (Destinazioni,Chi siamo,Servizi,Pianifica) — pagine a schermo intero */
    #destPage,#aboutPage,#servicesPage,#planPage,#singlePage,#multiPage,#teamMemberPage,#nozzePage,#studioPage,#srvTicketPage,#srvHotelPage,#srvVisaPage,#srvGroupPage,#srvPackagePage,#srvCeremonyPage,#srvCateringPage,#srvEventPage,#srvInsurancePage,#studioIrePage,#studioUkPage,#bizPage,#legalPage{display:none;position:fixed;inset:0;z-index:400;background:var(--bk);flex-direction:column;overflow-y:auto;padding-top:72px;overflow-x:hidden}
    #destPage.open,#aboutPage.open,#servicesPage.open,#planPage.open,#singlePage.open,#multiPage.open,#teamMemberPage.open,#nozzePage.open,#studioPage.open,#srvTicketPage.open,#srvHotelPage.open,#srvVisaPage.open,#srvGroupPage.open,#srvPackagePage.open,#srvCeremonyPage.open,#srvCateringPage.open,#srvEventPage.open,#srvInsurancePage.open,#studioIrePage.open,#studioUkPage.open,#bizPage.open,#legalPage.open{display:flex}
    /* La pagina Pianifica ospita il DNA builder a tutto schermo: niente padding-top, niente scroll proprio (scrolla l'iframe) */
    #planPage{padding-top:0;overflow:hidden}
    .plan-builder-bar{flex-shrink:0;display:flex;align-items:center;padding:.7rem 1rem;background:#0a0a0a;border-bottom:1px solid rgba(255,255,255,.07);z-index:2}
    body.modal-open{overflow:hidden}
    body.modal-open nav{background:rgba(8,8,8,.97);box-shadow:0 1px 0 var(--bd)}

    /* Nav propria della sotto-pagina */
    /* Bottone ovale reale "Home page", coerente con lo stile pill del resto del sito */
    .destpage-nav{padding:1.3rem 5vw 0;flex-shrink:0;display:flex;gap:.7rem;flex-wrap:wrap}
    .page-home-btn{background:transparent;border:1px solid rgba(255,255,255,.22);border-radius:30px;color:rgba(255,255,255,.75);font-family:'Inter',sans-serif;font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;display:inline-flex;align-items:center;gap:7px;padding:.5rem 1.2rem;transition:all .2s}
    .page-home-btn:hover{border-color:var(--or);color:var(--or);background:rgba(232,86,10,.06);transform:translateY(-1px)}
    .destpage-close:hover{border-color:var(--or);color:var(--or)}

    /* Explorer shell (ora occupa la pagina, non più box centrato) */
    #worldExplorer{background:var(--bk);width:100%;flex:1;display:flex;flex-direction:column}
    .exp-topbar{display:flex;align-items:center;justify-content:flex-start;padding:1rem 1.4rem;border-bottom:1px solid rgba(255,255,255,.07);background:#0a0a0a;flex-wrap:wrap;gap:.6rem;flex-shrink:0;position:relative}
    /* Solo la topbar della pagina Destinazioni parte nascosta in Step 1 (mostra solo "← Mappa" in Step 2).
       Le topbar di Destinazione Singola e Multitratta condividono la stessa classe ma restano sempre
       visibili, perché contengono i pulsanti "Indietro"/"Successivo" necessari per avanzare. */
    #destTopbar{display:none}
    .exp-label{font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--or);font-weight:500;display:none}
    .exp-steps{display:flex;gap:8px;align-items:center}
    .exp-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.12);transition:background .3s}
    .exp-dot.active{background:var(--or)}
    .exp-dot.done{background:rgba(232,86,10,.35)}
    .exp-back{display:flex;align-items:center;gap:5px;background:none;border:1px solid rgba(255,255,255,.14);color:rgba(255,255,255,.55);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;padding:5px 14px;border-radius:30px;cursor:pointer;transition:all .2s;font-family:'Inter',sans-serif}
    .exp-back:active{transform:scale(.96)}
    .exp-back:hover{border-color:var(--or);color:var(--or)}
    .exp-modal-close{display:none}
    .exp-scroll-area{flex:1;max-width:1320px;width:100%;margin:0 auto}
    .exp-scroll-area::-webkit-scrollbar{width:4px}
    .exp-scroll-area::-webkit-scrollbar-thumb{background:rgba(232,86,10,.3);border-radius:2px}

    /* Step 1 — map */
    #eStep1{padding:.8rem 1.4rem 1.2rem}
    .exp-search{width:100%;background:#1a1a1a;border:1px solid rgba(255,255,255,.09);color:var(--wh);font-size:.82rem;padding:.6rem 1.2rem;border-radius:30px;outline:none;font-family:'Inter',sans-serif;margin-bottom:.5rem;transition:border-color .2s,box-shadow .2s}
    .exp-search:focus{border-color:var(--or);box-shadow:0 0 0 3px rgba(232,86,10,.12)}
    .exp-search:focus{border-color:var(--or)}
    .exp-search::placeholder{color:#444}
    /* I risultati della ricerca fluttuano SOPRA la mappa invece di occupare spazio
       nel flusso: senza questo, ogni volta che compaiono spingono la mappa in basso
       e la pagina sembra "saltare" a ogni carattere digitato. */
    #eSearchRes,#sSearchRes{display:none;position:absolute;left:1.4rem;right:1.4rem;top:calc(100% - .2rem);z-index:40;background:#161616;border:1px solid rgba(255,255,255,.08);border-radius:14px;max-height:230px;overflow-y:auto;box-shadow:0 12px 32px rgba(0,0,0,.55)}
    .esres-item{padding:6px 12px;font-size:.8rem;color:rgba(255,255,255,.65);cursor:pointer;display:flex;align-items:center;gap:8px;border-bottom:1px solid rgba(255,255,255,.04)}
    .esres-item:last-child{border-bottom:none}
    .esres-item:hover{color:var(--or);background:rgba(232,86,10,.05)}
    .map-hint{font-size:.65rem;color:rgba(255,255,255,.3);text-align:center;margin-bottom:.5rem;letter-spacing:.06em}
    #eWorldMap{width:100%;display:block;cursor:grab}
    #eWorldMap:active{cursor:grabbing}
    .e-country{fill:#1e1e1e;stroke:#2a2a2a;stroke-width:.4px;cursor:pointer;transition:fill .15s}
    .e-country:hover{fill:var(--or)}
    .e-country.highlighted{fill:rgba(232,86,10,.55)}

    /* Step 2 — country card (redesign: rail laterale + hero fotografico + gancio/highlights/pillole) */
    #eStep2{display:none}
    .flag-icon-lg{width:52px;height:auto;border-radius:4px;display:block;box-shadow:0 0 0 1px rgba(255,255,255,.12)}
    .flag-icon{height:1em;width:auto;vertical-align:-.12em;border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,.12)}
    .cp2{display:flex;align-items:flex-start;min-height:100%}
    .cp2-rail{width:78px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:1.6rem 0;position:sticky;top:0;align-self:flex-start;border-right:1px solid var(--bd);background:#0a0a0a}
    .cp2-rail-btn{background:none;border:none;color:rgba(255,255,255,.4);display:flex;flex-direction:column;align-items:center;gap:6px;padding:.7rem .4rem;cursor:pointer;width:100%;transition:color .2s}
    .cp2-rail-btn svg{width:20px;height:20px;flex-shrink:0}
    .cp2-rail-btn span{font-size:.52rem;letter-spacing:.06em;text-transform:uppercase;text-align:center;line-height:1.2;font-family:'Inter',sans-serif;font-weight:600}
    .cp2-rail-btn:hover{color:rgba(255,255,255,.75)}
    .cp2-rail-btn.active{color:var(--or)}
    .cp2-main{flex:1;min-width:0}
    /* hero fotografico */
    .cp2-hero{position:relative;min-height:280px;display:flex;align-items:flex-end;overflow:hidden;background:#111}
    .cp2-hero-photos{position:absolute;inset:0;display:grid;grid-auto-flow:column;gap:2px}
    .cp2-hero-photos img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(1.08) contrast(1.03)}
    .cp2-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(8,8,8,.92) 0%,rgba(8,8,8,.35) 45%,rgba(8,8,8,.15) 100%)}
    .cp2-hero-overlay{position:relative;z-index:1;padding:2.2rem 2rem 1.8rem;text-align:center;width:100%}
    .cp2-hero-flag{display:flex;justify-content:center;margin-bottom:.8rem}
    .cp2-hero-flag img{width:34px;height:auto;border-radius:3px;box-shadow:0 2px 10px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.2)}
    .cp2-hero-title{font-family:'EB Garamond',serif;font-weight:400;font-style:italic;color:var(--wh);font-size:clamp(1.6rem,3.4vw,2.4rem);line-height:1.25;max-width:640px;margin:0 auto}
    .cp2-hero-tagline{font-size:.78rem;letter-spacing:.04em;color:rgba(255,255,255,.65);margin-top:.6rem;max-width:480px;margin-left:auto;margin-right:auto}
    /* panel */
    .cp2-panel{padding:1.6rem 2rem 2.4rem}
    .e-slabel{font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--or);font-weight:500;margin-bottom:.6rem;display:block}
    /* ===== BANNER AVVISO SICUREZZA ===== */
    .cp2-advisory{display:flex;gap:.9rem;align-items:flex-start;border-radius:10px;padding:.85rem 1rem;margin-bottom:1.5rem;border:1px solid}
    .cp2-advisory[hidden]{display:none}
    .cp2-adv-icon{font-size:1.05rem;line-height:1.3;flex-shrink:0}
    .cp2-adv-body{flex:1;min-width:0}
    .cp2-adv-title{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;margin-bottom:.3rem}
    .cp2-adv-text{font-size:.78rem;line-height:1.6;color:rgba(255,255,255,.72)}
    .cp2-adv-link{display:inline-block;margin-top:.45rem;font-size:.72rem;color:rgba(255,255,255,.55);text-decoration:underline;text-underline-offset:2px}
    .cp2-adv-link:hover{color:rgba(255,255,255,.85)}
    .cp2-advisory.lv-critical{background:rgba(200,38,38,.10);border-color:rgba(200,38,38,.42)}
    .cp2-advisory.lv-critical .cp2-adv-title{color:#ff6b6b}
    .cp2-advisory.lv-high{background:rgba(232,112,10,.09);border-color:rgba(232,112,10,.38)}
    .cp2-advisory.lv-high .cp2-adv-title{color:#ffa53d}
    .cp2-advisory.lv-notice{background:rgba(212,175,55,.07);border-color:rgba(212,175,55,.30)}
    .cp2-advisory.lv-notice .cp2-adv-title{color:#e8c860}
    @media(max-width:640px){.cp2-advisory{padding:.75rem .85rem;gap:.7rem}.cp2-adv-text{font-size:.74rem}}
    .cp2-intro{display:grid;grid-template-columns:1.3fr 1fr;gap:2.4rem;padding-bottom:1.6rem;margin-bottom:1.6rem;border-bottom:1px solid var(--bd)}
    .cp2-intro-text{font-size:.85rem;line-height:1.8;color:var(--mu);margin-top:1.1rem}
    .cp2-hook-text{font-family:'EB Garamond',serif;font-style:italic;font-size:1.05rem;line-height:1.7;color:rgba(255,255,255,.82)}
    .cp2-hl-row{display:flex;gap:1.4rem;flex-wrap:wrap}
    .cp2-hl{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;width:88px}
    .cp2-hl-icon{width:46px;height:46px;border-radius:50%;background:rgba(232,86,10,.08);border:1px solid rgba(232,86,10,.28);display:flex;align-items:center;justify-content:center;font-size:1.2rem}
    .cp2-hl span{font-size:.68rem;color:rgba(255,255,255,.68);line-height:1.35;font-weight:500}
    .cp2-stats{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:1.1rem}
    .cst{background:#131313;border:1px solid rgba(255,255,255,.08);padding:8px 10px;border-radius:8px}
    .cst-l{font-size:.52rem;letter-spacing:.14em;text-transform:uppercase;color:#888;margin-bottom:2px}
    .cst-v{font-size:.76rem;color:rgba(255,255,255,.85);font-weight:500}
    .c-besttime-inline{display:flex;align-items:center;gap:.7rem;background:rgba(232,86,10,.07);border:1px solid rgba(232,86,10,.18);border-radius:10px;padding:.6rem 1rem;margin-bottom:1.8rem}
    .c-bi-icon{color:var(--or);font-size:1.1rem;flex-shrink:0}
    .c-bi-l{font-size:.52rem;letter-spacing:.14em;text-transform:uppercase;color:#666}
    .c-bi-v{font-size:.8rem;color:rgba(255,255,255,.8);font-weight:500;margin-top:1px}
    /* pillole città — anteprima, non cliccabili */
    .cp2-citycards{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:.8rem;margin-bottom:1.8rem}
    .cp2-city-card{background:#131313;border:1px solid rgba(255,255,255,.08);border-radius:10px;overflow:hidden;cursor:default}
    .cp2-city-card-img{width:100%;height:104px;object-fit:cover;display:block;background:#1a1a1a}
    .cp2-city-card-body{padding:.75rem .85rem}
    .cp2-city-card-name{font-size:.82rem;font-weight:600;color:rgba(255,255,255,.88)}
    .cp2-city-card-tag{font-size:.68rem;color:var(--or);margin-top:2px}
    .cp2-city-card-attr{font-size:.7rem;color:rgba(255,255,255,.45);line-height:1.5;margin-top:.4rem}
    /* box esperto */
    .cp2-expert{display:flex;gap:1.1rem;background:#111;border:1px solid rgba(232,86,10,.22);border-radius:14px;padding:1.2rem;margin-bottom:1.6rem}
    .cp2-expert-photo{width:58px;height:58px;border-radius:50%;overflow:hidden;flex-shrink:0;background:var(--glow);border:1px solid rgba(232,86,10,.3);position:relative}
    .cp2-expert-photo img{width:100%;height:100%;object-fit:cover;display:block;position:relative;z-index:1}
    .cp2-expert-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'Inter',sans-serif;font-size:.78rem;font-weight:700;color:var(--or)}
    .cp2-expert-body{flex:1;min-width:0}
    .cp2-expert-tip{font-family:'EB Garamond',serif;font-style:italic;font-size:.9rem;color:rgba(255,255,255,.85);line-height:1.55;margin-bottom:.5rem}
    .cp2-expert-name{font-size:.72rem;color:var(--mu);display:block;margin-bottom:.7rem}
    .cp2-expert-cta{background:var(--or);color:var(--wh);border:none;font-family:'Inter',sans-serif;font-size:.64rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.55rem 1.1rem;border-radius:30px;cursor:pointer;transition:background .2s}
    .cp2-expert-cta:hover{background:var(--or2)}
    /* leggi tutto */
    .cp2-readmore{background:none;border:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.6);font-family:'Inter',sans-serif;font-size:.66rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.6rem 1.2rem;border-radius:30px;cursor:pointer;transition:all .2s}
    .cp2-readmore:hover{border-color:var(--or);color:var(--or)}
    .cp2-full{margin-top:1.4rem;padding-top:1.4rem;border-top:1px solid var(--bd)}
    .c-desc{font-size:.84rem;color:rgba(255,255,255,.6);line-height:1.9;margin-bottom:1.1rem;white-space:pre-line}
    .cp2-full-attrs{margin-top:1.2rem}
    .cp2-full-city-title{font-size:.78rem;font-weight:600;color:rgba(255,255,255,.8);margin:1rem 0 .5rem}
    .attr-row{display:flex;align-items:flex-start;gap:10px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.05)}
    .attr-row:last-child{border-bottom:none}
    .attr-n{width:22px;height:22px;background:rgba(232,86,10,.1);border:1px solid rgba(232,86,10,.3);color:var(--or);font-size:.6rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;margin-top:1px}
    .attr-body{flex:1}
    .attr-title{font-size:.82rem;font-weight:600;color:rgba(255,255,255,.85)}
    .attr-desc{font-size:.73rem;color:rgba(255,255,255,.5);line-height:1.6;margin-top:2px}
    /* panel sicurezza */
    .c-body-safe{padding:1.6rem 2rem 2.4rem}
    .safe-block{margin-bottom:1.1rem;padding-bottom:1rem;border-bottom:1px solid var(--bd)}
    .safe-block:last-of-type{border-bottom:none;margin-bottom:.8rem}
    .safe-vs-link{display:flex;align-items:center;gap:.9rem;background:#111;border:1px solid rgba(232,86,10,.25);border-radius:12px;padding:1rem 1.2rem;text-decoration:none;color:var(--wh);transition:border-color .2s,background .2s}
    .safe-vs-link:hover{border-color:var(--or);background:rgba(232,86,10,.06)}
    .safe-vs-logo{font-size:1.5rem;flex-shrink:0}
    .safe-vs-link strong{font-size:.85rem;color:var(--wh)}
    .safe-vs-sub{font-size:.72rem;color:var(--mu);line-height:1.5}
    .safe-vs-arrow{margin-left:auto;font-size:1.1rem;color:var(--or);flex-shrink:0}
    @media(max-width:760px){
      .cp2-intro{grid-template-columns:1fr;gap:1.4rem}
      .cp2-stats{grid-template-columns:repeat(3,1fr)}
      .cp2-hero-title{font-size:1.5rem}
    }
    @media(max-width:640px){
      .cp2{flex-direction:column}
      .cp2-rail{width:100%;flex-direction:row;justify-content:center;position:static;border-right:none;border-bottom:1px solid var(--bd);padding:.6rem 0;gap:0}
      .cp2-rail-btn{width:auto;flex-direction:row;gap:5px;padding:.5rem .8rem}
      .cp2-panel,.c-body-safe{padding:1.2rem 1.2rem 2rem}
      .cp2-hero-overlay{padding:1.6rem 1.2rem 1.4rem}
      .cp2-expert{flex-direction:column;align-items:flex-start}
    }

    /* Step 3 — itinerary builder */
    /* step 3 rimosso — il costruttore itinerario non esiste più */
    .itin-title{font-family:'EB Garamond',serif;font-size:1.3rem;font-weight:400;color:var(--wh);margin-bottom:.2rem}
    .itin-sub{font-size:.75rem;color:rgba(255,255,255,.92);margin-bottom:.9rem}
    .stops-box{background:#111;border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:9px 14px;margin-bottom:.9rem}
    .stops-box-l{font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.92);margin-bottom:.4rem}
    .stops-chips-wrap{display:flex;flex-wrap:wrap;gap:4px}
    .stop-chip{background:rgba(232,86,10,.12);border:1px solid rgba(232,86,10,.28);color:rgba(232,86,10,.85);font-size:.68rem;font-weight:500;padding:4px 12px;border-radius:20px}
    .day-row{display:flex;align-items:center;gap:10px;padding:8px 10px;margin-bottom:6px;background:rgba(255,255,255,.025);border-radius:14px;transition:background .2s}
    .day-row:hover{background:rgba(255,255,255,.045)}
    .day-badge{background:linear-gradient(135deg,var(--or),var(--or2));color:var(--wh);font-size:.62rem;font-weight:700;letter-spacing:.08em;padding:6px 14px;border-radius:30px;white-space:nowrap;min-width:60px;text-align:center;box-shadow:0 3px 10px rgba(232,86,10,.3);flex-shrink:0}
    .day-inp{flex:1;background:#1a1a1a;border:1px solid rgba(255,255,255,.07);color:var(--wh);font-size:.78rem;padding:7px 14px;border-radius:20px;font-family:'Inter',sans-serif;outline:none;transition:border-color .2s,box-shadow .2s}
    .day-inp:focus{border-color:var(--or);box-shadow:0 0 0 3px rgba(232,86,10,.12)}
    .day-inp::placeholder{color:#3a3a3a}
    .day-del{background:rgba(255,255,255,.04);border:none;color:rgba(255,255,255,.92);cursor:pointer;font-size:1rem;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s;line-height:1;flex-shrink:0}
    .day-del:hover{color:var(--wh);background:var(--or)}
    .btn-add-day{background:none;border:1.5px dashed rgba(255,255,255,.18);color:rgba(255,255,255,.4);font-size:.68rem;letter-spacing:.08em;padding:7px 18px;border-radius:30px;cursor:pointer;transition:all .2s;font-family:'Inter',sans-serif;margin:.6rem 0 .9rem}
    .btn-add-day:hover{border-color:var(--or);color:var(--or);background:rgba(232,86,10,.06)}
    
    
    
    
    
    
    
    
    
    
    
    
    /* Custom month/year selector (replaces native date picker) */
    .if-date-row{display:grid;grid-template-columns:1.4fr 1fr;gap:8px}
    .child-ages-wrap{display:flex;flex-wrap:wrap;gap:.6rem}
    .child-age-field{min-width:82px}
    .child-age-field label{display:block;font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.92);margin-bottom:3px}
    .child-age-field select{width:100%;background:#1a1a1a;border:1px solid rgba(255,255,255,.1);color:var(--wh);font-size:.8rem;padding:6px 26px 6px 9px;border-radius:5px;font-family:'Inter',sans-serif;outline:none;appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23E8560A' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}
    
    
    

    /* "Destinazione singola" Step 2: form (con builder giorni) + mappa del paese affiancata */
    .single-step2-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:1.6rem;align-items:start}
    .scm-box{background:#111;border:1px solid rgba(255,255,255,.06);border-radius:16px;padding:.9rem;position:sticky;top:1rem}
    .scm-box svg{width:100%;display:block;border-radius:10px}
    .scm-empty{font-size:.74rem;color:rgba(255,255,255,.92);text-align:center;padding:2.6rem 1rem;line-height:1.7}
    .scm-dist{margin-top:.7rem;text-align:center;font-size:.78rem;letter-spacing:.03em;color:rgba(232,86,10,.9);font-weight:600}
    .scm-visited{flex-wrap:wrap;justify-content:center;gap:1px;margin-top:.5rem;font-size:.72rem;letter-spacing:.02em;line-height:1.7;text-align:center}
    .scm-visited-item{color:rgba(255,255,255,.8);font-weight:500}
    .scm-visited-sep{color:var(--or)}
    .scm-dist span{color:rgba(255,255,255,.38);font-weight:400}
    .s-country-path{fill:#1b1b1b;stroke:rgba(232,86,10,.45);stroke-width:1.1px}
    .s-route-line{fill:none;stroke:var(--or);stroke-width:1px;stroke-linecap:round;opacity:.8}.s-pin{fill:var(--or);stroke:#fff;stroke-width:1px}
    
    
    
    
    

    /* Explorer loading */
    .exp-loader{display:none;position:absolute;inset:0;background:rgba(8,8,8,.9);align-items:center;justify-content:center;flex-direction:column;gap:10px;z-index:20}
    /* avviso di sicurezza: mostrato per paesi con situazione delicata/sconsigliati */
    #safetyWarningOverlay{display:none;position:fixed;inset:0;z-index:900;background:rgba(4,4,4,.88);backdrop-filter:blur(4px);align-items:center;justify-content:center;padding:2vh 4vw}
    #safetyWarningOverlay.open{display:flex}
    .safety-warning-box{background:#141414;border:1px solid rgba(232,86,10,.35);border-radius:10px;max-width:440px;width:100%;padding:2rem 1.8rem;box-shadow:0 30px 80px rgba(0,0,0,.6);text-align:center}
    .safety-warning-icon{font-size:2.4rem;margin-bottom:1rem}
    .safety-warning-title{font-family:'EB Garamond',serif;font-size:1.3rem;color:var(--wh);margin-bottom:.9rem;font-style:italic}
    .safety-warning-text{font-size:.85rem;color:rgba(255,255,255,.65);line-height:1.7;margin-bottom:1.6rem}
    .safety-warning-btn{background:var(--or);color:var(--wh);border:none;padding:.8rem 2rem;font-family:'Inter',sans-serif;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-radius:2px;cursor:pointer;transition:background .2s}
    .safety-warning-btn:hover{background:var(--or2)}
    .exp-loader.show{display:flex}
    .exp-spinner{width:32px;height:32px;border:2px solid rgba(232,86,10,.2);border-top-color:var(--or);border-radius:50%;animation:spin .8s linear infinite}
    @keyframes spin{to{transform:rotate(360deg)}}
    .exp-spin-txt{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.92)}

    /* ── PROCESS ── */
    #process{background:var(--dk)}
    .process-inner{max-width:680px;margin-bottom:3.5rem}
    /* ── CHI SIAMO · Sala storica in verticale ──
       Una linea che scende lungo la pagina: ogni tappa e' un fatto del mondo
       datato, con accanto la conseguenza sul mestiere. Le voci compaiono
       man mano che si scorre. */
    .hall{position:relative;margin-top:3rem;padding-left:7.4rem}
    .hall::before{content:'';position:absolute;left:6.15rem;top:.4rem;bottom:.4rem;width:1px;
      background:linear-gradient(180deg,transparent,var(--bd) 3%,var(--bd) 97%,transparent)}
    .hall-step{position:relative;padding-bottom:3.1rem}
    .hall-step:last-child{padding-bottom:0}
    .hall-step::before{content:'';position:absolute;left:-1.32rem;top:.42rem;width:9px;height:9px;
      border-radius:50%;border:1px solid var(--bd);background:var(--bk);box-sizing:border-box;
      transition:border-color .45s ease,background .45s ease}
    .hall-step.visible::before{border-color:var(--or);background:var(--or)}
    .hall-year{position:absolute;left:-7.4rem;top:-.35rem;width:5.1rem;text-align:right;
      font-family:'EB Garamond',serif;font-size:1.5rem;color:var(--or);line-height:1.25}
    .hall-ev{display:block;font-family:'EB Garamond',serif;font-size:1.06rem;color:var(--wh);
      margin-bottom:.7rem;line-height:1.35}
    .hall-fact{font-size:.85rem;line-height:1.8;color:var(--mu);max-width:640px}
    .hall-eff{margin-top:.85rem;font-family:'EB Garamond',serif;font-style:italic;
      font-size:.95rem;line-height:1.55;color:rgba(255,255,255,.82);
      padding-left:.95rem;border-left:2px solid rgba(232,86,10,.45);max-width:600px}
    .hall-open{color:var(--or);font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;
      display:block;margin-top:.55rem}
    @media(max-width:700px){
      .hall{padding-left:1.9rem}
      .hall::before{left:4px}
      .hall-step::before{left:-1.9rem}
      .hall-year{position:static;width:auto;text-align:left;font-size:1.3rem;
        display:block;margin-bottom:.15rem}
      .hall-step{padding-bottom:2.6rem}
    }
    @media(prefers-reduced-motion:reduce){ .hall-step::before{transition:none} }
    /* ── VIAGGI STUDIO · "Chi lo sta chiedendo?" ──
       Non un elenco di destinazioni ma le domande vere, diverse a seconda di chi
       arriva sulla pagina: il genitore ha paure, lo studente ha curiosita',
       l'adulto ha vincoli di tempo. Si cambia interlocutore, cambiano le risposte. */
    .stq{margin:2.6rem 0 3.4rem}
    .stq-who{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:2.4rem}
    .stq-who button{background:none;border:1px solid var(--bd);color:var(--mu);
      font-family:inherit;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;
      padding:.7rem 1.15rem;border-radius:100px;cursor:pointer;
      transition:color .3s ease,border-color .3s ease,background .3s ease}
    .stq-who button:hover{color:var(--wh);border-color:rgba(255,255,255,.3)}
    .stq-who button.on{color:var(--wh);border-color:var(--or);background:rgba(232,86,10,.12)}
    .stq-set{display:none}
    .stq-set.on{display:block;animation:stqIn .45s ease both}
    @keyframes stqIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
    /* Il contenimento dice al browser che aprire una voce non può cambiare nulla
       fuori da lì: il ricalcolo del layout resta locale invece di attraversare
       tutta la pagina (misurato: circa un quarto di lavoro in meno). */
    .stq-item{border-top:1px solid var(--bd);contain:layout paint}
    .stq-a{contain:layout paint}
    .stq-item:last-child{border-bottom:1px solid var(--bd)}
    .stq-q{width:100%;background:none;border:0;padding:1.35rem 2.4rem 1.35rem 0;
      text-align:left;cursor:pointer;position:relative;
      font-family:'EB Garamond',serif;font-size:1.02rem;color:var(--wh);
      transition:color .25s ease}
    .stq-q:hover{color:var(--or)}
    .stq-q::after{content:'';position:absolute;right:.35rem;top:50%;width:9px;height:9px;
      border-right:1px solid var(--or);border-bottom:1px solid var(--or);
      transform:translateY(-70%) rotate(45deg);transition:transform .3s ease}
    .stq-item.open .stq-q::after{transform:translateY(-20%) rotate(-135deg)}
    /* La tendina animava "max-height" da 0 a 420px fissi: il browser ricalcola il
       layout a ogni fotogramma, e con un'altezza finta la curva di apertura non
       corrisponde al contenuto reale — di qui gli scatti e lo scarto finale.
       Con una riga di griglia da 0fr a 1fr l'animazione segue l'altezza vera,
       senza numeri inventati e senza clip. */
    .stq-a{display:grid;grid-template-rows:0fr;overflow:hidden;
      transition:grid-template-rows .4s cubic-bezier(.33,0,.2,1)}
    .stq-a>*{min-height:0}
    .stq-item.open .stq-a{grid-template-rows:1fr}
    .stq-a p{font-size:.85rem;line-height:1.8;color:var(--mu);padding:0 2.4rem 1.5rem 0}
    @media(prefers-reduced-motion:reduce){
      .stq-a{transition:none}.stq-set.on{animation:none}
    }
    @supports not (grid-template-rows: 0fr){
      /* browser vecchi: si torna al vecchio metodo, meno fluido ma funzionante */
      .stq-a{display:block;max-height:0;transition:max-height .4s ease}
      .stq-item.open .stq-a{max-height:600px}
    }
    /* ── BUSINESS TRAVEL · "Una giornata di trasferta" ──
       Non un elenco di servizi ma una linea oraria che si attraversa: a ogni ora
       si confronta cosa vive il viaggiatore con cosa succede dalla nostra parte.
       Avanza da sola, si ferma quando l'utente interagisce. */
    
    /* Su schermo stretto gli orari della giornata tipo non stanno in riga e allargavano
       tutta la pagina Business Travel: il righello diventa scorrevole col dito. */
    
    /* trattino verticale: da' alla linea il carattere di un righello orario */
    
    /* orario in filigrana dietro al titolo: profondita' senza aggiungere elementi */
    
    
    
    /* ── Rotta del processo: linea che si traccia allo scorrimento, una tappa per colonna ── */
    .proc-route{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:2.4rem;padding-top:2.9rem;margin-bottom:4.5rem}
    .proc-route::before,.proc-route::after{content:'';position:absolute;top:.62rem;left:0;height:1px}
    .proc-route::before{right:0;background:var(--bd)}
    .proc-route::after{width:0;background:linear-gradient(90deg,var(--or2),var(--or));transition:width 1.7s cubic-bezier(.4,0,.2,1)}
    .proc-route.visible::after{width:100%}
    .proc-stop{position:relative}
    .proc-stop::before{content:'';position:absolute;top:-2.83rem;left:0;width:11px;height:11px;border-radius:50%;
      border:1px solid var(--bd);background:var(--bk);box-sizing:border-box;
      transition:border-color .45s ease,background .45s ease,box-shadow .45s ease}
    .proc-route.visible .proc-stop::before{border-color:var(--or);background:var(--or)}
    .proc-route.visible .proc-stop:nth-child(1)::before{transition-delay:.10s}
    .proc-route.visible .proc-stop:nth-child(2)::before{transition-delay:.52s}
    .proc-route.visible .proc-stop:nth-child(3)::before{transition-delay:.94s}
    .proc-route.visible .proc-stop:nth-child(4)::before{transition-delay:1.36s}
    /* punto d'arrivo: chiude la rotta, riprende il rombo dei divisori */
    .proc-arrival{position:absolute;top:.62rem;right:0;width:9px;height:9px;transform:translate(50%,-50%) rotate(45deg);
      background:var(--or);opacity:0;transition:opacity .5s ease 1.75s}
    .proc-route.visible .proc-arrival{opacity:1}
    @media(max-width:560px){ .proc-arrival{top:auto;bottom:.4rem;right:auto;left:5px;transform:translate(-50%,50%) rotate(45deg)} }
    @media(prefers-reduced-motion:reduce){ .proc-arrival{transition:none;opacity:1} }
    .proc-numeral{font-family:'EB Garamond',serif;font-size:.8rem;letter-spacing:.2em;color:var(--or);display:block;margin-bottom:.85rem}
    .proc-title{font-family:'EB Garamond',serif;font-size:1.05rem;color:var(--wh);margin-bottom:.6rem}
    .proc-desc{font-size:.82rem;color:var(--mu);line-height:1.7}
    @media(max-width:900px){ .proc-route{grid-template-columns:repeat(2,1fr);row-gap:3rem} }
    @media(max-width:560px){
      .proc-route{grid-template-columns:1fr;row-gap:2.6rem;padding-top:0;padding-left:2rem}
      .proc-route::before,.proc-route::after{top:.4rem;bottom:.4rem;left:5px;right:auto;width:1px;height:auto}
      .proc-route::after{height:0;width:1px;bottom:auto;transition:height 1.7s cubic-bezier(.4,0,.2,1)}
      .proc-route.visible::after{width:1px;height:calc(100% - .8rem)}
      .proc-stop::before{top:.15rem;left:-2rem}
    }
    @media(prefers-reduced-motion:reduce){
      .proc-route::after{transition:none;width:100%}
      .proc-stop::before{transition:none;border-color:var(--or);background:var(--or)}
    }

    /* ── NOZZE ── */
    #nozze{background:var(--off);display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:500px;padding:0}
    .nozze-img{overflow:hidden}
    .nozze-img img{width:100%;height:100%;object-fit:cover;display:block}
    .nozze-content{padding:5rem 4rem;display:flex;flex-direction:column;justify-content:center;background:var(--off)}
    .nozze-content .section-title{color:#111}
    .nozze-content .section-body{color:#555;margin-bottom:2rem}

    /* ── STUDIO ── */
    #studio{background:var(--bk)}
    .studio-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:3rem}
    .studio-card{background:var(--dk);border:1px solid var(--bd);padding:2.8rem;border-radius:2px;transition:border-color .25s}
    .studio-card:hover{border-color:rgba(232,86,10,.4)}
    .studio-flag{margin-bottom:1rem;display:block}
    .flag-icon-studio{width:48px;height:auto;border-radius:5px;box-shadow:0 0 0 1px rgba(255,255,255,.12)}
    .studio-card h3{font-family:'EB Garamond',serif;font-size:1.25rem;font-weight:400;color:var(--wh);margin-bottom:.7rem}
    .studio-card p{font-size:.84rem;color:var(--mu);line-height:1.75;margin-bottom:1.4rem}
    .cp2-radar-wrap{display:flex;justify-content:center;margin-top:.4rem}
    .cp2-radar{width:100%;max-width:320px;height:auto;overflow:visible}
    .cp2-radar text{font-family:'Inter',sans-serif;font-weight:500}
    .photo-credit{font-size:.66rem;color:var(--mu);opacity:.65;margin:.5rem 0 0;letter-spacing:.02em}
    .photo-credit a{color:var(--mu);text-decoration:none}
    .photo-credit a:hover{color:var(--or);text-decoration:underline}
    .form-privacy{display:flex;gap:.6rem;align-items:flex-start;margin:1rem 0 1.2rem}
    .form-privacy input{margin-top:.25rem;width:16px;height:16px;flex-shrink:0;accent-color:var(--or);cursor:pointer}
    .form-privacy label{font-size:.76rem;color:var(--mu);line-height:1.65;cursor:pointer}
    .form-privacy label a{color:var(--or)}
    /* ── PAGINA NOTE LEGALI ── */
    .legal-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin:1.6rem 0 2.4rem;border-bottom:1px solid var(--bd);padding-bottom:1rem}
    .legal-tab{background:none;border:1px solid var(--bd);color:var(--mu);padding:.55rem 1.3rem;border-radius:30px;
      font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;font-family:inherit;transition:.25s}
    .legal-tab:hover{color:var(--wh);border-color:rgba(255,255,255,.25)}
    .legal-tab.active{background:var(--or);border-color:var(--or);color:#fff}
    .legal-doc{display:none;max-width:820px}
    .legal-doc.active{display:block}
    .legal-doc h4{font-family:'EB Garamond',serif;font-size:1.12rem;font-weight:400;color:var(--wh);margin:2.2rem 0 .8rem}
    .legal-doc h4:first-child{margin-top:0}
    .legal-doc p{font-size:.85rem;color:var(--mu);line-height:1.85;margin-bottom:.9rem}
    .legal-doc ul{margin:0 0 1rem 1.1rem}
    .legal-doc li{font-size:.85rem;color:var(--mu);line-height:1.8;margin-bottom:.45rem}
    .legal-doc strong{color:rgba(255,255,255,.86)}
    .legal-doc a{color:var(--or)}
    .legal-doc code{font-size:.78rem;background:rgba(255,255,255,.06);padding:.1rem .4rem;border-radius:3px;color:rgba(255,255,255,.8)}
    .legal-table{width:100%;border-collapse:collapse;margin:.8rem 0 1.2rem;font-size:.79rem}
    .legal-table th{text-align:left;padding:.6rem .7rem;border-bottom:1px solid var(--bd);color:rgba(255,255,255,.7);
      font-weight:500;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase}
    .legal-table td{padding:.6rem .7rem;border-bottom:1px solid rgba(255,255,255,.05);color:var(--mu);line-height:1.6}
    .legal-todo{border:1px solid rgba(232,86,10,.45);background:rgba(232,86,10,.07);border-radius:4px;
      padding:1rem 1.1rem;font-size:.8rem;color:rgba(255,255,255,.75);line-height:1.75;margin:1rem 0 1.4rem}
    .legal-updated{font-size:.72rem;color:var(--mu);opacity:.7;margin-top:2.6rem;padding-top:1.2rem;border-top:1px solid var(--bd)}
    /* ── BANNER CONSENSO ── */
    #consentBar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:880;background:rgba(10,10,10,.98);
      border-top:1px solid var(--bd);padding:1.3rem 5vw;box-shadow:0 -10px 40px rgba(0,0,0,.5)}
    #consentBar.open{display:block}
    .consent-in{max-width:1100px;margin:0 auto;display:flex;gap:1.6rem;align-items:center;flex-wrap:wrap}
    .consent-txt{flex:1;min-width:260px;font-size:.8rem;color:var(--mu);line-height:1.7}
    .consent-txt a{color:var(--or)}
    .consent-btns{display:flex;gap:.7rem;flex-shrink:0}
    /* I due pulsanti hanno lo stesso peso visivo: le linee guida del Garante
       vietano di rendere il rifiuto meno evidente dell'accettazione. */
    .consent-btn{padding:.7rem 1.7rem;border-radius:30px;font-size:.76rem;letter-spacing:.06em;
      text-transform:uppercase;cursor:pointer;font-family:inherit;border:1px solid var(--or);transition:.25s}
    .consent-yes{background:var(--or);color:#fff}
    .consent-no{background:none;color:var(--or)}
    .consent-yes:hover,.consent-no:hover{opacity:.82}
    .footer-links-legal{margin-top:.5rem}
    .footer-links-legal a{opacity:.72;font-size:.74rem}
    .footer-links-legal a:hover{opacity:1}
    .footer-legal-links{display:flex;gap:1.2rem;flex-wrap:wrap;margin-top:1rem}
    .footer-legal-links a{font-size:.74rem;color:var(--mu);text-decoration:none;cursor:pointer}
    .footer-legal-links a:hover{color:var(--or)}
    @media(max-width:700px){
      .consent-in{flex-direction:column;align-items:stretch}
      .consent-btns{flex-direction:column}
      .consent-btn{width:100%}
    }
    .studio-card.is-link{cursor:pointer}
    .studio-card.is-link:hover{border-color:rgba(232,86,10,.55)}
    /* ── VIAGGI STUDIO: pagine paese autonome ── */
    .stp-hero{position:relative;border-radius:5px;overflow:hidden;margin:2rem 0 2.4rem;max-height:420px}
    .stp-hero img{width:100%;height:100%;max-height:420px;object-fit:cover;display:block;cursor:zoom-in;transition:transform .7s}
    .stp-hero img:hover{transform:scale(1.03)}
    .stp-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--bd);border:1px solid var(--bd);border-radius:4px;overflow:hidden;margin-bottom:3rem}
    .stp-fact{background:var(--dk);padding:1.1rem 1rem}
    .stp-fact-l{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mu);margin-bottom:.35rem}
    .stp-fact-v{font-size:.86rem;color:var(--wh)}
    .stp-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:1.4rem 0 3.2rem}
    .stp-gal-item{border-radius:5px;overflow:hidden}
    .stp-gal-item img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;cursor:zoom-in;transition:transform .6s}
    .stp-gal-item img:hover{transform:scale(1.05)}
    .stp-form-wrap{border:1px solid var(--bd);border-radius:5px;background:var(--dk);padding:2.4rem 2rem;margin-top:1rem}
    .stp-form-title{font-family:'EB Garamond',serif;font-size:1.6rem;font-weight:400;color:var(--wh);margin:.4rem 0 .7rem}
    .stp-form-intro{font-size:.84rem;color:var(--mu);line-height:1.75;margin-bottom:1.8rem}
    @media(max-width:820px){
      .stp-facts{grid-template-columns:repeat(2,1fr)}
      .stp-gallery{grid-template-columns:1fr}
      .stp-form-wrap{padding:1.6rem 1.1rem}
    }

    /* ── SOCIAL ── */
    #social{background:var(--or);text-align:center;padding:5rem 5vw}
    #social .section-eyebrow{color:rgba(255,255,255,.7)}
    .hashtag{font-family:'EB Garamond',serif;font-size:clamp(2rem,5vw,4rem);font-style:italic;color:var(--wh);margin:.8rem 0 1.4rem}
    #social p{color:rgba(255,255,255,.75);font-size:.9rem;margin-bottom:2.5rem}
    .social-icons{display:flex;justify-content:center;gap:1.2rem}
    .social-icon{width:50px;height:50px;border:1px solid rgba(255,255,255,.4);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--wh);text-decoration:none;transition:background .2s,border-color .2s}
    .social-icon:hover{background:rgba(255,255,255,.15);border-color:var(--wh)}

    /* ── CONTACT ── */
    #contact{background:var(--dk);display:grid;grid-template-columns:1fr 1fr;gap:6vw;align-items:start}
    .contact-info h2{font-family:'EB Garamond',serif;font-size:clamp(1.8rem,3.5vw,2.5rem);color:var(--wh);font-weight:400;margin-bottom:2rem;line-height:1.25}
    .contact-info h2 em{font-style:italic;color:var(--or)}
    .contact-detail{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}
    .contact-detail-icon{width:38px;height:38px;background:var(--glow);border:1px solid rgba(232,86,10,.25);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0;margin-top:2px}
    .contact-detail-text{font-size:.87rem;color:var(--mu);line-height:1.6}
    .contact-detail-text strong{color:var(--wh);font-weight:500;display:block;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.25rem}
    .contact-detail-text a{color:var(--or);text-decoration:none}
    .contact-detail-text a:hover{text-decoration:underline}
    .address-link{background:none;border:none;padding:0;margin:0;font-family:'Inter',sans-serif;font-size:.87rem;color:var(--mu);line-height:1.6;text-align:left;cursor:pointer;transition:color .2s;display:inline}
    .address-link:hover{color:var(--or)}
    .maps-menu{display:none;position:absolute;top:100%;left:0;margin-top:8px;background:#181818;border:1px solid rgba(232,86,10,.25);border-radius:6px;overflow:hidden;box-shadow:0 12px 32px rgba(0,0,0,.5);z-index:50;min-width:200px}
    .maps-menu.open{display:block}
    .maps-menu-item{display:flex;align-items:center;gap:10px;padding:.7rem .9rem;font-size:.78rem;color:rgba(255,255,255,.8);text-decoration:none;transition:background .18s,color .18s}
    .maps-menu-item:hover{background:rgba(232,86,10,.1);color:var(--or)}
    .maps-menu-icon{font-size:.95rem;flex-shrink:0}
    .contact-form{display:flex;flex-direction:column;gap:1rem}
    .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
    .form-field{display:flex;flex-direction:column;gap:.4rem}
    .form-field label{font-size:.66rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--mu)}
    .form-field input,.form-field textarea{background:var(--card);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:.85rem 1.3rem;font-family:'Inter',sans-serif;font-size:.87rem;color:var(--wh);transition:border-color .2s,box-shadow .2s;width:100%;outline:none}
    .form-field input:focus,.form-field textarea:focus{border-color:var(--or);box-shadow:0 0 0 3px rgba(232,86,10,.12)}
    .form-field textarea{border-radius:18px}
    .form-field input::placeholder,.form-field textarea::placeholder{color:#444}
    .form-field textarea{min-height:110px;resize:vertical}
    .form-field select{appearance:none;cursor:pointer;background:var(--card);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:.85rem 2.6rem .85rem 1.3rem;font-family:'Inter',sans-serif;font-size:.87rem;color:var(--wh);width:100%;outline:none;transition:border-color .2s,background .2s,box-shadow .2s;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='9'%3E%3Cpath d='M1 1l5.5 6 5.5-6' stroke='%23E8560A' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1.1rem center}
    .form-field select:hover{border-color:rgba(232,86,10,.45);background-color:#1e1e1e}
    .form-field select:focus{border-color:var(--or);box-shadow:0 0 0 3px rgba(232,86,10,.14)}
    .form-field select option{background:#181818;color:var(--wh);padding:10px}
    .form-submit{background:var(--or);color:var(--wh);border:none;padding:1rem 2rem;font-family:'Inter',sans-serif;font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border-radius:30px;cursor:pointer;transition:background .2s,transform .15s;margin-top:.4rem;box-shadow:0 4px 16px rgba(232,86,10,.3)}
    .form-submit:active{transform:scale(.98)}
    .form-submit:hover{background:var(--or2);transform:translateY(-1px)}
    .form-submit:disabled{opacity:.6;cursor:not-allowed;transform:none}

    /* ── BUSINESS INFO ── */
    #bizinfo{background:var(--bk);border-top:1px solid var(--bd);padding:4rem 5vw}
    .biz-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:3rem;margin-top:2.5rem}
    .biz-block h4{font-size:.65rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--or);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid rgba(232,86,10,.2)}
    .biz-row{display:flex;gap:.7rem;align-items:baseline;margin-bottom:.55rem}
    .biz-label{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--mu);white-space:nowrap;min-width:122px;flex-shrink:0}
    .biz-value{font-size:.82rem;color:rgba(255,255,255,.7);line-height:1.5}
    .biz-value a{color:var(--or);text-decoration:none}
    .biz-value a:hover{text-decoration:underline}
    .biz-hours-row{display:flex;justify-content:space-between;align-items:center;padding:.45rem 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:.8rem}
    .biz-hours-row:last-child{border-bottom:none}
    .biz-hours-day{color:rgba(255,255,255,.5);font-size:.72rem;letter-spacing:.06em}
    .biz-hours-time{color:rgba(255,255,255,.8);font-weight:500}
    .biz-hours-time.closed{color:var(--mu);font-style:italic}

    /* ── FOOTER ── */
    footer{background:#040404;padding:2.5rem 5vw;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1.5rem;border-top:1px solid rgba(255,255,255,.04)}
    .footer-logo{display:flex;align-items:center;gap:.65rem;text-decoration:none}
    .footer-logo svg{width:34px;height:34px}
    .footer-logo-name{font-family:'Inter',sans-serif;font-size:.9rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--wh)}
    .footer-copy{font-size:.68rem;color:#2e2e2e;letter-spacing:.05em}
    .footer-links{display:flex;gap:1.5rem;list-style:none;flex-wrap:wrap}
    .footer-links a{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:#2e2e2e;text-decoration:none;transition:color .2s}
    .footer-links a:hover{color:var(--or)}

    /* ── REVEAL ── */
    .reveal{opacity:0;transform:translateY(26px);transition:opacity .75s ease,transform .75s ease}
    .reveal.visible{opacity:1;transform:none}
    .rd1{transition-delay:.1s}.rd2{transition-delay:.2s}.rd3{transition-delay:.3s}

    /* ── RESPONSIVE ── */
    @media(max-width:960px){
      .nav-links{display:none}.nav-burger{display:flex}.nav-mobile-lang{display:flex}
      .nav-home-item{display:block}
      /* Il selettore lingua nel menu del telefono era largo zero pixel: la regola
         .nav-right .lang-switch lo spegneva, perché il menu sta dentro .nav-right.
         Qui viene riacceso e reso una voce vera, con la sua etichetta. */
      nav.open .nav-mobile-lang{flex-direction:column;align-items:center;gap:.8rem;
        margin-top:2.2rem;padding-top:2rem;width:100%;
        border-top:1px solid rgba(255,255,255,.09)}
      nav.open .nav-mobile-lang::before{content:attr(data-label);
        font-size:.58rem;letter-spacing:.28em;text-transform:uppercase;color:rgba(255,255,255,.32)}
      nav.open .nav-mobile-lang .lang-switch{display:flex!important;gap:6px;padding:5px}
      nav.open .nav-mobile-lang .lang-btn{padding:.6rem 1.1rem;font-size:.72rem}
      .nav-right .lang-switch{display:none}
      nav.open .nav-links{display:flex;flex-direction:column;position:fixed;inset:0;background:var(--bk);justify-content:center;align-items:center;gap:2.5rem;z-index:99}
      nav.open .nav-links a{font-size:1.1rem}
      body.menu-open{overflow:hidden}
      #about{grid-template-columns:1fr}
      #nozze{grid-template-columns:1fr}.nozze-img{height:280px}.nozze-content{padding:3.5rem 2rem}
      #contact{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}
      .studio-grid{grid-template-columns:1fr}
      .biz-grid{grid-template-columns:1fr}
      .single-step2-grid{grid-template-columns:1fr}
      .scm-box{position:static}
    }
    @media(max-width:560px){
      section{padding:4rem 6vw}
      .about-badge{left:.5rem}.hero-rotate-wrap{min-width:150px}.stat-item{padding:1.4rem}
      footer{flex-direction:column;align-items:flex-start}
      .c-stats{grid-template-columns:repeat(2,1fr)}
      
    }

    /* ══ SU SCHERMO STRETTO: PAGINE, NON FINESTRE ══
       Sul telefono ogni blocco era una scatola con bordo, angoli tondi e fondo più
       chiaro, staccata dai lati dello schermo: si leggeva come una finestra appoggiata
       sul nero, non come una pagina. Qui i riquadri si aprono e diventano fasce a tutta
       larghezza separate da un filo, e i pochi pixel laterali tornano al testo. */
    @media(max-width:640px){.hall-eff,.team-row,.about-quote,.stp-facts,.stp-form-wrap,.evhub-bandbox,.studio-card,.stq-item{
        border-left:0;border-right:0;border-top:0;border-radius:0;
        background:transparent;
        margin-left:0;margin-right:0;
        padding-left:0;padding-right:0;
        border-bottom:1px solid rgba(255,255,255,.07)}
      /* l'ultimo di ogni gruppo non ha bisogno del filo di chiusura */
      .hall-eff:last-child,.team-row:last-child{border-bottom:0}
      /* il modulo di contatto resta leggibile: niente cornice, ma respiro sopra e sotto */
      .stp-form-wrap{padding-top:2.4rem;padding-bottom:.5rem;border-bottom:0}
      /* le schede evento scorrono in orizzontale: lì il riquadro serve a distinguerle,
         resta ma senza fondo e con angoli appena accennati */
      .evhub-card{background:transparent;border-radius:6px}
      /* La colonna "da parte nostra" ha un fondo sfumato arancione: senza cornice
         il testo finiva contro il bordo dello schermo. Via anche la sfumatura,
         resta la sola riga d'accento a sinistra a distinguere le due voci. */
      
    }

    /* ══ ICONE: UN SOLO COLORE ══
       Le emoji portavano ognuna la propria tavolozza — scudi azzurri, bouquet
       multicolore, anelli argento — e su una pagina scura e sobria stonavano.
       Il filtro le riporta tutte allo stesso oro del resto. */
    .service-row-icon,.contact-detail-icon,.c-bi-icon,.cp2-adv-icon{
      filter:grayscale(1) sepia(1) saturate(2.6) hue-rotate(-6deg) brightness(1.05)}
    .service-row-icon{background:rgba(201,164,103,.09);border-color:rgba(201,164,103,.3)}

    /* ══ VELO DI PASSAGGIO FRA LE PAGINE ══ */
    #pageBoot{position:fixed;inset:0;z-index:800;background:#050505;
      display:flex;align-items:center;justify-content:center;
      opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s linear .3s}
    /* Il velo deve comparire di colpo, non in dissolvenza: durante i 180 ms di
       sfumatura in entrata si intravedeva la pagina sotto attraverso il nero
       semitrasparente, e su una pagina con foto a tutta larghezza — Nozze — quel
       passaggio si leggeva come uno sfarfallio di colore. Entra secco, esce sfumato. */
    #pageBoot.on{opacity:1;visibility:visible;transition:none}
    #pageBoot .boot-mark{width:clamp(64px,11vw,88px)}
    /* "visibility:hidden" nasconde ma non ferma: la rosa dei venti del velo continuava
       a girare a vuoto anche a velo spento, e girando su un elemento SVG costava un
       ricalcolo di layout a ogni fotogramma, per sempre. Qui si ferma davvero. */
    #pageBoot:not(.on) .boot-rose,
    #pageBoot:not(.on) .boot-ring{animation:none}
    @media(prefers-reduced-motion:reduce){ #pageBoot{transition:none} }

    /* ══ DESTINAZIONI · SFOGLIA PER CONTINENTE ══ */
    #eBrowse{display:none;padding:1.4rem 1.2rem 3rem}
    .ebr-chips{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:1rem;
      scrollbar-width:none;-webkit-overflow-scrolling:touch}
    .ebr-chips::-webkit-scrollbar{display:none}
    .ebr-chip{flex:0 0 auto;background:none;border:1px solid rgba(255,255,255,.14);
      color:var(--mu);font-family:inherit;font-size:.68rem;letter-spacing:.12em;
      text-transform:uppercase;padding:.55rem 1rem;border-radius:30px;cursor:pointer;
      transition:color .2s,border-color .2s,background .2s;white-space:nowrap}
    .ebr-chip.on{background:var(--or);border-color:var(--or);color:#fff}
    .ebr-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
    .ebr-card{position:relative;border:0;padding:0;border-radius:10px;overflow:hidden;
      aspect-ratio:4/3;cursor:pointer;background:#141414;text-align:left;
      transition:transform .3s ease}
    .ebr-card:active{transform:scale(.97)}
    .ebr-card img{width:100%;height:100%;object-fit:cover;display:block}
    .ebr-card::after{content:'';position:absolute;inset:0;
      background:linear-gradient(to top,rgba(0,0,0,.88) 6%,rgba(0,0,0,.15) 62%)}
    .ebr-card-name{position:absolute;left:.7rem;right:.7rem;bottom:.6rem;z-index:1;
      font-family:'EB Garamond',serif;font-size:.95rem;line-height:1.25;color:#fff}
    /* Sotto gli 820px la mappa sparisce e resta la navigazione a schede. */
    @media(max-width:820px){
      #eMapWrap{display:none}
      .map-hint{display:none}
      #eBrowse{display:block}
    }
    @media(min-width:521px) and (max-width:820px){ .ebr-grid{grid-template-columns:repeat(3,1fr)} }

    /* ══ BUSINESS TRAVEL · QUADRANTE DEGLI ORARI (solo telefono) ══ */
    
    @media(max-width:640px){
      .bzc-face{fill:none;stroke:rgba(255,255,255,.10);stroke-width:1}
      .bzc-mark{stroke:rgba(255,255,255,.16);stroke-width:1}
      .bzc-hand{stroke:var(--wh);stroke-linecap:round;transform-origin:100px 100px;
        transition:transform .55s cubic-bezier(.34,1.3,.5,1)}
      .bzc-hand.h{stroke-width:3.4}
      .bzc-hand.m{stroke-width:2;stroke:var(--or)}
      .bzc-hub{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
        width:34px;height:34px;border-radius:50%;background:#0b0b0b;
        border:2px solid var(--or);display:flex;align-items:center;justify-content:center;z-index:2}
      .bzc-hub svg{position:static;width:18px;height:18px}
      .bzc-btn{position:absolute;transform:translate(-50%,-50%);background:none;border:0;padding:.45rem .6rem;
        font-family:'Courier New',monospace;font-size:.74rem;letter-spacing:.06em;
        color:rgba(255,255,255,.42);cursor:pointer;transition:color .3s ease,transform .3s ease;z-index:3}
      .bzc-btn.on{color:var(--or);font-weight:700;transform:translate(-50%,-50%) scale(1.16)}
      .bzc-btn::before{content:'';position:absolute;top:50%;left:50%;width:34px;height:34px;
        transform:translate(-50%,-50%);border-radius:50%}
    }
    /* ══ PIANIFICA IL TUO VIAGGIO SU TELEFONO ══
       Il costruttore vive in un iframe. Finora l'iframe riempiva lo schermo e scorreva
       per conto suo: uno scorrimento dentro un altro, dentro una pagina fissa. Su iOS
       quella struttura litiga con la barra degli indirizzi che si apre e si chiude, e
       il risultato è la grafica che salta e fluttua. Qui l'iframe diventa alto quanto
       il suo contenuto e a scorrere è la sottopagina, una volta sola. */
    @media(max-width:820px){
      /* Va agganciata a .open: senza, questa regola vinceva sul "display:none" della
         pagina chiusa e il pianificatore restava sempre in scena. L'iframe dentro
         disegna la rotta a ogni fotogramma, quindi continuava a lavorare a 60 al
         secondo anche mentre si era su un'altra pagina. */
      #planPage.open{overflow-y:auto;overflow-x:clip;-webkit-overflow-scrolling:touch;
        overscroll-behavior:contain;display:block}
      #planPage .plan-builder-bar{position:sticky;top:0;z-index:5;background:var(--bk)}
      #planBuilderFrame{flex:0 0 auto!important;display:block;width:100%;min-height:100vh}
    }
    /* ══ FLUIDITÀ SU TELEFONO ══
       Misurato: durante lo scorrimento il browser ricalcolava il layout 145 volte in
       dodici gesti. La causa non erano gli script ma due animazioni perpetue.
       I rametti d'angolo oscillano con "transform" applicato all'elemento SVG interno:
       su SVG quella proprietà non è accelerata dalla scheda grafica come sugli elementi
       HTML, quindi ogni fotogramma costava un layout completo. La fascia degli eventi
       anima "background-position", che ridipinge l'area a ogni fotogramma.
       Su schermo stretto sono dettagli che quasi non si notano e si pagano cari:
       lì restano fermi. Sul desktop continuano a muoversi. */
    @media(max-width:820px){
      
      .evhub-hero{animation:none}
    }
  
    /* ══ ICONE A LINEA (sostituiscono le emoji) ══
       Le emoji cambiano disegno da un telefono all'altro (Apple, Samsung, Google) e prima
       venivano tinte d'oro con un filtro. Ora sono disegni vettoriali, identici ovunque. */
    .ic{width:1em;height:1em;display:block;flex-shrink:0}
    .service-row-icon,.contact-detail-icon,.c-bi-icon,.cp2-adv-icon{filter:none}
    .service-row-icon{color:#C9A467;font-size:1.6rem}
    .contact-detail-icon{color:#C9A467;font-size:1.12rem;background:rgba(201,164,103,.09);border-color:rgba(201,164,103,.3)}
    .maps-menu-icon{color:#C9A467;font-size:1.05rem;display:flex}
    .c-bi-icon{color:#C9A467;font-size:1.15rem;display:flex}
    .cp2-adv-icon{font-size:1.15rem;display:flex;padding-top:.05rem}
    .cp2-advisory.lv-critical .cp2-adv-icon{color:#ff6b6b}
    .cp2-advisory.lv-high .cp2-adv-icon{color:#ffa53d}
    .cp2-advisory.lv-notice .cp2-adv-icon{color:#e8c860}
    .safe-vs-logo{color:var(--or);font-size:1.6rem;display:flex}
    .safety-warning-icon{color:var(--or);font-size:2.6rem;display:flex;justify-content:center}
    
    

    /* ══ DOMANDE FREQUENTI (Viaggi studio) ══
       Da chiuse lasciavano intravedere una riga di risposta tagliata a metà frase. */
    .stq-a{max-height:0;transition:grid-template-rows .4s cubic-bezier(.33,0,.2,1),max-height .45s cubic-bezier(.33,0,.2,1)}
    .stq-item.open .stq-a{max-height:1400px}

    /* ══ PIÈ DI PAGINA LEGGIBILE ══
       I link erano grigio #2e2e2e su nero: contrasto 1,4 a 1, praticamente invisibili.
       Ora superano la soglia di leggibilità (4,5 a 1) anche per il testo piccolo. */
    .footer-links a{color:#9a9a9a}
    .footer-links-legal a{opacity:1;color:#8a8a8a}
    .footer-copy{color:#8a8a8a;line-height:1.7}
    @media(max-width:600px){
      .footer-links{gap:0 1.4rem}
      .footer-links a{display:inline-block;padding:.6rem 0;font-size:.7rem}
    }

    /* ══ VETRINA EVENTI SU TELEFONO: tutte le schede uguali ══
       La prima (Carnevale di Rio) aveva il testo sopra la foto e l'etichetta arancione non si
       leggeva sui colori del costume. Su telefono diventa come le altre: foto sopra, testo
       sotto. Da 601px in su resta la scheda grande. */
    @media(max-width:600px){
      .showcase-event-hero{min-height:0;flex-direction:column;align-items:stretch}
      .showcase-event-hero img{position:static;height:auto;aspect-ratio:4/3}
      .showcase-event-hero::after{display:none}
      .showcase-event-info{padding:.9rem 1rem;background:var(--dk);border:1px solid var(--bd);border-top:none;border-bottom-left-radius:5px;border-bottom-right-radius:5px}
      .showcase-event-name{font-size:1rem;margin:.3rem 0 .4rem;line-height:1.3}
      .showcase-event-desc{font-size:.74rem;color:rgba(255,255,255,.6);line-height:1.65}
    }

    /* ══ BANNER CONSENSO COMPATTO SU TELEFONO ══ */
    @media(max-width:600px){
      #consentBar{padding:.85rem 5vw calc(.85rem + env(safe-area-inset-bottom,0px))}
      #consentBar .consent-in{gap:.75rem}
      #consentBar .consent-txt{font-size:.74rem;line-height:1.55;min-width:0}
      #consentBar .consent-btns{flex-direction:row;gap:.6rem}
      #consentBar .consent-btn{flex:1;width:auto;padding:.7rem .5rem}
    }

    /* ══ TITOLO HERO SU TELEFONO ══
       Andava a capo in tre righe ("Il viaggio su / misura / per…"): il testo aveva a
       disposizione solo 280px su 390 per un doppio margine. Tolto quello interno, il
       corpo è calcolato perché la prima riga stia intera; l'inglese è più lungo e scende un po'. */
    @media(max-width:480px){
      .hero-content{padding-left:0;padding-right:0}
      .hero-title{font-size:7.6vw}
    }

    /* ══ NOZZE: rametti d'angolo più discreti su telefono ══
       A 390px coprivano l'inizio delle righe di testo scorrendo. */
    

    /* Pagina Servizi: elenco semplice, senza collegamenti. Tolto lo spostamento al passaggio
       del mouse, che faceva sembrare le righe cliccabili. */
    .service-row:hover{padding-left:0}

    /* ══ IL PULSANTE CHE RESTA (spunto da Lakeside) ══
       Nelle pagine Nozze (matrimonio, viaggio di nozze) e Business Travel compare quando si è
       superata l'apertura, resta mentre si legge e si toglie di mezzo quando il modulo è già
       sullo schermo. Toccandolo si scende al modulo. Entra con una piccola molla e, finché è
       visibile, galleggia appena. Su telefono sta in basso a tutta larghezza, a portata di pollice;
       su computer in basso a destra. */
    .rv-hail{position:fixed;z-index:650;right:28px;bottom:calc(28px + env(safe-area-inset-bottom,0px));
      font-family:'Inter',sans-serif;font-size:.7rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
      padding:1rem 1.9rem;border:0;border-radius:999px;cursor:pointer;
      opacity:0;transform:translateY(24px) scale(.96);pointer-events:none;visibility:hidden;
      transition:opacity .45s ease,transform .62s cubic-bezier(.34,1.56,.64,1),visibility 0s linear .62s,background .25s;
      box-shadow:0 14px 36px rgba(0,0,0,.5)}
    .rv-hail.is-on{opacity:1;transform:none;pointer-events:auto;visibility:visible;
      transition:opacity .45s ease,transform .62s cubic-bezier(.34,1.56,.64,1),visibility 0s,background .25s}
    .rv-hail.t-gold{background:#C9A467;color:#0b0b0b}
    .rv-hail.t-gold:hover{background:#d9b97c}
    .rv-hail.t-or{background:var(--or);color:#fff}
    .rv-hail.t-or:hover{background:#ff6b1f}
    .rv-hail:active{transform:scale(.97)}
    .rv-hail:focus-visible{outline:2px solid #fff;outline-offset:3px}
    @media(max-width:600px){
      .rv-hail{left:14px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));
        padding:1.15rem 1.2rem;font-size:.72rem;letter-spacing:.2em;text-align:center}
    }
    @media (prefers-reduced-motion:no-preference){
      .rv-hail.is-on{animation:rvGalleggia 3.6s ease-in-out .8s infinite}
    }
    @keyframes rvGalleggia{0%,100%{translate:0 0}50%{translate:0 -4px}}
    /* il modulo, raggiunto dal pulsante, non finisce sotto la barra in alto */
    #bizFormWrap{scroll-margin-top:70px}

    /* ══ MOVIMENTO LEGATO ALLO SCORRIMENTO (spunto da Lakeside) ══
       Le schede si raddrizzano salendo, le fotografie respirano piano, le voci entrano una per
       una. Lo esegue la scheda grafica, non JavaScript: niente scatti. I browser che non lo
       conoscono ancora (oggi Firefox) mostrano la pagina ferma, identica a prima. */
    /* ══ MOVIMENTO LEGATO ALLO SCORRIMENTO (spunto da Lakeside) ══
       Le schede si raddrizzano salendo,le fotografie respirano piano,le voci entrano una per
       una. Lo esegue la scheda grafica,non JavaScript: niente scatti. I browser che non lo
       conoscono ancora (oggi Firefox) mostrano la pagina ferma{overflow:hidden}
    @supports (animation-timeline: view()){
      @media (prefers-reduced-motion:no-preference){
        
        
        
        
        #bizPage .stp-hero img{animation:rvRespiro linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
        #bizPage .stp-fact{animation:rvVoce linear both;animation-timeline:view();animation-range:entry 0% cover 26%}
      }
    }
    @keyframes rvSale{from{transform:perspective(1100px) rotateX(16deg) translateZ(-110px);opacity:.4}to{transform:none;opacity:1}}
    @keyframes rvScheda{from{opacity:.2;transform:perspective(900px) rotateX(20deg) translate3d(0,34px,-90px)}to{opacity:1;transform:none}}
    @keyframes rvRespiro{from{transform:scale(1.14) translate3d(0,-2%,0)}to{transform:scale(1.02) translate3d(0,2%,0)}}
    @keyframes rvVoce{from{opacity:.15;transform:translate3d(14px,0,0)}to{opacity:1;transform:none}}

    /* ══ INDIRIZZO IN PILLOLA (spunto da Lakeside) ══
       Prima l'indirizzo apriva un menu con due scelte (Google Maps o Apple Maps). Ora è una
       pillola con lo spillo: un tocco apre direttamente le Mappe di Apple su iPhone, iPad e
       Mac, Google Maps su Android e computer. */
    .addr-pill{display:inline-flex;align-items:center;gap:.75rem;margin-top:.45rem;
      padding:.62rem 1rem .62rem 1.15rem;min-height:44px;border-radius:999px;
      background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);
      -webkit-backdrop-filter:saturate(1.4) blur(6px);backdrop-filter:saturate(1.4) blur(6px);
      font-family:'Inter',sans-serif;font-size:.87rem;line-height:1.5;color:var(--wh);text-align:left;text-decoration:none;
      transition:background .25s,border-color .25s,color .25s,transform .2s}
    .addr-pill svg{width:16px;height:16px;flex:none;fill:none;stroke:var(--or);stroke-width:1.6;
      stroke-linecap:round;stroke-linejoin:round;transition:transform .3s cubic-bezier(.2,.7,.3,1)}
    .contact-detail-text a.addr-pill{color:#e8e8e8}
    .addr-pill:hover,.contact-detail-text a.addr-pill:hover{background:rgba(232,86,10,.1);border-color:rgba(232,86,10,.35);color:#fff;text-decoration:none}
    .addr-pill:hover svg{transform:translateY(-2px)}
    .addr-pill:active{transform:scale(.97)}
    .addr-pill:focus-visible{outline:2px solid var(--or);outline-offset:3px}

    /* ══ RECAPITI IN PILLOLA (home) ══
       Tutta la parte dei recapiti segue l'indirizzo: ogni voce è una pillola con la sua icona
       a destra. Telefono ed email si aprono con un tocco; gli orari sono pillole ferme. */
    #contact .contact-detail{display:block;margin-bottom:1.35rem}
    .c-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:.45rem}
    .c-pills--col{flex-direction:column;align-items:flex-start}
    .c-pill,.contact-detail-text a.c-pill{display:inline-flex;align-items:center;gap:.75rem;
      padding:.62rem 1rem .62rem 1.15rem;min-height:44px;border-radius:999px;max-width:100%;
      background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.09);
      -webkit-backdrop-filter:saturate(1.4) blur(6px);backdrop-filter:saturate(1.4) blur(6px);
      font-family:'Inter',sans-serif;font-size:.87rem;line-height:1.5;color:#e8e8e8;text-align:left;text-decoration:none;
      transition:background .25s,border-color .25s,color .25s,transform .2s}
    .c-pill>span{min-width:0;overflow-wrap:anywhere}
    .c-pill svg{width:16px;height:16px;flex:none;fill:none;stroke:var(--or);stroke-width:1.6;
      stroke-linecap:round;stroke-linejoin:round;transition:transform .3s cubic-bezier(.2,.7,.3,1)}
    a.c-pill:hover,.contact-detail-text a.c-pill:hover{background:rgba(232,86,10,.1);border-color:rgba(232,86,10,.35);color:#fff;text-decoration:none}
    a.c-pill:hover svg{transform:translateY(-2px)}
    a.c-pill:active{transform:scale(.97)}
    a.c-pill:focus-visible{outline:2px solid var(--or);outline-offset:3px}
    .c-pill.is-static{cursor:default;color:#d6d6d6}
    .c-pill.is-static svg{stroke:#C9A467}
    .c-pill.is-off{color:var(--mu);background:transparent;border-style:dashed}

    /* ══ NOZZE — pagina unica (spunto da Lakeside): fondo avorio, una sola colonna di lettura ══ */
    #nozzePage.nzx-page{--ivory:#F5F0E8;--paper:#FBF8F3;--ink:#1E1B17;--stone:#6B6358;--line:rgba(30,27,23,.12);
      --gold:#B08A4A;--gold-t:#7C5E28;--night:#141210;--serif:'EB Garamond',Georgia,serif;--sans:'Inter',system-ui,sans-serif;
      background:var(--ivory);color:var(--ink);padding-top:0;font-family:var(--sans);font-size:16px;line-height:1.6}
    #nozzePage [hidden]{display:none!important}
    #nozzePage img{display:block;max-width:100%}
    #nozzePage button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
    #nozzePage .nzx-btn span{display:inline}
    #nozzePage .nzx-tabs{top:72px;z-index:5}
    #nozzePage section{scroll-margin-top:132px}
    #nozzePage .nzx-open-in{padding-top:140px}
    #nozzePage .nzx-wa{display:inline-flex;align-items:center;gap:.7rem;margin-top:22px;min-height:46px;padding:11px 18px 11px 20px;border-radius:999px;
      background:rgba(37,211,102,.1);border:1px solid rgba(37,160,80,.35);color:#1E1B17;text-decoration:none;font-size:14.5px;font-weight:500;transition:background .25s,transform .2s}
    #nozzePage .nzx-wa svg{width:18px;height:18px;fill:none;stroke:#1f9d55;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
    #nozzePage .nzx-wa:hover{background:rgba(37,211,102,.18)}
    #nozzePage .nzx-wa:active{transform:scale(.97)}
    #nozzePage .nzx-glass{cursor:pointer}
    #nozzePage .nzx-need legend small{display:block;font-size:13px;font-weight:400;color:var(--stone)}
    #nozzePage .nzx-btn span{pointer-events:none}
    #nozzePage .nzx-btn[disabled]{opacity:.6;cursor:default}
    #nozzePage .nzx-guest-link span:first-child{border:0}

    /* finta barra del sito, solo per il prototipo */
    #nozzePage .nzx-wrap{width:min(1120px,100% - 44px);margin:0 auto}#nozzePage .nzx-eyebrow{font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-t);
  display:flex;align-items:center;gap:12px;margin-bottom:14px}#nozzePage .nzx-eyebrow::after{content:"";width:48px;height:1px;background:currentColor;opacity:.45}#nozzePage .nzx-eyebrow--light{color:#E6C98F}#nozzePage .nzx-h1{font-family:var(--serif);font-weight:400;font-size:clamp(46px,12vw,96px);line-height:1.02;color:#fff;letter-spacing:-.01em}#nozzePage .nzx-h1 em,
#nozzePage .nzx-h2 em{font-style:italic;color:var(--gold)}#nozzePage .nzx-h1 em{color:#E6C98F}#nozzePage .nzx-h2{font-family:var(--serif);font-weight:400;font-size:clamp(32px,7.4vw,52px);line-height:1.1;letter-spacing:-.005em}#nozzePage .nzx-h2--light{color:#fff}#nozzePage .nzx-h2--light em{color:#E6C98F}#nozzePage .nzx-body{color:var(--stone);font-size:16px;line-height:1.75;margin-top:16px;max-width:34em}#nozzePage .nzx-body--light{color:rgba(255,255,255,.74)}#nozzePage .nzx-lead{color:rgba(255,255,255,.86);font-size:16.5px;line-height:1.7;margin-top:18px;max-width:30em}
    /* ── 1 · apertura ── */
    #nozzePage .nzx-open{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:#222}#nozzePage .nzx-open-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.06);animation:nzxZoom 9s ease-out forwards}
@keyframes nzxZoom{to{transform:scale(1)}}#nozzePage .nzx-open::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,18,16,.25) 0%,rgba(20,18,16,.05) 30%,rgba(20,18,16,.55) 62%,rgba(20,18,16,.9) 100%)}#nozzePage .nzx-open-in{position:relative;z-index:1;width:min(1120px,100% - 44px);margin:0 auto;padding:120px 0 calc(40px + env(safe-area-inset-bottom,0px))}#nozzePage .nzx-choose{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}#nozzePage .nzx-glass{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:12px 20px 12px 16px;border-radius:999px;
  color:#fff;text-decoration:none;font-size:14.5px;font-weight:500;letter-spacing:.01em;
  background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);
  -webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);
  transition:background .25s,border-color .25s,transform .2s}#nozzePage .nzx-glass svg{width:18px;height:18px;flex:none;stroke:#E6C98F;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s cubic-bezier(.2,.7,.3,1)}#nozzePage .nzx-glass:hover{background:rgba(255,255,255,.24);border-color:rgba(255,255,255,.5)}#nozzePage .nzx-glass:hover svg{transform:translateY(-2px)}#nozzePage .nzx-glass:active{transform:scale(.97)}#nozzePage .nzx-guest-link{display:inline-block;margin-top:22px;color:rgba(255,255,255,.8);font-size:14px;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:3px}#nozzePage .nzx-guest-link:hover{color:#fff;border-color:#fff}
    /* ── barra dei capitoli ── */
    #nozzePage .nzx-tabs{position:fixed;top:64px;left:0;right:0;z-index:40;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;
  padding:10px 16px;background:rgba(245,240,232,.9);-webkit-backdrop-filter:saturate(1.5) blur(12px);backdrop-filter:saturate(1.5) blur(12px);
  border-bottom:1px solid var(--line);transform:translateY(-100%);opacity:0;pointer-events:none;
  transition:transform .45s cubic-bezier(.2,.7,.3,1),opacity .3s}#nozzePage .nzx-tabs::-webkit-scrollbar{display:none}#nozzePage .nzx-tabs.is-on{transform:none;opacity:1;pointer-events:auto}#nozzePage .nzx-tabs a{flex:none;padding:8px 14px;border-radius:999px;font-size:13px;font-weight:500;color:var(--stone);text-decoration:none;white-space:nowrap;transition:background .25s,color .25s}#nozzePage .nzx-tabs a.on{background:var(--ink);color:#fff}
    /* ── 2 · servizi ── */
    #nozzePage .nzx-serv{padding:84px 0 20px;scroll-margin-top:118px}#nozzePage .nzx-serv-grid{display:grid;grid-template-columns:1fr;gap:26px;align-items:center}#nozzePage .nzx-shot{border-radius:16px;overflow:hidden;aspect-ratio:4/5;background:#ddd;box-shadow:0 24px 60px rgba(30,27,23,.16)}#nozzePage .nzx-shot img{width:100%;height:100%;object-fit:cover}#nozzePage .nzx-num{font-family:var(--serif);font-style:italic;font-size:18px;color:var(--gold);margin-bottom:6px}#nozzePage .nzx-tags{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}#nozzePage .nzx-tags li{padding:7px 14px;border-radius:999px;font-size:13px;color:var(--ink);background:rgba(30,27,23,.05);border:1px solid rgba(30,27,23,.07)}#nozzePage .nzx-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;margin-top:28px;min-height:52px;padding:16px 34px;border-radius:999px;
  background:var(--ink);color:#fff;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;transition:background .25s,transform .2s}#nozzePage .nzx-btn::after{content:"→";letter-spacing:0;font-size:15px;transition:transform .3s cubic-bezier(.2,.7,.3,1)}#nozzePage .nzx-btn:hover{background:var(--or)}#nozzePage .nzx-btn:hover::after{transform:translateX(4px)}#nozzePage .nzx-btn:active{transform:scale(.97)}#nozzePage .nzx-btn--wide{width:100%}#nozzePage .nzx-passport{margin-top:22px;padding:18px 20px;border-radius:14px;border:1px solid rgba(176,138,74,.45);background:linear-gradient(135deg,rgba(176,138,74,.10),rgba(176,138,74,.02))}#nozzePage .nzx-passport-t{font-family:var(--serif);font-size:19px;margin-bottom:4px}#nozzePage .nzx-passport p:last-child{font-size:14.5px;color:var(--stone);line-height:1.65}
    /* ── 3 · già firmati ── */
    #nozzePage .nzx-done{padding:96px 0 40px}#nozzePage .nzx-rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;
  padding:30px max(22px,calc((100% - 1120px)/2)) 12px;scroll-padding:0 max(22px,calc((100% - 1120px)/2))}#nozzePage .nzx-rail::-webkit-scrollbar{display:none}#nozzePage .nzx-card{flex:0 0 min(82%,340px);scroll-snap-align:start;border-radius:16px;overflow:hidden;background:var(--paper);box-shadow:0 14px 40px rgba(30,27,23,.10)}#nozzePage .nzx-card img{width:100%;aspect-ratio:4/3;object-fit:cover}#nozzePage .nzx-card-in{padding:18px 20px 22px}#nozzePage .nzx-card-k{font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-t)}#nozzePage .nzx-card h3{font-family:var(--serif);font-weight:400;font-size:22px;line-height:1.2;margin:6px 0 12px}#nozzePage .nzx-card ul{list-style:none;display:grid;gap:7px}#nozzePage .nzx-card li{font-size:14px;color:var(--stone);line-height:1.5;padding-left:16px;position:relative}#nozzePage .nzx-card li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--gold)}#nozzePage .nzx-dots{display:flex;justify-content:center;gap:7px;margin-top:10px}#nozzePage .nzx-dots i{width:6px;height:6px;border-radius:99px;background:rgba(30,27,23,.2);transition:width .3s,background .3s}#nozzePage .nzx-dots i.on{width:22px;background:var(--ink)}
    /* ── 4 · invitati ── */
    #nozzePage .nzx-guests{background:var(--night);color:#fff;padding:84px 0;margin-top:70px;scroll-margin-top:118px}#nozzePage .nzx-guests-grid{display:grid;gap:34px}#nozzePage .nzx-ideas{margin-top:18px;font-family:var(--serif);font-style:italic;font-size:17px;color:#E6C98F;line-height:1.6}#nozzePage .nzx-bank{border-top:1px solid rgba(255,255,255,.14)}#nozzePage .nzx-bank>div{display:grid;grid-template-columns:1fr;gap:4px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1)}#nozzePage .nzx-bank dt{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.5)}#nozzePage .nzx-bank dd{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:15.5px;color:#fff;flex-wrap:wrap}#nozzePage .nzx-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14.5px;letter-spacing:.04em;word-break:break-all}#nozzePage .nzx-copy{flex:none;min-height:36px;padding:7px 14px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.08em;
  color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);transition:background .25s,border-color .25s}#nozzePage .nzx-copy:hover{background:rgba(232,86,10,.2);border-color:rgba(232,86,10,.5)}#nozzePage .nzx-copy.done{background:#E6C98F;color:var(--ink);border-color:#E6C98F}#nozzePage .nzx-bank-note{padding-top:16px;font-size:14px;color:rgba(255,255,255,.65);line-height:1.65}#nozzePage .nzx-bank-note a{color:#E6C98F}
    /* ── 5 · modulo ── */
    #nozzePage .nzx-form-sec{padding:96px 0 120px;scroll-margin-top:118px}#nozzePage .nzx-form-grid{display:grid;gap:30px}#nozzePage .nzx-form{display:grid;gap:16px}#nozzePage .nzx-need{border:0}#nozzePage .nzx-need legend{font-size:15px;font-weight:500;margin-bottom:12px}#nozzePage .nzx-need legend span{display:block;font-size:13px;font-weight:400;color:var(--stone)}#nozzePage .nzx-chips{display:flex;flex-wrap:wrap;gap:8px}#nozzePage .nzx-chip{min-height:44px;padding:10px 18px;border-radius:999px;font-size:14px;border:1px solid rgba(30,27,23,.2);background:var(--paper);transition:background .2s,color .2s,border-color .2s}#nozzePage .nzx-chip[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:#fff}#nozzePage .nzx-chip[aria-pressed="true"]::before{content:"";display:inline-block;width:9px;height:5px;margin:0 9px 3px 0;border-left:2px solid #E6C98F;border-bottom:2px solid #E6C98F;transform:rotate(-45deg)}#nozzePage .nzx-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}#nozzePage .nzx-f{display:grid;gap:6px}#nozzePage .nzx-f>span{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--stone)}#nozzePage .nzx-f input,
#nozzePage .nzx-f select,
#nozzePage .nzx-f textarea{width:100%;min-height:50px;padding:13px 16px;border-radius:12px;border:1px solid rgba(30,27,23,.16);
  background:var(--paper);font:inherit;font-size:16px;color:var(--ink);transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}#nozzePage .nzx-f select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237C5E28' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:40px}#nozzePage .nzx-f textarea{resize:vertical;min-height:96px}#nozzePage .nzx-f input:focus,
#nozzePage .nzx-f select:focus,
#nozzePage .nzx-f textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(176,138,74,.2)}#nozzePage .nzx-if{animation:nzxIn .35s ease both}
@keyframes nzxIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}#nozzePage .nzx-privacy{display:flex;gap:12px;align-items:flex-start;font-size:13.5px;color:var(--stone);line-height:1.6;margin-top:4px}#nozzePage .nzx-privacy input{width:20px;height:20px;flex:none;margin-top:2px;accent-color:var(--ink)}#nozzePage .nzx-privacy a{color:var(--gold-t)}#nozzePage .nzx-err{color:#B3261E;font-size:14px}#nozzePage .nzx-sent{padding:28px;border-radius:16px;background:var(--paper);border:1px solid rgba(176,138,74,.4)}#nozzePage .nzx-sent-t{font-family:var(--serif);font-size:28px}
    /* ── pulsante che resta ── */
    #nozzePage .nzx-hail-unused{position:fixed;left:14px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:60;
  min-height:54px;padding:16px 22px;border-radius:999px;background:#C9A467;color:#14110d;
  font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;box-shadow:0 14px 36px rgba(30,27,23,.35);
  opacity:0;transform:translateY(24px) scale(.96);pointer-events:none;visibility:hidden;
  transition:opacity .45s ease,transform .62s cubic-bezier(.34,1.56,.64,1),visibility 0s linear .62s,background .25s}#nozzePage .nzx-hail-unused.is-on{opacity:1;transform:none;pointer-events:auto;visibility:visible;transition:opacity .45s ease,transform .62s cubic-bezier(.34,1.56,.64,1),visibility 0s,background .25s}#nozzePage .nzx-hail-unused:hover{background:#d9b97c}
@media (prefers-reduced-motion:no-preference){#nozzePage .nzx-hail-unused.is-on{animation:nzxFloat 3.6s ease-in-out .8s infinite}}
@keyframes nzxFloat{0%,100%{translate:0 0}50%{translate:0 -4px}}#nozzePage .nzx-toast{position:fixed;left:50%;bottom:90px;transform:translate(-50%,20px);z-index:70;padding:10px 18px;border-radius:999px;background:var(--ink);color:#fff;font-size:13.5px;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s}#nozzePage .nzx-toast.on{opacity:1;transform:translate(-50%,0)}
    /* ── movimento legato allo scorrimento (dove il browser lo sa fare) ── */
    


@supports (animation-timeline: view()){
  @media (prefers-reduced-motion:no-preference){#nozzePage .nzx-shot{animation:nzxSale linear both;animation-timeline:view();animation-range:entry 6% cover 40%}#nozzePage .nzx-shot img{animation:nzxRespiro linear both;animation-timeline:view();animation-range:entry 0% exit 100%}#nozzePage .nzx-serv-txt>*{animation:nzxVoce linear both;animation-timeline:view();animation-range:entry 0% cover 24%}#nozzePage .nzx-card{animation:nzxScheda linear both;animation-timeline:view(inline);animation-range:entry 0% cover 50%}
  }
}
@keyframes nzxSale{from{transform:perspective(1100px) rotateX(14deg) translateZ(-100px);opacity:.35}to{transform:none;opacity:1}}
@keyframes nzxRespiro{from{transform:scale(1.14) translate3d(0,-2%,0)}to{transform:scale(1.02) translate3d(0,2%,0)}}
@keyframes nzxVoce{from{opacity:.1;transform:translate3d(0,22px,0)}to{opacity:1;transform:none}}
@keyframes nzxScheda{from{opacity:.5;transform:scale(.94)}to{opacity:1;transform:none}}
    /* ── computer ── */
    


@media(min-width:900px){#nozzePage .nzx-choose{gap:12px}#nozzePage .nzx-serv{padding:120px 0 40px}#nozzePage .nzx-serv-grid{grid-template-columns:1.05fr 1fr;gap:72px}#nozzePage .nzx-serv--alt .nzx-shot{order:2}#nozzePage .nzx-shot{aspect-ratio:4/4.4}#nozzePage .nzx-guests-grid{grid-template-columns:1fr 1fr;gap:72px;align-items:start}#nozzePage .nzx-bank>div{grid-template-columns:130px 1fr;align-items:center}#nozzePage .nzx-form-grid{grid-template-columns:.9fr 1.1fr;gap:72px;align-items:start}#nozzePage .nzx-hail-unused{left:auto;right:28px;bottom:28px;padding:16px 30px}#nozzePage .nzx-tabs{justify-content:center}
}
@media(max-width:380px){#nozzePage .nzx-row{grid-template-columns:1fr}}
    /* ══ NOZZE: più respiro in alto ══
       Scendendo nella pagina la barra del sito si ritira verso l'alto e restano solo i
       capitoli, come nel prototipo; risalendo anche di poco torna subito. */
    nav#navbar{transition:background .4s,box-shadow .4s,transform .5s cubic-bezier(.2,.7,.3,1)}
    body.nz-nav-hide nav#navbar{transform:translateY(-100%)}
    #nozzePage .nzx-tabs{transition:transform .45s cubic-bezier(.2,.7,.3,1),opacity .3s,top .5s cubic-bezier(.2,.7,.3,1)}
    body.nz-nav-hide #nozzePage .nzx-tabs{top:0}
    #nozzePage section{scroll-margin-top:70px}
    #nozzePage .nzx-btn--gold{background:#C9A467;color:#14110d;margin-top:30px}
    #nozzePage .nzx-btn--gold:hover{background:#d9b97c}

    /* ══ LISTE NOZZE: elenco e pagina della coppia ══ */
    #nzListPage,#nzCouplePage{display:none;position:fixed;inset:0;z-index:400;overflow-y:auto;overflow-x:hidden;flex-direction:column;
      --ivory:#F5F0E8;--paper:#FBF8F3;--ink:#1E1B17;--stone:#6B6358;--gold:#B08A4A;--gold-t:#7C5E28;--night:#141210;
      background:var(--ivory);color:var(--ink);font-family:'Inter',system-ui,sans-serif;font-size:16px;line-height:1.6}
    #nzListPage.open,#nzCouplePage.open{display:flex}
    .nzl-page button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
    .nzl-page img{display:block;max-width:100%}
    .nzl-wrap{width:min(1120px,100% - 44px);margin:0 auto}
    #nzListPage .nzl-wrap{padding:112px 0 110px}
    .nzl-back{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 16px;margin-bottom:34px;border-radius:999px;
      font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);border:1px solid rgba(30,27,23,.18)!important;transition:background .25s}
    .nzl-back:hover{background:rgba(30,27,23,.06)}
    .nzl-back--light{position:absolute;top:92px;left:max(22px,calc((100% - 1120px)/2));z-index:2;color:#fff;border-color:rgba(255,255,255,.4)!important;
      background:rgba(20,18,16,.55)!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
    .nzl-back--light:hover{background:rgba(20,18,16,.75)!important}
    #nzCouplePage .nzl-back--light{color:#fff}
    .nzl-page .nzx-eyebrow{font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--gold-t);display:flex;align-items:center;gap:12px;margin-bottom:14px}
    .nzl-page .nzx-eyebrow::after{content:"";width:48px;height:1px;background:currentColor;opacity:.45}
    .nzl-page .nzx-eyebrow--light{color:#E6C98F}
    .nzl-h1{font-family:'EB Garamond',Georgia,serif;font-weight:400;font-size:clamp(42px,10vw,84px);line-height:1.04;letter-spacing:-.01em}
    .nzl-h1 em,.nzl-h2 em{font-style:italic;color:var(--gold)}
    .nzl-h2{font-family:'EB Garamond',Georgia,serif;font-weight:400;font-size:clamp(30px,6.6vw,46px);line-height:1.1}
    .nzl-h2--light{color:#fff}.nzl-h2--light em{color:#E6C98F}
    .nzl-intro{color:var(--stone);font-size:16px;line-height:1.75;margin-top:16px;max-width:36em}
    .nzl-intro--light{color:rgba(255,255,255,.74)}
    .nzl-grid{display:grid;grid-template-columns:1fr;gap:18px;margin-top:40px}
    .nzl-card{display:block;width:100%;text-align:left;border-radius:16px;overflow:hidden;background:var(--paper);box-shadow:0 14px 40px rgba(30,27,23,.10);
      transition:transform .35s cubic-bezier(.2,.7,.3,1),box-shadow .35s}
    .nzl-card:hover{transform:translateY(-4px);box-shadow:0 22px 50px rgba(30,27,23,.16)}
    .nzl-card:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
    .nzl-card-img{position:relative;aspect-ratio:16/10;overflow:hidden}
    .nzl-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.3,1)}
    .nzl-card:hover .nzl-card-img img{transform:scale(1.04)}
    .nzl-mono{position:absolute;left:18px;top:-28px;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;
      background:var(--ivory);border:1px solid rgba(176,138,74,.55);font-family:'EB Garamond',serif;font-style:italic;font-size:21px;color:var(--gold-t);box-shadow:0 6px 18px rgba(30,27,23,.12)}
    .nzl-card-in{position:relative;padding:38px 20px 22px}
    .nzl-card-t{font-family:'EB Garamond',serif;font-size:24px;line-height:1.2}
    .nzl-card-m{margin-top:6px;font-size:14px;color:var(--stone)}
    .nzl-card-go{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--ink)}
    .nzl-card-go::after{content:"→";letter-spacing:0;font-size:14px;transition:transform .3s cubic-bezier(.2,.7,.3,1)}
    .nzl-card:hover .nzl-card-go::after{transform:translateX(4px)}
    .nzc-hero{position:relative;min-height:74svh;display:flex;align-items:flex-end;overflow:hidden;background:#222;flex-shrink:0}
    .nzc-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
    .nzc-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,18,16,.35) 0%,rgba(20,18,16,.05) 32%,rgba(20,18,16,.6) 70%,rgba(20,18,16,.92) 100%)}
    .nzc-hero-in{position:relative;z-index:1;width:min(1120px,100% - 44px);margin:0 auto;padding:150px 0 38px}
    .nzc-title{display:flex;align-items:center;gap:16px;font-family:'EB Garamond',serif;font-weight:400;font-size:clamp(40px,9.5vw,76px);line-height:1.05;color:#fff}
    .nzc-mono{flex:none;width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid rgba(230,201,143,.7);
      font-style:italic;font-size:24px;color:#E6C98F;background:rgba(20,18,16,.35);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
    .nzc-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
    .nzc-meta span{padding:8px 15px;border-radius:999px;font-size:13.5px;color:#fff;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
    .nzc-sec{padding:84px 0 70px}
    .nzc-sec--paper{background:var(--paper)}
    .nzc-two{display:grid;gap:30px}
    .nzc-stops{list-style:none;counter-reset:none;border-left:1px solid rgba(176,138,74,.45);margin-left:6px}
    .nzc-stops li{position:relative;padding:0 0 30px 26px}
    .nzc-stops li:last-child{padding-bottom:0}
    .nzc-stops li::before{content:"";position:absolute;left:-6px;top:6px;width:11px;height:11px;border-radius:50%;background:var(--ivory);border:2px solid var(--gold)}
    .nzc-day{font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-t)}
    .nzc-place{display:block;font-family:'EB Garamond',serif;font-size:24px;line-height:1.25;margin:4px 0 6px}
    .nzc-line{color:var(--stone);font-size:15px;line-height:1.7}
    .nzc-about{font-family:'EB Garamond',Georgia,serif;font-style:italic;font-size:clamp(20px,4.6vw,26px);line-height:1.55;color:var(--ink);max-width:30em}
    .nzc-sec--gift{padding:60px 0}
    .nzc-giftbox{max-width:760px;margin:0 auto;padding:22px 22px;border-radius:18px;background:var(--paper);border:1px solid rgba(176,138,74,.4)}
    .nzc-giftbox-hd{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 20px}
    .nzc-gq{font-family:'EB Garamond',Georgia,serif;font-size:20px;line-height:1.3}
    .nzc-gs{margin-top:4px;font-size:14px;color:var(--stone)}
    .nzc-gtoggle{min-height:44px;padding:10px 20px;border-radius:999px;border:1px solid rgba(30,27,23,.22)!important;font-size:12px!important;font-weight:600;
      letter-spacing:.14em;text-transform:uppercase;transition:background .25s}
    .nzc-gtoggle:hover{background:rgba(30,27,23,.06)!important}
    .nzc-gform{display:grid;gap:12px;margin-top:18px;animation:nzcIn .35s ease both}
    @keyframes nzcIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
    .nzl-page [hidden]{display:none!important}
    .nzc-grow{display:grid;grid-template-columns:1fr;gap:12px}
    .nzc-f{display:grid;gap:6px}
    .nzc-f>span{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--stone)}
    .nzc-f input,.nzc-f textarea{width:100%;min-height:48px;padding:12px 15px;border-radius:12px;border:1px solid rgba(30,27,23,.16);background:#fff;
      font:inherit;font-size:16px;color:var(--ink);-webkit-appearance:none;appearance:none}
    .nzc-f textarea{min-height:76px;resize:vertical}
    .nzc-f input:focus,.nzc-f textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(176,138,74,.2)}
    .nzc-priv{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--stone);line-height:1.55}
    .nzc-priv input{width:19px;height:19px;flex:none;margin-top:2px;accent-color:var(--ink)}
    .nzc-priv a{color:var(--gold-t)}
    .nzc-gerr{color:#B3261E;font-size:14px}
    .nzc-gsend{justify-self:start;min-height:46px;padding:12px 28px;border-radius:999px;background:var(--ink)!important;color:#fff!important;font-size:12px!important;
      font-weight:600;letter-spacing:.16em;text-transform:uppercase;transition:background .25s}
    .nzc-gsend:hover{background:#E8560A!important}
    .nzc-gsend[disabled]{opacity:.6}
    .nzc-gsent{margin-top:14px;padding:14px 16px;border-radius:12px;background:rgba(176,138,74,.12);font-size:15px;line-height:1.6}
    @media(min-width:700px){ .nzc-grow{grid-template-columns:1fr 1fr} .nzc-giftbox{padding:26px 30px} }
    .nzc-how{background:var(--night);color:#fff;padding:84px 0 110px}
    .nzc-bank{border-top:1px solid rgba(255,255,255,.14)}
    .nzc-bank>div{display:grid;gap:4px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.1)}
    .nzc-bank dt{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.5)}
    .nzc-bank dd{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:15.5px}
    .nzc-ref{font-size:15.5px;color:#E6C98F}
    .nzc-refrow.flash{animation:nzcFlash 1.4s ease}
    @keyframes nzcFlash{0%{background:rgba(230,201,143,.22)}100%{background:transparent}}
    .nzl-page .nzx-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14.5px;letter-spacing:.04em;word-break:break-all}
    .nzl-page .nzx-copy{flex:none;min-height:36px;padding:7px 14px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.08em;color:#fff;
      background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.18)!important;transition:background .25s}
    .nzl-page .nzx-copy.done{background:#E6C98F!important;color:#1E1B17;border-color:#E6C98F!important}
    .nzl-page .nzx-bank-note{padding-top:16px;font-size:14px;color:rgba(255,255,255,.65);line-height:1.65}
    .nzl-page .nzx-wa{display:inline-flex;align-items:center;gap:.7rem;margin-top:24px;min-height:46px;padding:11px 18px 11px 20px;border-radius:999px;text-decoration:none;font-size:14.5px;font-weight:500}
    .nzl-page .nzx-wa svg{width:18px;height:18px;fill:none;stroke:#3ddc84;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
    .nzl-page .nzx-wa--dark{color:#fff;background:rgba(61,220,132,.1);border:1px solid rgba(61,220,132,.35)}
    .nzl-page .nzx-toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,20px);z-index:70;padding:10px 18px;border-radius:999px;background:#1E1B17;color:#fff;font-size:13.5px;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s}
    .nzl-page .nzx-toast.on{opacity:1;transform:translate(-50%,0)}
    @media(min-width:700px){ .nzl-grid{grid-template-columns:repeat(2,1fr)} }
    @media(min-width:1000px){ .nzl-grid{grid-template-columns:repeat(3,1fr)} .nzc-two{grid-template-columns:.8fr 1.2fr;gap:72px;align-items:start} }

    /* ══ BUSINESS TRAVEL — scura, in chiave tech ══
       Stessa struttura della pagina Nozze (apertura, capitoli, una sola colonna di lettura,
       un solo modulo) ma notturna: griglia sottile, caratteri a spaziatura fissa per orari
       e indici, luce arancio del marchio. */
    #bizPage.bzx-page{--bg:#07090c;--panel:#0d1117;--line:rgba(255,255,255,.08);--txt:#e8ecef;--mut:#8b96a1;--or:#E8560A;--or2:#ff8a3d;
      --mono:ui-monospace,'SF Mono',SFMono-Regular,Menlo,Consolas,monospace;
      background:var(--bg);color:var(--txt);padding-top:0;font-family:'Inter',system-ui,sans-serif;font-size:16px;line-height:1.6}
    #bizPage [hidden]{display:none!important}
    #bizPage img{display:block;max-width:100%}
    #bizPage .bzx-wrap{width:min(1120px,100% - 44px);margin:0 auto}
    /* apertura */
    #bizPage .bzx-open{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:#000;flex-shrink:0}
    #bizPage .bzx-open-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:grayscale(.35) contrast(1.05) brightness(.8);transform:scale(1.06);animation:bzxZoom 10s ease-out forwards}
    @keyframes bzxZoom{to{transform:scale(1)}}
    #bizPage .bzx-open::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,9,12,.55) 0%,rgba(7,9,12,.2) 30%,rgba(7,9,12,.75) 64%,#07090c 100%)}
    #bizPage .bzx-grid-bg{position:absolute;inset:0;z-index:1;pointer-events:none;
      background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);
      background-size:56px 56px;-webkit-mask-image:radial-gradient(ellipse at 70% 30%,#000 0%,transparent 70%);mask-image:radial-gradient(ellipse at 70% 30%,#000 0%,transparent 70%)}
    #bizPage .bzx-grid-bg::after{content:"";position:absolute;left:0;right:0;height:120px;top:-120px;
      background:linear-gradient(180deg,transparent,rgba(232,86,10,.10),transparent);animation:bzxScan 7s linear infinite}
    @keyframes bzxScan{to{transform:translateY(calc(100svh + 120px))}}
    #bizPage .bzx-open-in{position:relative;z-index:2;width:min(1120px,100% - 44px);margin:0 auto;padding:140px 0 calc(40px + env(safe-area-inset-bottom,0px))}
    #bizPage .bzx-eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--or2);
      padding:6px 12px;border:1px solid rgba(232,86,10,.35);border-radius:999px;background:rgba(232,86,10,.08)}
    #bizPage .bzx-dot{width:7px;height:7px;border-radius:50%;background:var(--or);box-shadow:0 0 0 0 rgba(232,86,10,.6);animation:bzxPulse 2s ease-out infinite}
    @keyframes bzxPulse{0%{box-shadow:0 0 0 0 rgba(232,86,10,.6)}100%{box-shadow:0 0 0 10px rgba(232,86,10,0)}}
    #bizPage .bzx-h1{margin-top:22px;font-family:'Inter',system-ui,sans-serif;font-weight:600;font-size:clamp(40px,9.6vw,84px);line-height:1.02;letter-spacing:-.035em;color:#fff}
    #bizPage .bzx-h1 em,#bizPage .bzx-h2 em{font-style:normal;background:linear-gradient(90deg,var(--or),var(--or2) 60%,#ffc48a);-webkit-background-clip:text;background-clip:text;color:transparent}
    #bizPage .bzx-lead{margin-top:20px;max-width:34em;color:rgba(232,236,239,.82);font-size:16.5px;line-height:1.7}
    #bizPage .bzx-choose{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
    #bizPage .bzx-glass{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:12px 20px 12px 14px;border-radius:12px;color:#fff;text-decoration:none;font-size:14.5px;font-weight:500;
      background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:border-color .25s,background .25s,transform .2s}
    #bizPage .bzx-glass:hover{border-color:rgba(232,86,10,.6);background:rgba(232,86,10,.1)}
    #bizPage .bzx-glass:active{transform:scale(.97)}
    #bizPage .bzx-glass--or{background:var(--or);border-color:var(--or)}
    #bizPage .bzx-glass--or:hover{background:#ff6b1f}
    #bizPage .bzx-k{font-family:var(--mono);font-size:11px;color:var(--or2);letter-spacing:.08em}
    #bizPage .bzx-glass--or .bzx-k{color:rgba(255,255,255,.75)}
    /* capitoli */
    #bizPage .bzx-tabs{position:fixed;top:72px;left:0;right:0;z-index:5;display:flex;justify-content:center;gap:6px;overflow-x:auto;scrollbar-width:none;padding:10px 16px;
      background:rgba(7,9,12,.82);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line);
      transform:translateY(-100%);opacity:0;pointer-events:none;transition:transform .45s cubic-bezier(.2,.7,.3,1),opacity .3s,top .5s cubic-bezier(.2,.7,.3,1)}
    #bizPage .bzx-tabs::-webkit-scrollbar{display:none}
    #bizPage .bzx-tabs.is-on{transform:none;opacity:1;pointer-events:auto}
    body.nz-nav-hide #bizPage .bzx-tabs{top:0}
    #bizPage .bzx-tabs a{flex:none;padding:8px 14px;border-radius:999px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--mut);text-decoration:none;white-space:nowrap;transition:background .25s,color .25s}
    #bizPage .bzx-tabs a.on{background:rgba(232,86,10,.16);color:#fff;box-shadow:inset 0 0 0 1px rgba(232,86,10,.5)}
    /* sezioni */
    #bizPage .bzx-sec{padding:96px 0 40px;scroll-margin-top:70px}
    #bizPage .bzx-label{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--or2);margin-bottom:14px}
    #bizPage .bzx-h2{font-family:'Inter',system-ui,sans-serif;font-weight:600;font-size:clamp(30px,6.6vw,52px);line-height:1.08;letter-spacing:-.03em;color:#fff}
    #bizPage .bzx-sub{margin-top:16px;max-width:36em;color:var(--mut);font-size:16px;line-height:1.75}
    #bizPage .bzx-facts{display:grid;grid-template-columns:1fr;gap:12px;margin-top:36px}
    #bizPage .bzx-fact{position:relative;padding:22px 22px 22px 22px;border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,.015));border:1px solid var(--line);overflow:hidden;transition:border-color .3s,transform .3s}
    #bizPage .bzx-fact::before{content:"";position:absolute;inset:0;background:radial-gradient(420px circle at 0% 0%,rgba(232,86,10,.14),transparent 45%);opacity:0;transition:opacity .4s}
    #bizPage .bzx-fact:hover{border-color:rgba(232,86,10,.45);transform:translateY(-3px)}
    #bizPage .bzx-fact:hover::before{opacity:1}
    #bizPage .bzx-fact svg{width:26px;height:26px;fill:none;stroke:var(--or2);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin-bottom:16px}
    #bizPage .bzx-idx{position:absolute;top:18px;right:20px;font-family:var(--mono);font-size:12px;color:rgba(255,255,255,.3)}
    #bizPage .bzx-fact h3{font-family:var(--mono);font-weight:500;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
    #bizPage .bzx-fact p{margin-top:6px;font-size:17px;line-height:1.5;color:#fff}
    /* la giornata */
    #bizPage .bzx-steps{list-style:none;margin-top:44px;position:relative}
    #bizPage .bzx-steps::before{content:"";position:absolute;left:36px;top:6px;bottom:6px;width:1px;background:linear-gradient(180deg,rgba(232,86,10,.7),rgba(255,255,255,.08))}
    #bizPage .bzx-step{position:relative;display:grid;grid-template-columns:74px 1fr;gap:14px;padding-bottom:22px}
    #bizPage .bzx-time{position:relative;z-index:1;align-self:start;justify-self:start;font-family:var(--mono);font-size:14px;color:var(--mut);padding:6px 9px;border-radius:8px;
      background:var(--bg);border:1px solid var(--line);transition:color .4s,border-color .4s,box-shadow .4s}
    #bizPage .bzx-step.lit .bzx-time{color:#fff;border-color:rgba(232,86,10,.7);box-shadow:0 0 22px rgba(232,86,10,.35)}
    #bizPage .bzx-card{padding:20px 20px 18px;border-radius:14px;background:var(--panel);border:1px solid var(--line);transition:border-color .4s,transform .5s cubic-bezier(.2,.7,.3,1),opacity .5s;opacity:.55;transform:translateY(10px)}
    #bizPage .bzx-step.lit .bzx-card{opacity:1;transform:none;border-color:rgba(255,255,255,.12)}
    #bizPage .bzx-card h3{font-family:'Inter',system-ui,sans-serif;font-weight:600;font-size:19px;line-height:1.3;letter-spacing:-.01em;color:#fff;margin-bottom:12px}
    #bizPage .bzx-row{display:grid;gap:6px;padding:12px 0;border-top:1px dashed rgba(255,255,255,.1)}
    #bizPage .bzx-row p{font-size:15px;line-height:1.65}
    #bizPage .bzx-row--them p{color:var(--mut)}
    #bizPage .bzx-row--us p{color:#fff}
    #bizPage .bzx-tag{justify-self:start;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;padding:3px 8px;border-radius:6px}
    #bizPage .bzx-row--them .bzx-tag{color:#ffb4a8;background:rgba(255,99,71,.1);border:1px solid rgba(255,99,71,.25)}
    #bizPage .bzx-row--us .bzx-tag{color:#fff;background:rgba(232,86,10,.22);border:1px solid rgba(232,86,10,.55)}
    /* modulo */
    #bizPage .bzx-sec--form{padding:96px 0 130px}
    #bizPage .bzx-form-grid{display:grid;gap:30px}
    #bizPage .bzx-panel{padding:22px;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.1);box-shadow:0 30px 80px rgba(0,0,0,.45)}
    #bizPage .bzx-form{display:grid;gap:14px}
    #bizPage .bzx-form .form-row{display:grid;grid-template-columns:1fr;gap:14px;margin:0}
    #bizPage .bzx-form .form-field{display:grid;gap:6px;margin:0}
    #bizPage .bzx-form label{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
    #bizPage .bzx-form input:not([type=checkbox]),#bizPage .bzx-form select,#bizPage .bzx-form textarea{width:100%;min-height:50px;padding:13px 15px;border-radius:10px;
      background:#0a0e13;border:1px solid rgba(255,255,255,.12);color:#fff;font:inherit;font-size:16px;transition:border-color .2s,box-shadow .2s}
    #bizPage .bzx-form input:focus,#bizPage .bzx-form select:focus,#bizPage .bzx-form textarea:focus{outline:none;border-color:var(--or);box-shadow:0 0 0 3px rgba(232,86,10,.22)}
    #bizPage .bzx-form .form-privacy{display:flex;gap:10px;align-items:flex-start;margin:2px 0 4px}
    #bizPage .bzx-form .form-privacy label{font-family:'Inter',system-ui,sans-serif;font-size:13px;letter-spacing:0;text-transform:none;color:var(--mut);line-height:1.6}
    #bizPage .bzx-form .form-privacy input{width:19px;height:19px;flex:none;margin-top:2px;accent-color:var(--or)}
    #bizPage .bzx-form .form-privacy a{color:var(--or2)}
    #bizPage .bzx-form .form-submit{width:100%;min-height:54px;border-radius:12px;background:var(--or);color:#fff;border:0;font-family:var(--mono);font-size:13px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;
      box-shadow:0 12px 34px rgba(232,86,10,.35);transition:background .25s,transform .2s}
    #bizPage .bzx-form .form-submit:hover{background:#ff6b1f}
    #bizPage .bzx-form .form-submit:active{transform:scale(.98)}
    #bizPage #bizOk{color:var(--or2)!important}
    @supports (animation-timeline: view()){
      @media (prefers-reduced-motion:no-preference){
        #bizPage .bzx-fact{animation:rvVoce linear both;animation-timeline:view();animation-range:entry 0% cover 26%}
      }
    }
    @media (prefers-reduced-motion:reduce){
      #bizPage .bzx-grid-bg::after,#bizPage .bzx-dot{animation:none}
      #bizPage .bzx-card{opacity:1;transform:none}
    }
    @media(min-width:700px){
      #bizPage .bzx-facts{grid-template-columns:repeat(2,1fr)}
      #bizPage .bzx-form .form-row{grid-template-columns:1fr 1fr}
      #bizPage .bzx-step{grid-template-columns:96px 1fr;gap:22px}
      #bizPage .bzx-steps::before{left:46px}
      #bizPage .bzx-row{grid-template-columns:150px 1fr;align-items:start;gap:14px}
      #bizPage .bzx-panel{padding:30px}
    }
    @media(min-width:1000px){
      #bizPage .bzx-facts{grid-template-columns:repeat(4,1fr)}
      #bizPage .bzx-form-grid{grid-template-columns:.85fr 1.15fr;gap:72px;align-items:start}
      #bizPage .bzx-steps{max-width:880px}
    }
    /* ══ CHI SIAMO e SERVIZI: stesso sistema di Nozze e Business Travel, nei colori del sito ══ */
    #aboutPage.pgx-page,#servicesPage.pgx-page{padding-top:0}
    .pgx-page .pgx-open{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;background:#000;flex-shrink:0}
    .pgx-page .pgx-open-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.06);animation:pgxZoom 10s ease-out forwards}
    @keyframes pgxZoom{to{transform:scale(1)}}
    .pgx-page .pgx-open::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,8,8,.45) 0%,rgba(8,8,8,.1) 30%,rgba(8,8,8,.7) 64%,#080808 100%)}
    #aboutPage .pgx-open::after{background:linear-gradient(90deg,rgba(8,8,8,.6) 0%,rgba(8,8,8,.15) 55%,transparent 80%),linear-gradient(180deg,rgba(8,8,8,.45) 0%,rgba(8,8,8,.1) 30%,rgba(8,8,8,.7) 64%,#080808 100%)}
    .pgx-page .pgx-open--type{min-height:92svh;background:radial-gradient(ellipse at 75% 20%,rgba(232,86,10,.16),transparent 55%),#080808}
    .pgx-page .pgx-open--type::after{background:linear-gradient(180deg,transparent 60%,#080808 100%)}
    .pgx-page .svx-rose{position:absolute;right:-18vw;top:6vh;width:min(95vw,760px);height:auto;opacity:.12;animation:pgxRose 90s linear infinite}
    @keyframes pgxRose{to{transform:rotate(360deg)}}
    .pgx-page .pgx-open-in{position:relative;z-index:2;width:min(1120px,100% - 44px);margin:0 auto;padding:140px 0 calc(40px + env(safe-area-inset-bottom,0px))}
    .pgx-page .pgx-eyebrow{font-size:11px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--or);display:flex;align-items:center;gap:12px;margin-bottom:16px}
    .pgx-page .pgx-eyebrow::after{content:"";width:48px;height:1px;background:currentColor;opacity:.5}
    .pgx-page .pgx-h1{font-family:'EB Garamond',Georgia,serif;font-weight:400;font-size:clamp(42px,10.5vw,92px);line-height:1.03;letter-spacing:-.01em;color:#fff;max-width:14em}
    .pgx-page .pgx-h1 em,.pgx-page .pgx-h2 em{font-style:italic;color:var(--or)}
    .pgx-page .pgx-lead{margin-top:20px;max-width:32em;color:rgba(255,255,255,.82);font-size:16.5px;line-height:1.7}
    #aboutPage .pgx-lead{font-family:'EB Garamond',Georgia,serif;font-style:italic;font-size:clamp(18px,4.4vw,22px);line-height:1.55}
    .pgx-page .pgx-choose{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
    .pgx-page .pgx-glass{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:12px 20px 12px 16px;border-radius:999px;color:#fff;text-decoration:none;font-size:14.5px;font-weight:500;
      background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);-webkit-backdrop-filter:saturate(1.4) blur(10px);backdrop-filter:saturate(1.4) blur(10px);transition:background .25s,border-color .25s,transform .2s}
    .pgx-page .pgx-glass:hover{background:rgba(232,86,10,.18);border-color:rgba(232,86,10,.6)}
    .pgx-page .pgx-glass:active{transform:scale(.97)}
    .pgx-page .pgx-k{font-family:'EB Garamond',serif;font-style:italic;font-size:13px;color:var(--or)}
    .pgx-page .pgx-tabs{position:fixed;top:72px;left:0;right:0;z-index:5;display:flex;justify-content:center;gap:6px;overflow-x:auto;scrollbar-width:none;padding:10px 16px;
      background:rgba(8,8,8,.84);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid rgba(255,255,255,.08);
      transform:translateY(-100%);opacity:0;pointer-events:none;transition:transform .45s cubic-bezier(.2,.7,.3,1),opacity .3s,top .5s cubic-bezier(.2,.7,.3,1)}
    .pgx-page .pgx-tabs::-webkit-scrollbar{display:none}
    .pgx-page .pgx-tabs.is-on{transform:none;opacity:1;pointer-events:auto}
    body.nz-nav-hide .pgx-page .pgx-tabs{top:0}
    .pgx-page .pgx-tabs a{flex:none;padding:8px 14px;border-radius:999px;font-size:13px;font-weight:500;color:rgba(255,255,255,.62);text-decoration:none;white-space:nowrap;transition:background .25s,color .25s}
    .pgx-page .pgx-tabs a.on{background:var(--or);color:#fff}
    @media(max-width:899px){ .pgx-page .pgx-tabs{justify-content:flex-start} }
    .pgx-page .pgx-sec{padding:84px 0 20px;scroll-margin-top:70px}
    .pgx-page .pgx-sec>.reveal,.pgx-page .pgx-sec>div{margin-top:0!important}
    #aboutPage .aboutpage-body,#servicesPage .servicespage-body{padding-top:0}
    /* chi siamo: il racconto in una colonna di lettura */
    #aboutPage .pgx-chi-in{max-width:720px}
    #aboutPage .pgx-chi .about-badge{position:static;display:inline-flex;align-items:baseline;gap:10px;margin-bottom:26px;padding:10px 18px;border-radius:999px;background:rgba(232,86,10,.12);border:1px solid rgba(232,86,10,.4);color:#fff;font-size:14px;font-weight:600}
    #aboutPage .pgx-chi .about-badge .ab-sub{font-family:'EB Garamond',serif;font-style:italic;font-weight:400;color:var(--or)}
    #aboutPage .pgx-chi .section-body{font-size:clamp(17px,3.9vw,20px);line-height:1.75;color:rgba(255,255,255,.82);max-width:none}
    #aboutPage .pgx-chi .about-sig{margin-top:30px}
    /* servizi: le voci diventano schede in griglia */
    #servicesPage .servicespage-body{max-width:1120px;width:min(1120px,100% - 44px);padding-left:0;padding-right:0}
    #servicesPage .services-group{padding:84px 0 10px;scroll-margin-top:70px}
    #servicesPage .services-list{display:grid;grid-template-columns:1fr;gap:12px;margin-top:26px}
    #servicesPage .service-row{padding:22px 22px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.01));
      transition:border-color .3s,transform .3s}
    #servicesPage .service-row:hover{padding-left:22px;border-color:rgba(232,86,10,.45);transform:translateY(-3px)}
    #servicesPage .services-cta{margin:70px 0 30px;padding:40px 24px;border-radius:20px;text-align:center;scroll-margin-top:70px;
      background:radial-gradient(ellipse at 50% 0%,rgba(232,86,10,.18),transparent 70%),rgba(255,255,255,.03);border:1px solid rgba(232,86,10,.3)}
    #servicesPage .services-cta .dest-open-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;max-width:100%;padding:15px 30px;border-radius:999px;border:0;
      background:var(--or);color:#fff;text-decoration:none;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;line-height:1.35;text-align:center;
      box-shadow:0 12px 34px rgba(232,86,10,.35);transition:background .25s,transform .2s}
    #servicesPage .services-cta .dest-open-btn:hover{background:#ff6b1f}
    #servicesPage .services-cta p{font-family:'EB Garamond',serif;font-size:clamp(22px,5vw,30px);line-height:1.35;color:#fff;margin-bottom:22px}
    /* chiusura con i contatti */
    .pgx-page .pgx-cta{margin:40px 0 60px;padding:44px 24px;border-radius:20px;text-align:center;
      background:radial-gradient(ellipse at 50% 0%,rgba(232,86,10,.18),transparent 70%),rgba(255,255,255,.03);border:1px solid rgba(232,86,10,.3)}
    .pgx-page .pgx-h2{font-family:'EB Garamond',Georgia,serif;font-weight:400;font-size:clamp(30px,6.6vw,48px);line-height:1.1;color:#fff}
    .pgx-page .pgx-sub{margin:16px auto 0;max-width:32em;color:rgba(255,255,255,.72);font-size:16px;line-height:1.7}
    .pgx-page .pgx-cta-row{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:24px}
    .pgx-page .pgx-btn{margin-top:22px;min-height:52px;padding:15px 34px;border-radius:999px;border:0;background:var(--or);color:#fff;font:inherit;font-size:12px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;cursor:pointer;
      box-shadow:0 12px 34px rgba(232,86,10,.35);transition:background .25s,transform .2s}
    .pgx-page .pgx-btn:hover{background:#ff6b1f}
    .pgx-page .pgx-btn:active{transform:scale(.97)}
    @media(min-width:760px){ #servicesPage .services-list{grid-template-columns:1fr 1fr} }
    @media (prefers-reduced-motion:reduce){ .pgx-page .svx-rose,.pgx-page .pgx-open-img{animation:none} }

    /* ══ TELEFONO: ritocchi dalla verifica a 360 / 390 / 430 px ══ */
    /* Fascia dei numeri in home: sui telefoni grandi (430 px) si metteva su 3 + 1 e il
       "5.000+" sforava di 9 px, allargando tutta la pagina (si poteva trascinare di lato).
       Su telefono ora è sempre una griglia 2 × 2. */
    @media(max-width:600px){
      .stats-bar{display:grid;grid-template-columns:1fr 1fr}
      .stat-item{min-width:0;border-right:1px solid var(--bd);border-bottom:1px solid var(--bd)}
      .stat-item:nth-child(2n){border-right:none}
      .stat-item:nth-last-child(-n+2){border-bottom:none}
    }
    /* Apertura Nozze su telefoni bassi (640 px): il riquadro non poteva crescere oltre
       l'altezza dello schermo e l'inizio del testo finiva sotto la barra del sito. */
    #nozzePage .nzx-open{flex-shrink:0}
    /* voci toccabili almeno 40 px: capitoli, copia, link per gli invitati */
    #nozzePage .nzx-tabs a,#bizPage .bzx-tabs a,.pgx-page .pgx-tabs a{min-height:40px;display:inline-flex;align-items:center}
    #nozzePage .nzx-copy,.nzl-page .nzx-copy{min-height:40px}
    #nozzePage .nzx-guest-link{padding:10px 0 6px}
    /* testi minimi leggibili nelle parti storiche di Chi siamo */
    @media(max-width:600px){
      #aboutPage .hall-open,#aboutPage .tm-label{font-size:11px}
      #aboutPage .tm-count,#aboutPage .section-eyebrow,#aboutPage .team-row-more{font-size:11px}
    }

    /* ══ UN SOLO CARATTERE ELEGANTE ══
       Titoli, citazioni e numeri in EB Garamond (lo stesso di Lakeside), testi e
       pulsanti in Inter. Business Travel perde i caratteri "da terminale". */
    #bizPage.bzx-page{--mono:'Inter',system-ui,sans-serif}
    #bizPage .bzx-h1,#bizPage .bzx-h2{font-family:'EB Garamond',Georgia,serif;font-weight:500;letter-spacing:-.005em;line-height:1.02}
    #bizPage .bzx-h1{font-size:clamp(46px,11vw,96px)}
    #bizPage .bzx-h2{font-size:clamp(34px,7.4vw,58px);line-height:1.06}
    #bizPage .bzx-h1 em,#bizPage .bzx-h2 em{font-style:italic;font-weight:500}
    #bizPage .bzx-card h3{font-family:'EB Garamond',Georgia,serif;font-weight:600;font-size:23px;letter-spacing:0}
    #bizPage .bzx-fact p{font-family:'EB Garamond',Georgia,serif;font-size:21px;line-height:1.35}
    #bizPage .bzx-time{font-variant-numeric:tabular-nums;letter-spacing:.04em}
    #bizPage .bzx-label,#bizPage .bzx-eyebrow,#bizPage .bzx-tabs a,#bizPage .bzx-tag,#bizPage .bzx-fact h3,#bizPage .bzx-k,#bizPage .bzx-form label{letter-spacing:.14em}
    #bizPage .bzx-tabs a{letter-spacing:.04em}
    #bizPage .bzx-form .form-submit{letter-spacing:.16em;font-weight:600}
    .nzx-mono,.nzl-page .nzx-mono,#nozzePage .nzx-mono{font-family:'Inter',system-ui,sans-serif!important;font-variant-numeric:tabular-nums;letter-spacing:.06em}

    /* ══ NIENTE ALONI ARANCIONI su pulsanti, badge e orari ══ */
    .btn-primary,.btn-primary:hover,.btn-primary:focus,.dest-open-btn,.dest-open-btn:hover,.form-submit,.form-submit:hover,
    .about-badge,.day-badge,.pgx-page .pgx-btn,.pgx-page .pgx-btn:hover,#bizPage .bzx-form .form-submit,#bizPage .bzx-form .form-submit:hover,
    #servicesPage .services-cta .dest-open-btn,#bizPage .bzx-step.lit .bzx-time,#aboutPage .pgx-chi .about-badge{box-shadow:none!important}
    #bizPage .bzx-dot{animation:none;box-shadow:none}

    /* ══ BARRA DI SCORRIMENTO INTERA ══
       Sul computer le pagine interne scorrono dentro un proprio riquadro: la barra del sito,
       fissata sopra, ne copriva l'inizio della barra di scorrimento. Ora barra del sito,
       capitoli e pulsante che resta si fermano prima della barra di scorrimento. */
    body.modal-open nav#navbar{right:var(--sbw,0px)}
    .nzx-tabs,#nozzePage .nzx-tabs,#bizPage .bzx-tabs,.pgx-page .pgx-tabs{right:var(--sbw,0px)}
    .pgx-page .pgx-tabs{top:72px}
    @media(min-width:601px){ body.modal-open .rv-hail{right:calc(28px + var(--sbw,0px))} }

    /* ══ VIAGGI STUDIO con lo stesso sistema ══ */
    #studioPage.pgx-page,#studioIrePage.pgx-page,#studioUkPage.pgx-page{padding-top:0}
    #studioPage .servicespage-body,#studioIrePage .servicespage-body,#studioUkPage .servicespage-body{max-width:1120px;width:min(1120px,100% - 44px);padding:0 0 60px}
    .pgx-page .pgx-back{position:absolute;top:92px;left:max(22px,calc((100% - 1120px)/2));z-index:3;display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 16px;border-radius:999px;
      font:inherit;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#fff;cursor:pointer;
      background:rgba(8,8,8,.55);border:1px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
    .pgx-page .pgx-back:hover{background:rgba(8,8,8,.75)}
    #studioPage .studio-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-top:22px}
    #studioPage .studio-card{position:relative;padding:0 0 22px;border-radius:18px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.03);transition:border-color .3s,transform .3s}
    #studioPage .studio-card:hover{border-color:rgba(232,86,10,.45);transform:translateY(-3px)}
    #studioPage .stx-card-img{display:block;aspect-ratio:16/9;overflow:hidden;margin-bottom:18px}
    #studioPage .stx-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.3,1)}
    #studioPage .studio-card:hover .stx-card-img img{transform:scale(1.04)}
    #studioPage .studio-card .studio-flag,#studioPage .studio-card h3,#studioPage .studio-card p,#studioPage .studio-card .link-or{margin-left:22px;margin-right:22px}
    #studioPage .studio-card h3{font-family:'EB Garamond',Georgia,serif;font-size:30px;font-weight:500}
    #studioPage .stx-partner{max-width:760px;margin:0 auto;text-align:center}
    #studioPage .stx-logo{display:inline-block;margin:10px auto 22px;padding:18px 26px;border-radius:18px;background:#fff;transition:transform .3s}
    #studioPage .stx-logo:hover{transform:translateY(-2px)}
    #studioPage .stx-logo img{display:block;width:min(280px,64vw);height:auto}
    #studioPage .stx-partner-b{font-family:'EB Garamond',Georgia,serif;font-size:clamp(20px,4.4vw,25px);line-height:1.5;color:rgba(255,255,255,.86)}
    #studioPage .stx-partner-link{display:inline-block;margin-top:18px;color:var(--or);text-decoration:none;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:10px 0}
    #studioPage .stx-partner-link:hover{text-decoration:underline}
    #studioIrePage .stp-form-wrap,#studioUkPage .stp-form-wrap{scroll-margin-top:70px;margin-top:70px}
    @media(min-width:760px){ #studioPage .studio-grid{grid-template-columns:1fr 1fr} }

    /* ══ LISTE NOZZE: proposte da scorrere ══ */
    .nzl-page .nzl-rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;
      padding:8px max(22px,calc((100% - 1120px)/2)) 24px;margin:32px calc(-1 * max(22px,calc((100vw - 1120px)/2))) 0;scroll-padding:0 max(22px,calc((100% - 1120px)/2))}
    .nzl-page .nzl-rail::-webkit-scrollbar{display:none}
    .nzl-page .nzl-rail .nzl-card{flex:0 0 min(82%,340px);scroll-snap-align:start}
    .nzl-page .nzl-nav{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:6px}
    .nzl-page .nzl-arrow{width:44px;height:44px;border-radius:50%;border:1px solid rgba(30,27,23,.2)!important;font-size:18px;display:inline-flex;align-items:center;justify-content:center;transition:background .25s,opacity .25s}
    .nzl-page .nzl-arrow:hover{background:rgba(30,27,23,.06)!important}
    .nzl-page .nzl-arrow:disabled{opacity:.3;cursor:default}
    .nzl-page .nzl-dots{display:flex;gap:7px}
    .nzl-page .nzl-dots i{width:6px;height:6px;border-radius:99px;background:rgba(30,27,23,.22);transition:width .3s,background .3s}
    .nzl-page .nzl-dots i.on{width:22px;background:var(--ink)}
    #nzListPage .nzl-wrap{overflow:visible}
    #nzListPage{overflow-x:hidden}
    .nzc-others{padding:70px 0 90px;background:var(--ivory)}
    .nzc-others .nzl-rail{margin-left:0;margin-right:0}

    /* Viaggi Studio: crediti delle fotografie sotto la galleria */
    #studioIrePage .stp-gal-credits,#studioUkPage .stp-gal-credits{margin-top:14px;font-size:11.5px;line-height:1.7;color:var(--mu)}
    #studioIrePage .stp-gal-credits a,#studioUkPage .stp-gal-credits a{color:var(--mu);text-decoration:underline}
    #studioIrePage .stp-gal-credits a:hover,#studioUkPage .stp-gal-credits a:hover{color:var(--or)}
    /* senza occhiello, il titolo in cima respira lo stesso */
    .pgx-page .pgx-h1,#bizPage .bzx-h1,#nozzePage .nzx-h1,#nzCouplePage .nzc-title{margin-top:0}

    /* apertura Viaggi Studio: foto calda, un filo più scura perché il testo si legga */
    #studioPage .pgx-open-img{filter:brightness(.92) saturate(1.02)}
    #studioPage .pgx-open::after{background:linear-gradient(90deg,rgba(8,8,8,.72) 0%,rgba(8,8,8,.3) 55%,rgba(8,8,8,.15) 100%),linear-gradient(180deg,rgba(8,8,8,.5) 0%,rgba(8,8,8,.15) 28%,rgba(8,8,8,.75) 62%,#080808 100%)}
    .pgx-page .pgx-photo-credit{position:absolute;right:14px;bottom:10px;z-index:2;margin:0;font-size:10px;line-height:1.4;color:rgba(255,255,255,.45);max-width:60%;text-align:right}
    .pgx-page .pgx-photo-credit a{color:rgba(255,255,255,.6)}
    @media(max-width:600px){ .pgx-page .pgx-photo-credit{font-size:9.5px;max-width:78%} }

    /* ══ MENU A SCHERMO INTERO: sempre tutto visibile ══
       Il menu era centrato in verticale senza possibilità di scorrere: su Android, dove la
       barra degli indirizzi mangia altezza, la prima voce finiva sopra il bordo e la scelta
       della lingua sotto. Ora il blocco resta centrato quando c'è spazio, e quando non ce
       n'è si può scorrere; l'altezza segue quella davvero visibile del browser. */
    @media(max-width:900px){
      nav.open .nav-links{
        inset:auto;top:0;left:0;right:0;height:100vh;height:100dvh;
        justify-content:flex-start;gap:clamp(1rem,3.2vh,2.5rem);
        padding:calc(78px + env(safe-area-inset-top,0px)) 6vw calc(30px + env(safe-area-inset-bottom,0px));
        overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
      nav.open .nav-links>*:first-child{margin-top:auto}
      nav.open .nav-links>*:last-child{margin-bottom:auto}
      nav.open .nav-mobile-lang{margin-top:clamp(.9rem,2.6vh,2.2rem);padding-top:clamp(.9rem,2.4vh,2rem)}
      nav.open .nav-links a{font-size:clamp(.95rem,2.4vh,1.1rem)}
    }

    /* ══ TASTIERA DEL TELEFONO: niente zoom ══
       iPhone ingrandisce la pagina quando si tocca un campo con testo sotto i 16px, e poi
       resta ingrandita: da lì la sensazione che la tastiera non si chiuda più. Sotto i 900px
       ogni campo scrive a 16px: la pagina non si muove più. */
    @media(max-width:900px){
      input:not([type=checkbox]):not([type=radio]):not([type=hidden]),
      select,textarea{font-size:16px!important}
      select{background-size:16px}
    }
    /* ══ DOMANDE DEI VIAGGI STUDIO: chiusura morbida ══
       La risposta si apriva bene ma si richiudeva di scatto: l'altezza massima scendeva da un
       valore alto a zero e il testo spariva tutto insieme. Ora l'altezza è quella vera del
       testo, quindi apertura e chiusura hanno la stessa andatura. */
    .stq-a{transition:grid-template-rows .4s cubic-bezier(.33,0,.2,1),max-height .4s cubic-bezier(.33,0,.2,1),opacity .28s ease}
    .stq-item:not(.open) .stq-a{opacity:0}
    .stq-item.open .stq-a{opacity:1}

    /* ══ TELEFONO: comandi più facili da toccare ══
       Sotto i 40px di altezza il dito sbaglia: pulsanti indietro, linguette delle note legali,
       chip dei continenti, scelta genitore/ragazzo, contatti del team e menu a tre righe. */
    @media(max-width:900px){
      .page-home-btn,.legal-tab,.ebr-chip,.stq-btn,.team-contact-btn,.tmmpage-back,.dest-back{
        min-height:42px;display:inline-flex;align-items:center;justify-content:center}
      .page-home-btn,.team-contact-btn,.tmmpage-back{font-size:11.5px;padding:10px 20px}
      .legal-tab,.ebr-chip{font-size:11.5px;padding:10px 18px}
      .nav-burger{width:44px;height:44px;margin-right:-10px;display:flex;flex-direction:column;
        align-items:center;justify-content:center;gap:5px}
      /* ══ testi minimi: niente sotto gli 11px ══ */
      .nav-logo-sub{font-size:9.6px}
      .showcase-event-tag,.evhub-month,.evhub-stat-l,.evhub-go,.evhub-swipe-hint,.e-slabel,
      .nzx-card-k,.bzx-tag,.pgx-photo-credit,.footer-copy,.stp-gal-credits{font-size:11px!important;line-height:1.55}
      .nzc-bank dt,.nzx-bank dt,.section-eyebrow,.stp-form-wrap label,.contact-form label{font-size:11px!important}
    }

    #bizPage .bzx-team{margin-top:26px;max-width:38em;color:var(--mut);font-size:16px;line-height:1.75}
    #bizPage .bzx-team::before{content:"";display:inline-block;width:26px;height:1px;background:var(--or2);vertical-align:middle;margin-right:12px}

    /* ══ VETRINA EVENTI: schede della stessa altezza ══
       In inglese e in cinese i testi sono più corti o più lunghi e le schede della stessa
       riga finivano sfalsate. Ora la griglia le allinea e la foto resta in alto. */
    .showcase-event-grid{align-items:stretch}
    .showcase-event-card{display:flex;flex-direction:column;height:100%}
    .showcase-event-card-info,.showcase-event-card>div:last-child{flex:1}

    /* ══ MENU E TENDINE: apertura più distesa ══ */
    nav.open .nav-links{transition:opacity .42s ease,visibility .42s}
    nav .nav-links a{transition:color .3s ease,opacity .3s ease}
    .ebr-chip,.legal-tab,.stq-btn,.tab,.nzx-tabs a,.bzx-tabs a,.pgx-tabs a{transition:background .28s ease,color .28s ease,border-color .28s ease}
    select{transition:border-color .25s ease,box-shadow .25s ease}
    .stq-a{transition:grid-template-rows .46s cubic-bezier(.33,0,.2,1),max-height .46s cubic-bezier(.33,0,.2,1),opacity .32s ease}

    /* ══ DESTINAZIONI: fotografie tagliate meglio ══
       I riquadri delle città erano alti 104px: il soggetto veniva tagliato a metà. Ora sono
       più alti e il taglio parte un po' più in alto, dove di solito sta il soggetto. */
    .ebr-card img{object-position:center 45%}
    .cp2-city-card-img{height:auto;aspect-ratio:4/3;min-height:120px;object-position:center 42%}
    .cp2-hero{min-height:clamp(280px,32vh,420px)}
    .cp2-hero-photos img{object-position:center 45%}
    @media(max-width:600px){ .cp2-city-card-img{aspect-ratio:16/10;min-height:0} }

    /* Pianificatore su telefono: la cornice occupa esattamente lo schermo sotto la barra,
       così scorre solo il suo contenuto e non si sovrappongono due scorrimenti. */
    @media(max-width:900px){
      #planPage.open{display:flex;flex-direction:column;overflow:hidden}
      #planPage iframe{flex:1 1 0%!important;height:auto!important;min-height:0}
    }

    /* ══ TITOLO DELLA HOME: un corpo per lingua ══
       "The tailor-made journey" è largo un quarto in più di "Il viaggio su misura": con lo
       stesso corpo andava a tre righe e spostava logo e pulsanti. Il corpo si calcola qui,
       prima che la pagina venga disegnata, così non c'è nessuno scatto al cambio lingua. */
    @media(min-width:901px){
      /* Un corpo solo per tutte le lingue: quello calcolato sull'inglese, che e'
         la riga piu' lunga. Cosi' il titolo occupa sempre la stessa altezza e il
         logo sopra non si sposta di un pixel quando si cambia lingua. */
      .hero-title{font-size:min(clamp(2.7rem,6vw,5.2rem), calc((min(820px, 100vw - 144px) - 64px) / 9.50))}
    }

    /* ══ GALLERIE ORIZZONTALI SU COMPUTER ══
       Col dito si scorrono da sole; col mouse no. Frecce accanto ai pallini, rotellina che
       scorre di lato quando il puntatore è sopra, e trascinamento tenendo premuto. */
    .rv-railnav{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:6px}
    .rv-arrow{width:44px;height:44px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
      font-size:17px;line-height:1;cursor:pointer;background:transparent;color:inherit;
      border:1px solid currentColor;opacity:.55;transition:opacity .25s,background .25s,transform .2s}
    .rv-arrow:hover{opacity:1;background:rgba(127,127,127,.12)}
    .rv-arrow:active{transform:scale(.94)}
    .rv-arrow[disabled]{opacity:.18;cursor:default}
    #nozzePage .rv-arrow{color:var(--ink)}
    .rv-dragging{cursor:grabbing!important;scroll-snap-type:none!important}
    @media(hover:none){ .rv-railnav{display:none} }

    /* ══ TELEFONO: scorrimento più leggero ══
       Su Safari due cose costavano quasi metà dei fotogrammi durante la discesa: lo sfondo
       sfocato delle barre fisse e le animazioni legate allo scorrimento. Sul telefono le barre
       diventano semitrasparenti senza sfocatura e le animazioni legate allo scorrimento si
       fermano; sul computer resta tutto com'era. */
    @media(max-width:900px){
      #nozzePage .nzx-tabs,#bizPage .bzx-tabs,.pgx-page .pgx-tabs{
        -webkit-backdrop-filter:none;backdrop-filter:none}
      #nozzePage .nzx-tabs{background:rgba(245,240,232,.97)}
      #bizPage .bzx-tabs{background:rgba(7,9,12,.96)}
      .pgx-page .pgx-tabs{background:rgba(8,8,8,.96)}
      #nozzePage .nzx-glass,#bizPage .bzx-glass,.pgx-page .pgx-glass,.nzc-meta span{
        -webkit-backdrop-filter:none;backdrop-filter:none;background:rgba(20,20,20,.45)}
      #nozzePage .nzx-glass{background:rgba(30,27,23,.42)}
      @media (prefers-reduced-motion:no-preference){
        #nozzePage .nzx-shot,#nozzePage .nzx-shot img,#nozzePage .nzx-serv-txt>*,
        #nozzePage .nzx-card,#bizPage .bzx-fact{animation:none!important}
      }
    }


    /* ══ PACCHETTI VIAGGIO ══ */
    .btn-pkg{position:relative;display:inline-flex;align-items:center;gap:10px;padding:.9rem 2.1rem;
      border-radius:30px;border:1px solid rgba(201,164,103,.55);background:rgba(201,164,103,.09);
      color:#e2c187;text-decoration:none;font-family:'Inter',sans-serif;font-size:.76rem;font-weight:700;
      letter-spacing:.12em;text-transform:uppercase;transition:transform .15s,background .2s,border-color .2s}
    .btn-pkg:hover{background:rgba(201,164,103,.17);border-color:rgba(201,164,103,.85);transform:translateY(-2px)}
    .btn-pkg-tag{font-size:.58rem;letter-spacing:.14em;padding:3px 8px;border-radius:20px;
      background:rgba(226,193,135,.16);color:#e2c187}
    /* avviso "in aggiornamento" */
    .pkg-soon{max-width:720px;margin:0 auto;text-align:center}
    .pkg-soon .pgx-h2{margin:0 0 1.9rem}
    .pkg-soon-tag{display:inline-block;font-family:'Inter',sans-serif;font-size:.6rem;font-weight:700;
      letter-spacing:.18em;text-transform:uppercase;color:#e2c187;padding:6px 14px;border-radius:20px;
      border:1px solid rgba(201,164,103,.45);background:rgba(201,164,103,.08);margin-bottom:1.6rem}
    .pkg-soon p{font-size:1.02rem;line-height:1.85;color:rgba(242,238,230,.74);margin:0 0 1.1rem}
    .pkg-soon p:last-child{margin-bottom:0}
    .pkg-wait{display:flex;align-items:center;justify-content:center;gap:9px;margin:2.6rem auto 0}
    .pkg-wait i{display:block;width:7px;height:7px;border-radius:50%;background:rgba(201,164,103,.75);
      animation:pkgBlink 1.5s ease-in-out infinite}
    .pkg-wait i:nth-child(2){animation-delay:.25s}
    .pkg-wait i:nth-child(3){animation-delay:.5s}
    @keyframes pkgBlink{0%,100%{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}
    @media (prefers-reduced-motion:reduce){.pkg-wait i{animation:none;opacity:.6}}
    @media (max-width:899px){
      .pkg-soon p{font-size:.95rem;line-height:1.8}
      .pkg-soon-tag{margin-bottom:1.2rem}
    }

    /* ══ VIAGGI DI GRUPPO ══ */
    .btn-group{position:relative;display:inline-flex;align-items:center;gap:10px;padding:.9rem 2.1rem;border-radius:30px;
      background:linear-gradient(120deg,#C9A467,#e2c187 55%,#C9A467);color:#14110d;text-decoration:none;
      font-family:'Inter',sans-serif;font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
      transition:transform .15s,filter .2s}
    .btn-group:hover{filter:brightness(1.08);transform:translateY(-2px)}
    .btn-group-tag{font-size:.58rem;letter-spacing:.14em;padding:3px 8px;border-radius:20px;background:#14110d;color:#e2c187}
    /* le pagine nuove seguono la stessa meccanica delle altre pagine interne */
    #groupPage,#groupTripPage,#pkgPage{display:none;position:fixed;inset:0;z-index:400;background:var(--bk);
      flex-direction:column;overflow-y:auto;overflow-x:hidden;padding-top:0}
    #groupPage.open,#groupTripPage.open,#pkgPage.open{display:flex}
    #pkgPage .servicespage-body{max-width:1120px;width:min(1120px,100% - 44px);padding:0}
    #groupPage .servicespage-body,#groupTripPage .servicespage-body{max-width:1120px;width:min(1120px,100% - 44px);padding:0 0 60px}
    .grp-list{display:grid;grid-template-columns:1fr;gap:18px;margin-top:30px}
    .grp-card{border:1px solid rgba(255,255,255,.08);border-radius:20px;overflow:hidden;background:rgba(255,255,255,.025)}
    .grp-card--first{border-color:rgba(201,164,103,.45);background:linear-gradient(180deg,rgba(201,164,103,.08),rgba(255,255,255,.02))}
    .grp-card-img{aspect-ratio:16/9;overflow:hidden}
    .grp-card-img img{width:100%;height:100%;object-fit:cover;object-position:center 45%;transition:transform .8s cubic-bezier(.2,.7,.3,1)}
    .grp-card--first:hover .grp-card-img img{transform:scale(1.03)}
    .grp-card-in{padding:24px}
    .grp-tag{display:inline-block;font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#C9A467;
      border:1px solid rgba(201,164,103,.5);border-radius:20px;padding:4px 10px;margin-bottom:14px}
    .grp-card-t{font-family:'EB Garamond',Georgia,serif;font-weight:500;font-size:clamp(26px,5.4vw,34px);line-height:1.15;color:#fff}
    .grp-card-s{margin-top:10px;color:rgba(255,255,255,.72);font-size:16px;line-height:1.7;max-width:34em}
    .grp-card-m{margin-top:12px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--mu)}
    .grp-card--soon{opacity:.72;border-style:dashed}
    .grp-num{display:block;font-family:'EB Garamond',serif;font-style:italic;font-size:19px;color:var(--or);margin-bottom:8px}
    .grp-how{display:grid;grid-template-columns:1fr;gap:16px;margin-top:30px}
    .grp-how>div{padding:22px;border-radius:16px;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02)}
    .grp-how h3{font-family:'EB Garamond',Georgia,serif;font-weight:500;font-size:23px;color:#fff;margin-bottom:6px}
    .grp-how p{color:var(--mu);font-size:15.5px;line-height:1.7}
    .grp-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
    .grp-badges span{padding:8px 15px;border-radius:999px;font-size:13px;color:#fff;background:rgba(255,255,255,.12);
      border:1px solid rgba(255,255,255,.25);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
    .grp-badges .is-soon{color:#C9A467;border-color:rgba(201,164,103,.5);background:rgba(201,164,103,.12)}
    .grp-intro{font-family:'EB Garamond',Georgia,serif;font-size:clamp(20px,4.4vw,26px);line-height:1.55;color:rgba(255,255,255,.88);max-width:30em}
    .grp-guest{display:flex;align-items:center;gap:20px;margin-top:34px;padding:20px;border-radius:18px;
      border:1px solid rgba(201,164,103,.35);background:rgba(201,164,103,.07)}
    .grp-guest-ph{flex:none;width:92px;height:92px;border-radius:50%;display:flex;align-items:center;justify-content:center;
      text-align:center;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--mu);
      border:1px dashed rgba(255,255,255,.3);background:rgba(255,255,255,.03);padding:8px}
    .grp-guest-n{font-family:'EB Garamond',Georgia,serif;font-weight:500;font-size:28px;color:#fff;margin-bottom:4px}
    .grp-guest p{color:var(--mu);font-size:15px;line-height:1.6}
    .grp-days{list-style:none;margin-top:30px;display:grid;gap:16px}
    .grp-day-n{display:block;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--or);margin-bottom:8px}
    .grp-day-card{display:grid;grid-template-columns:1fr;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.08);background:rgba(255,255,255,.02)}
    .grp-day-card img{width:100%;aspect-ratio:16/9;object-fit:cover;object-position:center 45%}
    .grp-day-txt{padding:20px}
    .grp-day-txt h3{font-family:'EB Garamond',Georgia,serif;font-weight:500;font-size:25px;color:#fff;margin-bottom:6px}
    .grp-day-txt p{color:var(--mu);font-size:15.5px;line-height:1.7}
    .grp-form{display:grid;gap:14px;margin-top:26px;max-width:720px}
    .grp-row{display:grid;grid-template-columns:1fr;gap:14px}
    .grp-form label{display:grid;gap:6px}
    .grp-form label>span{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--mu)}
    .grp-form input,.grp-form textarea{width:100%;min-height:50px;padding:13px 15px;border-radius:12px;border:1px solid rgba(255,255,255,.12);
      background:rgba(255,255,255,.03);color:#fff;font:inherit;font-size:16px}
    .grp-form textarea{min-height:92px;resize:vertical}
    .grp-form input:focus,.grp-form textarea:focus{outline:none;border-color:var(--or);box-shadow:0 0 0 3px rgba(232,86,10,.2)}
    .grp-priv span{color:var(--mu);font-size:13px;line-height:1.6}
    .grp-priv a{color:var(--or)}
    .grp-err{color:#ff8a7a;font-size:14px}
    .grp-sent{margin-top:18px;padding:16px 18px;border-radius:14px;border:1px solid rgba(201,164,103,.45);
      background:rgba(201,164,103,.1);color:#fff;font-size:16px;line-height:1.6}
    @media(min-width:760px){
      .grp-how{grid-template-columns:repeat(3,1fr)}
      .grp-row{grid-template-columns:1fr 1fr}
      .grp-day-card{grid-template-columns:300px 1fr;align-items:stretch}
      .grp-day-card img{height:100%;aspect-ratio:auto}
      .grp-list{grid-template-columns:1fr 1fr}
      .grp-card--first{grid-column:1 / -1}
      .grp-card--first .grp-card-in{padding:30px}
    }

    /* ══ VIAGGIO DI GRUPPO: accompagnatrice e tappe in apertura ══ */
    .grp-with{margin-top:16px;font-size:15px;color:rgba(255,255,255,.82);letter-spacing:.01em}
    .grp-with span{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#C9A467}
    .grp-with b{font-family:'EB Garamond',Georgia,serif;font-weight:500;font-size:22px;color:#fff;letter-spacing:0}
    .grp-top{display:grid;grid-template-columns:1fr;gap:26px;align-items:center}
    .grp-bea{display:flex;gap:18px;align-items:center;margin:0;padding:18px;border-radius:20px;
      border:1px solid rgba(201,164,103,.45);background:linear-gradient(135deg,rgba(201,164,103,.14),rgba(201,164,103,.03))}
    .grp-bea-ph{flex:none;width:122px;aspect-ratio:3/4;border-radius:14px;display:flex;align-items:center;justify-content:center;
      text-align:center;padding:10px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--mu);
      border:1px dashed rgba(255,255,255,.32);background:rgba(255,255,255,.03)}
    .grp-bea-n{font-family:'EB Garamond',Georgia,serif;font-weight:500;font-size:clamp(28px,6vw,38px);color:#fff;margin:6px 0 8px}
    .grp-bea figcaption p{color:rgba(255,255,255,.76);font-size:15px;line-height:1.65}
    .grp-tag--gal{margin:34px 0 0}
    .grp-gal{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
    .grp-gal figure{margin:0;border-radius:16px;overflow:hidden;position:relative;border:1px solid rgba(255,255,255,.08)}
    .grp-gal img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:center 45%;display:block;transition:transform .8s cubic-bezier(.2,.7,.3,1)}
    .grp-gal figure:hover img{transform:scale(1.04)}
    .grp-gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 12px 10px;font-size:13px;line-height:1.35;color:#fff;
      background:linear-gradient(180deg,transparent,rgba(8,8,8,.85))}
    @media(min-width:760px){
      .grp-top{grid-template-columns:minmax(320px,.9fr) 1.1fr;gap:40px}
      .grp-gal{grid-template-columns:repeat(4,1fr)}
      .grp-bea-ph{width:150px}
    }

    /* ══ ITINERARIO: la scansione dei giorni ══
       Numero del giorno su una colonna propria, legati da una linea verticale; accanto
       l'occhiello, il titolo della giornata, il racconto e la riga su dove si dorme. */
    .itn{list-style:none;margin:34px 0 0;position:relative}
    .itn-day{display:grid;grid-template-columns:72px 1fr;gap:16px;padding-bottom:30px;position:relative}
    .itn-day:last-child{padding-bottom:0}
    .itn-side{position:relative}
    .itn-day:not(:last-child) .itn-side::after{content:"";position:absolute;left:23px;top:62px;bottom:-30px;width:1px;
      background:linear-gradient(180deg,rgba(232,86,10,.6),rgba(255,255,255,.08))}
    .itn-n{display:flex;flex-direction:column;align-items:center;justify-content:center;width:48px;height:56px;border-radius:14px;
      border:1px solid rgba(232,86,10,.45);background:rgba(232,86,10,.08)}
    .itn-n i{font-style:normal;font-size:8.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--or)}
    .itn-n b{font-family:'EB Garamond',Georgia,serif;font-weight:500;font-size:26px;line-height:1;color:#fff}
    .itn-k{display:block;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--or)}
    .itn-t{font-family:'EB Garamond',Georgia,serif;font-weight:500;font-size:clamp(25px,5.2vw,32px);line-height:1.15;color:#fff;margin:6px 0 10px}
    .itn-p{color:rgba(255,255,255,.76);font-size:16px;line-height:1.75;max-width:40em}
    .itn-note{margin-top:12px;display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;
      background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);color:var(--mu);font-size:13.5px;font-style:italic}
    .itn-note::before{content:"";width:6px;height:6px;border-radius:50%;background:#C9A467;flex:none}
    .itn-know{margin-top:40px;padding:26px 22px;border-radius:20px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.025)}
    .itn-know-h{font-family:'EB Garamond',Georgia,serif;font-weight:500;font-size:27px;color:#fff;margin-bottom:18px}
    .itn-know-grid{display:grid;grid-template-columns:1fr;gap:20px}
    .itn-know-grid h4{font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#C9A467;margin-bottom:7px}
    .itn-know-grid p{color:var(--mu);font-size:15px;line-height:1.7}
    @media(min-width:760px){
      .itn-day{grid-template-columns:120px 1fr;gap:28px}
      .itn-n{width:76px;height:76px}
      .itn-n b{font-size:38px}
      .itn-n i{font-size:9.5px}
      .itn-day:not(:last-child) .itn-side::after{left:37px;top:84px;bottom:-30px}
      .itn-know-grid{grid-template-columns:repeat(3,1fr);gap:26px}
    }

    /* la foto dell'accompagnatrice prende il posto del segnaposto */
    .grp-bea-img{flex:none;width:122px;aspect-ratio:3/4;object-fit:cover;object-position:center 22%;border-radius:14px;
      border:1px solid rgba(201,164,103,.5);display:block}
    .grp-with{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
    .grp-with-av{width:40px;height:40px;border-radius:50%;object-fit:cover;object-position:center 18%;
      border:1px solid rgba(201,164,103,.6)}
    @media(min-width:760px){ .grp-bea-img{width:170px} }

    /* ══ ACCOMPAGNATRICE ══
       Su telefono: ritratto stretto a sinistra, nome e ruolo accanto, così il riquadro resta
       compatto. Su computer: ritratto grande con il nome sulla foto e il testo a fianco. */
    .grp-top{display:block}
    .grp-bea{display:grid;grid-template-columns:138px 1fr;gap:16px;align-items:center;padding:16px;margin:0}
    .grp-bea-frame{position:relative;display:block;border-radius:16px;overflow:hidden;box-shadow:0 18px 44px rgba(0,0,0,.45)}
    .grp-bea-frame::after{content:"";position:absolute;inset:0;border-radius:16px;pointer-events:none;
      border:1px solid rgba(201,164,103,.55);box-shadow:inset 0 0 0 3px rgba(8,8,8,.35)}
    .grp-bea-img{width:100%;height:auto;aspect-ratio:3/4;   /* l'attributo height dell'immagine vincerebbe sull'aspetto */
      object-fit:cover;object-position:center 8%;display:block;filter:saturate(1.03) contrast(1.02)}
    .grp-bea-over{display:none}
    .grp-bea figcaption .grp-tag{display:inline-block;margin-bottom:8px}
    .grp-bea-n{margin:0 0 8px}
    .grp-intro{margin-top:26px}
    .grp-with-av{object-position:center 20%}
    @media(min-width:760px){
      .grp-bea{grid-template-columns:320px 1fr;gap:34px;padding:22px}
      .grp-bea-over{position:absolute;left:0;right:0;bottom:0;display:block;padding:54px 18px 16px;
        background:linear-gradient(180deg,transparent,rgba(8,8,8,.88))}
      .grp-bea-over-k{display:block;font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#C9A467;margin-bottom:3px}
      .grp-bea-over b{font-family:'EB Garamond',Georgia,serif;font-weight:500;font-size:32px;color:#fff}
      .grp-bea figcaption .grp-tag,.grp-bea .grp-bea-n{display:none}   /* già scritti sulla foto */
      .grp-bea figcaption p{font-size:16.5px;line-height:1.75}
      .grp-intro{margin-top:30px;max-width:46em}
    }

    /* ══ RIFINITURE DAL CONTROLLO TOTALE ══ */
    /* il campo-trappola antispam era fuori pagina a sinistra: ora è ritagliato e non conta */
    input[name="_gotcha"]{position:absolute!important;width:1px!important;height:1px!important;left:0!important;top:0!important;
      opacity:0!important;pointer-events:none!important;clip-path:inset(50%)!important}
    @media(max-width:900px){
      /* pulsante "Home page" del pianificatore: era alto 19px */
      .plan-builder-bar .nzld-back-btn,#planPage .nzld-back-btn{min-height:40px;display:inline-flex;align-items:center;padding:8px 16px}
      /* etichette piccole portate a una misura leggibile */
      .btn-group-tag{font-size:11px}
      .grp-tag,.stat-label,.grp-card-m{font-size:11px!important}
    }
