@charset "UTF-8";
/* ==========================================================================
   Casa Evarte — folha de estilos única
   Paleta e tipografia conforme brandbook (CASA_EVARTE.pdf)
   Nota: a display é Playfair Display. A Aequitas Black do brandbook é uma
   versão DEMO sem acentos e sem licença web — ver LEIA-ME.md
   ========================================================================== */

/* ---------- Tipos de letra (auto-alojados, sem CDN, sem transferir IP) ---- */
@font-face{font-family:'Montserrat';src:url('../fontes/montserrat-200.woff2') format('woff2');font-weight:200;font-style:normal;font-display:swap}
@font-face{font-family:'Montserrat';src:url('../fontes/montserrat-300.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Montserrat';src:url('../fontes/montserrat-500.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:'Playfair';src:url('../fontes/playfair-600.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}

/* ---------- Fichas de marca ---------------------------------------------- */
:root{
  --marca:#544442;          /* castanho da marca */
  --tinta:#2E2523;          /* títulos */
  --texto:#655553;          /* corpo de texto (7,0:1 sobre --papel) */
  --terra:#BD5334;          /* destaque da marca — grafismos e texto grande */
  --terra-texto:#A8452B;    /* mesma matiz, 12% mais escura: texto pequeno (AA 5,6:1) */
  --terra-fundo:#A8452B;    /* faixa cheia, para o creme passar AA por cima */
  --terra-med:#D4765C;
  --terra-sua:#E3997F;
  --pessego:#F5D5C5;
  --creme:#ECE8E6;
  --papel:#FAF8F6;
  --escuro:#332826;         /* fundos escuros */
  --linha:rgba(84,68,66,.16);
  --linha-clara:rgba(236,232,230,.22);

  --serif:'Playfair',Georgia,'Times New Roman',serif;
  --sans:'Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;

  --gutter:clamp(20px,5vw,72px);
  --largura:1240px;
  --secao:clamp(72px,9vw,132px);
  --arco:50% 50% 0 0 / 34% 34% 0 0;   /* o arco da marca, como máscara */
  --transicao:.55s cubic-bezier(.22,1,.36,1);
}

/* ---------- Base --------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{
  margin:0;background:var(--papel);color:var(--texto);
  font-family:var(--sans);font-weight:300;font-size:clamp(.95rem,.35vw + .88rem,1.03rem);
  line-height:1.75;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}
img,svg,video{max-width:100%;display:block;height:auto}
/* ícones em linha nunca crescem sem medida definida */
svg[aria-hidden="true"]{flex:0 0 auto;width:1em;height:1em}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;color:var(--tinta);margin:0;line-height:1.06;letter-spacing:-.012em}
p{margin:0}
/* Só temos Montserrat 200/300/500: o bold usa 500, para o navegador não
   sintetizar um peso falso e sujo. */
strong,b{font-weight:500;color:var(--marca)}
.faixa--terra strong,.faixa--escura strong,.capa strong{color:var(--creme)}
ul,ol{margin:0;padding:0}
::selection{background:var(--terra);color:var(--creme)}
:focus-visible{outline:2px solid var(--terra);outline-offset:3px;border-radius:2px}
.saltar{position:absolute;left:-9999px;top:0;z-index:400;background:var(--escuro);color:var(--creme);padding:14px 22px;text-decoration:none;font-size:.8rem}
.saltar:focus{left:12px;top:12px}
.oculto-visual{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- Estrutura ---------------------------------------------------- */
.envolve{width:100%;max-width:var(--largura);margin-inline:auto;padding-inline:var(--gutter)}
.faixa{padding-block:var(--secao)}
.faixa--creme{background:var(--creme)}
.faixa--terra{background:var(--terra-fundo);color:var(--creme)}
.faixa--escura{background:var(--escuro);color:var(--creme)}
.faixa--terra h1,.faixa--terra h2,.faixa--terra h3,.faixa--terra h4,
.faixa--escura h1,.faixa--escura h2,.faixa--escura h3,.faixa--escura h4{color:var(--creme)}
.faixa--compacta{padding-block:clamp(52px,6vw,84px)}

/* ---------- Tipografia utilitária --------------------------------------- */
.sobrancelha{
  display:flex;align-items:center;gap:11px;
  font-size:.66rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;
  color:var(--terra-texto);margin-bottom:20px;line-height:1;
}
.sobrancelha::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:0 0 auto}
.faixa--terra .sobrancelha{color:var(--creme)}
.faixa--escura .sobrancelha{color:var(--pessego)}
.sobrancelha--centro{justify-content:center}

.display{font-family:var(--serif);font-size:clamp(2.5rem,6vw,4.9rem);line-height:.99}
.titulo{font-size:clamp(1.85rem,3.4vw,2.9rem);line-height:1.08}
.titulo-p{font-size:clamp(1.28rem,2vw,1.6rem);line-height:1.18}
em,.italico{font-style:italic;color:var(--terra)}
.faixa--terra em,.faixa--escura em{color:var(--pessego)}  /* só em texto grande */
.entrada{font-weight:200;font-size:clamp(1.02rem,.5vw + .92rem,1.18rem);line-height:1.7;color:var(--marca)}
.faixa--terra .entrada,.faixa--escura .entrada{color:var(--creme)}
.medida{max-width:64ch}
.medida-curta{max-width:48ch}
.centro{text-align:center;margin-inline:auto}
.nota{font-size:.8rem;line-height:1.6;color:var(--texto);opacity:.8}

/* o arco da marca em pequena escala — carrega a assinatura sem ocupar meia página */
.arco-marca{
  position:relative;flex:0 0 auto;width:17px;height:20px;margin-bottom:16px;
  border:1.4px solid var(--terra);border-bottom:0;border-radius:50% 50% 0 0 / 62% 62% 0 0
}
.arco-marca::after{
  content:"";position:absolute;top:-7px;left:50%;transform:translateX(-50%);
  width:5px;height:5px;border-radius:50%;background:var(--terra-sua)
}
.faixa--terra .arco-marca,.faixa--escura .arco-marca{border-color:var(--pessego)}
.faixa--terra .arco-marca::after,.faixa--escura .arco-marca::after{background:var(--pessego)}

/* filete com o ponto da marca */
.filete{display:flex;align-items:center;gap:14px;margin-block:clamp(40px,5vw,64px)}
.filete::before,.filete::after{content:"";height:1px;background:var(--linha);flex:1}
.filete i{width:8px;height:8px;border-radius:50%;background:var(--terra-sua);display:block}

/* ---------- Botões ------------------------------------------------------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--sans);font-weight:500;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;
  padding:16px 34px;border-radius:100px;border:1px solid transparent;cursor:pointer;
  text-decoration:none;transition:background var(--transicao),color var(--transicao),border-color var(--transicao),transform var(--transicao);
  line-height:1;text-align:center;
}
.btn--principal{background:var(--marca);color:var(--creme)}
.btn--principal:hover{background:var(--terra);transform:translateY(-2px)}
.btn--contorno{border-color:var(--marca);color:var(--marca)}
.btn--contorno:hover{background:var(--marca);color:var(--creme)}
.btn--claro{background:var(--creme);color:var(--marca)}
.btn--claro:hover{background:var(--papel);transform:translateY(-2px)}
.btn--reserva{background:var(--pessego);color:var(--escuro);border-color:var(--pessego);box-shadow:0 8px 22px rgba(197,134,105,.24)}
.btn--reserva:hover{background:#f1c4ad;color:var(--escuro);transform:translateY(-2px)}
.btn--claro-contorno{border-color:var(--linha-clara);color:var(--creme)}
.btn--claro-contorno:hover{background:var(--creme);color:var(--marca);border-color:var(--creme)}
.btn svg{width:16px;height:16px;flex:0 0 auto}
.acoes{display:flex;flex-wrap:wrap;gap:12px}

.ligacao{
  display:inline-flex;align-items:center;gap:8px;color:var(--terra-texto);text-decoration:none;
  font-weight:500;font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;
  border-bottom:1px solid currentColor;padding-bottom:3px;white-space:nowrap;transition:gap var(--transicao)
}
.ligacao:hover{gap:14px}
.ligacao svg{width:15px;height:15px;flex:0 0 auto}
.faixa--terra .ligacao{color:var(--creme)}
.faixa--escura .ligacao{color:var(--pessego)}

/* ---------- Barra de navegação ------------------------------------------ */
.topo{
  position:fixed;inset:0 0 auto 0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:13px var(--gutter);
  /* fundo sempre opaco: em cima do hero claro, o menu em creme era ilegível */
  /* Sem backdrop-filter: criava um bloco de contenção e o menu fixo do
     telemóvel passava a medir a altura da barra em vez do ecrã. */
  background:rgba(51,40,38,.97);
  box-shadow:0 1px 0 rgba(236,232,230,.08);
  transition:padding var(--transicao);
}
body.admin-bar .topo{top:32px}
.topo--fundo{padding-block:11px}
.topo__marca{display:block;flex:0 0 auto}
.topo__marca img{height:38px;width:auto;transition:height var(--transicao)}
.topo--fundo .topo__marca img{height:34px}
.topo__menu{display:flex;align-items:center;gap:clamp(5px,.75vw,12px)}
.topo__menu a{
  color:var(--creme);text-decoration:none;font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;
  opacity:.88;transition:opacity var(--transicao),background var(--transicao),border-color var(--transicao),transform var(--transicao),box-shadow var(--transicao);
  padding:8px 9px;border:1px solid transparent;border-radius:999px;white-space:nowrap
}
.topo__menu a:nth-child(1){background:rgba(255,255,255,.035)}
.topo__menu a:nth-child(2){background:rgba(237,218,207,.055)}
.topo__menu a:nth-child(3){background:rgba(227,197,181,.07)}
.topo__menu a:nth-child(4){background:rgba(211,175,155,.075)}
.topo__menu a:nth-child(5){background:rgba(197,155,132,.085)}
.topo__menu a:nth-child(6){background:rgba(188,142,118,.095)}
.topo__menu a:nth-child(7){background:rgba(178,129,104,.105)}
.topo__menu a:nth-child(8){background:rgba(168,116,92,.115)}
.topo__menu a:hover,.topo__menu a[aria-current="page"]{opacity:1;border-color:rgba(255,255,255,.34);background:rgba(255,255,255,.13);transform:translateY(-2px);box-shadow:0 7px 18px rgba(28,14,8,.14)}
.topo__menu a[aria-current="page"]{border-color:rgba(239,195,173,.62);box-shadow:inset 0 -1px 0 var(--terra-sua),0 7px 18px rgba(28,14,8,.14)}
.topo__menu .btn{padding:13px 26px;font-size:.7rem;opacity:1}
.topo__menu .btn--claro{color:var(--marca)}          /* .topo__menu a vencia por especificidade */
.topo__menu .btn--claro:hover{color:var(--marca)}
.topo__menu .btn--reserva{color:var(--escuro);opacity:1}
.topo__menu .btn--reserva:hover{color:var(--escuro)}
.topo__menu .topo__cliente{opacity:1;padding:10px 15px;border:1px solid rgba(236,232,230,.5);border-radius:999px;letter-spacing:.08em;background:rgba(255,255,255,.06)}
.topo__menu .topo__cliente:hover,.topo__menu .topo__cliente[aria-current="page"]{border-color:var(--creme);background:rgba(255,255,255,.12);box-shadow:none}
.topo__botao{display:none;flex-direction:column;gap:5px;background:none;border:0;padding:10px;cursor:pointer;z-index:210}
.topo__botao span{display:block;width:24px;height:1.5px;background:var(--creme);transition:transform var(--transicao),opacity var(--transicao)}
@media (max-width:1280px){
  .topo__botao{display:flex}
  .topo__menu{
    position:fixed;inset:0;height:100dvh;background:var(--escuro);
    flex-direction:column;justify-content:flex-start;
    gap:22px;transform:translateY(-100%);transition:transform var(--transicao);
    padding:84px 24px 40px;overflow-y:auto;overscroll-behavior:contain
  }
  /* Centra quando cabe e encosta ao topo quando não cabe. Com
     justify-content:center, o que transborda sai pelo topo e fica inacessível. */
  .topo__menu>*:first-child{margin-top:auto}
  .topo__menu>*:last-child{margin-bottom:auto}
  .topo--aberto .topo__menu{transform:translateY(0)}
  .topo__menu a{font-size:1.05rem;letter-spacing:.1em;opacity:.95}
  .topo--aberto .topo__botao span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
  .topo--aberto .topo__botao span:nth-child(2){opacity:0}
  .topo--aberto .topo__botao span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}
}

/* ---------- Consentimento e privacidade -------------------------------- */
.cookieadmin_law_container{
  left:50%!important;right:auto!important;top:auto!important;bottom:18px!important;
  width:min(1040px,calc(100vw - 32px))!important;transform:translateX(-50%);
  font-family:var(--sans)!important;color:var(--texto)!important
}
.cookieadmin_consent_inside{
  padding:clamp(20px,3vw,28px)!important;border:1px solid rgba(132,82,61,.18)!important;
  border-radius:22px!important;background:rgba(255,253,250,.98)!important;
  box-shadow:0 24px 70px rgba(46,37,35,.22)!important
}
#cookieadmin_notice_title{
  padding:0!important;margin:0 0 8px!important;color:var(--escuro)!important;
  font:600 clamp(1.2rem,2vw,1.55rem)/1.2 var(--serif)!important
}
.cookieadmin_notice_con{padding:0!important;color:#615954!important;font-size:.9rem!important;line-height:1.6!important}
.cookieadmin_notice_con p{margin:0!important}
.cookieadmin_consent_btns{justify-content:flex-end!important;gap:10px!important;margin-top:18px!important}
button.cookieadmin_btn{
  flex:0 1 auto!important;min-height:44px!important;margin:0!important;padding:10px 18px!important;
  border:1px solid #8a5541!important;border-radius:999px!important;background:#fff!important;
  color:#603a2d!important;font:700 .76rem/1.2 var(--sans)!important;letter-spacing:.04em!important;
  transition:transform var(--transicao),background var(--transicao),color var(--transicao),box-shadow var(--transicao)!important
}
button.cookieadmin_btn:hover,button.cookieadmin_btn:focus-visible{opacity:1!important;transform:translateY(-1px);box-shadow:0 8px 20px rgba(96,58,45,.14);outline:none}
button.cookieadmin_accept_btn{background:#8a5541!important;color:#fff!important}
button.cookieadmin_accept_btn:hover,button.cookieadmin_accept_btn:focus-visible{background:#603a2d!important}
button.cookieadmin_customize_btn{border-color:transparent!important;background:#f5eee9!important}
.cookieadmin-poweredby{display:none!important}
button.cookieadmin_re_consent{display:none!important}
.cookieadmin_modal_overlay{z-index:999998!important;background:rgba(38,29,26,.62)!important;backdrop-filter:blur(3px)}
.cookieadmin_cookie_modal{
  z-index:999999!important;width:min(680px,calc(100vw - 32px))!important;max-width:none!important;
  max-height:min(82vh,760px)!important;left:50%!important;right:auto!important;top:50%!important;bottom:auto!important;
  transform:translate(-50%,-50%)!important;border:1px solid rgba(132,82,61,.18)!important;
  border-radius:22px!important;box-shadow:0 28px 90px rgba(35,27,24,.3)!important;
  font-family:var(--sans)!important
}
.cookieadmin_mod_head{padding:20px 22px!important;border-color:#eadfd7!important}
.cookieadmin_preference_title{margin:0!important;color:var(--escuro)!important;font:600 1.45rem/1.25 var(--serif)!important}
.cookieadmin_close_pref{font-size:28px!important;line-height:1!important;color:#6d625c!important}
.cookieadmin_details_wrapper{padding:4px 22px!important}
.cookieadmin_types{padding:15px 4px!important;border-color:#eadfd7!important}
.cookieadmin_modal_footer{display:flex!important;gap:8px!important;padding:18px 22px!important;border-color:#eadfd7!important}
.cookieadmin_modal_footer_links{padding:0 22px 18px!important;text-align:center!important}
.grecaptcha-badge{visibility:hidden!important}
.form__recaptcha{max-width:68ch;margin-top:8px!important;color:rgba(84,68,66,.72);font-size:.7rem!important;line-height:1.5!important}
.form__recaptcha a{text-decoration:underline;text-underline-offset:2px}

/* A área de cliente não precisa do cabeçalho editorial alto das restantes páginas. */
.page-id-22 .capa{padding:clamp(100px,12vh,130px) var(--gutter) clamp(30px,4vw,46px)}
.page-id-22 .capa h1{margin-bottom:0;font-size:clamp(1.9rem,3.7vw,2.9rem)}
.page-id-22 .migalhas{margin-bottom:12px}
.page-id-22 .faixa{padding-block:clamp(28px,4vw,52px)}
.page-id-22 .legal{max-width:none}

@media (max-width:680px){
  .cookieadmin_law_container{bottom:10px!important;width:calc(100vw - 20px)!important}
  .cookieadmin_consent_inside{padding:19px!important;border-radius:17px!important}
  .cookieadmin_consent_btns{display:grid!important;grid-template-columns:1fr 1fr!important}
  button.cookieadmin_btn{width:100%!important;padding-inline:12px!important}
  button.cookieadmin_accept_btn{grid-column:1/-1;grid-row:1}
  .cookieadmin_cookie_modal{width:calc(100vw - 20px)!important;max-height:90vh!important;border-radius:17px!important}
  .cookieadmin_modal_footer{display:grid!important;grid-template-columns:1fr!important}
  .page-id-22 .capa{padding-top:96px;padding-bottom:28px}
}
@media (max-width:782px){body.admin-bar .topo{top:46px}}
/* Ecrãs baixos (telemóvel deitado, janelas pequenas): aperta o menu para
   caberem os 7 itens sem ser preciso rolar. */
@media (max-width:1280px) and (max-height:560px){
  .topo__menu{gap:12px;padding:70px 24px 24px}
  .topo__menu a{font-size:.95rem}
  .topo__menu .btn{padding:11px 22px}
}

/* ---------- Hero (página inicial) --------------------------------------- */
.hero{
  display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:clamp(32px,5vw,80px);
  min-height:100svh;padding:clamp(88px,9.5vh,106px) var(--gutter) clamp(34px,4.5vh,58px);
  max-width:var(--largura);margin-inline:auto;
}
.hero__texto{max-width:36rem}
.hero__marca{height:clamp(56px,6vw,74px);width:auto;margin-bottom:clamp(18px,2vw,24px)}
.hero .display{margin-bottom:16px}
.hero__entrada{margin-bottom:clamp(22px,2.4vw,28px)}
.hero__meta{
  display:flex;flex-wrap:wrap;gap:9px 24px;margin-top:clamp(16px,2vw,24px);padding-top:15px;
  border-top:1px solid var(--linha);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--marca)
}
.hero__meta span{display:flex;align-items:center;gap:8px}
.hero__meta svg{width:15px;height:15px;color:var(--terra-texto)}
/* Moldura de imagem. A máscara em arco foi retirada: cortava a fotografia e
   ocupava demasiado espaço. O arco vive agora no marcador .arco-marca. */
.moldura{position:relative}
.moldura__imagem{border-radius:4px;overflow:hidden;background:var(--creme)}
.moldura__imagem img{width:100%;height:100%;object-fit:cover}
.moldura__ponto{display:none}
@media (max-width:900px){
  /* no telemóvel o título e o botão vêm primeiro: têm de estar visíveis sem scroll */
  .hero{grid-template-columns:1fr;min-height:0;padding-top:clamp(96px,16vh,128px);gap:38px}
  .hero__visual,.hero__lado{max-width:none}
  .hero__marca{height:clamp(58px,14vw,74px);margin-bottom:22px}
  .moldura__ponto{top:-16px}
}

/* ---------- Três serviços em destaque (também funcionam como botões) ----- */
/* coluna direita do hero: fotografia + os três serviços */
.hero__lado{display:grid;gap:clamp(12px,1.4vw,16px);align-content:center}
.hero__foto .moldura__imagem{border-radius:5px}
.experiencias{display:grid;gap:9px;align-content:center}
.exp{
  display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;
  padding:clamp(15px,1.6vw,19px) clamp(18px,2vw,24px);
  background:var(--creme);border:1px solid transparent;border-radius:5px;text-decoration:none;
  transition:background var(--transicao),border-color var(--transicao),transform var(--transicao)
}
.exp:hover,.exp:focus-visible{background:var(--papel);border-color:var(--terra);transform:translateX(4px)}
.exp__icone{color:var(--terra-texto);display:block}
.exp__icone svg{width:29px;height:29px}
.exp__nome{font-family:var(--serif);font-size:clamp(1.02rem,1.35vw,1.18rem);color:var(--tinta);line-height:1.2;display:block}
.exp__nota{display:block;font-size:.78rem;color:var(--texto);margin-top:5px;line-height:1.5}
.exp__seta{color:var(--terra-texto);display:block}
.exp__seta svg{width:17px;height:17px;transition:transform var(--transicao)}
.exp:hover .exp__seta svg{transform:translateX(4px)}

/* ---------- Cabeçalho de páginas interiores ----------------------------- */
.capa{
  background:var(--escuro);color:var(--creme);padding:clamp(132px,17vh,190px) var(--gutter) clamp(56px,7vw,84px);
  position:relative;overflow:hidden
}
.capa::after{
  content:"";position:absolute;right:-6%;bottom:-58%;width:min(46%,440px);aspect-ratio:.86;
  border:1px solid var(--linha-clara);border-bottom:0;border-radius:var(--arco);pointer-events:none
}
.capa__interior{max-width:var(--largura);margin-inline:auto;position:relative;z-index:1}
.capa h1{color:var(--creme);font-size:clamp(2.2rem,5vw,3.9rem);margin-bottom:18px}
.capa .entrada{max-width:56ch;color:var(--creme)}
.migalhas{display:flex;flex-wrap:wrap;gap:8px;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:22px;color:var(--pessego)}
.migalhas a{text-decoration:none;opacity:.8}
.migalhas a:hover{opacity:1;text-decoration:underline}
.migalhas span[aria-hidden]{opacity:.45}

/* ---------- Duas colunas editoriais ------------------------------------- */
.duas{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(36px,6vw,88px);align-items:center}
.duas--inverso{grid-template-columns:1.15fr .85fr}
@media (max-width:900px){.duas,.duas--inverso{grid-template-columns:1fr;gap:36px}.duas--inverso>.duas__visual{order:-1}}

/* ---------- Grelha de valores / listas com marca ------------------------ */
.valores{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(232px,100%),1fr));gap:clamp(22px,3vw,34px);margin-top:clamp(34px,4vw,50px)}
.valor{padding-top:20px;border-top:1px solid var(--linha)}
.valor h3{font-family:var(--sans);font-weight:500;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--terra-texto);margin-bottom:9px}
.valor p{font-size:.92rem;line-height:1.68}
.faixa--terra .valor,.faixa--escura .valor{border-color:var(--linha-clara)}
.faixa--terra .valor h3{color:var(--creme)}
.faixa--escura .valor h3{color:var(--pessego)}

.lista{list-style:none;display:grid;gap:11px}
.lista li{position:relative;padding-left:22px;font-size:.94rem;line-height:1.62}
.lista li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--terra-sua)}
.lista--duas{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:11px clamp(24px,4vw,48px)}
.lista--proibido li::before{background:none;width:9px;height:1px;top:.85em;background:var(--terra)}

/* ---------- Áreas do espaço (estrutura editorial, sem fotografia) -------- */
.areas{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(min(390px,100%),1fr));
  gap:0 clamp(32px,5vw,72px);margin-top:clamp(34px,4vw,48px);
  border-top:1px solid var(--linha)
}
.area{padding:clamp(24px,2.6vw,32px) 0;border-bottom:1px solid var(--linha)}
.area__imagem{
  border-radius:4px;overflow:hidden;background:var(--creme);aspect-ratio:4/3;margin-bottom:18px
}
.area__imagem img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.22,1,.36,1)}
.area:hover .area__imagem img{transform:scale(1.03)}
.area h3{font-size:clamp(1.1rem,1.5vw,1.3rem);margin-bottom:10px}
.area p{font-size:.93rem;line-height:1.7}
.area__etiqueta{
  display:block;font-size:.63rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase;
  color:var(--terra-texto);margin-bottom:9px
}
.faixa--creme .areas,.faixa--creme .area{border-color:rgba(84,68,66,.2)}

/* ---------- Espaços (cartões em arco) ----------------------------------- */
.espacos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(282px,100%),1fr));gap:clamp(24px,3vw,38px);margin-top:clamp(40px,5vw,58px)}
.espaco__imagem{border-radius:var(--arco);overflow:hidden;background:var(--papel);aspect-ratio:4/5;margin-bottom:20px}
.espaco__imagem img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.22,1,.36,1)}
.espaco:hover .espaco__imagem img{transform:scale(1.04)}
.espaco h3{font-size:1.16rem;margin-bottom:9px}
.espaco p{font-size:.92rem;line-height:1.66}

/* ---------- Cartões de serviço ------------------------------------------ */
.servicos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:clamp(18px,2.4vw,26px);margin-top:clamp(38px,5vw,54px)}
.servico{
  display:flex;flex-direction:column;gap:14px;padding:clamp(28px,3vw,38px);
  background:var(--papel);border:1px solid var(--linha);border-radius:6px;text-decoration:none;
  transition:border-color var(--transicao),transform var(--transicao)
}
.servico:hover{border-color:var(--terra);transform:translateY(-3px)}
.servico .arco-marca{width:23px;height:27px;margin-bottom:20px}
.servico .arco-marca::after{top:-9px;width:6px;height:6px}

.servico h3{font-size:1.3rem}
.servico p{font-size:.93rem;line-height:1.68;flex:1}
.faixa--terra .servico{background:transparent;border-color:var(--linha-clara);color:var(--creme)}
/* escurece no hover em vez de clarear: clarear baixava o contraste para 4,18:1 */
.faixa--terra .servico:hover{background:rgba(46,37,35,.12);border-color:var(--creme)}


/* ---------- Preçário ---------------------------------------------------- */
.tabelas{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:clamp(26px,4vw,48px);margin-top:clamp(36px,4vw,52px)}
.tabela{background:var(--papel);border:1px solid var(--linha);border-radius:6px;padding:clamp(24px,3vw,34px)}
.tabela h3{font-family:var(--sans);font-weight:500;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--terra-texto);margin-bottom:6px}
.tabela__nota{font-size:.78rem;color:var(--texto);opacity:.85;margin-bottom:20px}
.tabela table{width:100%;border-collapse:collapse}
.tabela th{text-align:left;font-weight:500;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--texto);opacity:.75;padding-bottom:10px;border-bottom:1px solid var(--linha)}
.tabela th:last-child,.tabela td:last-child{text-align:right}
.tabela td{padding:15px 0;border-bottom:1px solid var(--linha);font-size:.95rem;vertical-align:baseline}
.tabela tr:last-child td{border-bottom:0;padding-bottom:0}
.tabela .periodo{color:var(--marca)}
.tabela .horas{display:block;font-size:.78rem;opacity:.7;letter-spacing:.02em}
.tabela .valor-num{font-family:var(--serif);font-size:1.5rem;color:var(--tinta);white-space:nowrap}
.tabela__desconto{
  margin-top:22px;padding:15px 18px;background:var(--creme);border-radius:4px;
  font-size:.84rem;line-height:1.6;color:var(--marca)
}
.faixa--creme .tabela__desconto{background:var(--papel)}
.inclui{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(228px,100%),1fr));gap:clamp(24px,3vw,40px);align-items:start}

/* ---------- Perguntas frequentes ---------------------------------------- */
.faq{margin-top:clamp(34px,4vw,50px);border-top:1px solid var(--linha)}
.faq details{border-bottom:1px solid var(--linha)}
.faq summary{
  display:flex;align-items:flex-start;gap:16px;padding:22px 0;cursor:pointer;list-style:none;
  font-family:var(--serif);font-size:clamp(1.02rem,1.3vw,1.16rem);color:var(--tinta);line-height:1.35
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"";flex:0 0 auto;margin-left:auto;width:11px;height:11px;margin-top:.42em;
  border-right:1.5px solid var(--terra);border-bottom:1.5px solid var(--terra);
  transform:rotate(45deg);transition:transform var(--transicao)
}
.faq details[open] summary::after{transform:rotate(225deg)}
.faq__corpo{padding:0 40px 24px 0;display:grid;gap:12px;font-size:.94rem;line-height:1.72}
.faixa--creme .faq{border-color:rgba(84,68,66,.2)}
.faixa--creme .faq details{border-color:rgba(84,68,66,.2)}

/* ---------- Fotografia larga com legenda -------------------------------- */
.foto-larga{margin-top:clamp(34px,4vw,50px)}
.foto-larga figure{margin:0;overflow:hidden;border-radius:5px;background:var(--creme)}
.foto-larga img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.foto-larga figcaption{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-top:14px;
  font-size:.8rem;line-height:1.6;color:var(--texto)
}
.foto-larga b{
  font-family:var(--sans);font-weight:500;font-size:.68rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--terra-texto)
}

/* ---------- Faixa de fotografia a largura total ------------------------- */
.tira{margin-top:clamp(38px,5vw,58px);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:clamp(10px,1.2vw,16px)}
.tira figure{margin:0;overflow:hidden;border-radius:4px;background:var(--creme)}
.tira img{width:100%;aspect-ratio:1;object-fit:cover;transition:transform .9s cubic-bezier(.22,1,.36,1)}
.tira figure:hover img{transform:scale(1.04)}

/* ---------- Galeria ----------------------------------------------------- */
/* Colunas fixas por escalão: com auto-fit, 12 imagens deixavam lugares vazios
   na última linha. 2 / 3 / 4 colunas dá sempre linhas completas. */
.galeria{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(12px,1.6vw,20px);margin-top:clamp(34px,4vw,48px)}
@media (min-width:700px){.galeria{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1000px){.galeria{grid-template-columns:repeat(4,1fr)}}
.galeria figure{margin:0}
/* A legenda fica sob a imagem, não sobreposta: sobre fotografias claras o texto
   em cima da fotografia ficava no limite da legibilidade. */
.galeria figure>div{overflow:hidden;border-radius:4px;background:var(--creme)}
.galeria img{width:100%;aspect-ratio:1;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.22,1,.36,1)}
.galeria figure:hover img{transform:scale(1.04)}
.galeria figcaption{
  margin-top:10px;font-size:.66rem;font-weight:500;letter-spacing:.16em;
  text-transform:uppercase;color:var(--terra-texto)
}

/* ---------- Formulário -------------------------------------------------- */
.contacto{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,6vw,88px)}
@media (max-width:900px){.contacto{grid-template-columns:1fr}}
.contacto__dados{display:grid;gap:24px;margin-top:clamp(30px,4vw,42px)}
.contacto__linha{display:flex;gap:16px;align-items:flex-start}
.contacto__linha svg{width:19px;height:19px;color:var(--pessego);flex:0 0 auto;margin-top:4px}
.contacto__linha dt{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;opacity:.65;margin-bottom:5px}
.contacto__linha dd{margin:0;font-size:1rem}
.contacto__linha a{text-decoration:none;border-bottom:1px solid var(--linha-clara);transition:border-color var(--transicao)}
.contacto__linha a:hover{border-color:var(--creme)}
.redes{display:flex;gap:10px;margin-top:8px}
.redes a{
  display:grid;place-items:center;width:44px;height:44px;border-radius:50%;
  border:1px solid var(--linha-clara);color:var(--creme);transition:background var(--transicao),color var(--transicao),border-color var(--transicao)
}
.redes a:hover{background:var(--creme);color:var(--marca);border-color:var(--creme)}
.redes svg{width:18px;height:18px}

.form{background:var(--papel);border-radius:6px;padding:clamp(26px,3.4vw,42px);color:var(--texto)}
.form h3{font-size:1.5rem;margin-bottom:8px;color:var(--tinta)}  /* explícito: a faixa escura tornava-o invisível */
.form em{color:var(--terra-texto)}
.form__intro{font-size:.9rem;margin-bottom:26px}
.form__grelha{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.campo{display:flex;flex-direction:column;gap:7px}
.campo--total{grid-column:1/-1}
.campo label{font-size:.68rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--marca)}
.campo .opcional{font-weight:300;letter-spacing:.04em;text-transform:none;opacity:.6}
.campo input,.campo select,.campo textarea{
  font-family:var(--sans);font-weight:300;font-size:.95rem;color:var(--tinta);
  background:var(--creme);border:1px solid transparent;border-radius:4px;padding:13px 15px;width:100%;
  transition:border-color var(--transicao),background var(--transicao)
}
.campo input[type="file"]{padding:11px;background:#f7f0eb;border:1px dashed var(--terra-sua)}
.campo__ajuda{font-size:.76rem;line-height:1.45;opacity:.72}
.campo textarea{min-height:118px;resize:vertical}
.campo input:focus,.campo select:focus,.campo textarea:focus{border-color:var(--terra);background:var(--papel);outline:none}
.campo input::placeholder,.campo textarea::placeholder{color:var(--texto);opacity:.55}
.campo input[aria-invalid="true"],.campo select[aria-invalid="true"],.campo textarea[aria-invalid="true"]{border-color:#A3352C;background:#FBF0EE}
.campo__erro{font-size:.78rem;color:#96302A;min-height:0}
.consentimento{grid-column:1/-1;display:flex;gap:12px;align-items:flex-start;font-size:.83rem;line-height:1.6;margin-top:4px}
.consentimento input{width:18px;height:18px;flex:0 0 auto;margin-top:2px;accent-color:var(--terra)}
.consentimento a{color:var(--terra-texto)}
.form .btn{width:100%;margin-top:22px}
.form__aviso{margin-top:16px;font-size:.78rem;text-align:center;opacity:.75}
.form__estado{grid-column:1/-1;padding:14px 16px;border-radius:4px;font-size:.88rem;display:none}
.form__estado[data-tipo="erro"]{display:block;background:#FBF0EE;color:#8E2F27;border:1px solid #E4C4BF}
.mel{position:absolute;left:-9999px}
@media (max-width:560px){.form__grelha{grid-template-columns:1fr}}

/* ---------- Rodapé ------------------------------------------------------ */
.rodape{background:var(--escuro);color:var(--creme);padding:clamp(56px,6vw,80px) var(--gutter) 32px}
.rodape__interior{max-width:var(--largura);margin-inline:auto}
.rodape__topo{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:clamp(30px,4vw,60px);padding-bottom:clamp(38px,4vw,52px)}
.rodape__marca img{height:52px;margin-bottom:18px}
.rodape__tagline{font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;opacity:.6;line-height:1.9}
.rodape h2{font-family:var(--sans);font-weight:500;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--pessego);margin-bottom:16px}
.rodape ul{list-style:none;display:grid;gap:10px}
.rodape a{color:inherit;text-decoration:none;font-size:.9rem;opacity:.82;transition:opacity var(--transicao)}
.rodape a:hover{opacity:1;text-decoration:underline}
.rodape__cookies{
  appearance:none;border:0;background:transparent;color:inherit;cursor:pointer;padding:0;
  font:inherit;font-size:.9rem;opacity:.82;text-align:left;transition:opacity var(--transicao)
}
.rodape__cookies:hover,.rodape__cookies:focus-visible{opacity:1;text-decoration:underline;outline-offset:4px}
.rodape__base{
  border-top:1px solid var(--linha-clara);padding-top:26px;
  display:flex;flex-wrap:wrap;gap:10px 26px;justify-content:space-between;font-size:.76rem;opacity:.62;line-height:1.7
}
.rodape__legal{display:flex;flex-wrap:wrap;gap:6px 18px}
@media (max-width:760px){.rodape__topo{grid-template-columns:1fr;gap:34px}}

/* ---------- Botão flutuante de WhatsApp -------------------------------- */
.whats{
  position:fixed;right:clamp(16px,2.4vw,26px);bottom:clamp(16px,2.4vw,26px);z-index:190;
  display:flex;align-items:center;gap:10px;padding:14px 20px;border-radius:100px;
  background:var(--marca);color:var(--creme);text-decoration:none;
  font-size:.74rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
  box-shadow:0 10px 32px rgba(46,37,35,.24);
  transform:translateY(140%);transition:transform var(--transicao),background var(--transicao)
}
.whats--visivel{transform:translateY(0)}
.whats:hover{background:var(--terra)}
.whats svg{width:19px;height:19px}
@media (max-width:560px){.whats span{display:none}.whats{padding:15px;border-radius:50%}}

/* ---------- Revelação ao scroll ---------------------------------------- */
.rev{opacity:0;transform:translateY(22px)}
.rev--visivel{opacity:1;transform:none;transition:opacity .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1)}
.rev--d1{transition-delay:.09s}.rev--d2{transition-delay:.18s}.rev--d3{transition-delay:.27s}

/* ---------- Página de agradecimento ------------------------------------ */
.centrada{min-height:100svh;display:grid;place-items:center;padding:120px var(--gutter) 60px;text-align:center}
.centrada__caixa{max-width:34rem}
.centrada__marca{height:74px;width:auto;margin:0 auto clamp(28px,4vw,40px)}
.centrada .arco-ok{
  width:64px;height:78px;margin:0 auto 30px;border:1.5px solid var(--terra);border-bottom:0;
  border-radius:var(--arco);display:grid;place-items:end center;padding-bottom:14px;color:var(--terra);font-size:1.5rem
}

/* ---------- Conteúdo legal corrido ------------------------------------- */
.legal{max-width:74ch}
.legal h2{font-size:clamp(1.35rem,2.2vw,1.75rem);margin:clamp(38px,4vw,52px) 0 16px}
.legal h3{font-size:1.1rem;margin:28px 0 12px}
.legal p,.legal li{font-size:.95rem;line-height:1.78}
.legal p+p{margin-top:14px}
.legal ul{list-style:none;display:grid;gap:10px;margin:14px 0}
.legal li{position:relative;padding-left:22px}
.legal li::before{content:"";position:absolute;left:0;top:.66em;width:6px;height:6px;border-radius:50%;background:var(--terra-sua)}
.legal__data{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;opacity:.65}
.legal a{color:var(--terra-texto)}


/* ==========================================================================
   Telemóvel: áreas de toque e micro-tipografia
   As etiquetas em maiúsculas com muito espaçamento funcionam a 10-11px no
   desktop, mas num telemóvel ficam pequenas. E vários links autónomos tinham
   18-25px de altura, abaixo dos 44px recomendados para o dedo.
   Links dentro de texto corrido ficam como estão: a norma isenta-os.
   ========================================================================== */
@media (max-width:760px){
  /* --- micro-etiquetas mais legíveis --- */
  .sobrancelha{font-size:.74rem;letter-spacing:.24em}
  .area__etiqueta{font-size:.7rem;letter-spacing:.18em}
  .galeria figcaption{font-size:.72rem;letter-spacing:.14em}
  .contacto__linha dt{font-size:.72rem;letter-spacing:.14em}
  .campo label{font-size:.76rem}
  .campo .opcional{font-size:.74rem}
  .valor h3,.tabela h3{font-size:.8rem}
  .hero__meta{font-size:.76rem}
  .rodape__tagline{font-size:.8rem}
  .rodape h2{font-size:.74rem}
  .migalhas{font-size:.74rem}

  /* --- áreas de toque com pelo menos 44px --- */
  .rodape ul{gap:2px}
  .rodape ul li a{display:inline-block;padding-block:12px;font-size:.95rem}
  .rodape__cookies{display:inline-block;padding-block:12px;font-size:.95rem}
  .rodape__legal{gap:0 20px}
  .rodape__legal a{display:inline-block;padding-block:11px}
  .migalhas a{display:inline-block;padding-block:12px}
  .ligacao{padding-block:11px}
  .topo__botao{padding:15px}
  .topo__marca{padding-block:4px}
  .topo__menu .btn{padding:16px 30px}
  .consentimento input{width:24px;height:24px}
  /* telefone e email são dos toques mais usados do site */
  .contacto__linha dd a{display:inline-block;padding-block:11px}
  .contacto__linha dd{margin-top:-6px}
  .faq summary{padding-block:20px}
}

/* ---------- Preferência de movimento reduzido -------------------------- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .rev{opacity:1;transform:none}
  .whats{transform:none}
}

/* ---------- Impressão --------------------------------------------------- */
@media print{
  .topo,.whats,.form,.rodape__base{display:none}
  body{background:#fff;color:#000;font-size:11pt}
  .faixa{padding-block:18pt}
  .faixa--terra,.faixa--escura,.capa{background:#fff!important;color:#000!important}
  .capa h1,.faixa--terra h2,.faixa--escura h2{color:#000!important}
  a{text-decoration:underline}
}
