

/* animations here ------------------------------------ */

/*
  CSS custom properties per card so the animation end state
  always matches the static CSS rotation at each breakpoint.
  Mobile defaults (smaller angles, tighter spread):
*/
.Left-anime-1  { --r-end:  -5deg; --tx-start:  20px; }
.Right-anime-1 { --r-end:   5deg; --tx-start: -20px; }
.Left-anime-2  { --r-end: -10deg; --tx-start:  30px; }
.Right-anime-2 { --r-end:  10deg; --tx-start: -30px; }

/* Desktop overrides (wider fan) */
@media only screen and (min-width: 64em) {
  .Left-anime-1  { --r-end: -10deg; --tx-start:  30px; }
  .Right-anime-1 { --r-end:  10deg; --tx-start: -30px; }
  .Left-anime-2  { --r-end: -25deg; --tx-start:  50px; }
  .Right-anime-2 { --r-end:  25deg; --tx-start: -50px; }
}

/* -- Header text: h1 immediately, h2 staggers 0.15s -- */
body.is-visible h1.fade-in {
  animation: fade-up 0.9s cubic-bezier(0.16, 1, 0.3, 1) both;
}
body.is-visible h2.fade-in {
  animation: fade-up 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.15s both;
}

@keyframes fade-up {
  0%   { opacity: 0; transform: translateY(16px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* -- Center card: fade + gentle rise -- */
body.is-visible .fade-in-1 {
  will-change: transform, opacity;
  animation: card-center 0.8s cubic-bezier(0.16, 1, 0.3, 1) both;
}

@keyframes card-center {
  0%   { opacity: 0; transform: translateY(28px); }
  100% { opacity: 1; transform: translateY(0); }
}

/* -- Left inner card -- */
body.is-visible .Left-anime-1 {
  will-change: transform, opacity;
  transform-origin: bottom center;
  animation: left-1 0.9s cubic-bezier(0.34, 1.56, 0.64, 1) 0.2s both;
}

@keyframes left-1 {
  0%   { opacity: 0; transform: rotate(0deg) translateX(var(--tx-start)); }
  100% { opacity: 1; transform: rotate(var(--r-end)) translateX(0); }
}

/* -- Right inner card -- */
body.is-visible .Right-anime-1 {
  will-change: transform, opacity;
  transform-origin: bottom center;
  animation: right-1 0.9s cubic-bezier(0.34, 1.56, 0.64, 1) 0.2s both;
}

@keyframes right-1 {
  0%   { opacity: 0; transform: rotate(0deg) translateX(var(--tx-start)); }
  100% { opacity: 1; transform: rotate(var(--r-end)) translateX(0); }
}

/* -- Left outer card -- */
body.is-visible .Left-anime-2 {
  will-change: transform, opacity;
  transform-origin: bottom center;
  animation: left-2 1s cubic-bezier(0.34, 1.56, 0.64, 1) 0.35s both;
}

@keyframes left-2 {
  0%   { opacity: 0; transform: rotate(0deg) translateX(var(--tx-start)); }
  100% { opacity: 1; transform: rotate(var(--r-end)) translateX(0); }
}

/* -- Right outer card -- */
body.is-visible .Right-anime-2 {
  will-change: transform, opacity;
  transform-origin: bottom center;
  animation: right-2 1s cubic-bezier(0.34, 1.56, 0.64, 1) 0.35s both;
}

@keyframes right-2 {
  0%   { opacity: 0; transform: rotate(0deg) translateX(var(--tx-start)); }
  100% { opacity: 1; transform: rotate(var(--r-end)) translateX(0); }
}

/* animations end here ------------------------------------ */



/* desktop only here ------------------------------------ */
@media only screen and (min-width: 64em) {


} /* desktop only ends here ------------------------------------ */




/* tablet up here ------------------------------------ */
@media only screen and (min-width: 40em) {


  h1 {
      font-size: 45px;
      line-height: 45px;

    }


    .display-mob{
      display: none !important;
    }


    .title{
      color: #fff;
      text-align: center;
      font-size: 20vw;
      margin-top: 30vh;
    }
    .subtitle{
      color: #f05455;
      text-align: center;
      font-size: 5vw;
      margin-top: -100px;
      margin-bottom: 40vh;
    }


.main-image2 .c {
    width: 28%;
    position: absolute;
    left: 36%;
    z-index: 1005;
}
.main-image2 .r1 {
    width: 25%;
    position: absolute;
    top: 60px;
    right: 30%;
    z-index: 1004;
    transform: rotate(10deg);
}
.main-image2 .l1 {
    width: 25%;
    position: absolute;
    top: 60px;
    left: 30%;
    z-index: 1003;
    transform: rotate(-10deg);
}
.main-image2 .r2 {
    width: 22%;
    position: absolute;
    top: 90px;
    right: 25%;
    z-index: 1002;
    transform: rotate(25deg);
}
.main-image2 .l2 {
    width: 22%;
    position: absolute;
    top: 90px;
    left: 25%;
    z-index: 1001;
    transform: rotate(-25deg);
}


.main-image2{
  height: 60vw;
}

/* Extra scroll runway so the parallax has room to fully reveal the form */
body {
  padding-bottom: 420px;
}

} /* tablet up ends here ------------------------------------ */



/* mobile ONLY ------------------------------------ */

@media only screen
and (max-width: 640px){

  html, body {
    overflow-x: hidden;
    max-width: 100%;
  }


  h1 {
      font-size: 35px;
      line-height: 35px;
    }

.hide-mob{
  display: none !important;
}



  .title{
    color: #fff;
    text-align: center;
    font-size: 30vw;
    margin-top: 40vh;
  }
  .subtitle{
    color: #f05455;
    text-align: center;
    font-size: 10vw;
    margin-top: -50px;
    margin-bottom: 40vh;
  }

  .button{
    display: block;
  }

.main-image2 .c {
    width: 54%;
    position: absolute;
    top: 0px;
    left: 23%;
    z-index: 1005;
}
.main-image2 .r1 {
    width: 45%;
    position: absolute;
    top: 50px;
    right: 5%;
    z-index: 1004;
    transform: rotate(5deg);
}
.main-image2 .l1 {
    width: 45%;
    position: absolute;
    top: 50px;
    left: 5%;
    z-index: 1003;
    transform: rotate(-5deg);
}
.main-image2 .r2 {
    width: 40%;
    position: absolute;
    top: 70px;
    right: -10%;
    z-index: 1002;
    transform: rotate(10deg);
}
.main-image2 .l2 {
    width: 40%;
    position: absolute;
    top: 70px;
    left: -10%;
    z-index: 1001;
    transform: rotate(-10deg);
}

.main-image2{
  height: 140vw;
}

.main-image2 {
  z-index: auto; /* no parallax stacking on mobile */
  overflow: hidden; /* clip cards that extend beyond viewport edges */
}

.container {
  z-index: 1010; /* sit above all card elements (1001–1005) */
  margin-top: 80px; /* clear the card overflow below the container */
}

} /* mobile ONLY ends here ------------------------------------ */





/* base itens here ------------------------------------ */
@media only screen and (min-width:0px) {


header {text-align: center; padding: 40px 0px;}
header img { margin:0px 0px 80px 0px }
header  div {max-width: 500px; margin:0 auto;}

.button{
  background:none;
  padding: 15px 20px;
  border-radius: 100px;
  font-weight: bold;
  margin: 0 auto;
  text-align: center;
  text-decoration: none;
  border: solid 2px #fff;
}

  h1 {
      color: #222;
      letter-spacing: ;
      text-align: center;
      margin-bottom: 16px;
      font-weight: 800;
  }

    h2 {
      font-size: 24px;
      color: #555;
      line-height: 32px;
      margin-top: 8px;
      margin-bottom: 10px;
      font-family: "Inter", sans-serif;
      text-align: center;
      font-weight: 400;
      padding: 0px 12px;
     }


  p {
      font-size: 14px;
      color: #002D24;
      line-height: 20px;
      margin-top: 10px;
    }


		a {
			opacity: 1;
			transition: all 0.3s;
      text-decoration: underline;
      color: #002D24;
      cursor: pointer;
		}
		a:hover {
			opacity: 0.8;
			transition: all 0.3s;
		}


    a.arrow::after {
      content: "→";
      transition: all 0.3s ease;
      margin-left: 3px;
    }

    a.arrow:hover::after{
    margin-left: 6px;
    transition: all 0.3s ease;
    margin-right: -3px;
    }


body {
  font-family: "Inter", sans-serif;
	-webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
	background:#fff;
	color: #222;
}

	::selection {
	    color: rgba(255,255,255,0.85);
	    background: #222;
	}


.form {
  max-width: 900px;
  margin:40px auto;  
}

.form .button {
    color: white;
    background-color: black;
    border: 0px;
    padding: 8px 32px;
    border-radius: 20px;
    height: 42px;
    }

.bg-form {
  background: white;
    max-width: 380px;
    padding: 20px 30px;
    border-radius: 40px;
    border: solid 1px #ccc;
    height: 42px;
    margin-bottom: 10px;

}

.form-signup{
display: block;
padding: 24px;
width: 100%;
margin: 24px auto;
text-align: center;
background: #f1f1f1;
border-radius: 24px;
margin-bottom: 10px;
}


/* parallax: cards sit above the form in z-order */
.main-image2 {
  position: relative;
  z-index: 10;
  will-change: transform;
}

.container {
  position: relative;
  z-index: 1;
  margin: 0 40px 40px;
  margin-top: -220px; /* form starts hidden behind the card fan */
}

.footer{
  border-top: solid 1px white;
  background: #f05455;
}

.footer h1 {
  color: #fff;
}




}
