/* NEXO fluid glass theme. Slow opacity changes avoid repainting large gradients. */
html{background:#eaf5f2}
body[data-design="nexo"]{position:relative;isolation:isolate;background:#edf6f3;color:#092f34}
body[data-design="nexo"]::before,body[data-design="nexo"]::after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;border-radius:0}
body[data-design="nexo"]::before{background:radial-gradient(ellipse at 8% 15%,#c8ebe5 0%,transparent 58%),radial-gradient(ellipse at 95% 65%,#deeeeb 0%,transparent 62%),linear-gradient(145deg,#f6faf8,#e0f1ed)}
body[data-design="nexo"]::after{background:radial-gradient(ellipse at 85% 15%,#bbe5e3 0%,transparent 60%),radial-gradient(ellipse at 12% 88%,#d4ece3 0%,transparent 62%),linear-gradient(35deg,#f0f8f5,#d8eeed);opacity:0;animation:nexo-tide 28s ease-in-out infinite alternate}
@keyframes nexo-tide{from{opacity:0}to{opacity:1}}
body[data-design="nexo"] main,body[data-page="home"] .nx-hero{background:transparent}
body[data-design="nexo"] :is(.btn,button,.menu-toggle,.nx-chip,.nx-portrait,.nx-portrait img,.nx-person,.nx-person-photo,.nx-person-photo img,.nx-mono,.nx-mono-photo,.team-card,.team-avatar,.nx-map-card,.nx-map-art,.nx-post,.nx-cover,.nx-offer-panel,.nx-offer-tickets li,.nx-about-photo,.nx-about-photo img,.nx-ico,.nx-step-no,.nx-quiz-invite,.nx-end-actions,.quiz-shell,.quiz-options label,.quiz-result details,.quiz-result-note,.article-card,.service-card,.consult-card,.page-hero-art,.page-hero-art img,.photo,.answer-box,.toc,.article-end,.nx-tile,.nx-mobile-actions a,input:not([type=radio]):not([type=checkbox]),select,textarea){border-radius:8px!important}
body[data-design="nexo"] .nx-art::before,body[data-design="nexo"] .nx-portrait::before,body[data-design="nexo"] .nx-cover::before,body[data-design="nexo"] .nx-cover::after{border-radius:8px!important}
body[data-page="home"] .nx-portrait{left:auto;bottom:auto;max-width:100%}
body[data-page="home"] .nx-art::before{inset:18px -10px -10px 18px;background:rgba(219,245,239,.3);border:1px solid #ffffffb0;box-shadow:0 18px 40px #1249440a}
body[data-design="nexo"] .site-header{background:rgba(239,249,246,.76);border-bottom:1px solid #ffffffb0;box-shadow:0 4px 22px #0b403908;-webkit-backdrop-filter:blur(20px) saturate(135%);backdrop-filter:blur(20px) saturate(135%)}
body[data-design="nexo"] :is(.nx-person,.team-card,.nx-map-card,.nx-post-lead,.article-card,.consult-card,.quiz-shell,.nx-quiz-invite,.nx-end-actions){background:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.85);box-shadow:inset 0 1px 0 #fff,0 10px 28px #174f4506}
body[data-page="home"] .nx-person.nx-person-lead{background:rgba(255,255,255,.6)}
body[data-design="nexo"] :is(.btn,.quiz-switch button,.nx-mobile-actions a){position:relative;overflow:hidden;border:1px solid rgba(194,245,239,.64);background:linear-gradient(145deg,rgba(36,111,116,.92),rgba(9,70,78,.95));color:#fff;box-shadow:inset 0 1px 0 rgba(255,255,255,.52),inset 0 -1px 0 rgba(0,42,47,.2),0 7px 18px rgba(6,59,60,.13);-webkit-backdrop-filter:blur(14px) saturate(150%);backdrop-filter:blur(14px) saturate(150%);text-shadow:0 1px 1px #07394025;transition:background .25s,box-shadow .25s,transform .25s}
body[data-design="nexo"] :is(.btn,.quiz-switch button,.nx-mobile-actions a)::before{content:"";position:absolute;inset:0 0 auto;height:46%;background:linear-gradient(180deg,#ffffff24,#ffffff03);pointer-events:none;border-radius:7px 7px 0 0}
body[data-design="nexo"] :is(.btn.secondary,.quiz-switch button[aria-pressed=false],.nx-mobile-actions a:first-child){background:linear-gradient(145deg,rgba(255,255,255,.8),rgba(220,244,236,.64));border-color:rgba(104,159,149,.55);color:#0a4850;text-shadow:none;box-shadow:inset 0 1px 0 #fff,0 5px 16px #144b4009}
body[data-design="nexo"] :is(.btn,.quiz-switch button,.nx-mobile-actions a):hover{box-shadow:inset 0 1px 0 #ffffffb0,0 9px 22px #12494422;transform:translateY(-1px)}
body[data-design="nexo"] :is(.btn,button,a):focus-visible{outline:3px solid #087a80;outline-offset:4px}
body[data-design="nexo"] :is(.btn,button):disabled{transform:none;opacity:.45}
body[data-page="home"] .nx-how{background:linear-gradient(125deg,rgba(7,48,53,.96),rgba(14,77,81,.93));border-top:1px solid #ffffff35;border-bottom:1px solid #ffffff35}
body[data-design="nexo"] .site-footer{background:linear-gradient(130deg,rgba(7,43,48,.98),rgba(14,66,70,.96))}
body[data-page="home"] .nx-offer-panel{background:linear-gradient(120deg,#ffffffaa,#daf2e966);border:1px solid #ffffffbf}
body[data-page="home"] .nx-tile-main{background:linear-gradient(135deg,#145b61ed,#0c5058ef)}
body[data-design="nexo"] .nx-mobile-actions:not([hidden]){background:transparent!important;border-top-color:transparent!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
body[data-design="nexo"] .quiz-options label{background:rgba(255,255,255,.65)}
body[data-design="nexo"] .quiz-options label:has(input:checked){background:#daf0e7;border-color:#0d7d80}
@media(max-width:760px){body[data-page="home"] .nx-art::before{inset:14px 0 0 14px}body[data-design="nexo"] .main-nav.open{background:#eff8f4f5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}}
@media(prefers-reduced-motion:reduce){body[data-design="nexo"]::after{animation:none;opacity:.35}body[data-design="nexo"] :is(.btn,button,a){transition:none!important}}
@media(prefers-reduced-transparency:reduce){body[data-design="nexo"] :is(.site-header,.nx-person,.nx-map-card,.quiz-shell,.nx-quiz-invite,.nx-mobile-actions:not([hidden])){background:#eff7f3;-webkit-backdrop-filter:none;backdrop-filter:none}body[data-design="nexo"] .btn{background:#0c5058}body[data-design="nexo"] .btn.secondary{background:#f5faf7}}

/* October review: static editorial cards and a slowly drifting colour field. */
body[data-design="nexo"]::before{background:radial-gradient(ellipse at 5% 20%,#adddd7 0%,transparent 60%),radial-gradient(ellipse at 95% 80%,#dce8db 0%,transparent 60%),#eff8f5}
body[data-design="nexo"]::after{inset:-8%;background:radial-gradient(ellipse at 80% 20%,#8fd1d5 0%,transparent 62%),radial-gradient(ellipse at 15% 85%,#d4e9bf 0%,transparent 58%),#e2f3ec;animation:nexo-tide 18s ease-in-out infinite alternate;will-change:opacity,transform}
@keyframes nexo-tide{0%{opacity:.08;transform:translate3d(-2%,-1%,0)}100%{opacity:.85;transform:translate3d(2%,1%,0)}}
body[data-page="home"] .nx-tile-row{grid-template-columns:repeat(6,minmax(0,1fr));gap:22px;border:0;overflow:visible}
body[data-page="home"] .nx-tile{grid-column:span 2;min-height:0;margin:0!important;border:0!important;background:none!important;transform:none!important;opacity:1!important;animation:none!important}
body[data-page="home"] .nx-tile:nth-child(-n+2){grid-column:span 3}
body[data-page="home"] .nx-tile a{display:flex;align-items:stretch;text-align:left;padding:0 0 24px;gap:0;min-height:0;overflow:hidden;border:1px solid #ffffffcc;border-radius:8px;background:#ffffff99!important;box-shadow:0 12px 30px #154f4608;transform:none!important;transition:border-color .2s,box-shadow .2s}
body[data-page="home"] .nx-tile a:hover{border-color:#438c88;box-shadow:0 12px 30px #154f4616}
body[data-page="home"] .nx-service-image{margin:0 0 22px;aspect-ratio:16/9;width:100%;overflow:hidden;background:#dcebe6}
body[data-page="home"] .nx-service-image img{display:block;width:100%;height:100%;object-fit:cover;transform:none!important;animation:none!important;border-radius:0}
body[data-page="home"] .nx-tile-title{font:500 clamp(26px,2.3vw,34px)/1.15 var(--font-display);color:#0c4047!important;padding:0 24px;margin-bottom:12px}
body[data-page="home"] .nx-tile-text{font-size:15px;line-height:1.65;color:#38565b!important;padding:0 24px;margin-bottom:24px}
body[data-page="home"] .nx-service-link{display:flex;justify-content:space-between;align-items:center;margin:auto 24px 0;padding-top:16px;border-top:1px solid #195e5126;font-size:14px;font-weight:600;color:#0b555d}
body[data-page="home"] .nx-service-link span{font-size:22px}
body[data-page="home"] .nx-how{background:linear-gradient(115deg,#083b40ef,#155e61e8);padding-block:80px}
body[data-page="home"] .nx-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;border:0;margin:40px 0 28px;list-style:none;padding:0}
body[data-page="home"] .nx-steps>li{display:grid;grid-template-columns:70px minmax(0,1fr);grid-template-rows:auto 1fr;column-gap:24px;row-gap:14px;align-items:start;padding:30px;margin:0;min-height:235px;border:1px solid #bfeee738;border-radius:8px;background:linear-gradient(130deg,#ffffff10,#ffffff04);opacity:1!important;transform:none!important;animation:none!important}
body[data-page="home"] .nx-steps .nx-step-no{grid-column:1;grid-row:1/3;position:static;display:block;width:auto;height:auto;flex:none;margin:0;border:0;box-shadow:none;background:none;font:400 58px/1 var(--font-display);color:#9ce5db}
body[data-page="home"] .nx-steps h3{grid-column:2;grid-row:1;margin:0;color:#fff;font-size:25px;line-height:1.25}
body[data-page="home"] .nx-steps p{grid-column:2;grid-row:2;margin:0;max-width:none;color:#d8e8e5;font-size:16px;line-height:1.65}
body[data-page="home"] .nx-steps>li::before,body[data-page="home"] .nx-steps::before{display:none}
body[data-page="home"] .nx-about-photo{aspect-ratio:4/5;height:auto;min-height:0;overflow:hidden;background:#ecefe9}
body[data-page="home"] .nx-about-photo img{display:block;width:100%;height:100%;object-fit:contain;transform:none!important;animation:none!important}
body[data-page="home"] .v-cta.nx-cta{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(115deg,#07343a,#246c70)!important}
body[data-page="home"] .v-cta.nx-cta::before{content:"";display:block;position:absolute;inset:-10%;height:auto;background:radial-gradient(ellipse at 75% 40%,#41b4a77a,transparent 65%),radial-gradient(ellipse at 5% 70%,#233c6570,transparent 60%);animation:nexo-tide 18s ease-in-out infinite alternate;z-index:-1;pointer-events:none}
body[data-page="home"] .v-cta.nx-cta::after{display:none}
body[data-design="nexo"] .site-footer{isolation:isolate;background:#062e36;overflow:hidden}
body[data-design="nexo"] .site-footer::after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,#04252d99,#06303a4d),url('../img/nexo/refined/barcelona-clean.webp') center center/cover no-repeat;opacity:1;pointer-events:none}
body[data-design="nexo"] .site-footer .footer-grid{position:relative}
@media(max-width:760px){body[data-page="home"] .nx-tile-row{grid-template-columns:1fr;gap:22px}body[data-page="home"] .nx-tile,body[data-page="home"] .nx-tile:nth-child(-n+2){grid-column:auto}body[data-page="home"] .nx-steps{grid-template-columns:1fr;gap:14px}body[data-page="home"] .nx-steps>li{grid-template-columns:48px minmax(0,1fr);padding:24px 20px;column-gap:16px;min-height:0}body[data-page="home"] .nx-steps .nx-step-no{font-size:42px}body[data-page="home"] .nx-steps h3{font-size:23px}body[data-page="home"] .nx-steps p{font-size:15px}body[data-page="home"] .nx-how{padding-block:56px}body[data-design="nexo"] .site-footer::after{background-position:58% center}}
@media(prefers-reduced-motion:reduce){body[data-design="nexo"]::after,body[data-page="home"] .v-cta.nx-cta::before{animation:none;transform:none;opacity:.4;will-change:auto}}
body[data-page="home"] .nx-how .nx-head-row>div{flex:1;max-width:760px}
body[data-page="home"] .nx-how h2{max-width:24ch}
body[data-page="home"] .nx-tile a>.nx-service-link{align-self:stretch;width:auto}
body[data-page="home"] .nx-about-photo{width:100%;max-width:none;margin:0}

/* More visible skyline, with text contrast retained over detailed rooftops. */
body[data-design="nexo"] .site-footer :is(p,a,h2,h3,li){text-shadow:0 1px 4px #001c24b3}
body[data-design="nexo"] .site-footer :is(p,a,li,.footer-bottom){color:#f1f8f6}
/* Centre the service introduction across the full card grid. */
body[data-page="home"] .nx-tiles::before{width:100%;max-width:none;text-align:center;margin:0 0 38px;font-size:clamp(27px,4vw,58px);line-height:1.15}
/* Reserved messenger shortcuts; no links until the owner connects them. */
.nx-social-dock{position:fixed;right:20px;bottom:22px;z-index:80;display:flex;gap:8px}
body[data-design="nexo"] .nx-social-dock button{display:grid;place-items:center;width:40px;height:40px;padding:9px;border:1px solid #ffffffa6;border-radius:8px;background:#e6f6f1b3;color:#0c5058;box-shadow:0 4px 16px #002f3526;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);opacity:1;cursor:default;transform:none}
body[data-design="nexo"] .nx-social-dock button:first-child{color:#078bc4;background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(205,239,255,.9));border-color:rgba(34,158,217,.58)}
body[data-design="nexo"] .nx-social-dock button:last-child{color:#16a34a;background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(211,248,225,.9));border-color:rgba(37,211,102,.58)}
body[data-design="nexo"] .nx-social-dock button svg{filter:drop-shadow(0 1px 1px rgba(0,43,47,.18))}
.nx-social-dock svg{display:block;width:22px;height:22px}
.nx-mobile-hero-dossier{display:none}
@keyframes nx-dossier-float{0%,100%{transform:translate3d(0,-4px,0) rotate(-1.2deg)}50%{transform:translate3d(0,5px,0) rotate(.8deg)}}
@media(max-width:620px) and (min-width:390px){
 body[data-page="home"] .nx-hero-copy{position:relative;isolation:isolate}
 body[data-page="home"] .nx-hero-copy>:not(.nx-mobile-hero-dossier){position:relative;z-index:1}
 body[data-page="home"] .nx-mobile-hero-dossier{display:block;position:absolute;top:92px;right:-18px;width:clamp(132px,34vw,174px);aspect-ratio:2/3;z-index:0;pointer-events:none;opacity:.8;filter:drop-shadow(0 18px 26px rgba(3,68,73,.16));animation:nx-dossier-float 9s ease-in-out infinite}
 body[data-page="home"] .nx-mobile-hero-dossier img{display:block;width:100%;height:auto}
}
@media(max-width:430px) and (min-width:390px){body[data-page="home"] .nx-mobile-hero-dossier{top:124px;right:-10px;width:112px;opacity:.66}}
@media(prefers-reduced-motion:reduce){body[data-page="home"] .nx-mobile-hero-dossier{animation:none}}
@media(max-width:760px){.nx-social-dock{right:12px;bottom:calc(18px + env(safe-area-inset-bottom,0px))}body:has(.nx-mobile-actions:not([hidden])) .nx-social-dock{bottom:calc(86px + env(safe-area-inset-bottom,0px))}}

/* Keep all six navigation items visually equal. */
@media(min-width:1081px){
  body[data-design="nexo"] .main-nav{gap:clamp(10px,1.25vw,20px)}
}
@media(max-width:1080px){
  body[data-design="nexo"] .main-nav a{text-align:left;justify-content:flex-start}
}
@media(max-width:1280px){.header-phone{display:none}}
.re-privacy-layer{margin:4px 0 18px;padding:14px 16px;border-left:3px solid #0d7d80;background:rgba(255,255,255,.62);color:#36575b;font-size:12px;line-height:1.65}
.re-privacy-layer a{color:#075a63;font-weight:700;text-decoration:underline;text-underline-offset:3px}

/* English mobile hero: reserve the folder's column so the longer copy never overlaps it. */
@media(max-width:620px) and (min-width:390px){
  body[data-locale="en"] .nx-mobile-hero-dossier~h1{
    max-width:9ch;
  }
  body[data-locale="en"] .nx-mobile-hero-dossier~.nx-hero-lead{
    max-width:calc(100% - clamp(110px,30vw,138px));
  }
}
