.elementor-2422 .elementor-element.elementor-element-1caaddaf{--display:flex;--min-height:100vh;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2422 .elementor-element.elementor-element-1ff06cb3{--display:flex;--min-height:60vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:flex-end;--align-items:center;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-2422 .elementor-element.elementor-element-5ecb271c{text-align:center;}.elementor-2422 .elementor-element.elementor-element-5ecb271c .elementor-heading-title{font-family:"Neue Haas Display Black", Sans-serif;font-size:142px;font-weight:400;mix-blend-mode:overlay;color:var( --e-global-color-6f340d4 );}.elementor-2422 .elementor-element.elementor-element-6e94ad6 .elementor-heading-title{font-family:"Neue Haas Display Black", Sans-serif;font-weight:200;text-transform:uppercase;letter-spacing:0.1em;color:var( --e-global-color-6f340d4 );}.elementor-2422 .elementor-element.elementor-element-4317282f{--display:flex;--min-height:40vh;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-2422 .elementor-element.elementor-element-4317282f:not(.elementor-motion-effects-element-type-background), .elementor-2422 .elementor-element.elementor-element-4317282f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-text );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-2422 .elementor-element.elementor-element-19995e43{text-align:center;font-family:"Neue Haas Display Black", Sans-serif;font-size:62px;font-weight:200;line-height:72px;color:var( --e-global-color-6f340d4 );}.elementor-2422 .elementor-element.elementor-element-745ba14d{--display:flex;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-2422 .elementor-element.elementor-element-1ff06cb3{--min-height:30vh;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-2422 .elementor-element.elementor-element-5ecb271c .elementor-heading-title{font-size:40px;}.elementor-2422 .elementor-element.elementor-element-6e94ad6{text-align:center;}.elementor-2422 .elementor-element.elementor-element-6e94ad6 .elementor-heading-title{font-size:14px;}.elementor-2422 .elementor-element.elementor-element-4317282f{--min-height:70vh;}.elementor-2422 .elementor-element.elementor-element-19995e43{font-size:32px;line-height:32px;}}/* Start custom CSS for html, class: .elementor-element-210c7d2d */[type=button]:focus, [type=button]:hover, [type=submit]:focus, [type=submit]:hover, button:focus, button:hover {
    background-color: transparent;
    color: #888888;
}/* End custom CSS */
/* Start custom CSS *//* ── TOKEN ──────────────────────────────────────────────────── */
:root {
  --nb-dark:        #0a0a0a;
  --nb-dark-mid:    #171717;
  --nb-cream:       #fafaf8;
  --nb-cream-alt:   #f3f1ed;
  --nb-text-dark:   #35302a;
  --nb-text-body:   #171717;
  --nb-text-light:  #f6f3ec;
  --nb-text-muted:  #7a7672;
  --nb-font:        "Neue Haas Display Black", sans-serif;
  --nb-gold:        #c9a96e;
}
 
.nb { max-width: 100%; overflow-x: hidden; }
.nb *, .nb *::before, .nb *::after { box-sizing: border-box; }
/* WordPress wraps every img in <picture> (display:inline).
   Fix solo sui blocchi standalone — non nelle gallery dove width:auto è intenzionale. */
.nb-img picture,
.nb-img--screen picture { display: block; width: 100%; max-width: 100%; }
.nb img { display: block; max-width: 100%; height: auto; }
 

 
/* ── LAYOUT ───────────────────────────────────────────────── */
.nb-section { position: relative; }
.nb-dark     { background: var(--nb-dark-mid); }
.nb-black    { background: var(--nb-dark); }
.nb-light    { background: var(--nb-cream); }
.nb-light-alt{ background: var(--nb-cream-alt); }
 
.nb-wrap  { max-width: 1400px; margin: 0 auto; padding: 0 80px; }
.nb-pv    { padding-top: 120px; padding-bottom: 120px; }
.nb-pv2   { padding-top: 80px;  padding-bottom: 80px; }
 
/* ── TIPOGRAFIA ───────────────────────────────────────────── */
.nb-label {
  display: block;
  font-family: var(--nb-font);
  font-size: 12px;
  font-weight: 200;
  letter-spacing: 3.5px;
  text-transform: uppercase;
  color: var(--nb-text-muted);
  margin-bottom: 64px;
}
.nb-label--inv { color: rgba(246,243,236,0.45); }
 
.nb-pull {
  font-family: var(--nb-font);
  font-size: clamp(34px, 5vw, 80px);
  font-weight: 200;
  color: var(--nb-text-dark);
  letter-spacing: -2px;
  line-height: 1.1;
  margin: 0 0 56px;
}
.nb-pull--inv { color: var(--nb-text-light); }
.nb-pull--xl  { font-size: clamp(40px, 6vw, 80px); }
 
.nb-body {
  font-family: var(--nb-font);
  font-size: 19px;
  font-weight: 300;
  color: var(--nb-text-body);
  line-height: 1.8;
  max-width: 680px;
}
.nb-body--inv { color: var(--nb-text-light); }
.nb-body p + p { margin-top: 24px; }
.nb-body p:first-child { margin-top: 0; }
 
/* ── IMMAGINI ─────────────────────────────────────────────────
   · nb-img        : full bleed — max 82vh (oggetto editoriale,
                     mai più alto dello schermo + un margine)
   · nb-img--inset : margini laterali + max 90vh (più agio,
                     l'inset riduce già la larghezza)
   · nb-img--wide  : leggero inset + max 80vh
   · nb-screen     : unica img a piena pagina (finale, voluto 100svh)
──────────────────────────────────────────────────────────── */
.nb-img {
  width: 100%;
  line-height: 0;
  overflow: hidden;
}
.nb-img img {
  width: 100%;
  height: auto;
  max-height: 100vh;
  object-fit: cover;
  object-position: center;
  display: block;
}
 
/* Inset laterale — respiro e varietà di layout */
.nb-img--inset {
  padding: 0 80px;
  background: var(--nb-cream);
}
.nb-img--inset img {
  width: 100%;
  height: auto;
  max-height: 90vh;
  object-fit: cover;
  object-position: center;
}
 
/* Wide: fuori dal container ma non full-bleed assoluto */
.nb-img--wide {
  padding: 0 40px;
}
.nb-img--wide img {
  max-height: 80vh;
  object-fit: cover;
  object-position: center;
}
 
/* Portrait — immagine verticale: centrata, altezza ≤ 86vh,
   l'opera si vede per intero in un'unica schermata, senza crop */
.nb-img--portrait {
  display: flex;
  justify-content: center;
  padding: 64px 0;
  background: var(--nb-cream);
}
.nb-img--portrait picture {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  line-height: 0;
}
.nb-img--portrait img {
  display: block !important;
  width: auto !important;
  height: 86vh !important;
  max-width: 100% !important;
  max-height: 86vh !important;
  object-fit: initial !important;
}
@media (max-width: 767px) {
  .nb-img--portrait { padding: 40px 0; }
  .nb-img--portrait img { height: auto !important; max-height: 80vh !important; width: 82vw !important; }
}
 
/* Foto finale: piena pagina */
.nb-img--screen img {
  width: 100%;
  height: 100svh;
  object-fit: cover;
}
 
/* Caption */
.nb-cap {
  display: block;
  font-family: var(--nb-font);
  font-size: 11px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--nb-text-muted);
  padding: 18px 80px;
  background: var(--nb-cream-alt);
}
 
/* ── GRIGLIE ─────────────────────────────────────────────── */
/* Grid 3 — altezze naturali, immagini mostrate intere */
.nb-grid3 {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}
.nb-grid3 img {
  width: 100%;
  height: auto;
  display: block;
}
 
/* Grid 2 — altezze naturali */
.nb-grid2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.nb-grid2 img {
  width: 100%;
  height: auto;
  display: block;
}
 
/* ── GALLERY CON NAVIGAZIONE ──────────────────────────────── */
.nb-gallery-wrapper {
  position: relative;
}
 
.nb-gallery {
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  cursor: grab;
  user-select: none;
}
.nb-gallery::-webkit-scrollbar { display: none; }
.nb-gallery.is-dragging { cursor: grabbing; }
 
.nb-gallery__track {
  display: flex;
  width: max-content;
  gap: 4px;
}
.nb-gallery__item {
  flex: 0 0 auto;
  overflow: hidden;
}
.nb-gallery__item img {
  height: 75vh;
  width: auto;
  object-fit: contain; /* mostra l'intera immagine */
  background: var(--nb-cream-alt);
  display: block;
  pointer-events: none;
}
 
/* Barra di navigazione gallery */
.nb-gallery-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 80px;
  background: var(--nb-cream);
  border-top: 1px solid rgba(53,48,42,0.1);
}
 
.nb-gallery-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--nb-font);
  font-size: 12px;
  font-weight: 200;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--nb-text-dark);
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px 0;
  transition: opacity 0.3s;
}
.nb-gallery-btn:hover { opacity: 0.5; }
.nb-gallery-btn:disabled { opacity: 0.2; cursor: default; }
 
.nb-gallery-btn svg {
  width: 32px;
  height: 12px;
  flex-shrink: 0;
}
 
.nb-gallery-counter {
  font-family: var(--nb-font);
  font-size: 13px;
  font-weight: 200;
  letter-spacing: 2px;
  color: var(--nb-text-muted);
  display: flex;
  align-items: center;
  gap: 6px;
}
.nb-gallery-cur {
  font-size: 22px;
  font-weight: 400;
  color: var(--nb-text-dark);
  letter-spacing: -0.5px;
  min-width: 28px;
  text-align: right;
  transition: opacity 0.2s;
}
.nb-gallery-sep { opacity: 0.3; }
.nb-gallery-tot { font-size: 13px; }
 
/* Gallery dark (su sfondo scuro) */
.nb-gallery-wrapper--dark .nb-gallery-nav {
  background: var(--nb-dark-mid);
  border-top-color: rgba(246,243,236,0.1);
}
.nb-gallery-wrapper--dark .nb-gallery-btn { color: var(--nb-text-light); }
.nb-gallery-wrapper--dark .nb-gallery-counter { color: rgba(246,243,236,0.4); }
.nb-gallery-wrapper--dark .nb-gallery-cur { color: var(--nb-text-light); }
.nb-gallery-wrapper--dark .nb-gallery__item img { background: var(--nb-dark-mid); }
 
/* ── TAROT REVEAL ──────────────────────────────────────────
   Struttura: contenitore unico, sketch sotto, carta finale
   sopra. Il reveal avviene via clip-path radiale al hover.
   3D tilt via JS (mousemove). Shimmer dorato al completamento.
──────────────────────────────────────────────────────────── */
.nb-tarot-section {
  background: var(--nb-cream-alt);
  padding: 100px 80px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
 
/* Hint sopra la carta */
.nb-tarot-hint {
  font-family: var(--nb-font);
  font-size: 11px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--nb-text-muted);
  margin-bottom: 48px;
  display: flex;
  align-items: center;
  gap: 12px;
  opacity: 1;
  transition: opacity 0.6s;
}
.nb-tarot-hint::before,
.nb-tarot-hint::after {
  content: '';
  display: block;
  width: 32px;
  height: 1px;
  background: var(--nb-text-muted);
}
.nb-tarot-section.is-revealed .nb-tarot-hint {
  opacity: 0;
  pointer-events: none;
}
 
/* Stage 3D */
.nb-tarot-stage {
  position: relative;
  max-width: 380px;
  width: 100%;
  cursor: crosshair;
  transform-style: preserve-3d;
  /* La trasformazione 3D è gestita da JS */
  transition: transform 0.15s ease;
  will-change: transform;
}
 
/* Sketch — layer inferiore, sempre visibile */
.nb-tarot-sketch {
  position: relative;
  z-index: 1;
  line-height: 0;
}
.nb-tarot-sketch img {
  width: 100%;
  height: auto;
  display: block;
  filter: drop-shadow(0 20px 50px rgba(0,0,0,0.18));
  transition: filter 0.8s ease;
}
.nb-tarot-section.is-revealed .nb-tarot-sketch img {
  filter: drop-shadow(0 20px 50px rgba(0,0,0,0.12));
}
 
/* Carta finale — sovrapposta, nascosta via clip-path */
.nb-tarot-final {
  position: absolute;
  inset: 0;
  z-index: 2;
  line-height: 0;
  /* Partenza: cerchio di raggio 0 centrato sul punto di luce
     (circa 50% X, 38% Y — dove emerge il cristallo nel teschio) */
  clip-path: circle(0% at 50% 38%);
  transition: clip-path 1.1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.nb-tarot-section.is-revealed .nb-tarot-final {
  clip-path: circle(130% at 50% 38%);
}
.nb-tarot-final img {
  width: 100%;
  height: auto;
  display: block;
  filter: drop-shadow(0 20px 50px rgba(0,0,0,0.30));
}
 
/* Anello shimmer — dorato, si espande al completamento */
.nb-tarot-ring {
  position: absolute;
  inset: -4px;
  z-index: 3;
  border-radius: 4px;
  pointer-events: none;
  opacity: 0;
  background: transparent;
  box-shadow:
    0 0 0 2px rgba(201,169,110,0),
    0 0 30px 0px rgba(201,169,110,0);
  transition:
    opacity 0.4s ease 0.8s,
    box-shadow 0.6s ease 0.8s;
}
.nb-tarot-section.is-revealed .nb-tarot-ring {
  opacity: 1;
  box-shadow:
    0 0 0 1px rgba(201,169,110,0.45),
    0 0 40px 4px rgba(201,169,110,0.20);
}
 
/* Scintille CSS puro — 6 pseudo-particelle via clip-path e opacity */
.nb-tarot-sparks {
  position: absolute;
  inset: 0;
  z-index: 4;
  pointer-events: none;
  overflow: hidden;
}
.nb-tarot-sparks span {
  position: absolute;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: var(--nb-gold);
  opacity: 0;
  transform: translate(-50%, -50%) scale(0);
  transition: none;
}
/* Posizioni delle scintille (in %) */
.nb-tarot-sparks span:nth-child(1) { left:50%; top:38%; }
.nb-tarot-sparks span:nth-child(2) { left:32%; top:30%; }
.nb-tarot-sparks span:nth-child(3) { left:68%; top:28%; }
.nb-tarot-sparks span:nth-child(4) { left:25%; top:50%; }
.nb-tarot-sparks span:nth-child(5) { left:75%; top:48%; }
.nb-tarot-sparks span:nth-child(6) { left:55%; top:20%; }
 
@keyframes nb-spark {
  0%   { opacity: 0; transform: translate(-50%,-50%) scale(0); }
  40%  { opacity: 1; transform: translate(-50%,-50%) scale(1.8); }
  80%  { opacity: 0.4; transform: translate(calc(-50% + var(--tx)), calc(-50% + var(--ty))) scale(0.8); }
  100% { opacity: 0; transform: translate(calc(-50% + var(--tx,0px)), calc(-50% + var(--ty,0px))) scale(0); }
}
.nb-tarot-section.is-revealed .nb-tarot-sparks span:nth-child(1) {
  animation: nb-spark 1.2s ease-out 0.85s both;
  --tx: 0px; --ty: -28px;
}
.nb-tarot-section.is-revealed .nb-tarot-sparks span:nth-child(2) {
  animation: nb-spark 1.1s ease-out 0.95s both;
  --tx: -22px; --ty: -18px;
}
.nb-tarot-section.is-revealed .nb-tarot-sparks span:nth-child(3) {
  animation: nb-spark 1.3s ease-out 0.90s both;
  --tx: 22px; --ty: -20px;
}
.nb-tarot-section.is-revealed .nb-tarot-sparks span:nth-child(4) {
  animation: nb-spark 1.0s ease-out 1.00s both;
  --tx: -30px; --ty: 10px;
}
.nb-tarot-section.is-revealed .nb-tarot-sparks span:nth-child(5) {
  animation: nb-spark 1.2s ease-out 1.05s both;
  --tx: 30px; --ty: 8px;
}
.nb-tarot-section.is-revealed .nb-tarot-sparks span:nth-child(6) {
  animation: nb-spark 1.4s ease-out 0.88s both;
  --tx: 8px; --ty: -35px;
}
 
/* Etichetta "Tap per rivelare" — mobile */
.nb-tarot-tap-label {
  display: none;
  font-family: var(--nb-font);
  font-size: 11px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--nb-text-muted);
  margin-top: 32px;
  text-align: center;
}
 
/* Caption tarot */
.nb-tarot-cap {
  max-width: 700px;
  margin: 0 auto;
  padding: 80px 80px 100px;
  background: var(--nb-cream-alt);
}
.nb-tarot-cap__title {
  font-family: var(--nb-font);
  font-size: 22px;
  font-weight: 300;
  color: var(--nb-text-dark);
  letter-spacing: -0.3px;
  line-height: 1.45;
  margin-bottom: 28px;
}
.nb-tarot-cap__text {
  font-family: var(--nb-font);
  font-size: 15px;
  font-weight: 300;
  color: var(--nb-text-body);
  line-height: 1.85;
}
.nb-tarot-cap__text p + p { margin-top: 16px; }
 
/* ── ESSENCE ─────────────────────────────────────────────── */
.nb-essence {
  background: var(--nb-dark);
  padding: 140px 80px;
}
.nb-essence__inner {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}
.nb-essence__inner p {
  font-family: var(--nb-font);
  font-size: clamp(22px, 2.8vw, 40px);
  font-weight: 200;
  color: var(--nb-text-light);
  line-height: 1.5;
  letter-spacing: -0.5px;
  margin-bottom: 32px;
}
.nb-essence__inner p:last-child { margin-bottom: 0; }
.nb-essence__coda {
  font-size: clamp(16px, 1.8vw, 22px) !important;
  color: rgba(246,243,236,0.50) !important;
  letter-spacing: 0 !important;
}
 
/* ── MOBILE ≤ 767px ─────────────────────────────────────── */
@media (max-width: 767px) {
  .nb-wrap  { padding: 0 24px; }
  .nb-pv    { padding-top: 72px;  padding-bottom: 72px; }
  .nb-pv2   { padding-top: 48px;  padding-bottom: 48px; }
 
  .nb-hero__vwrap   { height: 50vh; min-height: 340px; padding-bottom: 32px; }
  .nb-hero__tagline { min-height: 30vh; padding: 50px 24px; }
 
  .nb-img--inset { padding: 0 24px; }
  .nb-img--wide  { padding: 0; }
  .nb-cap        { padding: 12px 24px; }
 
  .nb-grid3 { grid-template-columns: 1fr; }
  .nb-grid2 { grid-template-columns: 1fr; }
 
  .nb-gallery__item img { height: 55vw; }
 
  .nb-gallery-nav  { padding: 16px 24px; }
  .nb-gallery-btn  { font-size: 0; }  /* Nasconde il testo, resta solo l'icona */
 
  .nb-tarot-section { padding: 72px 24px; }
  .nb-tarot-stage   { max-width: 280px; }
  .nb-tarot-tap-label { display: block; }
  .nb-tarot-hint      { display: none; }
 
  .nb-tarot-cap  { padding: 60px 24px 72px; }
  .nb-essence    { padding: 100px 24px; }
  .nb-label      { margin-bottom: 40px; }
  .nb-pull       { letter-spacing: -1px; }
}
 
/* prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
  .nb-hero__title, .nb-hero__sub { opacity: 1 !important; }
  .nb-tarot-final { transition: none !important; }
  .nb-tarot-sparks span { animation: none !important; }
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Neue Haas Display Black';
	font-style: normal;
	font-weight: 200;
	font-display: auto;
	src: url('https://thisistudio.com/wp-content/uploads/2026/02/NeueHaasDisplayThin.ttf') format('truetype');
}
@font-face {
	font-family: 'Neue Haas Display Black';
	font-style: normal;
	font-weight: 300;
	font-display: auto;
	src: url('https://thisistudio.com/wp-content/uploads/2026/02/NeueHaasDisplayLight.ttf') format('truetype');
}
@font-face {
	font-family: 'Neue Haas Display Black';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://thisistudio.com/wp-content/uploads/2026/02/NeueHaasDisplayRoman.ttf') format('truetype');
}
@font-face {
	font-family: 'Neue Haas Display Black';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://thisistudio.com/wp-content/uploads/2026/02/NeueHaasDisplayMediu.ttf') format('truetype');
}
@font-face {
	font-family: 'Neue Haas Display Black';
	font-style: normal;
	font-weight: 900;
	font-display: auto;
	src: url('https://thisistudio.com/wp-content/uploads/2026/02/NeueHaasDisplayBlack.ttf') format('truetype');
}
/* End Custom Fonts CSS */