@font-face {
  font-family: Geist;
  src: url('../fonts/Geistwght.ttf') format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: Geist Mono;
  src: url('../fonts/GeistMonowght.ttf') format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}



/* =========================================================
   CORREZIONE DEFINITIVA: POSIZIONAMENTO, DIMENSIONI E SPAZIATURA
   ========================================================= */

/* 1. CONTENITORE VISUALE (L'Origami): Consolidato in un unico blocco. */
#w-node-_9e9c6dc6-7439-f04e-89be-69f737319be6-9a532445 {
  /* Posizionamento e Visibilità */
  transform: none !important; /* Rende il blocco visibile */
  position: absolute; 
  z-index: 5; /* Assicura che il testo sia sopra (z-index 15) */
  
  /* Dimensione e Posizione */
  width: 70%; /* Dimensione ideale (secondo lo screenshot precedente) */
  height: 70%;
  top: 0;
  
  /* REGOLA SPAZIATURA DESTRA: Aggiunge spazio dal bordo destro */
  right: var(--spacing--main); 
  
  /* Mantiene il layout grid */
  grid-column: span 12 / span 12;
}

/* 2. ALZARE IL TESTO E LA CTA (Risolve la sovrapposizione) */
.hero__layout.grid-main,
.hero__container.container {
    position: relative; 
    z-index: 15; /* Priorità più alta del blocco Origami (5) */
}

/* 3. CORREZIONE FILTRO e PROPORZIONI (Mantenute) */
.hero__visual {
  mix-blend-mode: normal !important;
  opacity: 1 !important;
  aspect-ratio: 1; 
  overflow: hidden;
}

/* 4. STILE DELL'IMMAGINE PNG (Mantenuto) */
.image-png {
    object-fit: contain !important; 
    width: 100%;
    height: 100%;
    display: block;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.4s ease; 
}


/* --- ANIMAZIONI (Mantenute) --- */

@keyframes floatAndRotateIn {
  0% { 
    opacity: 0;
    transform: translateY(100px) rotateX(70deg) rotateZ(-10deg) scale(0.8);
  }
  100% { 
    opacity: 1;
    transform: translateY(0px) rotateX(0deg) rotateZ(0deg) scale(1);
  }
}

.image-png.animate-in {
    opacity: 0;
    transform-style: preserve-3d;
    animation: floatAndRotateIn 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards 0.5s; 
}

.image-png:hover {
    transform: scale(1.05) translateY(-5px); 
}






:root {
  --_vmi-color---vmi-blue: #1f2d3a;
  --color--white: white;
  --font-family--heading: Geist, sans-serif;
  --font-size-desktop--main: 1.5rem;
  --font-size-desktop--small: 1rem;
  --spacing--xlarge: 7.5rem;
  --spacing--container-desktop: 2rem;
  --spacing--main: 2rem;
  --spacing--xsmall: .75rem;
  --gap--mini\<deleted\|variable-c5e169f5-e0ec-4045-9f56-fa237abb5b38\>: .5em;
  --_vmi-color---vmi-arancione: #e8b14d;
  --font-size-desktop--large: 4rem;
  --spacing--huge: 10rem;
  --spacing--large: 5rem;
  --gap--small: var(--spacing--main);
  --gap--med\<deleted\|variable-196f1660-85b7-2eda-5ec8-e43ca0f5032d\>: 2em;
  --text--eyebrow\<deleted\|variable-78e0f453-517b-9203-b404-66d3ccf47fef\>: .6rem;
  --color--black: black;
  --radius--large\<deleted\|variable-cb40b4fe-3405-c18f-556a-58c7cb6b32c8\>: 3rem;
  --font-size-desktop--display: 8.75rem;
  --font-size-desktop--medium: 2.5rem;
  --spacing--small: 1.5rem;
  --radius--small: .125rem;
  --heading--h6\<deleted\|variable-211419a6-9735-1df7-0112-f084880b8b07\>: var(--font-size-desktop--main);
  --color--primary\<deleted\|variable-603f4f33-eae8-822f-e5d0-3f242f4229a9\>: #f5ab35;
  --heading--h1\<deleted\|variable-e39e1961-40e5-1dac-07c5-ab0eca346a88\>: var(--font-size-desktop--display);
  --spacing--medium: 2.5rem;
  --radius--main: .25rem;
  --font-size-mobile--main: 1rem;
  --font-size-fluid--main: 1.7vw;
  --font-family--main: "Geist Mono", sans-serif;
  --font-size-fluid--small: 1.1vw;
  --_vmi-color---vmi-yellow: #f4c86a;
  --_vmi-color---vmi-grigio: #ddd;
  --spacing--container-tablet: 6vw;
  --font-size-fluid--medium: 2.85vw;
  --font-size-fluid--large: 4.5vw;
  --font-size-fluid--display: 9.55vw;
  --font-size-mobile--small: .625rem;
  --font-size-mobile--medium: 1.25rem;
  --font-size-mobile--large: 1.5rem;
  --font-size-mobile--display: 4rem;
}



/* =========================================================
   CORREZIONE DEFINITIVA: POSIZIONAMENTO, LAYOUT E MARGINI PULITI
   ========================================================= */

/* NUOVA REGOLA: Forzatura dello scroll disabilitata via CSS, per sicurezza */
html, body {
    scroll-behavior: auto !important;
}

/* 1. CORREZIONE MARGINI (NUOVA REGOLA) */
.hero-home__paragraph {
    margin-top: 0 !important;
    margin-bottom: 0 !important; /* RISOLVE LO SPAZIO IN ECCESSO SOTTO IL TESTO */
}

/* 2. CONTROLLO VARIABILE: (Spaziatura per l'Origami e la CTA) */
:root {
  --spacing--main: 3rem; 
}

/* 3. CORREZIONE SPAZIATURA SOTTO LA CTA (Mantenuta) */
.hero-home__cta-wrapper {
    /* Il divario tra CTA e Paragrafo è gestito dal Flexbox 'gap' sul genitore,
       quindi qui azzeriamo per sicurezza se non è necessario. */
    margin-bottom: var(--spacing--main); /* 3rem di spazio sotto la CTA */
    position: relative;
    z-index: 20; 
}

/* 4. CONTENITORE VISUALE (L'Origami) */
#w-node-_9e9c6dc6-7439-f04e-89be-69f737319be6-9a532445 {
  transform: none !important;
  position: absolute; 
  z-index: 5; 
  
  width: 70%;
  height: 70%;
  top: 0;
  right: var(--spacing--main); 
  
  grid-column: span 12 / span 12;
}

/* 5. ALZARE IL TESTO E LA CTA */
.hero__layout.grid-main,
.hero__container.container {
    position: relative; 
    z-index: 15;
}

/* 6. CORREZIONE FILTRO e PROPORZIONI */
.hero__visual {
  mix-blend-mode: normal !important;
  opacity: 1 !important;
  aspect-ratio: 1; 
  overflow: hidden;
}

/* 7. STILE DELL'IMMAGINE PNG (Mantenuto) */
.image-png {
    object-fit: contain !important; 
    width: 100%;
    height: 100%;
    display: block;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), opacity 0.4s ease; 
}

/* 8. ANIMAZIONI (Mantenute) */
@keyframes floatAndRotateIn {
  0% { 
    opacity: 0;
    transform: translateY(100px) rotateX(70deg) rotateZ(-10deg) scale(0.8);
  }
  100% { 
    opacity: 1;
    transform: translateY(0px) rotateX(0deg) rotateZ(0deg) scale(1);
  }
}

.image-png.animate-in {
    opacity: 0;
    transform-style: preserve-3d;
    animation: floatAndRotateIn 1.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards 7s; 
}

.image-png:hover {
    transform: scale(1.05) translateY(-5px); 
}





body {
  background-color: var(--_vmi-color---vmi-blue);
  color: var(--color--white);
  font-family: Geist Mono, sans-serif;
  line-height: 1.4;
  font-size: clamp(var(--font-size-mobile--main), var(--font-size-fluid--main), var(--font-size-fluid--main));
}

h1 {
  font-family: var(--font-family--heading);
  letter-spacing: -.02em;
  text-transform: uppercase;
  font-weight: 600;
  line-height: .95;
  font-size: clamp(var(--font-size-mobile--display), var(--font-size-fluid--display), var(--font-size-fluid--display));
  margin-top: 0;
  margin-bottom: 0;
}

h2 {
  font-family: var(--font-family--heading);
  letter-spacing: -.02ch;
  text-transform: uppercase;
  font-weight: 600;
  line-height: .95;
  font-size: clamp(var(--font-size-mobile--large), var(--font-size-fluid--large), var(--font-size-fluid--large));
  margin-top: 0;
  margin-bottom: 0;
}

h3 {
  font-family: var(--font-family--heading);
  letter-spacing: -.02ch;
  font-weight: 600;
  line-height: .95;
  font-size: clamp(var(--font-size-mobile--medium), var(--font-size-fluid--medium), var(--font-size-fluid--medium));
  margin-top: 0;
  margin-bottom: 0;
}

h4, h5, h6 {
  font-family: var(--font-family--heading);
  font-weight: 400;
  line-height: 1.2;
  font-size: clamp(var(--font-size-mobile--main), var(--font-size-fluid--main), var(--font-size-fluid--main));
  margin-top: 0;
  margin-bottom: 0;
}

p {
  font-size: var(--font-size-desktop--main);
  text-wrap: pretty;
  color: inherit;
  margin-top: 0;
  margin-bottom: 0;
  line-height: 1.4;
}

a {
  color: inherit;
  font-size: 1em;
  text-decoration: none;
}

ul {
  margin-top: 0;
  margin-bottom: 10px;
  padding-left: 40px;
}

li {
  font-size: 1.25em;
  list-style-type: disc;
}

img {
  object-fit: cover;
  background-color: #0000;
  width: 100%;
  max-width: 100%;
  display: inline-block;
}

label {
  letter-spacing: .05em;
  text-transform: uppercase;
  margin-bottom: .4rem;
  display: block;
}

blockquote {
  border-left: .3em solid #e2e2e2;
  margin-bottom: 1em;
  padding: 1em 2em 1em 1.7em;
  font-size: 1.2em;
  line-height: 1.6;
}

figcaption {
  font-size: var(--font-size-desktop--small);
  text-align: center;
  margin-top: 5px;
}

.container {
  padding: var(--spacing--xlarge) var(--spacing--container-desktop) var(--spacing--main);
  width: 100%;
  max-width: 160rem;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.container.is-guides {
  outline-offset: 0px;
  outline: 3px solid #ffecb5;
  height: 100%;
}

.container.is-taxi-test {
  justify-content: center;
  align-items: center;
  height: 100vh;
  display: flex;
}

.container.hero-home-container {
  height: 100%;
}

.container.about {
  padding-top: var(--spacing--main);
}

.container.utility {
  height: 100%;
}

.style__item {
  grid-column-gap: var(--spacing--main);
  grid-row-gap: var(--spacing--main);
  flex-flow: column;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: minmax(0, 1fr);
  justify-content: flex-start;
  place-items: end stretch;
}

.style__item.style__item--grid {
  grid-column-gap: var(--spacing--main);
  grid-row-gap: var(--spacing--main);
  grid-template-rows: auto;
  grid-template-columns: minmax(0, 1fr) 1fr 1fr 1fr 1fr 1fr;
}

.css-global {
  width: 0;
  height: 0;
  position: fixed;
  inset: 0% 0% auto;
  overflow: hidden;
}

.embed {
  position: fixed;
  inset: 0% 0% auto;
}

.rich-text {
  font-size: clamp(var(--font-size-mobile--main), var(--font-size-fluid--main), var(--font-size-fluid--main));
  text-wrap: balance;
}

.rich-text p {
  font-size: clamp(var(--font-size-mobile--main), var(--font-size-fluid--main), var(--font-size-fluid--main));
  margin-top: 0;
  margin-bottom: 1.4rem;
}

.rich-text h1 {
  margin-top: 0;
  margin-bottom: .4rem;
}

.rich-text h2, .rich-text h3, .rich-text h4, .rich-text h5, .rich-text h6 {
  margin-top: 2rem;
  margin-bottom: 1rem;
}

.rich-text a {
  font-weight: 600;
  text-decoration: underline;
}

.rich-text blockquote {
  font-size: var(--font-size-desktop--small);
  margin-top: 2rem;
  margin-bottom: 2rem;
  padding: 1rem 1.5rem;
}

.rich-text li {
  font-size: 1.2rem;
}

.rich-text ul {
  margin-top: 2rem;
  margin-bottom: 2rem;
  padding-left: 2rem;
}

.section {
  width: 100%;
  position: relative;
}

.page-wrapper {
  background-color: var(--color--white);
  opacity: 1;
  width: 100%;
  position: relative;
  overflow: clip;
}

.main-wrapper {
  background-color: var(--_vmi-color---vmi-arancione);
  opacity: 1;
}

.h1 {
  font-family: var(--font-family--heading);
  font-weight: 600;
  line-height: .95;
  font-size: clamp(var(--font-size-mobile--display), var(--font-size-fluid--display), var(--font-size-fluid--display));
}

.h2 {
  font-family: var(--font-family--heading);
  letter-spacing: -.02em;
  text-transform: uppercase;
  font-weight: 600;
  line-height: .95;
  font-size: clamp(var(--font-size-mobile--large), var(--font-size-fluid--large), var(--font-size-fluid--large));
}

.h3 {
  font-family: var(--font-family--heading);
  letter-spacing: -.02em;
  font-weight: 600;
  line-height: .95;
  font-size: clamp(var(--font-size-mobile--medium), var(--font-size-fluid--medium), var(--font-size-fluid--medium));
}

.h4, .h5 {
  font-family: var(--font-family--heading);
  font-weight: 400;
  line-height: 1.2;
  font-size: clamp(var(--font-size-mobile--main), var(--font-size-fluid--main), var(--font-size-fluid--main));
}

.h6 {
  font-family: var(--font-family--heading);
  font-weight: 400;
  font-size: clamp(var(--font-size-mobile--main), var(--font-size-fluid--main), var(--font-size-fluid--main));
}

.form__input {
  border: 1px solid #0003;
  border-radius: 0;
  height: 3em;
  margin-bottom: 1em;
  padding: 0 .9em;
  font-size: 1.25em;
}

.form__submit {
  font-size: 1.25em;
}

.text-large {
  font-size: var(--font-size-desktop--large);
  text-wrap: pretty;
}

.style__item--block {
  padding-top: var(--spacing--huge);
  padding-bottom: var(--spacing--large);
  grid-row-gap: var(--gap--small);
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.guides {
  z-index: -1;
  justify-content: flex-start;
  align-items: stretch;
  width: 100%;
  height: 100vh;
  position: fixed;
  inset: 0% 0% auto;
}

.grid-main {
  grid-column-gap: var(--spacing--main);
  grid-row-gap: var(--spacing--main);
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  width: 100%;
  display: grid;
}

.grid-main.is-overlay {
  grid-column-gap: var(--spacing--main);
  grid-row-gap: var(--spacing--main);
  height: 100%;
}

.grid-block {
  background-color: #aaaaaa1a;
  padding: 0;
}

.css-breakpoints {
  width: 0;
  height: 0;
  position: fixed;
  inset: 0% 0% auto;
  overflow: hidden;
}

.h-display {
  font-size: var(--text--eyebrow\<deleted\|variable-78e0f453-517b-9203-b404-66d3ccf47fef\>);
  text-transform: uppercase;
  line-height: 1;
}

.text-regular {
  text-wrap: pretty;
}

.text-small {
  font-size: var(--font-size-desktop--main);
  text-wrap: pretty;
}

.text-eyebrow {
  font-size: var(--text--eyebrow\<deleted\|variable-78e0f453-517b-9203-b404-66d3ccf47fef\>);
  letter-spacing: .05em;
  text-transform: uppercase;
  line-height: 1;
}

.btn-block {
  grid-column-gap: 1rem;
  align-items: center;
  display: flex;
}

.btn-wrap {
  position: relative;
}

.btn-wrap.is--submit {
  margin-top: var(--spacing--main);
}

.btn-inner {
  grid-column-gap: var(--spacing--xsmall);
  justify-content: flex-start;
  align-items: center;
  display: flex;
  position: relative;
}

.btn-inner.is--primary {
  border: 1px solid var(--color--black);
  border-radius: var(--radius--large\<deleted\|variable-cb40b4fe-3405-c18f-556a-58c7cb6b32c8\>);
  padding: 1em 1.6em;
}

.btn-inner.is--submit {
  pointer-events: none;
}

.text-xlarge {
  font-size: var(--font-size-desktop--display);
  text-wrap: pretty;
}

.text-button {
  text-transform: uppercase;
  font-family: AT A;
  font-size: 1.25em;
}

.cursor-w {
  z-index: 100;
}

.cursor-dot {
  width: 3em;
  height: 3em;
}

.css-editmode, .global-css {
  width: 0;
  height: 0;
  position: fixed;
  inset: 0% 0% auto;
  overflow: hidden;
}

.utility__page--w {
  justify-content: center;
  align-items: center;
  width: 100vw;
  max-width: 100%;
  height: 100vh;
  max-height: 100%;
  display: flex;
}

.utility__content--w {
  text-align: center;
  flex-direction: column;
  width: 260px;
  display: flex;
}

.caption__large--w {
  margin-bottom: var(--gap--small);
  padding: var(--spacing--small) var(--spacing--main);
  border-radius: var(--radius--small);
  background-color: var(--color--black);
  color: var(--color--white);
  font-size: var(--heading--h6\<deleted\|variable-211419a6-9735-1df7-0112-f084880b8b07\>);
  font-weight: 400;
  display: inline-block;
}

.text-xsmall {
  font-size: var(--font-size-desktop--small);
}

.caption__small--w {
  border: 1px solid var(--color--black);
  border-radius: var(--radius--small);
  padding: .4em 1.2em;
  display: inline-block;
}

.caption__small--w.is--red {
  background-color: var(--color--primary\<deleted\|variable-603f4f33-eae8-822f-e5d0-3f242f4229a9\>);
  color: var(--color--black);
  border-style: none;
}

.utility__form--w {
  flex-direction: column;
  align-items: stretch;
  display: flex;
}

.success__message {
  padding: var(--spacing--main);
  border: 1px solid var(--color--black);
  border-radius: var(--radius--large\<deleted\|variable-cb40b4fe-3405-c18f-556a-58c7cb6b32c8\>);
  text-align: left;
  background-color: #ddd0;
}

.style__caption--w {
  grid-column-gap: var(--gap--small);
  grid-row-gap: var(--gap--small);
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.display-none {
  display: none !important;
}

.visibility-hidden {
  visibility: hidden;
}

.screen-reader {
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
  width: 1px;
  height: 1px;
  position: absolute;
  overflow: hidden;
}

.image {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.style__text-box {
  grid-column-gap: 1rem;
  grid-row-gap: 1rem;
  aspect-ratio: 1;
  border-radius: var(--radius--small);
  border: 1px solid #00000040;
  justify-content: center;
  align-items: center;
  padding: 1.5rem;
  display: flex;
}

.style__text-box.auto {
  aspect-ratio: auto;
}

.style__eyebrow {
  grid-column-gap: .25rem;
  align-items: center;
  height: 1.5rem;
  margin-bottom: .75rem;
  display: flex;
}

.style__eyebrow--icon {
  color: #fff;
  background-color: #555;
  border-radius: 2px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 1.875rem;
  height: 1.5rem;
  display: flex;
}

.style__svg {
  object-fit: contain;
  border-radius: 4px;
  flex-flow: column;
  flex: none;
  justify-content: space-between;
  align-items: center;
  width: 1rem;
  height: 1rem;
  display: flex;
}

.style__eyebrow--label {
  color: #fff;
  background-color: #006acc;
  border-radius: 2px;
  flex: none;
  justify-content: center;
  align-items: center;
  height: 1.5rem;
  padding-left: .5rem;
  padding-right: .5rem;
  font-size: .75rem;
  line-height: 1;
  display: flex;
}

.style__eyebrow--label.html {
  background-color: #be4aa5;
}

.sg__type--line {
  background-color: currentColor;
  width: 1px;
  height: 3rem;
  transform: skew(-5deg);
}

.style__item--flex {
  grid-column-gap: 2rem;
  grid-row-gap: 2rem;
  flex-flow: wrap;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: flex;
}

.heading {
  font-size: var(--heading--h1\<deleted\|variable-e39e1961-40e5-1dac-07c5-ab0eca346a88\>);
  color: inherit;
}

.style__top {
  padding-bottom: var(--spacing--main);
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-bottom-color: inherit;
  width: 100%;
  margin-bottom: 2rem;
}

.style__item--grid {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  flex-flow: wrap;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.body-edit {
  background-color: var(--color--black);
  color: var(--color--white);
}

.heading-2, .heading-3, .heading-4, .heading-5 {
  color: inherit;
}

.style__container.container {
  padding-top: var(--spacing--huge);
}

.style__header {
  grid-column-gap: var(--spacing--xsmall);
  grid-row-gap: var(--spacing--xsmall);
  flex-flow: column;
  display: flex;
}

.style__subtitle.text-size-small {
  max-width: 42ch;
}

.text-size-small {
  font-size: clamp(var(--font-size-mobile--small), var(--font-size-fluid--small), var(--font-size-fluid--small));
}

.style__divider {
  margin-top: var(--spacing--medium);
  background-color: var(--color--white);
  width: 100%;
  height: .0625rem;
}

.style__list {
  padding-top: var(--spacing--xlarge);
  grid-column-gap: var(--spacing--xlarge);
  grid-row-gap: var(--spacing--xlarge);
  flex-flow: column;
  display: flex;
}

.style__title-wrapper {
  justify-content: flex-start;
  align-items: flex-end;
  display: flex;
}

.style__group {
  grid-column-gap: var(--spacing--medium);
  grid-row-gap: var(--spacing--medium);
  flex-flow: column;
  display: flex;
}

.style__group-header {
  margin-bottom: var(--spacing--medium);
}

.text-size-display {
  letter-spacing: -.02ch;
  font-weight: 600;
  line-height: .95;
  font-size: clamp(var(--font-size-mobile--display), var(--font-size-fluid--display), var(--font-size-fluid--display));
}

.text-size-large {
  letter-spacing: -.02ch;
  font-weight: 600;
  line-height: .95;
  font-size: clamp(var(--font-size-mobile--large), var(--font-size-fluid--large), var(--font-size-fluid--large));
}

.text-size-medium {
  letter-spacing: -.02ch;
  font-weight: 600;
  line-height: .95;
  font-size: clamp(var(--font-size-mobile--medium), var(--font-size-fluid--medium), var(--font-size-fluid--medium));
}

.text-size-main {
  line-height: 1.4;
  font-size: clamp(var(--font-size-mobile--main), var(--font-size-fluid--main), var(--font-size-fluid--main));
}

.text-weight-semibold {
  font-weight: 600;
}

.text-weight-regular {
  font-weight: 400;
}

.text-font-heading {
  font-family: var(--font-family--heading);
}

.navbar {
  z-index: 999;
  width: 100%;
  position: fixed;
}

.navbar__container.container {
  padding-top: var(--spacing--main);
  padding-bottom: var(--spacing--main);
}

.navbar__layout.grid-main {
  place-items: start stretch;
  position: relative;
}

.navbar__link.btn-wrap {
  cursor: pointer;
}

.navbar__logo {
  width: 7.5rem;
}

.navbar__info {
  position: relative;
}

.navbar__text.text-size-small {
  font-family: Lato, sans-serif;
}

.navbar__menu-btn {
  cursor: pointer;
  display: flex;
  position: relative;
}

.hero-home {
  vertical-align: super;
  width: 100%;
  height: 100vh;
}

.hero-home.section {
  background-color: var(--color--white);
  opacity: 1;
  height: auto;
  min-height: 100vh;
}

.hero-home__container.container {
  padding-top: var(--spacing--xlarge);
  padding-bottom: var(--spacing--main);
  opacity: 1;
  background-color: #cccae200;
  height: 100%;
}

.hero-home__layout.grid-main {
  height: 100%;
  position: relative;
}

.hero-home__title.h1 {
  mix-blend-mode: exclusion;
}

.hero-home__title.hero-home__title--superscript {
  position: relative;
}

.hero-home__title.hero-home__title--case-none {
  text-transform: none;
}

.hero-home__content {
  grid-column-gap: var(--spacing--huge);
  grid-row-gap: var(--spacing--huge);
  flex-flow: column;
  justify-content: flex-end;
  align-items: flex-start;
  display: flex;
}

.hero-home__visual {
  aspect-ratio: 1;
  border-radius: var(--radius--main);
  width: 100%;
  overflow: hidden;
}

.hero-home__img {
  will-change: transform;
}

.hero-home__paragraph.text-size-main {
  will-change: opacity;
}

.btn-line {
  background-color: var(--color--white);
  transform-origin: 0%;
  mix-blend-mode: exclusion;
  width: 100%;
  height: .125rem;
  position: absolute;
  inset: auto 0% -.75rem;
}

.about.section {
  opacity: 1;
  color: var(--color--black);
}

.hero-home__background {
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: var(--color--black);
  border-right-style: solid;
  border-right-width: 1px;
  border-right-color: var(--color--black);
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-bottom-color: var(--color--black);
  border-left-style: solid;
  border-left-width: 1px;
  border-left-color: var(--color--black);
  background-color: var(--_vmi-color---vmi-blue);
  background-image: linear-gradient(to bottom, var(--_vmi-color---vmi-blue), var(--_vmi-color---vmi-blue));
  opacity: 1;
  pointer-events: auto;
  transform-origin: 50% 100%;
  font-size: clamp(var(--font-size-mobile--main), var(--font-size-fluid--main), var(--font-size-fluid--main));
  -webkit-text-fill-color: inherit;
  mix-blend-mode: normal;
  will-change: backgroud-color, transform;
  background-clip: border-box;
  position: absolute;
  inset: 0%;
}


.hero-home__background2 {
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: var(--color--black);
  border-right-style: solid;
  border-right-width: 1px;
  border-right-color: var(--color--black);
  border-bottom-style: solid;
  border-bottom-width: 1px;
  border-bottom-color: var(--color--black);
  border-left-style: solid;
  border-left-width: 1px;
  border-left-color: var(--color--black);
  background-color: var(--_vmi-color---vmi-blue);
  background-image: linear-gradient(to bottom, var(--_vmi-color---vmi-blue), var(--_vmi-color---vmi-blue));
  opacity: 1;
  pointer-events: auto;
  transform-origin: 50% 100%;
  font-size: clamp(var(--font-size-mobile--main), var(--font-size-fluid--main), var(--font-size-fluid--main));
  -webkit-text-fill-color: inherit;
  mix-blend-mode: normal;
  will-change: backgroud-color, transform;
  background-clip: border-box;
  position: relative;
  inset: 0%;
  z-index: 25;
}

.about__background {
  background-color: var(--color--white);
  opacity: 1;
  pointer-events: none;
  -webkit-text-stroke-color: var(--color--black);
  will-change: backgroud-color;
  position: absolute;
  inset: 0%;
}

.about__layout.grid-main {
  align-items: start;
  position: relative;
}

.about__content {
  padding-top: var(--spacing--xlarge);
  padding-bottom: var(--spacing--xlarge);
  grid-column-start: inherit;
}

.about__content.grid-main {
  grid-row-gap: 0rem;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  grid-auto-columns: minmax(0, 1fr);
  align-content: start;
  align-items: stretch;
  height: 100%;
}

.about__visual {
  aspect-ratio: 3.2 / 9.6;
  width: 100%;
  position: relative;
}

.about__img {
  height: 100%;
  position: absolute;
  inset: 0%;
}

.about__header {
  margin-bottom: var(--spacing--xlarge);
}

.about__title.h2 {
  color: var(--color--white);
  mix-blend-mode: difference;
}

.about__btn-list {
  grid-column: 3 / span 4;
}

.about__subcontent {
  color: var(--color--white);
  mix-blend-mode: exclusion;
  grid-column: 1 / span 6;
  grid-auto-columns: 1fr;
  grid-template-columns: subgrid;
  grid-template-rows: subgrid;
  margin-top: 15rem;
  display: grid;
}

.about__paragraph.text-size-small {
  text-wrap: balance;
  grid-column: 3 / span 4;
}

.about__eyebrow.text-size-small {
  text-transform: uppercase;
}

.works__container.container {
  padding-top: var(--spacing--huge);
  font-size: clamp(var(--font-size-mobile--main), var(--font-size-fluid--main), var(--font-size-fluid--main));
  height: 110vh;
}

.works__background {
  background-color: var(--color--black);
  pointer-events: none;
  will-change: background-color;
  position: absolute;
  inset: 0%;
}

.works__layout.grid-main {
  grid-column-gap: var(--spacing--large);
  grid-row-gap: var(--spacing--large);
  align-content: space-between;
  align-items: start;
  min-height: 80vh;
  position: sticky;
  top: auto;
}

.works__header {
  padding-right: var(--spacing--medium);
}

.works__title.h1 {
  text-align: right;
}

.works__title.text-size-display {
  text-align: left;
  mix-blend-mode: exclusion;
}

.works__list {
  grid-column-gap: var(--gap--small);
  grid-row-gap: var(--gap--small);
  will-change: transform;
  display: flex;
}

.works__list.grid-main {
  grid-column-gap: var(--spacing--main);
  grid-row-gap: var(--spacing--main);
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.works__item {
  aspect-ratio: 7.89 / 5.09;
  border-radius: var(--radius--main);
  flex: none;
  width: 50%;
  position: relative;
  overflow: hidden;
}

.works__item.main {
  width: 100%;
}

.works__item.main:first-child {
  padding-top: var(--spacing--xlarge);
  grid-column: span 2;
}

.works__item-visual {
  pointer-events: none;
  position: absolute;
  inset: 0%;
}

.works__item-img {
  height: 100%;
  position: absolute;
  inset: 0%;
}

.works__item-content {
  padding: var(--spacing--large) var(--spacing--xsmall) var(--spacing--xsmall);
  flex-flow: column;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 100%;
  display: flex;
  position: relative;
}

.works__item-overlay {
  background-color: var(--color--black);
  opacity: .6;
  position: absolute;
  inset: 0%;
}

.works__content-visual {
  aspect-ratio: 4 / 2.6;
  border-radius: var(--radius--small);
  width: 50%;
  position: relative;
  overflow: hidden;
}

.works__content-infos {
  text-transform: uppercase;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  display: flex;
}

.works__content-img {
  height: 100%;
  position: absolute;
  inset: 0%;
}

.works__item-date {
  display: flex;
}

.works__services-list {
  grid-column-gap: var(--spacing--medium);
  grid-row-gap: var(--spacing--medium);
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.text-block {
  font-family: var(--font-family--main);
}

.services__container.container {
  padding-top: 20rem;
  padding-bottom: var(--spacing--xlarge);
}

.services__background {
  background-color: var(--color--black);
  pointer-events: none;
  will-change: background-color;
  position: absolute;
  inset: 0%;
}

.services__layout {
  grid-column-gap: var(--spacing--xlarge);
  grid-row-gap: var(--spacing--xlarge);
  flex-flow: column;
  display: flex;
}

.services__layout.grid-main {
  grid-column-gap: var(--spacing--xlarge);
  grid-row-gap: var(--spacing--xlarge);
  align-items: start;
}

.services__header {
  grid-column: 2 / span 10;
  align-self: center;
}

.services__title.h2 {
  text-align: center;
  max-width: 23ch;
}

.services__content.grid-main {
  grid-row-gap: 0rem;
}

.services__list.grid-main {
  grid-row-gap: 0rem;
  grid-template-columns: subgrid;
  grid-column: 1 / -1;
}

.services__item {
  padding: var(--spacing--medium) var(--spacing--xsmall);
  position: relative;
}

.services__item.grid-main {
  grid-template-columns: subgrid;
  align-items: center;
}

.services__item-divider {
  background-color: var(--color--white);
  width: 100%;
  height: .0625rem;
  position: absolute;
  inset: 0% 0% auto;
}

.services__item-title.h4 {
  font-family: var(--font-family--main);
  mix-blend-mode: exclusion;
}

.services__visual {
  z-index: 1;
  pointer-events: none;
  will-change: transform;
  position: relative;
}

.services__visual-inner {
  aspect-ratio: 1;
  border-radius: var(--radius--small);
  position: absolute;
  inset: -7rem 0% 0%;
  overflow: hidden;
}

.services__item-details {
  grid-column-gap: var(--spacing--xsmall);
  grid-row-gap: var(--spacing--xsmall);
  justify-content: flex-end;
  align-items: center;
  display: flex;
}

.services__details-wrapper {
  mix-blend-mode: exclusion;
  display: flex;
}

.services__wrapper.grid-main {
  grid-template-columns: subgrid;
  grid-column: 2 / -2;
}

.services__divider {
  background-color: var(--color--white);
  width: 100%;
  height: .0625rem;
}

.services__btn-list {
  margin-top: var(--spacing--xlarge);
}

.services__item-background {
  background-color: var(--color--white);
  transform-origin: 50% 100%;
  will-change: transform;
  transform-style: preserve-3d;
  position: absolute;
  inset: 0%;
  transform: scale3d(1, 0, 1);
}

.footer {
  color: var(--color--black);
  width: 100%;
  position: relative;
}

.footer__background {
  background-color: var(--color--white);
  pointer-events: none;
  will-change: backgroud-color;
  position: absolute;
  inset: 0%;
}

.footer__container.container {
  padding-top: var(--spacing--huge);
}

.footer__layout {
  grid-column-gap: var(--spacing--large);
  grid-row-gap: var(--spacing--large);
  text-align: center;
  flex-flow: column;
  align-items: center;
  display: flex;
}

.footer__title.h1 {
  color: var(--color--white);
  mix-blend-mode: exclusion;
}

.footer__content {
  grid-column-gap: var(--spacing--medium);
  grid-row-gap: var(--spacing--medium);
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.footer__text.text-size-main {
  text-wrap: balance;
  max-width: 26ch;
  font-family: Lato, sans-serif;
}

.footer__text.text-size-main.is--large {
  max-width: 26ch;
}

.footer__text.text-size-small {
  text-align: center;
  flex: 0 auto;
  justify-content: center;
  align-self: auto;
  align-items: center;
  font-family: Lato, sans-serif;
  display: flex;
}

.footer__divider {
  background-color: var(--color--black);
  width: 100%;
  height: .0625rem;
}

.footer__subcontent {
  width: 100%;
}

.footer__subcontent.grid-main {
  text-align: left;
  grid-auto-flow: row;
  justify-content: center;
  align-items: center;
  display: flex;
}

.footer__contact {
  grid-column-gap: var(--spacing--large);
  grid-row-gap: var(--spacing--large);
  flex-flow: column;
  display: flex;
}

.footer__contact-title.h2 {
  justify-content: center;
  align-items: center;
  display: flex;
}

.footer__contact-list {
  grid-column-gap: var(--spacing--medium);
  grid-row-gap: var(--spacing--medium);
  flex-flow: column;
  display: flex;
}

.footer__link-text.h3 {
  justify-content: center;
  align-items: center;
  display: flex;
}

.footer__legal {
  grid-column-gap: var(--spacing--large);
  grid-row-gap: var(--spacing--large);
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.footer__list-title.text-size-main {
  text-transform: uppercase;
}

.footer__sitemap-list {
  grid-column-gap: var(--spacing--large);
  grid-row-gap: var(--spacing--large);
  flex-flow: column;
  display: flex;
}

.footer__link-list {
  padding-top: var(--spacing--small);
  grid-column-gap: var(--spacing--xsmall);
  grid-row-gap: var(--spacing--xsmall);
  flex-flow: column;
  align-items: flex-start;
  display: flex;
}

.hero-home__title-line {
  overflow: hidden;
}

.home-hero__title-text {
  will-change: transform;
}

.home-hero__title-text.home-hero__title-text--line-height {
  line-height: 1.1;
}

.hero-home__cta-wrapper {
  will-change: opacity;
}

.cursor__wrapper {
  z-index: 9999;
  pointer-events: none;
  justify-content: center;
  align-items: center;
  position: fixed;
  inset: 0%;
}

.cursor {
  -webkit-backdrop-filter: blur(2.5rem);
  backdrop-filter: blur(2.5rem);
  background-color: #fff6;
  border-radius: 100vw;
  justify-content: center;
  align-items: center;
  width: 6rem;
  height: 6rem;
  display: flex;
  position: absolute;
  inset: 0% auto auto 0%;
}

.cursor__text.text-size-small {
  text-align: center;
  max-width: 8ch;
  font-family: Lato, sans-serif;
  line-height: .95;
}

.works__item-link {
  position: absolute;
  inset: 0%;
}

.navbar__menu {
  background-color: var(--color--black);
  transform-origin: 50% 0;
  transform-style: preserve-3d;
  width: 100%;
  min-height: 100vh;
  position: absolute;
  inset: 0%;
  transform: scale3d(1, 0, 1);
}

.navbar__menu-container.container {
  height: 100%;
}

.navbar__menu-layout.grid-main {
  align-items: start;
  height: 100%;
}

.navbar__menu-list {
  padding-top: var(--spacing--medium);
  grid-column-gap: var(--spacing--small);
  grid-row-gap: var(--spacing--small);
  grid-template-rows: auto;
  grid-auto-columns: 1fr;
  grid-template-columns: subgrid;
  grid-column: span 4;
  justify-content: start;
  justify-items: start;
  display: grid;
}

.navbar__menu-visual {
  aspect-ratio: 6.71 / 8.32;
  border-radius: var(--radius--main);
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.navbar__menu-img {
  height: 100%;
  position: absolute;
  inset: 0%;
}

.navbar__menu-item {
  grid-column-gap: var(--spacing--main);
  grid-row-gap: var(--spacing--main);
  grid-template-rows: auto;
  grid-auto-columns: 1fr;
  grid-template-columns: subgrid;
  justify-content: start;
  place-items: center start;
  font-family: Geist, sans-serif;
  display: grid;
}

.navbar__menu-item.w--current {
  justify-items: start;
}

.navbar__menu-glyph.text-size-large {
  font-weight: 400;
}

.navbar__menu-inner {
  opacity: .8;
  transition: opacity .4s;
  position: relative;
}

.navbar__menu-inner:hover {
  opacity: .9;
}

.navbar__menu-inner.w--current {
  opacity: 1;
}

.navbar__menu-line {
  background-color: var(--color--white);
  transform-origin: 0%;
  width: 100%;
  height: .125rem;
  position: absolute;
  inset: auto 0% -.75rem;
}

.hero__container.container {
  padding-top: var(--spacing--huge);
}

.hero__container.container.is--blog {
  padding-bottom: var(--spacing--large);
}

.hero__layout.grid-main {
  grid-row-gap: var(--spacing--large);
  align-items: start;
}

.hero__layout.grid-main.is--blog {
  grid-row-gap: 0rem;
}

.hero__title-line {
  overflow: hidden;
}

.hero__title-line.hero__title-line--large-height {
  line-height: 1.1;
}

.hero__title-text {
  will-change: transform;
}

.hero__title-text.is--first.hero__title-text--case-none {
  text-transform: none;
}

.hero__cta {
  will-change: opacity;
}

.hero__paragraph {
  text-wrap: balance;
  will-change: opacity;
}

.hero__paragraph.text-size-main {
  font-family: Lato, sans-serif;
}

.hero__visual {
  aspect-ratio: 13.76 / 4.79;
  border-radius: var(--radius--main);
  position: relative;
  overflow: hidden;
}

.hero__visual.hero__visual--blog {
  margin-top: var(--spacing--large);
}

.hero__img {
  height: 100%;
  position: absolute;
  inset: 0%;
}

.approach__container.container {
  padding-top: var(--spacing--huge);
  padding-bottom: var(--spacing--xlarge);
}

.approach__layout.grid-main {
  grid-row-gap: var(--spacing--large);
}

.approach__title.h2 {
  margin-bottom: var(--spacing--medium);
}

.team__list-wrapper {
  grid-column-gap: var(--spacing--main);
  grid-row-gap: var(--spacing--main);
  grid-template-rows: auto;
  grid-auto-columns: 1fr;
  grid-template-columns: subgrid;
  grid-column: 5 / span 8;
  display: grid;
}

.team__list {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  grid-template-rows: auto auto;
  grid-auto-columns: 1fr;
  grid-template-columns: subgrid;
  grid-column: 1 / span 8;
  display: grid;
}

.team__item {
  position: relative;
}

.approach__content {
  grid-column-gap: var(--spacing--main);
  grid-row-gap: var(--spacing--large);
  grid-auto-columns: 1fr;
  grid-template-columns: subgrid;
  grid-column: 5 / span 8;
  display: grid;
}

.approach__item {
  grid-column-gap: var(--spacing--medium);
  grid-row-gap: var(--spacing--medium);
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.approach__item-title.h4 {
  font-family: var(--font-family--main);
}

.approach__item-paragraph.text-size-small {
  text-wrap: balance;
  max-width: 45ch;
}

.team__container.container {
  padding-top: 0;
}

.team__item-visual {
  aspect-ratio: 4.38 / 5.11;
  width: 100%;
  position: relative;
  overflow: hidden;
}

.team__item-img {
  height: 100%;
  position: absolute;
  inset: 0%;
}

.team__item-inner {
  padding: var(--spacing--xsmall);
  opacity: 0;
  flex-flow: row;
  justify-content: flex-start;
  align-items: flex-end;
  transition: opacity .5s;
  display: flex;
  position: absolute;
  inset: 0%;
}

.team__item-inner:hover {
  opacity: 1;
}

.team__item-overlay {
  background-color: var(--color--black);
  opacity: .8;
  position: absolute;
  inset: 0%;
}

.team__item-content {
  grid-column-gap: var(--spacing--xsmall);
  grid-row-gap: var(--spacing--xsmall);
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  display: flex;
  position: relative;
}

.team__item-text.text-size-small {
  text-transform: uppercase;
}

.team__item-divider {
  background-color: var(--color--white);
  width: 100%;
  height: .0625rem;
}

.team__content {
  flex-flow: column;
  justify-content: space-between;
  display: flex;
}

.services-main__container.container {
  padding-top: 0;
}

.services-main__subsection {
  background-color: var(--color--black);
  width: 100%;
  height: 250vh;
  margin-bottom: -100vh;
}

.services-main__layout {
  padding-top: var(--spacing--large);
  width: 100%;
  height: 100vh;
}

.services-main__layout.grid-main {
  padding-bottom: var(--spacing--main);
  background-color: var(--color--black);
  align-content: start;
  align-items: start;
  position: sticky;
  top: 0;
}

.services-main__number.text-size-display {
  font-family: Geist, sans-serif;
  font-size: 17vw;
  line-height: .72;
}

.services-main__title.h2 {
  margin-bottom: var(--spacing--large);
}

.services-main__item {
  grid-column-gap: var(--spacing--medium);
  grid-row-gap: var(--spacing--medium);
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.services-main__item.services-main__item--right-padding {
  padding-left: var(--spacing--medium);
}

.services-main__item-title.h4 {
  font-family: var(--font-family--main);
}

.services-main__item-paragraph.text-size-small {
  text-wrap: balance;
}

.services-main__visual {
  margin-top: var(--spacing--medium);
  aspect-ratio: 13.78 / 3;
  border-radius: var(--radius--main);
  width: 100%;
  position: relative;
  overflow: hidden;
}

.services-main__img {
  height: 100%;
  position: absolute;
  inset: 0%;
}

.works-main__container.container {
  padding-top: 0;
}

.work-hero__container.container {
  padding-top: var(--spacing--huge);
}

.work-hero__layout {
  grid-column-gap: var(--spacing--medium);
  grid-row-gap: var(--spacing--medium);
  flex-flow: column;
  display: flex;
}

.work-hero__layout.grid-main {
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
}

.work-hero__title-wrapper {
  justify-content: flex-start;
  align-items: flex-end;
  display: flex;
}

.work-hero__services-wrapper {
  justify-content: space-between;
  width: 40%;
}

.work-hero__services-list {
  justify-content: space-between;
  display: flex;
}

.works-details__container.container {
  padding-top: 0;
}

.works-details__visual {
  aspect-ratio: 13.76 / 8.87;
  border-radius: var(--radius--main);
  width: 100%;
  position: relative;
  overflow: hidden;
}

.works-details__img {
  width: 100%;
  max-width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}

.works-details__layout {
  grid-column-gap: var(--spacing--large);
  grid-row-gap: var(--spacing--large);
  flex-flow: column;
  display: flex;
}

.works-details__title.h2 {
  text-wrap: balance;
  width: 90%;
}

.works-details__showcase-list.grid-main {
  grid-template-columns: 1fr 1fr;
}

.works-details__showcase-visual {
  aspect-ratio: 6.72 / 4.33;
  border-top-left-radius: var(--radius--main);
  border-top-right-radius: var(--radius--main);
  border-bottom-left-radius: var(--radius--main);
  border-bottom-right-radius: var(--radius--main);
  grid-column: span 1;
  position: relative;
  overflow: hidden;
}

.works-details__showcase-visual:last-child {
  grid-column: span 2;
}

.works-details__showcase-img {
  height: 100%;
  position: absolute;
  inset: 0%;
}

.blog__container.container {
  padding-top: 0;
}

.blog__articles {
  width: 100%;
}

.blog__articles-list.grid-main {
  grid-row-gap: var(--spacing--xlarge);
  grid-template-columns: 1fr 1fr;
}

.blog__articles-item {
  grid-column-gap: var(--spacing--main);
  grid-row-gap: var(--spacing--main);
  flex-flow: column;
  grid-column: span 1;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  display: flex;
  position: relative;
}

.blog__articles-item:first-child {
  grid-column: span 2;
}

.blog__articles-visual {
  aspect-ratio: 6.72 / 4.33;
  border-radius: var(--radius--main);
  width: 100%;
  position: relative;
  overflow: hidden;
}

.blog__articles-img {
  height: 100%;
  position: absolute;
  inset: 0%;
}

.blog__articles-content {
  grid-column-gap: var(--spacing--xsmall);
  grid-row-gap: var(--spacing--xsmall);
  flex-flow: row;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  display: flex;
}

.blog__articles-header {
  grid-column-gap: var(--spacing--small);
  grid-row-gap: var(--spacing--small);
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 64%;
  display: flex;
}

.blog__articles-title.h4 {
  font-family: var(--font-family--main);
}

.blog__article-paragraph.text-size-small {
  text-wrap: balance;
}

.blog__tags-list {
  grid-column-gap: var(--spacing--xsmall);
  grid-row-gap: var(--spacing--xsmall);
  text-align: right;
  flex-flow: column;
  justify-content: flex-start;
  display: flex;
}

.blog__articles-subcontent {
  flex-flow: column;
  justify-content: space-between;
  align-items: flex-end;
  display: flex;
}

.article-hero__container.container {
  padding-top: var(--spacing--huge);
}

.article-hero__layout {
  grid-column-gap: var(--spacing--medium);
  grid-row-gap: var(--spacing--medium);
  flex-flow: column;
  display: flex;
}

.article-hero__layout.grid-main {
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
}

.article-hero__subcontent {
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.article-hero__tags-list {
  grid-column-gap: var(--spacing--xsmall);
  grid-row-gap: var(--spacing--xsmall);
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.article-hero__visual {
  aspect-ratio: 13.76 / 7.35;
  border-radius: var(--radius--main);
  width: 100%;
  position: relative;
  overflow: hidden;
}

.article-hero__img {
  height: 100%;
  position: absolute;
  inset: 0%;
}

.article-content__layout {
  grid-column-gap: var(--spacing--large);
  grid-row-gap: var(--spacing--large);
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.article-content__rich-text {
  padding-left: var(--spacing--large);
  width: 75%;
}

.contact-hero__container.container {
  padding-top: var(--spacing--huge);
}

.contact-hero__layout.grid-main {
  grid-row-gap: var(--spacing--xlarge);
}

.contact-hero__header {
  grid-column-gap: var(--spacing--medium);
  grid-row-gap: var(--spacing--medium);
  text-align: center;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.contact-hero__subtitle {
  max-width: 59ch;
}

.contact-hero__subtitle.text-size-small {
  max-width: 69ch;
}

.contact-hero__subcontent {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  grid-template-rows: auto;
  grid-auto-columns: 1fr;
  grid-template-columns: subgrid;
  display: grid;
}

.contact-hero__infos {
  padding-top: var(--spacing--large);
  grid-column-gap: var(--spacing--medium);
  grid-row-gap: var(--spacing--medium);
  flex-flow: column;
  display: flex;
}

.contact-hero__visual {
  aspect-ratio: 7.89 / 4.36;
  border-radius: var(--radius--main);
  position: relative;
  overflow: hidden;
}

.contact-hero__img {
  height: 100%;
  position: absolute;
  inset: 0%;
}

.contact-main__container.container {
  padding-bottom: var(--spacing--xlarge);
}

.contact-main__layout.grid-main {
  justify-items: start;
}

.contact-main__title.h4 {
  font-family: var(--font-family--main);
}

.contact-main__form-wrapper {
  width: 100%;
}

.contact-main__form {
  flex-flow: column;
  align-items: flex-start;
  display: flex;
}

.contact-main__form-label.text-size-main {
  margin-bottom: var(--spacing--xsmall);
  letter-spacing: -.02em;
  text-transform: none;
  font-family: Geist Mono, sans-serif;
  font-weight: 400;
}

.contact-main__field {
  margin-bottom: var(--spacing--small);
  padding: var(--spacing--small) var(--spacing--xsmall);
  border-radius: var(--radius--small);
  font-size: var(--font-size-fluid--small);
  background-color: #0000;
  border: 1px solid #ffffff80;
  width: 100%;
}

.contact-main__field:focus {
  border-color: var(--color--white);
}

.contact-main__field::placeholder {
  color: #ffffffe6;
  font-size: var(--font-size-fluid--small);
}

.contact-main__form-select {
  margin-bottom: var(--spacing--small);
  padding: 0px var(--spacing--xsmall);
  border-radius: var(--radius--small);
  color: #fff9;
  background-color: #0000;
  border: 1px solid #ffffff80;
  height: 3rem;
}

.contact-main__form-select:focus {
  border-color: var(--color--white);
}

.contact-main__btn-submit {
  background-color: #0000;
  padding-left: 0;
  padding-right: 0;
  position: absolute;
  inset: 0%;
}

.utility-wrapper {
  width: 100%;
  height: 100vh;
}

.utility__container.container {
  padding-top: var(--spacing--huge);
  height: 100%;
}

.utility__header {
  grid-column-gap: var(--spacing--xsmall);
  grid-row-gap: var(--spacing--xsmall);
  grid-template-rows: auto auto;
  grid-auto-columns: 1fr;
  grid-template-columns: subgrid;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  display: grid;
}

.utility__title {
  text-align: center;
  text-transform: none;
}

.utility__header-text {
  align-self: flex-end;
}

.utility__layout {
  width: 100%;
}

.utility__layout.grid-main {
  grid-row-gap: var(--spacing--xlarge);
}

.utility__content {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  grid-template-rows: auto;
  grid-auto-columns: 1fr;
  grid-template-columns: subgrid;
  display: grid;
}

.utility__paragraph {
  text-wrap: balance;
}

.utility__visual {
  aspect-ratio: 9.06 / 4.42;
  border-top-left-radius: var(--radius--main);
  border-top-right-radius: var(--radius--main);
  border-bottom-left-radius: var(--radius--main);
  border-bottom-right-radius: var(--radius--main);
  grid-column: 1 / -1;
  width: 100%;
  position: relative;
  overflow: hidden;
}

.utility__img {
  position: absolute;
  inset: -180% 0% 0%;
}

.changelog__container.container {
  padding-top: var(--spacing--huge);
}

.changelog__header {
  grid-column-gap: var(--spacing--xsmall);
  grid-row-gap: var(--spacing--xsmall);
  flex-flow: column;
  display: flex;
}

.changelog__title.changelog__title-small.h2 {
  margin-bottom: var(--spacing--large);
}

.changelog__subtitle.text-size-small {
  max-width: 42ch;
}

.changelog__divider {
  margin-top: var(--spacing--small);
  background-color: var(--color--white);
  width: 100%;
  height: .0625rem;
}

.changelog__content {
  padding-top: var(--spacing--xlarge);
}

.changelog__list {
  grid-column-gap: var(--spacing--medium);
  grid-row-gap: var(--spacing--medium);
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.changelog__item {
  grid-column-gap: var(--spacing--medium);
  grid-row-gap: var(--spacing--medium);
  flex-flow: column;
  display: flex;
}

.changelog__title-paragraph {
  max-width: 22ch;
}

.blog__articles-link {
  position: absolute;
  inset: 0%;
}

.license__container.container {
  padding-top: var(--spacing--huge);
}

.license__header {
  grid-column-gap: var(--spacing--xsmall);
  grid-row-gap: var(--spacing--xsmall);
  flex-flow: column;
  display: flex;
}

.license__title.changelog__title-small.h2 {
  margin-bottom: var(--spacing--large);
}

.license__subtitle.text-size-small {
  max-width: 42ch;
}

.license__divider {
  margin-top: var(--spacing--small);
  background-color: var(--color--white);
  width: 100%;
  height: .0625rem;
}

.license__content-header {
  grid-column-gap: var(--spacing--main);
  grid-row-gap: var(--spacing--main);
  grid-template-rows: auto;
  grid-auto-columns: 1fr;
  grid-template-columns: subgrid;
  display: grid;
}

.license__content {
  padding-top: var(--spacing--xlarge);
}

.license__content-list {
  grid-column-gap: var(--spacing--medium);
  grid-row-gap: var(--spacing--medium);
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.license__content-item {
  grid-column-gap: var(--spacing--medium);
  grid-row-gap: var(--spacing--medium);
  flex-flow: column;
  justify-content: space-between;
  align-items: flex-start;
  height: 100%;
  display: flex;
}

.license__content-item.license__content-item--visual {
  aspect-ratio: 1;
  border-top-left-radius: var(--radius--small);
  border-top-right-radius: var(--radius--small);
  border-bottom-left-radius: var(--radius--small);
  border-bottom-right-radius: var(--radius--small);
  grid-column: span 3;
  position: relative;
  overflow: hidden;
}

.license__item-paragraph.text-size-small {
  text-wrap: balance;
  max-width: 40ch;
}

.license__content-img {
  height: 100%;
  position: absolute;
  inset: 0%;
}

.footer__link {
  position: relative;
}

.footer__link-line {
  background-color: var(--color--black);
  transform-origin: 0%;
  width: 100%;
  height: .0625rem;
  position: absolute;
  inset: auto 0% 0%;
}

.navbar__menu-underline {
  background-color: var(--color--white);
  transform-origin: 0%;
  width: 100%;
  height: .0625rem;
  position: absolute;
  inset: auto 0% -.25rem;
}

.privacy-policy__container.container {
  padding-top: var(--spacing--huge);
  padding-bottom: var(--spacing--xlarge);
}

.privacy-policy__header {
  grid-column-gap: var(--spacing--large);
  grid-row-gap: var(--spacing--large);
  flex-flow: column;
  display: flex;
}

.privacy-policy__layout {
  grid-column: 3 / -3;
}

.privacy-policy__title.h1 {
  text-transform: none;
}

.privacy-policy__divider {
  background-color: var(--color--white);
  width: 100%;
  height: .0625rem;
}

.privacy-policy__content {
  padding-top: var(--spacing--large);
}

.contact-main__form-success {
  padding: var(--spacing--xsmall);
  text-align: left;
  background-color: #0000;
}

.contact-main__form-error {
  margin-top: var(--spacing--main);
  padding: var(--spacing--xsmall);
  border-radius: var(--radius--small);
  background-color: var(--color--white);
  color: var(--color--black);
}

.body {
  background-color: var(--color--white);
  -webkit-text-fill-color: inherit;
  background-clip: border-box;
}

.background-video2 {
  opacity: 1;
  /* mix-blend-mode: soft-light; Rimosso il blend mode per i colori originali */
  mix-blend-mode: normal !important;
  width: 100%;
  height: 100%;
}


.background-video {
  opacity: 1;
  /* mix-blend-mode: soft-light; Rimosso il blend mode per i colori originali */
  mix-blend-mode: soft-light; /* Sostituito con 'normal' per essere espliciti */
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 991px) {
  p {
    font-size: clamp(var(--font-size-mobile--main), var(--font-size-fluid--main), var(--font-size-fluid--main));
  }

  li {
    font-size: 1.25rem;
  }

  label {
    font-size: .8rem;
  }

  blockquote {
    font-size: 1.2rem;
  }

  .style__item {
    grid-column-gap: var(--gap--mini\<deleted\|variable-c5e169f5-e0ec-4045-9f56-fa237abb5b38\>);
    grid-row-gap: var(--gap--mini\<deleted\|variable-c5e169f5-e0ec-4045-9f56-fa237abb5b38\>);
    justify-content: flex-start;
    align-items: flex-start;
    display: flex;
  }

  .style__item.is--2 {
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .rich-text p {
    font-size: 1.25rem;
  }

  .rich-text h1 {
    font-size: 3.28rem;
  }

  .rich-text h2 {
    font-size: 2.5rem;
  }

  .rich-text h3 {
    font-size: 2.19rem;
  }

  .rich-text h4 {
    font-size: 1.65rem;
  }

  .rich-text h5 {
    font-size: 1.25rem;
  }

  .rich-text h6, .form__input {
    font-size: 1rem;
  }

  .form__submit {
    font-size: 1.25rem;
  }

  .style__item--block {
    grid-row-gap: var(--gap--med\<deleted\|variable-196f1660-85b7-2eda-5ec8-e43ca0f5032d\>);
  }

  .grid-main.is-overlay {
    grid-column-gap: 1.25vw;
  }

  .text-eyebrow {
    font-size: 1rem;
  }

  .btn-inner.is--primary {
    padding: .8rem 1.5rem;
  }

  .text-button {
    font-size: var(--font-size-desktop--medium);
  }

  .cursor-w {
    display: none;
  }

  .style__eyebrow {
    width: 100%;
  }

  .navbar__layout.grid-main {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }

  .navbar__text.text-size-small {
    font-family: Lato, sans-serif;
  }

  .hero-home.section {
    height: 100svh;
  }

  .hero-home__layout.grid-main {
    grid-column-gap: var(--spacing--large);
    grid-row-gap: var(--spacing--large);
    flex-flow: row;
    justify-content: flex-start;
    align-items: flex-end;
    display: flex;
  }

  .hero-home__content {
    grid-column-gap: var(--spacing--large);
    grid-row-gap: var(--spacing--large);
  }

  .hero-home__paragraph.text-size-main {
    font-family: Lato, sans-serif;
  }

  .about__layout.grid-main {
    flex-flow: column;
    display: flex;
  }

  .about__content.grid-main {
    flex-flow: column;
    align-self: flex-start;
    align-items: flex-start;
    padding-top: 0;
    padding-bottom: 0;
    display: flex;
  }

  .about__visual {
    aspect-ratio: 1;
  }

  .about__header {
    margin-bottom: var(--spacing--small);
  }

  .about__title.h2 {
    max-width: 23ch;
  }

  .about__subcontent {
    margin-top: var(--spacing--medium);
    grid-column-gap: var(--spacing--xsmall);
    grid-row-gap: var(--spacing--xsmall);
    flex-flow: column;
    align-self: flex-start;
    max-width: 24ch;
    display: flex;
  }

  .about__eyebrow.text-size-small {
    order: -1;
  }

  .works__container.container {
    padding-top: var(--spacing--medium);
    padding-bottom: var(--spacing--xlarge);
    height: auto;
  }

  .works__layout.grid-main {
    grid-column-gap: var(--spacing--main);
    grid-row-gap: var(--spacing--large);
    flex-flow: column;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
    position: relative;
  }

  .works__title.text-size-display {
    text-align: left;
    max-width: 6ch;
  }

  .works__btn--list {
    align-self: flex-start;
    width: 100%;
  }

  .works__wrapper {
    width: 100%;
  }

  .works__list {
    flex-flow: column;
    width: 100%;
  }

  .works__item {
    width: 100%;
  }

  .services__container.container {
    padding-top: var(--spacing--xlarge);
  }

  .services__content.grid-main {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  }

  .services__visual {
    display: none;
  }

  .services__details-wrapper {
    justify-content: flex-end;
    align-items: center;
  }

  .services__wrapper.grid-main {
    grid-column: 1 / -1;
  }

  .footer__subcontent.grid-main {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  }

  .footer__contact {
    grid-column-gap: var(--spacing--large);
    grid-row-gap: var(--spacing--large);
  }

  .footer__contact-list {
    grid-column-gap: var(--spacing--main);
    grid-row-gap: var(--spacing--main);
  }

  .footer__sitemap-list {
    grid-column-gap: var(--spacing--small);
    grid-row-gap: var(--spacing--small);
  }

  .cursor__wrapper {
    display: none;
  }

  .navbar__menu {
    transform: scale3d(1, 0, 1);
  }

  .hero__layout.grid-main {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  }

  .hero__layout.grid-main.is--blog {
    grid-row-gap: var(--spacing--main);
  }

  .hero__title.h1 {
    width: 100%;
  }

  .approach__container.container {
    padding-bottom: var(--spacing--medium);
  }

  .approach__layout.grid-main {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  }

  .approach__title.h2 {
    text-wrap: balance;
    margin-bottom: 0;
  }

  .team__list-wrapper {
    grid-column: 3 / span 4;
  }

  .team__list {
    grid-column: 1 / span 4;
  }

  .approach__content {
    grid-column: 1 / span 6;
  }

  .team__layout.grid-main, .services-main__layout.grid-main {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  }

  .services-main__item.services-main__item--right-padding {
    padding-left: 0;
  }

  .services-main__visual {
    aspect-ratio: 13.78 / 8;
  }

  .contact-hero__layout.grid-main, .contact-main__layout.grid-main {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  }

  .utility__header {
    justify-content: flex-start;
    align-items: flex-start;
    display: flex;
  }

  .utility__title {
    text-align: left;
  }

  .utility__header-text.text-size-small {
    margin-right: var(--spacing--large);
  }

  .utility__layout.grid-main {
    flex-flow: column;
    display: flex;
  }

  .utility__content {
    grid-column-gap: var(--spacing--small);
    grid-row-gap: var(--spacing--small);
    flex-flow: column;
    display: flex;
  }

  .utility__paragraph.text-size-small {
    max-width: 30%;
  }

  .privacy-policy__grid.grid-main {
    flex-flow: column;
    display: flex;
  }
}

@media screen and (max-width: 767px) {
  .style__item {
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .text-eyebrow, .text-button {
    font-size: .8rem;
  }

  .hero-home.section {
    height: auto;
  }

  .hero-home__layout.grid-main {
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
  }

  .hero-home__header {
    width: 100%;
  }

  .hero-home__content {
    grid-column-gap: var(--spacing--medium);
    grid-row-gap: var(--spacing--medium);
  }

  .hero-home__visual {
    order: 1;
  }
	
.hero-home__visual2 {
    z-index: 10; /* Assicurati che sia sopra l'elemento di sfondo */
    position: relative; /* Assicura che z-index funzioni */
}

  .hero-home__paragraph.text-size-main {
    order: -1;
  }

  .about__subcontent {
    width: 100%;
    max-width: none;
  }

  .about__paragraph.text-size-small {
    max-width: 48ch;
  }

  .works__layout.grid-main {
    grid-row-gap: var(--spacing--medium);
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }

  .works__header {
    padding-right: 0;
  }

  .works__title.text-size-display {
    max-width: 6ch;
  }

  .works__wrapper {
    margin-top: var(--spacing--medium);
  }

  .services__content.grid-main {
    flex-flow: column;
    display: flex;
  }

  .services__item.grid-main {
    place-items: start stretch;
  }

  .services__item-details {
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-end;
  }

  .services__wrapper.grid-main {
    display: flex;
  }

  .footer__subcontent.grid-main {
    flex-flow: column;
    display: flex;
  }

  .footer__contact {
    grid-column-gap: var(--spacing--medium);
    grid-row-gap: var(--spacing--medium);
  }

  .footer__contact-list {
    margin-bottom: var(--spacing--medium);
  }

  .footer__legal {
    justify-content: space-between;
    align-items: center;
  }

  .footer__link-list {
    grid-column-gap: var(--spacing--medium);
    grid-row-gap: var(--spacing--medium);
    flex-flow: row;
  }

  .navbar__menu-layout.grid-main {
    flex-flow: column;
    justify-content: space-between;
    align-items: flex-start;
    display: flex;
  }

  .navbar__menu-list {
    padding-top: 0;
  }

  .navbar__menu-visual {
    aspect-ratio: 6.71 / 4;
    height: auto;
  }

  .services-main__subsection {
    height: auto;
    margin-bottom: 0;
  }

  .services-main__layout.grid-main {
    flex-flow: column;
    height: auto;
    display: flex;
  }

  .services-main__title.h2 {
    width: 100%;
  }

  .services-main__item-paragraph.text-size-small {
    max-width: 45ch;
  }

  .work-hero__services-wrapper {
    width: 50%;
  }

  .blog__articles-list.grid-main {
    grid-template-columns: 1fr;
  }

  .blog__articles-item:first-child {
    grid-column: span 1;
  }

  .contact-hero__layout.grid-main {
    grid-row-gap: var(--spacing--small);
    flex-flow: column;
    display: flex;
  }

  .contact-hero__subcontent {
    flex-flow: column;
    display: flex;
  }

  .contact-hero__infos {
    padding-top: var(--spacing--main);
    grid-column-gap: var(--spacing--small);
    grid-row-gap: var(--spacing--small);
    justify-content: flex-start;
    align-items: center;
  }

  .contact-main__layout.grid-main {
    flex-flow: column;
    display: flex;
  }

  .utility__title {
    max-width: 7ch;
  }

  .utility__header-text.text-size-small {
    align-self: flex-start;
  }

  .utility__paragraph.text-size-small {
    max-width: 50%;
  }

  .changelog__title.changelog__title-small.h2 {
    margin-bottom: var(--spacing--medium);
  }

  .changelog__content {
    padding-top: var(--spacing--large);
  }

  .changelog__list {
    grid-column-gap: var(--spacing--small);
    grid-row-gap: var(--spacing--small);
  }

  .license__title.changelog__title-small.h2 {
    margin-bottom: var(--spacing--medium);
  }

  .license__content {
    padding-top: var(--spacing--large);
  }

  .license__content.grid-main {
    flex-flow: column;
    display: flex;
  }

  .license__content-list {
    grid-column-gap: var(--spacing--small);
    grid-row-gap: var(--spacing--small);
  }
}

@media screen and (max-width: 479px) {
  .container {
    padding-right: var(--spacing--xsmall);
    padding-left: var(--spacing--xsmall);
  }

  .h-display {
    font-size: 6rem;
  }

  .btn-block {
    flex-wrap: wrap;
  }

  .navbar__layout.grid-main {
    place-items: center stretch;
  }

  .hero-home__paragraph.text-size-main {
    text-wrap: balance;
  }

  .about__title.h2 {
    max-width: none;
  }

  .works__list.grid-main {
    display: flex;
  }

  .works__item.main:first-child {
    padding-top: 0;
  }

  .works__item-content {
    padding-top: var(--spacing--medium);
  }

  .works__services-list {
    grid-column-gap: .5rem;
    grid-row-gap: .5rem;
  }

  .services__layout, .footer__layout {
    grid-column-gap: var(--spacing--medium);
    grid-row-gap: var(--spacing--medium);
  }

  .footer__title.h1 {
    font-size: 2.5rem;
  }

  .footer__text.text-size-small {
    text-align: center;
    flex-flow: row;
    justify-content: center;
    align-items: center;
    display: flex;
  }

  .footer__legal {
    flex-flow: column;
    justify-content: space-between;
    align-items: center;
  }

  .navbar__menu {
    transform: scale3d(1, 0, 1);
  }

  .navbar__menu-layout.grid-main {
    height: 70%;
  }

  .navbar__menu-list {
    width: 100%;
  }

  .hero__layout.grid-main {
    grid-row-gap: var(--spacing--medium);
    flex-flow: column;
    display: flex;
  }

  .hero__title-text.is--first, .hero__title-text.is--second {
    word-break: break-all;
  }

  .hero__cta {
    align-self: flex-start;
    width: 100%;
  }

  .hero__visual {
    aspect-ratio: 3 / 2;
  }

  .approach__container.container {
    padding-top: var(--spacing--medium);
  }

  .approach__layout.grid-main, .approach__content {
    grid-row-gap: var(--spacing--medium);
    flex-flow: column;
    display: flex;
  }

  .approach__item {
    grid-column-gap: var(--spacing--small);
    grid-row-gap: var(--spacing--small);
  }

  .team__layout.grid-main {
    flex-flow: column;
    display: flex;
  }

  .team__content {
    grid-column-gap: var(--spacing--main);
    grid-row-gap: var(--spacing--main);
  }

  .work-hero__services-wrapper {
    width: 80%;
  }

  .article-content__rich-text {
    width: 100%;
    padding-left: 0;
  }

  .contact-main__field::placeholder {
    font-size: var(--font-size-desktop--small);
  }

  .utility__title {
    max-width: 5ch;
  }

  .utility__layout.grid-main {
    grid-row-gap: var(--spacing--medium);
  }

  .license__title.changelog__title-small.h2 {
    margin-bottom: var(--spacing--xsmall);
  }

  .license__content-header {
    grid-column-gap: var(--spacing--xsmall);
    grid-row-gap: var(--spacing--xsmall);
    flex-flow: column;
    display: flex;
  }

  .license__content-item {
    margin-bottom: var(--spacing--main);
    grid-column-gap: var(--spacing--xsmall);
    grid-row-gap: var(--spacing--xsmall);
  }

  .privacy-policy__container.container {
    padding-bottom: var(--spacing--medium);
  }

  .privacy-policy__header {
    grid-column-gap: var(--spacing--medium);
    grid-row-gap: var(--spacing--medium);
  }

  .privacy-policy__content {
    padding-top: var(--spacing--medium);
  }
}

#w-node-_40f1404d-043d-2326-b86e-75b0a1d2d911-9a532438 {
  grid-column: span 6 / span 6;
  align-self: end;
}

#w-node-d3310bf6-5000-b93f-5038-30ca1d71a8b8-9a532438 {
  grid-area: 1 / 10 / 2 / 13;
}


#w-node-_5b03893a-46de-06cb-a55e-b2a7e84ccc67-9a532438, #w-node-_2a9ccbe9-6c9a-de1c-bfc3-658013413ca7-9a532438 {
  grid-column: span 9 / span 9;
}

#w-node-_65bce684-ac3d-c1ce-e1d5-b24974725b44-9a532438 {
  align-self: end;
}

#w-node-e3ec8190-ab97-e140-d4ed-d10add2b8f5e-9a532438 {
  grid-area: span 1 / span 2 / span 1 / span 2;
}

#w-node-_0f3862d4-a363-eea1-6d6c-fe7f6443767d-9a532438 {
  grid-column: span 3 / span 3;
}

#w-node-b968971a-5e92-55c8-615d-ce1de0888cd8-9a532438 {
  grid-column: span 9 / span 9;
}

#w-node-c3494770-3788-f668-7f93-be841566cb09-9a532438 {
  grid-column: span 3 / span 3;
  place-self: end;
}

#w-node-_33f6f84b-e574-e97e-2c8f-12b20c52a5a7-0c52a592 {
  grid-column: span 4 / span 4;
  align-self: auto;
}

#w-node-d7c7a1c2-aedf-f086-6e1f-b8c1a40b1714-b88f48cd {
  grid-area: span 1 / span 3 / span 1 / span 3;
}

#w-node-b27d9e84-85e2-4070-4323-4db5d713c934-b88f48cd {
  justify-self: end;
}

#w-node-ff5fcea1-d939-f782-f34f-1d1e81bbfefe-b88f48cd {
  justify-self: start;
}

#w-node-_3409fef5-a71b-32b5-d6f6-fb41314f62cb-b88f48cd {
  grid-area: span 1 / span 4 / span 1 / span 4;
}

#w-node-_3409fef5-a71b-32b5-d6f6-fb41314f62cc-b88f48cd {
  justify-self: end;
}

#w-node-_3409fef5-a71b-32b5-d6f6-fb41314f62ce-b88f48cd {
  justify-self: start;
}

#w-node-c27f82bc-e813-0af7-ff5f-3ba69745e46e-b88f48cd {
  grid-area: span 1 / span 4 / span 1 / span 4;
}

#w-node-c27f82bc-e813-0af7-ff5f-3ba69745e46f-b88f48cd {
  justify-self: end;
}

#w-node-c27f82bc-e813-0af7-ff5f-3ba69745e471-b88f48cd {
  justify-self: start;
}

#w-node-c1352cbe-cdd6-f416-4b10-cd982d13ae5d-b88f48cd {
  grid-area: span 1 / span 4 / span 1 / span 4;
}

#w-node-c1352cbe-cdd6-f416-4b10-cd982d13ae5e-b88f48cd {
  justify-self: end;
}

#w-node-c1352cbe-cdd6-f416-4b10-cd982d13ae60-b88f48cd {
  justify-self: start;
}

#w-node-_7b9e5e0d-d7f3-c4e1-9045-9f766449ef0a-b88f48cd {
  grid-area: 1 / 7 / 2 / 13;
}

#w-node-_48986b36-4a77-63c9-58f8-3b5eb88f48d0-b88f48cd {
  grid-column: span 2 / span 2;
  align-self: start;
}

#w-node-_48986b36-4a77-63c9-58f8-3b5eb88f48d4-b88f48cd {
  grid-area: 1 / 10 / 2 / 12;
}

#w-node-_48986b36-4a77-63c9-58f8-3b5eb88f48d7-b88f48cd {
  grid-area: 1 / 12 / 2 / 13;
  justify-self: end;
}

#w-node-_0b201633-81f5-97b8-73da-ebf2ef33db60-9a53243a {
  grid-column: span 12 / span 12;
}

#w-node-eea0c69c-d82c-c157-2567-d7ee5c601326-9a53243a {
  grid-area: span 1 / span 12 / span 1 / span 12;
}

#w-node-_90b13edd-1b49-f70b-a391-43686c1b2179-9a53243a {
  grid-area: 2 / 11 / 2 / 12;
  justify-self: end;
}

#w-node-_49331c98-7fe2-fbaf-d072-27827a912470-9a53243a {
  grid-area: 2 / 3 / 2 / 11;
}

#w-node-_43e55d0d-f2ee-86a7-1ef0-e8474c472504-9a53243a {
  grid-area: span 1 / span 4 / span 1 / span 4;
}

#w-node-_0895025f-6df9-5a43-e2d8-2dd53a2c844e-9a53243a {
  grid-area: 1 / 6 / 2 / 11;
  justify-self: end;
}

#w-node-_7cea5cf9-6b62-7ee4-bba0-27a18012b076-9a53243f {
  grid-column: span 3 / span 3;
}

#w-node-_33a458b3-2847-916d-f52a-cc4a9f49db94-9a53243f {
  grid-column: span 9 / span 9;
}

#w-node-_33a458b3-2847-916d-f52a-cc4a9f49db9c-9a53243f {
  grid-column: span 12 / span 12;
  align-self: end;
}

#w-node-_9e9c6dc6-7439-f04e-89be-69f737319bd8-9a532445 {
  grid-column: span 12 / span 12;
}

#w-node-_9e9c6dc6-7439-f04e-89be-69f737319be1-9a532445 {
  grid-column: span 4 / span 4;
  place-self: end start;
}

#w-node-_9e9c6dc6-7439-f04e-89be-69f737319be4-9a532445 {
  grid-column: span 6 / span 6;
}

#w-node-_9e9c6dc6-7439-f04e-89be-69f737319be6-9a532445 {
  grid-column: span 12 / span 12;
}

@media screen and (max-width: 991px) {
  #w-node-_65bce684-ac3d-c1ce-e1d5-b24974725b44-9a532438 {
    order: 0;
  }

  #w-node-b968971a-5e92-55c8-615d-ce1de0888cd8-9a532438 {
    grid-column: span 3 / span 3;
  }

  #w-node-c3494770-3788-f668-7f93-be841566cb09-9a532438 {
    grid-column: span 3 / span 3;
    justify-self: end;
  }

  #w-node-_33f6f84b-e574-e97e-2c8f-12b20c52a5a7-0c52a592 {
    grid-column: span 3 / span 3;
  }

  #w-node-_48986b36-4a77-63c9-58f8-3b5eb88f48d0-b88f48cd {
    grid-column: span 1 / span 1;
  }

  #w-node-_48986b36-4a77-63c9-58f8-3b5eb88f48d4-b88f48cd {
    grid-column: 3 / 4;
    justify-self: end;
  }

  #w-node-_48986b36-4a77-63c9-58f8-3b5eb88f48d7-b88f48cd {
    grid-column: 4 / 5;
    grid-row-start: 1;
  }

  #w-node-_33a458b3-2847-916d-f52a-cc4a9f49db94-9a53243f {
    grid-column: span 3 / span 3;
  }

  #w-node-_33a458b3-2847-916d-f52a-cc4a9f49db9c-9a53243f, #w-node-_9e9c6dc6-7439-f04e-89be-69f737319bd8-9a532445 {
    grid-column: span 6 / span 6;
  }

  #w-node-_9e9c6dc6-7439-f04e-89be-69f737319be1-9a532445 {
    grid-area: 2 / 1 / 2 / 5;
  }

  #w-node-_9e9c6dc6-7439-f04e-89be-69f737319be4-9a532445 {
    grid-area: 3 / 1 / 4 / 7;
  }

  #w-node-_9e9c6dc6-7439-f04e-89be-69f737319be6-9a532445 {
    grid-column: span 6 / span 6;
  }
}

@media screen and (max-width: 767px) {
  #w-node-b968971a-5e92-55c8-615d-ce1de0888cd8-9a532438, #w-node-_33a458b3-2847-916d-f52a-cc4a9f49db94-9a53243f, #w-node-_33a458b3-2847-916d-f52a-cc4a9f49db9c-9a53243f {
    grid-column: span 4 / span 4;
  }
}

@media screen and (max-width: 479px) {
  #w-node-_48986b36-4a77-63c9-58f8-3b5eb88f48d4-b88f48cd {
    grid-column-start: 2;
  }
}


@font-face {
  font-family: 'Geist';
  src: url('../fonts/Geistwght.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Geist Mono';
  src: url('../fonts/GeistMonowght.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

/* -- AGGIUNTA DEL PROGRAMMATORE MAESTRO per GIF Menu -- */
.navbar__menu-img.is--gif-style {
  /* Rimuove il caricamento pigro e garantisce che l'immagine sia prioritaria */
  object-fit: cover;
  /* Blend mode per farla interagire col fondo nero del menu */
  mix-blend-mode: screen; 
  /* Aggiunge un sottile effetto di granulosità per un look vintage/tech */
  filter: grayscale(20%) brightness(130%) contrast(110%);
}

.navbar__menu-visual {
    /* Aggiunge una leggera sfocatura al contenitore per mitigare la durezza dell'animazione */
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
}