/* Copied verbatim from marino-hero-clone/css/style.css — do not hand-edit
   values here. Every value below is untouched from the source file.

   ONE necessary change: the source file is a standalone page, so its
   resets (*, body, h1-h5, a) are bare/global. This file is loaded into an
   existing site, and because it's plain un-layered CSS (deliberately, so
   it beats Tailwind's utility layer — see index.html), those bare
   selectors would win over and silently override the whole site's
   Poppins font/colors, not just this section. Scoped those 4 blocks to
   #brandsSection so they only affect this section, exactly as they would
   have applied to the whole body on the standalone page. No values
   changed, only the selectors these 4 blocks are attached to. */

#brandsSection * {
  box-sizing: border-box;
}

#brandsSection {
  margin: 0;
  padding: 0;
  font-family: "Plus Jakarta Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.55;
  color: #231f20;
  background: #f3f3f3;
  font-optical-sizing: auto;
}

#brandsSection h1, #brandsSection .h1,
#brandsSection h2, #brandsSection .h2,
#brandsSection h3, #brandsSection .h3,
#brandsSection h4, #brandsSection .h4,
#brandsSection h5, #brandsSection .h5,
#brandsSection .widgettitle {
  text-rendering: optimizeLegibility;
  font-family: "Plus Jakarta Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 500;
  line-height: 1.1;
  color: #231f20;
  margin: 0;
  text-wrap: balance;
}

#brandsSection a {
  color: inherit;
}

.wrap {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 50px 25px;
}

.wrap-small {
  padding-top: 25px;
  padding-bottom: 25px;
}
@media only screen and (min-width: 1000px) {
  .wrap-small {
    padding: 25px !important;
  }
}
@media only screen and (min-width: 1240px) {
  .wrap-small {
    padding: 70px !important;
  }
}

.margin-bottom-tiny {
  margin-bottom: 5px;
}

.margin-top-small {
  margin-top: 20px;
}

@media only screen and (max-width: 767px) {
  .hide-mobile {
    display: none !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 999px) {
  .hide-tablet {
    display: none !important;
  }
}

@media only screen and (min-width: 1000px) {
  .hide-desktop {
    display: none !important;
  }
}

@media only screen and (min-width: 768px) {
  .text-align-right-tablet {
    text-align: right;
  }
}

.rounded {
  position: relative;
  text-decoration: none;
  pointer-events: none;
  color: #231f20;
  background: #82ffcd;
  font-size: 9px;
  line-height: 1.2;
  font-weight: 600;
  padding: 7px 15px;
  min-height: 34px;
  border-radius: 30px;
  border: 0;
  text-align: center;
  display: flex;
  gap: 7px;
  width: max-content;
  align-items: center;
  max-width: 100%;
}
.rounded .p {
  margin: 0;
}
@media only screen and (min-width: 1000px) {
  .rounded {
    font-size: 13px;
    padding: 10px 25px;
    min-height: 46px;
    border-radius: 30px;
    gap: 10px;
  }
}

.rounded-move {
  will-change: transform;
}

.background-white {
  background: #ffffff;
}

.background-gray {
  background: transparent;
}

.background-green {
  background: #82ffcd;
}

.entry-content p {
  margin: 0;
}

@keyframes glow-pulse {
  0% {
    box-shadow: 0 0 0vw 0px rgba(130, 255, 205, 0);
  }
  50% {
    box-shadow: 0 0 12vw 0px #82ffcd;
  }
  100% {
    box-shadow: 0 0 0vw 0px rgba(130, 255, 205, 0);
  }
}
.hero-section h1, .hero-section .h1, .hero-section h2, .hero-section .h2, .hero-section h3, .hero-section .h3, .hero-section h4, .hero-section .h4, .hero-section h5, .hero-section .h5 {
  font-weight: 600;
}
@media only screen and (max-width: 767px) {
  .hero-section article,
  .hero-section .hero-content {
    position: relative;
  }
}

.anim-section .anim-left {
  opacity: 0;
  transition: 1s cubic-bezier(0.4, 0, 0.2, 1);
  transform: translate(30px, 0);
}
.anim-section .anim-right {
  opacity: 0;
  transition: 1s cubic-bezier(0.4, 0, 0.2, 1);
  transform: translate(-30px, 0);
}
.anim-section .delay-1 {
  transition-delay: 0.15s;
}
.anim-section .delay-2 {
  transition-delay: 0.3s;
}

.active-onscreen .anim-left,
.active-onscreen .anim-right,
.active-onscreen .anim-up,
.active-onscreen .anim-down,
.active-onscreen .anim-fade {
  opacity: 1;
  transform: translate(0, 0);
}

.hero-intro .line {
  position: relative;
}
.hero-intro .line-text {
  font-size: 15vw;
  line-height: 1.1;
  font-weight: 600;
  position: relative;
  z-index: 10;
  text-rendering: optimizeLegibility;
}
@media only screen and (min-width: 768px) {
  .hero-intro .line-text {
    font-size: 8vw;
  }
}
@media only screen and (min-width: 1540px) {
  .hero-intro .line-text {
    font-size: 123px;
  }
}
.hero-intro .rounded {
  font-size: 2.25vw;
  padding: 2vw 3.7vw;
  min-height: 8.5vw;
  border-radius: 9vw;
}
.hero-intro .rounded p, .hero-intro .rounded .p {
  font-size: 2.25vw;
}
@media only screen and (min-width: 768px) {
  .hero-intro .rounded {
    font-size: 1.25vw;
    padding: 1vw 2.5vw;
    min-height: 4.5vw;
    border-radius: 6vw;
  }
  .hero-intro .rounded p, .hero-intro .rounded .p {
    font-size: 1.25vw;
  }
}
@media only screen and (min-width: 1540px) {
  .hero-intro .rounded {
    font-size: 16px;
    padding: 10px 35px;
    min-height: 66px;
    border-radius: 33px;
  }
  .hero-intro .rounded p, .hero-intro .rounded .p {
    font-size: 16px;
  }
}
.hero-intro .line-video-wrap {
  width: 25vw;
  pointer-events: none;
}
@media only screen and (min-width: 768px) {
  .hero-intro .line-video-wrap {
    width: 14vw;
  }
}
@media only screen and (min-width: 1540px) {
  .hero-intro .line-video-wrap {
    width: 180px;
  }
}
.hero-intro .line-video-wrap .line-video {
  padding: 56.25% 0 0;
  position: relative;
  border-radius: 12px;
  overflow: hidden;
}
@media only screen and (min-width: 1240px) {
  .hero-intro .line-video-wrap .line-video {
    border-radius: 22px;
  }
}
.hero-intro .line-video-wrap .line-video video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-intro .mobile-spacer,
.hero-intro .mobile-spacer-small {
  display: none;
}
@media only screen and (max-width: 767px) {
  .hero-intro .mobile-spacer,
  .hero-intro .mobile-spacer-small {
    display: inline-block;
  }
}
.hero-intro .mobile-spacer {
  width: 28vw;
}
.hero-intro .mobile-spacer-small {
  width: 14vw;
}
@media only screen and (max-width: 767px) {
  .hero-intro .line-3 .entry-content,
  .hero-intro .line-3 .line-video-wrap {
    padding-top: 20px;
    display: block;
  }
}
@media only screen and (min-width: 768px) {
  .hero-intro .line-1 {
    display: inline-block;
  }
}
.hero-intro .line-1 .line-video-1 {
  position: absolute;
  bottom: 0.75vw;
  left: 0;
}
@media only screen and (min-width: 768px) {
  .hero-intro .line-1 .line-video-1 {
    bottom: 0;
    left: 104%;
  }
}
@media only screen and (min-width: 1540px) {
  .hero-intro .line-1 .line-video-1 {
    bottom: 12px;
  }
}
.hero-intro .line-1 .rounded {
  position: absolute;
  top: 0;
  right: 0;
}
@media only screen and (min-width: 768px) {
  .hero-intro .line-1 .rounded {
    right: auto;
    left: 123%;
    top: 60%;
  }
}
@media only screen and (min-width: 1440px) {
  .hero-intro .line-1 .rounded {
    left: 120%;
  }
}
.hero-intro .line-2 .line-video-2 {
  position: absolute;
  bottom: 0.75vw;
  right: 0;
}
@media only screen and (min-width: 768px) {
  .hero-intro .line-2 .line-video-2 {
    bottom: 0;
    left: 3%;
    right: auto;
  }
}
@media only screen and (min-width: 1540px) {
  .hero-intro .line-2 .line-video-2 {
    bottom: 12px;
    left: 5%;
  }
}
@media only screen and (min-width: 768px) {
  .hero-intro .line-2 .rounded {
    position: absolute;
    bottom: -16vw;
    right: auto;
    left: 0;
  }
}
@media only screen and (min-width: 1540px) {
  .hero-intro .line-2 .rounded {
    bottom: -245px;
  }
}
@media only screen and (min-width: 1840px) {
  .hero-intro .line-2 .rounded {
    bottom: -15px;
    right: 100%;
    left: auto;
    margin-right: -85px;
  }
}
@media only screen and (min-width: 768px) {
  .hero-intro .line-2 {
    display: block;
    padding-left: 19vw;
  }
}
@media only screen and (min-width: 1540px) {
  .hero-intro .line-2 {
    padding-left: 285px;
  }
}
@media only screen and (min-width: 768px) {
  .hero-intro .line-3 {
    display: flex;
  }
}
@media only screen and (min-width: 768px) {
  .hero-intro .line-3 .line-3-content-wrap {
    display: inline-block;
    width: 42vw;
    padding-left: 2vw;
  }
}
@media only screen and (min-width: 1540px) {
  .hero-intro .line-3 .line-3-content-wrap {
    width: 42%;
    padding-left: 30px;
  }
}
@media only screen and (min-width: 768px) {
  .hero-intro .line-3 .line-3-content-wrap .entry-content {
    line-height: 1.6;
    padding-top: 3vw;
    display: block;
    font-size: 1.5vw;
  }
}
@media only screen and (min-width: 1000px) {
  .hero-intro .line-3 .line-3-content-wrap .entry-content {
    font-size: 1.2vw;
  }
}
@media only screen and (min-width: 1540px) {
  .hero-intro .line-3 .line-3-content-wrap .entry-content {
    font-size: 16px;
    padding-top: 44px;
  }
}
@media only screen and (min-width: 768px) {
  .hero-intro .line-3 .line-3-content-wrap .line-video-wrap {
    padding-top: 2vw;
    display: block;
  }
}
@media only screen and (min-width: 1540px) {
  .hero-intro .line-3 .line-3-content-wrap .line-video-wrap {
    padding-top: 34px;
  }
}

.hero-video-reveal {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.hero-video-reveal video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
  pointer-events: none;
  opacity: 0;
  clip-path: inset(0 100% 0 0 round 2vw);
  transform: scale(1.04);
  transition: clip-path 1.2s cubic-bezier(0.77, 0, 0.175, 1), opacity 0.35s, transform 1.2s;
  will-change: clip-path, opacity, transform;
}
.hero-video-reveal.is-ready video {
  opacity: 1;
}
.hero-video-reveal.is-visible video {
  opacity: 1;
  clip-path: inset(0);
  transform: scale(1);
}
.hero-video-reveal.glow.is-visible {
  animation: glow-pulse 4s ease-in-out infinite;
}

.glow-delay-1 {
  animation-delay: 1s !important;
}

.glow-delay-2 {
  animation-delay: 2s !important;
}

.glow-delay-3 {
  animation-delay: 3s !important;
}

.contact-details p {
  margin: 0;
}
.contact-details a {
  text-decoration: none;
}
@media only screen and (max-width: 767px) {
  .contact-details {
    position: absolute;
    bottom: 0;
    right: 0;
    text-align: right;
    display: block !important;
  }
  .contact-details a {
    margin-left: 5px;
  }
}

.nudge-down,
.nudge-up {
  display: block;
}
