/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Prevent font size inflation */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

/* Remove default margin in favour of better control in authored CSS */
body, h1, h2, h3, h4, p,
figure, blockquote, dl, dd {
  margin-block-end: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role='list'],
ol[role='list'] {
  list-style: none;
  padding-left: 0;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  line-height: 1.5;
}

/* Set shorter line heights on headings and interactive elements */
h1, h2, h3, h4,
button, input, label {
  line-height: 1.1;
}

/* Balance text wrapping on headings */
h1, h2,
h3, h4 {
  text-wrap: balance;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
  color: currentColor;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input, button,
textarea, select {
  font-family: inherit;
  font-size: inherit;
}

/* Make sure textareas without a rows attribute are not tiny */
textarea:not([rows]) {
  min-height: 10em;
}

/* Anything that has been anchored to should have extra scroll margin */
:target {
  scroll-margin-block: 5ex;
}
@font-face {
  font-display: swap;
  font-family: 'MonumentExtended';
  font-style: normal;
  font-weight: 400;
  font-display: auto;
  src: url('fonts/monument-extended/MonumentExtended-Regular.woff2') format('woff2'),
      url('fonts/monument-extended/MonumentExtended-Regular.woff') format('woff');
}
@font-face {
  font-display: swap;
  font-family: 'MonumentExtended';
  font-style: normal;
  font-weight: 700;
  font-display: auto;
  src: url('fonts/monument-extended/MonumentExtended-Ultrabold.woff2') format('woff2'),
   url('fonts/monument-extended/MonumentExtended-Ultrabold.woff') format('woff');
}
@font-face {
  font-display: swap;
  font-family: 'ArminGrotesk';
  font-style: normal;
  font-weight: 400;
  font-display: auto;
  src: url('fonts/armin-grotesk/ArminGrotesk-Regular.woff2') format('woff2'),
   url('fonts/armin-grotesk/ArminGrotesk-Regular.woff') format('woff');
}
@font-face {
  font-display: swap;
  font-family: 'ArminGrotesk';
  font-style: normal;
  font-weight: 700;
  font-display: auto;
  src: url('fonts/armin-grotesk/ArminGrotesk-SemiBold.woff2') format('woff2'),
   url('fonts/armin-grotesk/ArminGrotesk-SemiBold.woff') format('woff');
}

:root {

    /* @link https://utopia.fyi/type/calculator?c=320,16,1.2,1240,16,1.333,5,2,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12 */

    /* Step -2: 11.1111px → 9.0045px */
    --step--2: clamp(0.5628rem, 0.7402rem + -0.229vi, 0.6944rem);
    /* Step -1: 13.3333px → 12.003px */
    --step--1: clamp(0.7502rem, 0.8623rem + -0.1446vi, 0.8333rem);
    /* Step 0: 16px → 16px */
    --step-0: clamp(1rem, 1rem + 0vi, 1rem);
    /* Step 1: 19.2px → 21.328px */
    --step-1: clamp(1.2rem, 1.1537rem + 0.2313vi, 1.333rem);
    /* Step 2: 23.04px → 28.4302px */
    --step-2: clamp(1.44rem, 1.3228rem + 0.5859vi, 1.7769rem);
    /* Step 3: 27.648px → 37.8975px */
    --step-3: clamp(1.728rem, 1.5052rem + 1.1141vi, 2.3686rem);
    /* Step 4: 33.1776px → 50.5174px */
    --step-4: clamp(2.0736rem, 1.6966rem + 1.8848vi, 3.1573rem);
    /* Step 5: 39.8131px → 67.3396px */
    --step-5: clamp(2.4883rem, 1.8899rem + 2.992vi, 4.2087rem);

    /* @link https://utopia.fyi/space/calculator?c=320,16,1.2,1240,16,1.333,5,2,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12 */

    /* Space 3xs: 4px → 4px */
    --space-3xs: clamp(0.25rem, 0.25rem + 0vi, 0.25rem);
    /* Space 2xs: 8px → 8px */
    --space-2xs: clamp(0.5rem, 0.5rem + 0vi, 0.5rem);
    /* Space xs: 12px → 12px */
    --space-xs: clamp(0.75rem, 0.75rem + 0vi, 0.75rem);
    /* Space s: 16px → 16px */
    --space-s: clamp(1rem, 1rem + 0vi, 1rem);
    /* Space m: 24px → 24px */
    --space-m: clamp(1.5rem, 1.5rem + 0vi, 1.5rem);
    /* Space l: 32px → 32px */
    --space-l: clamp(2rem, 2rem + 0vi, 2rem);
    /* Space xl: 48px → 48px */
    --space-xl: clamp(3rem, 3rem + 0vi, 3rem);
    /* Space 2xl: 64px → 64px */
    --space-2xl: clamp(4rem, 4rem + 0vi, 4rem);
    /* Space 3xl: 96px → 96px */
    --space-3xl: clamp(6rem, 6rem + 0vi, 6rem);

    /* One-up pairs */
    /* Space 3xs-2xs: 4px → 8px */
    --space-3xs-2xs: clamp(0.25rem, 0.163rem + 0.4348vi, 0.5rem);
    /* Space 2xs-xs: 8px → 12px */
    --space-2xs-xs: clamp(0.5rem, 0.413rem + 0.4348vi, 0.75rem);
    /* Space xs-s: 12px → 16px */
    --space-xs-s: clamp(0.75rem, 0.663rem + 0.4348vi, 1rem);
    /* Space s-m: 16px → 24px */
    --space-s-m: clamp(1rem, 0.8261rem + 0.8696vi, 1.5rem);
    /* Space m-l: 24px → 32px */
    --space-m-l: clamp(1.5rem, 1.3261rem + 0.8696vi, 2rem);
    /* Space l-xl: 32px → 48px */
    --space-l-xl: clamp(2rem, 1.6522rem + 1.7391vi, 3rem);
    /* Space xl-2xl: 48px → 64px */
    --space-xl-2xl: clamp(3rem, 2.6522rem + 1.7391vi, 4rem);
    /* Space 2xl-3xl: 64px → 96px */
    --space-2xl-3xl: clamp(4rem, 3.3043rem + 3.4783vi, 6rem);

    /* Custom pairs */
    /* Space s-l: 16px → 32px */
    --space-s-l: clamp(1rem, 0.6522rem + 1.7391vi, 2rem);

    --clr-red:#eb1c24;
    --clr-red-80:#ef4950;
    --clr-red-60:#f3777c;
    --clr-red-40:#f7a4a7;
    --clr-red-20:#fbd2d3;
    --clr-blue:#005a94;
    --clr-blue-80:#337ba9;
    --clr-blue-60:#669cbf;
    --clr-blue-40:#99bdd4;
    --clr-blue-20:#ccdeea;
    --clr-black:#000;
    --clr-black-80:#333;
    --clr-black-60:#666;
    --clr-black-40:#999;
    --clr-black-20:#ccc;

    --ff-primary: "MonumentExtended", sans-serif;
    --ff-secondary: "ArminGrotesk", sans-serif;
    --gutter: var(--space-s-l);
}

body {
    background: #000 url(./img/bg.webp) center top no-repeat;
    background-size: contain;
    color: #fff;
    margin: 0;
    font-family: var(--ff-secondary);
}
body.sobre-nos,
body.about-us,
body.sobre-nosotros,
body.ops\!-pagina-nao-encontrada,
body.ops\!-page-not-found,
body.vaya\! {
  background-size: 100%;
}
.wrapper {
    margin-inline: auto;
    max-width: clamp(16rem,var(--wrapper-max-width,100vw),80rem);
    padding-left: var(--gutter);
    padding-right: var(--gutter);
}
.pos-relative {
  position: relative;
}
hr {
  width: 100%;
  border-bottom: 1px solid var(--clr-black-80);
  margin-block-start: var(--space-3xl) !important;
  margin-block-end:var(--space-l) !important;
}
small {
  color: var(--clr-black-40);
}
.center {
  max-inline-size: 60ch;
  margin-inline: auto;
}
.overflow\:hidden {
  overflow: hidden;
  padding-block-end: 1rem;
}
/* Typography */
h1,h2,h3,h4 {
  font-family: var(--ff-primary);
}
.ff-primary {
  font-family: var(--ff-primary);
}
.ff-secondary {
  font-family: var(--ff-secondary);
}
.clr-blue {
  color: var(--clr-blue);
}
.clr-blue-80 {
  color: var(--clr-blue-80);
}
.clr-red {
  color: var(--clr-red);
}
.clr-light {
  color: #fff;
}
.text-step--2 {
  font-size: var(--step--2) !important;
}
.text-step--1 {
  font-size: var(--step--1) !important;
}
.text-step-0 {
  font-size: var(--step-0) !important;
}
.text-step-1 {
  font-size: var(--step-1) !important;
}
.text-step-2 {
  font-size: var(--step-2) !important;
}
.text-step-3 {
  font-size: var(--step-3) !important;
}
.text-step-4 {
  font-size: var(--step-4) !important;
}
.text-step-5 {
  font-size: var(--step-5) !important;
}
.text-center {
  text-align: center;
}
.text-form\:upper {
  text-transform: uppercase !important;
}
/* Flex */
.flex {
  display: flex;
}
.flex\:wrap {
  flex-wrap: wrap;
}
.flex\:column {
  flex-direction: column;
}
.flex\:shrink-0 {
  flex-shrink: 0;
}
.align-items\:center {
  align-items:center;
}
.align-self\:center {
  align-self:center !important;
}
.justify-items\:center {
  justify-items: center !important;
}
.justify-content\:space-between {
  justify-content: space-between !important;
}
.justify-content\:center {
  justify-content: center !important;
}
.justify-content\:space-around {
  justify-content:space-around !important;
}
/* Nav */
.stack {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.stack > * {
  margin-block: 0;
} 
.stack\:m > * + * {
  margin-block-start: var(--space-m);
}
.stack\:l > * + * {
  margin-block-start: var(--space-l);
}
.stack\:xl > * + * {
  margin-block-start: var(--space-xl);
}
/* Spacing */
.mb-start-s {
  margin-block-start: var(--space-s) !important;
}
.mb-start-3xl {
  margin-block-start: var(--space-3xl) !important;
}
.pb-m {
  padding-block: var(--space-m) !important;
}
.pb-l {
  padding-block: var(--space-l) !important;
}
.pb-xl {
  padding-block: var(--space-xl) !important;
}
.pb-2xl {
  padding-block: var(--space-2xl) !important;
}
.pb-3xl {
  padding-block: var(--space-3xl) !important;
}
.gap\:2xs {
  gap: var(--space-2xs);
}
.gap\:xs {
  gap: var(--space-xs);
}
.gap\:s {
  gap: var(--space-s);
}
.gap\:m {
  gap: var(--space-m);
}
/* Header */
.site-head {
  background:linear-gradient(180deg, rgba(0,0,0,1) 20%, rgba(255,255,255,0) 100%);
}
.header-inner {
  padding-block:var(--space-m);
}
.drop-shadow {
  filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
}
.logo {
  width: 7.8125rem;
}

/* Nav */
#menu a {
  display: inline-block;
  font-family: 'MonumentExtended';
  font-size: var(--step-1);
  font-weight: 400;
  color: #fff;
  text-decoration: none;
  transition: all .3s;
}
#menu a:hover {
  color: var(--clr-red);
}
#menu {
  gap: var(--space-l);
}
#btn-mobile {
  display: none;
}
@media (max-width: 768px) {
  #btn-mobile {
      display: block;
  }
  #menu {
      display: block;
      position: absolute;
      width: 100%;
      top:135px;
      right:0;
      height: 0;
      background-color: rgba(0, 0, 0, 1);
      box-shadow:0px 4px 8px rgba(0,0,0,.08), inset 0px 0px 15px rgba(0, 0, 0, 0.15);
      border-radius: .5rem;
      visibility: hidden;
      opacity: 0;
      overflow-y: hidden;
      transition:  visibility 0s linear 300ms, opacity 300ms;
      z-index: 999;
      padding-left: 1rem;
      gap: 0;        
  }
  #nav.active #menu {
      display: flex;
      flex-direction: column;
      height: auto;
      opacity: 1;
      transition: visibility 0s linear 0s, opacity 300ms;
      visibility:visible;
      overflow-y: auto;
      padding-block:1rem;
  }
  #menu li {
    padding: 1rem 1.8rem;
  }
  #menu a {
      display: inline-block;
      font-size: var(--step-1);
      font-weight: var(--font-semiBold);
      color: #fff;
  }
  #menu a:is(:hover, :focus) {
      color: var(--clr-red);
  }
  #btn-mobile {
      display: flex;
      align-items: center;
      padding: .5rem 1rem;
      font-size: 1rem;
      border: 0;
      background: 0;
      cursor: pointer;
      gap: .5rem;
  }
  #hamburger {
      display: block;
      width: 1.875rem;
      border-top: .25rem solid #fff;
  }
  #hamburger::after, #hamburger::before {
      position: relative;
      content: "";
      display: block;
      width: 1.875rem;
      height: .25rem;
      margin-top: .375rem;
      background-color: #fff;
      transition: .3s;
  }
  #nav.active #hamburger {
      border-top-color: transparent;
  }
  #nav.active #hamburger::after {
      top: -8px;
      transform: rotate(-133deg);
  }
  #nav.active #hamburger::before {
      top: 1px;
      transform: rotate(135deg);
  }
}
/* Intro */
.intro {
  padding-block-start:7rem;
  padding-block-end: var(--space-xl);
}
@media (min-width:769px) {
  .intro {
    padding-block-start:var(--space-xl);
    padding-block-end: var(--space-xl);
  }
}
.animate-text {
  width: 100%;
  height: 99px;
  overflow: hidden;
}
.animate-text span:nth-child(odd) {
  color: var(--clr-red);
}
.animate-text span:nth-child(even) {
  color: var(--clr-blue);
}
@media (min-width:735px) {
  .animate-text {
    height: 53px;
  }
}
.animate-text span {
  position: absolute;
  width: 100%;
  height: auto;
  top: 0;
  left: 0;
  visibility: hidden;
  z-index: -1;
  overflow: hidden;
}
.text-in {
  visibility:visible !important;
  animation: slideup .3s ease;
}
@keyframes slideup {
  0% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(0%);
  }
}
.max-ch\:50 {
  max-width: 50ch;
}
/* Startups cards */
.card {
  position: relative;
  background-position: center  center;
  background-repeat: no-repeat;
  background-size: cover;
  border-radius: 1rem;
  padding-block: var(--space-m);
  padding-inline: var(--space-s);
  transition: all .2s ease-in-out;
  height: auto !important;
}
.card h2 {
  font-weight: 400;
  font-size: var(--step-2);
}
.card p {
  font-size: 1.1875rem;
  margin-block-end: var(--space-m);
}
.card img {
  display: none;
}
.cta {
  flex-direction: column;
  gap: 1rem;
  align-items: center;
  margin-top: auto;
}
.card::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .8) 20%);
  border-radius: 1rem;
  transition: all 0.2s linear;
  opacity: 1;
  z-index: -1;
}
@media (max-width:767px) {
  .swiper-slide-prev, .swiper-slide-next {
    transform: scale(.6) !important;
    opacity: .5;
  }
}
@media (min-width:768px) {
  .swiper-slide-prev {
    margin-inline-end: -4vw;
  }
  .swiper-slide-next {
    margin-inline-start: -4vw;
  }
  .swiper-slide-prev, .swiper-slide-next {
    transform: scale(.8) !important;
    opacity: .5;
  }
  .startups .wrapper {
    padding-left:0;
    padding-right: 0;
  }
}
@media (min-width:1280px) {
  .card {
    height: 558px !important;
    transition: none;
  }
  .card h2 {
    position: absolute;
    width: 100%;
    top: 40%;
    left:50%;
    height: auto;
    margin-block-start: 0;
    transition: all .1s ease-in-out;
    transform: translateX(-50%);
    visibility: hidden;
  }
  .card:hover h2 {
    position: relative;
    top: 0;
    height: auto;
    visibility: visible;
  }
  .card p {
    position: absolute;
    top: 30%;
    opacity: 0;
    height: 0;
    transition: all .2s ease-in-out;
  }
  .card:hover p {
    position: relative;
    top: 0;
    opacity: 1;
    height: auto;
  }
  .card img {
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    opacity: 1;
    transition: all .2s ease-in-out;
    height: auto;
  }
  .card:hover img {
    top: 30%;
    left: 50%;
    transform: translate(-50%,-30%);
    opacity: 0;
    height: 0;
  }
  .cta {
    flex-direction: row;
    justify-content: space-between;
    opacity: 0;
    transition: all .4s ease-in-out;
  }
  .card:hover .cta {
    opacity: 1;
  }
  .swiper-slide-next, .swiper-slide-prev {
    margin-inline: 0;
  }
  .swiper-slide-prev, .swiper-slide-next {
    transform: scale(1) !important;
    opacity: 1;
  }
  .startups .wrapper {
    padding-left: var(--gutter);
    padding-right: var(--gutter);
  }
  .w-70 img {
    width: 70%;
  }
  .card::after {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.25) 25%, rgba(0, 0, 0, 0.55) 100%);
  }
  .card:hover::after {
      background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .8) 20%);
      opacity: 1;
  }
}
.btn {
  display: inline-block;
  color: #fff;
  border: 1px solid #fff;
  border-radius: 2rem;
  font-size: 1.125rem;
  text-decoration: none;
  padding-block:.5rem;
  padding-inline: 1.5rem;
  text-transform: uppercase;
  transition: all .3s ease-in;
}
.btn:hover {
  background-color: #fff;
  color: #000;
}
/* Swiper */
.swiper-pagination {
  position: relative;
  margin-block: var(--space-m);
}
.swiper-pagination-bullet {
  background: var(--clr-black-20);
}
.swiper-pagination-bullet-active {
  background: #c3c3c3;
}
/* Startup page */
.switcher {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xl);
}
.switcher > * {
  flex-grow: 1;
  flex-basis: calc(( 75rem - 100%) * 999);
}
.switcher > :nth-last-child(n+ 3),
.switcher > :nth-last-child(n+ 3) ~ * {
  flex-basis: 100%;
}
.card-img img {
  border-radius: 1rem;
  object-fit: cover;
}
.main-photo img {
  width: 100%;
  aspect-ratio: 2 / 3;
  height: 100%;  
}
.secondary-photo img {
  aspect-ratio: 1 / 1;
  height: 438px;
}
.video img {
  height: 438px;
}
.card-content {
  padding-block: var(--space-m);
}
.startup-bio img {
  height: auto;
}
.back-button {
  text-decoration: none;
  text-transform: uppercase;
  font-size: var(--step-0);
  font-weight: 700;
}
.back-button svg {
  stroke: #fff;
}
@media (max-width:1263px) {
   .card-content {
    background: rgba(41, 41, 41, 46%);
    padding-inline:var(--space-xs);
    border-radius: 1rem;
  }
  .card-content > div {
    margin-block-start: 0;
  }
  .hide-sm {
    display: none !important;
  }
}
@media (min-width:1264px) {
  .hide-xl {
    display: none !important;
  }
}
@media (max-width:644px) {
  .tag {
    flex-wrap: wrap;
  }
}
.frame-drop .main-photo img,
.pluggable .main-photo img,
.global-pass .main-photo img,
.alfa-lupo .main-photo img,
.katchit .main-photo img,
.wind-credible .main-photo img,
.mantis-ai .main-photo img {
  height: 674px;
}
.neroes .main-photo img {
  height: 690px;
}
.scroll {
  cursor: grab;
  overflow-x: scroll;
  scrollbar-color: var(--clr-red) #000;
  scrollbar-width: thin;
}