/* =========================================================
   Next Adv — elementi condivisi da tutte le pagine
   (sezione contatti con form, newsletter, footer)
   ========================================================= */

/* ---------- Sezione contatti ---------- */
.nx-contact { position: relative; overflow: hidden; padding: 120px 0 !important; border-radius: 56px 56px 0 0; margin-top: -56px; z-index: 1; }
.nx-contact::before, .nx-contact::after { content: ""; position: absolute; border-radius: 50%; filter: blur(90px); pointer-events: none; }
.nx-contact::before { width: 420px; height: 420px; left: -120px; top: -80px; background: rgba(247, 133, 152, .35); }
.nx-contact::after { width: 560px; height: 560px; right: -120px; bottom: -220px; background: rgba(92, 249, 188, .28); }
.nx-contact .section-content { position: relative; z-index: 1; }
.nx-contact__row { max-width: 1240px !important; }
.nx-contact__title h3 { font-family: Raleway, sans-serif; font-size: clamp(30px, 3.4vw, 46px) !important; line-height: 1.15 !important; margin: 0 0 4px; color: #fff; }
.nx-contact__title h3:last-child { color: #5cf9bc !important; font-weight: 800; margin-bottom: 36px; }
.nx-contact__links { display: flex; flex-direction: column; gap: 14px; max-width: 420px; }
.nx-contact__link {
    display: flex; align-items: center; gap: 14px; padding: 16px 20px; border-radius: 18px;
    background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .14);
    color: #fff !important; font-weight: 700; font-size: 17px; text-decoration: none; transition: background .2s, border-color .2s;
}
.nx-contact__link:hover { background: rgba(255, 255, 255, .12); border-color: rgba(92, 249, 188, .5); }
.nx-contact__link::before { flex: none; width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; font-weight: 800; color: #422d70; }
.nx-contact__link--tel::before { content: "☏"; background: #5cf9bc; font-size: 20px; }
.nx-contact__link--mail::before { content: "@"; background: #f78598; font-size: 18px; }
.nx-contact .nxt-form-wrapper {
    max-width: none !important; padding: 34px 36px 28px; border-radius: 32px;
    background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .18);
    -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px);
    box-shadow: 0 40px 80px -40px rgba(0, 0, 0, .6);
}
.nx-contact .nxt-form-wrapper h3 { font-size: 20px !important; font-weight: 800; margin-bottom: 14px !important; }
.nx-contact .nxt-step-dot { width: 34px !important; height: 34px !important; font-size: 14px !important; }
.nx-contact .nxt-step-dot.active { background: #5cf9bc; color: #2c1d4d; box-shadow: 0 0 0 6px rgba(92, 249, 188, .18); transform: none; }
.nx-contact .nxt-step-dot.done { background: #5cf9bc; color: #2c1d4d; }
.nx-contact .nxt-step-line { flex: 1; width: auto !important; }
.nx-contact .nxt-progress { margin-bottom: 22px !important; }
.nx-contact .nxt-pill { padding: .55rem 1rem !important; font-size: .85rem !important; background: rgba(255, 255, 255, .06); color: rgba(255, 255, 255, .8); }
.nx-contact .nxt-pill.active { border-color: #5cf9bc; background: rgba(92, 249, 188, .14); color: #5cf9bc; }
.nx-contact .nxt-form-wrapper input:not([type="checkbox"]),
.nx-contact .nxt-form-wrapper select,
.nx-contact .nxt-form-wrapper textarea { height: 50px; border-radius: 14px !important; background: rgba(20, 10, 40, .35) !important; font-size: .95rem !important; }
.nx-contact .nxt-form-wrapper textarea { height: auto; }
.nx-contact .nxt-form-wrapper input:focus, .nx-contact .nxt-form-wrapper select:focus, .nx-contact .nxt-form-wrapper textarea:focus { border-color: #5cf9bc !important; box-shadow: 0 0 0 4px rgba(92, 249, 188, .14); }
.nx-contact .nxt-btn { border-radius: 999px !important; padding: .9rem 2rem !important; font-size: .95rem !important; }
.nx-contact .nxt-btn-primary { background: #5cf9bc !important; color: #2c1d4d !important; box-shadow: 0 12px 30px -12px rgba(92, 249, 188, .9); }
@media (max-width: 849px) {
    .nx-contact { padding: 80px 0 !important; border-radius: 40px 40px 0 0; }
    .nx-contact__intro { padding-bottom: 30px !important; }
    .nx-contact .nxt-form-wrapper { padding: 24px 20px 20px; }
}

/* ---------- Newsletter: card verde ---------- */
.nx-news { padding: 0 0 90px !important; }
.nx-news__card {
    position: relative; overflow: hidden; max-width: 1176px !important; padding: 56px 40px 48px !important;
    border-radius: 40px; background: #5cf9bc;
}
.nx-news__card::before { content: ""; position: absolute; right: -60px; top: -60px; width: 220px; height: 220px; border-radius: 50%; border: 30px solid rgba(66, 45, 112, .08); }
.nx-news__title h2 { margin: 0; font-family: Raleway, sans-serif; font-size: clamp(48px, 6vw, 84px) !important; line-height: .98 !important; font-weight: 800; color: #422d70 !important; }
.nx-news__title h2.nx-news__outline { color: transparent !important; -webkit-text-stroke: 2px #422d70; }
.nx-news__text p { font-size: 17px; line-height: 1.7; }
.nx-news .divNewsletter .email { padding: 8px; border-radius: 999px; background: #fff; align-items: center; }
.nx-news .divNewsletter input[type="email"] { border: 0 !important; padding: 0 18px !important; height: 48px; background: transparent; box-shadow: none; flex: 1; min-width: 0; color: #422d70; }
.nx-news .divNewsletter input[type="submit"] { height: 48px !important; width: 64px; border-radius: 999px; border: 0; background: #422d70 !important; color: #fff; font-size: 20px; cursor: pointer; }
.nx-news .divNewsletter .checkbox { gap: 10px; align-items: center; margin-top: 14px !important; color: #2c1d4d; font-size: 14px; }
.nx-news .divNewsletter .checkbox input { margin: 0; }
@media (max-width: 849px) {
    .nx-news { padding: 0 15px 60px !important; }
    .nx-news__card { padding: 40px 20px 32px !important; border-radius: 32px; }
}

/* ---------- Footer ---------- */
.bgFooter { background: #2c1d4d !important; padding-top: 80px !important; }
.bgFooter .section-bg { background: #2c1d4d !important; }
.bgFooter h5 { color: rgba(255, 255, 255, .5) !important; }
.bgFooter .footer-partner img { border-radius: 10px; }
/* lo shortcode della newsletter stampa il form prima del testo: lo rimetto sotto */
.nx-news__card > .col:last-child > .col-inner { display: flex; flex-direction: column; }
.nx-news__card > .col:last-child .divNewsletter { order: 3; }
.nx-news__card > .col:last-child .col-inner > p:empty { display: none; }

/* ---------- Topbar in vetro (stile Digital Farm / Next) ---------- */
#header { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; }
.admin-bar #header { top: 32px; }
#wrapper { padding-top: 84px; background: #2c1d4d; }
#header .header-bg-color, #header .header-bg-image { background: transparent !important; }
#header .header-main {
    position: relative; isolation: isolate; height: 84px;
    border-bottom: 1px solid rgba(255, 255, 255, .14);
    background:
        linear-gradient(180deg, rgba(30, 19, 54, .78), rgba(30, 19, 54, .46)),
        radial-gradient(circle at 18% 0%, rgba(92, 249, 188, .08), transparent 36%) !important;
    box-shadow: 0 12px 36px rgba(0, 0, 0, .18), inset 0 -1px 0 rgba(255, 255, 255, .035);
    -webkit-backdrop-filter: blur(24px) saturate(155%);
    backdrop-filter: blur(24px) saturate(155%);
}
#header .header-main::before {
    content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .75;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .035), transparent);
}
#header .header-nav-main { gap: clamp(18px, 2.4vw, 40px); }
#header .header-nav-main > li { margin: 0; }
#header .header-nav-main > li > a {
    position: relative; padding: 0; font-family: Raleway, sans-serif; font-size: .9rem; font-weight: 500;
    letter-spacing: -.01em; text-transform: none; color: #fff; opacity: .8;
    text-shadow: 0 1px 18px rgba(0, 0, 0, .34); transition: opacity .18s;
}
#header .header-nav-main > li > a::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: -7px; height: 1px; background: #fff;
    transform: scaleX(0); transform-origin: right center; transition: transform .18s;
}
#header .header-nav-main > li > a:hover, #header .header-nav-main > li.active > a, #header .header-nav-main > li.current-menu-item > a { opacity: 1; color: #fff; }
#header .header-nav-main > li > a:hover::after, #header .header-nav-main > li.current-menu-item > a::after { transform: scaleX(1); transform-origin: left center; }
#header .header-nav-main > li > a .icon-angle-down { opacity: .7; }
#header .header-button-1 { margin-left: clamp(18px, 2.4vw, 40px); }
#header .header-button-1 .button {
    display: inline-flex; align-items: center; gap: 18px; min-height: 45px; line-height: 1; padding: 0 22px; margin: 0;
    border: 1px solid #fff !important; border-radius: 999px; background: transparent !important; color: #fff !important;
    font-family: Raleway, sans-serif; font-size: .9rem; font-weight: 500; letter-spacing: -.02em; text-transform: none;
    box-shadow: none; text-shadow: 0 1px 18px rgba(0, 0, 0, .34); transition: background .18s, color .18s;
}
#header .header-button-1 .button::after { content: "→"; }
#header .header-button-1 .button:hover { background: #fff !important; color: #2c1d4d !important; text-shadow: none; }
#header .nav-dropdown {
    border: 1px solid rgba(255, 255, 255, .14) !important; border-radius: 16px; overflow: hidden;
    background: rgba(30, 19, 54, .86) !important;
    -webkit-backdrop-filter: blur(24px) saturate(155%); backdrop-filter: blur(24px) saturate(155%);
    box-shadow: 0 24px 50px -20px rgba(0, 0, 0, .5);
}
#header .nav-dropdown a { color: rgba(255, 255, 255, .85) !important; border: 0 !important; }
#header .nav-dropdown a:hover { color: #5cf9bc !important; background: rgba(255, 255, 255, .05); }
html { scroll-padding-top: 100px; }
@media (max-width: 849px) {
    #wrapper { padding-top: 70px; }
    #header .header-main { height: 70px; }
}

/* ===== Contatti v2: info più ricche, sfondo continuo con la newsletter ===== */
.nx-contact { padding-bottom: 72px !important; overflow: visible; }
.nx-contact::after { display: none; }
.nx-contact__links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; max-width: none; }
.nx-contact__link { flex-direction: column; align-items: flex-start; gap: 4px; padding: 18px 18px 16px 72px; position: relative; min-height: 86px; font-size: 16px; }
.nx-contact__link::before { position: absolute; left: 16px; top: 18px; }
.nx-contact__link--fisso::before { content: "✆"; background: #fff; font-size: 18px; }
.nx-contact__link--map::before { content: "⌖"; background: #c9b8f0; font-size: 20px; }
.nx-contact__k { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: rgba(255, 255, 255, .55); }
.nx-contact__v { font-weight: 700; line-height: 1.35; }
.nx-contact__trust { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 22px; }
.nx-contact__trust img { width: 104px; height: auto; border-radius: 10px; }
.nx-contact .nxt-hint { margin: -6px 0 16px !important; color: rgba(255, 255, 255, .6); font-size: .9rem; }
.nx-contact .nxt-pill { font-family: Raleway, sans-serif; -webkit-appearance: none; appearance: none; line-height: 1.2; }
.nx-contact .nxt-pills { gap: 10px !important; margin-bottom: 8px !important; }
.nx-contact .nxt-pill { padding: .7rem 1.15rem !important; font-size: .95rem !important; }
.nx-contact .nxt-privacy-row label { font-size: .85rem; color: rgba(255, 255, 255, .7); line-height: 1.5; margin: 0; }
.nx-contact .nxt-privacy-row a { color: #5cf9bc; font-weight: 700; }
.nx-contact .nxt-phone-prefix { height: 50px; border-radius: 14px; color: rgba(255, 255, 255, .7); }
.nx-contact .nxt-grid-2 { grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
.nx-contact .nxt-step-panel { min-height: 300px; }
@media (max-width: 849px) {
    .nx-contact__links { grid-template-columns: minmax(0, 1fr); }
    .nx-contact .nxt-grid-2 { grid-template-columns: 1fr !important; }
    .nx-contact .nxt-step-panel { min-height: 0; }
}

/* newsletter: stesso fondo dei contatti, larga quanto le due colonne sopra */
.nx-news { padding-top: 0 !important; }
.nx-news__card { max-width: 1210px !important; margin-left: auto !important; margin-right: auto !important; }

/* niente pulsante "torna su" */
.back-to-top { display: none !important; }
.nx-news__card { max-width: 1240px !important; }
.nx-contact .nxt-pill { text-transform: none !important; letter-spacing: 0 !important; font-weight: 600 !important; margin: 0 !important; min-height: 0 !important; height: auto; }
.nx-contact__intro { padding-right: 40px !important; }
@media (max-width: 849px) { .nx-contact__intro { padding-right: 0 !important; } }

/* ===== Contatti v3: colonna sinistra compatta, gap tra colonne, larghezze allineate alla newsletter ===== */
.nx-contact { overflow: hidden; }
.nx-contact__row,
.nx-news__card {
    width: calc(100% - 64px) !important; max-width: 1240px !important;
    margin-left: auto !important; margin-right: auto !important;
}
.nx-contact__row { display: flex !important; flex-wrap: nowrap; gap: 64px; padding: 0 !important; }
.nx-contact__intro { flex: 0 0 calc(40% - 32px) !important; max-width: calc(40% - 32px) !important; padding: 0 !important; }
.nx-contact__form { flex: 1 1 auto !important; max-width: none !important; padding: 0 !important; }
.nx-contact__title h3:last-child { margin-bottom: 30px; }
.nx-contact__list { list-style: none; margin: 0 0 28px; padding: 0; border-top: 1px solid rgba(255, 255, 255, .12); }
.nx-contact__list li { margin: 0; border-bottom: 1px solid rgba(255, 255, 255, .12); }
.nx-contact__item { position: relative; display: flex; flex-direction: column; gap: 2px; padding: 16px 40px 16px 58px; color: #fff !important; text-decoration: none; transition: background .2s; }
.nx-contact__item:hover { background: rgba(255, 255, 255, .04); }
.nx-contact__item::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; border-radius: 12px; background: rgba(255, 255, 255, .08) center / 20px no-repeat; }
.nx-contact__item::after { content: "→"; position: absolute; right: 8px; top: 50%; transform: translateY(-50%); color: #5cf9bc; transition: transform .2s; }
.nx-contact__item:hover::after { transform: translate(4px, -50%); }
.nx-contact__item--tel::before { background-color: #5cf9bc; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23422d70' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E"); }
.nx-contact__item--mail::before { background-color: #f78598; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23422d70' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E"); }
.nx-contact__item--map::before { background-color: #fff; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23422d70' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
.nx-contact__item .nx-contact__k { font-size: 11px; }
.nx-contact__item .nx-contact__v { font-size: 16px; }
.nx-contact__trust { margin-top: 0; gap: 10px; opacity: .92; }
.nx-contact__trust img { width: 86px; }

/* form: niente vuoti, etichette degli step, testi non maiuscoli */
.nx-contact .nxt-step-panel { min-height: 0 !important; }
.nx-contact .nxt-step-labels { display: flex; justify-content: space-between; margin: -12px 0 22px; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: rgba(255, 255, 255, .5); }
.nx-contact .nxt-btn { text-transform: none !important; letter-spacing: 0 !important; }
.nx-contact .nxt-nav-buttons { margin-top: 26px !important; padding-top: 18px !important; }
.nx-contact .nxt-btn-ghost { color: rgba(255, 255, 255, .7) !important; }

/* punto luce tra contatti e newsletter */
.nx-news { position: relative; z-index: 2; overflow: visible !important; }
.nx-news::before {
    content: ""; position: absolute; z-index: 0; left: 50%; top: -180px; width: 720px; height: 360px; transform: translateX(-10%);
    border-radius: 50%; background: radial-gradient(closest-side, rgba(92, 249, 188, .32), rgba(92, 249, 188, 0)); filter: blur(30px); pointer-events: none;
}
.nx-news .section-content { position: relative; z-index: 1; }

@media (max-width: 849px) {
    .nx-contact__row, .nx-news__card { width: calc(100% - 40px) !important; }
    .nx-contact__row { flex-direction: column; gap: 40px; }
    .nx-contact__intro { flex: none !important; max-width: none !important; }
    .nx-news { padding-left: 0 !important; padding-right: 0 !important; }
    .nx-news::before { width: 420px; left: 20%; }
}
@media (min-width: 850px) { .nx-contact__row { flex-wrap: nowrap !important; } }
.nx-news { background: #422d70 !important; }
.nx-news > .section-bg { display: none !important; }
.nx-contact__form > .col-inner { padding: 0 !important; width: 100%; }
.nx-contact .nxt-form-wrapper { width: 100% !important; margin: 0 !important; }
.nx-contact__row::before, .nx-contact__row::after { display: none !important; content: none !important; }
.nx-news { margin-top: -2px !important; }

/* ===== Contatti v4: una card, due pannelli della stessa altezza ===== */
@media (min-width: 850px) {
    .nx-contact__row {
        display: grid !important; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 0 !important; align-items: stretch !important;
        border-radius: 36px; overflow: hidden; border: 1px solid rgba(255, 255, 255, .14);
        background: rgba(255, 255, 255, .05); box-shadow: 0 50px 100px -50px rgba(0, 0, 0, .7);
    }
    .nx-contact__intro, .nx-contact__form { max-width: none !important; width: auto !important; flex: none !important; }
}
.nx-contact__intro {
    position: relative; overflow: hidden; padding: 52px 48px 44px !important;
    background:
        radial-gradient(120% 80% at 0% 0%, rgba(247, 133, 152, .35), transparent 55%),
        radial-gradient(100% 70% at 100% 100%, rgba(92, 249, 188, .22), transparent 60%),
        #35245c;
}
.nx-contact__intro::before {
    content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .5;
    background-image: radial-gradient(rgba(255, 255, 255, .14) 1px, transparent 1px); background-size: 22px 22px;
}
.nx-contact__intro > .col-inner { position: relative; display: flex; flex-direction: column; height: 100%; }
.nx-contact__title h3 { font-size: clamp(26px, 2.5vw, 36px) !important; line-height: 1.15 !important; }
.nx-contact__title h3:last-child { margin-bottom: 0 !important; }
.nx-contact__list { margin: auto 0 22px !important; padding-top: 36px; border-top: 0; }
.nx-contact__list li { border-bottom: 0; }
.nx-contact__item { padding: 10px 36px 10px 56px; border-radius: 14px; }
.nx-contact__item::before { width: 38px; height: 38px; }
.nx-contact__item .nx-contact__v { font-size: 15px; }
.nx-contact__trust img { width: 72px; border-radius: 8px; }

.nx-contact__form { padding: 48px 52px 40px !important; }
.nx-contact__form > .col-inner { height: 100%; }
.nx-contact .nxt-form-wrapper {
    height: 100%; display: flex; flex-direction: column; padding: 0 !important;
    background: none !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important;
    -webkit-backdrop-filter: none !important; backdrop-filter: none !important;
}
.nx-contact .nxt-form-wrapper::before { display: none; }
.nx-contact .nxt-step-panel.visible { flex: 1; }

/* avanzamento a segmenti */
.nx-contact .nxt-progress { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px !important; margin: 0 0 30px !important; }
.nx-contact .nxt-seg { display: flex; align-items: center; gap: 8px; padding-top: 12px; border-top: 3px solid rgba(255, 255, 255, .14); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: rgba(255, 255, 255, .45); transition: border-color .3s, color .3s; }
.nx-contact .nxt-seg__n { display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; font-size: 11px; letter-spacing: 0; background: rgba(255, 255, 255, .1); }
.nx-contact .nxt-seg.active { border-top-color: #5cf9bc; color: #fff; }
.nx-contact .nxt-seg.active .nxt-seg__n { background: #5cf9bc; color: #2c1d4d; }
.nx-contact .nxt-seg.done { border-top-color: rgba(92, 249, 188, .55); color: rgba(255, 255, 255, .75); }
.nx-contact .nxt-seg.done .nxt-seg__n { background: rgba(92, 249, 188, .25); color: #5cf9bc; }

/* titoli degli step */
.nx-contact .nxt-form-wrapper h3 { font-size: 24px !important; font-weight: 800; margin: 0 0 6px !important; }
.nx-contact .nxt-hint { margin: 0 0 22px !important; }

/* servizi come riquadri selezionabili */
.nx-contact .nxt-pills { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px !important; }
.nx-contact .nxt-pill {
    position: relative; display: flex; align-items: center; justify-content: flex-start; text-align: left;
    padding: 15px 46px 15px 18px !important; border-radius: 16px !important; font-size: 15px !important; font-weight: 600 !important;
    background: rgba(255, 255, 255, .05) !important; border: 1.5px solid rgba(255, 255, 255, .14) !important; color: rgba(255, 255, 255, .88) !important;
    transition: border-color .2s, background .2s, transform .2s;
}
.nx-contact .nxt-pill::after {
    content: ""; position: absolute; right: 16px; top: 50%; width: 20px; height: 20px; margin-top: -10px; border-radius: 50%;
    border: 1.5px solid rgba(255, 255, 255, .3); background: transparent center / 12px no-repeat; transition: background-color .2s, border-color .2s;
}
.nx-contact .nxt-pill:hover { border-color: rgba(255, 255, 255, .32) !important; background: rgba(255, 255, 255, .08) !important; }
.nx-contact .nxt-pill.active { border-color: #5cf9bc !important; background: rgba(92, 249, 188, .1) !important; color: #fff !important; box-shadow: none; }
.nx-contact .nxt-pill.active::after {
    border-color: #5cf9bc; background-color: #5cf9bc;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232c1d4d' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}

/* pulsanti */
.nx-contact .nxt-nav-buttons { margin-top: 28px !important; padding-top: 22px !important; border-top: 1px solid rgba(255, 255, 255, .1) !important; }
.nx-contact .nxt-btn-primary { padding: 1rem 2.2rem !important; font-size: 1rem !important; }

@media (max-width: 849px) {
    .nx-contact__row { border-radius: 28px; overflow: hidden; border: 1px solid rgba(255, 255, 255, .14); background: rgba(255, 255, 255, .05); gap: 0 !important; }
    .nx-contact__intro { padding: 36px 24px 28px !important; }
    .nx-contact__form { padding: 32px 22px 28px !important; }
    .nx-contact .nxt-pills { grid-template-columns: minmax(0, 1fr); }
}
/* specificità più alta del ".col {padding:0 !important}" del tema */
.nx-contact .nx-contact__row > .nx-contact__intro { padding: 52px 48px 44px !important; align-self: stretch !important; }
.nx-contact .nx-contact__row > .nx-contact__form { padding: 48px 52px 40px !important; align-self: stretch !important; }
@media (max-width: 849px) {
    .nx-contact .nx-contact__row > .nx-contact__intro { padding: 36px 24px 28px !important; }
    .nx-contact .nx-contact__row > .nx-contact__form { padding: 32px 22px 28px !important; }
}
.nx-contact .nx-contact__list li { margin-left: 0 !important; padding-left: 0 !important; }
.nx-contact .nx-contact__item { margin-left: -10px; padding-left: 66px; }
.nx-contact .nx-contact__item::before { left: 10px; }
.nx-contact .nxt-step-panel h3 + .nxt-field, .nx-contact .nxt-step-panel h3 + .nxt-grid-2 { margin-top: 18px; }
.nx-contact .nxt-field { margin-bottom: 4px; }
.nx-contact .nx-contact__title h3:first-child { font-size: clamp(18px, 1.6vw, 22px) !important; line-height: 1.35 !important; margin-bottom: 8px !important; color: rgba(255, 255, 255, .85); }

/* sinistra distribuita sull'altezza del form: titolo in alto, contatti al centro, badge in fondo */
@media (min-width: 850px) {
    .nx-contact .nx-contact__intro > .col-inner { justify-content: space-between; }
    .nx-contact .nx-contact__list { margin: 36px 0 !important; padding-top: 0; border-top: 1px solid rgba(255, 255, 255, .12); }
    .nx-contact .nx-contact__list li { border-bottom: 1px solid rgba(255, 255, 255, .12) !important; }
    .nx-contact .nx-contact__item { padding-top: 20px; padding-bottom: 20px; margin-left: 0; padding-left: 64px; border-radius: 0; }
    .nx-contact .nx-contact__item::before { left: 0; width: 46px; height: 46px; border-radius: 14px; background-size: 22px; }
    .nx-contact .nx-contact__item .nx-contact__k { font-size: 12px; }
    .nx-contact .nx-contact__item .nx-contact__v { font-size: 18px; }
    .nx-contact .nx-contact__trust img { width: 84px; }
}
@media (min-width: 850px) { .nx-contact .nx-contact__row > .nx-contact__intro { padding-top: 48px !important; padding-bottom: 64px !important; } }
/* badge bianchi su trasparente: tre colonne uguali, stesso ingombro per tutti */
.nx-contact .nx-contact__trust { display: grid; grid-template-columns: repeat(3, minmax(0, 96px)); gap: 8px; min-height: 52px; align-items: center; opacity: 1; }
.nx-contact .nx-contact__trust img { width: 100% !important; height: auto !important; }
/* campi dinamici dello step 3 su due colonne */
.nx-contact .nxt-dynamic { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.nx-contact .nxt-dynamic:empty { display: none; }
.nx-contact .nxt-dynamic .nxt-field:only-child { grid-column: 1 / -1; }
.nx-contact .nxt-dynamic + .nxt-field { margin-top: 6px; }
.nx-contact .nxt-dynamic + .nxt-field textarea { min-height: 84px; }
@media (max-width: 849px) { .nx-contact .nxt-dynamic { grid-template-columns: minmax(0, 1fr); } }
@keyframes nx-drift-b { 0% { transform: translate3d(0, 0, 0) scale(1); } 50% { transform: translate3d(-16vw, -10vh, 0) scale(1.2); } 100% { transform: translate3d(6vw, -4vh, 0) scale(1); } }
@keyframes nx-dots-move { to { background-position: 22px 22px; } }
@keyframes nx-glow-breathe { 0%, 100% { opacity: .75; transform: translateX(-10%) scale(1); } 50% { opacity: 1; transform: translateX(-4%) scale(1.12); } }

.nx-contact::before {
    width: 520px; height: 520px; left: -140px; top: -120px;
    background: rgba(247, 133, 152, .38);
    animation: nx-drift-a 22s ease-in-out infinite alternate;
    will-change: transform;
}
.nx-contact::after {
    display: block !important; content: ""; position: absolute; border-radius: 50%; filter: blur(100px); pointer-events: none;
    width: 560px; height: 560px; right: -160px; bottom: -200px;
    background: rgba(92, 249, 188, .26);
    animation: nx-drift-b 26s ease-in-out infinite alternate;
    will-change: transform;
}
.nx-contact__intro::before { animation: nx-dots-move 6s linear infinite; }
.nx-news::before { animation: nx-glow-breathe 9s ease-in-out infinite; }

@media (prefers-reduced-motion: reduce) {
    .nx-contact::before, .nx-contact::after, .nx-contact__intro::before, .nx-news::before { animation: none !important; }
}

/* ===== Form ad altezza fissa: gli step occupano la stessa cella, l'altezza è quella dello step più alto ===== */
.nx-contact .nxt-form-wrapper { display: grid !important; grid-template-rows: auto 1fr auto auto; grid-template-columns: minmax(0, 1fr); }
.nx-contact .nxt-form-wrapper > .nxt-progress { grid-row: 1; }
.nx-contact .nxt-form-wrapper > .nxt-step-panel { display: block !important; grid-row: 2; grid-column: 1; visibility: hidden; opacity: 0; transition: opacity .3s; }
.nx-contact .nxt-form-wrapper > .nxt-step-panel.visible { visibility: visible; opacity: 1; }
.nx-contact .nxt-form-wrapper > .nxt-nav-buttons { grid-row: 3; }
.nx-contact .nxt-form-wrapper > .nxt-msg { grid-row: 4; }
/* lo step 3 riserva sempre lo spazio di due domande */
.nx-contact .nxt-dynamic { min-height: 82px; }

/* ===== Contatti + newsletter: un unico sfondo animato continuo ===== */
.nx-contact-stage { position: relative; z-index: 1; isolation: isolate; overflow: hidden; margin-top: -56px; background: #422d70; border-radius: 56px 56px 0 0; }
.nx-contact-stage > .nx-contact,
.nx-contact-stage > .nx-news { margin-top: 0 !important; border-radius: 0 !important; background: transparent !important; overflow: visible !important; z-index: 1 !important; }
.nx-contact-stage > section > .section-bg { display: none !important; }
.nx-contact-stage .nx-contact::before, .nx-contact-stage .nx-contact::after, .nx-contact-stage .nx-news::before { display: none !important; }
.nx-stage-bg { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.nx-stage-glow { position: absolute; border-radius: 50%; filter: blur(100px); will-change: transform; }
.nx-stage-glow--pink { width: 560px; height: 560px; left: -160px; top: -140px; background: rgba(247, 133, 152, .38); animation: nx-stage-a 24s ease-in-out infinite alternate; }
/* il verde sta a cavallo tra form e newsletter e si muove su entrambe */
.nx-stage-glow--green { width: 640px; height: 640px; right: -120px; top: 48%; background: rgba(92, 249, 188, .26); animation: nx-stage-b 28s ease-in-out infinite alternate; }
.nx-stage-glow--lilac { width: 520px; height: 520px; left: 18%; bottom: -260px; background: rgba(160, 120, 240, .30); animation: nx-stage-c 32s ease-in-out infinite alternate; }
@keyframes nx-stage-a { 0% { transform: translate3d(0, 0, 0) scale(1); } 50% { transform: translate3d(22vw, 18vh, 0) scale(1.18); } 100% { transform: translate3d(6vw, 40vh, 0) scale(.95); } }
@keyframes nx-stage-b { 0% { transform: translate3d(0, -20vh, 0) scale(1); } 50% { transform: translate3d(-24vw, 6vh, 0) scale(1.2); } 100% { transform: translate3d(-8vw, 22vh, 0) scale(1); } }
@keyframes nx-stage-c { 0% { transform: translate3d(0, 0, 0) scale(1); } 50% { transform: translate3d(28vw, -30vh, 0) scale(1.15); } 100% { transform: translate3d(-6vw, -10vh, 0) scale(1.05); } }
@media (max-width: 849px) { .nx-contact-stage { margin-top: -40px; border-radius: 40px 40px 0 0; } }
@media (prefers-reduced-motion: reduce) { .nx-stage-glow { animation: none !important; } }

/* step 1: intestazione in alto, i servizi riempiono tutta l'altezza disponibile (anche lo spazio dei pulsanti) */
.nx-contact .nxt-form-wrapper > [data-nxt-step="1"] { grid-row: 2 / 4; display: flex !important; flex-direction: column; }
.nx-contact [data-nxt-step="1"] .nxt-pills { flex: 1 1 auto; grid-auto-rows: 1fr; align-content: stretch; margin-bottom: 0 !important; }
.nx-contact [data-nxt-step="1"] .nxt-pill { height: 100% !important; min-height: 56px; }
.nx-contact .nxt-form-wrapper > .nxt-step-panel { width: 100% !important; justify-self: stretch; }
.nx-contact [data-nxt-step="1"] .nxt-pills { width: 100%; }

/* tutti gli elementi del form in un'unica colonna (niente colonne implicite) */
.nx-contact .nxt-form-wrapper { grid-template-columns: minmax(0, 1fr) !important; }
.nx-contact .nxt-form-wrapper > * { grid-column: 1 / -1 !important; }

/* ===== Campi del form: leggibili, compatti, coerenti ===== */
.nx-contact .nxt-form-wrapper .field-label { font-size: 13px !important; font-weight: 600; color: rgba(255, 255, 255, .72) !important; margin: 0 0 6px !important; letter-spacing: .01em; }
.nx-contact .nxt-form-wrapper .nxt-field { margin: 0 0 12px !important; }
.nx-contact .nxt-form-wrapper .nxt-grid-2 { gap: 12px !important; }
.nx-contact .nxt-form-wrapper input:not([type="checkbox"]),
.nx-contact .nxt-form-wrapper select,
.nx-contact .nxt-form-wrapper textarea {
    width: 100%; height: 46px !important; margin: 0 !important; padding: 0 14px !important;
    font-family: Raleway, sans-serif; font-size: 15px !important; font-weight: 500;
    color: #fff !important; -webkit-text-fill-color: #fff; caret-color: #5cf9bc;
    background-color: rgba(20, 10, 40, .32) !important; border: 1px solid rgba(255, 255, 255, .16) !important; border-radius: 12px !important;
    box-shadow: none !important; transition: border-color .2s, background-color .2s, box-shadow .2s;
}
.nx-contact .nxt-form-wrapper input::placeholder,
.nx-contact .nxt-form-wrapper textarea::placeholder { color: rgba(255, 255, 255, .38) !important; -webkit-text-fill-color: rgba(255, 255, 255, .38); }
.nx-contact .nxt-form-wrapper input:focus,
.nx-contact .nxt-form-wrapper select:focus,
.nx-contact .nxt-form-wrapper textarea:focus { border-color: #5cf9bc !important; background-color: rgba(20, 10, 40, .45) !important; box-shadow: 0 0 0 3px rgba(92, 249, 188, .16) !important; outline: none; }
.nx-contact .nxt-form-wrapper input:-webkit-autofill,
.nx-contact .nxt-form-wrapper input:-webkit-autofill:focus { -webkit-box-shadow: 0 0 0 100px #2f2150 inset !important; -webkit-text-fill-color: #fff !important; caret-color: #5cf9bc; }
.nx-contact .nxt-form-wrapper textarea { height: 84px !important; padding: 12px 14px !important; resize: none; line-height: 1.5; }
/* select con freccia propria */
.nx-contact .nxt-form-wrapper select {
    -webkit-appearance: none; appearance: none; cursor: pointer; padding-right: 40px !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235cf9bc' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important; background-position: right 14px center !important; background-size: 16px !important;
}
.nx-contact .nxt-form-wrapper select:invalid, .nx-contact .nxt-form-wrapper select option[value=""] { color: rgba(255, 255, 255, .55); }
.nx-contact .nxt-form-wrapper select option { background: #2c1d4d; color: #fff; }
/* telefono: prefisso dentro al campo */
.nx-contact .nxt-phone-row { position: relative; display: block !important; margin: 0 !important; }
.nx-contact .nxt-phone-prefix {
    position: absolute; left: 1px; top: 1px; bottom: 1px; height: auto !important; width: 52px; padding: 0 !important; z-index: 1;
    display: flex !important; align-items: center; justify-content: center; border: 0 !important; border-right: 1px solid rgba(255, 255, 255, .14) !important;
    border-radius: 11px 0 0 11px !important; background: rgba(255, 255, 255, .05) !important; color: rgba(255, 255, 255, .7) !important; font-size: 14px !important;
}
.nx-contact .nxt-phone-row input { padding-left: 64px !important; }
/* privacy e pulsanti più compatti */
.nx-contact .nxt-privacy-row { align-items: flex-start; gap: 10px; margin-top: 4px !important; }
.nx-contact .nxt-privacy-row input[type="checkbox"] { width: 18px; height: 18px; margin: 2px 0 0 !important; accent-color: #5cf9bc; flex: none; }
.nx-contact .nxt-nav-buttons { margin-top: 18px !important; padding-top: 18px !important; }
.nx-contact .nxt-btn-primary { padding: .8rem 1.7rem !important; font-size: .95rem !important; }
.nx-contact .nxt-btn-ghost { padding: .8rem .4rem !important; }
.nx-contact .nxt-form-wrapper h3 { font-size: 22px !important; }
.nx-contact .nxt-step-panel h3 + .nxt-field, .nx-contact .nxt-step-panel h3 + .nxt-grid-2, .nx-contact .nxt-dynamic { margin-top: 16px !important; }
.nx-contact .nxt-form-wrapper .nxt-phone-row input:not([type="checkbox"]) { padding-left: 66px !important; }
/* lo spazio delle domande dinamiche è sempre riservato: l'altezza non cambia quando compaiono */
.nx-contact .nxt-dynamic, .nx-contact .nxt-dynamic:empty { display: grid !important; min-height: 71px; }
@media (max-width: 849px) { .nx-contact .nxt-dynamic, .nx-contact .nxt-dynamic:empty { min-height: 154px; } }
.nx-contact .nxt-dynamic, .nx-contact .nxt-dynamic:empty { min-height: 77px; }
@media (max-width: 849px) { .nx-contact .nxt-dynamic, .nx-contact .nxt-dynamic:empty { min-height: 166px; } }

/* prefisso telefonico selezionabile (+39 di default) */
.nx-contact .nxt-form-wrapper select.nxt-phone-prefix {
    position: absolute; left: 1px; top: 1px; bottom: 1px; width: 92px !important; height: auto !important; z-index: 2;
    padding: 0 22px 0 12px !important; border: 0 !important; border-right: 1px solid rgba(255, 255, 255, .14) !important;
    border-radius: 11px 0 0 11px !important; background-color: rgba(255, 255, 255, .06) !important;
    background-position: right 7px center !important; background-size: 12px !important;
    color: rgba(255, 255, 255, .85) !important; -webkit-text-fill-color: rgba(255, 255, 255, .85); font-size: 14px !important; box-shadow: none !important;
}
.nx-contact .nxt-form-wrapper select.nxt-phone-prefix:focus { box-shadow: inset 0 0 0 2px #5cf9bc !important; }
.nx-contact .nxt-form-wrapper .nxt-phone-row input:not([type="checkbox"]) { padding-left: 106px !important; }

/* ===== Form v5: campi più alti, testo interno in Inter, meno spazio in basso, errore sopra i pulsanti ===== */
.nx-contact .nxt-form-wrapper input:not([type="checkbox"]),
.nx-contact .nxt-form-wrapper select,
.nx-contact .nxt-form-wrapper textarea {
    height: 52px !important; font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif !important; font-size: 15px !important; font-weight: 400 !important; letter-spacing: -.005em;
}
.nx-contact .nxt-form-wrapper input::placeholder,
.nx-contact .nxt-form-wrapper textarea::placeholder { font-family: 'Inter', system-ui, sans-serif; }
.nx-contact .nxt-form-wrapper select option { font-family: 'Inter', system-ui, sans-serif; }
.nx-contact .nxt-form-wrapper textarea { height: 112px !important; padding: 14px !important; }
.nx-contact .nxt-form-wrapper select.nxt-phone-prefix { font-family: 'Inter', system-ui, sans-serif !important; }
.nx-contact .nx-contact__row > .nx-contact__form { padding: 44px 48px 30px !important; }
.nx-contact .nxt-nav-buttons { margin-top: 10px !important; padding-top: 16px !important; }
.nx-contact .nxt-privacy-row { margin-top: 2px !important; }
.nx-contact .nxt-privacy-row label { font-family: 'Inter', system-ui, sans-serif; font-size: 13px; }

/* errore: sopra la barra Indietro/Avanti, senza cambiare l'altezza */
.nx-contact .nxt-form-wrapper > .nxt-nav-buttons { grid-row: 3 !important; position: relative; }
.nx-contact .nxt-form-wrapper > .nxt-msg {
    grid-row: 3 !important; align-self: start; z-index: 2; pointer-events: none;
    transform: translateY(calc(-100% - 2px)); min-height: 0 !important; margin: 0 !important; padding: 6px 0;
    text-align: left !important; font-family: 'Inter', system-ui, sans-serif; font-size: 13px !important; font-weight: 500;
}
.nx-contact .nxt-msg.error { color: #ffb3c0 !important; }
.nx-contact .nxt-msg.error::before { content: "! "; font-weight: 800; color: #f78598; }
@media (max-width: 849px) { .nx-contact .nx-contact__row > .nx-contact__form { padding: 30px 22px 24px !important; } }

/* lista contatti: niente linea sopra e sotto, sfondo al passaggio del mouse con margine laterale */
@media (min-width: 850px) {
    .nx-contact .nx-contact__list { border-top: 0 !important; }
    .nx-contact .nx-contact__list li:last-child { border-bottom: 0 !important; }
    .nx-contact .nx-contact__item { margin: 0 -16px !important; padding: 18px 52px 18px 80px !important; border-radius: 16px !important; }
    .nx-contact .nx-contact__item::before { left: 16px !important; }
    .nx-contact .nx-contact__item::after { right: 20px; }
    .nx-contact .nx-contact__item:hover, .nx-contact .nx-contact__item:focus-visible { background: rgba(255, 255, 255, .06); }
}
/* newsletter: titoli più vicini */
.nx-news__title h2 { margin: 0 !important; padding: 0 !important; line-height: .9 !important; }
.nx-news__title h2.nx-news__outline { margin-top: .02em !important; }
/* footer: due paragrafi di presentazione e sedi su più blocchi */
.bgFooter .footerText p + p { margin-top: 12px; }
.bgFooter .footer-list p { margin-bottom: 10px; }
/* footer: riga copyright con margini laterali a ogni larghezza (prima toccava i bordi) */
.bgFooter .footer-bottom { width: calc(100% - 64px) !important; max-width: 1240px !important; margin-left: auto !important; margin-right: auto !important; padding-left: 0 !important; padding-right: 0 !important; }
.bgFooter .footer-bottom .col { padding-left: 0 !important; padding-right: 0 !important; }
@media (max-width: 849px) { .bgFooter .footer-bottom { width: calc(100% - 40px) !important; } }
.bgFooter > .section-content > .row:not(.footer-bottom) { width: calc(100% - 64px) !important; max-width: 1240px !important; margin-left: auto !important; margin-right: auto !important; }
@media (max-width: 849px) { .bgFooter > .section-content > .row:not(.footer-bottom) { width: calc(100% - 40px) !important; } }
/* riga copyright: sempre visibile e più leggibile */
.bgFooter .footer-bottom .col, .bgFooter .footer-bottom .text { opacity: 1 !important; transform: none !important; }
.bgFooter .footerTextCopy, .bgFooter .footerTextCopy p, .bgFooter .footerTextCopy a { color: rgba(255, 255, 255, .82) !important; }
.bgFooter .footerTextCopy p { font-size: 13.5px !important; line-height: 1.6; }

/* ===== Richiesta inviata: ringraziamento nello stesso riquadro (stessa altezza, niente cambio pagina) ===== */
.nx-contact .nxt-form-wrapper > .nxt-done { grid-row: 1 / -1; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 0 24px; visibility: hidden; opacity: 0; transform: translateY(10px); transition: opacity .5s .15s, transform .5s .15s; }
.nx-contact .nxt-form-wrapper.is-sent > :not(.nxt-done), .nx-contact .nxt-form-wrapper.is-sent .nxt-nav-buttons * { visibility: hidden !important; opacity: 0 !important; transition: opacity .25s; }
.nx-contact .nxt-form-wrapper.is-sent > .nxt-done { visibility: visible; opacity: 1; transform: none; }
.nxt-done__icon { position: relative; width: 72px; height: 72px; margin-bottom: 44px; border-radius: 50%; background: #5cf9bc; box-shadow: 0 0 0 10px rgba(92, 249, 188, .14); }
.nx-contact .nxt-form-wrapper .nxt-done__icon { margin: 0 0 44px !important; }
.nxt-done__icon::after { content: ""; position: absolute; left: 26px; top: 19px; width: 16px; height: 28px; border: solid #422d70; border-width: 0 5px 5px 0; transform: rotate(45deg); }
.is-sent .nxt-done__icon { animation: nxt-done-pop .6s .2s cubic-bezier(.34, 1.56, .64, 1) both; }
@keyframes nxt-done-pop { from { transform: scale(.4); opacity: 0; } to { transform: scale(1); opacity: 1; } }
.nx-contact .nxt-done__title { margin: 0 0 16px !important; font-size: 28px; font-weight: 800; color: #fff; line-height: 1.2; }
.nx-contact .nxt-done__text { max-width: 420px; margin: 0 0 36px !important; font-size: 16px; line-height: 1.6; color: rgba(255, 255, 255, .8); }
.nx-contact .nxt-done__alt { margin: 0 !important; font-size: 14px; color: rgba(255, 255, 255, .6); }
.nx-contact .nxt-done__alt a { white-space: nowrap; color: #5cf9bc; font-weight: 700; text-decoration: none; }
.nx-contact .nxt-done__alt a:hover { text-decoration: underline; }
@media (prefers-reduced-motion: reduce) { .is-sent .nxt-done__icon { animation: none; } }

/* ===== Design system squadrato: nessun angolo arrotondato (bottoni, card, campi, immagini, badge) ===== */
/* :is(*, #nx#nx#nx) vale per tutti gli elementi ma ha la specificità di 3 id, così vince anche sulle regole !important già presenti */
:is(*, #nx#nx#nx), :is(*, #nx#nx#nx)::before, :is(*, #nx#nx#nx)::after { border-radius: 0 !important; }
/* restano rotondi solo gli aloni sfocati di sfondo, che non hanno bordi visibili */
:is(.nxh-glow, .nx-stage-glow, #nx#nx#nx#nx), :is(.nx-contact, #nx#nx#nx#nx)::before, :is(.nx-contact, #nx#nx#nx#nx)::after, :is(.nx-news, #nx#nx#nx#nx)::before { border-radius: 50% !important; }

/* Indietro / Avanti del form: più compatti (Flatsome impone una line-height di 2.4em) */
.nx-contact .nxt-nav-buttons .nxt-btn { min-height: 0 !important; line-height: 1.2 !important; font-size: 14px !important; }
.nx-contact .nxt-nav-buttons .nxt-btn-primary { padding: 11px 22px !important; }
.nx-contact .nxt-nav-buttons .nxt-btn-ghost { padding: 11px 4px !important; }
.nx-contact .nxt-seg__t { white-space: nowrap; }
@media (max-width: 480px) { .nx-contact .nxt-seg { gap: 5px; letter-spacing: .03em; font-size: 11px; } }

/* footer: stessi badge bianchi del blocco contatti, stesso ingombro */
.bgFooter .footer-partner { gap: 12px; }
.bgFooter .footer-partner img, .bgFooter .footer-cert img { display: block; width: 96px !important; height: auto !important; }
.bgFooter .footer-cert { display: inline-block; }

/* topbar: stesso padding laterale e stesso stile delle voci di wearenext.it */
#header .header-main .header-inner { width: 100%; max-width: none !important; padding: 0 4vw !important; }
@media (max-width: 820px) { #header .header-main .header-inner { padding: 0 22px !important; } }
@media (max-width: 760px) { #header .header-main .header-inner { padding: 0 18px !important; } }
#header .header-nav-main { gap: clamp(22px, 3vw, 48px); }
#header .header-nav-main > li > a { font-size: .86rem !important; font-weight: 500 !important; letter-spacing: -.01em !important; text-shadow: none; }

/* mobile: footer allineato alla riga del copyright, spazio sopra la barra Chiama/Scrivi */
@media (max-width: 849px) {
    .bgFooter > .section-content > .row:not(.footer-bottom) > .col { padding-left: 0 !important; padding-right: 0 !important; }
    .bgFooter { padding-bottom: 72px !important; }
}
/* mobile: spazi uguali tra i campi dello step 2, stessa altezza totale del modulo */
@media (max-width: 549px) {
    .nx-contact [data-nxt-step="2"] .nxt-grid-2 { row-gap: 0 !important; }
    .nx-contact [data-nxt-step="2"] .nxt-field { margin-bottom: 18px !important; }
    .nx-contact [data-nxt-step="2"] .nxt-grid-2:last-child .nxt-field:last-child { margin-bottom: 12px !important; }
    .nx-news input[type="email"] { padding: 0 10px !important; font-size: 14px !important; }
}
.nx-contact__title h3 { text-wrap: balance; }

/* telefoni stretti: titolo newsletter dentro la card */
@media (max-width: 374px) { .nx-news__title h2 { font-size: 11.8vw !important; } }

/* topbar: voci sempre su una riga. Sotto i 1280px non ci stanno: si passa all'hamburger, resta il pulsante Contatti */
#header .header-nav-main { flex-wrap: nowrap; }
#header .header-nav-main > li > a { white-space: nowrap; }
/* 10 voci: spazi più stretti e logo che non si restringe */
#header .header-nav-main { gap: clamp(14px, 1.75vw, 36px); }
#header #logo { flex: 0 0 auto; }
@media (max-width: 1439px) { #header .header-nav-main { gap: 14px; } }
@media (min-width: 1280px) and (max-width: 1319px) {
    #header .header-nav-main { gap: 10px; }
    #header .header-nav-main > li.menu-item > a { font-size: 13px; }
}
@media (min-width: 850px) and (max-width: 1279px) {
    #header .header-nav-main > li.menu-item { display: none; }
    #header .header-main .show-for-medium { display: flex !important; }
}

/* barra Chiama/Scrivi su mobile: pannello compatto in vetro come la topbar.
   Compare solo dopo la CTA dell'hero e sparisce mentre il form è a schermo (inc/next-cta.php) */
.next-cta-bar.next-cta-bar {
    left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); gap: 0; padding: 0; height: 52px; overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .16); background: rgba(30, 19, 54, .78);
    box-shadow: 0 14px 34px rgba(0, 0, 0, .35);
    -webkit-backdrop-filter: blur(20px) saturate(150%); backdrop-filter: blur(20px) saturate(150%);
    transition: transform .35s cubic-bezier(.2, .7, .2, 1), opacity .25s;
}
.next-cta-bar.next-cta-bar.is-away { transform: translateY(calc(100% + 28px)); opacity: 0; pointer-events: none; }
.next-cta-bar.next-cta-bar a { gap: 8px; height: 100%; border: 0; font-family: Raleway, sans-serif; font-size: 14px; font-weight: 700; letter-spacing: -.01em; }
.next-cta-bar.next-cta-bar svg { width: 17px; height: 17px; flex: none; }
.next-cta-bar.next-cta-bar .next-cta-call { color: #fff; }
.next-cta-bar.next-cta-bar .next-cta-write { background: #5cf9bc; color: #1f1338; }
@media (prefers-reduced-motion: reduce) { .next-cta-bar.next-cta-bar { transition: none; } }

/* form, step 1: "Altro" chiude la griglia su tutta la riga */
.nx-contact #nxtServicePills .nxt-pill:last-child:nth-child(odd) { grid-column: 1 / -1; }
/* mobile: otto opzioni nello stesso spazio di prima, l'altezza del modulo non cambia */
@media (max-width: 849px) {
    .nx-contact #nxtServicePills { grid-auto-rows: 50.75px; margin-bottom: 2px !important; }
    .nx-contact #nxtServicePills .nxt-pill { height: 50.75px; padding-top: 0 !important; padding-bottom: 0 !important; }
}

/* pulsante Contatti: testo e freccia sulla stessa linea, bottone su pixel interi nella topbar */
#header .header-button-1 .button { height: 39px; min-height: 39px; line-height: 1 !important; }
#header .header-button-1 .button span, #header .header-button-1 .button::after { display: block; line-height: 1 !important; }

/* ===== Menu mobile: pannello a tutto schermo con i colori della topbar, voci grandi e contatti in fondo ===== */
.mfp-bg.off-canvas { background: #2c1d4d; opacity: 1; }
.mfp-wrap.off-canvas .mfp-container { background: none; }
.mfp-wrap.off-canvas .mfp-content {
    width: 100% !important; max-width: none !important; box-shadow: none !important;
    background:
        radial-gradient(circle at 100% 0%, rgba(92, 249, 188, .1), transparent 42%),
        radial-gradient(circle at 0% 100%, rgba(247, 133, 152, .14), transparent 46%),
        #2c1d4d !important;
}
.mfp-wrap.off-canvas .sidebar-menu { padding: 0 !important; }
.mfp-wrap.off-canvas .nav-sidebar {
    display: flex; flex-direction: column; flex-wrap: nowrap; align-items: stretch; box-sizing: border-box; width: 100%; max-width: 620px; min-height: 100vh; min-height: 100dvh; margin: 0 auto;
    padding: 0 20px calc(22px + env(safe-area-inset-bottom)) !important; font-family: Raleway, sans-serif;
}
.mfp-wrap.off-canvas .nav-sidebar > li { margin: 0; padding: 0 !important; border: 0 !important; }
.mfp-wrap.off-canvas .nav-sidebar > li.html_topbar_right { display: flex; align-items: center; min-height: 70px; }
.mfp-wrap.off-canvas .logomobile { margin: 0; }
.mfp-wrap.off-canvas .logomobile img { display: block; width: 128px; height: auto; }
.mfp-wrap.off-canvas .mfp-close { top: 10px; right: 10px; width: 50px; height: 50px; color: #fff; opacity: 1; }
.mfp-wrap.off-canvas .nav-sidebar > li.menu-item { border-bottom: 1px solid rgba(255, 255, 255, .1) !important; }
.mfp-wrap.off-canvas .nav-sidebar > li.menu-item > a {
    display: flex; align-items: center; justify-content: space-between; padding: 11px 0 !important; color: #fff;
    font-size: 23px !important; font-weight: 700; line-height: 1.2; letter-spacing: -.02em; text-transform: none;
}
.mfp-wrap.off-canvas .nav-sidebar > li.menu-item > a::after { content: "→"; font-size: 17px; font-weight: 500; color: #5cf9bc; opacity: .75; }
.mfp-wrap.off-canvas .nav-sidebar > li.current-menu-item > a { color: #5cf9bc; }
.mfp-wrap.off-canvas .nav-sidebar > li.html_top_right_text { margin-top: auto; padding-top: 24px !important; }
@keyframes nx-mm-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.mfp-wrap.off-canvas.mfp-ready .nav-sidebar > li { animation: nx-mm-in .4s cubic-bezier(.2, .7, .2, 1) both; }
.mfp-wrap.off-canvas.mfp-ready .nav-sidebar > li:nth-child(3) { animation-delay: .04s; }
.mfp-wrap.off-canvas.mfp-ready .nav-sidebar > li:nth-child(4) { animation-delay: .08s; }
.mfp-wrap.off-canvas.mfp-ready .nav-sidebar > li:nth-child(5) { animation-delay: .12s; }
.mfp-wrap.off-canvas.mfp-ready .nav-sidebar > li:nth-child(6) { animation-delay: .16s; }
.mfp-wrap.off-canvas.mfp-ready .nav-sidebar > li:nth-child(7) { animation-delay: .2s; }
.mfp-wrap.off-canvas.mfp-ready .nav-sidebar > li:nth-child(8) { animation-delay: .24s; }
.mfp-wrap.off-canvas.mfp-ready .nav-sidebar > li:nth-child(9) { animation-delay: .28s; }
.mfp-wrap.off-canvas.mfp-ready .nav-sidebar > li:nth-child(n+10) { animation-delay: .32s; }
.nx-mm__cta { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.nx-mm__btn { display: flex; align-items: center; justify-content: center; height: 46px; border: 1px solid #fff; color: #fff !important; font-size: 15px; font-weight: 700; letter-spacing: -.01em; }
.nx-mm__btn--primary { border-color: #5cf9bc; background: #5cf9bc; color: #1f1338 !important; }
.nx-mm__info { margin: 16px 0 0 !important; padding: 0; list-style: none; }
.nx-mm__info li { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin: 0; padding: 8px 0; border-bottom: 1px solid rgba(255, 255, 255, .08); font-size: 14px; line-height: 1.35; }
.nx-mm__info span { flex: none; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255, 255, 255, .55); }
.nx-mm__info a { color: #fff !important; font-weight: 600; text-align: right; }
.nx-mm__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 16px; margin-top: 14px; font-size: 13px; }
.nx-mm__social { display: flex; gap: 14px; }
.nx-mm__social a { color: #fff !important; font-weight: 600; }
.nx-mm__foot p { margin: 0; color: rgba(255, 255, 255, .6); font-size: 12px; }
@media (prefers-reduced-motion: reduce) { .mfp-wrap.off-canvas.mfp-ready .nav-sidebar > li { animation: none; } }
.mfp-wrap.off-canvas .nav-sidebar > li.current-menu-item > a, .mfp-wrap.off-canvas .nav-sidebar > li.active > a { color: #5cf9bc !important; }
.mfp-wrap.off-canvas .nx-mm__info { padding: 0 !important; list-style: none; }
.mfp-wrap.off-canvas .nx-mm__info li { margin: 0 !important; padding: 8px 0 !important; }
#header .header-nav-main > li.active > a, #header .header-nav-main > li.current-menu-item > a { color: #fff !important; opacity: 1; }

/* sottopagine: lo sfondo dell'hero sale sotto la topbar, come in home */
.page-template-page-blank:not(.home) #main { margin-top: -84px; }
.page-template-page-blank:not(.home) #content > .section:first-of-type { padding-top: 84px !important; }
@media (max-width: 849px) {
    .page-template-page-blank:not(.home) #main { margin-top: -70px; }
    .page-template-page-blank:not(.home) #content > .section:first-of-type { padding-top: 70px !important; }
}

/* sottopagine: hero più alte, il titolo sta centrato e staccato dalla topbar */
.page-template-page-blank:not(.home) #content > .section:first-of-type { min-height: 480px !important; }
@media (max-width: 849px) {
    .page-template-page-blank:not(.home) #content > .section:first-of-type { min-height: 300px !important; }
}


.mfp-wrap.off-canvas .nx-mm__info { margin-top: 0 !important; }
.nx-mm__cta { margin-top: 18px; }

/* menu mobile: icone social subito dopo le voci, contatti e pulsanti in fondo al pannello */
.mfp-wrap.off-canvas .nav-sidebar > li.html_top_right_text { display: flex; flex: 1 1 auto; margin-top: 0; padding-top: 10px !important; }
.nx-mm { display: flex; flex-direction: column; width: 100%; }
.nx-mm__social { display: flex; gap: 6px; margin: 0 0 24px -10px; }
.nx-mm__social a { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; color: #fff !important; }
.mfp-wrap.off-canvas .nx-mm__info { margin-top: auto !important; }

/* Menu mobile con 10 voci: righe più basse, così contatti e pulsanti restano nella schermata */
.mfp-wrap.off-canvas .nav-sidebar > li.menu-item > a { padding-top: 0 !important; padding-bottom: 0 !important; min-height: 44px; }
.nx-mm__social { margin-bottom: 8px; }
.mfp-wrap.off-canvas .nx-mm__info li { padding: 6px 0 !important; }
.nx-mm__cta { margin-top: 12px; }

/* Pagina Artificial Intelligence: H1 lungo del documento di direttive, tasti Chiama e Scrivi */
.nx-ai-hero h1 { max-width: 920px; margin: 0 auto; color: #fff; font-size: clamp(30px, 3.4vw, 50px); font-weight: 800; line-height: 1.15; letter-spacing: -.01em; }
.nx-ai-eyebrow { margin: 0 0 14px !important; color: #5cf9bc; font-size: 14px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.nx-cta-title h3 { margin-bottom: 18px; }
@media (min-width: 850px) {
    .nx-cta-call:hover span { font-size: 0; }
    .nx-cta-call:hover span::after { content: "+39 375 5707576"; font-size: 16px; }
}
.nx-cta-call.nx-cta-call { background: transparent !important; }
.page-id-226 .about-intro p, .page-id-14602 #content .section:not(.nx-contact):not(.nx-news) .col p { margin-bottom: 1em; }
.page-id-226 .about-intro p a, .page-id-14602 #content .section:not(.nx-contact):not(.nx-news) .col p a { color: #422d70 !important; font-weight: 700; text-decoration: underline; }
.page-id-226 .about-intro p:empty, .page-id-226 .about-intro p:has(> br:only-child) { display: none; }

/* ===== Topbar con hamburger: stessa struttura e animazione di Digital Farm (digitalfarm-site, site-header.css) =====
   logo a sinistra, hamburger a destra che si trasforma in X, pannello sotto la topbar che resta visibile */
@media (max-width: 1279px) {
    #header .header-main .header-inner > #logo { order: 1; flex: 0 0 auto; width: auto; margin: 0 auto 0 0; text-align: left; }
    #header .header-main .header-inner > .hide-for-medium.flex-left { order: 2; }
    #header .header-main .header-inner > .hide-for-medium.flex-right { order: 3; }
    #header .header-main .header-inner > .show-for-medium.flex-left { order: 4; flex: 0 0 auto; margin: 0 0 0 20px; }
    #header .header-main .header-inner > .show-for-medium.flex-right { display: none !important; }
    #header .header-main .mobile-nav { margin: 0; }
    #header .header-main .mobile-nav .nav-icon { margin: 0; }
    #header .header-main .mobile-nav .nav-icon > a {
        display: grid; place-items: center; align-content: center; gap: 5px; width: 44px; height: 44px; padding: 0; color: #fff; line-height: 1;
    }
    #header .header-main .mobile-nav .nav-icon > a > i { display: none; }
    .nx-bar { display: block; width: 22px; height: 2px; border-radius: 2px; background: currentColor; transition: transform .3s cubic-bezier(.2, .8, .2, 1), opacity .2s; }
    a.is-open > .nx-bar:nth-of-type(1) { transform: translateY(7px) rotate(45deg); }
    a.is-open > .nx-bar:nth-of-type(2) { opacity: 0; }
    a.is-open > .nx-bar:nth-of-type(3) { transform: translateY(-7px) rotate(-45deg); }
}
@media (max-width: 849px) {
    #header .header-main .header-inner { padding: 0 20px !important; }
    #header #logo img { width: 140px; height: auto; max-height: none; }
}
html.nx-menu-on #header { z-index: 1100; }
.mfp-bg.off-canvas { opacity: 0; transition: opacity .32s; }
.mfp-bg.off-canvas.mfp-ready { opacity: 1; }
.mfp-wrap.off-canvas .mfp-content { opacity: 0; transform: translateY(-8px) !important; transition: opacity .32s, transform .32s cubic-bezier(.2, .8, .2, 1) !important; }
.mfp-wrap.off-canvas.mfp-ready .mfp-content { opacity: 1; transform: none !important; }
.mfp-wrap.off-canvas.mfp-removing .mfp-content { opacity: 0 !important; transform: translateY(-8px) !important; }
.mfp-wrap.off-canvas .mfp-close { display: none !important; }
.mfp-wrap.off-canvas .nav-sidebar { padding-top: 70px !important; }
.mfp-wrap.off-canvas .nav-sidebar > li.html_topbar_right { display: none; }
.mfp-wrap.off-canvas.mfp-ready .nav-sidebar > li { animation: none; }

/* ===== Hero delle sottopagine: stesso sfondo della home (viola, puntini, luci in movimento), titolo grande a sinistra,
   testo e pulsante in una colonna stretta a destra, allineati in basso. Niente immagine ===== */
.nx-phero { position: relative; overflow: hidden; }
/* Hero: foto o video molto tenue sullo sfondo, diverso per ogni pagina */
.nx-phero__media { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.nx-phero__media img, .nx-phero__media video { display: block; width: 100%; height: 100%; object-fit: cover; opacity: .07; filter: grayscale(1); }
.nx-phero__dots { position: absolute; inset: 0; opacity: .6; background-image: radial-gradient(rgba(255, 255, 255, .14) 1px, transparent 1px); background-size: 26px 26px; pointer-events: none; }
.nx-phero__glow { position: absolute; border-radius: 50%; filter: blur(90px); pointer-events: none; will-change: transform; }
.nx-phero__glow--pink { width: 520px; height: 520px; left: -140px; top: 120px; background: rgba(247, 133, 152, .28); animation: nx-phero-a 16s ease-in-out infinite; }
.nx-phero__glow--green { width: 600px; height: 600px; right: -160px; top: -200px; background: rgba(92, 249, 188, .32); animation: nx-phero-b 20s ease-in-out infinite; }
@keyframes nx-phero-a { 0%, 100% { transform: translate(0, 0) scale(1); } 35% { transform: translate(24vw, -36%) scale(1.15); } 70% { transform: translate(8vw, 16%) scale(.9); } }
@keyframes nx-phero-b { 0%, 100% { transform: translate(0, 0) scale(1); } 40% { transform: translate(-18vw, 44%) scale(1.12); } 75% { transform: translate(-5vw, 72%) scale(.92); } }
.nx-phero__wrap {
    position: relative; box-sizing: border-box; display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 5fr); column-gap: clamp(48px, 5vw, 80px); align-items: end;
    max-width: 1314px; margin: 0 auto; padding: 96px 32px 110px; font-family: Raleway, sans-serif; color: #fff;
}
.nx-phero__eyebrow {
    display: flex; align-items: center; gap: 10px; margin: 0 0 18px; font-size: 14px !important; line-height: 1.5; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #f78598 !important;
}
.nx-phero__eyebrow::before { content: ""; flex: none; width: 24px; height: 3px; border-radius: 3px; background: #5cf9bc; }
.nx-phero .nx-phero__title h1 { margin: 0; font-size: clamp(46px, 5.9vw, 90px) !important; line-height: 1.02 !important; font-weight: 800; letter-spacing: -.025em; color: #fff; text-wrap: balance; }
.nx-phero__copy { padding-left: clamp(24px, 3vw, 40px); border-left: 1px solid rgba(255, 255, 255, .22); }
.nx-phero__copy p { margin: 0 0 16px; font-size: 17px; line-height: 1.6; font-weight: 500; color: rgba(255, 255, 255, .86); }
.nx-phero__copy strong { font-weight: 700; color: #fff; }
.nx-phero__btn {
    display: inline-flex; align-items: center; gap: 10px; height: 54px; margin-top: 14px; padding: 0 30px; background: #5cf9bc; color: #1f1338 !important; font-size: 16px; font-weight: 800; text-decoration: none;
    box-shadow: 0 12px 30px -12px rgba(92, 249, 188, .9); transition: transform .2s, box-shadow .2s;
}
.nx-phero__btn::after { content: "→"; }
.nx-phero__btn:hover { transform: translateY(-2px); box-shadow: 0 18px 36px -12px rgba(92, 249, 188, 1); }
@keyframes nx-phero-in { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
.nx-phero__eyebrow, .nx-phero__title h1, .nx-phero__copy { animation: nx-phero-in .8s cubic-bezier(.2, .7, .2, 1) both; }
.nx-phero__title h1 { animation-delay: .08s; }
.nx-phero__copy { animation-delay: .18s; }
@media (max-width: 900px) {
    .nx-phero__wrap { grid-template-columns: minmax(0, 1fr); row-gap: 28px; padding: 48px 20px 64px; }
    .nx-phero .nx-phero__title h1 { font-size: clamp(38px, 10.5vw, 60px) !important; }
    .nx-phero__copy { padding: 24px 0 0; border-left: 0; border-top: 1px solid rgba(255, 255, 255, .22); }
    .nx-phero__copy p { font-size: 16px; }
    /* su telefono le luci restano ai bordi per non disturbare la lettura */
    .nx-phero__glow--pink { left: -420px; }
    .nx-phero__glow--green { right: -470px; }
}
@media (prefers-reduced-motion: reduce) {
    .nx-phero__glow, .nx-phero__eyebrow, .nx-phero__title h1, .nx-phero__copy { animation: none; }
}

/* ===== Punti di forza delle sottopagine: fondo bianco, intestazione a due colonne, tre schede sfalsate con ombra a righe ===== */
.nx-pstrengths__wrap { box-sizing: border-box; max-width: 1314px; margin: 0 auto; padding: 96px 32px 96px; font-family: Raleway, sans-serif; color: #422d70; }
.nx-pstrengths__head { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 5fr); column-gap: clamp(48px, 5vw, 80px); align-items: end; margin-bottom: 52px; }
.nx-pstrengths__eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 16px; font-size: 14px !important; line-height: 1.5; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #f78598 !important; }
.nx-pstrengths__eyebrow::before { content: ""; flex: none; width: 24px; height: 3px; border-radius: 3px; background: #5cf9bc; }
.nx-pstrengths .nx-pstrengths__head h2 { margin: 0; font-size: clamp(34px, 4.2vw, 60px) !important; line-height: 1.06 !important; font-weight: 800; letter-spacing: -.02em; color: #422d70; text-wrap: balance; }
.nx-pstrengths__head > p { margin: 0; padding-left: clamp(24px, 3vw, 40px); border-left: 1px solid #e3ddf0; font-size: 18px; line-height: 1.6; font-weight: 500; color: #5a4d78; }
.nx-pstrengths__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; align-items: start; padding-right: 18px; }
.nx-pcard:nth-child(2) { margin-top: 36px; }
.nx-pcard__img { position: relative; margin-bottom: 38px; }
.nx-pcard__img::before {
    content: ""; position: absolute; inset: 0; background: #5cf9bc; transform: translate(18px, 18px); transition: transform .35s cubic-bezier(.2, .7, .2, 1);
    -webkit-mask: linear-gradient(135deg, #000 25%, transparent 25% 50%, #000 50% 75%, transparent 75%) 0 0 / 14px 14px;
    mask: linear-gradient(135deg, #000 25%, transparent 25% 50%, #000 50% 75%, transparent 75%) 0 0 / 14px 14px;
    animation: nx-pcard-stripes 2.4s linear infinite;
}
@keyframes nx-pcard-stripes { to { -webkit-mask-position: 14px 0; mask-position: 14px 0; } }
.nx-pcard__img img { position: relative; display: block; width: 100%; aspect-ratio: 16 / 10; height: auto; object-fit: cover; object-position: top; }
.nx-pcard h3 { display: flex; align-items: flex-end; min-height: 1em; margin: 0 0 6px; font-size: clamp(40px, 4vw, 58px); line-height: 1; font-weight: 800; letter-spacing: -.02em; color: #422d70; }
.nx-pcard p { margin: 0; font-size: 16px; line-height: 1.5; font-weight: 500; color: #5a4d78; }
@media (hover: hover) { .nx-pcard:hover .nx-pcard__img::before { transform: translate(24px, 24px); } }
/* comparsa allo scroll di tutti gli elementi (inc/next-cta.php). L'ombra a righe esce da dietro il riquadro quando entra in vista */
.nx-rv { opacity: 0; transform: translateY(26px); transition: opacity .8s cubic-bezier(.2, .7, .2, 1), transform .8s cubic-bezier(.2, .7, .2, 1); }
.nx-rv.is-in { opacity: 1; transform: none; }
.nx-pcard__img::before { transition: transform .7s cubic-bezier(.2, .7, .2, 1); }
.nx-pcard.nx-rv:not(.is-in) .nx-pcard__img::before, .nx-pimpact__wrap.nx-rv:not(.is-in)::before { transform: translate(0, 0); }
@media (max-width: 900px) {
    .nx-pstrengths__wrap { padding: 72px 20px 88px; }
    .nx-pstrengths__head { grid-template-columns: minmax(0, 1fr); row-gap: 20px; margin-bottom: 44px; }
    .nx-pstrengths__head > p { padding-left: 0; border-left: 0; font-size: 16px; }
    .nx-pstrengths__grid { grid-template-columns: minmax(0, 1fr); gap: 44px; padding-right: 0; }
    .nx-pcard:nth-child(2) { margin-top: 0; }
    .nx-pcard__img { margin-bottom: 30px; }
    .nx-pcard__img::before { transform: translate(0, 12px); }
}
@media (prefers-reduced-motion: reduce) {
    .nx-pcard__img::before { animation: none; }
    .nx-pstrengths .nx-pimpact__wrap::before { animation: none; }
}

/* ===== Risultati delle sottopagine: fascia compatta, testo viola scuro sul verde per un contrasto leggibile ===== */
.nx-pimpact__wrap { box-sizing: border-box; display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 7fr); column-gap: clamp(40px, 5vw, 80px); align-items: center; max-width: 1314px; margin: 0 auto; padding: 52px 32px; font-family: Raleway, sans-serif; color: #2c1d4d; }
.nx-pimpact__eyebrow { margin: 0 0 10px; font-size: 14px !important; line-height: 1.5; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #2c1d4d !important; }
.nx-pimpact__copy h2 { margin: 0 0 10px; font-size: clamp(26px, 2.6vw, 36px) !important; line-height: 1.12 !important; font-weight: 800; letter-spacing: -.02em; color: #2c1d4d; }
.nx-pimpact__copy h2 span { font-weight: 400; }
.nx-pimpact__copy p { margin: 0; max-width: 34em; font-size: 16px; line-height: 1.5; font-weight: 500; color: #2c1d4d; }
.nx-pimpact__copy strong { font-weight: 700; }
.nx-pimpact__stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
.nx-pimpact__stats > div { display: flex; flex-direction: column-reverse; justify-content: flex-end; padding-left: clamp(20px, 2.6vw, 36px); border-left: 1px solid rgba(44, 29, 77, .3); }
.nx-pimpact__stats dd { margin: 0 0 4px; text-transform: none !important; font-size: clamp(44px, 5vw, 72px); line-height: 1; font-weight: 800; letter-spacing: -.02em; white-space: nowrap; color: #2c1d4d; }
.nx-pimpact__stats dt { text-transform: none !important; letter-spacing: 0; font-size: 15px; line-height: 1.35; font-weight: 600; color: #2c1d4d; }
@media (max-width: 900px) {
    .nx-pimpact__wrap { grid-template-columns: minmax(0, 1fr); row-gap: 24px; padding: 40px 20px; }
    .nx-pimpact__stats > div:first-child { padding-left: 0; border-left: 0; }
}

/* ===== Tecnologie delle sottopagine: testo a sinistra, loghi e cloud in un'unica griglia compatta a destra ===== */
.nx-ptech__wrap { box-sizing: border-box; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 8fr); column-gap: clamp(40px, 5vw, 80px); align-items: center; max-width: 1314px; margin: 0 auto; padding: 72px 32px; font-family: Raleway, sans-serif; color: #fff; }
.nx-ptech__eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; font-size: 14px !important; line-height: 1.5; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #f78598 !important; }
.nx-ptech__eyebrow::before { content: ""; flex: none; width: 24px; height: 3px; border-radius: 3px; background: #5cf9bc; }
.nx-ptech .nx-ptech__copy h2 { margin: 0 0 14px; font-size: clamp(30px, 3.2vw, 44px) !important; line-height: 1.1 !important; font-weight: 400; letter-spacing: -.02em; color: #fff; text-wrap: balance; }
.nx-ptech__copy strong { font-weight: 800; }
.nx-ptech__copy p { margin: 0; font-size: 17px; line-height: 1.6; font-weight: 500; color: rgba(255, 255, 255, .86); }
.nx-ptech__logos ul { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.nx-ptech__logos li { margin: 0; overflow: hidden; background: #fff; }
.nx-ptech__logos img { display: block; width: 100%; height: auto; transform: scale(1.06); transition: transform .3s cubic-bezier(.2, .7, .2, 1); }
@media (hover: hover) { .nx-ptech__logos li:hover img { transform: scale(1.14); } }
.nx-ptech__cloud { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 4fr); column-gap: 8px; align-items: center; margin-top: 8px; }
.nx-ptech__cloud ul { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.nx-ptech .nx-ptech__cloud h3 { margin: 0; font-size: clamp(20px, 1.9vw, 26px) !important; line-height: 1.15; font-weight: 400; letter-spacing: -.01em; color: #fff; }
.nx-ptech__cloud h3 strong { font-weight: 800; }
@media (max-width: 900px) {
    .nx-ptech__wrap { grid-template-columns: minmax(0, 1fr); row-gap: 28px; padding: 56px 20px; }
    .nx-ptech__copy p { font-size: 16px; }
    .nx-ptech__logos ul { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
    .nx-ptech__cloud { grid-template-columns: minmax(0, 1fr); row-gap: 12px; margin-top: 22px; }
}

/* Punti di forza e risultati nello stesso modulo: la fascia verde sta dentro la sezione, sotto le schede. Numeri in evidenza */
.nx-pcard--word h3 { min-height: clamp(40px, 4vw, 58px); font-size: clamp(24px, 2.05vw, 30px); white-space: nowrap; }
.nx-pstrengths .nx-pimpact__wrap { position: relative; isolation: isolate; grid-template-columns: minmax(0, 1fr) auto; max-width: none; margin: 72px 18px 18px 0; padding: 40px 44px; color: #fff; }
/* stesso aspetto delle foto: riquadro viola con ombra verde a righe. Il fondo sta in ::after perché il riquadro resti sopra l'ombra */
.nx-pstrengths .nx-pimpact__wrap::before {
    content: ""; position: absolute; inset: 0; z-index: -2; background: #5cf9bc; transform: translate(18px, 18px); transition: transform .7s cubic-bezier(.2, .7, .2, 1) .35s;
    -webkit-mask: linear-gradient(135deg, #000 25%, transparent 25% 50%, #000 50% 75%, transparent 75%) 0 0 / 14px 14px;
    mask: linear-gradient(135deg, #000 25%, transparent 25% 50%, #000 50% 75%, transparent 75%) 0 0 / 14px 14px;
    animation: nx-pcard-stripes 2.4s linear infinite;
}
.nx-pstrengths .nx-pimpact__wrap::after { content: ""; position: absolute; inset: 0; z-index: -1; background: #422d70; }
.nx-pstrengths .nx-pimpact__eyebrow { color: #f78598 !important; }
.nx-pstrengths .nx-pimpact__copy h2, .nx-pstrengths .nx-pimpact__copy p, .nx-pstrengths .nx-pimpact__stats dt { color: #fff; }
.nx-pstrengths .nx-pimpact__stats dd { color: #5cf9bc; }
.nx-pstrengths .nx-pimpact__stats > div { border-left-color: rgba(255, 255, 255, .25); }
.nx-pstrengths .nx-pimpact__stats { grid-template-columns: repeat(3, auto); justify-content: end; }
.nx-pstrengths .nx-pimpact__stats > div { padding: 0 clamp(20px, 2.6vw, 36px); }
.nx-pstrengths .nx-pimpact__stats > div:last-child { padding-right: 0; }
.nx-pstrengths .nx-pimpact__stats dd { font-size: clamp(34px, 3.6vw, 52px); }
@media (max-width: 900px) {
    .nx-pcard--word h3 { min-height: 0; font-size: 28px; }
    .nx-pstrengths__grid .nx-pcard h3 { white-space: normal; }
    .nx-pstrengths .nx-pimpact__wrap { grid-template-columns: minmax(0, 1fr); margin: 52px 0 12px; padding: 32px 24px; }
    .nx-pstrengths .nx-pimpact__wrap::before { transform: translate(0, 12px); }
    .nx-pstrengths .nx-pimpact__stats { justify-content: start; }
    .nx-pstrengths .nx-pimpact__stats > div:first-child { padding-left: 0; }
}
@media (max-width: 600px) {
    .nx-pstrengths .nx-pimpact__stats { grid-template-columns: minmax(0, 1fr); row-gap: 18px; }
    .nx-pstrengths .nx-pimpact__stats > div { padding: 0; border-left: 0; }
    .nx-pstrengths .nx-pimpact__stats dd { font-size: clamp(32px, 10.4vw, 54px); }
}

/* ===== Workflow delle sottopagine: racconto allo scroll. A sinistra i passi con il testo che si accende parola per parola,
   a destra un riquadro fermo dove le illustrazioni si aprono una sull'altra (script in inc/next-cta.php) ===== */
.nx-wf__wrap { box-sizing: border-box; max-width: 1314px; margin: 0 auto; padding: 130px 32px 120px; font-family: Raleway, sans-serif; color: #422d70; }
.nx-wf__eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; font-size: 14px !important; line-height: 1.5; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #f78598 !important; }
.nx-wf__eyebrow::before { content: ""; flex: none; width: 24px; height: 3px; border-radius: 3px; background: #5cf9bc; }
.nx-wf .nx-wf__head h2 { margin: 0 0 44px; font-size: clamp(34px, 4.2vw, 60px) !important; line-height: 1.06 !important; font-weight: 800; letter-spacing: -.02em; color: #422d70; }
.nx-wf__rail { position: sticky; top: 84px; z-index: 30; display: flex; align-items: center; gap: 10px; margin: 0 -8px; padding: 16px 8px; background: #fff; }
.nx-wf__phase { display: inline-flex; align-items: center; flex: none; height: 44px; padding-right: 8px; background: #f5f3fa; transition: background .25s; }
.nx-wf__phase > a { display: inline-flex; align-items: center; gap: 8px; height: 44px; padding: 0 10px 0 16px; color: #422d70 !important; font-size: 14px; font-weight: 700; white-space: nowrap; text-decoration: none; transition: color .25s; }
.nx-wf__dots { display: inline-flex; align-items: center; }
.nx-wf__dots a { display: block; width: 18px; height: 44px; }
.nx-wf__dots a::before { content: ""; display: block; width: 8px; height: 8px; margin: 18px auto 0; background: #cfc6e2; transition: background .2s, transform .2s; }
.nx-wf__dots a:hover::before { transform: scale(1.4); }
.nx-wf__dots a.is-done::before { background: #422d70; }
.nx-wf__dots a.is-now::before { background: #5cf9bc; transform: scale(1.4); }
.nx-wf__now { flex: 1 1 auto; min-width: 0; overflow: hidden; margin-left: 12px; font-size: 14px; font-weight: 600; text-align: right; white-space: nowrap; text-overflow: ellipsis; color: #5a4d78; }
.nx-wf__phase > a img { width: 18px; height: 18px; object-fit: contain; }
.nx-wf__phase.is-active { background: #422d70; }
.nx-wf__phase.is-active > a { color: #fff !important; }
.nx-wf__phase.is-active > a img { filter: brightness(0) invert(1); }
.nx-wf__phase.is-active .nx-wf__dots a::before { background: rgba(255, 255, 255, .35); }
.nx-wf__phase.is-active .nx-wf__dots a.is-done::before { background: #fff; }
.nx-wf__phase.is-active .nx-wf__dots a.is-now::before { background: #5cf9bc; }
.nx-wf__anchor { display: block; height: 0; scroll-margin-top: 160px; }

.nx-wf__stack { position: relative; min-width: 0; }
.nx-wf__step { position: relative; display: flex; align-items: center; min-height: 100vh; padding: 80px 0; box-sizing: border-box; scroll-margin-top: 100px; }
.nx-wf__card { display: flex; flex-direction: column; width: 100%; }
.nx-wf__media { order: -1; }
.nx-wf__copy h4 { margin: 0 0 20px; font-size: 14px !important; line-height: 1.5; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: #f78598 !important; }
.nx-wf .nx-wf__copy h3 { margin: 0 0 28px; font-size: clamp(32px, 3.5vw, 50px) !important; line-height: 1.08 !important; font-weight: 800; letter-spacing: -.02em; color: #422d70; text-wrap: balance; }
.nx-wf__copy p { margin: 0 0 20px; max-width: 30em; font-size: 20px; line-height: 1.7; font-weight: 500; color: #422d70; }
.nx-w { color: #c9c0dc; transition: color .25s; }
.nx-w.on { color: #422d70; }
.nx-wf__media { display: block; margin-bottom: 20px; background: #f5f3fa; }
.nx-wf__media img { display: block; width: 100%; height: auto; }

/* riquadro fermo a destra, solo con lo script attivo */
.nx-wf.is-stage .nx-wf__scene { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); column-gap: clamp(56px, 7vw, 110px); align-items: start; margin-top: 16px; }
.nx-wf.is-stage .nx-wf__step .nx-wf__media { display: none; }
.nx-wf:not(.is-stage) .nx-wf__stage { display: none; }
.nx-wf__stage { position: sticky; top: 196px; overflow: hidden; height: min(calc(100vh - 256px), 600px); background: #f5f3fa; }
.nx-wf__shot { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 48px; background: #f5f3fa; clip-path: circle(0% at 50% 50%); transition: clip-path .9s cubic-bezier(.2, .7, .2, 1); }
.nx-wf__shot.is-on { z-index: 2; clip-path: circle(80% at 50% 50%); }
.nx-wf__shot.is-under { z-index: 1; clip-path: circle(80% at 50% 50%); transition: none; }
.nx-wf__shot img { display: block; width: 100%; height: 100%; object-fit: contain; transform: scale(1.14) rotate(-3deg); transition: transform 1.1s cubic-bezier(.2, .7, .2, 1); }
.nx-wf__shot.is-on img { transform: translateY(var(--drift, 0)) scale(1); }
.nx-wf__count { position: absolute; z-index: 3; left: 24px; bottom: 12px; font-size: clamp(64px, 8vw, 120px); font-weight: 800; line-height: 1; letter-spacing: -.04em; color: transparent; -webkit-text-stroke: 2px #422d70; pointer-events: none; }
.nx-wf__count small { font-size: .28em; letter-spacing: 0; -webkit-text-stroke: 0; color: #422d70; }

@media (max-width: 900px) {
    .nx-wf__wrap { padding: 80px 20px 72px; }
    .nx-wf__rail { top: 70px; overflow-x: auto; margin: 0 -20px 20px; padding: 10px 20px; scrollbar-width: none; }
    .nx-wf__now { display: none; }
    .nx-wf__rail::-webkit-scrollbar { display: none; }
    .nx-wf__phase > a { padding-left: 12px; }
    .nx-wf__anchor { scroll-margin-top: 130px; }
    .nx-wf__step { display: block; min-height: 0; padding: 28px 0 56px; scroll-margin-top: 130px; }
    .nx-wf__media { margin-bottom: 28px; }
    .nx-wf__copy p { font-size: 18px; }
    .nx-wf__media img { max-height: 240px; object-fit: contain; }
}
@media (prefers-reduced-motion: reduce) {
    .nx-wf__shot, .nx-wf__shot img { transition: none; }
}
@media (max-width: 1500px) { .nx-wf__now { display: none; } }
/* avanzamento: linea sottile orizzontale sotto le fasi, al posto di quella verticale */
.nx-wf__rail::after { content: ""; position: absolute; left: 8px; right: 8px; bottom: 0; height: 3px; background: linear-gradient(#5cf9bc, #5cf9bc) 0 0 / calc(var(--prog, 0) * 100%) 100% no-repeat, #f5f3fa; }
@media (max-width: 900px) { .nx-wf__rail::after { display: none; } }
/* le due colonne stanno rientrate rispetto alla barra delle fasi, che copre tutta la larghezza: il contenuto che le scorre sotto non si taglia ai lati */
.nx-wf__scene { padding: 0 clamp(24px, 4vw, 64px); }
.nx-wf__rail { box-shadow: 0 0 0 100vmax #fff; clip-path: inset(0 -100vmax); }
@media (max-width: 900px) { .nx-wf__scene { padding: 0 8px; } }
.nx-wf__sub { display: block; margin-top: 10px; font-size: .56em; line-height: 1.2; font-weight: 500; letter-spacing: -.01em; }
/* form su schermi medi: otto opzioni alte quanto le nove di prima, l'altezza del modulo non cambia */
@media (min-width: 850px) and (max-width: 1049px) { .nx-contact #nxtServicePills { min-height: 385px; } }
@media (min-width: 1050px) { .nx-contact #nxtServicePills { min-height: 300px; } }

/* ===== Pagina Artificial Intelligence: stessi moduli di Sviluppo App ===== */
.page-id-14602 .nx-phero .nx-phero__title h1, .page-id-505 .nx-phero .nx-phero__title h1, .page-id-230 .nx-phero .nx-phero__title h1, .page-id-16053 .nx-phero .nx-phero__title h1 { font-size: clamp(36px, 4.5vw, 66px) !important; line-height: 1.06 !important; }
.nx-psec__wrap { box-sizing: border-box; max-width: 1314px; margin: 0 auto; padding: 110px 32px; font-family: Raleway, sans-serif; color: #422d70; }
.nx-psec .nx-psec__title, .nx-plead h2, .nx-faq h2 { margin: 0 0 40px; max-width: 18em; font-size: clamp(32px, 3.8vw, 54px) !important; line-height: 1.08 !important; font-weight: 800; letter-spacing: -.02em; color: #422d70; text-wrap: balance; }
.nx-plead { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); column-gap: clamp(48px, 7vw, 110px); align-items: start; }
.nx-plead h2, .nx-faq h2 { margin-bottom: 0; }
.nx-plead p { margin: 0 0 20px; font-size: 19px; line-height: 1.7; font-weight: 500; color: #5a4d78; }
.nx-plead p:last-child { margin-bottom: 0; }
/* Card compatte sotto "Cosa è cambiato", sul modello delle card piccole della home */
.nx-pminis { padding-top: 0; padding-bottom: 96px; }
.nx-psec .nx-pminis__title { margin: 0 0 24px; font-size: clamp(24px, 2.2vw, 30px) !important; line-height: 1.15 !important; font-weight: 800; letter-spacing: -.02em; color: #422d70; }
.nx-pminis__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.nx-pmini { display: grid; grid-template-columns: 52px minmax(0, 1fr); column-gap: 18px; align-content: center; padding: 24px 28px; background: #f5f3fa; border: 1px solid #ebe6f5; transition: transform .3s cubic-bezier(.2, .7, .2, 1), box-shadow .3s, border-color .3s; }
.nx-pmini img { grid-row: span 2; align-self: center; width: 52px; height: 52px; }
.nx-pmini h3 { margin: 0 0 6px; font-size: 20px !important; line-height: 1.2 !important; font-weight: 800; color: #422d70; }
.nx-pmini p { grid-column: 2; margin: 0; font-size: 15px; line-height: 1.6; font-weight: 500; color: #5a4d78; }
.nx-pmini a { font-weight: 800; color: #422d70 !important; text-decoration: underline; text-decoration-color: #5cf9bc; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.nx-pmini--main { grid-template-columns: 64px minmax(0, 1fr); padding: 34px 36px; background: radial-gradient(circle at 92% 0%, rgba(92, 249, 188, .22), transparent 46%), radial-gradient(circle at 0% 100%, rgba(247, 133, 152, .2), transparent 44%), #422d70; border-color: #422d70; }
.nx-pmini--main img { width: 64px; height: 64px; }
.nx-pmini--main h3 { margin-bottom: 8px; font-size: 26px !important; letter-spacing: -.02em; color: #fff; }
.nx-pmini--main p { font-size: 16px; color: rgba(255, 255, 255, .86); }
@media (hover: hover) { .nx-pmini:hover { transform: translateY(-4px); border-color: #d9cff0; box-shadow: 0 24px 48px -30px rgba(66, 45, 112, .45); } }
@media (max-width: 900px) {
    .nx-pminis { padding-bottom: 64px; }
    .nx-pminis__grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
    .nx-pmini { grid-template-columns: 44px minmax(0, 1fr); column-gap: 14px; padding: 20px; }
    .nx-pmini { align-items: center; row-gap: 10px; }
    .nx-pmini__ico { grid-row: auto; width: 44px; height: 44px; }
    .nx-pmini__ico > * { width: 44px !important; height: 44px !important; }
    .nx-pmini img { grid-row: auto; width: 44px; height: 44px; }
    .nx-pmini h3 { margin: 0; font-size: 19px !important; }
    .nx-pmini p { grid-column: 1 / -1; }
    .nx-psoc { grid-column: 1 / -1; flex-direction: row; flex-wrap: wrap; gap: 8px 18px; }
    .nx-pmini--main { grid-template-columns: 52px minmax(0, 1fr); padding: 24px; }
    .nx-pmini--main img { width: 52px; height: 52px; }
    .nx-pmini--main h3 { margin: 0; font-size: 22px !important; }
    .nx-pmini--main p { font-size: 15px; }
}
.nx-pminis__grid--tre { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.nx-pminis__larga { grid-column: 1 / -1; align-items: center; padding-top: 26px; padding-bottom: 26px; }
.nx-pminis__larga h3 { margin-bottom: 4px; }
.nx-pmini--main a { color: #5cf9bc !important; text-decoration-color: currentColor; }
/* Slider di card: scorrimento nativo del browser, le frecce le aggiunge lo script */
.nx-pslider { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; column-gap: 40px; }
.nx-pslider .nx-psec__title { grid-column: 1; margin-bottom: 40px; }
.nx-pslider__nav { grid-column: 2; grid-row: 1; display: flex; align-items: center; gap: 10px; margin-bottom: 40px; }
.nx-pslider__bar { width: 140px; height: 3px; margin-right: 10px; overflow: hidden; border-radius: 3px; background: #e3ddf0; }
.nx-pslider__bar i { display: block; width: 100%; height: 100%; border-radius: 3px; background: #422d70; transform-origin: left; }
.nx-pslider__btn { display: grid; place-items: center; width: 48px; height: 48px; min-height: 0; margin: 0; padding: 0; border: 2px solid #422d70; border-radius: 50%; background: transparent; color: #422d70; cursor: pointer; transition: background .2s, color .2s, opacity .2s; }
.nx-pslider__btn svg { width: 18px; height: 18px; }
.nx-pslider__btn:disabled { opacity: .3; cursor: default; }
.nx-pslider__btn:focus-visible, .nx-pslider__track:focus-visible { outline: 2px solid #422d70; outline-offset: 3px; }
@media (hover: hover) { .nx-pslider__btn:not(:disabled):hover { background: #422d70; color: #fff; } }
.nx-psec--slider { container-type: inline-size; }
.nx-pslider__track { --nx-margine: max(32px, calc(50cqw - 625px)); grid-column: 1 / -1; display: flex; gap: 28px; margin: 0 calc(var(--nx-margine) * -1); padding: 0 var(--nx-margine) 12px; scroll-padding-left: var(--nx-margine); overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; list-style: none; }
.nx-pslider__track::-webkit-scrollbar { display: none; }
.nx-pslide { position: relative; isolation: isolate; box-sizing: border-box; display: flex; flex: 0 0 30%; flex-direction: column; min-width: 300px; margin: 0; padding: 32px; scroll-snap-align: start; }
.nx-pslide::before {
    content: ""; position: absolute; inset: 0; z-index: -2; background: #5cf9bc; transform: translate(12px, 12px);
    -webkit-mask: linear-gradient(135deg, #000 25%, transparent 25% 50%, #000 50% 75%, transparent 75%) 0 0 / 14px 14px;
    mask: linear-gradient(135deg, #000 25%, transparent 25% 50%, #000 50% 75%, transparent 75%) 0 0 / 14px 14px;
}
.nx-pslide::after { content: ""; position: absolute; inset: 0; z-index: -1; background: #fff; }
.nx-pslide h3 { margin: 0 0 24px; font-size: 26px !important; line-height: 1.15 !important; font-weight: 800; letter-spacing: -.02em; color: #422d70; }
.nx-pslide dl { display: flex; flex: 1; flex-direction: column; gap: 24px; margin: 0; }
.nx-pslide dt { margin: 0 0 6px; font-size: 13px; line-height: 1.4; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #422d70; }
.nx-pslide dd { margin: 0; font-size: 17px; line-height: 1.55; font-weight: 500; letter-spacing: 0; text-transform: none; color: #5a4d78; }
.nx-pslide__res { margin-top: auto; padding-top: 20px; border-top: 1px solid #e3ddf0; }
.nx-pslide__res dd { font-weight: 700; color: #422d70; }
@media (max-width: 900px) {
    .nx-pslider { grid-template-columns: minmax(0, 1fr); }
    .nx-pslider .nx-psec__title { margin-bottom: 28px; }
    .nx-pslider__track { --nx-margine: 20px; grid-column: 1; gap: 20px; }
    .nx-pslide { flex-basis: 84%; min-width: 0; padding: 26px; }
    .nx-pslide h3 { font-size: 24px !important; }
    .nx-pslider__nav { grid-column: 1; grid-row: 3; justify-content: space-between; margin: 20px 0 0; }
    .nx-pslider__bar { flex: 1; width: auto; }
}
.nx-pslider__head { grid-column: 1; margin-bottom: 40px; }
.nx-pslider .nx-pslider__head .nx-psec__title { margin-bottom: 14px; }
.nx-pslider__head > p { max-width: 52em; margin: 0; font-size: 18px; line-height: 1.6; font-weight: 500; color: rgba(255, 255, 255, .86); }
/* Piattaforme ecommerce e funzionalità: stessa card dello slider */
.nx-pslider--plat .nx-pslide { flex-basis: 36%; }
.nx-pplat__logo { display: block; width: auto; height: 42px; max-width: 170px; margin: 0 0 22px; object-fit: contain; object-position: left; }
.nx-pplat__txt p { margin: 0 0 12px; font-size: 16px; line-height: 1.55; font-weight: 500; color: #5a4d78; }
.nx-pplat__txt p:last-child { margin-bottom: 0; }
.nx-pplat__fine { margin-top: auto; padding-top: 22px; }
.nx-pplat__k { margin: 0 0 10px; padding-top: 20px; border-top: 1px solid #e3ddf0; font-size: 13px; line-height: 1.4; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #422d70; }
.nx-pplat__brands { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; align-items: center; margin: 0; padding: 0; list-style: none; }
.nx-pplat__brands li { margin: 0; }
.nx-pplat__brands img { display: block; width: 100%; height: 40px; object-fit: contain; }
.nx-pplat--headless { justify-content: center; }
.nx-pplat--headless::after { background: #5cf9bc; }
.nx-pplat--headless::before { background: #fff; }
.nx-pplat--headless h3 { font-size: 34px !important; }
.nx-pplat--headless .nx-pplat__txt p { font-size: 18px; font-weight: 600; color: #422d70; }
.nx-pfun__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 460px); column-gap: 40px; align-items: center; margin-bottom: 16px; }
.nx-psec .nx-pfun__head .nx-psec__title { margin: 0; }
.nx-pfun__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; padding: 0 12px 12px 0; }
.nx-pfun__grid .nx-pslide { min-width: 0; }
/* Video in loop delle sottopagine, con la stessa ombra a righe delle card */
.nx-pvideo { position: relative; isolation: isolate; margin: 0 12px 12px 0; }
.nx-pvideo::before {
    content: ""; position: absolute; inset: 0; z-index: -2; background: #5cf9bc; transform: translate(12px, 12px);
    -webkit-mask: linear-gradient(135deg, #000 25%, transparent 25% 50%, #000 50% 75%, transparent 75%) 0 0 / 14px 14px;
    mask: linear-gradient(135deg, #000 25%, transparent 25% 50%, #000 50% 75%, transparent 75%) 0 0 / 14px 14px;
}
.nx-pvideo video { display: block; width: 100%; height: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: #fff; }
.nx-plead--video { align-items: center; }
.nx-plead--video h2 { margin-bottom: 20px; }
.nx-pfun__head .nx-pvideo { margin: 0; background: #f5f3fa; }
.nx-pfun__head .nx-pvideo::before { content: none; }
.nx-pfun__head .nx-pvideo video { height: auto; aspect-ratio: 5 / 2; background: transparent; mix-blend-mode: multiply; }
.nx-pfun__list { display: flex; flex-direction: column; gap: 14px; margin: 0; padding: 0; list-style: none; }
.nx-pfun__list li { margin: 0; padding-left: 14px; border-left: 2px solid #f78598; font-size: 16px; line-height: 1.5; font-weight: 500; color: #5a4d78; }
.nx-pfun__list strong { color: #422d70; }
@media (max-width: 1100px) {
    .nx-pminis__grid--tre { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
    .nx-pminis__grid--tre { grid-template-columns: minmax(0, 1fr); }
    .nx-pslider__head { margin-bottom: 28px; }
    .nx-pslider__head > p { font-size: 16px; }
    .nx-pslider--plat .nx-pslide { flex-basis: 84%; }
    .nx-pfun__head { grid-template-columns: minmax(0, 1fr); row-gap: 4px; }
    .nx-pfun__grid { grid-template-columns: minmax(0, 1fr); gap: 28px; padding: 0 8px 12px 0; }
}
.nx-pstrengths__head--img { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: center; }
.nx-pstrengths .nx-pstrengths__head--img h2 { margin-bottom: 18px; }
.nx-pstrengths__head--img > div p { margin: 0; font-size: 18px; line-height: 1.6; font-weight: 500; color: #5a4d78; }
.nx-pstrengths__head--img > p { margin: 0; padding: 0; border: 0; }
.nx-pstrengths__head--img img { display: block; width: 100%; height: auto; }
@media (max-width: 900px) {
    .nx-pstrengths__head--img { grid-template-columns: minmax(0, 1fr); }
    .nx-pstrengths__head--img > div p { font-size: 16px; }
    .nx-pstrengths__head--img img { max-width: 340px; margin: 0 auto; }
}
/* Creative Agency: icone animate dei servizi */
.nx-pmini__ico { grid-row: span 2; align-self: center; width: 52px; height: 52px; }
.nx-pmini__ico > * { width: 52px !important; height: 52px !important; margin: 0 !important; }
.nx-pmetodo .nx-pminis__grid { position: relative; }
.nx-pmetodo .nx-pmini { border-color: transparent; }
/* Chi siamo: timeline a card con anno e linea continua */
.nx-pslider--time .nx-ptime { flex-basis: 29%; padding: 0; }
.nx-ptime::before, .nx-ptime::after { content: none; }
.nx-ptime__anno { position: relative; display: block; margin-bottom: 22px; font-size: clamp(44px, 4.4vw, 64px); line-height: 1; font-weight: 800; letter-spacing: -.02em; color: #5cf9bc; }
.nx-ptime__img { aspect-ratio: 16 / 9; margin-bottom: 20px; overflow: hidden; }
.nx-ptime__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.nx-psec .nx-ptime h3 { margin: 0 0 10px; font-size: 22px !important; color: #fff; }
.nx-ptime p { margin: 0; font-size: 16px; line-height: 1.55; font-weight: 500; color: rgba(255, 255, 255, .86); }
.nx-ptime { position: relative; }
.nx-pslider--time .nx-pslider__track { position: relative; }
.nx-ptime:not(:last-child) .nx-ptime__anno::after { content: ""; position: absolute; top: 50%; left: 150px; right: -28px; height: 2px; background: rgba(92, 249, 188, .45); }
/* Chi siamo: network */
.nx-pnet > br, .nx-pnet__casa br { display: none; }
.nx-pnet { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; }
.nx-pnet__card { display: flex; flex-direction: column; background: #fff; border: 1px solid #ebe6f5; color: #422d70 !important; text-decoration: none !important; transition: transform .3s cubic-bezier(.2, .7, .2, 1), box-shadow .3s, border-color .3s; }
.nx-pnet__img { display: block; aspect-ratio: 5 / 4; overflow: hidden; background: #1f1338; }
.nx-pnet__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
.nx-pnet__body { display: flex; flex: 1; flex-direction: column; padding: 20px; }
.nx-pnet__k { font-size: 12px; line-height: 1.35; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #f78598; }
.nx-pnet__n { margin: 10px 0 8px; font-size: 24px; line-height: 1.15; font-weight: 800; letter-spacing: -.01em; }
.nx-pnet__t { flex: 1; font-size: 15px; line-height: 1.5; font-weight: 500; color: #5a4d78; }
.nx-pnet__go { display: inline-flex; gap: 6px; margin-top: 16px; font-size: 13px; font-weight: 700; overflow-wrap: anywhere; }
.nx-pnet__go::after { content: "↗"; }
.nx-pnet__casa { position: relative; display: flex; align-items: flex-end; min-height: 320px; margin-top: 20px; overflow: hidden; background: #422d70; color: #fff !important; text-decoration: none !important; }
.nx-pnet__casa img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.nx-pnet__casa::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(44, 29, 77, .88), rgba(44, 29, 77, .25)); }
.nx-pnet__casa-testo { position: relative; z-index: 1; display: flex; flex-direction: column; padding: 36px 40px; }
.nx-pnet__casa .nx-pnet__k { color: #5cf9bc; }
.nx-pnet__casa .nx-pnet__n { margin: 8px 0 0; font-size: clamp(30px, 3.4vw, 46px); }
@media (hover: hover) {
    .nx-pnet__card:hover { transform: translateY(-4px); border-color: #d9cff0; box-shadow: 0 24px 48px -30px rgba(66, 45, 112, .45); }
    .nx-pnet__card:hover .nx-pnet__img img { transform: scale(1.05); }
}
.nx-pnet__card:focus-visible, .nx-pnet__casa:focus-visible { outline: 2px solid #422d70; outline-offset: 3px; }
@media (max-width: 1100px) { .nx-pnet { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 900px) {
    .nx-pslider--time .nx-ptime { flex-basis: 84%; }
    .nx-ptime:not(:last-child) .nx-ptime__anno::after { left: 130px; right: -20px; }
    .nx-pnet { grid-template-columns: minmax(0, 1fr); gap: 14px; }
    .nx-pnet__img { aspect-ratio: 5 / 2; }
    .nx-pnet__body { padding: 16px; }
    .nx-pnet__n { font-size: 21px; }
    .nx-pnet__casa { min-height: 240px; margin-top: 14px; }
    .nx-pnet__casa-testo { padding: 24px; }
}
/* Contatti: recapiti in alto, presentazione piccola tra form e newsletter */
.nx-pintro__wrap { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: clamp(40px, 5vw, 80px); align-items: center; padding-top: 72px; padding-bottom: 128px; }
.nx-pintro h1 { margin: 0 0 16px; font-size: clamp(44px, 4.8vw, 68px) !important; line-height: 1.02 !important; font-weight: 800; letter-spacing: -.02em; color: #422d70; }
.nx-pintro__testo p { margin: 0 0 24px; font-size: 18px; line-height: 1.6; font-weight: 500; color: #5a4d78; }
.nx-prec { margin: 0; padding: 0; list-style: none; }
.nx-prec li { display: grid; grid-template-columns: 40px 130px minmax(0, 1fr); column-gap: 16px; align-items: center; margin: 0; padding: 16px 0; border-bottom: 1px solid #e3ddf0; }
.nx-prec li:first-child { border-top: 1px solid #e3ddf0; }
.nx-prec li > br { display: none; }
.nx-prec img { width: 40px; height: 40px; }
.nx-psec .nx-prec h3 { margin: 0; font-size: 19px !important; line-height: 1.2 !important; font-weight: 800; color: #422d70; }
.nx-prec p { margin: 0; font-size: 15px; line-height: 1.5; font-weight: 500; color: #5a4d78; }
.nx-prec a { color: inherit !important; text-decoration: none; }
.nx-prec .nx-psoc { grid-column: 3; flex-direction: row; flex-wrap: wrap; gap: 6px 18px; color: #5a4d78; }
.nx-prec .nx-psoc a { display: inline-flex; align-items: center; gap: 7px; font-size: 15px; font-weight: 500; }
.nx-prec .nx-psoc svg { fill: currentColor; }
@media (hover: hover) { .nx-prec a:hover { color: #422d70 !important; text-decoration: underline; text-decoration-color: #5cf9bc; text-decoration-thickness: 2px; text-underline-offset: 3px; } }
.page-id-231 #header .header-main { background: #422d70 !important; box-shadow: none; }
@media (max-width: 900px) {
}
.nx-ppres { position: relative; z-index: 1; padding: 0 16px 20px !important; }
.page-id-231 .nx-contact { padding-bottom: 20px !important; }
.page-id-231 .nx-ppres { padding-bottom: 0 !important; }
.nx-psoc { display: flex; flex-direction: column; gap: 6px; grid-column: 2; }
.nx-pintro .nx-pmini .nx-psoc a { display: inline-flex; align-items: center; gap: 8px; font-size: 15px; line-height: 1.4; }
.nx-psoc svg { flex: none; width: 16px; height: 16px; fill: #422d70; }
.nx-psoc br { display: none; }
.nx-contact-stage > .nx-ppres { background: transparent !important; }
.nx-contact-stage > .nx-ppres > .section-bg { display: none; }
.nx-ppres__card { display: flex; align-items: center; gap: 24px; box-sizing: border-box; max-width: 1240px; margin: 0 auto; padding: 16px 32px 16px 16px; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .16); color: #fff !important; text-decoration: none !important; transition: background .25s, border-color .25s; }
.nx-ppres__card br { display: none; }
.nx-ppres__card img { flex: none; width: 150px; height: 96px; object-fit: cover; background: #000; }
.nx-ppres__testo { display: grid; flex: 1; grid-template-columns: minmax(0, 1fr) auto; column-gap: 24px; align-items: center; }
.nx-ppres__k { font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: #5cf9bc; }
.nx-ppres__n { margin: 4px 0 8px; font-size: 22px; line-height: 1.15; font-weight: 800; letter-spacing: -.01em; }
.nx-ppres__go { display: inline-flex; grid-column: 2; grid-row: 1 / span 2; gap: 6px; font-size: 14px; font-weight: 700; }
.nx-ppres__go::after { content: "↗"; }
@media (hover: hover) { .nx-ppres__card:hover { background: rgba(255, 255, 255, .14); border-color: rgba(92, 249, 188, .5); } }
.nx-ppres__card:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
@media (max-width: 600px) {
    .nx-ppres { padding: 0 20px 16px !important; }
    .nx-ppres__card { gap: 14px; padding: 12px; }
    .nx-ppres__card img { width: 92px; height: 76px; }
    .nx-ppres__n { font-size: 18px; }
    .nx-ppres__testo { display: flex; flex-direction: column; align-items: flex-start; }
}
@media (max-width: 1000px) {
    .nx-psec .nx-pintro__wrap { grid-template-columns: minmax(0, 1fr); row-gap: 32px; padding-top: 48px; padding-bottom: 104px; }
}
@media (max-width: 600px) {
    .nx-prec li { grid-template-columns: 34px minmax(0, 1fr); column-gap: 12px; row-gap: 4px; padding: 14px 0; }
    .nx-prec img { grid-row: span 2; align-self: start; width: 34px; height: 34px; }
    .nx-prec p, .nx-prec .nx-psoc { grid-column: 2; }
    .nx-pintro__testo p { font-size: 16px; }
}
/* Pagine legali: hero bassa e testo su una colonna leggibile */
.page-template-page-blank:not(.home) #content > .section.nx-phero--legale:first-of-type { min-height: 0 !important; }
.nx-phero--legale .nx-phero__wrap { grid-template-columns: minmax(0, 1fr); padding: 64px 32px 72px; }
.nx-phero--legale .nx-phero__title h1 { margin: 0; font-size: clamp(38px, 4.6vw, 64px) !important; line-height: 1.05 !important; }
.nx-plegal { padding: 56px 0 0 !important; }
.nx-plegal:last-of-type { padding-bottom: 96px !important; }
.nx-plegal .row { width: calc(100% - 64px); max-width: 1250px; margin: 0 auto; }
.nx-plegal p { margin: 0 0 16px; font-size: 17px; line-height: 1.7; font-weight: 500; color: #5a4d78; }
.nx-plegal p:has(> strong:only-child:not(:has(+ br))) { margin-top: 28px; margin-bottom: 8px; font-size: 21px; line-height: 1.3; font-weight: 800; color: #422d70; }
.nx-plegal strong { color: #422d70; }
.nx-plegal a { color: #422d70; font-weight: 700; text-decoration: underline; text-decoration-color: #5cf9bc; text-decoration-thickness: 2px; text-underline-offset: 3px; }
.nx-plegal__pdf { display: flex; flex-direction: column; gap: 12px; box-sizing: border-box; width: calc(100% - 64px); max-width: 1250px; margin: 0 auto; font-family: Raleway, sans-serif; }
.nx-plegal__pdf br { display: none; }
.nx-plegal .nx-plegal__pdf a { display: flex; justify-content: space-between; gap: 16px; padding: 18px 22px; background: #f5f3fa; border: 1px solid #ebe6f5; font-size: 16px; font-weight: 700; text-decoration: none; color: #422d70; transition: border-color .25s, background .25s; }
.nx-plegal .nx-plegal__pdf a::after { content: "↗"; }
@media (hover: hover) { .nx-plegal .nx-plegal__pdf a:hover { background: #fff; border-color: #5cf9bc; } }
@media (max-width: 900px) {
    .nx-phero--legale .nx-phero__wrap { padding: 44px 20px 52px; row-gap: 20px; }
    .nx-plegal p { font-size: 16px; }
    .nx-plegal .row, .nx-plegal__pdf { width: calc(100% - 40px); }
    .nx-plegal .row > .col { padding-right: 0 !important; padding-left: 0 !important; }
}
/* Portfolio: titolo e descrizione della hero piu grandi */
.nxh-hero.nx-hportfolio .nxh-slide__title { margin-bottom: 8px !important; font-size: clamp(56px, 7.4vw, 112px) !important; line-height: 1 !important; }
.nxh-hero.nx-hportfolio .nxh-slide__text { margin-top: 0 !important; font-size: clamp(20px, 1.9vw, 28px) !important; line-height: 1.4 !important; }
/* Marketing: fasi dell'approccio */
.page-id-230 .nx-pslider__head > p { max-width: 30em; text-wrap: balance; }
.nx-pfase .nx-pstep__n { flex: none; margin-bottom: 20px; }
.nx-pfase h3 { margin-bottom: 14px; }
.nx-psec__head { margin-bottom: 8px; }
.nx-faq { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); column-gap: clamp(48px, 7vw, 110px); align-items: start; }
.nx-faq__item { box-sizing: border-box; border-bottom: 1px solid #e3ddf0; }
.nx-faq__item:first-child { border-top: 1px solid #e3ddf0; }
.nx-faq__item summary { position: relative; display: block; padding: 24px 52px 24px 0; font-size: clamp(19px, 1.7vw, 23px); line-height: 1.3; font-weight: 700; color: #422d70; cursor: pointer; list-style: none; }
.nx-faq__item summary::-webkit-details-marker { display: none; }
.nx-faq__item summary::before, .nx-faq__item summary::after { content: ""; position: absolute; top: 50%; right: 10px; width: 18px; height: 2px; background: #422d70; transition: transform .25s; }
.nx-faq__item summary::after { transform: rotate(90deg); }
.nx-faq__item[open] summary::after { transform: rotate(0deg); }
.nx-faq__item summary:hover { color: #5a4d78; }
.nx-faq__item summary:focus-visible { outline: 2px solid #422d70; outline-offset: 3px; }
.nx-faq__item p { margin: 0; padding: 0 52px 26px 0; font-size: 17px; line-height: 1.65; font-weight: 500; color: #5a4d78; }
@media (max-width: 900px) {
    .nx-psec__wrap { padding: 72px 20px; }
    .nx-plead, .nx-faq { grid-template-columns: minmax(0, 1fr); row-gap: 24px; }
    .nx-plead p { font-size: 17px; }
    .nx-faq__item summary { padding-right: 40px; }
    .nx-faq__item p { padding-right: 0; }
}
/* Metodo in quattro passi: fascia viola con percorso orizzontale, senza scorrimento a pagine */
.nx-plead--unito { padding-bottom: 56px; }
.nx-pmetodo { position: relative; overflow: hidden; }
.nx-pmetodo .nx-psec__wrap { position: relative; z-index: 1; padding-top: 104px; padding-bottom: 120px; }
.nx-pmetodo .nx-psec__title { margin-bottom: 56px; color: #fff; }
.nx-psteps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px; margin: 0; padding: 0; list-style: none; }
.nx-pmetodo .nx-psec__wrap:not(:last-child) { padding-bottom: 96px; }
.nx-pmetodo .nx-psec__wrap + .nx-psec__wrap { padding-top: 0; }
.nx-pmetodo .nx-pslider .nx-psec__title { margin-bottom: 40px; }
.nx-pmetodo .nx-pslider__bar { background: rgba(255, 255, 255, .22); }
.nx-pmetodo .nx-pslider__bar i { background: #5cf9bc; }
.nx-pmetodo .nx-pslider__btn { border-color: #fff; color: #fff; }
.nx-pmetodo .nx-pslider__btn:focus-visible, .nx-pmetodo .nx-pslider__track:focus-visible { outline-color: #fff; }
@media (hover: hover) { .nx-pmetodo .nx-pslider__btn:not(:disabled):hover { background: #5cf9bc; border-color: #5cf9bc; color: #422d70; } }
.nx-pstep { position: relative; margin: 0; }
.nx-pstep:not(:last-child)::before { content: ""; position: absolute; top: 23px; left: 60px; right: -20px; height: 2px; background: #5cf9bc; transform-origin: left; transition: transform .9s cubic-bezier(.2, .7, .2, 1); transition-delay: inherit; }
.nx-pstep.nx-rv:not(.is-in)::before { transform: scaleX(0); }
.nx-pstep__n { display: grid; place-items: center; width: 48px; height: 48px; font-size: 16px; line-height: 1; font-weight: 800; letter-spacing: .04em; color: #422d70; background: #5cf9bc; }
.nx-pstep__img { position: relative; isolation: isolate; margin: 26px 12px 34px 0; background: #fff; }
.nx-pstep__img::before {
    content: ""; position: absolute; inset: 0; z-index: -2; background: #5cf9bc; transform: translate(12px, 12px); transition: transform .5s cubic-bezier(.2, .7, .2, 1);
    -webkit-mask: linear-gradient(135deg, #000 25%, transparent 25% 50%, #000 50% 75%, transparent 75%) 0 0 / 14px 14px;
    mask: linear-gradient(135deg, #000 25%, transparent 25% 50%, #000 50% 75%, transparent 75%) 0 0 / 14px 14px;
}
.nx-pstep__img::after { content: ""; position: absolute; inset: 0; z-index: -1; background: #fff; }
.nx-pstep__img img { display: block; width: 100%; height: auto; }
@media (hover: hover) { .nx-pstep:hover .nx-pstep__img::before { transform: translate(18px, 18px); } }
.nx-psec .nx-pstep h3 { margin: 0 0 10px; font-size: clamp(22px, 1.9vw, 27px) !important; line-height: 1.15 !important; font-weight: 800; letter-spacing: -.01em; color: #fff; }
.nx-pstep p { margin: 0; font-size: 16px; line-height: 1.6; font-weight: 500; color: rgba(255, 255, 255, .86); }
@media (max-width: 1000px) {
    .nx-psteps { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 48px; }
    .nx-pstep:not(:last-child)::before { display: none; }
}
@media (max-width: 900px) {
    .nx-plead--unito { padding-bottom: 40px; }
    .nx-pmetodo .nx-psec__wrap { padding-top: 64px; padding-bottom: 72px; }
    .nx-pmetodo .nx-psec__title { margin-bottom: 36px; }
    .nx-pmetodo .nx-psec__wrap:not(:last-child) { padding-bottom: 64px; }
    .nx-pmetodo .nx-pslider .nx-psec__title { margin-bottom: 28px; }
}
@media (max-width: 600px) {
    .nx-psteps { grid-template-columns: minmax(0, 1fr); row-gap: 32px; }
    .nx-pstep { display: grid; grid-template-columns: 112px minmax(0, 1fr); column-gap: 18px; }
    .nx-pstep__n { grid-column: 2; width: 30px; height: 30px; margin-bottom: 8px; font-size: 12px; }
    .nx-pstep__img { grid-column: 1; grid-row: 1 / span 3; align-self: start; margin: 0 8px 8px 0; }
    .nx-pstep h3, .nx-pstep p { grid-column: 2; }
    .nx-pstep__img::before { transform: translate(8px, 8px); }
    .nx-pstep__img img { aspect-ratio: 1; object-fit: contain; }
    .nx-psec .nx-pstep h3 { font-size: 21px !important; }
    .nx-pstep p { font-size: 15px; line-height: 1.5; }
}

/* Case: modello MindLogix. Testata sopra, immagini grandi in righe senza tagli */
.nx-case .nx-case__flusso { display: flex; flex-direction: column; gap: 16px; }
.nx-case .nx-case__flusso > .nx-case__head { margin-bottom: 16px; }
.nx-case .nx-case__flusso > * + .nx-case__head { margin-top: 40px; }
.nx-case .nx-case__flusso > .nx-case__brand { margin-block: 24px; }
.nx-case .nx-case__flusso > .nx-case__tech { margin-block: 0 8px; }
.nx-case .nx-case__flusso .nx-case__riga { align-items: stretch; }
.nx-case .nx-case__riga > br, .nx-case .nx-case__righe > br, .nx-case .nx-case__flusso > br { display: none; }
.nx-case .nx-case__foto--palco { display: flex; align-items: center; justify-content: center; aspect-ratio: var(--nx-r); padding: 24px; background: var(--nx-bg, #f5f3fa); overflow: hidden; }
.nx-case .nx-case__foto--palco img, .nx-case .nx-case__foto--palco .nx-case__video { flex: none; width: auto; max-width: min(100%, var(--nx-w, 100%)); height: auto; max-height: 100%; object-fit: contain; }
.nx-case--viola .nx-case__foto--palco { background: var(--nx-bg, #fff); }
.nx-case .nx-case__foto--tagliata { aspect-ratio: var(--nx-r); overflow: hidden; }
.nx-case .nx-case__foto--tagliata img { height: 100%; object-fit: cover; object-position: top; }
.nx-case .nx-case__voci { display: flex; gap: 16px; align-items: stretch; }
.nx-case .nx-case__voce2 { display: flex; flex: 1 1 0; flex-direction: column; min-width: 0; }
.nx-case .nx-case__voce2 .nx-case__righe { margin-top: auto; }
.nx-case .nx-case__voci + .nx-case__voci { margin-top: 24px; }
.nx-case .nx-case__voce2 .nx-case__cap { min-height: 0; margin-bottom: 14px; }
.nx-case .nx-case__voce2 .nx-case__cap h3 { margin: 0 0 6px; font-size: 24px !important; line-height: 1.2 !important; }
.nx-case .nx-case__voce2 .nx-case__cap .nx-case__testi p { font-size: 16px; line-height: 1.55; }
.nx-case .nx-case__voce2 .nx-case__cap .nx-case__label { margin-bottom: 8px; }
.nx-case .nx-case__voce2 .nx-case__righe { gap: 16px; }
.nx-case .section-content .video-fit { max-width: none; }
.nx-case .video-fit:has(iframe[data-cookieblock-src]:not([src]))::before { content: "Il video si attiva accettando i cookie marketing"; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; padding: 16px; text-align: center; font-size: 16px; font-weight: 700; color: inherit; }
.nx-case-hero .nxh-slide__media:not(.nx-case-nofondo) img { aspect-ratio: 16 / 10; object-fit: cover; }
.nx-case .nx-case__badge { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.nx-case .nx-case__badge img { display: block; width: auto; height: 44px; }
.nx-case .nx-case__head--voce h3 { margin: 0 0 16px; font-size: clamp(34px, 3.6vw, 50px) !important; line-height: 1.08 !important; font-weight: 800; letter-spacing: -.015em; color: inherit; }
.nx-case .nx-case__head--voce .nx-case__cap-sub { margin: 0 0 8px; font-size: 19px; line-height: 1.35; font-weight: 800; color: inherit; }
@media (max-width: 849px) {
    .nx-case .nx-case__voci { display: flex; flex-direction: column; align-items: stretch; }
}
@media (max-width: 549px) {
    .nx-case .nx-case__flusso, .nx-case .nx-case__voce2 .nx-case__righe { gap: 8px; }
    .nx-case .nx-case__foto--palco { box-sizing: border-box; aspect-ratio: auto; min-width: 0; max-width: 100%; padding: 12px; }
    .nx-case .nx-case__foto--palco img, .nx-case .nx-case__foto--palco .nx-case__video { width: min(100%, var(--nx-w, 100%)); max-height: 520px; }
    .nx-case .nx-case__foto--tagliata { align-self: start; width: 100%; min-width: 0; }
    .nx-case .nx-case__flusso > * + .nx-case__head { margin-top: 28px; }
    .nx-case .nx-case__voci + .nx-case__voci { margin-top: 16px; }
    .nx-case .nx-case__voce2 .nx-case__cap h3 { font-size: 20px !important; }
}

/* TAC: la mano della hero poggia sulla fine della hero */
.postid-15011 .nx-case-hero .nxh-slide__media { position: relative; top: 84px; align-self: end; }
@media (max-width: 849px) {
    .postid-15011 .nx-case-hero .nxh-slide__media { top: 72px; }
}

/* Centogrammi: immagine dello smartphone intera nella hero */
.postid-14755 .nx-case-hero .nxh-slide__media img { aspect-ratio: 1; object-fit: contain; }

/* RRTREK: logo bianco in hero, piu alto del normale perche ha le montagne */
.postid-14305 .nx-case-hero .nx-case__logo { height: 72px; max-width: 220px; }

/* Case senza logo in file: nome del progetto al posto del logo */
.nx-case-hero .nx-case__nome { margin: 0 0 14px; font-size: 26px; line-height: 1.2; font-weight: 800; color: #fff; }

/* Tablet: hero su due colonne, testo a sinistra e immagine a destra, senza vuoto laterale */
@media (min-width: 601px) and (max-width: 900px) {
    .nxh-hero .nxh-slide { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 32px; align-items: center; }
    .nxh-hero .nxh-slide__media { justify-self: end; max-width: 100%; }
    .nxh-hero .nxh-chips { flex-wrap: wrap; overflow: visible; }
}

/* Siti Web (ID 2508): moduli propri, stessa palette */
.nx-sw-intro { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(40px, 6vw, 96px); align-items: center; padding-bottom: 64px; }
.nx-sw-intro .nx-psec__title { margin-bottom: 20px; }
.nx-sw-intro__copy p { margin: 0; font-size: 19px; line-height: 1.7; font-weight: 500; color: #5a4d78; }
.nx-sw-browser { overflow: hidden; border: 1px solid #e3ddf0; border-radius: 14px; background: #fff; box-shadow: 18px 18px 0 -1px #5cf9bc, 0 30px 60px -30px rgba(66, 45, 112, .45); }
.nx-sw-browser__bar { display: flex; align-items: center; gap: 7px; height: 38px; padding: 0 16px; border-bottom: 1px solid #ece7f5; background: #f5f3fa; }
.nx-sw-browser__bar i, .nx-sw-tile__bar i { display: block; width: 10px; height: 10px; border-radius: 50%; background: #f78598; }
.nx-sw-browser__bar i:nth-child(2), .nx-sw-tile__bar i:nth-child(2) { background: #f5c76b; }
.nx-sw-browser__bar i:nth-child(3), .nx-sw-tile__bar i:nth-child(3) { background: #5cf9bc; }
.nx-sw-browser__bar span { flex: 1; margin-left: 12px; padding: 4px 12px; border-radius: 20px; background: #fff; font-size: 12px; font-weight: 600; color: #8a80a3; }
.nx-sw-browser__scroll { aspect-ratio: 16 / 10; background-color: #0b0b10; background-repeat: no-repeat; background-size: 100% auto; background-position: 50% 0; animation: nx-sw-scroll 26s ease-in-out 1s infinite alternate; }
@keyframes nx-sw-scroll { 0%, 8% { background-position: 50% 0; } 92%, 100% { background-position: 50% 100%; } }
@media (prefers-reduced-motion: reduce) { .nx-sw-browser__scroll { animation: none; } }
.nx-sw-feat-wrap { padding-top: 0; }
.nx-sw-feat { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 48px; margin: 0; padding: 0; list-style: none; }
.nx-sw-feat li { margin: 0; padding: 28px 0 32px; border-top: 1px solid #e3ddf0; }
.nx-sw-feat__n { display: block; margin-bottom: 14px; font-size: 15px; font-weight: 800; letter-spacing: .1em; color: #f78598; }
.nx-sw-feat h3 { margin: 0 0 8px; font-size: 21px !important; line-height: 1.25 !important; font-weight: 800; color: #422d70; }
.nx-sw-feat p { margin: 0; font-size: 16px; line-height: 1.6; font-weight: 500; color: #5a4d78; }
.nx-sw-band { display: flex; align-items: center; gap: 28px; margin-top: 24px; padding: 32px 36px; border-radius: 18px; background: #422d70; color: #fff; }
.nx-sw-band img { flex: none; width: 56px; height: 56px; }
.nx-sw-band h3 { margin: 0 0 6px; font-size: 24px !important; font-weight: 800; color: #fff; }
.nx-sw-band p { margin: 0; font-size: 16px; line-height: 1.6; font-weight: 500; color: rgba(255, 255, 255, .86); }
.nx-sw-band a { color: #5cf9bc; font-weight: 700; }
.nx-sw-cosa { position: relative; z-index: 1; color: #fff; }
.nx-sw-cosa__head { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: 64px; align-items: end; margin-bottom: 48px; }
.nx-sw-cosa__head .nx-pstrengths__eyebrow { grid-column: 1 / -1; }
.nx-sw-cosa__head .nx-psec__title { margin: 0; color: #fff; }
.nx-sw-cosa__head p { margin: 0; font-size: 17px; line-height: 1.65; font-weight: 500; color: rgba(255, 255, 255, .84); }
.nx-sw-bento { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.nx-sw-tile { display: flex; flex-direction: column; overflow: hidden; border-radius: 16px; background: #fff; color: #422d70; transition: transform .35s; }
.nx-sw-tile--big { grid-column: span 2; }
.nx-sw-tile__bar { display: flex; gap: 6px; padding: 14px 18px; border-bottom: 1px solid rgba(66, 45, 112, .1); }
.nx-sw-tile__body { padding: 24px 26px 30px; }
.nx-sw-tile h3 { margin: 0 0 10px; font-size: 22px !important; line-height: 1.2 !important; font-weight: 800; color: #422d70; }
.nx-sw-tile--big h3 { font-size: 30px !important; }
.nx-sw-tile p { margin: 0; font-size: 16px; line-height: 1.6; font-weight: 500; color: #5a4d78; }
@media (hover: hover) { .nx-sw-tile:hover { transform: translateY(-6px); } }
.nx-sw-cmp-wrap .nx-psec__title { margin-bottom: 40px; }
.nx-sw-cmp { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; align-items: stretch; }
.nx-sw-cmp__col { overflow: hidden; border-radius: 18px; background: #fff; box-shadow: 0 24px 50px -32px rgba(66, 45, 112, .35); transition: transform .35s; }
.nx-sw-cmp__body { padding: 30px 36px 40px; }
.nx-sw-cmp__win { padding: 22px 22px 0; background: #ece7f8; }
.nx-sw-cmp__col--viola .nx-sw-cmp__win { background: #5cf9bc; }
.nx-sw-cmp__bar { display: flex; align-items: center; gap: 6px; height: 30px; padding: 0 12px; border-radius: 10px 10px 0 0; background: #fff; }
.nx-sw-cmp__bar i { display: block; width: 8px; height: 8px; border-radius: 50%; background: #f78598; }
.nx-sw-cmp__bar i:nth-child(2) { background: #f5c76b; }
.nx-sw-cmp__bar i:nth-child(3) { background: #5cf9bc; }
.nx-sw-cmp__col--viola .nx-sw-cmp__bar i:nth-child(3) { background: #422d70; }
.nx-sw-cmp__bar span { margin-left: 8px; font-size: 11px; font-weight: 700; color: #8a80a3; }
.nx-sw-cmp__vis { position: relative; height: 150px; border-top: 1px solid #ece7f5; background: #fff; }
.nx-sw-cmp__vis--sito { display: flex; flex-direction: column; gap: 10px; padding: 26px 24px; }
.nx-sw-cmp__vis--sito b { display: block; height: 12px; border-radius: 6px; background: #422d70; }
.nx-sw-cmp__vis--sito b:nth-child(1) { width: 62%; height: 18px; }
.nx-sw-cmp__vis--sito b:nth-child(2) { width: 84%; background: #ddd5ee; }
.nx-sw-cmp__vis--sito b:nth-child(3) { width: 70%; background: #ddd5ee; }
.nx-sw-cmp__vis--sito em { display: block; width: 92px; height: 26px; margin-top: 4px; border-radius: 4px; background: #5cf9bc; }
.nx-sw-cmp__vis--dash { display: flex; gap: 18px; padding: 20px 24px 0 0; background: #2c1d4d; }
.nx-sw-cmp__vis--dash s { flex: none; width: 54px; background: rgba(255, 255, 255, .08); }
.nx-sw-cmp__vis--dash u { display: flex; flex: 1; align-items: flex-end; gap: 10px; padding-bottom: 0; text-decoration: none; }
.nx-sw-cmp__vis--dash b { flex: 1; border-radius: 5px 5px 0 0; background: #5cf9bc; }
.nx-sw-cmp__vis--dash b:nth-child(1) { height: 38%; } .nx-sw-cmp__vis--dash b:nth-child(2) { height: 62%; background: #f78598; } .nx-sw-cmp__vis--dash b:nth-child(3) { height: 48%; } .nx-sw-cmp__vis--dash b:nth-child(4) { height: 80%; } .nx-sw-cmp__vis--dash b:nth-child(5) { height: 56%; background: #f78598; } .nx-sw-cmp__vis--dash b:nth-child(6) { height: 92%; }
@media (hover: hover) { .nx-sw-cmp__col:hover { transform: translateY(-6px); } }
.nx-sw-cmp__col--viola { background: #422d70; }
.nx-sw-cmp__k { margin: 0 0 6px; font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #f78598; }
.nx-sw-cmp__col h3 { margin: 0 0 22px; font-size: 32px !important; font-weight: 800; color: #422d70; }
.nx-sw-cmp__col--viola h3 { color: #fff; }
.nx-sw-cmp__col--viola .nx-pfun__list li { border-left-color: #5cf9bc; color: rgba(255, 255, 255, .84); }
.nx-sw-cmp__col--viola .nx-pfun__list strong { color: #fff; }
.nx-sw-inc { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin-top: 32px; }
.nx-sw-inc__k { margin: 0 8px 0 0; font-size: 14px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #422d70; }
.nx-sw-inc ul { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.nx-sw-inc li { margin: 0; padding: 8px 14px; border: 1px solid #d9d1ea; border-radius: 30px; background: #fff; font-size: 14px; font-weight: 700; color: #422d70; }
@media (max-width: 900px) {
    .nx-sw-intro, .nx-sw-cosa__head { grid-template-columns: minmax(0, 1fr); gap: 32px; }
    .nx-sw-cosa__head p { margin-top: 20px; }
    .nx-sw-feat { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 32px; }
    .nx-sw-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .nx-sw-cmp { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
    .nx-sw-intro { padding-bottom: 48px; }
    .nx-sw-browser { box-shadow: 10px 10px 0 -1px #5cf9bc, 0 30px 60px -30px rgba(66, 45, 112, .45); }
    .nx-sw-feat, .nx-sw-bento { grid-template-columns: minmax(0, 1fr); }
    .nx-sw-tile--big { grid-column: auto; }
    .nx-sw-tile--big h3 { font-size: 24px !important; }
    .nx-sw-band { flex-direction: column; align-items: flex-start; gap: 16px; padding: 26px 22px; }
    .nx-sw-cmp__body { padding: 24px 22px 30px; }
    .nx-sw-cmp__win { padding: 16px 16px 0; }
    .nx-sw-cmp__vis { height: 120px; }
    .nx-sw-cmp__col h3 { font-size: 26px !important; }
}
/* Siti Web: card di "Cosa realizziamo" con anteprima disegnata */
.nx-sw-tile__mock { position: relative; height: 128px; margin: 0 18px; padding: 16px 18px; border-radius: 10px; background: #f5f3fa; overflow: hidden; }
.nx-sw-tile--big { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: auto 1fr; }
.nx-sw-tile--big .nx-sw-tile__bar { grid-column: 1 / -1; }
.nx-sw-tile--big .nx-sw-tile__mock { height: auto; min-height: 190px; margin: 0 0 22px 22px; }
.nx-sw-tile--big .nx-sw-tile__body { align-self: center; }
.nx-sw-tile:not(.nx-sw-tile--big) .nx-sw-tile__bar + .nx-sw-tile__mock { margin-top: 18px; }
.nx-sw-tile__mock b, .nx-sw-tile__mock em, .nx-sw-tile__mock u, .nx-sw-tile__mock s { display: block; border-radius: 5px; text-decoration: none; transition: transform .5s cubic-bezier(.2, .7, .2, 1), width .5s; }
.nx-sw-mock--sito b { height: 9px; margin-bottom: 9px; background: #ddd5ee; }
.nx-sw-mock--sito b:nth-child(1) { width: 100%; height: 10px; margin-bottom: 18px; background: #e9e4f4; }
.nx-sw-mock--sito b:nth-child(2) { width: 58%; height: 18px; background: #422d70; }
.nx-sw-mock--sito b:nth-child(3) { width: 82%; }
.nx-sw-mock--sito b:nth-child(4) { width: 66%; }
.nx-sw-mock--sito em { width: 96px; height: 26px; margin-top: 14px; background: #5cf9bc; }
.nx-sw-mock--landing { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 9px; }
.nx-sw-mock--landing b { height: 14px; background: #422d70; }
.nx-sw-mock--landing b:nth-child(1) { width: 70%; }
.nx-sw-mock--landing b:nth-child(2) { width: 46%; height: 9px; background: #ddd5ee; }
.nx-sw-mock--landing em { width: 120px; height: 30px; margin-top: 6px; border-radius: 30px; background: #f78598; box-shadow: 0 10px 22px -10px #f78598; }
.nx-sw-mock--portale { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; }
.nx-sw-mock--portale u { width: 30px; height: 30px; border-radius: 50%; background: #422d70; }
.nx-sw-mock--portale b { width: 62%; height: 14px; border: 1px solid #d9d1ea; background: #fff; }
.nx-sw-mock--portale em { width: 62%; height: 16px; background: #5cf9bc; }
.nx-sw-mock--dash { display: flex; gap: 12px; padding: 0 16px 0 0; background: #2c1d4d; }
.nx-sw-mock--dash s { flex: none; width: 34px; background: rgba(255, 255, 255, .08); border-radius: 0; }
.nx-sw-mock--dash span { display: flex; flex: 1; align-items: flex-end; gap: 8px; padding-top: 22px; }
.nx-sw-mock--dash b { flex: 1; border-radius: 4px 4px 0 0; background: #5cf9bc; transform-origin: bottom; }
.nx-sw-mock--dash b:nth-child(1) { height: 40%; } .nx-sw-mock--dash b:nth-child(2) { height: 66%; background: #f78598; } .nx-sw-mock--dash b:nth-child(3) { height: 52%; } .nx-sw-mock--dash b:nth-child(4) { height: 84%; } .nx-sw-mock--dash b:nth-child(5) { height: 60%; background: #f78598; }
.nx-sw-mock--restyling { display: grid; grid-template-columns: 1fr 1fr; gap: 0; padding: 0; }
.nx-sw-mock--restyling span { display: flex; flex-direction: column; justify-content: center; gap: 8px; padding: 0 16px; }
.nx-sw-mock--restyling span:first-child { background: #e6e6e6; }
.nx-sw-mock--restyling span:first-child b { height: 8px; background: #bdbdbd; border-radius: 0; }
.nx-sw-mock--restyling span:last-child b { height: 9px; background: #ddd5ee; }
.nx-sw-mock--restyling span:last-child b:first-child { width: 80%; height: 14px; background: #422d70; }
.nx-sw-mock--restyling span:first-child b:nth-child(2), .nx-sw-mock--restyling span:last-child b:nth-child(2) { width: 90%; }
.nx-sw-mock--restyling span:last-child b:nth-child(3) { width: 52%; height: 18px; background: #5cf9bc; }
.nx-sw-mock--restyling::after { content: ""; position: absolute; top: 0; bottom: 0; left: 50%; width: 3px; background: #f78598; }
@media (hover: hover) {
    .nx-sw-tile:hover .nx-sw-mock--dash b { transform: scaleY(1.12); }
    .nx-sw-tile:hover .nx-sw-mock--sito em, .nx-sw-tile:hover .nx-sw-mock--landing em { transform: translateX(6px); }
    .nx-sw-tile:hover .nx-sw-mock--portale em { transform: scaleX(1.06); }
}
@media (max-width: 900px) {
    .nx-sw-tile--big { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
    .nx-sw-tile--big { display: flex; }
    .nx-sw-tile--big .nx-sw-tile__mock { min-height: 140px; margin: 18px 18px 0; }
}
