.elementor-308 .elementor-element.elementor-element-4364a6a7{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;--gap:14px 14px;--row-gap:14px;--column-gap:14px;--padding-top:96px;--padding-bottom:72px;--padding-left:24px;--padding-right:24px;}.elementor-308 .elementor-element.elementor-element-4364a6a7:not(.elementor-motion-effects-element-type-background), .elementor-308 .elementor-element.elementor-element-4364a6a7 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F2F3F5;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-308 .elementor-element.elementor-element-5df0452f{text-align:start;}.elementor-308 .elementor-element.elementor-element-5df0452f .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:40px;font-weight:700;line-height:1.22em;letter-spacing:-0.2px;color:#1A373D;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-308 .elementor-element.elementor-element-7eed4248{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:400;line-height:1.8em;letter-spacing:0px;color:rgba(26,55,61,0.78);}.elementor-308 .elementor-element.elementor-element-63050d87{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:24px 24px;--row-gap:24px;--column-gap:24px;--padding-top:86px;--padding-bottom:86px;--padding-left:24px;--padding-right:24px;}.elementor-308 .elementor-element.elementor-element-63050d87:not(.elementor-motion-effects-element-type-background), .elementor-308 .elementor-element.elementor-element-63050d87 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-308 .elementor-element.elementor-element-36b839f3{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:16px 16px;--row-gap:16px;--column-gap:16px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-308 .elementor-element.elementor-element-2176ef4b .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:22px;font-weight:700;line-height:1.22em;letter-spacing:-0.2px;color:#1A373D;}.elementor-308 .elementor-element.elementor-element-75ffea40{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:400;line-height:1.8em;letter-spacing:0px;color:rgba(26,55,61,0.78);}.elementor-308 .elementor-element.elementor-element-5f03d2ca{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:400;line-height:1.8em;letter-spacing:0px;color:rgba(26,55,61,0.78);}.elementor-308 .elementor-element.elementor-element-3e8e14a6 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:22px;font-weight:700;line-height:1.22em;letter-spacing:-0.2px;color:#1A373D;}.elementor-308 .elementor-element.elementor-element-7e162553{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:400;line-height:1.8em;letter-spacing:0px;color:rgba(26,55,61,0.78);}.elementor-308 .elementor-element.elementor-element-41477816{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:400;line-height:1.8em;letter-spacing:0px;color:rgba(26,55,61,0.78);}.elementor-308 .elementor-element.elementor-element-3dee5568 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:22px;font-weight:700;line-height:1.22em;letter-spacing:-0.2px;color:#1A373D;}.elementor-308 .elementor-element.elementor-element-7704906d{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:400;line-height:1.8em;letter-spacing:0px;color:rgba(26,55,61,0.78);}.elementor-308 .elementor-element.elementor-element-57a18b07 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:22px;font-weight:700;line-height:1.22em;letter-spacing:-0.2px;color:#1A373D;}.elementor-308 .elementor-element.elementor-element-51ea14b8{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:400;line-height:1.8em;letter-spacing:0px;color:rgba(26,55,61,0.78);}.elementor-308 .elementor-element.elementor-element-23aa5b6e{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:400;line-height:1.8em;letter-spacing:0px;color:rgba(26,55,61,0.78);}.elementor-308 .elementor-element.elementor-element-5cf98ea5 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:22px;font-weight:700;line-height:1.22em;letter-spacing:-0.2px;color:#1A373D;}.elementor-308 .elementor-element.elementor-element-2c6ffb0d{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:400;line-height:1.8em;letter-spacing:0px;color:rgba(26,55,61,0.78);}.elementor-308 .elementor-element.elementor-element-68a1f8eb .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:22px;font-weight:700;line-height:1.22em;letter-spacing:-0.2px;color:#1A373D;}.elementor-308 .elementor-element.elementor-element-2069dff3{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:400;line-height:1.8em;letter-spacing:0px;color:rgba(26,55,61,0.78);}.elementor-308 .elementor-element.elementor-element-2d2b440d{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:400;line-height:1.8em;letter-spacing:0px;color:rgba(26,55,61,0.78);}.elementor-308 .elementor-element.elementor-element-6626615c{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:400;line-height:1.8em;letter-spacing:0px;color:rgba(26,55,61,0.78);}.elementor-308 .elementor-element.elementor-element-e705d56{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:400;line-height:1.8em;letter-spacing:0px;color:rgba(26,55,61,0.78);}.elementor-308 .elementor-element.elementor-element-7e036a5b{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:400;line-height:1.8em;letter-spacing:0px;color:rgba(26,55,61,0.78);}.elementor-308 .elementor-element.elementor-element-94ca9e0 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:22px;font-weight:700;line-height:1.22em;letter-spacing:-0.2px;color:#1A373D;}.elementor-308 .elementor-element.elementor-element-c66da36{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:400;line-height:1.8em;letter-spacing:0px;color:rgba(26,55,61,0.78);}.elementor-308 .elementor-element.elementor-element-333024f{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:400;line-height:1.8em;letter-spacing:0px;color:rgba(26,55,61,0.78);}.elementor-308 .elementor-element.elementor-element-7c4b7463 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:22px;font-weight:700;line-height:1.22em;letter-spacing:-0.2px;color:#1A373D;}.elementor-308 .elementor-element.elementor-element-4c7acf31{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:400;line-height:1.8em;letter-spacing:0px;color:rgba(26,55,61,0.78);}.elementor-308 .elementor-element.elementor-element-7ce15329 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:22px;font-weight:700;line-height:1.22em;letter-spacing:-0.2px;color:#1A373D;}.elementor-308 .elementor-element.elementor-element-222fff30{font-family:"Montserrat", Sans-serif;font-size:15px;font-weight:400;line-height:1.8em;letter-spacing:0px;color:rgba(26,55,61,0.78);}@media(min-width:768px){.elementor-308 .elementor-element.elementor-element-4364a6a7{--content-width:1450px;}.elementor-308 .elementor-element.elementor-element-63050d87{--content-width:1450px;}.elementor-308 .elementor-element.elementor-element-36b839f3{--width:72%;}}@media(max-width:1024px) and (min-width:768px){.elementor-308 .elementor-element.elementor-element-36b839f3{--width:100%;}}@media(max-width:1024px){.elementor-308 .elementor-element.elementor-element-5df0452f .elementor-heading-title{font-size:34px;}.elementor-308 .elementor-element.elementor-element-2176ef4b .elementor-heading-title{font-size:19px;}.elementor-308 .elementor-element.elementor-element-3e8e14a6 .elementor-heading-title{font-size:19px;}.elementor-308 .elementor-element.elementor-element-3dee5568 .elementor-heading-title{font-size:19px;}.elementor-308 .elementor-element.elementor-element-57a18b07 .elementor-heading-title{font-size:19px;}.elementor-308 .elementor-element.elementor-element-5cf98ea5 .elementor-heading-title{font-size:19px;}.elementor-308 .elementor-element.elementor-element-68a1f8eb .elementor-heading-title{font-size:19px;}.elementor-308 .elementor-element.elementor-element-94ca9e0 .elementor-heading-title{font-size:19px;}.elementor-308 .elementor-element.elementor-element-7c4b7463 .elementor-heading-title{font-size:19px;}.elementor-308 .elementor-element.elementor-element-7ce15329 .elementor-heading-title{font-size:19px;}}@media(max-width:767px){.elementor-308 .elementor-element.elementor-element-4364a6a7{--padding-top:56px;--padding-bottom:44px;--padding-left:20px;--padding-right:20px;}.elementor-308 .elementor-element.elementor-element-5df0452f .elementor-heading-title{font-size:29px;}.elementor-308 .elementor-element.elementor-element-7eed4248{font-size:15px;}.elementor-308 .elementor-element.elementor-element-63050d87{--padding-top:54px;--padding-bottom:54px;--padding-left:20px;--padding-right:20px;}.elementor-308 .elementor-element.elementor-element-36b839f3{--width:100%;}.elementor-308 .elementor-element.elementor-element-2176ef4b .elementor-heading-title{font-size:16px;}.elementor-308 .elementor-element.elementor-element-75ffea40{font-size:15px;}.elementor-308 .elementor-element.elementor-element-5f03d2ca{font-size:15px;}.elementor-308 .elementor-element.elementor-element-3e8e14a6 .elementor-heading-title{font-size:16px;}.elementor-308 .elementor-element.elementor-element-7e162553{font-size:15px;}.elementor-308 .elementor-element.elementor-element-41477816{font-size:15px;}.elementor-308 .elementor-element.elementor-element-3dee5568 .elementor-heading-title{font-size:16px;}.elementor-308 .elementor-element.elementor-element-7704906d{font-size:15px;}.elementor-308 .elementor-element.elementor-element-57a18b07 .elementor-heading-title{font-size:16px;}.elementor-308 .elementor-element.elementor-element-51ea14b8{font-size:15px;}.elementor-308 .elementor-element.elementor-element-23aa5b6e{font-size:15px;}.elementor-308 .elementor-element.elementor-element-5cf98ea5 .elementor-heading-title{font-size:16px;}.elementor-308 .elementor-element.elementor-element-2c6ffb0d{font-size:15px;}.elementor-308 .elementor-element.elementor-element-68a1f8eb .elementor-heading-title{font-size:16px;}.elementor-308 .elementor-element.elementor-element-2069dff3{font-size:15px;}.elementor-308 .elementor-element.elementor-element-2d2b440d{font-size:15px;}.elementor-308 .elementor-element.elementor-element-6626615c{font-size:15px;}.elementor-308 .elementor-element.elementor-element-e705d56{font-size:15px;}.elementor-308 .elementor-element.elementor-element-7e036a5b{font-size:15px;}.elementor-308 .elementor-element.elementor-element-94ca9e0 .elementor-heading-title{font-size:16px;}.elementor-308 .elementor-element.elementor-element-c66da36{font-size:15px;}.elementor-308 .elementor-element.elementor-element-333024f{font-size:15px;}.elementor-308 .elementor-element.elementor-element-7c4b7463 .elementor-heading-title{font-size:16px;}.elementor-308 .elementor-element.elementor-element-4c7acf31{font-size:15px;}.elementor-308 .elementor-element.elementor-element-7ce15329 .elementor-heading-title{font-size:16px;}.elementor-308 .elementor-element.elementor-element-222fff30{font-size:15px;}}/* Start custom CSS *//* ====== Cartões ======
   Altura igual em toda a fila, com o "Saber Mais" encostado ao fundo. A
   maquete tem os links desalinhados porque os textos têm comprimentos
   diferentes. O Elementor não tem controlo para height:100% nem para
   margin-top:auto — o controlo de margem só aceita números. */
.npt-card { height: 100%; transition: transform .25s ease, box-shadow .25s ease; }
.npt-card .npt-card-corpo { flex: 1 1 auto; }
.npt-card .npt-card-fim { margin-top: auto; padding-top: 14px; }
.npt-card:hover { transform: translateY(-3px); box-shadow: 0 16px 34px -20px rgba(26,55,61,.45); }

/* ====== Imagens ======
   Largura, altura e recorte vêm agora dos CONTROLOS do widget Image
   (Width, Height, Object Fit) — ver lib/seccoes.js. Aqui fica só o rácio
   da caixa, que é a única coisa para a qual o Elementor não tem controlo.

   O rácio é o que mantém a grelha alinhada quando alguém troca uma foto por
   outra de proporções diferentes: a caixa não muda, a foto é que é
   recortada. */
.npt-cover img { display: block; }
.npt-r-4x3 img { aspect-ratio: 4 / 3; }
.npt-r-3x2 img { aspect-ratio: 3 / 2; }
.npt-r-16x9 img { aspect-ratio: 16 / 9; }

/* ====== Caixa de ícone dos cartões ======
   Nos cartões de solução sem fotografia, o ícone ocupa uma caixa do mesmo
   rácio da imagem, para a grelha não ficar desalinhada. Aqui o rácio é do
   próprio contentor, não de um <img>, por isso precisa das suas regras — o
   Elementor tem controlo de altura mínima, mas não de aspect-ratio. */
.npt-card-icone.npt-r-4x3 { aspect-ratio: 4 / 3; }
.npt-card-icone.npt-r-3x2 { aspect-ratio: 3 / 2; }

/* ====== Palavras longas ======
   Um email, um URL ou uma etiqueta por preencher que não caiba na coluna
   abre scroll horizontal na página toda em telemóvel. Aconteceu com
   [DESCREVER_COOKIES_ADICIONAIS_SE_EXISTIREM] na Política de Privacidade:
   42 caracteres sem espaços, 21px de transbordo a 390px. A etiqueta foi
   encurtada, mas isto fica como rede — o cliente vai colar endereços reais
   aqui mais tarde. O Elementor não tem controlo para overflow-wrap. */
.npt-seccao p, .npt-seccao h1, .npt-seccao h2, .npt-seccao h3,
.npt-card, .npt-footer p { overflow-wrap: anywhere; }

/* ====== Ligações dentro de texto ======
   O widget Text Editor tem controlo de cor do texto mas não de cor dos links.
   Sem isto o <a> fica com o azul ou o preto do tema. */
.npt-seccao .elementor-widget-text-editor a { color: inherit; text-decoration: underline; }

/* ====== Formulário ======
   O widget Form dá cor às etiquetas (label_color) mas não aos links dentro
   delas — e o texto do consentimento sai em .elementor-field-subgroup label,
   não em .elementor-field-group > label. Foi o que deixou o link da política
   de privacidade a preto no BTR XI.
   O placeholder também não tem controlo. */
.npt-form .elementor-field-group input::placeholder,
.npt-form .elementor-field-group textarea::placeholder { color: rgba(26,55,61,.45); }
.npt-form .elementor-field-group > label a,
.npt-form .elementor-field-subgroup label a { color: #1A373D; text-decoration: underline; }
.npt-form .elementor-field-subgroup label { font-size: 13px; line-height: 1.6; }

/* Emblema flutuante do reCAPTCHA: o Google permite escondê-lo desde que o
   aviso esteja visível — e está, no widget HTML abaixo do formulário. O
   controlo Badge do Elementor só muda a posição, não permite esconder. */
.grecaptcha-badge { visibility: hidden !important; }

.npt-aviso { margin: 10px 0 0; font-size: 11.5px; line-height: 1.6; color: rgba(26,55,61,.6); }
.npt-aviso a { color: rgba(26,55,61,.8); text-decoration: underline; }

/* ====== Mapa ====== */
.npt-mapa iframe { display: block; width: 100%; }

/* ====== Rodapé ======
   Os links do rodapé são items de uma lista de ícones/texto; a cor de hover
   existe em controlo, o sublinhado não. */
.npt-footer a { text-decoration: none; }
.npt-footer a:hover { text-decoration: underline; }
.npt-footer p { margin: 0; }/* End custom CSS */