:root {
  --sp-wa: #1fa855;
  --sp-wa-dark: #137a3c;
  --sp-brown: #5d2808;
  --sp-gold: #ffdf99;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  overflow-x: hidden;
}

img,
video {
  max-width: 100%;
  vertical-align: middle;
}

.sp-hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  opacity: 1;
}

.sp-hero-video + div {
  opacity: 0;
}

.sp-reveal {
  opacity: 0;
  transform: translate3d(0, 24px, 0);
  transition: opacity 700ms ease, transform 700ms ease;
  will-change: opacity, transform;
}

.sp-reveal.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.sp-whatsapp-float {
  position: fixed;
  right: max(22px, env(safe-area-inset-right));
  bottom: max(26px, env(safe-area-inset-bottom));
  z-index: 99999;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  padding: 0;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 25%, #39d979 0%, #13a54f 45%, #007d38 100%);
  color: #fff;
  text-decoration: none;
  box-shadow: 0 16px 28px rgba(0, 95, 44, .28), 0 8px 18px rgba(0, 0, 0, .22);
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.sp-whatsapp-float:hover,
.sp-whatsapp-float:focus-visible {
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 20px 34px rgba(0, 95, 44, .34), 0 12px 22px rgba(0, 0, 0, .26);
}

.sp-whatsapp-icon {
  display: block;
  width: 34px;
  height: 34px;
}

.sp-whatsapp-label {
  display: none;
}

footer {
  cursor: pointer;
}

main section:first-of-type {
  isolation: isolate;
}

main section:first-of-type > .relative {
  display: flex;
  flex-direction: column;
  align-items: center;
}

main section:first-of-type h1 {
  margin-bottom: 18px !important;
}

main section:first-of-type .flex.flex-col.sm\:flex-row {
  margin-top: 8px;
}

main section:first-of-type p.font-body-lg,
main section:first-of-type p.font-body-lg + div {
  color: rgba(244, 240, 238, .92) !important;
  font-family: Manrope, Arial, sans-serif !important;
  font-size: clamp(15px, 2.8vw, 18px) !important;
  line-height: 1.55 !important;
  max-width: 760px;
  text-align: center;
  text-shadow: 0 2px 18px rgba(0, 0, 0, .72);
}

main section:first-of-type p.font-body-lg + div {
  margin: 0 auto !important;
}

main section img {
  display: block;
}

main section [class*="overflow-hidden"] > img,
main section [class*="overflow-hidden"] > picture,
main section [class*="overflow-hidden"] > video {
  display: block;
}

main section .text-center + .grid {
  margin-top: 30px !important;
}

main section .text-center p {
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}

main section .text-center h2,
main section .text-center h3 {
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.08 !important;
  text-wrap: balance;
}

main section .text-center h2 + p,
main section .text-center h3 + p {
  margin-top: 14px !important;
}

main section img {
  image-rendering: auto;
  filter: none !important;
  transform: translateZ(0);
}

main section [class*="overflow-hidden"] {
  background-color: transparent !important;
}

main section [class*="overflow-hidden"] > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

main section [class*="overflow-hidden"] > .absolute.inset-0[class*="bg-gradient-to-t"]:not(:has(+ *)) {
  display: none !important;
}

main section [class*="overflow-hidden"] > img + .absolute.inset-0[class*="bg-gradient-to-t"] {
  opacity: 0 !important;
  pointer-events: none;
}

main section [class*="overflow-hidden"] > .absolute.inset-0[class*="backdrop-blur"] {
  backdrop-filter: none !important;
}

main section [class*="overflow-hidden"]::after {
  display: none !important;
}

@media (min-width: 768px) {
  main section .text-center {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
  }

  main section .text-center h2 {
    font-size: clamp(32px, 3.4vw, 48px) !important;
    max-width: 980px;
  }

  main section .text-center p {
    font-size: 17px !important;
    line-height: 1.55 !important;
    max-width: 980px;
  }
}

#faq > .absolute.inset-0.pointer-events-none {
  display: none !important;
}

.sp-fish-layer {
  position: fixed;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  overflow: hidden;
  opacity: 0;
  transition: opacity 500ms ease;
}

.sp-fish {
  position: absolute;
  display: block;
  width: clamp(120px, 13vw, 230px);
  color: rgba(109, 54, 22, .16);
  filter: drop-shadow(0 8px 16px rgba(93, 40, 8, .12));
  will-change: transform;
  --sp-flee-x: 0px;
  --sp-flee-y: 0px;
  transition: translate 260ms ease-out;
  translate: var(--sp-flee-x) var(--sp-flee-y);
}

.sp-fish svg {
  display: block;
  width: 100%;
  height: auto;
  fill: currentColor;
}

.sp-fish-layer.is-active {
  opacity: 1;
}

.sp-fish.is-fleeing {
  transition-duration: 120ms;
}

.sp-fish-one {
  top: 18%;
  animation: spSwimRight 24s linear infinite, spFishBob 4.8s ease-in-out infinite;
}

.sp-fish-two {
  top: 46%;
  width: clamp(96px, 11vw, 190px);
  color: rgba(143, 82, 38, .14);
  animation: spSwimLeft 29s linear -10s infinite, spFishBob 5.4s ease-in-out infinite;
}

.sp-fish-three {
  top: 74%;
  width: clamp(80px, 9vw, 160px);
  color: rgba(93, 40, 8, .12);
  animation: spSwimRight 34s linear -18s infinite, spFishLeap 7s ease-in-out infinite;
}

@keyframes spSwimRight {
  0% { transform: translate3d(-8vw, 0, 0) rotate(-2deg) scale(.9); opacity: 0; }
  6% { opacity: 1; }
  30% { transform: translate3d(28vw, -22px, 0) rotate(4deg) scale(1.02); }
  55% { transform: translate3d(60vw, 18px, 0) rotate(-3deg) scale(.94); }
  82% { transform: translate3d(92vw, -16px, 0) rotate(3deg) scale(1.04); opacity: 1; }
  100% { transform: translate3d(108vw, 0, 0) rotate(-1deg) scale(.9); opacity: 0; }
}

@keyframes spSwimLeft {
  0% { transform: translate3d(108vw, 0, 0) scaleX(-1) rotate(2deg); opacity: 0; }
  6% { opacity: 1; }
  30% { transform: translate3d(76vw, 24px, 0) scaleX(-1) rotate(-4deg); }
  58% { transform: translate3d(40vw, -18px, 0) scaleX(-1) rotate(3deg); }
  88% { transform: translate3d(4vw, 8px, 0) scaleX(-1) rotate(-2deg); opacity: 1; }
  100% { transform: translate3d(-8vw, 0, 0) scaleX(-1) rotate(-2deg); opacity: 0; }
}

@keyframes spSwimDiagonal {
  0% { transform: translate3d(-16vw, 18vh, 0) rotate(-5deg) scale(.8); }
  38% { transform: translate3d(36vw, -8vh, 0) rotate(6deg) scale(1.04); }
  70% { transform: translate3d(78vw, 10vh, 0) rotate(-4deg) scale(.92); }
  100% { transform: translate3d(116vw, -14vh, 0) rotate(4deg) scale(.82); }
}

@keyframes spFishBob {
  0%, 100% { margin-top: 0; }
  50% { margin-top: -18px; }
}

@keyframes spFishLeap {
  0%, 100% { margin-top: 0; }
  35% { margin-top: -30px; }
  52% { margin-top: 10px; }
}

@media (max-width: 767px) {
  header {
    position: sticky !important;
  }

  header > div:first-child {
    display: none !important;
  }

  header > div:nth-child(2) {
    height: 64px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  header img {
    height: 38px !important;
  }

  main {
    padding-top: 0 !important;
  }

  main section:first-of-type {
    min-height: 86svh !important;
    margin-top: 0 !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  h1 {
    font-size: clamp(34px, 11vw, 48px) !important;
    line-height: .98 !important;
    letter-spacing: 0 !important;
  }

  main section:first-of-type h1 {
    margin-bottom: 14px !important;
  }

  main section:first-of-type .flex.flex-col.sm\:flex-row {
    gap: 12px !important;
    margin-top: 12px;
  }

  main section:first-of-type p.font-body-lg,
  main section:first-of-type p.font-body-lg + div {
    font-size: 15px !important;
    line-height: 1.45 !important;
    padding-left: 4px;
    padding-right: 4px;
  }

  main section .text-center {
    margin-bottom: 28px !important;
  }

  main section .text-center + .grid {
    margin-top: 22px !important;
  }

  main section .grid.grid-cols-3 {
    grid-template-columns: 1fr !important;
  }

  section {
    scroll-margin-top: 72px;
  }

  .sp-whatsapp-float {
    left: auto;
    right: max(18px, env(safe-area-inset-right));
    bottom: max(18px, env(safe-area-inset-bottom));
    width: 58px;
    height: 58px;
    min-height: 58px;
  }

  .sp-whatsapp-icon {
    width: 31px;
    height: 31px;
  }

  .sp-fish {
    width: clamp(82px, 24vw, 120px);
  }

  .sp-fish-three {
    display: none;
  }
}

@media (min-width: 768px) {
  section {
    scroll-margin-top: 112px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .sp-reveal {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .sp-hero-video {
    display: none;
  }

  .sp-fish-layer {
    display: none;
  }
}
