@charset "UTF-8";
:root {
   --app-height: 100%;
}
:root {
    --primary-blue: #00d4ff;
    --secondary-blue: #0099cc;
    --dark-bg: #0a0e1a;
    --darker-bg: #050812;
    --light-text: #ffffff;
    --gray-text: #a0a8b8;
    --accent-glow: rgba(0, 212, 255, 0.3);
}

/*! locomotive-scroll v3.5.4 | MIT License | https://github.com/locomotivemtl/locomotive-scroll */
html.has-scroll-smooth {
  overflow: hidden; }

html.has-scroll-dragging {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.has-scroll-smooth body {
  overflow: hidden; }

.has-scroll-smooth [data-scroll-container] {
  min-height: 100vh; }

.c-scrollbar {
  position: absolute;
  right: 0;
  top: 0;
  width: 11px;
  height: 100vh;
  transform-origin: center right;
  transition: transform 0.3s, opacity 0.3s;
  opacity: 0; }
  .c-scrollbar:hover {
    transform: scaleX(1.45); }
  .c-scrollbar:hover, .has-scroll-scrolling .c-scrollbar, .has-scroll-dragging .c-scrollbar {
    opacity: 1; }

.c-scrollbar_thumb {
  position: absolute;
  top: 0;
  right: 0;
  background-color: black;
  opacity: 0.5;
  width: 7px;
  border-radius: 10px;
  margin: 2px;
  cursor: -webkit-grab;
  cursor: grab; }
  .has-scroll-dragging .c-scrollbar_thumb {
    cursor: -webkit-grabbing;
    cursor: grabbing; }
@font-face {
  font-family: "architekt";
  src: url("../lunar/font/architekt.woff") format("woff");
}
@font-face {
  font-family: "robert";
  src: url("../lunar/font/robert.woff") format("woff");
}
html,body {background:black;}
* {margin:0; padding:0; outline:0; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-weight:normal; color:#DCDCCD; text-decoration:none; font-family: "robert"; font-size:14px; line-height:20px; list-style:none;}
b,.bold,.bold * {font-weight:bold;}
.mono,.mono * {font-family: "architekt";}

.font_xs,.font_xs * {font-size:14px; line-height:20px;}
.font_s,.font_s * {font-size:18px; line-height:30px;}
.font_m,.font_m * {font-size:28px; line-height:28px;}
.font_l,.font_l * {font-size:40px;letter-spacing: -1.5px;line-height:40px;}
.font_xl,.font_xl * {font-size:80px;line-height:80px;letter-spacing: -2px;}
.font_xxl,.font_xxl * {font-size:160px; line-height:160px; letter-spacing:-4px;}
.center {text-align:center;}
.marginb_m {margin-bottom:80px;}
.marginb_s {margin-bottom:40px;}
.margint_l {margin-top:155px;}
.marginb_xs {margin-bottom:20px;}

.ancora,#menu-c-mobile a {color:#6E6E6E;transition:color 0.8s ease;cursor:pointer;position: relative;}
.ancora.attivo, .ancora:hover,#menu-c li a:hover {color:#DCDCCD;}
img {display: block;width: 100%;height: auto; }
.padding {padding-left:120px; padding-right:120px;}
.paddingb {padding-bottom:120px;}

.flex {display: flex;justify-content: space-between;align-items: center;}
.section-try {
    height: 100vh;
    background: #1b1b1b;
		height: 100vh;
}

div#logo img {
    width: 200px;
}

div#menu-c li {
    display: inline-block;
    margin-left: 70px;
}

div#menu-c li:first-of-type {
    margin-left: 0;
}

.botton-flex {
    align-items: end;
    position: relative;
}
footer a {
    transition: color 0.8s ease;
}

footer a:hover {
    color: #6E6E6E;
}
header#menu {
    height: 60px;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    /* background: rgb(0 0 0 / 80%); */
    z-index: 10;
    /* -webkit-backdrop-filter: blur(20px); */
    /* backdrop-filter: blur(20px); */
    height: 80px;
}

footer {
    padding-top: 120px;
}
.ancora:before,#menu-c li a:before {content: '';position: absolute;bottom: -4px;height: 1px;background: #DCDCCD;width: 0;transition: width 0.6s ease;}

.attivo.ancora:before, .ancora:hover:before,#menu-c li a:hover:before {
    width: 100%;
}





#smooth-container {
	opacity:0;
	transition:opacity 1s ease;
}
#smooth-container.show {opacity:1 !important;}
.w100 {width:100%;}
.logo-container {
    height: calc(100vh - 240px);
    display: flex;
    align-items: flex-end;
    padding: 120px;
}
.center-title {
    position: absolute;
    top: 50%;
    max-width: 1070px;
    left:50%;
    transform:translate(-50%,-50%);
    width: 100%;
}
.logo-in-page {
    width: 100%;
}
.canvas-imgs {
	display:block;
	object-fit:contain;
	width: 80%;
	height: 80%;
	margin: 0 auto;
	margin-bottom:-80px;
}


/*html, body {
  margin: 0;
  height: 100%;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
  font-family: "Signika Negative", sans-serif, Arial;
}*/

.panel {
	width: 100%;
	height: 100%;
	position: relative;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	text-align: center;
}

/*body {
  overflow-x: hidden;
  overflow-y: scroll;
}*/

.panel {
  height: 100vh;
	height: 100vh;
}
.w80 {max-width: 1070px;margin: 0 auto;}
.gray,.gray * {color:#6E6E6E;}

.plus {
    z-index: 10;
    position: absolute;
    top: 160px;
    left: 120px;
    width: 100px;
}

.plus:before {content: '';width: 100px;height: 1px;background: #6E6E6E;position: absolute;top: 0;left: 0;}

.plus:after {
    content: '';
    width: 1px;
    height: 100px;
    background: #6E6E6E;
    position: absolute;
    top: -50px;
    left: 50px;
}

.plus.plus2 {
    left: auto;
    right: 120px;
}

.plus.plus3 {
    top: auto;
    bottom: 160px;
}

.plus.plus4 {
    right: 120px;
    left: auto;
    bottom: 160px;
    top: auto;
}
#titolo5 {opacity:0; }
div#titolo4 {
    opacity: 0;
    margin-top: 60px;
}
h1#titolo {
    margin-top: 170px;
    z-index: 10;
    position: relative;
    margin-bottom: 30px;
}
.relative {position:relative;}
#canvas {width:800px; height:800px;}
.inner-suono {
	height:70px;
	background-image:url(../lunar/img/linea.svg);
	animation: loading 500000s linear infinite;
	background-size: auto 70px;
}
.suono-container {
    margin-bottom: 40px;
}
.step5 {
  background-image:
    repeating-linear-gradient(#323232 0 1px, transparent 1px 100%),
    repeating-linear-gradient(90deg, #323232 0 1px, transparent 1px 100%);
  background-size: 14.28vw 14.28vw;
  position: relative;
  z-index: 2;
	border-bottom:1px solid #323232;
}
div#titolo8 {
    position: absolute;
    top: 50%;
    left: 100%;
    width: auto;
    font-size: 400px;
    transform: translate(0,-50%);
    letter-spacing: -25px;
    z-index: 2;
    min-width: 100%;
}
div#titolo_8s {
    white-space: nowrap;
    position: absolute;
    top: 50%;
    left: 100%;
    width: auto;
    transform: translate(0,-50%);
    letter-spacing: -4px;
    z-index: 2;
    min-width: 100%;
}
.text-center {
    text-align: center;
}
.suono {/* margin-top: 140px; *//* margin-bottom: -200px; */position: absolute;bottom: 40px;left: 0;right: 0;}
@keyframes loading{
    0% {
        background-position: 0 0;
    }
    100% {
        background-position: -10000000% 0;
    }
}

canvas#hero-lightpass3 {
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 10;
    position: relative;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
	z-index: -1;
}
video#image1 {
    margin-top: -10vw;
    position: relative;
    z-index: 0;
    width: 30%;
    float: right;
    padding-bottom: 5vw;
    margin-right: 10vw;
}

div#titolo9,div#titolo10 {
    z-index: 2;
    position: relative;
    clear: both;
}
.step5 {padding-top: 400px;height: 17vw;}
video#image2 {
    padding-top: 0vw;
    margin-left: 10vw;
    width: 30%;
    margin-bottom: -400px;
}


.grid3,.grid3-2 {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    grid-column-gap: 120px;
    margin: 0 120px;
}
.grid4 {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    grid-column-gap: 120px;
    margin: 0 120px;
}

.grid3 img, .grid4 img {
    width: 100px;
}
.panel.step4 {
    margin-top: 250px;
    overflow: hidden;
}
.step3 .w100 {
    transform: translate(0,140px);
}
canvas#hero-lightpass4 {
    position: absolute;
    left: 20%;
    width: auto;
    height: 85vh;
    top: 12vh;
    transform: translate(-50%,0);
}

.step6 {
    position: relative;
    min-height: 100vh;
		min-height: 100vh;
}

.right-info {
    width: calc(55% - 120px);
    margin-left: 45%;
    padding-top: 12.5vh;
}

.maarginb_l {
    margin-bottom: 140px;
}
.ruota-finta {
    padding-top: 100%;
    position: relative;
}

.testo-ruota {
    position: absolute;
    top: 50%;
    transform: translate(-50%,-50%);
    left: 50%;
}

.ruota-finta:before {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border-radius: 50%;
    border: 1px solid #6E6E6E;
    content: '';
}

.ruota-finta:after {
    width: 70%;
    height: 70%;
    position: absolute;
    top: 15%;
    left: 15%;
    right: 0;
    bottom: 0;
    border-radius: 50%;
    border: 1px solid #6E6E6E;
    content: '';
}
.rotate2 {
    transform: translate(-50%,-50%) rotate(45deg);
}
.rotate3 {
    transform: translate(-50%,-50%) rotate(105deg);
}
.move-step8 {
    padding-top: 300px;
}

.button a {
    border: 1px solid white;
    display: inline-block;
    padding: 6px 40px 9px 40px;
    border-radius: 50px;
    cursor: pointer;
    transition: color 0.5s ease, background 0.5s ease;
}

.button a:hover {
    background: white;
    color: black;
}
/*html,body {overflow-x:hidden;}*/
canvas#hero-lightpass2 {
    position: absolute;
    top: 50%;
    left: 50%;
    right: 0;
    bottom: 0;
    transform: translate(-50%,-50%);
    width: 100%;
    height: 100%;
	filter: brightness(0.4); 
}
.panel.step2 .w100 > div {
    display: flex
;
    flex-direction: column;
    gap: 1em;
}
img.marginb_s {
    height: 100px;
}
.step7 {
    margin-top: 20vh;
}
canvas#hero-lightpass {
    width: 90%;
    height: 90%;
}
.suono {
    display: none !important;
}
footer.padding.paddingb {
    padding-bottom: 50px;
}
.colonne3-c {
    margin-top: 5vh;
}
.scroll-top {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%,0);
	cursor:pointer;
}
.scroll-top img {
    width: 20px;
}
.grid3, .grid4 {
    margin-bottom: 100px;
}
div#engines2 {
    margin-top: 0;
}
div#engines {
	/* margin-bottom:40vh; */
	margin-top:20vh;
}
div#culture {
    margin-bottom: 5vh;
}
div#model {
    margin-bottom: 5vh;
}
.step7 {margin-bottom:25vh;}
.right-info p {
    margin-bottom: 30px;
}

.right-info p:last-of-type {
    margin-bottom: 0;
}
#menu-c-mobile {display:none;}
#burger {display:none;}
.step7 {
	height:100vh !important;
}
#ombra {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgb(0,0,0);
    background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,1) 100%);
    height: 40px;
    display: block;
    z-index: 10;
}
#ombra {display:none;}
div#menu-c li a {
    color: #6E6E6E;
    transition: color 0.8s ease;
    cursor: pointer;
    position: relative;
}

@media all and (min-width:901px) {
	.step7 {
		height:100vh !important;
	}
}
@media all and (max-width:900px){
	
	.move-step8 {
	    padding-bottom: 150px;
	}

	.step7 {
	    margin-left: 30px;
	    margin-right: 30px;
	}

	.grid3-2 .colonna {
	    margin-bottom: 40px;
	}
	.logo-container {
	    padding: 30px;
/*	    height: calc(100vh -  60px);*/
		height: calc(100vh -  110px);
			
	}
	canvas#hero-lightpass4 {
	    position: relative;
	    left: 0;
	    transform: none;
	    height: auto;
	    width: 80%;
	    top: auto;
	    margin-bottom: 30px;
	}
	.grid3, .grid3-2, .grid4 {
	    display: block;
	    margin: 0 60px;
	}
	.plus:before {
	    width: 50px;
	    top: -25px;
	}

	.plus:after {
	    height: 50px;
	    left: 25px;
	}

	.grid3, .grid3-2, .grid4 {
	    margin: 0 30px;
	}

	.grid3 img {
	    margin: 0 auto;
	    margin-bottom: 30px;
	}

	.grid4 img {
	    margin: 0 auto;
	    margin-bottom: 30px;
	}

	.font_xs.gray.mono.marginb_xs {
	    text-align: center;
	}

	.colonna {
	    text-align: center;
	}

	.colonna .font_s {
	    text-align: left;
	}

	.right-info {
	    width: auto;
	    margin: 0 30px;
	}

	.maarginb_l {
	    margin-bottom: 20px;
	}

	.right-info {
	    text-align: left;
	}

	.right-info .gray.font_s.text {
	    text-align: left;
	}
	.colonna {
	    margin-bottom: 100px;
	}

	canvas#hero-lightpass3 {
	    width: 70%;
	    height: 50%;
	}

	.canvas-imgs {
	    width: 100%;
	    height: 100%;
	}

	.plus {
	    top: 110px;
	    left: 30px;
	}

	.plus.plus2 {
	    right: -15px;
	}

	.plus.plus3 {
	    bottom: 50px;
	}

	.plus.plus4 {
	    bottom: 50px;
	    right: -15px;
	}
	header#menu {
	    padding: 0 30px;
	    height: 50px;
	    z-index: 100;
	}

	div#menu-c {
	    display: none;
	}

	.font_l, .font_l * {
	    font-size: 28px;
	    line-height: 28px;
	}

	.font_xl, .font_xl * {
    font-size: 44px;
    line-height: 44px;
	}

	canvas#hero-lightpass {
	    width: 120%;
	    height: 120%;
	    left: 50%;
	    transform: translate(-50%,0);
	    position: relative;
	}

	div#titolo3 {
	    margin-left: 20px;
	    margin-right: 20px;
	}

	.padding {
	    padding: 30px;
	}

	footer.padding.paddingb {
	    display: block;
	}

	.botton-flex {
	    display: block;
	}
	.center-title {
	    left: 20px;
	    right: 20px;
	    transform: translate(0,-50%);
			width:auto;
	}
	div#titolo5 {
	    font-size: 44px;
	    line-height: 44px;
	    letter-spacing: -1px;
	}
	div#titolo8 {
	    font-size: 120px;
	    letter-spacing: -1px;
	}
	.smooth-scroll {
	    overflow-x: hidden !important;
	}
	canvas#hero-lightpass2 {
	    width: 100%;
	    height: 100%;
	}

	div#titolo4 {
	    font-size: 44px;
	    line-height: 44px;
	    letter-spacing: -1px;
	}

	div#titolo6 br {
	    display: none;
	}

	.inner-suono {
	    animation: loading 3000000s linear infinite;
	}

	div#titolo9 {
	    left: 20px;
	    right: 20px;
	    width: calc(100% - 40px);
	}

	video#image1 {
	    width: 50%;
	    margin-top: -20vw;
	    padding-bottom: 14vw;
	}

	video#image2 {
	    width: 50%;
	    margin-bottom: 0;
	    padding-top: 20vw;
	}

	.step5 {
	    height: 157vw;
	    margin-bottom: 70vw;
	}
	.step7 {position:relative;}
	.step7 .center-title {
	    position: relative;
	    top: 0;
	    left: 0;
	    transform: translate(0,0);
	}

	.scroll-top {
	    left: auto;
	    right: 0;
	    transform: translate(0,0);
	}
	div#smooth-container {
	    overflow: hidden !important;
	}
	div#menu-c-mobile {
	    position: fixed;
	    top: 0;
	    left: 0;
	    right: 0;
	    bottom: 0;
	    transform: translate(0,-100%);
	    opacity: 0;
	    transition: all 0.8s ease;
	    text-align: center;
	    z-index: 99;
	    background: black;
	}

	.burger-out div#menu-c-mobile {
	    transform: translate(0,0);
	    opacity: 1;
	}

	#menu-c-mobile ul {
	    position: absolute;
	    top: 50%;
	    left: 0;
	    right: 0;
	    transform: translate(0,-50%);
	}

	#menu-c-mobile ul li {
	    margin-bottom: 60px;
	}

	div#menu-c-mobile span {
	    font-size: 16px;
	}

	#menu-c-mobile ul li:last-of-type {
	    margin-bottom: 0;
	}

	div#logo {
	    transition: OPACITY 0.4s ease;
	}

	.burger-out div#logo {
	    opacity: 0;
	}

	div#burger {
	    width: 30px;
	    top: 20px;
	    right: 30px;
	    position: absolute;
	    height: 20px;
	}

	.burger {
	    width: 30px;
	    height: 1px;
	    background: #DCDCCD;
	    position: absolute;
	    top: 0;
	    left: 0;
	    transition: all 0.5s ease;
	}

	.burger.burger2 {
	    top: 10px;
	}

	.burger-out .burger.burger1 {
	    transform: rotate(45deg);
	    top: 8px;
	}

	.burger-out .burger.burger2 {
	    transform: rotate(
	-45deg
	);
	    top: 8px;
	}
	#menu-c-mobile {display:block;}
	#burger {display:block;}
	.burger-out {overflow:hidden;}
	/*.attivo.ancora:before, .ancora:hover:before {display:none;}*/
/*	.ancora.attivo,.ancora:hover {color:#6E6E6E;}*/
	div#engines {
	    padding-top: 100px;
	    margin-top: 30vh;
	}

	div#culture {
	    padding-top: 100px;
	}
	div#model {
	    padding-top: 100px;
	}
	html {
	    height: 100vh !important;
	}
/*	.step1,.step2,.step3,.step4,.step5,.step6,.step7,.step8,.pin-spacer {
	    background: black;
	}
*/
	
	/*.titolo3-c {
	    margin-bottom: 30vh;
	    margin-top: 20vh;
	}*/
	h1#titolo {
	    margin-left: 20px;
	    margin-right: 20px;
	}

	
	div#titolo10 {
	    margin-left: 20px;
	    margin-right: 20px;
	}
	div#titolo7 {
	    margin-left: 20px;
	    margin-right: 20px;
	}

	

	.text-center.gray.font_l.marginb_s br {
	    display: none;
	}

	.right-info .font_xl br {
	    display: none;
	}

	.move-step8 {
	    margin-left: 20px;
	    margin-right: 20px;
	}

	.move-step8 br {
	    display: none;
	}
	/*div#titolo4 {margin-top:0;}
	canvas#hero-lightpass4 {
	    top: 0;
	}*/
	


	.hero-cc {
	    position: relative;
	}
	.step7 {
	    margin-bottom: 10vh;
	}
	#ombra {display:block;}
	
	html.has-scroll-smooth {
	    bottom: 0;
	    left: 0;
	    overflow: hidden;
	    position: fixed;
	    right: 0;
	    top: 0;
	}
	
	}
	@media all and (max-width:767px) {
		div#titolo3 br {
		    display: none;
		}

		div#titolo_pneumatico br {
		    display: none;
		}

		div#titolo4 br {
		    display: none;
		}

	
		div#titolo7 br {
		    display: none;
		}

		div#titolo9 br {
		    display: none;
		}
		div#titolo10 br {
		    display: none;
		}
	}
	@media all and (max-width:900px) and (min-width:768px) {
		.center-title {
		    left: 100px;
		    right: 100px;
		    transform: translate(0,-50%);
		    width: auto;
		}
		.colonna .font_s.gray {
		    width: 50%;
		    margin-left: auto;
		    margin-right: auto;
		    text-align: center;
		}
	}



	/* FIXES */
.engines-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(500px, 1fr));
    gap: 4rem;
    margin-top: 4rem;
}
.engine-card {
    background: linear-gradient(135deg, rgba(0, 212, 255, 0.05) 0%, rgba(0, 153, 204, 0.02) 100%), rgba(0, 0, 0, 0.8);
    border: 1px solid rgba(0, 212, 255, 0.15);
    border-radius: 20px;
    padding: 4rem;
    position: relative;
    overflow: hidden;
    transition: all 0.4s ease;
	text-align: left;
	backdrop-filter: blur(20px);
}
.engine-card:hover {
    border-color: rgba(0, 212, 255, 0.4);
    box-shadow: 0 32px 80px rgba(0, 212, 255, 0.25);
    transform: translateY(-8px);
}
.engine-label {
    font-size: 0.9rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    background: linear-gradient(90deg, var(--primary-blue), var(--light-text), var(--primary-blue));
    background-size: 200% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 1.5rem;
    font-weight: 500;
    position: relative;
    z-index: 1;
    animation: gradient-shift 3s ease-in-out infinite;
}
@keyframes gradient-shift {
	0%, 100% {
    background-position: 0% center;
	}
	50% {
    background-position: 100% center;
	}
}
@keyframes arrow-pulse {
	0%, 100% {
    opacity: 1;
	}
50% {
    opacity: 0.5;
	}
}
.engine-title {
    font-size: 2.5rem;
    font-weight: 400;
    margin-bottom: 1.5rem;
    position: relative;
    z-index: 1;
    background: linear-gradient(135deg, var(--light-text) 0%, var(--primary-blue) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}
.engine-subtitle {
    font-size: 1.125rem;
    color: var(--gray-text);
    margin-bottom: 2rem;
    position: relative;
    z-index: 1;
}
.engine-process {
    margin-bottom: 2.5rem;
    position: relative;
    z-index: 1;
}
.process-title {
    font-size: 1.125rem;
    font-weight: 600;
    margin-bottom: 1rem;
    color: var(--light-text);
}
.process-list {
    list-style: none;
    padding-left: 0;
}
.process-list li {
    padding: 0.75rem 0;
    color: var(--gray-text);
    position: relative;
    padding-left: 1.5rem;
}
.process-list li::before {
    content: '→';
    position: absolute;
    left: 0;
    color: var(--primary-blue);
    animation: arrow-pulse 2s ease-in-out infinite;
}
.engine-title img {
	height: 40px;
	width: auto;
}
.engine-title img.create {
	height: 30px;
	margin-bottom: 30px;
	width: auto;
}