.elementor-3818 .elementor-element.elementor-element-c1eda7f{--display:flex;--position:fixed;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;top:0px;--z-index:999;}.elementor-3818 .elementor-element.elementor-element-c1eda7f.e-con{--align-self:center;}body:not(.rtl) .elementor-3818 .elementor-element.elementor-element-c1eda7f{left:0px;}body.rtl .elementor-3818 .elementor-element.elementor-element-c1eda7f{right:0px;}.elementor-3818 .elementor-element.elementor-element-5bb12d0{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3818 .elementor-element.elementor-element-5bb12d0.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-3818 .elementor-element.elementor-element-10ed713{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3818 .elementor-element.elementor-element-79491f7 .elementor-menu-toggle{margin-left:auto;}.elementor-3818 .elementor-element.elementor-element-79491f7 .elementor-nav-menu .elementor-item{font-size:16px;font-weight:600;text-transform:uppercase;}.elementor-3818 .elementor-element.elementor-element-79491f7 .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );padding-left:0px;padding-right:0px;padding-top:0px;padding-bottom:0px;}.elementor-3818 .elementor-element.elementor-element-79491f7 .elementor-nav-menu--main .elementor-item:hover,
					.elementor-3818 .elementor-element.elementor-element-79491f7 .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-3818 .elementor-element.elementor-element-79491f7 .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-3818 .elementor-element.elementor-element-79491f7 .elementor-nav-menu--main .elementor-item:focus{color:#9B6634;fill:#9B6634;}.elementor-3818 .elementor-element.elementor-element-79491f7 .elementor-nav-menu--main .elementor-item.elementor-item-active{color:var( --e-global-color-accent );}.elementor-3818 .elementor-element.elementor-element-79491f7{--e-nav-menu-horizontal-menu-item-margin:calc( 30px / 2 );}.elementor-3818 .elementor-element.elementor-element-79491f7 .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child){margin-bottom:30px;}.elementor-3818 .elementor-element.elementor-element-79491f7 div.elementor-menu-toggle{color:var( --e-global-color-accent );}.elementor-3818 .elementor-element.elementor-element-79491f7 div.elementor-menu-toggle svg{fill:var( --e-global-color-accent );}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1200px){.elementor-3818 .elementor-element.elementor-element-c1eda7f{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-3818 .elementor-element.elementor-element-79491f7 .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-nav-menu--dropdown, .elementor-3818 .elementor-element.elementor-element-79491f7 .elementor-nav-menu__container.elementor-nav-menu--dropdown{margin-top:25px !important;}}@media(max-width:767px){.elementor-3818 .elementor-element.elementor-element-c1eda7f{--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-3818 .elementor-element.elementor-element-5bb12d0{--width:70%;}.elementor-3818 .elementor-element.elementor-element-10ed713{--width:23%;}}@media(min-width:768px){.elementor-3818 .elementor-element.elementor-element-5bb12d0{--width:13%;}}@media(max-width:1200px) and (min-width:768px){.elementor-3818 .elementor-element.elementor-element-5bb12d0{--width:30.964%;}}/* Start custom CSS for html, class: .elementor-element-e22d306 *//* Inline SVG logo so the icon can be animated */
.elementor-3818 .elementor-element.elementor-element-e22d306{ width: auto !important; }
.elementor-3818 .elementor-element.elementor-element-e22d306 .vt-logo{ display: block; height: 46px; line-height: 0; }
.elementor-3818 .elementor-element.elementor-element-e22d306 .vt-logo svg{ height: 100%; width: auto; overflow: visible; display: block; }
.elementor-3818 .elementor-element.elementor-element-e22d306 .vt-logo path{ fill: #CE9461; }

/* Load (smooth): the icon outline draws slowly, the gold fill crossfades in as the outline fades out,
   then the wordmark fades in. Only opacity and dash offset are animated. */
.elementor-3818 .elementor-element.elementor-element-e22d306 .vt-ico{
  stroke: #CE9461; stroke-width: .7; stroke-linejoin: round; stroke-linecap: round;
  stroke-dasharray: 1; stroke-dashoffset: 1;
  fill-opacity: 0; stroke-opacity: 1;
  animation:
    vtLogoDraw 2.4s cubic-bezier(.45, 0, .25, 1) .3s forwards,
    vtLogoFill 1.2s cubic-bezier(.4, 0, .2, 1) 1.9s forwards;
}
.elementor-3818 .elementor-element.elementor-element-e22d306 .vt-txt{ opacity: 0; animation: vtLogoTxt 1.4s cubic-bezier(.4, 0, .2, 1) 1.7s forwards; }
@keyframes vtLogoDraw{ to{ stroke-dashoffset: 0; } }
@keyframes vtLogoFill{ to{ fill-opacity: 1; stroke-opacity: 0; } }
@keyframes vtLogoTxt{ to{ opacity: 1; } }

/* Hover: a line of light runs around the icon outline (echoes the load animation)
   and the wordmark turns a lighter gold. */
.elementor-3818 .elementor-element.elementor-element-e22d306 .vt-logo .vt-hl{
  fill: none !important; stroke: #E8B98A; stroke-width: 1.1; stroke-linejoin: round; stroke-linecap: round;
  stroke-dasharray: .18 .82; stroke-dashoffset: 1; opacity: 0; transition: opacity .3s ease;
}
.elementor-3818 .elementor-element.elementor-element-e22d306 .vt-logo:hover .vt-hl, .elementor-3818 .elementor-element.elementor-element-e22d306 .vt-logo:focus-visible .vt-hl{ opacity: 1; animation: vtLogoTrace 1.6s linear infinite; }
@keyframes vtLogoTrace{ to{ stroke-dashoffset: 0; } }
.elementor-3818 .elementor-element.elementor-element-e22d306 .vt-txt path{ transition: fill .35s ease; }
.elementor-3818 .elementor-element.elementor-element-e22d306 .vt-logo:hover .vt-txt path, .elementor-3818 .elementor-element.elementor-element-e22d306 .vt-logo:focus-visible .vt-txt path{ fill: #E8B98A; }

/* Reduced motion: show the logo as it is, hover only changes colour */
.elementor-3818 .elementor-element.elementor-element-e22d306 .vt-logo .vt-ico, .elementor-3818 .elementor-element.elementor-element-e22d306 .vt-logo .vt-txt{ will-change: opacity; }
@media (prefers-reduced-motion: reduce){
  .elementor-3818 .elementor-element.elementor-element-e22d306 .vt-ico, .elementor-3818 .elementor-element.elementor-element-e22d306 .vt-txt{ animation: none; stroke-dashoffset: 0; fill-opacity: 1; stroke-opacity: 0; opacity: 1; }
  .elementor-3818 .elementor-element.elementor-element-e22d306 .vt-logo:hover .vt-hl{ animation: none; opacity: 0; }
}
@media (max-width: 767px){ .elementor-3818 .elementor-element.elementor-element-e22d306 .vt-logo{ height: 38px; } }/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-95cb9d4 *//* Widget só com script: não ocupa espaço no header */
.elementor-3818 .elementor-element.elementor-element-95cb9d4{ position:absolute !important; width:0 !important; height:0 !important; overflow:hidden !important; margin:0 !important; padding:0 !important; }/* End custom CSS */
/* Start custom CSS for nav-menu, class: .elementor-element-79491f7 *//* "Fale Connosco" no menu (item com a classe vh-menu-cta): só aparece no menu dropdown dos telemóveis (<=767px),
   onde o botão do header está escondido. No desktop e tablet o botão do header continua a ser o único. */
.elementor-3818 .elementor-element.elementor-element-79491f7 .elementor-nav-menu--main .vh-menu-cta{ display: none !important; }
@media (min-width: 768px){
  .elementor-3818 .elementor-element.elementor-element-79491f7 .elementor-nav-menu--dropdown .vh-menu-cta{ display: none !important; }
}
.elementor-3818 .elementor-element.elementor-element-79491f7 .elementor-nav-menu--dropdown .vh-menu-cta > a.elementor-item{
  display: flex !important; justify-content: center; align-items: center;
  margin: 20px 20px 24px !important; padding: 19px 24px !important;
  background: #9B6634 !important; color: #fff !important; border-radius: 3px; border-bottom: 0 !important;
  font-weight: 700 !important; letter-spacing: .1em !important;
  transition: background-color .25s ease, color .25s ease;
}
.elementor-3818 .elementor-element.elementor-element-79491f7 .elementor-nav-menu--dropdown .vh-menu-cta > a.elementor-item:hover,
.elementor-3818 .elementor-element.elementor-element-79491f7 .elementor-nav-menu--dropdown .vh-menu-cta > a.elementor-item.elementor-item-active{
  background: #6D4A2A !important; color: #fff !important;
}

/* Dropdown colado ao fundo do header (sem faixa entre os dois).
   O dropdown fica a margin-top abaixo do botão ☰, que está centrado no header:
   header 76px (tablet) / 72px (telemóvel) -> 18px / 16px. */
.elementor-3818 .elementor-element.elementor-element-79491f7 .elementor-nav-menu--dropdown.elementor-nav-menu__container{ margin-top: 18px !important; }
@media (max-width: 767px){
  .elementor-3818 .elementor-element.elementor-element-79491f7 .elementor-nav-menu--dropdown.elementor-nav-menu__container{ margin-top: 16px !important; }
}

/* Menu do topo: a linha dourada do hover cresce do centro para os lados (em vez de vir da esquerda) */
.elementor-3818 .elementor-element.elementor-element-c1eda7f.vh .elementor-nav-menu--main .elementor-item::after{ transform-origin: center !important; }

/* Menu do topo FLUIDO (1201px+): letra, espaçamento e botão encolhem gradualmente com a largura do ecrã,
   em vez de saltarem em 1440/1280px. Assim o menu nunca fica por baixo do botão "Fale Connosco"
   (ex.: portáteis 14" com escala do Windows, ~1580–1600px). 16px máx. a partir de ~1880px. */
.elementor-3818 .elementor-element.elementor-element-c1eda7f.vh .elementor-nav-menu--main .elementor-item{
  font-size: clamp(12.5px, calc(0.5vw + 6.6px), 16px) !important;
  letter-spacing: .04em !important;
  margin: 0 clamp(5px, calc(1.1vw - 8px), 14px) !important;
}
.elementor-3818 .elementor-element.elementor-element-c1eda7f.vh .elementor-element-10ed713{ gap: clamp(14px, 1.4vw, 24px) !important; }

/* ===== Botão "Fale Connosco" do header (widget 17d962c) =====
   Cores dos botões principais: #9B6634 com texto branco; hover #6D4A2A com texto branco.
   Ícone de envelope antes do texto (máscara SVG, herda a cor do texto). */
.elementor-3818 .elementor-element.elementor-element-c1eda7f.vh .vh-cta .elementor-button.elementor-button-link{
  background: #9B6634 !important; color: #fff !important; box-shadow: none !important;
  transition: background-color .25s ease, color .25s ease !important;
}
.elementor-3818 .elementor-element.elementor-element-c1eda7f.vh .vh-cta .elementor-button.elementor-button-link:hover,
.elementor-3818 .elementor-element.elementor-element-c1eda7f.vh .vh-cta .elementor-button.elementor-button-link:focus-visible{
  background: #6D4A2A !important; color: #fff !important;
}
.elementor-3818 .elementor-element.elementor-element-c1eda7f.vh .vh-cta .elementor-button-text{
  display: inline-flex; align-items: center; gap: 10px; color: inherit !important;
}
.elementor-3818 .elementor-element.elementor-element-c1eda7f.vh .vh-cta .elementor-button-text::before{
  content: ''; width: 17px; height: 17px; flex: 0 0 17px; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3.5 6.5 8.5 6.5 8.5-6.5'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3.5 6.5 8.5 6.5 8.5-6.5'/%3E%3C/svg%3E") center / contain no-repeat;
}
@media (max-width: 1439px){
  .elementor-3818 .elementor-element.elementor-element-c1eda7f.vh .vh-cta .elementor-button-text{ gap: 8px; }
  .elementor-3818 .elementor-element.elementor-element-c1eda7f.vh .vh-cta .elementor-button-text::before{ width: 15px; height: 15px; flex-basis: 15px; }
}
/* Espaço interior do botão também fluido (22px em ecrãs largos, 12px junto aos 1201px) */
.elementor-3818 .elementor-element.elementor-element-c1eda7f.vh .vh-cta .elementor-button.elementor-button-link{ padding: 14px clamp(12px, calc(2vw - 10px), 22px) !important; }/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-c1eda7f *//* ===== Header v2: transparent over the hero, solid dark after scrolling ===== */
/* The class vh--solid is added by the small script in widget 95cb9d4 as soon as the page leaves the top,
   so Chrome, Safari and Firefox all behave the same. */
.elementor-3818 .elementor-element.elementor-element-c1eda7f{
  background-color: transparent !important;
  background-image: linear-gradient(180deg, rgba(20,20,16,.85) 0%, rgba(20,20,16,.6) 55%, rgba(20,20,16,0) 100%) !important;
  height: 88px;
  padding: 0 clamp(24px, 6vw, 96px) !important;
  -webkit-backdrop-filter: blur(0); backdrop-filter: blur(0);
  box-shadow: 0 1px 0 rgba(255,255,255,0);
  transition: background-color .35s ease, height .35s ease, box-shadow .35s ease, -webkit-backdrop-filter .35s ease, backdrop-filter .35s ease;
}
/* Top of the page (over the photo): a soft shadow behind the menu text for legibility */
.elementor-3818 .elementor-element.elementor-element-c1eda7f:not(.vh--solid) .elementor-nav-menu--main .elementor-item{ text-shadow: 0 1px 10px rgba(0,0,0,.55); }
.elementor-3818 .elementor-element.elementor-element-c1eda7f.vh--solid{
  background-color: rgba(20,20,16,.94) !important;
  height: 70px;
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  box-shadow: 0 1px 0 rgba(255,255,255,.06), 0 10px 30px -12px rgba(0,0,0,.45);
}

/* Layout: logo left, menu + button right, one line */
.elementor-3818 .elementor-element.elementor-element-c1eda7f > .e-con-inner{ max-width: none !important; width: 100%; height: 100%; justify-content: space-between !important; align-items: center !important; flex-wrap: nowrap !important; padding: 0 !important; }
.elementor-3818 .elementor-element.elementor-element-c1eda7f .elementor-element-5bb12d0{ width: auto !important; flex: 0 0 auto !important; }
.elementor-3818 .elementor-element.elementor-element-c1eda7f .elementor-element-785b0d8{ width: auto !important; }
.elementor-3818 .elementor-element.elementor-element-c1eda7f .elementor-element-785b0d8 img{ height: 40px !important; width: auto !important; max-width: none !important; }
.elementor-3818 .elementor-element.elementor-element-c1eda7f .elementor-element-10ed713{ width: auto !important; flex: 0 1 auto !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important; gap: 24px !important; }
.elementor-3818 .elementor-element.elementor-element-c1eda7f .elementor-element-79491f7{ width: auto !important; flex: 0 1 auto !important; }

/* Menu links: 16px spaced caps, white; bronze line grows on hover; current section in bronze.
   16px fits on one line from 1440px; narrower screens step down below. */
.elementor-3818 .elementor-element.elementor-element-c1eda7f .elementor-nav-menu--main .elementor-nav-menu{ flex-wrap: nowrap !important; }
.elementor-3818 .elementor-element.elementor-element-c1eda7f .elementor-nav-menu--main .elementor-item{
  font-family: Inter, sans-serif !important; font-size: 16px !important; font-weight: 500 !important;
  letter-spacing: .08em !important; text-transform: uppercase !important;
  color: rgba(255,255,255,.9) !important; fill: rgba(255,255,255,.9) !important;
  padding: 12px 0 !important; margin: 0 14px !important; position: relative; white-space: nowrap;
}
.elementor-3818 .elementor-element.elementor-element-c1eda7f .elementor-nav-menu--main .elementor-item::after{
  content: '' !important; position: absolute !important; left: 0 !important; right: 0 !important; top: auto !important; bottom: 4px !important;
  width: auto !important; height: 1px !important; background: #CE9461 !important; opacity: 1 !important;
  transform: scaleX(0); transform-origin: left; transition: transform .3s ease;
}
.elementor-3818 .elementor-element.elementor-element-c1eda7f .elementor-nav-menu--main .elementor-item:hover{ color: #fff !important; }
.elementor-3818 .elementor-element.elementor-element-c1eda7f .elementor-nav-menu--main .elementor-item:hover::after,
.elementor-3818 .elementor-element.elementor-element-c1eda7f .elementor-nav-menu--main .elementor-item.elementor-item-active::after{ transform: scaleX(1); }
.elementor-3818 .elementor-element.elementor-element-c1eda7f .elementor-nav-menu--main .elementor-item.elementor-item-active{ color: #CE9461 !important; }

/* Fale Connosco button (the site kit forces buttons gold, so restate it) */
.elementor-3818 .elementor-element.elementor-element-c1eda7f .vh-cta .elementor-button.elementor-button-link{
  background: #9B6634 !important; color: #fff !important; border-radius: 3px; padding: 15px 22px !important;
  font: 600 14px/1 Inter, sans-serif !important; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; transition: background .25s;
}
.elementor-3818 .elementor-element.elementor-element-c1eda7f .vh-cta .elementor-button.elementor-button-link:hover{ background: #CE9461 !important; }

/* 1440-1579px: still 16px, slightly tighter spacing */
@media (max-width: 1579px){
  .elementor-3818 .elementor-element.elementor-element-c1eda7f .elementor-nav-menu--main .elementor-item{ letter-spacing: .03em !important; margin: 0 9px !important; }
  .elementor-3818 .elementor-element.elementor-element-c1eda7f .elementor-element-10ed713{ gap: 18px !important; }
}
/* 1280-1439px: 13.5px (16px would wrap to two lines) */
@media (max-width: 1439px){
  .elementor-3818 .elementor-element.elementor-element-c1eda7f .elementor-nav-menu--main .elementor-item{ font-size: 13.5px !important; letter-spacing: .04em !important; margin: 0 8px !important; }
  .elementor-3818 .elementor-element.elementor-element-c1eda7f .elementor-element-10ed713{ gap: 16px !important; }
  .elementor-3818 .elementor-element.elementor-element-c1eda7f .vh-cta .elementor-button.elementor-button-link{ padding: 14px 18px !important; font-size: 12.5px !important; }
}
/* 1201-1279px: tightest width before the hamburger menu */
@media (max-width: 1279px){
  .elementor-3818 .elementor-element.elementor-element-c1eda7f .elementor-nav-menu--main .elementor-item{ font-size: 12.5px !important; letter-spacing: .02em !important; margin: 0 6px !important; }
}

/* 1200px and below: hamburger menu (Elementor dropdown), restyled */
.elementor-3818 .elementor-element.elementor-element-c1eda7f .elementor-menu-toggle{ background: transparent !important; color: #fff !important; fill: #fff !important; font-size: 26px; }
.elementor-3818 .elementor-element.elementor-element-c1eda7f .elementor-menu-toggle svg{ fill: #fff !important; }
.elementor-3818 .elementor-element.elementor-element-c1eda7f .elementor-nav-menu--dropdown{ background: #141410 !important; border-top: 1px solid rgba(255,255,255,.08); }
.elementor-3818 .elementor-element.elementor-element-c1eda7f .elementor-nav-menu--dropdown .elementor-item{
  font: 500 17px/1 Inter, sans-serif !important; letter-spacing: .1em !important; text-transform: uppercase;
  color: rgba(255,255,255,.9) !important; background: transparent !important; padding: 20px clamp(24px, 6vw, 96px) !important;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.elementor-3818 .elementor-element.elementor-element-c1eda7f .elementor-nav-menu--dropdown .elementor-item:hover, .elementor-3818 .elementor-element.elementor-element-c1eda7f .elementor-nav-menu--dropdown .elementor-item.elementor-item-active{ color: #CE9461 !important; background: rgba(255,255,255,.03) !important; }
/* Tablet and phone: always a solid bar (the dropdown menu hangs from it) */
@media (max-width: 1200px){
  .elementor-3818 .elementor-element.elementor-element-c1eda7f, .elementor-3818 .elementor-element.elementor-element-c1eda7f.vh--solid{ height: 76px; background-color: rgba(20,20,16,.92) !important; -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); }
}
/* Phones: hide the header button (the hero already has Fale Connosco) */
@media (max-width: 767px){
  .elementor-3818 .elementor-element.elementor-element-c1eda7f, .elementor-3818 .elementor-element.elementor-element-c1eda7f.vh--solid{ height: 72px; }
  .elementor-3818 .elementor-element.elementor-element-c1eda7f{ padding: 0 20px !important; }
  .elementor-3818 .elementor-element.elementor-element-c1eda7f .elementor-element-785b0d8 img{ height: 34px !important; }
  .elementor-3818 .elementor-element.elementor-element-c1eda7f .vh-cta{ display: none !important; }
}/* End custom CSS */