/* Start custom CSS *//* Noble Tactics: apenas o formulário nativo das páginas protegidas. */
body:has(> .post-password-form) {
  margin: 0;
  min-height: 100svh;
  display: grid;
  place-items: center;
  padding: 3rem 1.5rem 5rem;
  background: #11110f;
  color: #fff;
  font-family: Manrope, sans-serif;
  isolation: isolate;
}
body:has(> .post-password-form)::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg,rgba(6,8,8,.78),rgba(6,8,8,.54)), url("https://nobletactics.pt/wp-content/uploads/2026/10/noble-acesso-construcao.jpg") center/cover no-repeat;
}
.post-password-form {
  width: min(100%, 56rem);
  max-width: 56rem;
  margin: 0 auto;
  text-align: center;
}
.post-password-form::before {
  content: "";
  display: block;
  width: 6.25rem;
  height: 6.25rem;
  margin: 0 auto 2rem;
  border-radius: 50%;
  background: url("https://nobletactics.pt/wp-content/uploads/2026/10/ialp-logo-acesso.png") center/contain no-repeat;
  box-shadow: 0 0 0 1px #ffffff33,0 0.8rem 3rem #00000044;
}
.post-password-form > p:not(:last-of-type) {
  display: block;
  font-size: 0;
  line-height: 0;
  margin: 0;
}
.post-password-form > p:first-of-type::before {
  content: "Estamos a construir algo à sua altura.";
  display: block;
  white-space: pre-line;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(2.6rem, 5.2vw, 4.6rem);
  line-height: 1.04;
  font-weight: 400;
  color: #fff;
  letter-spacing: -.035em;
  text-shadow: 0 .15rem 1.5rem #00000044;
}
.post-password-form > p:first-of-type::after {
  content: "Tijolo a tijolo. Clique a clique. O novo website Noble Tactics está a ganhar forma.";
  display: block;
  white-space: pre-line;
  margin: 1.6rem auto 2.2rem;
  font-size: .95rem;
  line-height: 1.9;
  color: #e3ded2;
}
.post-password-form > p:last-of-type {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: center;
  gap: .75rem;
  margin: 0 auto;
  max-width: 29rem;
}
.post-password-form label {
  flex: 1 1 16rem;
  font-size: 0;
  text-align: left;
  margin: 0;
}
.post-password-form label::before {
  content: "ACESSO RESERVADO · CÓDIGO";
  display: block;
  margin: 0 0 .65rem;
  font-size: .65rem;
  letter-spacing: .12em;
  line-height: 1.5;
  color: #d4c28f;
}
.post-password-form input[type=password] {
  width: 100%;
  height: 3.35rem;
  padding: .8rem 1rem;
  border: 1px solid #ffffff66;
  border-radius: 0;
  background: #080b0bcc;
  color: #fff;
  font: 1rem Manrope, sans-serif;
  box-sizing: border-box;
}
.post-password-form input[type=submit] {
  height: 3.35rem;
  padding: .8rem 1.5rem;
  border: 1px solid #c7b37b;
  border-radius: 0;
  background: #c7b37b;
  color: #101311;
  font: 600 .85rem Manrope, sans-serif;
  cursor: pointer;
}
.post-password-form input[type=submit]:hover { background: #dfc992; border-color: #dfc992; }
.post-password-form input:focus-visible { outline: 2px solid #e4cb8b; outline-offset: .25rem; }
.post-password-form::after {
  content: "NOBLE TACTICS · SITE EM DESENVOLVIMENTO · DESIGN & DESENVOLVIMENTO · IALP COMMUNICATION";
  display: block;
  white-space: pre-line;
  margin-top: 2rem;
  font-size: .6rem;
  line-height: 2;
  letter-spacing: .1em;
  color: #bcb9ad;
}
@media(max-width: 600px) {
  body:has(> .post-password-form) { padding: 2rem 1.35rem 6rem; }
  .post-password-form::before { width: 5rem; height: 5rem; margin-bottom: 1.7rem; }
  .post-password-form > p:first-of-type::after { font-size: .85rem; margin-bottom: 1.8rem; }
  .post-password-form > p:last-of-type { max-width: 23rem; }
  .post-password-form input[type=submit] { flex: 1 1 100%; }
}
/* Navegação e contactos locais às páginas de desenvolvimento. */
body.elementor-page-218 .elementor-218{padding-right:8.25rem;background:#050505;}
body.elementor-page-218 .elementor-218 [data-id="62e92d89"]{box-sizing:border-box;}
body.elementor-page-218 .elementor-218 [data-id="62e92d89"] small{font-size:.6rem;line-height:1.5;color:#b6b3aa;}
@media(max-width:767px){body.elementor-page-218 .elementor-218{padding-right:3.25rem;}body.elementor-page-218 .elementor-218 [data-id="62e92d89"] small{display:none;}}

body.elementor-page-218 .elementor-218 [data-id="66620e30"]{flex-direction:column;align-items:stretch;padding:4rem 4rem 2rem;gap:3rem;}body.elementor-page-218 .elementor-218 aside small{font-size:.6rem;color:#b6b3aa;}@media(max-width:767px){body.elementor-page-218 .elementor-218 [data-id="66620e30"]{padding:3rem 1.5rem 2rem;gap:2rem;}body.elementor-page-218 .elementor-218 aside small{display:none;}}

/* Painel de contactos retrátil: interação nativa details/summary. */
body.elementor-page-218 .elementor-218{padding-right:3.25rem;}
body.elementor-page-218 .elementor-218 [data-id="6ad46b9d"]{width:22rem;max-width:calc(100vw - 1rem);padding:0;gap:0;align-items:stretch;justify-content:flex-start;transform:translateX(calc(100% - 3.25rem));transition:transform .4s cubic-bezier(.22,1,.36,1);overflow-y:auto;overflow-x:hidden;box-shadow:-1rem 0 3rem #00000033;}
body.elementor-page-218 .elementor-218 [data-id="6ad46b9d"]:has(details[open]){transform:translateX(0);}
body.elementor-page-218 .elementor-218 [data-id="6ad46b9d"] small{display:inline;font-size:.7rem;}
body.elementor-page-218 .elementor-218 [data-id="6ad46b9d"] summary{list-style:none;outline-offset:-.3rem;}
body.elementor-page-218 .elementor-218 [data-id="6ad46b9d"] summary::-webkit-details-marker{display:none;}
body.elementor-page-218 .elementor-218 [data-id="6ad46b9d"] summary:focus-visible{outline:2px solid #b9a76a;}
body.elementor-page-218 .elementor-218 [data-id="6ad46b9d"] details[open] summary:after{content:"×";position:absolute;top:1.25rem;left:0;width:3.25rem;text-align:center;color:#b9a76a;font-size:2rem;line-height:1.2;}
body.elementor-page-218 .elementor-218 [data-id="6ad46b9d"] details[open] summary p:first-child{visibility:hidden;}

@media(prefers-reduced-motion:reduce){body.elementor-page-218 .elementor-218 [data-id="6ad46b9d"]{transition:none;}}

/* Página selecionada: menu e ligações de navegação. */
body.elementor-page-218 .elementor-218 a[href="https://nobletactics.pt/nobletactics/empreendimentos/"]{color:#b9a76a;font-weight:600;}

/* Botão lateral sem faixa de fundo quando o painel está fechado. */
body.elementor-page-218 .elementor-218{padding-right:0;}
body.elementor-page-218 .elementor-218 [data-id="6ad46b9d"]{background:transparent;border:0;box-shadow:none;pointer-events:none;}
body.elementor-page-218 .elementor-218 [data-id="6ad46b9d"]:has(details[open]){background:#080808;box-shadow:-1rem 0 3rem #00000033;pointer-events:auto;}
body.elementor-page-218 .elementor-218 [data-id="6ad46b9d"] summary{top:1.5rem;bottom:auto;min-height:3rem;padding:.6rem .3rem;background:transparent;border:0;pointer-events:auto;}
body.elementor-page-218 .elementor-218 [data-id="6ad46b9d"] details[open] summary{background:transparent;}
body.elementor-page-218 .elementor-218 [data-id="6ad46b9d"] details[open] summary:after{top:.4rem;}
body.elementor-page-218 .elementor-218 [data-id="6ad46b9d"] [data-id="341d5b77"]{display:none;}
body.elementor-page-218 .elementor-218 [data-id="6ad46b9d"] [data-id="56195398"]{max-width:9rem;}


/* Alinhamento com o centro do cabeçalho; clique exterior usa o summary nativo. */
body.elementor-page-218 .elementor-218 [data-id="6ad46b9d"]{overflow:visible;}
body.elementor-page-218 .elementor-218 [data-id="6ad46b9d"] summary{top:2.65rem;height:2.75rem;min-height:0;padding:0;align-items:center;justify-content:center;}
body.elementor-page-218 .elementor-218 [data-id="6ad46b9d"] details[open] summary:after{top:50%;transform:translateY(-50%);line-height:1;}
body.elementor-page-218 .elementor-218 [data-id="6ad46b9d"] details[open]>summary:before{content:"";position:fixed;right:100%;top:0;width:100vw;height:100svh;background:transparent;pointer-events:auto;cursor:default;z-index:0;}
body.elementor-page-218 .elementor-218 [data-id="6ad46b9d"] details>:not(summary){max-height:100svh;overflow-y:auto;}

body.elementor-page-218 .elementor-218 [data-id="6ad46b9d"] details[open]>summary:before{left:auto;bottom:auto;}

/* Rodapé: três colunas iguais e logótipo ampliado. */

/* Logótipos: ligação à homepage protegida. */

/* Regra visual: texto à esquerda, imagem à direita; texto primeiro no mobile. */

/* Contraste editorial: secções cinzentas, pré-rodapé claro e rodapé preto. */

/* Crédito IALP apenas à esquerda do rodapé. */

/* Mesmo comportamento do cabeçalho de Início. */
body.elementor-page-218 .elementor-218 [data-id="25409dd2"]{position:fixed;top:0;left:0;right:0;width:auto;z-index:90;background-color:#050505;border-bottom-color:#ffffff22;box-sizing:border-box;}
body.elementor-page-218 .elementor-218 [data-id="467bd44d"]{padding-top:10rem;box-sizing:border-box;}
@keyframes noble-header-background-218{from{background-color:transparent;border-bottom-color:transparent;}to{background-color:#050505;border-bottom-color:#ffffff22;}}
@supports(animation-timeline:scroll()){body.elementor-page-218 .elementor-218 [data-id="25409dd2"]{background-color:transparent;animation:noble-header-background-218 linear both;animation-timeline:scroll(root block);animation-range:0px 200px;}}
body.elementor-page-218 .elementor-218 [data-id="25409dd2"] details[open]{background-color:#050505;padding:.5rem;}
@media(max-width:1024px){body.elementor-page-218 .elementor-218 [data-id="25409dd2"] nav{gap:1rem;}}
@media(prefers-reduced-motion:reduce){body.elementor-page-218 .elementor-218 [data-id="25409dd2"]{animation:none;background-color:#050505;}}

/* Logótipo Noble Tactics transparente: versão fornecida pelo proprietário. */

/* Título de acesso compacto e numa só linha. */
.post-password-form > p:first-of-type::before {
  content: "Estamos a construir algo à sua altura.";
  font-size: clamp(.85rem, 3.3vw, 2.6rem);
  white-space: nowrap;
  letter-spacing: -.025em;
}

/* Subtítulo de acesso aprovado. */
.post-password-form > p:first-of-type::after{content:"Tijolo a tijolo. Clique a clique. O novo site da Noble Tactics está a ganhar forma.";}

/* Conjunto centrado verticalmente e campo do código mais compacto. */
body:has(> .post-password-form){padding:2rem 1.5rem;box-sizing:border-box;align-content:center;}
.post-password-form{align-self:center;}
.post-password-form > p:last-of-type{flex-wrap:nowrap;max-width:18rem;}
.post-password-form label{flex:0 1 11rem;min-width:0;}
.post-password-form label::before{font-size:.55rem;letter-spacing:.04em;white-space:nowrap;}
.post-password-form input[type=submit]{flex:0 0 auto;}
@media(max-width:600px){body:has(> .post-password-form){padding:2rem 1.35rem;}.post-password-form > p:last-of-type{max-width:18rem;}.post-password-form input[type=submit]{flex:0 0 auto;}}

/* Regra Noble Tactics: caixas sem contornos; foco indicado por tonalidade. */
.post-password-form input, body.elementor-page-218 .elementor-218 :is(input,textarea,select,button,.e-con,.e-div-block){border:0!important;box-shadow:none!important;}
.post-password-form input:focus-visible, body.elementor-page-218 .elementor-218 :is(input,textarea,select,button):focus-visible{outline:0!important;filter:brightness(1.18);}
.post-password-form input[type=password]{background:#202020;}

/* Grelha de empreendimentos: o projeto sob o rato mantém o nome; os restantes reduzem a 50%. */
body.elementor-page-218 .elementor-218 [data-id="7970341c"]>article h3{transform:scale(1);transform-origin:center;transition:transform .35s ease;}
@media(hover:hover) and (pointer:fine){body.elementor-page-218 .elementor-218 [data-id="7970341c"]:has(>article:hover)>article:not(:hover) h3{transform:scale(.5);}}
@media(prefers-reduced-motion:reduce){body.elementor-page-218 .elementor-218 [data-id="7970341c"]>article h3{transition:none;}}

/* Hover: imagem mais escura no cartão ativo; texto dourado dos restantes a 50%. */
body.elementor-page-218 .elementor-218 [data-id="7970341c"]>article>div:first-child{background-color:transparent;transition:background-color .35s ease;}
body.elementor-page-218 .elementor-218 [data-id="7970341c"]>article>div:first-child>p{transform:scale(1);transform-origin:center;transition:transform .35s ease;}
@media(hover:hover) and (pointer:fine){
body.elementor-page-218 .elementor-218 [data-id="7970341c"]>article:hover>div:first-child{background-color:rgba(0,0,0,.32);}
body.elementor-page-218 .elementor-218 [data-id="7970341c"]:has(>article:hover)>article:not(:hover)>div:first-child>p{transform:scale(.5);}
}
@media(prefers-reduced-motion:reduce){body.elementor-page-218 .elementor-218 [data-id="7970341c"]>article>div:first-child,body.elementor-page-218 .elementor-218 [data-id="7970341c"]>article>div:first-child>p{transition:none;}}

/* Cabeçalho: mais 2 cm de altura total, mantendo os controlos alinhados. */
body.elementor-page-218 .elementor-218 [data-id="25409dd2"]{padding-top:calc(.5rem + 1cm);padding-bottom:calc(.5rem + 1cm);}
body.elementor-page-218 .elementor-218 [data-id="467bd44d"]{padding-top:calc(10rem + 2cm);}
body.elementor-page-218 .elementor-218 [data-id="6ad46b9d"] summary{top:calc(2.65rem + 1cm);}

/* Menu compacto ao deslocar: logótipo a 50%, faixa e botão lateral acompanham. */
@keyframes noble-compact-218-header{from{background-color:transparent;padding-top:calc(.5rem + 1cm);padding-bottom:calc(.5rem + 1cm);}to{background-color:#050505;padding-top:.75rem;padding-bottom:.75rem;}}
@keyframes noble-compact-218-logo{from{max-width:7rem;}to{max-width:3.5rem;}}
@keyframes noble-compact-218-toggle{from{top:calc(2.65rem + 1cm);}to{top:1.125rem;}}
@keyframes noble-compact-218-logo-mobile{from{max-width:5.5rem;}to{max-width:2.75rem;}}
@keyframes noble-compact-218-toggle-mobile{from{top:calc(1.875rem + 1cm);}to{top:.75rem;}}
@supports(animation-timeline:scroll()){
body.elementor-page-218 .elementor-218 [data-id="25409dd2"]{animation:noble-compact-218-header linear both;animation-timeline:scroll(root block);animation-range:0px 200px;}
body.elementor-page-218 .elementor-218 [data-id="4a42d68"]{animation:noble-compact-218-logo linear both;animation-timeline:scroll(root block);animation-range:0px 200px;}
body.elementor-page-218 .elementor-218 [data-id="6ad46b9d"] summary{animation:noble-compact-218-toggle linear both;animation-timeline:scroll(root block);animation-range:0px 200px;}
@media(max-width:767px){body.elementor-page-218 .elementor-218 [data-id="4a42d68"]{animation-name:noble-compact-218-logo-mobile;}body.elementor-page-218 .elementor-218 [data-id="6ad46b9d"] summary{animation-name:noble-compact-218-toggle-mobile;}}
}

/* Nomes visuais aprovados: Alice e Belmiro. */
/* Espaço para o botão de acessibilidade no menu fixo. */
body.elementor-page-218 .elementor-218 [data-id="25409dd2"]{padding-right:8rem;}
body.elementor-page-218 .elementor-218 .nt-accessibility-header-script{display:contents;}

/* Quatro empreendimentos: foco no cartão ativo, restantes nomes a 50% e dourado. */
@media(hover:hover) and (pointer:fine){body.elementor-page-218 .elementor-218 [data-id="7970341c"]:has(>article:hover)>article:not(:hover) h3{transform:scale(.5);color:#b9a76a;}}
body.elementor-page-218 .elementor-218 [data-id="7970341c"] > article{border-radius:0!important;}

/* Four projects verified layout refresh. */
/* Botão do Popup 574 acompanha o cabeçalho compacto. */
@keyframes nt-menu-toggle-position{from{top:calc(2.65rem + 1cm);}to{top:1.125rem;}}
@keyframes nt-menu-toggle-mobile{from{top:calc(1.875rem + 1cm);}to{top:.75rem;}}
@supports(animation-timeline:scroll()){body.elementor-page-218 .elementor-218 [data-id="1ed557f1"]{animation:nt-menu-toggle-position linear both;animation-timeline:scroll(root block);animation-range:0px 200px;}@media(max-width:767px){body.elementor-page-218 .elementor-218 [data-id="1ed557f1"]{animation-name:nt-menu-toggle-mobile;}}}

/* Botão de três traços: sem caixa ou contorno em todos os estados. */
:is([data-id="119ba8a3"],[data-id="3b3c650d"],[data-id="4a8c0812"],[data-id="1ed557f1"],[data-id="7f335e15"],[data-id="7256126b"],[data-id="625ec7a"],[data-id="b34b219"]){outline:0!important;border:0!important;box-shadow:none!important;background:transparent!important;font-size:0!important;}
:is([data-id="119ba8a3"],[data-id="3b3c650d"],[data-id="4a8c0812"],[data-id="1ed557f1"],[data-id="7f335e15"],[data-id="7256126b"],[data-id="625ec7a"],[data-id="b34b219"])::before{content:"";display:block;width:1.15rem;height:.9rem;background:linear-gradient(to bottom,#b9a76a 0 1px,transparent 1px calc(50% - .5px),#b9a76a calc(50% - .5px) calc(50% + .5px),transparent calc(50% + .5px) calc(100% - 1px),#b9a76a calc(100% - 1px) 100%);}
:is([data-id="119ba8a3"],[data-id="3b3c650d"],[data-id="4a8c0812"],[data-id="1ed557f1"],[data-id="7f335e15"],[data-id="7256126b"],[data-id="625ec7a"],[data-id="b34b219"]):focus-visible{filter:brightness(1.5);}/* End custom CSS */