.elementor-kit-12{--e-global-color-primary:#6EC1E4;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-typography-primary-font-family:"Raleway";--e-global-typography-primary-font-weight:700;--e-global-typography-secondary-font-family:"Raleway";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Raleway";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Raleway";--e-global-typography-accent-font-weight:600;}.elementor-kit-12 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --am-navy:#051729; --am-navy-2:#0a2d4c; --am-steel:#184a75; --am-tech:#1c7abb; --am-glow:#45aade; --am-surface:#f2f7fb; --am-white:#fcfcfc; --am-on-dark-muted:#b5c7d7; --am-muted:#5c6b7a; --am-border:#dbe2e9; --am-accent:#e1edf8; --am-font:Raleway; }
/* Start custom CSS *//* Automoldes — menu do header (widget 41c31609). O padding é fixado em todos os estados para os itens não se mexerem ao passar o rato. */
.elementor-element-41c31609{width:auto;flex-grow:1}
.elementor-element-41c31609 .elementor-nav-menu--main .elementor-item{font-family:'Raleway',sans-serif;font-size:14px;font-weight:500;color:#b5c7d7;transition:color .3s}
.elementor-element-41c31609 .elementor-nav-menu--main .elementor-item,.elementor-element-41c31609 .elementor-nav-menu--main .elementor-item:hover,.elementor-element-41c31609 .elementor-nav-menu--main .elementor-item:focus,.elementor-element-41c31609 .elementor-nav-menu--main .elementor-item.elementor-item-active,.elementor-element-41c31609 .elementor-nav-menu--main .elementor-item.highlighted{padding:8px 12px!important}
.elementor-element-41c31609 .elementor-nav-menu--main .elementor-item:hover,.elementor-element-41c31609 .elementor-nav-menu--main .elementor-item.elementor-item-active{color:#fcfcfc}
.elementor-element-41c31609 .elementor-nav-menu--main .elementor-item:after{background-color:#45aade;height:2px;border-radius:2px;left:12px;right:12px;bottom:-2px}
/* Itens só para o menu móvel (Contactos e telefone) */
.elementor-element-41c31609 .elementor-nav-menu--main .am-menu-mobile{display:none!important}
/* Botão do menu móvel (44x44, como no Lovable) */
.elementor-element-41c31609 .elementor-menu-toggle{width:44px;height:44px;padding:0;justify-content:center;align-items:center;border-radius:6px;background:transparent;color:#fcfcfc;font-size:24px;transition:background-color .2s}
.elementor-element-41c31609 .elementor-menu-toggle:hover{background-color:rgba(252,252,252,.1)}
.elementor-element-41c31609 .elementor-menu-toggle svg{width:24px;height:24px;fill:#fcfcfc}
/* Painel do menu móvel: ecrã inteiro por baixo do header, navy, itens grandes com seta */
.elementor-element-41c31609 .elementor-nav-menu--dropdown.elementor-nav-menu__container{position:fixed;left:0;right:0;width:100%!important;top:calc(var(--wp-admin--admin-bar--height,0px) + 80px);margin:0;background-color:#051729;border-top:1px solid rgba(255,255,255,.12);box-shadow:none;z-index:49}
html.am-scrolled .elementor-element-41c31609 .elementor-nav-menu--dropdown.elementor-nav-menu__container{top:calc(var(--wp-admin--admin-bar--height,0px) + 64px)}
.elementor-element-41c31609 .elementor-menu-toggle.elementor-active+.elementor-nav-menu__container{max-height:calc(100dvh - var(--wp-admin--admin-bar--height,0px) - 64px);height:calc(100dvh - var(--wp-admin--admin-bar--height,0px) - 80px);overflow-y:auto}
.elementor-element-41c31609 .elementor-nav-menu--dropdown .elementor-nav-menu{padding:24px 20px}
.elementor-element-41c31609 .elementor-nav-menu--dropdown li{border-top:1px solid rgba(255,255,255,.12)}
.elementor-element-41c31609 .elementor-nav-menu--dropdown li:first-child{border-top:0}
.elementor-element-41c31609 .elementor-nav-menu--dropdown a,.elementor-element-41c31609 .elementor-nav-menu--dropdown a:hover,.elementor-element-41c31609 .elementor-nav-menu--dropdown a:focus,.elementor-element-41c31609 .elementor-nav-menu--dropdown a.elementor-item-active{display:flex;justify-content:space-between;align-items:center;padding:16px 0!important;font-family:'Raleway',sans-serif;font-size:20px;font-weight:700;line-height:1.4;color:#fcfcfc;background-color:transparent!important;border:0}
.elementor-element-41c31609 .elementor-nav-menu--dropdown a::after{content:'→'!important;position:static!important;display:inline!important;width:auto!important;height:auto!important;background:none!important;opacity:1!important;transform:none!important;font-size:16px;font-weight:400;line-height:1;color:#b5c7d7}
.elementor-element-41c31609 .elementor-nav-menu--dropdown a:hover,.elementor-element-41c31609 .elementor-nav-menu--dropdown a.elementor-item-active{color:#45aade}
.elementor-element-41c31609 .elementor-nav-menu--dropdown li.am-menu-phone{border-top:0;margin-top:16px}
.elementor-element-41c31609 .elementor-nav-menu--dropdown li.am-menu-phone a,.elementor-element-41c31609 .elementor-nav-menu--dropdown li.am-menu-phone a:hover{justify-content:flex-start;gap:12px;padding:8px 0!important;font-size:16px;font-weight:400;color:#b5c7d7}
.elementor-element-41c31609 .elementor-nav-menu--dropdown li.am-menu-phone a::after{display:none!important}
.elementor-element-41c31609 .elementor-nav-menu--dropdown li.am-menu-phone a::before{content:''!important;position:static!important;display:block!important;opacity:1!important;transform:none!important;width:16px!important;height:16px!important;flex-shrink:0;background-color:currentColor!important;-webkit-mask:url(/wp-content/uploads/2026/10/icon-phone.svg) center/contain no-repeat;mask:url(/wp-content/uploads/2026/10/icon-phone.svg) center/contain no-repeat}
body{font-family:'Raleway',sans-serif}
/* Header: transparente no topo, navy ao fazer scroll (classe am-scrolled posta pelo Custom Code 4659).
   Fica transparente nas páginas com o modelo "Elementor Largura Total" e nas notícias (hero escuro); nas restantes fica sempre navy. */
html.am-scrolled .elementor [data-id="4f9f73e3"],html body:not(.home):not(.page-template-elementor_header_footer):not(.single-post) .elementor [data-id="4f9f73e3"]{background-color:rgba(5,23,41,.95);border-bottom-color:rgba(255,255,255,.12);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
html.am-scrolled .elementor [data-id="3d7498b5"]{height:64px}
html.am-scrolled .elementor [data-id="73729451"]{height:44px}
/* Ícones lucide: só contorno */
.e-svg-base svg{fill:none}
/* Homepage — 2ª linha do H1 */
[data-id="251a94c3"] span{color:#45aade}
/* Homepage — cartões de serviços em mobile ficam com a altura do conteúdo (mín. 256px), como no Lovable */
@media (max-width:767px){html .elementor [data-id="52e56240"],html .elementor [data-id="7503b313"],html .elementor [data-id="3931691a"],html .elementor [data-id="6b756dd0"],html .elementor [data-id="54858fe1"],html .elementor [data-id="3dc231f7"],html .elementor [data-id="147901d5"]{min-height:256px}}
/* Esconder título do Blocksy em páginas Elementor */
.elementor-page .hero-section{display:none}
/* Breadcrumb dos heros de página */
.am-breadcrumb a{color:inherit;transition:color .3s}
.am-breadcrumb a:hover{color:#fcfcfc}
/* Texto longo (.am-prose) — listas nas páginas de projetos */
.am-prose ul,.am-prose ol{margin:0;padding-left:1.25em;display:flex;flex-direction:column;gap:10px}
.am-prose li{padding-left:4px}
.am-prose li::marker{color:#1c7abb;font-weight:700}
.am-prose strong{color:#051729}
/* Portfólio — Loop Grid da homepage em grelha irregular (como no Lovable) */
.elementor .am-port-loop .elementor-loop-container{grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:16px}
.elementor .am-port-loop .e-loop-item{height:100%;min-width:0}
.elementor .am-port-loop .e-loop-item:nth-of-type(1){grid-column:span 2;grid-row:span 2}
.elementor .am-port-loop .e-loop-item:nth-of-type(n+4){grid-column:span 2}
@media (max-width:1024px){.elementor .am-port-loop .elementor-loop-container{grid-template-columns:repeat(2,1fr)}.elementor .am-port-loop .e-loop-item:nth-of-type(1){grid-row:span 1}.elementor .am-port-loop .e-loop-item:nth-of-type(n+5){grid-column:auto}}
@media (max-width:767px){.elementor .am-port-loop .elementor-loop-container{grid-template-columns:repeat(2,1fr);grid-auto-rows:180px;gap:12px}.elementor .am-port-loop .e-loop-item:nth-of-type(n){grid-column:auto;grid-row:auto}.elementor .am-port-loop .e-loop-item:nth-of-type(1){grid-column:span 2;grid-row:span 2}}
.am-pcard{height:100%;min-height:100%;border-radius:8px;overflow:hidden;transition:transform .3s}
.am-pcard:hover{transform:translateY(-4px)}
.am-pcard .elementor-widget{margin:0}
.am-pcard-cat .elementor-heading-title{font-family:'Raleway',sans-serif;font-size:11px;font-weight:600;line-height:1.5;letter-spacing:1.6px;text-transform:uppercase;color:#45aade}
.am-pcard-nome .elementor-heading-title{font-family:'Raleway',sans-serif;font-size:18px;font-weight:700;line-height:1.3;color:#fcfcfc}
/* Portfólio — Moldes / Peças (Loop Grid com lightbox) */
.am-work-loop .e-loop-item{min-width:0}
.am-wcard{aspect-ratio:4/3;border-radius:8px;overflow:hidden;transition:transform .3s,box-shadow .3s}
.am-wcard:hover{transform:translateY(-4px);box-shadow:0 2px 4px rgba(5,23,41,.06),0 24px 48px -20px rgba(10,45,76,.35)}
.am-wcard .elementor-widget{margin:0}
.am-wcard-nome .elementor-heading-title{font-family:'Raleway',sans-serif;font-size:14px;font-weight:600;line-height:1.4;color:#fcfcfc}
/* Notícias — cartões (loop 4719), usados na homepage, em /noticias/ e em "Outras notícias" */
.am-news-loop .e-loop-item{min-width:0;height:100%}
.am-ncard{height:100%;border:1px solid #dbe2e9;border-radius:12px;overflow:hidden;box-shadow:0 1px 2px rgba(5,23,41,.06),0 8px 24px -12px rgba(5,23,41,.18);transition:transform .3s,box-shadow .3s}
.am-ncard:hover{transform:translateY(-4px);box-shadow:0 2px 4px rgba(5,23,41,.06),0 24px 48px -20px rgba(10,45,76,.35)}
.am-ncard .elementor-widget{margin:0}
.am-ncard-img,.am-ncard-img .elementor-widget-container{width:100%}
.am-ncard-img img{display:block;width:100%;aspect-ratio:16/9;height:auto;object-fit:cover;background-color:#f2f7fb}
.am-ncard-body{flex-grow:1}
.am-ncard-tipo .elementor-heading-title{font-family:'Raleway',sans-serif;font-size:12px;font-weight:600;line-height:1.35;letter-spacing:1.92px;text-transform:uppercase;color:#5c6b7a}
.am-ncard-titulo{margin-top:8px!important}
.am-ncard-titulo .elementor-heading-title{font-family:'Raleway',sans-serif;font-size:18px;font-weight:700;line-height:1.375;letter-spacing:-.36px;color:#051729}
.am-ncard-link{margin-top:auto!important;padding-top:20px}
.am-ncard-link .elementor-heading-title{display:inline-flex;align-items:center;gap:6px;font-family:'Raleway',sans-serif;font-size:14px;font-weight:600;line-height:1.4;color:#1c7abb}
.am-ncard-link .elementor-heading-title::after{content:'';width:16px;height:16px;background-color:currentColor;-webkit-mask:url(/wp-content/uploads/2026/10/icon-arrow-up-right.svg) center/contain no-repeat;mask:url(/wp-content/uploads/2026/10/icon-arrow-up-right.svg) center/contain no-repeat}
.am-news-loop .elementor-pagination{margin-top:48px;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;font-family:'Raleway',sans-serif;font-size:14px;font-weight:600}
.am-news-loop .elementor-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;margin:0;border:1px solid #d5dde5;border-radius:6px;color:#051729;background:#fff;transition:border-color .3s,color .3s}
.am-news-loop .elementor-pagination .page-numbers.current{background:#051729;border-color:#051729;color:#fcfcfc}
.am-news-loop .elementor-pagination a.page-numbers:hover{border-color:#1c7abb;color:#1c7abb}
/* Notícia individual — conteúdo do artigo */
.single-post .elementor-widget-theme-post-content{font-family:'Raleway',sans-serif;font-size:17px;line-height:1.7;color:#5c6b7a}
.single-post .elementor-widget-theme-post-content p{margin:0 0 1.2em}
.single-post .elementor-widget-theme-post-content h2,.single-post .elementor-widget-theme-post-content h3{font-family:'Raleway',sans-serif;font-weight:800;color:#051729;margin:1.6em 0 .6em}
.single-post .elementor-widget-theme-post-content img{max-width:100%;height:auto;border-radius:12px}
.single-post .elementor-widget-theme-post-content a{color:#1c7abb}
/* Formulários Elementor Pro (.am-form) — Contactos e Recrutamento */
.am-form{width:100%}
.am-form .elementor-field-group>.elementor-field-label{font-family:'Raleway',sans-serif;font-size:14px;font-weight:600;color:#051729;margin-bottom:8px;padding:0}
.am-form .elementor-mark-required .elementor-field-label:after{color:#1c7abb}
.am-form .elementor-field-group .elementor-field-textual{font-family:'Raleway',sans-serif;font-size:15px;color:#051729;background-color:#fff;border:1px solid #d5dde5;border-radius:6px;padding:12px 16px;min-height:50px;transition:border-color .2s,box-shadow .2s}
.am-form .elementor-field-group textarea.elementor-field-textual{min-height:170px}
.am-form .elementor-field-group .elementor-field-textual:focus{border-color:#1c7abb;box-shadow:0 0 0 3px rgba(28,122,187,.15);outline:0}
.am-form .elementor-field-group .elementor-upload-field{width:100%;font-family:'Raleway',sans-serif;font-size:14px;color:#5c6b7a;background-color:#f2f7fb;border:1px dashed #d5dde5;border-radius:6px;padding:18px 16px;cursor:pointer;transition:border-color .2s}
.am-form .elementor-field-group .elementor-upload-field:hover{border-color:#1c7abb}
.am-form .elementor-upload-field::file-.elementor-kit-12-button{font-family:'Raleway',sans-serif;font-size:14px;font-weight:600;color:#051729;background:#fff;border:1px solid #d5dde5;border-radius:6px;padding:8px 14px;margin-right:12px;cursor:pointer}
.am-form .elementor-button{font-family:'Raleway',sans-serif;font-size:14px;font-weight:600;color:#fff;background-color:#1c7abb;border-radius:6px;padding:0 24px;min-height:48px;box-shadow:0 1px 2px rgba(5,23,41,.06),0 8px 24px -12px rgba(5,23,41,.18);transition:background-color .3s,color .3s}
.am-form .elementor-button:hover{background-color:#45aade;color:#051729}
.am-form .elementor-message{font-family:'Raleway',sans-serif;font-size:14px}
/* Mapa dos Contactos: proporção 4:3 como no Lovable */
.am-mapa,.am-mapa .elementor-widget-container{width:100%}
.am-mapa iframe{display:block;width:100%;height:auto;aspect-ratio:4/3;border:0}

/* Cartões de portfólio: imagem destacada como <img> com srcset (em vez de fundo em tamanho original) */
.am-pcard>.am-cover,.am-wcard>.am-cover{position:absolute!important;inset:0;z-index:0;width:100%!important;max-width:none!important;height:100%;margin:0!important}
.am-cover .elementor-widget-container,.am-cover img{width:100%!important;height:100%!important;max-width:none!important}
.am-cover img{object-fit:cover;display:block;border-radius:0}
.am-pcard::before,.am-wcard::before{z-index:1!important}
.am-pcard>.elementor-element:not(.am-cover),.am-wcard>.elementor-element:not(.am-cover){position:relative;z-index:2}/* End custom CSS */