/* Brand, content and ocean palette layered over the original Framer build. */
:root {
  --bahia-ocean-950: #043a56;
  --bahia-ocean-900: #064b67;
  --bahia-ocean-800: #08647a;
  --bahia-teal-600: #079ba4;
  --bahia-teal-500: #12b5b3;
  --bahia-aqua-200: #a7e0df;
  --bahia-foam: #f2fbfa;

  --token-1679c7f0-1868-4701-81d5-15ba0a5f2434: var(--bahia-ocean-950) !important;
  --token-475936ba-8864-4770-9713-5d8b6c4eeae6: var(--bahia-ocean-900) !important;
  --token-8872ea54-88a6-4157-8848-293bf9f2b125: var(--bahia-ocean-900) !important;
  --token-f317a2a6-2981-404a-911a-23ac76824a7d: var(--bahia-ocean-950) !important;
  --token-fc5dffcb-9568-4484-a336-e739e6ee854b: var(--bahia-teal-500) !important;
  --token-0089942e-b46b-4b30-a9fc-f9c710b6e92c: #355f70 !important;
  --token-25ff31ab-0d05-46b8-8f6f-323a44bc9868: #567887 !important;
  --token-3bb484c2-9f8e-4924-8278-1f0ba9028dad: #7897a3 !important;
  --token-797ab030-f8f9-4fa5-9ca9-47203acd1eba: var(--bahia-foam) !important;
  --token-8c2e2ee7-9d9a-4777-a6fb-8b243b942efd: #e8f6f5 !important;
}

html,
body {
  background-color: var(--bahia-ocean-950) !important;
}

::selection {
  background: var(--bahia-teal-500);
  color: #ffffff;
}

[data-bahia-dark-surface] {
  background-color: var(--bahia-ocean-950) !important;
}

[data-framer-name="Desktop Open"],
[data-framer-name="Tablet Open"],
[data-framer-name="Phone Open"] {
  background-color: var(--bahia-ocean-950) !important;
}

[data-bahia-dark-gradient] {
  background-image: linear-gradient(180deg, rgba(4, 58, 86, 0) 38%, rgba(4, 58, 86, 0.96) 100%) !important;
}

[data-bahia-dark-text] {
  color: var(--bahia-ocean-950) !important;
}

[data-bahia-dark-border] {
  border-color: var(--bahia-ocean-800) !important;
}

[data-framer-name="Get Template"],
#template-overlay,
[id="__framer-badge-container"],
[id="__framer-editorbar"],
.framer-19k8402-container,
[data-framer-branding],
a[aria-label*="Made in Framer"],
a[href*="framer.com"][aria-label*="Framer"] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.bahia-brand-mark {
  display: block;
  width: 110px;
  height: 76px;
  object-fit: contain;
  object-position: left center;
  filter: brightness(0) invert(1);
}

.bahia-brand-copy {
  white-space: normal !important;
}

/* Framer calculates fit-text before the brand copy is replaced. Refit the two
   longer Portuguese display lines so their original animated masks stay intact. */
.bahia-fit-brand-title {
  font-size: clamp(54px, 9.8vw, 148px) !important;
  line-height: 0.88 !important;
  white-space: nowrap !important;
}

.bahia-contact-title {
  width: 100% !important;
  font-size: clamp(48px, 7.2vw, 104px) !important;
  line-height: 0.9 !important;
  text-align: left !important;
  white-space: nowrap !important;
}

.bahia-page-title {
  font-size: clamp(34px, 4.7vw, 70px) !important;
  line-height: 0.88 !important;
  white-space: nowrap !important;
}

[data-framer-name="Heading"]:has(.bahia-card-title) {
  width: 100% !important;
  min-width: 0 !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
}

[data-framer-name="Heading"]:has(.bahia-card-title) > [data-framer-component-type="RichTextContainer"] {
  width: 100% !important;
  min-width: 0 !important;
}

.bahia-card-title {
  width: 100% !important;
  line-height: 1.15 !important;
  text-align: left !important;
  white-space: normal !important;
}

.bahia-animated-copy span[style*="inline-block"] {
  animation: bahia-letter-reveal 520ms cubic-bezier(0.22, 1, 0.36, 1) both !important;
  animation-delay: calc(var(--bahia-letter-index, 0) * 5ms) !important;
}

@keyframes bahia-letter-reveal {
  from {
    opacity: 0;
    filter: blur(8px);
    transform: translateY(12px);
  }

  to {
    opacity: 1;
    filter: blur(0);
    transform: none;
  }
}

.bahia-loader-lockup {
  display: flex !important;
  width: min(78vw, 620px) !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  white-space: normal !important;
  text-align: center;
}

.bahia-loader-logo {
  display: block;
  width: clamp(108px, 10vw, 142px);
  height: clamp(90px, 9vw, 120px);
  object-fit: contain;
  filter: brightness(0) invert(1);
}

.bahia-loader-name {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap !important;
  border: 0;
}

.bahia-portal-link {
  position: fixed;
  z-index: 2147483000;
  right: 22px;
  bottom: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 11px 17px;
  border: 1px solid rgba(255, 255, 255, 0.36);
  border-radius: 999px;
  background: #0b7895;
  box-shadow: 0 14px 36px rgba(4, 46, 67, 0.28);
  color: #ffffff !important;
  font: 700 13px/1.2 Inter, Arial, sans-serif;
  letter-spacing: 0.01em;
  text-decoration: none !important;
  transition: transform 180ms ease, background 180ms ease;
}

.bahia-portal-link:hover {
  transform: translateY(-2px);
  background: #08637e;
}

@media (max-width: 809.98px) {
  .bahia-portal-link {
    right: 14px;
    bottom: 14px;
    min-height: 43px;
    padding: 10px 14px;
    font-size: 12px;
  }
  .bahia-brand-mark {
    width: 88px;
    height: 62px;
  }

  .bahia-loader-lockup {
    width: min(84vw, 420px) !important;
    gap: 10px;
  }

  .bahia-loader-logo {
    width: 108px;
    height: 92px;
  }

  .bahia-fit-brand-title {
    font-size: clamp(30px, 9.5vw, 54px) !important;
  }

  .bahia-contact-title {
    font-size: clamp(28px, 8.4vw, 42px) !important;
  }

  .bahia-page-title {
    font-size: clamp(19px, 5.3vw, 34px) !important;
  }

  .bahia-footer-brand,
  div:has(> p > .bahia-footer-brand) {
    width: 100% !important;
    align-self: flex-start !important;
    text-align: left !important;
  }
}
