.elementor-310 .elementor-element.elementor-element-1cc1de28{--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-310 .elementor-element.elementor-element-1cc1de28:not(.elementor-motion-effects-element-type-background), .elementor-310 .elementor-element.elementor-element-1cc1de28 > .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-310 .elementor-element.elementor-element-1342e9f5{text-align:start;}.elementor-310 .elementor-element.elementor-element-1342e9f5 .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-310 .elementor-element.elementor-element-7cab3e3{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-310 .elementor-element.elementor-element-1fc11b0{--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-310 .elementor-element.elementor-element-1fc11b0:not(.elementor-motion-effects-element-type-background), .elementor-310 .elementor-element.elementor-element-1fc11b0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-310 .elementor-element.elementor-element-27f2b5a8{--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-310 .elementor-element.elementor-element-763cc949 .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-310 .elementor-element.elementor-element-246cb080{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-310 .elementor-element.elementor-element-7d6db505{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-310 .elementor-element.elementor-element-3bfa65da .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-310 .elementor-element.elementor-element-4cc6fa9f{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-310 .elementor-element.elementor-element-2465c6e{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-310 .elementor-element.elementor-element-4494622a .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-310 .elementor-element.elementor-element-64bf0fde{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-310 .elementor-element.elementor-element-5b0a38be .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-310 .elementor-element.elementor-element-121f386d{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-310 .elementor-element.elementor-element-1019a6c5 .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-310 .elementor-element.elementor-element-2b5abd59{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-310 .elementor-element.elementor-element-1cc1de28{--content-width:1450px;}.elementor-310 .elementor-element.elementor-element-1fc11b0{--content-width:1450px;}.elementor-310 .elementor-element.elementor-element-27f2b5a8{--width:72%;}}@media(max-width:1024px) and (min-width:768px){.elementor-310 .elementor-element.elementor-element-27f2b5a8{--width:100%;}}@media(max-width:1024px){.elementor-310 .elementor-element.elementor-element-1342e9f5 .elementor-heading-title{font-size:34px;}.elementor-310 .elementor-element.elementor-element-763cc949 .elementor-heading-title{font-size:19px;}.elementor-310 .elementor-element.elementor-element-3bfa65da .elementor-heading-title{font-size:19px;}.elementor-310 .elementor-element.elementor-element-4494622a .elementor-heading-title{font-size:19px;}.elementor-310 .elementor-element.elementor-element-5b0a38be .elementor-heading-title{font-size:19px;}.elementor-310 .elementor-element.elementor-element-1019a6c5 .elementor-heading-title{font-size:19px;}}@media(max-width:767px){.elementor-310 .elementor-element.elementor-element-1cc1de28{--padding-top:56px;--padding-bottom:44px;--padding-left:20px;--padding-right:20px;}.elementor-310 .elementor-element.elementor-element-1342e9f5 .elementor-heading-title{font-size:29px;}.elementor-310 .elementor-element.elementor-element-7cab3e3{font-size:15px;}.elementor-310 .elementor-element.elementor-element-1fc11b0{--padding-top:54px;--padding-bottom:54px;--padding-left:20px;--padding-right:20px;}.elementor-310 .elementor-element.elementor-element-27f2b5a8{--width:100%;}.elementor-310 .elementor-element.elementor-element-763cc949 .elementor-heading-title{font-size:16px;}.elementor-310 .elementor-element.elementor-element-246cb080{font-size:15px;}.elementor-310 .elementor-element.elementor-element-7d6db505{font-size:15px;}.elementor-310 .elementor-element.elementor-element-3bfa65da .elementor-heading-title{font-size:16px;}.elementor-310 .elementor-element.elementor-element-4cc6fa9f{font-size:15px;}.elementor-310 .elementor-element.elementor-element-2465c6e{font-size:15px;}.elementor-310 .elementor-element.elementor-element-4494622a .elementor-heading-title{font-size:16px;}.elementor-310 .elementor-element.elementor-element-64bf0fde{font-size:15px;}.elementor-310 .elementor-element.elementor-element-5b0a38be .elementor-heading-title{font-size:16px;}.elementor-310 .elementor-element.elementor-element-121f386d{font-size:15px;}.elementor-310 .elementor-element.elementor-element-1019a6c5 .elementor-heading-title{font-size:16px;}.elementor-310 .elementor-element.elementor-element-2b5abd59{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 */