/* Nexe 2026 — capa mínima sobre Elementor (colors i tipografia: Kit d'Elementor) */
:root{--nx-ink:#231F20;--nx-olive:#999C63;--nx-olive-d:#5F6236;--nx-fog:#EEEEE8;--nx-ease:cubic-bezier(.2,.7,.2,1)}
html{scroll-behavior:smooth}
body{-webkit-font-smoothing:antialiased}
h1,h2,h3,.elementor-heading-title{text-wrap:balance}
p{text-wrap:pretty}
::selection{background:var(--nx-olive);color:var(--nx-ink)}
:focus-visible{outline:2px solid var(--nx-olive);outline-offset:3px}

/* Capçalera (Theme Builder, sticky Pro) */
.nx-header{transition:background-color .5s var(--nx-ease),backdrop-filter .5s,box-shadow .5s}
.nx-header.elementor-sticky--effects,body:not(.nx-built) .nx-header{background:rgba(35,31,32,.94)!important;backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(255,255,255,.06)}
.nx-header .nx-logo{flex-shrink:0}
.nx-nav .elementor-menu-toggle.elementor-active+.elementor-nav-menu--dropdown{padding:16px 8px 32px}
body:not(.nx-built) .site-main{padding-top:40px}

/* Fons amb graella animada (canvas injectat per nexe.js) */
.nx-gridbg{position:relative;overflow:hidden;isolation:isolate}
.nx-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.nx-gridbg>.e-con-inner,.nx-gridbg>.e-con,.nx-gridbg>.elementor-element{position:relative;z-index:1}

/* Hero: seqüència d'entrada única */
.nx-js .nx-hero .nx-hero-inner>*{opacity:0;transform:translateY(26px);transition:opacity 1.1s var(--nx-ease),transform 1.1s var(--nx-ease)}
.nx-ready .nx-hero .nx-hero-inner>*{opacity:1;transform:none}
.nx-ready .nx-hero .nx-hero-inner>*:nth-child(2){transition-delay:.12s}
.nx-ready .nx-hero .nx-hero-inner>*:nth-child(3){transition-delay:.26s}
.nx-ready .nx-hero .nx-hero-inner>*:nth-child(4){transition-delay:.4s}
.elementor-headline-animation-type-clip .elementor-headline-dynamic-wrapper:after{background-color:var(--nx-olive)!important;width:3px}

/* Franja en moviment */
.nx-marquee{overflow:hidden}
.nx-mq-track{width:max-content!important;max-width:none!important;flex-wrap:nowrap!important;animation:nxMarquee 48s linear infinite}
.nx-marquee:hover .nx-mq-track{animation-play-state:paused}
.nx-mq-track>.elementor-element{width:auto!important;flex-shrink:0}
@keyframes nxMarquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}

/* La graella de 4 peces (com el monograma): s'assembla en entrar */
.nx-tile{transition:transform .7s var(--nx-ease),box-shadow .7s var(--nx-ease)}
.nx-tile:hover{transform:translateY(-6px);box-shadow:0 30px 60px -36px rgba(35,31,32,.55);z-index:2}
.nx-js .nx-grid4 .nx-tile{opacity:0;transform:translate3d(var(--tx,0),var(--ty,0),0)}
.nx-tile--a{--tx:-28px;--ty:-28px}.nx-tile--b{--tx:28px;--ty:-28px}.nx-tile--c{--tx:-28px;--ty:28px}.nx-tile--d{--tx:28px;--ty:28px}
.nx-js .nx-grid4.is-in .nx-tile{opacity:1;transform:none;transition:opacity 1s var(--nx-ease),transform 1s var(--nx-ease),box-shadow .7s}
.nx-grid4.is-in .nx-tile--b{transition-delay:.08s}.nx-grid4.is-in .nx-tile--c{transition-delay:.16s}.nx-grid4.is-in .nx-tile--d{transition-delay:.24s}
.nx-js .nx-grid4.is-in .nx-tile:hover{transform:translateY(-6px);transition-delay:0s}
.nx-tile .elementor-widget-icon{transition:transform .6s var(--nx-ease)}
.nx-tile:hover .elementor-widget-icon{transform:translateX(4px)}

/* 22 */
.nx-big .elementor-heading-title{font-variant-numeric:tabular-nums;transform:translate3d(0,var(--py,0),0);will-change:transform}

/* Passos i llistes */
.nx-step .elementor-heading-title{transition:color .4s}
.nx-list .elementor-icon-list-icon svg,.nx-list .elementor-icon-list-icon i{transition:transform .5s var(--nx-ease)}
.nx-list .elementor-icon-list-item:hover .elementor-icon-list-icon svg,.nx-list .elementor-icon-list-item:hover .elementor-icon-list-icon i{transform:rotate(90deg)}

/* FAQ */
.nx-faq .elementor-accordion-item{border:0!important;border-top:1px solid var(--nx-ink)!important}
.nx-faq .elementor-accordion-item:last-child{border-bottom:1px solid var(--nx-ink)!important}
.nx-faq .elementor-tab-title a{color:inherit!important;text-decoration:none!important}
.nx-faq .elementor-tab-content{border:0!important}

/* Formulari */
.nx-form .elementor-field{padding:14px 16px!important}
.nx-form .elementor-field:focus{border-color:var(--nx-ink)!important;box-shadow:0 0 0 1px var(--nx-ink)}

/* Peu */

/* Enllaços dins de text en zones fosques */
.nx-dark a:not(.elementor-button){color:var(--nx-olive)}
html,body{overflow-x:clip}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .nx-js .nx-hero .nx-hero-inner>*,.nx-js .nx-grid4 .nx-tile{opacity:1;transform:none}
}

/* ---------- Correccions i pantalla completa ---------- */
.elementor-location-header{position:relative;z-index:1000}
.nx-logo img{filter:none!important;opacity:1!important}


/* Selector d'idioma */
.nx-lang{list-style:none;margin:0;padding:0;display:flex;gap:10px;font-family:"Instrument Sans",sans-serif;font-size:13px;letter-spacing:.06em}
.nx-lang a,.nx-lang span{color:rgba(255,255,255,.55);text-decoration:none;padding:4px 2px}
.nx-lang a:hover{color:#fff}
.nx-lang span[aria-current]{color:#fff;border-bottom:1px solid var(--nx-olive)}

/* Seccions a pantalla completa amb revelat de contingut */
@media (min-width:1025px){
  html{scroll-snap-type:y proximity}
  .nx-screen{scroll-snap-align:start}
}
.nx-js .nx-screen:not(.nx-hero)>.e-con-inner>*,.nx-js .nx-screen:not(.nx-hero).e-con-full>*{opacity:0;transform:translate3d(0,40px,0);transition:opacity 1s var(--nx-ease),transform 1s var(--nx-ease)}
.nx-js .nx-screen.is-on>.e-con-inner>*,.nx-js .nx-screen.is-on.e-con-full>*{opacity:1;transform:none}
.nx-js .nx-screen.is-on>.e-con-inner>*:nth-child(2){transition-delay:.12s}
.nx-js .nx-screen.is-on>.e-con-inner>*:nth-child(3){transition-delay:.24s}
.nx-canvas{opacity:1!important;transform:none!important}


/* Barra de progrés superior (totes les mides) */
.nx-progress{position:fixed;left:0;top:0;height:2px;width:100%;background:var(--nx-olive);transform-origin:0 50%;transform:scaleX(var(--p,0));z-index:1100;pointer-events:none}


/* Cites al marge (com notes de llibre) */
.nx-screen{position:relative}
.nx-note{position:absolute!important;right:clamp(20px,4vw,64px);bottom:28px;width:auto!important;max-width:min(380px,40vw);z-index:2;margin:0!important}
.nx-note .elementor-heading-title{color:#6B6668!important;font-style:italic;opacity:.75;transition:opacity .5s}
.nx-dark .nx-note .elementor-heading-title{color:rgba(255,255,255,.55)!important}
.nx-note:hover .elementor-heading-title{opacity:1}
.nx-js .nx-screen>.e-con-inner>.nx-note{transition-delay:.8s!important}
@media (max-width:1024px){.nx-note{position:relative!important;right:auto;bottom:auto;max-width:100%;margin-top:24px!important}}
.nx-grid4.is-in .nx-tile:nth-child(2){transition-delay:.07s}.nx-grid4.is-in .nx-tile:nth-child(3){transition-delay:.14s}
.nx-grid4.is-in .nx-tile:nth-child(4){transition-delay:.21s}.nx-grid4.is-in .nx-tile:nth-child(5){transition-delay:.28s}.nx-grid4.is-in .nx-tile:nth-child(6){transition-delay:.35s}
/* Família d'animacions de fons */
.nx-fx{position:relative;overflow:hidden;isolation:isolate}
.nx-fx>.e-con-inner,.nx-fx>.e-con,.nx-fx>.elementor-element{position:relative;z-index:1}
.nx-fx-flow .nx-canvas{opacity:.9!important}

/* Índex lateral (dreta): números discrets, rail fi amb un punt que llisca fins a la secció activa, etiquetes que apareixen en cascada */
.nx-sidenav{position:fixed!important;right:30px!important;left:auto!important;top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;z-index:900;width:auto!important;max-width:none!important;padding:0!important;background:none!important;pointer-events:none;mix-blend-mode:difference;opacity:0;transition:opacity .8s}
.nx-ready .nx-sidenav{opacity:1}
.nx-sidenav-list{pointer-events:auto}
.nx-sidenav-list .elementor-icon-list-items{position:relative;display:flex!important;flex-direction:column;align-items:flex-end;gap:0;margin:0!important;padding:0 14px 0 0!important}
.nx-sidenav-list .elementor-icon-list-items::before{content:"";position:absolute;right:0;top:12px;bottom:12px;width:1px;background:#fff;opacity:.12}
.nx-sn-dot{position:absolute;right:-2px;top:0;width:5px;height:5px;margin-top:-2.5px;border-radius:50%;background:#fff;transform:translateY(var(--y,0));transition:transform .9s var(--nx-ease);pointer-events:none}
.nx-sn-dot::after{content:"";position:absolute;inset:-5px;border-radius:50%;border:1px solid #fff;opacity:0;animation:nxSnPulse 2.8s ease-out infinite}
@keyframes nxSnPulse{0%{opacity:.5;transform:scale(.4)}70%,100%{opacity:0;transform:scale(1.6)}}
.nx-sidenav-list .elementor-icon-list-item{padding:0!important;margin:0!important;border:0!important}
.nx-sidenav-list a{display:flex!important;align-items:center;justify-content:flex-end;gap:10px;padding:5px 0;text-decoration:none!important}
.nx-sidenav-list .elementor-icon-list-text{display:flex!important;align-items:center;gap:10px;color:#fff!important;font-family:"Instrument Sans",sans-serif;font-size:11px!important;letter-spacing:.1em;white-space:nowrap;padding:0!important}
.nx-sidenav-list .elementor-icon-list-text{position:relative}
.nx-sidenav-list .nx-sn-label{position:absolute;right:calc(100% + 12px);top:50%;opacity:0;transform:translate(10px,-50%);transition:opacity .35s,transform .55s var(--nx-ease);transition-delay:0s;font-size:12px;letter-spacing:.04em;pointer-events:none}
.nx-sidenav-list .nx-sn-num{opacity:.32;font-variant-numeric:tabular-nums;transition:opacity .45s,transform .55s var(--nx-ease)}
.nx-sidenav-list a::after{content:"";width:8px;height:1px;background:#fff;opacity:.3;transition:width .7s var(--nx-ease),opacity .45s}
.nx-sidenav-list a:hover .nx-sn-num,.nx-sidenav-list .is-active .nx-sn-num{opacity:1}
.nx-sidenav-list a:hover::after{width:16px;opacity:.7}
.nx-sidenav-list .is-active a::after{width:26px;opacity:1}
.nx-sidenav:hover .nx-sn-label,.nx-sidenav:focus-within .nx-sn-label{opacity:.6;transform:translate(0,-50%);transition-delay:calc(var(--i,0) * 40ms)}
.nx-sidenav:hover a:hover .nx-sn-label,.nx-sidenav:hover .is-active .nx-sn-label,.nx-sidenav-list .is-peek .nx-sn-label{opacity:1;transform:translate(0,-50%)}
.nx-sidenav-list a:focus-visible{outline:1px solid #fff;outline-offset:3px}
@media (min-width:1025px) and (max-width:1560px){.nx-screen:not(.nx-marquee)>.e-con-inner{padding-right:72px}}
@media (max-width:1024px){.nx-sidenav{display:none!important}}
@media (prefers-reduced-motion:reduce){.nx-sn-dot,.nx-sidenav-list .nx-sn-label,.nx-sidenav-list a::after{transition:none!important}.nx-sn-dot::after{animation:none}}
/* Capçalera mòbil: hamburguesa a la dreta, desplegable a tota l'amplada sense moure el logo; el foli s'amaga amb el menú obert */
@media (max-width:1024px){
.nx-header>.e-con{min-width:0!important;flex:1 1 0!important;justify-content:flex-end!important}
.nx-header>.e-con,.nx-header .elementor-widget-nav-menu,.nx-header .elementor-widget-nav-menu>.elementor-widget-container{position:static!important}
.nx-header .elementor-widget-nav-menu{margin-left:auto!important;width:auto!important}
.nx-header .elementor-nav-menu--dropdown{position:absolute!important;top:100%!important;left:0!important;right:0!important;width:auto!important;margin:0!important;background:#231F20!important;padding:6px 20px 26px!important;border-bottom:1px solid rgba(153,156,99,.5)}
}
body:has(.nx-header .elementor-menu-toggle.elementor-active) .nx-sidenav{opacity:0!important;pointer-events:none}
/* Cites vives: canvi suau en clicar */
.nx-note--live{cursor:pointer}
.nx-note--live .elementor-heading-title{transition:opacity .42s ease,filter .42s ease}
.nx-note--live .elementor-heading-title.is-swap{opacity:0!important;filter:blur(3px)}
.nx-note-who{font-style:normal;letter-spacing:.02em;white-space:nowrap;opacity:.85}
/* Fletxa nativa dels botons principals (icona d'Elementor): s'avança en passar-hi el ratolí */
.nx-btn-arrow .elementor-button-icon{transition:transform .5s var(--nx-ease)}
.nx-btn-arrow .elementor-button:hover .elementor-button-icon,.nx-btn-arrow .elementor-button:focus-visible .elementor-button-icon{transform:translateX(4px)}
