* { box-sizing: border-box; }
body {margin: 0;}
body{margin:0px 0px 0px 0px;}
.nb-sec{padding:130px 0px 130px 0px;}
.nb-dark{background-color:rgb(10, 10, 10);color:rgb(163, 163, 163);}
.nb-round{border-radius:0px 0px 28px 28px;}
.nb-round-all{border-radius:28px 28px 28px 28px;}
.nb-white{color:rgb(255, 255, 255);}
.nb-display{font-size:clamp(52px, 9vw, 150px);line-height:0.92;letter-spacing:-0.045em;margin:0px 0px 0px 0px;}
.nb-title{font-size:clamp(36px, 4.6vw, 66px);line-height:1.05;letter-spacing:-0.03em;margin:0px 0px 0px 0px;}
.nb-lead{font-size:18px;line-height:1.75;}
.nb-head{align-items:flex-end;column-gap:60px;margin:0px 0px 60px 0px;}
.nb-head-side{flex-basis:38%;flex-grow:0;flex-shrink:0;align-items:flex-start;row-gap:28px;}
#nb-hero{min-height:100vh;background-color:rgb(10, 10, 10);align-items:flex-end;}
#nb-hero-in{align-items:flex-end;column-gap:60px;padding:160px 15px 80px 15px;}
#nb-servizi-cell{row-gap:70px;}
#nb-svc-list{display:flex;flex-direction:column;}
.nb-svc{border-top-width:1px;border-top-style:solid;border-top-color:rgb(226, 222, 214);padding:34px 0px 44px 0px;}
.nb-svc-head{display:flex;justify-content:space-between;align-items:center;column-gap:30px;margin:0px 0px 30px 0px;}
.nb-svc-title{font-size:clamp(30px, 4vw, 54px);letter-spacing:-0.03em;margin:0px 0px 0px 0px;}
.nb-svc-body{display:grid;grid-template-columns:1fr 1fr;column-gap:50px;row-gap:24px;align-items:start;}
.nb-svc-frase{color:rgb(10, 10, 10);font-size:20px;line-height:1.45;}
.nb-svc-testo{font-size:16px;line-height:1.75;}
.nb-svc-btn{flex-shrink:0;white-space-collapse:collapse;text-wrap-mode:nowrap;}
#nb-lavori{margin:0px 0px 0px 0px;}
#nb-lavori-head{display:flex;}
#nb-lavori-head-main{flex-grow:1;}
#nb-lavori-cell{row-gap:0px;}
#nb-prod-head{display:flex;}
#nb-prod-head-main{flex-grow:1;}
#nb-prod-cell{row-gap:0px;}
#nb-about{margin:0px 0px 0px 0px;}
#nb-about-main{row-gap:40px;align-items:flex-start;}
#nb-about-title{max-width:900px;}
#nb-about-cols{display:grid;grid-template-columns:1fr 1fr;column-gap:60px;row-gap:20px;color:rgb(189, 189, 189);}
#nb-team{display:grid;grid-template-columns:1fr 1fr;column-gap:30px;row-gap:30px;width:100%;margin:40px 0px 0px 0px;}
.nb-person{display:flex;align-items:stretch;column-gap:28px;background-color:rgb(21, 21, 21);padding:20px 20px 20px 20px;border-radius:20px 20px 20px 20px;}
.nb-person-media{flex-grow:0;flex-shrink:0;flex-basis:150px;align-self:center;overflow-x:hidden;overflow-y:hidden;aspect-ratio:1 / 1;border-radius:50% 50% 50% 50%;}
.nb-person-img{width:100%;height:100%;object-fit:cover;object-position:47% 50%;transform:scale(1.06);}
.nb-person-body{display:flex;flex-direction:column;justify-content:flex-end;row-gap:12px;padding:10px 10px 10px 0px;}
.nb-person-name{font-size:26px;margin:0px 0px 0px 0px;}
.nb-person-bio{color:rgb(163, 163, 163);font-size:15px;line-height:1.7;}
#nb-blog-head{display:flex;}
#nb-blog-head-main{flex-grow:1;}
#nb-blog-cell{row-gap:0px;}
#nb-contatti{padding:40px 0px 130px 0px;}
#nb-contatti-in{column-gap:70px;background-color:rgb(244, 241, 236);padding:70px 60px 70px 60px;border-radius:28px 28px 28px 28px;}
#nb-contatti-info{row-gap:26px;}
#nb-contatti-form-cell{flex-basis:56%;flex-grow:0;flex-shrink:0;}
.nb-contatti-dati{font-size:16px;line-height:1.7;color:rgb(10, 10, 10);}
#nb-ft-social-0{display:inline-block;--env-icon-size:32px;}
#nb-ft-social-1{display:inline-block;--env-icon-size:32px;}
#nb-ft-social-2{display:inline-block;--env-icon-size:32px;}
#nb-ft-social-3{display:inline-block;--env-icon-size:32px;}
#nb-ft-social-4{display:inline-block;--env-icon-size:32px;}
#nb-ft-social-5{display:inline-block;--env-icon-size:32px;}
.nb-svc{display:grid;grid-template-columns:150px 1fr;column-gap:40px;position:relative;}
.nb-svc-aside{display:flex;flex-direction:column;align-items:flex-start;row-gap:22px;}
.nb-svc-main{min-width:0px;}
#nb-home-h1{display:flex;align-items:center;column-gap:16px;font-family:Sora, Helvetica, Arial, sans-serif;font-size:14px;font-weight:500;line-height:1.5;letter-spacing:0.14em;text-transform:uppercase;color:rgb(156, 111, 31);margin:0px 0px -44px 0px;}
@media (max-width: 1023px){.nb-sec{padding:90px 0px 90px 0px;}.nb-head{flex-wrap:wrap;}.nb-head-side{flex-basis:100%;}#nb-hero-in{flex-wrap:wrap;padding:140px 15px 50px 15px;}.nb-svc-body{grid-template-columns:1fr;}#nb-about-cols{grid-template-columns:1fr;}#nb-team{grid-template-columns:1fr;}#nb-contatti-in{flex-wrap:wrap;row-gap:40px;padding:50px 30px 50px 30px;}#nb-contatti-form-cell{flex-basis:100%;}}
@media (max-width: 767px){.nb-sec{padding:70px 0px 70px 0px;}.nb-head{flex-direction:column;align-items:flex-start;flex-wrap:nowrap;row-gap:24px;margin:0px 0px 40px 0px;}.nb-head-side{flex-basis:auto;}.nb-lead{font-size:17px;}.nb-svc-head{flex-wrap:wrap;row-gap:10px;}.nb-svc-body{grid-template-columns:1fr;}#nb-lavori-head{flex-direction:column;align-items:flex-start;row-gap:24px;}#nb-prod-head{flex-direction:column;align-items:flex-start;row-gap:24px;}#nb-blog-head{flex-direction:column;align-items:flex-start;row-gap:24px;}#nb-contatti{padding:20px 0px 70px 0px;}#nb-contatti-in{padding:36px 20px 36px 20px;border-radius:20px 20px 20px 20px;}.nb-svc{grid-template-columns:1fr;row-gap:22px;}.nb-svc-aside{flex-direction:row;align-items:center;column-gap:20px;}#nb-home-h1{font-size:12px;letter-spacing:0.1em;margin:0px 0px -50px 0px;}}
@media (max-width: 479px){.nb-person{flex-direction:column;row-gap:18px;}.nb-person-media{flex-basis:auto;width:130px;align-self:flex-start;}}

/* grapely:css-personalizzato */
/* Velatura sopra il video (il video ha z-index -1 dentro la riga). */
#nb-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; border-radius: inherit; pointer-events: none; background: linear-gradient(180deg, rgba(0,0,0,.45) 0%, rgba(0,0,0,0) 28%, rgba(0,0,0,0) 72%, rgba(0,0,0,.3) 100%); }
#nb-hero { min-height: 100svh; }
#nb-hero-title { text-shadow: 0 2px 30px rgba(0,0,0,.25); }
/* Pannelli in evidenza: su schermi piccoli diventano uno scorrimento orizzontale. */
@media (max-width: 767px) {
  #nb-lavori-feat .env-loop-grid { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; padding-bottom: 6px; }
  #nb-lavori-feat .env-loop-item { flex: 0 0 78%; scroll-snap-align: start; }
}
/* Video verticali: 4 per riga, 2 su tablet, scorrimento orizzontale sul telefono. */
@media (max-width: 1023px) { #nb-prod-loop .env-loop-grid { --env-loop-columns: 2 !important; } }
@media (max-width: 767px) {
  #nb-prod-loop .env-loop-grid { display: flex !important; flex-wrap: nowrap !important; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; padding-bottom: 6px; }
  #nb-prod-loop .env-loop-item { flex: 0 0 72%; scroll-snap-align: start; }
}
.nb-person .nb-person-img { filter: grayscale(1); transition: filter .6s ease, transform .8s cubic-bezier(.2,.7,.2,1); }
.nb-person:hover .nb-person-img { filter: none; transform: scale(1.12); }
@media (max-width: 1023px) { #nb-blog-loop .env-loop-grid { --env-loop-columns: 1 !important; } }
/* Modulo di contatto */
.nb-form .nb-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.nb-form .nb-field { margin: 0; }
.nb-form .nb-field--full { grid-column: 1 / -1; }
.nb-form input[type="text"], .nb-form input[type="email"], .nb-form input[type="tel"], .nb-form select, .nb-form textarea { width: 100%; box-sizing: border-box; background: #ffffff; border: 1px solid #e2ded6; border-radius: 14px; padding: 16px 18px; font: inherit; font-size: 16px; color: #0a0a0a; transition: border-color .25s ease, box-shadow .25s ease; }
.nb-form textarea { min-height: 150px; resize: vertical; }
.nb-form select { padding-right: 36px; text-overflow: ellipsis; }
.nb-form input:focus, .nb-form select:focus, .nb-form textarea:focus { outline: none; border-color: #ae802c; box-shadow: 0 0 0 3px rgba(174,128,44,.15); }
.nb-form .nb-privacy { font-size: 14px; color: #555; }
.nb-form .nb-privacy a { color: #0a0a0a; }
.nb-form .wpcf7-list-item { margin: 0; }
.nb-form input[type="submit"] { background: #0a0a0a; color: #ffffff; border: 0; border-radius: 999px; padding: 16px 34px; font: inherit; font-weight: 500; cursor: pointer; transition: background-color .25s ease, color .25s ease; }
.nb-form input[type="submit"]:hover { background: #ae802c; color: #0a0a0a; }
.nb-form .wpcf7-spinner { vertical-align: middle; }
.nb-form .wpcf7-response-output { grid-column: 1 / -1; border-radius: 12px; margin: 16px 0 0 !important; }
@media (max-width: 767px) { .nb-form .nb-form-grid { grid-template-columns: 1fr; } }
.nb-contatti-dati p { margin: 0 0 18px; }
.nb-contatti-dati a { color: #0a0a0a; text-decoration: none; border-bottom: 1px solid rgba(174,128,44,.5); }
.nb-contatti-dati a:hover { color: #ae802c; }
.nb-k { display: inline-block; font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #ae802c; margin-bottom: 2px; }/* SERVIZI GRAFICA */
/* Numero in oro, solo contorno, e icona a linea in un cerchio oro. */
.nb-svc-num p { margin: 0; font-family: "Sora", Helvetica, Arial, sans-serif; font-size: 64px; font-weight: 600; line-height: 1; letter-spacing: -0.04em; color: transparent; -webkit-text-stroke: 1.2px #c49a45; transition: color .45s ease, -webkit-text-stroke-color .45s ease; }
.nb-svc-icon { width: 72px; height: 72px; border-radius: 50%; border: 1.5px solid #c49a45; color: #ae802c; display: flex; align-items: center; justify-content: center; transition: background .45s ease, color .45s ease, border-color .45s ease, box-shadow .45s ease, transform .45s cubic-bezier(.2,.7,.2,1); }
.nb-svc-icon svg { width: 30px; height: 30px; }
.nb-svc .nb-svc-title { transition: transform .5s cubic-bezier(.2,.7,.2,1), color .35s ease; }
.nb-svc:hover .nb-svc-title { transform: translateX(10px); }
.nb-svc:hover .nb-svc-icon { transform: rotate(-8deg) scale(1.06); }
/* Al passaggio: titolo, numero e cerchio in oro sfumato. */
.nb-svc:hover .nb-svc-title { background: linear-gradient(90deg, #ae802c 0%, #d9c06a 50%, #ae802c 100%); -webkit-background-clip: text; background-clip: text; color: transparent; }
.nb-svc:hover .nb-svc-icon { background: linear-gradient(135deg, #ae802c 0%, #e0d580 50%, #ae802c 100%); border-color: transparent; color: #0a0a0a; box-shadow: 0 10px 26px -10px rgba(174, 128, 44, .6); }
.nb-svc:hover .nb-svc-num p { background: linear-gradient(90deg, #ae802c 0%, #e0d580 50%, #ae802c 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-stroke-color: transparent; }
@media (max-width: 767px) { .nb-svc-num p { font-size: 44px; } .nb-svc-icon { width: 56px; height: 56px; } .nb-svc-icon svg { width: 24px; height: 24px; } }
/* SERVIZI GRAFICA - fine *//* SERVIZI MOVIMENTO */
/* Pulsanti "Scopri di più" più piccoli. */
body .nb-svc .nb-svc-btn { font-size: 12px; padding: 10px 20px; line-height: 1.2; }
/* Immagine del servizio. */
.nb-svc-media { overflow: hidden; border-radius: 14px; }
.nb-svc-img { display: block; width: 100%; height: 100%; object-fit: cover; }
/* Su computer, al passaggio la riga diventa uno schermo a tutta larghezza: la scena si apre dal centro come un otturatore e il testo passa in chiaro. */
@media (hover: hover) and (pointer: fine) and (min-width: 768px) {
  .nb-svc-aside, .nb-svc-head, .nb-svc-body { position: relative; z-index: 1; }
  .nb-svc-media { position: absolute; top: 0; bottom: 0; left: calc(50% - 50vw); width: 100vw; z-index: 0; pointer-events: none; border-radius: 0; background: #070707; clip-path: inset(50% 0 50% 0); transition: clip-path .75s cubic-bezier(.7,0,.2,1); }
  .nb-svc-media .nb-svc-img { opacity: .42; -webkit-mask: linear-gradient(90deg, #000 0%, #000 45%, rgba(0, 0, 0, .55) 100%); mask: linear-gradient(90deg, #000 0%, #000 45%, rgba(0, 0, 0, .55) 100%); transform: scale(1.14); transition: transform 2.2s cubic-bezier(.2,.7,.2,1); }
  .nb-svc:hover .nb-svc-media { clip-path: inset(0 0 0 0); }
  .nb-svc:hover .nb-svc-media .nb-svc-img { transform: scale(1.03); }
  #nb-svc-list .nb-svc :is(.nb-svc-frase, .nb-svc-frase *, .nb-svc-testo, .nb-svc-testo *) { transition: color .45s ease; }
  #nb-svc-list .nb-svc:hover :is(.nb-svc-frase, .nb-svc-frase *) { color: #f4efe4; }
  #nb-svc-list .nb-svc:hover :is(.nb-svc-testo, .nb-svc-testo *) { color: rgba(244, 239, 228, .78); }
  .nb-svc:hover .nb-svc-num p { filter: drop-shadow(0 0 18px rgba(224, 213, 128, .25)); }
}
/* Su telefono e tablet: immagine sotto il titolo. */
@media (hover: none), (pointer: coarse), (max-width: 767px) {
  .nb-svc-media { aspect-ratio: 16 / 9; margin: 4px 0 8px; }
  .nb-svc-anim .nb-svc .nb-svc-media { clip-path: inset(0 0 100% 0 round 14px); transition: clip-path 1s cubic-bezier(.2,.7,.2,1) .15s; }
  .nb-svc-anim .nb-svc.is-in .nb-svc-media { clip-path: inset(0 0 0 0 round 14px); }
  .nb-svc-anim .nb-svc .nb-svc-img { transform: scale(1.2); transition: transform 1.6s cubic-bezier(.2,.7,.2,1) .15s; }
  .nb-svc-anim .nb-svc.is-in .nb-svc-img { transform: scale(1); }
}
/* Entrata allo scorrimento: le righe salgono una dopo l'altra. */
.nb-svc-anim .nb-svc :is(.nb-svc-aside, .nb-svc-head, .nb-svc-body) { opacity: 0; transform: translateY(36px); transition: opacity .8s ease, transform 1s cubic-bezier(.2,.7,.2,1); }
.nb-svc-anim .nb-svc .nb-svc-head { transition-delay: .1s; }
.nb-svc-anim .nb-svc .nb-svc-body { transition-delay: .2s; }
.nb-svc-anim .nb-svc.is-in :is(.nb-svc-aside, .nb-svc-head, .nb-svc-body) { opacity: 1; transform: none; }
/* SERVIZI MOVIMENTO - fine */#nb-home-h1::before { content: ""; flex: none; width: 40px; height: 1px; background: linear-gradient(90deg, #ae802c, #e0d580); }
/* Video della home: il filmato è panoramico con le barre nere nel file; ingrandito di 1080/804 la parte con l'immagine copre tutta l'apertura. */
#nb-hero { overflow: hidden; }
#nb-hero video { transform: scale(1.35); transform-origin: 50% 50%; }

/* Responsive mobile e tablet (2026-11-04) */
@media (min-width: 1024px) and (max-width: 1199px) {
  /* Portfolio: 2 x 2, con quattro in fila i titoli venivano troncati. */
  #nb-lavori #nb-lavori-feat .env-loop-grid { --env-loop-columns: 2 !important; }
  #nb-prod #nb-prod-loop .env-loop-grid { --env-loop-columns: 4 !important; --env-loop-fit: 4 !important; }
  #nb-prod #nb-prod-loop .env-loop-item { min-width: 0 !important; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  #nb-blog #nb-blog-loop .env-loop-grid { --env-loop-columns: 3 !important; --env-loop-fit: 3 !important; --env-loop-gap: 20px !important; }
  #nb-blog #nb-blog-loop .env-loop-item { min-width: 0 !important; }
}
/* fine responsive */
