/* ── NEXUS · Landing commerciale pubblica ────────────────────────────────
   Foglio dedicato alla home pubblica (pages/public/home.blade.php via
   layouts/public.blade.php). Non tocca il bundle Metronic globale: e'
   caricato in aggiunta, solo su questa pagina. */:root{--nexus-public-brand:#0e7c86;--nexus-public-brand-light:#14a3ae;--nexus-public-brand-dark:#095f66;--nexus-public-accent:#f6b35d;--nexus-public-accent-dark:#e2963f;--nexus-public-ink:#12263f;--nexus-public-muted:#5f6f7f;--nexus-public-soft:#f3fbfb;--nexus-public-line:rgba(14,124,134,.16);--nexus-public-shadow-sm:0 2px 10px rgba(18,38,63,.06);--nexus-public-shadow-md:0 14px 34px rgba(18,38,63,.1);--nexus-public-shadow-lg:0 30px 70px rgba(18,38,63,.16);--nexus-public-radius:1rem;--nexus-public-radius-lg:1.5rem;--nexus-public-ease:cubic-bezier(0.16,1,0.3,1)}body{background:#f7fbfb}.nexus-public-page{background:linear-gradient(180deg,rgba(243,251,251,.95),#fff 44%,#f7fbfb);color:var(--nexus-public-ink)}

/* ── Navigazione ──────────────────────────────────────────────────────── */.nexus-public-nav{backdrop-filter:blur(16px);background:hsla(0,0%,100%,.86);border-bottom:1px solid var(--nexus-public-line);position:sticky;top:0;transition:box-shadow .3s var(--nexus-public-ease),background-color .3s var(--nexus-public-ease),border-color .3s var(--nexus-public-ease);z-index:10}.nexus-public-nav.is-scrolled{background:hsla(0,0%,100%,.96);border-bottom-color:rgba(14,124,134,.24);box-shadow:var(--nexus-public-shadow-sm)}.nexus-public-logo{color:var(--nexus-public-ink);font-size:1.35rem;font-weight:800;letter-spacing:.08em;text-decoration:none;transition:color .2s var(--nexus-public-ease)}.nexus-public-link:hover,.nexus-public-logo:hover{color:var(--nexus-public-brand)}.nexus-public-link{color:var(--nexus-public-muted);font-weight:600;position:relative;text-decoration:none;transition:color .2s var(--nexus-public-ease)}.nexus-public-link:after{background:linear-gradient(90deg,var(--nexus-public-brand),var(--nexus-public-accent));border-radius:2px;bottom:-6px;content:"";height:2px;left:0;position:absolute;right:100%;transition:right .3s var(--nexus-public-ease)}.nexus-public-link:hover:after{right:0}

/* ── Bottoni ──────────────────────────────────────────────────────────── */.nexus-public-page .btn{transition:transform .25s var(--nexus-public-ease),box-shadow .25s var(--nexus-public-ease),background-color .25s var(--nexus-public-ease),border-color .25s var(--nexus-public-ease),color .25s var(--nexus-public-ease)}.nexus-public-page .btn-primary,.nexus-public-page .nexus-btn-primary{background:var(--nexus-public-brand);border-color:var(--nexus-public-brand);box-shadow:0 10px 24px rgba(14,124,134,.22);color:#fff;isolation:isolate;overflow:hidden;position:relative}.nexus-public-page .btn-primary:after,.nexus-public-page .nexus-btn-primary:after{background:linear-gradient(115deg,transparent 30%,hsla(0,0%,100%,.32) 50%,transparent 70%);content:"";inset:0;pointer-events:none;position:absolute;transform:translateX(-120%);transition:transform .7s var(--nexus-public-ease)}.nexus-public-page .btn-primary:hover,.nexus-public-page .nexus-btn-primary:hover{background:var(--nexus-public-brand-dark);border-color:var(--nexus-public-brand-dark);box-shadow:0 16px 32px rgba(9,95,102,.28);color:#fff;transform:translateY(-2px)}.nexus-public-page .btn-primary:hover:after,.nexus-public-page .nexus-btn-primary:hover:after{transform:translateX(120%)}.nexus-public-page .btn-outline-primary{border-color:var(--nexus-public-brand);color:var(--nexus-public-brand)}.nexus-public-page .btn-outline-primary:hover{background:var(--nexus-public-brand);color:#fff}.nexus-public-page .btn-light:hover,.nexus-public-page .btn-outline-primary:hover{box-shadow:var(--nexus-public-shadow-md);transform:translateY(-2px)}

/* ── Hero ─────────────────────────────────────────────────────────────── */.nexus-hero{overflow:hidden;padding:7rem 0 5rem;perspective:1600px;position:relative}.nexus-hero:before{background-image:linear-gradient(var(--nexus-public-line) 1px,transparent 1px),linear-gradient(90deg,var(--nexus-public-line) 1px,transparent 1px);background-size:42px 42px;content:"";inset:0;-webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 0,#000 60%,transparent 100%);mask-image:radial-gradient(ellipse 80% 60% at 50% 0,#000 60%,transparent 100%);opacity:.3;position:absolute}.nexus-aurora{inset:-20% -10%;overflow:hidden;pointer-events:none;position:absolute;z-index:0}.nexus-aurora span{border-radius:50%;filter:blur(60px);opacity:.5;position:absolute}.nexus-aurora span:first-child{background:radial-gradient(circle at 30% 30%,rgba(14,124,134,.38),transparent 70%);height:34rem;left:2%;top:-12%;width:34rem}.nexus-aurora span:nth-child(2){background:radial-gradient(circle at 70% 70%,rgba(246,179,93,.3),transparent 70%);bottom:-24%;height:30rem;right:-4%;width:30rem}.nexus-hero>.container-xxl{position:relative;z-index:1}.nexus-eyebrow{align-items:center;background:linear-gradient(120deg,rgba(14,124,134,.12),rgba(246,179,93,.14));border:1px solid var(--nexus-public-line);border-radius:999px;color:var(--nexus-public-brand-dark);display:inline-flex;font-size:.78rem;font-weight:800;gap:.5rem;letter-spacing:.08em;padding:.55rem .9rem;text-transform:uppercase}.nexus-eyebrow:before{background:var(--nexus-public-accent);border-radius:50%;content:"";flex:0 0 auto;height:.4rem;width:.4rem}.nexus-hero-title{text-wrap:balance;color:var(--nexus-public-ink);font-size:clamp(2.6rem,5vw,5.3rem);font-weight:800;line-height:1;max-width:880px}.nexus-text-gradient{background:linear-gradient(120deg,var(--nexus-public-brand) 10%,var(--nexus-public-brand-light) 50%,var(--nexus-public-accent-dark) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}@supports not ((-webkit-background-clip:text) or (background-clip:text)){.nexus-text-gradient{color:var(--nexus-public-brand-dark)}}.nexus-hero-copy{color:var(--nexus-public-muted);font-size:1.25rem;line-height:1.7;max-width:700px}.nexus-product-shot{background:#fff;border:1px solid var(--nexus-public-line);border-radius:var(--nexus-public-radius-lg);box-shadow:var(--nexus-public-shadow-lg),0 45px 90px -30px rgba(14,124,134,.38);overflow:hidden;transition:transform .35s var(--nexus-public-ease),box-shadow .35s var(--nexus-public-ease);will-change:transform}.nexus-product-shot__bar{background:#f5f9f9;border-bottom:1px solid var(--nexus-public-line);display:flex;gap:.45rem;padding:1rem}.nexus-dot{background:var(--nexus-public-accent);border-radius:50%;height:.7rem;width:.7rem}.nexus-dot:nth-child(2){background:#7cc7b8}.nexus-dot:nth-child(3){background:#98a6ad}.nexus-live-dot{background:#17c964;border-radius:50%;box-shadow:0 0 0 0 rgba(23,201,100,.55);display:inline-block;height:.4rem;margin-right:.35rem;width:.4rem}@media (prefers-reduced-motion:no-preference){.nexus-live-dot{animation:nexus-pulse 2.2s var(--nexus-public-ease) infinite}}.nexus-metric{background:var(--nexus-public-soft);border:1px solid var(--nexus-public-line);border-radius:calc(var(--nexus-public-radius) - .25rem);padding:1rem;transition:transform .3s var(--nexus-public-ease),box-shadow .3s var(--nexus-public-ease)}.nexus-metric:hover{box-shadow:var(--nexus-public-shadow-sm);transform:translateY(-3px)}

/* ── Sezioni generiche ────────────────────────────────────────────────── */.nexus-section{padding:5rem 0}.nexus-section-title{text-wrap:balance;color:var(--nexus-public-ink);font-size:clamp(2rem,3vw,3.1rem);font-weight:800;line-height:1.08}.nexus-section-copy{color:var(--nexus-public-muted);font-size:1.05rem;line-height:1.8}.nexus-card{background:#fff;border:1px solid var(--nexus-public-line);border-radius:var(--nexus-public-radius);height:100%;padding:1.5rem;transition:transform .35s var(--nexus-public-ease),box-shadow .35s var(--nexus-public-ease),border-color .35s var(--nexus-public-ease)}.nexus-card:hover{border-color:rgba(14,124,134,.3);box-shadow:var(--nexus-public-shadow-lg);transform:translateY(-6px)}.nexus-card__icon{align-items:center;background:linear-gradient(135deg,rgba(14,124,134,.14),rgba(14,124,134,.06));border-radius:calc(var(--nexus-public-radius) - .25rem);color:var(--nexus-public-brand-dark);display:inline-flex;font-weight:800;height:2.75rem;justify-content:center;margin-bottom:1rem;transition:transform .35s var(--nexus-public-ease);width:2.75rem}.nexus-card:hover .nexus-card__icon{transform:scale(1.08) rotate(-4deg)}.nexus-plan{border-top:4px solid var(--nexus-public-brand)}.nexus-plan--ai{border-top-color:var(--nexus-public-accent)}.nexus-list{color:var(--nexus-public-muted);list-style:none;margin:0;padding:0}.nexus-list li{align-items:flex-start;display:flex;gap:.65rem;margin-bottom:.85rem}.nexus-list li:before{background:var(--nexus-public-brand);border-radius:50%;content:"";flex:0 0 0.48rem;height:.48rem;margin-top:.55rem;width:.48rem}.nexus-cta-band{background:linear-gradient(135deg,var(--nexus-public-ink) 0,#0c3247 60%,var(--nexus-public-brand-dark) 130%);border-radius:var(--nexus-public-radius-lg);color:#fff;overflow:hidden;padding:3rem;position:relative}.nexus-cta-band:before{background:radial-gradient(circle at 85% 20%,rgba(246,179,93,.22),transparent 55%);content:"";inset:0;pointer-events:none;position:absolute}.nexus-cta-band>*{position:relative}.nexus-public-footer{border-top:1px solid var(--nexus-public-line);color:var(--nexus-public-muted);padding:2rem 0}

/* ── Scroll reveal ────────────────────────────────────────────────────────
   Gating: l'attributo html.nexus-js-reveal viene aggiunto sincronamente da
   uno snippet inline in cima al body (vedi layouts/public.blade.php), SOLO
   se prefers-reduced-motion non e' "reduce". Se JS e' disabilitato/fallisce,
   la classe non compare mai e [data-reveal] resta visibile di default:
   nessun contenuto puo' restare invisibile per sempre. */[data-reveal]{opacity:1}@media (prefers-reduced-motion:no-preference){html.nexus-js-reveal [data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .8s var(--nexus-public-ease),transform .8s var(--nexus-public-ease);transition-delay:var(--nexus-reveal-delay,0ms)}html.nexus-js-reveal [data-reveal].is-visible{opacity:1;transform:none}.row [data-reveal]:nth-child(2){--nexus-reveal-delay:90ms}.row [data-reveal]:nth-child(3){--nexus-reveal-delay:180ms}.row [data-reveal]:nth-child(4){--nexus-reveal-delay:270ms}.row [data-reveal]:nth-child(5){--nexus-reveal-delay:360ms}.row [data-reveal]:nth-child(6){--nexus-reveal-delay:450ms}html{scroll-behavior:smooth}.nexus-aurora span:first-child{animation:nexus-aurora-drift-a 22s var(--nexus-public-ease) infinite alternate;will-change:transform}.nexus-aurora span:nth-child(2){animation:nexus-aurora-drift-b 26s var(--nexus-public-ease) infinite alternate;will-change:transform}}@keyframes nexus-aurora-drift-a{0%{opacity:.46;transform:translateZ(0) scale(1)}to{opacity:.6;transform:translate3d(3%,6%,0) scale(1.08)}}@keyframes nexus-aurora-drift-b{0%{opacity:.42;transform:translateZ(0) scale(1)}to{opacity:.56;transform:translate3d(-4%,-5%,0) scale(1.12)}}@keyframes nexus-pulse{0%{box-shadow:0 0 0 0 rgba(23,201,100,.55)}70%{box-shadow:0 0 0 8px rgba(23,201,100,0)}to{box-shadow:0 0 0 0 rgba(23,201,100,0)}}

/* Aurora statica su mobile: niente animazione continua da compositare
   su dispositivi meno potenti (la richiesta e' performance-first su
   mobile). Il fondo sfumato resta, solo senza il drift. */@media (max-width:767.98px){.nexus-aurora span:first-child,.nexus-aurora span:nth-child(2){animation:none!important}}

/* Rete di sicurezza: con prefers-reduced-motion attivo, ogni transizione
   e animazione su questa pagina viene azzerata, indipendentemente da
   eventuali bug JS. Il parallelo lato JS (home.js) evita comunque di
   scrivere transform in scroll quando questa preferenza e' attiva. */@media (prefers-reduced-motion:reduce){.nexus-public-page *,.nexus-public-page :after,.nexus-public-page :before{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}

/* ── Responsive ───────────────────────────────────────────────────────── */@media (max-width:991.98px){.nexus-hero{padding:4.5rem 0 3.5rem}.nexus-hero-title{font-size:3rem}.nexus-public-nav .btn{padding-left:.85rem;padding-right:.85rem}}@media (max-width:575.98px){.nexus-hero-title{font-size:2.55rem}.nexus-cta-band{padding:2rem}}
