:root {
  --jp-header-bg: rgba(255, 255, 255, 0.94);
  --jp-shadow-soft: 0 18px 40px rgba(15, 23, 42, 0.08);
  --jp-shadow-card: 0 14px 28px rgba(15, 23, 42, 0.08);
}

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

* {
  box-sizing: border-box;
}

body {
  text-wrap: pretty;
}

img {
  max-width: 100%;
}

input,
select,
textarea {
  background-color: #ffffff !important;
  color: #191c1d !important;
  -webkit-appearance: none;
  appearance: none;
}

input::placeholder,
textarea::placeholder {
  color: #9ca3af !important;
}

.material-symbols-outlined {
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
}

.site-header {
  background: var(--jp-header-bg);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.site-container {
  width: 100%;
}

.site-menu-toggle {
  border: 1px solid rgba(0, 86, 184, 0.14);
  background: #ffffff;
  color: #0056b8;
  box-shadow: 0 10px 22px rgba(0, 86, 184, 0.09);
}

.site-mobile-panel {
  border-top: 1px solid rgba(148, 163, 184, 0.18);
}

.site-mobile-panel[hidden] {
  display: none !important;
}

.site-mobile-link {
  display: block;
  width: 100%;
  border-radius: 1rem;
  padding: 0.9rem 1rem;
  font-weight: 700;
}

.site-link-active {
  color: #0056b8 !important;
}

.site-link-current {
  background: rgba(0, 86, 184, 0.08);
  color: #0056b8 !important;
}

.site-link-mobile-current {
  background: rgba(0, 86, 184, 0.08);
  color: #0056b8 !important;
}

.hero-section {
  min-height: 850px !important;
  height: 850px !important;
}

.hero-section .site-container {
  padding-top: clamp(4rem, 9vw, 7rem);
  padding-bottom: clamp(4rem, 9vw, 7rem);
}

.hero-section h1 {
  font-size: clamp(2.5rem, 6vw, 5.5rem) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.04em;
  max-width: 11ch;
}

.hero-section p.text-xl,
.hero-section p.text-2xl {
  font-size: clamp(1rem, 2vw, 1.35rem) !important;
  line-height: 1.6 !important;
  max-width: 40rem;
}

.hero-section a.bg-secondary,
.hero-section a.bg-primary {
  min-height: 3.5rem;
  padding: 0.95rem 1.4rem !important;
  border-radius: 9999px;
}

.hero-section > .absolute:first-child {
  position: absolute !important;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
}

.hero-section > .absolute:first-child img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-section {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

@media (max-width: 767px) {
  .hero-section {
    min-height: 30rem !important;
    height: 30rem !important;
  }
}

.site-frame-lg {
  height: clamp(18rem, 42vw, 31rem) !important;
}

.site-frame-md {
  height: clamp(18rem, 38vw, 26rem) !important;
}

.site-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.trust-strip-item {
  min-height: 3rem;
}

.fab-whatsapp {
  width: 3.8rem;
  height: 3.8rem;
  right: 1rem;
  bottom: 1rem;
  box-shadow: 0 18px 32px rgba(6, 95, 70, 0.32);
}

.site-footer {
  position: relative;
}

.site-footer-logo {
  width: auto;
  height: 3.3rem;
}

@media (max-width: 1023px) {
  .site-container {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
  }

  .hero-section {
    min-height: 30rem !important;
  }

  .hero-section .site-container {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  .hero-section h1 {
    max-width: 12ch;
  }
}

@media (max-width: 767px) {
  .site-container {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  section.hero-section[style*="850px"],
  .hero-section[style*="850px"],
  html body section.hero-section,
  body section.hero-section {
    min-height: 400px !important;
    height: 400px !important;
    max-height: 400px !important;
    overflow: hidden !important;
  }

  html body .hero-section,
  body .hero-section,
  section.hero-section {
    min-height: 600px !important;
    height: 600px !important;
    background-color: #0056b8 !important;
  }

  .hero-section > .absolute:first-child {
    display: none !important;
  }

  .hero-section .site-container {
    padding-top: 2.75rem;
    padding-bottom: 2.75rem;
  }

  .hero-section h1 {
    font-size: clamp(2.2rem, 10vw, 3.25rem) !important;
    line-height: 1.03 !important;
  }

  .hero-section p.text-xl,
  .hero-section p.text-2xl {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  .hero-section a.bg-secondary,
  .hero-section a.bg-primary {
    width: 100%;
    justify-content: center;
    font-size: 0.95rem !important;
  }

  .hero-section .absolute.inset-0.z-0 img {
    transform: none;
  }


  .hero-section > .absolute:first-child {
    display: none !important;
  }

  .hero-section .site-container {
    padding-top: 2.75rem;
    padding-bottom: 2.75rem;
  }

  .hero-section h1 {
    font-size: clamp(2.2rem, 10vw, 3.25rem) !important;
    line-height: 1.03 !important;
  }

  .hero-section p.text-xl,
  .hero-section p.text-2xl {
    font-size: 1rem !important;
    line-height: 1.55 !important;
  }

  .hero-section a.bg-secondary,
  .hero-section a.bg-primary {
    width: 100%;
    justify-content: center;
    font-size: 0.95rem !important;
  }

  .hero-section .absolute.inset-0.z-0 img {
    transform: none;
  }

  .trust-strip-grid {
    gap: 0 !important;
  }

  .trust-strip-grid > div {
    gap: 0 !important;
  }

  .trust-strip-item {
    justify-content: flex-start !important;
    gap: 0.8rem !important;
    text-align: left !important;
    padding: 0.7rem 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  }

  .trust-strip-item:last-child {
    border-bottom: 0;
  }

  .trust-strip-item .material-symbols-outlined {
    flex-shrink: 0;
    min-width: 1.5rem;
    font-size: 1.5rem !important;
  }

  .trust-strip-item span.text-xl {
    font-size: 1rem !important;
    line-height: 1.25 !important;
  }

  .site-frame-lg,
  .site-frame-md {
    height: clamp(16rem, 60vw, 22rem) !important;
  }

  .fab-whatsapp {
    width: 3.5rem;
    height: 3.5rem;
    right: 0.9rem;
    bottom: 0.9rem;
  }

  .site-footer-logo {
    height: 2.8rem;
  }

  .mobile-hero-fallback {
    display: block !important;
    margin-top: 1.5rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

/* Mobile banner height override - must override inline styles */
@media (max-width: 767px) {
  .banner-section,
  .hero-section {
    height: 600px !important;
    min-height: 600px !important;
  }
  
  section.hero-section {
    height: 600px !important;
    min-height: 600px !important;
    max-height: 600px !important;
  }

  .relative.w-full.flex.items-center.overflow-hidden.bg-primary.text-white.hero-section {
    height: 600px !important;
    min-height: 600px !important;
    max-height: 600px !important;
  }
}
