/* Responsive overrides for the published Framer layout. Desktop stays unchanged. */
.framer-njRbD #contato .framer-2nnbjd { display: none; }
@media (max-width: 1199px) {
  html { scroll-padding-top: 80px; }
  html, body, #main { margin: 0; width: 100%; background: white; }
  .framer-njRbD.framer-72rtr7 { width: 100% !important; min-width: 0; align-items: stretch; }
  .framer-njRbD :is(.framer-1kvfl5k, .framer-1vqhmsj, .framer-1mmdyqb, .framer-r90ikm, .framer-atvh01) { width: 100%; height: auto; min-height: 0; padding: 64px 24px; gap: 36px; align-items: stretch; z-index: 1; }
  .framer-njRbD section * { min-width: 0; }
  .framer-njRbD section [data-framer-component-type="RichTextContainer"] { max-width: 100%; height: auto; white-space: normal; overflow-wrap: break-word; }
  .framer-njRbD section .framer-text { letter-spacing: 0; }
  .framer-njRbD .framer-1uyg2dl { width: 32%; height: auto; aspect-ratio: 782 / 1080; opacity: .12; pointer-events: none; z-index: 0; }
  .framer-njRbD .framer-7nrhwc { top: auto; bottom: 20px; right: 12px; }
  .framer-njRbD .framer-1kvfl5k { padding-top: 112px; min-height: 620px; gap: 28px; align-items: center; }
  .framer-njRbD .framer-1gvrzq1 { width: calc(55% - 14px); }
  .framer-njRbD .framer-1t9nm80, .framer-njRbD .framer-1anmrvh { width: 100%; }
  .framer-njRbD .framer-q3ly0l { width: calc(45% - 14px); height: auto; aspect-ratio: 474 / 303; }
  .framer-njRbD .framer-g6pzyn { gap: 28px; align-items: flex-start; }
  .framer-njRbD .framer-1o0en1p { width: calc(58% - 14px); padding: 0; align-items: stretch; }
  .framer-njRbD .framer-vzfws0, .framer-njRbD .framer-17rvceq,
  .framer-njRbD .framer-1yok706, .framer-njRbD .framer-17dw33f { width: 100%; }
  .framer-njRbD .framer-17dw33f { height: auto; padding: 18px; }
  .framer-njRbD .framer-1m6x1hm { position: relative; width: 100%; top: auto; right: auto; transform: none !important; }
  .framer-njRbD .framer-7hej1x { width: calc(42% - 14px); height: auto; aspect-ratio: 464 / 600; }
  .framer-njRbD .framer-153esc0 { padding: 24px 0 0; }
  .framer-njRbD .framer-2ipbu9 { width: 100%; }
  .framer-njRbD .framer-176m0qv { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 24px; }
  .framer-njRbD .framer-176m0qv > div,
  .framer-njRbD .framer-1dr0n4r > div { display: contents !important; }
  .framer-njRbD .framer-176m0qv > div > div { width: 100%; height: auto; min-height: 280px; padding: 24px 16px; flex-wrap: nowrap; }
  .framer-njRbD .framer-176m0qv [data-framer-component-type="RichTextContainer"] { width: 100%; }
  .framer-njRbD .framer-176m0qv br { display: none; }
  .framer-njRbD .framer-1lf7i2y, .framer-njRbD .framer-1agojuo,
  .framer-njRbD .framer-170g4vg { position: relative; top: auto; left: auto; height: auto; padding: 0; width: 100%; gap: 12px; }
  .framer-njRbD .framer-ljvdva, .framer-njRbD .framer-1dr0n4r { width: 100%; height: auto; padding: 0; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 24px; }
  .framer-njRbD .framer-ljvdva > div { display: contents !important; }
  .framer-njRbD .framer-ljvdva > div > div { width: 100%; height: auto; min-height: 240px; padding: 24px; flex-wrap: nowrap; gap: 14px; }
  .framer-njRbD .framer-ljvdva [data-framer-component-type="RichTextContainer"] { width: 100%; }
  .framer-njRbD .framer-6flr0t { width: 100%; }
  .framer-njRbD .framer-1dr0n4r > div > div { width: 100%; height: auto; flex-flow: column nowrap; padding: 24px; gap: 14px; }
  .framer-njRbD .framer-1dr0n4r [data-framer-component-type="RichTextContainer"] { width: 100%; }
  .framer-njRbD .framer-sohvdf, .framer-njRbD .framer-6lf24s,
  .framer-njRbD .framer-pssj6g, .framer-njRbD .framer-mmwoit { width: 160px; height: 160px; }
  .framer-njRbD .framer-12hldwk, .framer-njRbD .framer-2nnbjd { width: 100%; }
  .framer-njRbD .framer-17brrti { width: 100%; padding: 0; gap: 28px; align-items: flex-start; }
  .framer-njRbD .framer-tu51jo { width: calc(45% - 14px); height: auto; align-items: stretch; }
  .framer-njRbD .framer-9u3uhq { width: 100%; height: auto; gap: 24px; }
  .framer-njRbD .framer-4v9uy4 { width: calc(55% - 14px); }
  .framer-njRbD .framer-4v9uy4 .framer-form-input { font-size: 16px; color: white; }
  .framer-njRbD .framer-4v9uy4 .framer-form-input::placeholder { color: #ddd; }
  .framer-njRbD .framer-form-input-wrapper { min-height: 44px; }
  .framer-njRbD .framer-19p0avr-container { height: 44px; }
  .framer-njRbD .framer-17jlm0f { white-space: normal; overflow-wrap: anywhere; }
}

@media (max-width: 700px) {
  html { scroll-padding-top: 140px; }
  .framer-njRbD .framer-agq1if { height: auto; overflow: visible; }
  .framer-njRbD .framer-1pg1ukh { flex-direction: column; height: auto; padding: 8px 12px; gap: 4px; overflow: visible; box-shadow: none; }
  .framer-njRbD .framer-lld8xm { position: relative; top: auto; left: auto; transform: none !important; width: 82px; height: 45px; align-self: flex-start; }
  .framer-njRbD .framer-1whnm7t-container { position: relative; top: auto; right: auto; width: 100%; height: auto; }
  .framer-ccQYA.framer-oyrsuo { width: 100%; height: auto !important; flex-wrap: wrap; padding: 0; gap: 0 14px; overflow: visible; }
  .framer-ccQYA.framer-oyrsuo > div { width: auto; height: auto; }
  .framer-ccQYA.framer-oyrsuo a { display: inline-flex; min-height: 44px; align-items: center; font-size: 14px; line-height: 1.4; white-space: nowrap; }
  .framer-njRbD :is(.framer-1kvfl5k, .framer-1vqhmsj, .framer-1mmdyqb, .framer-r90ikm, .framer-atvh01) { padding: 48px 20px; gap: 28px; }
  .framer-njRbD .framer-1kvfl5k { flex-direction: column; min-height: 0; padding-top: 164px; align-items: stretch; }
  .framer-njRbD .framer-1gvrzq1, .framer-njRbD .framer-q3ly0l,
  .framer-njRbD .framer-1o0en1p, .framer-njRbD .framer-7hej1x,
  .framer-njRbD .framer-tu51jo, .framer-njRbD .framer-4v9uy4 { width: 100%; }
  .framer-njRbD .framer-1t9nm80 h1, .framer-njRbD .framer-1t9nm80 span { font-size: 34px !important; line-height: 1.12 !important; }
  .framer-njRbD .framer-g6pzyn, .framer-njRbD .framer-17brrti { flex-direction: column; }
  .framer-njRbD .framer-7hej1x { aspect-ratio: 4 / 3; }
  .framer-njRbD .framer-176m0qv, .framer-njRbD .framer-ljvdva,
  .framer-njRbD .framer-1dr0n4r { grid-template-columns: minmax(0, 1fr) !important; }
  .framer-njRbD .framer-5e8cvt { gap: 12px; flex-wrap: wrap; width: 100%; }
  .framer-njRbD .framer-j6n43d { width: 100%; align-items: flex-start; }
  .framer-njRbD .framer-1l7h9h9-container, .framer-njRbD .framer-134cker-container { height: 44px; min-width: 140px; }
  .framer-njRbD .framer-1l7h9h9-container > a, .framer-njRbD .framer-134cker-container > div { width: 100%; }
  .framer-njRbD .framer-ifuo1z, .framer-njRbD .framer-1fy4lk0 { width: auto; }
  .framer-njRbD .framer-5e8cvt .framer-text { white-space: nowrap; }
}

/* Keep the illustration and the reading column in separate lanes. */
@media (max-width: 1199px) {
  .framer-njRbD.framer-72rtr7 { --background-lane: 28%; align-items: flex-end; }
  .framer-njRbD :is(.framer-1kvfl5k, .framer-1vqhmsj, .framer-1mmdyqb, .framer-r90ikm, .framer-atvh01) {
    width: calc(100% - var(--background-lane));
    margin-left: auto;
    align-self: flex-end;
  }
  .framer-njRbD :is(.framer-1vqhmsj, .framer-1mmdyqb, .framer-r90ikm) { background-color: white; }
  .framer-njRbD .framer-1uyg2dl {
    width: var(--background-lane);
    height: calc(100vh - 61px);
    height: calc(100dvh - 61px);
    aspect-ratio: auto;
    opacity: 1;
    overflow: hidden;
    background-color: white;
  }
  .framer-njRbD .framer-1uyg2dl img { object-fit: contain !important; object-position: left center !important; }
  .framer-njRbD .framer-1kvfl5k, .framer-njRbD .framer-g6pzyn,
  .framer-njRbD .framer-17brrti { flex-direction: column; align-items: stretch; }
  .framer-njRbD .framer-1gvrzq1, .framer-njRbD .framer-q3ly0l,
  .framer-njRbD .framer-1o0en1p, .framer-njRbD .framer-7hej1x,
  .framer-njRbD .framer-tu51jo, .framer-njRbD .framer-4v9uy4 { width: 100%; }
  .framer-njRbD .framer-7hej1x { aspect-ratio: 4 / 3; }
  .framer-njRbD .framer-aamxbh, .framer-njRbD .framer-1d6u95u,
  .framer-njRbD .framer-crn9kc, .framer-njRbD .framer-1uwm54w {
    width: calc(100% - 50px); flex: 1; min-width: 0;
  }
}

@media (max-width: 1000px) {
  .framer-njRbD .framer-176m0qv, .framer-njRbD .framer-ljvdva,
  .framer-njRbD .framer-1dr0n4r { grid-template-columns: minmax(0, 1fr) !important; }
}

@media (max-width: 700px) {
  .framer-njRbD.framer-72rtr7 { --background-lane: 22%; }
  .framer-njRbD .framer-1uyg2dl { height: calc(100vh - 140px); height: calc(100dvh - 140px); }
  .framer-njRbD :is(.framer-1kvfl5k, .framer-1vqhmsj, .framer-1mmdyqb, .framer-r90ikm, .framer-atvh01) {
    padding-left: 12px; padding-right: 12px;
  }
  .framer-njRbD .framer-1t9nm80 h1, .framer-njRbD .framer-1t9nm80 span { font-size: 28px !important; }
  .framer-njRbD .framer-4v9uy4 { padding: 16px 12px; }
  .framer-njRbD .framer-ljvdva > div > div,
  .framer-njRbD .framer-1dr0n4r > div > div { padding: 20px 12px; }
}

.responsive-menu-toggle { display: none; }
.responsive-contact-link { color: inherit !important; text-decoration: none; }

/* Compact navigation and comfortable controls within the right-hand column. */
@media (max-width: 1199px) {
  html { scroll-padding-top: 80px; }
  .framer-njRbD .framer-agq1if.has-responsive-navigation { height: 64px; overflow: visible; box-shadow: 0 1px 8px #00000015; }
  .framer-njRbD .has-responsive-navigation .framer-1pg1ukh {
    height: 64px; flex-direction: row; justify-content: space-between;
    align-items: center; padding: 6px 16px; overflow: visible; box-shadow: none;
  }
  .framer-njRbD .has-responsive-navigation .framer-lld8xm {
    position: relative; top: auto; left: auto; width: 90px; height: 49px;
    align-self: center; transform: none !important;
  }
  .responsive-menu-toggle {
    display: inline-flex; width: 48px; height: 48px; padding: 12px;
    align-items: center; justify-content: center; flex: none; cursor: pointer;
    color: #1e3d99; background: white; border: 1px solid #d7deeb; border-radius: 6px;
  }
  .responsive-menu-symbol, .responsive-menu-symbol::before, .responsive-menu-symbol::after {
    display: block; position: relative; width: 22px; height: 2px; background: currentColor;
  }
  .responsive-menu-symbol::before, .responsive-menu-symbol::after { content: ''; position: absolute; left: 0; }
  .responsive-menu-symbol::before { top: -7px; }
  .responsive-menu-symbol::after { top: 7px; }
  .navigation-open .responsive-menu-symbol { background: transparent; }
  .navigation-open .responsive-menu-symbol::before { top: 0; transform: rotate(45deg); }
  .navigation-open .responsive-menu-symbol::after { top: 0; transform: rotate(-45deg); }
  .framer-njRbD .has-responsive-navigation .framer-1whnm7t-container {
    display: none; position: absolute; top: 64px; right: 12px; left: auto;
    width: min(380px, calc(100vw - var(--background-lane) - 12px)); height: auto;
    max-height: calc(100dvh - 88px); overflow: auto;
    background: white; border: 1px solid #d7deeb; border-radius: 6px; box-shadow: 0 12px 28px #172d4826;
  }
  .framer-njRbD .navigation-open .framer-1whnm7t-container { display: block; }
  .has-responsive-navigation .framer-ccQYA.framer-oyrsuo {
    width: 100%; height: auto !important; padding: 8px; gap: 4px;
    flex-direction: column; flex-wrap: nowrap; align-items: stretch; overflow: visible;
  }
  .has-responsive-navigation .framer-ccQYA.framer-oyrsuo > div { width: 100%; height: auto; }
  .has-responsive-navigation .framer-ccQYA.framer-oyrsuo a {
    display: flex; width: 100%; min-height: 48px; padding: 8px 14px;
    align-items: center; font-size: 16px; line-height: 1.4; border-radius: 4px;
  }
  .has-responsive-navigation .framer-ccQYA.framer-oyrsuo a:hover,
  .has-responsive-navigation .framer-ccQYA.framer-oyrsuo a:focus-visible { background: #edf2fc; color: #1e3d99; }
  .responsive-menu-toggle:focus-visible,
  .framer-njRbD [data-contact-action]:focus-visible { outline: 3px solid #19a8ce; outline-offset: 3px; }
  .framer-njRbD .framer-1uyg2dl { height: calc(100vh - 64px); height: calc(100dvh - 64px); }
  .framer-njRbD .framer-1kvfl5k { padding-top: 100px; min-height: 0; }
  .framer-njRbD .framer-5e8cvt { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; gap: 12px; }
  .framer-njRbD .framer-j6n43d { width: 100%; }
  .framer-njRbD .framer-1l7h9h9-container,
  .framer-njRbD .framer-134cker-container { width: 100%; min-width: 0; height: 48px; }
  .framer-njRbD .framer-1l7h9h9-container > a,
  .framer-njRbD .framer-134cker-container > div { width: 100%; cursor: pointer; }
  .framer-njRbD .framer-ifuo1z, .framer-njRbD .framer-1fy4lk0 { width: auto; }
  .framer-njRbD .framer-5e8cvt .framer-text { white-space: nowrap; }
  .framer-njRbD .framer-1anmrvh h1,
  .framer-njRbD .framer-17rvceq h1 { font-size: 16px !important; line-height: 1.65 !important; font-weight: 400 !important; }
  .framer-njRbD .framer-17dw33f p { line-height: 1.65 !important; font-size: 16px !important; }
  .framer-njRbD .framer-176m0qv p { line-height: 1.5 !important; }
  .framer-njRbD .framer-1dr0n4r p { font-size: 16px !important; line-height: 1.55 !important; font-weight: 400 !important; text-align: left !important; }
  .framer-njRbD .framer-1dr0n4r :is(.framer-aub57a, .framer-1gtnuz8, .framer-1u60kur, .framer-1uwzylt) p { font-size: 20px !important; font-weight: 700 !important; }
  .framer-njRbD .framer-4v9uy4 { gap: 18px; }
  .framer-njRbD .framer-4v9uy4 .framer-form-input-wrapper { min-height: 48px; }
  .framer-njRbD .framer-4v9uy4 .framer-form-input { font-size: 16px; line-height: 1.5; }
  .framer-njRbD .framer-11jhysl { min-height: 140px; }
  .framer-njRbD .framer-19p0avr-container { height: 48px; }
  .framer-njRbD .responsive-contact-link { display: inline-block; padding: 6px 0; text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
  .framer-njRbD .framer-7nrhwc { right: auto; left: calc((var(--background-lane) - 44px) / 2); }
}

@media (max-width: 700px) {
  .framer-njRbD .framer-5e8cvt { grid-template-columns: minmax(0, 1fr); }
  .framer-njRbD .framer-14cd9uy h1,
  .framer-njRbD .framer-n18xyt h1,
  .framer-njRbD .framer-1ej9w0h h1,
  .framer-njRbD .framer-dw093i h1,
  .framer-njRbD .framer-12hldwk h1 { font-size: 26px !important; line-height: 1.2 !important; }
}

html { scroll-behavior: smooth; }
.framer-njRbD .framer-7nrhwc {
  position: fixed;
  top: auto;
  bottom: max(20px, env(safe-area-inset-bottom));
  right: max(16px, env(safe-area-inset-right));
  z-index: 1000;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 0;
  box-shadow: none;
}
.framer-njRbD .framer-7nrhwc .framer-ah7o2c { width: 34px; height: 34px; }
.framer-njRbD .framer-7nrhwc:hover { background: transparent; }
.framer-njRbD .framer-7nrhwc:focus-visible { outline: 3px solid #19a8ce; outline-offset: 3px; }

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