.elementor-309 .elementor-element.elementor-element-11e7aa65{--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-309 .elementor-element.elementor-element-11e7aa65:not(.elementor-motion-effects-element-type-background), .elementor-309 .elementor-element.elementor-element-11e7aa65 > .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-309 .elementor-element.elementor-element-61cf26e7{text-align:start;}.elementor-309 .elementor-element.elementor-element-61cf26e7 .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-309 .elementor-element.elementor-element-1884be06{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-309 .elementor-element.elementor-element-2d4a05c6{--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-309 .elementor-element.elementor-element-2d4a05c6:not(.elementor-motion-effects-element-type-background), .elementor-309 .elementor-element.elementor-element-2d4a05c6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-309 .elementor-element.elementor-element-57d6b47{--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-309 .elementor-element.elementor-element-12048c9e .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-309 .elementor-element.elementor-element-72765df8{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-309 .elementor-element.elementor-element-68f12ec2 .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-309 .elementor-element.elementor-element-64db2afa{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-309 .elementor-element.elementor-element-1125db71{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-309 .elementor-element.elementor-element-51b07968 .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-309 .elementor-element.elementor-element-15519a17{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-309 .elementor-element.elementor-element-1b5e6718{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-309 .elementor-element.elementor-element-f6d556a .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-309 .elementor-element.elementor-element-599343ff{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-309 .elementor-element.elementor-element-2c5fe469{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-309 .elementor-element.elementor-element-79485341 .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-309 .elementor-element.elementor-element-3d948d0d{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-309 .elementor-element.elementor-element-4fd58d03 .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-309 .elementor-element.elementor-element-3ab6895c{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-309 .elementor-element.elementor-element-44408370 .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-309 .elementor-element.elementor-element-3fed4be2{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-309 .elementor-element.elementor-element-5ffdd623 .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-309 .elementor-element.elementor-element-646a9d25{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-309 .elementor-element.elementor-element-43058c32 .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-309 .elementor-element.elementor-element-66ad1926{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-309 .elementor-element.elementor-element-771eeb42 .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-309 .elementor-element.elementor-element-7dae6594{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-309 .elementor-element.elementor-element-11e7aa65{--content-width:1450px;}.elementor-309 .elementor-element.elementor-element-2d4a05c6{--content-width:1450px;}.elementor-309 .elementor-element.elementor-element-57d6b47{--width:72%;}}@media(max-width:1024px) and (min-width:768px){.elementor-309 .elementor-element.elementor-element-57d6b47{--width:100%;}}@media(max-width:1024px){.elementor-309 .elementor-element.elementor-element-61cf26e7 .elementor-heading-title{font-size:34px;}.elementor-309 .elementor-element.elementor-element-12048c9e .elementor-heading-title{font-size:19px;}.elementor-309 .elementor-element.elementor-element-68f12ec2 .elementor-heading-title{font-size:19px;}.elementor-309 .elementor-element.elementor-element-51b07968 .elementor-heading-title{font-size:19px;}.elementor-309 .elementor-element.elementor-element-f6d556a .elementor-heading-title{font-size:19px;}.elementor-309 .elementor-element.elementor-element-79485341 .elementor-heading-title{font-size:19px;}.elementor-309 .elementor-element.elementor-element-4fd58d03 .elementor-heading-title{font-size:19px;}.elementor-309 .elementor-element.elementor-element-44408370 .elementor-heading-title{font-size:19px;}.elementor-309 .elementor-element.elementor-element-5ffdd623 .elementor-heading-title{font-size:19px;}.elementor-309 .elementor-element.elementor-element-43058c32 .elementor-heading-title{font-size:19px;}.elementor-309 .elementor-element.elementor-element-771eeb42 .elementor-heading-title{font-size:19px;}}@media(max-width:767px){.elementor-309 .elementor-element.elementor-element-11e7aa65{--padding-top:56px;--padding-bottom:44px;--padding-left:20px;--padding-right:20px;}.elementor-309 .elementor-element.elementor-element-61cf26e7 .elementor-heading-title{font-size:29px;}.elementor-309 .elementor-element.elementor-element-1884be06{font-size:15px;}.elementor-309 .elementor-element.elementor-element-2d4a05c6{--padding-top:54px;--padding-bottom:54px;--padding-left:20px;--padding-right:20px;}.elementor-309 .elementor-element.elementor-element-57d6b47{--width:100%;}.elementor-309 .elementor-element.elementor-element-12048c9e .elementor-heading-title{font-size:16px;}.elementor-309 .elementor-element.elementor-element-72765df8{font-size:15px;}.elementor-309 .elementor-element.elementor-element-68f12ec2 .elementor-heading-title{font-size:16px;}.elementor-309 .elementor-element.elementor-element-64db2afa{font-size:15px;}.elementor-309 .elementor-element.elementor-element-1125db71{font-size:15px;}.elementor-309 .elementor-element.elementor-element-51b07968 .elementor-heading-title{font-size:16px;}.elementor-309 .elementor-element.elementor-element-15519a17{font-size:15px;}.elementor-309 .elementor-element.elementor-element-1b5e6718{font-size:15px;}.elementor-309 .elementor-element.elementor-element-f6d556a .elementor-heading-title{font-size:16px;}.elementor-309 .elementor-element.elementor-element-599343ff{font-size:15px;}.elementor-309 .elementor-element.elementor-element-2c5fe469{font-size:15px;}.elementor-309 .elementor-element.elementor-element-79485341 .elementor-heading-title{font-size:16px;}.elementor-309 .elementor-element.elementor-element-3d948d0d{font-size:15px;}.elementor-309 .elementor-element.elementor-element-4fd58d03 .elementor-heading-title{font-size:16px;}.elementor-309 .elementor-element.elementor-element-3ab6895c{font-size:15px;}.elementor-309 .elementor-element.elementor-element-44408370 .elementor-heading-title{font-size:16px;}.elementor-309 .elementor-element.elementor-element-3fed4be2{font-size:15px;}.elementor-309 .elementor-element.elementor-element-5ffdd623 .elementor-heading-title{font-size:16px;}.elementor-309 .elementor-element.elementor-element-646a9d25{font-size:15px;}.elementor-309 .elementor-element.elementor-element-43058c32 .elementor-heading-title{font-size:16px;}.elementor-309 .elementor-element.elementor-element-66ad1926{font-size:15px;}.elementor-309 .elementor-element.elementor-element-771eeb42 .elementor-heading-title{font-size:16px;}.elementor-309 .elementor-element.elementor-element-7dae6594{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 */