

:root {
  --bg: #1C1810;
  --surface: #262117;
  --text: #F5EFE2;
  --muted: #A79B85;
  --accent: #D9A521;
  --accent2: #7E6A46;

  --inset: #211C13;

  --site-bg: #1C1810;
  --site-surface: #262117;
  --site-text: #F5EFE2;
  --site-muted: #A79B85;
  --site-accent: #D9A521;

  --maxw: 1440px;
  --pad-seccao: 96px;
  --fonte-tit: "JetBrains Mono", ui-monospace, monospace;
  --fonte-txt: "Atkinson Hyperlegible", system-ui, sans-serif;

  --borda: rgba(167, 155, 133, 0.22)}

* { box-sizing: border-box}

html { scroll-behavior: smooth}

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--fonte-txt);
  font-size: 18px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden}

h1, h2, h3, h4 {
  font-family: var(--fonte-tit);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.01em;
  margin: 0 0 0.4em}

p { margin: 0 0 1em}

a { color: var(--accent); text-decoration: none}
a:hover { text-decoration: underline}

img { max-width: 100%; display: block}

:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px}

.orv-conteudo {
  width: 100%;
  max-width: var(--maxw);
  margin: 0 auto;
  padding-left: clamp(20px, 5vw, 64px);
  padding-right: clamp(20px, 5vw, 64px)}

section { padding-top: var(--pad-seccao); padding-bottom: var(--pad-seccao)}
.orv-chao-inset { background: var(--inset)}
.orv-chao-bleed { padding: 0}

.orv-cab {
  position: sticky;
  top: 0;
  z-index: 60;
  width: 100%;
  background: var(--surface);
  height: 80px}
.orv-cab_fixo.is-scrolled { box-shadow: 0 1px 0 rgba(0,0,0,0.4)}

.orv-cab-linha {
  max-width: var(--maxw);
  margin: 0 auto;
  height: 80px;
  padding-left: clamp(20px, 5vw, 64px);
  padding-right: clamp(20px, 5vw, 64px);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px}

.orv-marca {
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  min-width: 0}
.orv-marca:hover { text-decoration: none}
.orv-marca svg { width: 26px; height: 26px; align-self: center; flex: none}
.orv-marca-nome {
  font-family: var(--fonte-tit);
  font-weight: 700;
  font-size: 22px;
  color: var(--text);
  letter-spacing: -0.02em}

.orv-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(16px, 2.2vw, 34px)}
.orv-nav a {
  color: var(--text);
  font-family: var(--fonte-tit);
  font-size: 14px;
  letter-spacing: 0.01em}
.orv-nav a:hover { color: var(--accent); text-decoration: none}

.orv-menu-abrir, .orv-menu-fechar {
  display: none;
  background: none;
  border: none;
  color: var(--text);
  font-size: 24px;
  cursor: pointer;
  padding: 8px}
.orv-dim {
  position: fixed; inset: 0;
  background: rgba(0,0,0,0.55);
  opacity: 0; visibility: hidden;
  transition: opacity .3s ease;
  z-index: 70}
.orv-dim.is-open { opacity: 1; visibility: visible}

.orv-drawer {
  position: fixed;
  top: 0; right: 0;
  height: 100%;
  width: min(82vw, 320px);
  background: var(--surface);
  z-index: 80;
  transform: translateX(100%);
  transition: transform .3s ease;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 8px}
.orv-drawer.is-open { transform: translateX(0)}
.orv-drawer .orv-menu-fechar { display: block; align-self: flex-end}
.orv-drawer a {
  color: var(--text);
  font-family: var(--fonte-tit);
  font-size: 18px;
  padding: 12px 4px;
  border-bottom: 1px solid var(--borda)}
.orv-drawer a:hover { color: var(--accent); text-decoration: none}

.trigger-br9 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-family: var(--fonte-tit);
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
  padding: 16px 28px;
  border: 1px solid transparent;
  border-radius: 0;
  cursor: pointer;
  text-decoration: none;
  transition: background .2s ease, color .2s ease, border-color .2s ease}
.trigger-br9:hover { text-decoration: none}
.trigger-br9--primary {
  background: var(--accent);
  color: var(--bg)}
.trigger-br9--primary:hover { background: #e7b63b}
.trigger-br9--ghost {
  background: transparent;
  color: var(--text);
  border-color: var(--muted)}
.trigger-br9--ghost:hover { border-color: var(--accent); color: var(--accent)}
.trigger-br9:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px}
.trigger-br9:disabled { opacity: .5; cursor: not-allowed}

.input-tql {
  width: 100%;
  font-family: var(--fonte-txt);
  font-size: 16px;
  color: var(--text);
  background: var(--bg);
  border: 1px solid var(--borda);
  border-radius: 0;
  padding: 14px 16px;
  min-height: 52px}
textarea.input-tql { min-height: 140px; resize: vertical}
.input-tql::placeholder { color: var(--muted)}
.input-tql:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-color: var(--accent)}

.orv-campo { display: flex; flex-direction: column; gap: 8px; margin-bottom: 18px; min-width: 0}
.orv-campo label {
  font-family: var(--fonte-tit);
  font-size: 13px;
  letter-spacing: 0.02em;
  color: var(--muted)}

.tile-dw1 {
  background: var(--surface);
  border: 1px solid var(--borda);
  padding: 32px}
.badge-mm7 {
  display:block;width:fit-content;
  font-family: var(--fonte-tit);
  font-size: 12px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--accent);
  border: 1px solid var(--accent2);
  padding: 5px 10px}

.orv-manchete {
  padding-top: clamp(80px, 12vw, 160px);
  padding-bottom: clamp(80px, 12vw, 160px)}
.orv-manchete-titulo {
  font-size: clamp(2.6rem, 9vw, 7rem);
  margin-bottom: 0.3em}
.orv-manchete-sub {
  color: var(--muted);
  font-size: clamp(1.05rem, 2vw, 1.4rem);
  max-width: 55ch;
  margin-bottom: 1.6em}

.orv-cabeca-pagina {
  text-align: center;
  padding-top: clamp(64px, 9vw, 120px);
  padding-bottom: clamp(48px, 7vw, 88px)}
.orv-cabeca-pagina h1 { font-size: clamp(2rem, 6vw, 4rem)}
.orv-cabeca-pagina p { color: var(--muted); max-width: 55ch; margin: 0 auto}

.orv-faixa {
  text-align: center}
.orv-faixa-frase {
  font-family: var(--fonte-tit);
  font-size: clamp(1.8rem, 5vw, 3.4rem);
  line-height: 1.15;
  margin: 0 auto}

.orv-faixa_imagem {
  position: relative;
  padding: 0;
  min-height: 60vh;
  display: grid;
  place-items: center}
.orv-faixa_imagem .orv-faixa-media {
  position: absolute; inset: 0;
  overflow: hidden}
.orv-faixa_imagem .orv-faixa-media img {
  width: 100%; height: 100%; object-fit: cover}
.orv-faixa_imagem::after {
  content: ""; position: absolute; inset: 0;
  background: rgba(28, 24, 16, 0.6)}
.orv-faixa_imagem .orv-faixa-frase {
  position: relative; z-index: 2;
  padding: clamp(40px, 8vw, 96px) clamp(20px, 5vw, 64px)}

.orv-galeria-grelha {
  display: grid;
  gap: 4px;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr))}
.orv-galeria-item { overflow: hidden; aspect-ratio: 1 / 1}
.orv-galeria-item img { width: 100%; height: 100%; object-fit: cover}

.orv-galeria_largo {
  grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
  gap: 4px}
.orv-galeria_largo .orv-galeria-item { aspect-ratio: 16 / 10}

.orv-prato-lista { display: flex; flex-direction: column; gap: 0}

.orv-prato {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: clamp(20px, 4vw, 56px);
  align-items: start;
  padding: clamp(32px, 5vw, 56px) 0;
  border-top: 1px solid var(--borda)}
.orv-prato:last-child { border-bottom: 1px solid var(--borda)}

.orv-prato-num {
  font-family: var(--fonte-tit);
  font-weight: 700;
  font-size: clamp(2.4rem, 7vw, 5rem);
  color: var(--accent);
  line-height: 0.9;
  padding-left: 18px;
  border-left: 2px solid var(--accent2);  
}
.orv-prato-corpo h3 { font-size: clamp(1.3rem, 3vw, 2rem)}
.orv-prato-corpo p { color: var(--muted); max-width: 60ch}

.orv-prato_media {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(24px, 5vw, 72px);
  align-items: center;
  padding: clamp(40px, 6vw, 80px) 0;
  border: none}
.orv-prato_media:nth-child(even) .orv-prato-media { order: 2}
.orv-prato-media { overflow: hidden; aspect-ratio: 4 / 3}
.orv-prato-media img { width: 100%; height: 100%; object-fit: cover}

.orv-prato-stat {
  font-family: var(--fonte-tit);
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  color: var(--accent);
  display: block;
  margin-top: 8px}
.orv-prato-stat small {
  display: block;
  font-size: 0.42em;
  color: var(--muted);
  letter-spacing: 0.04em}

.orv-prato-beneficios { list-style: none; padding: 0; margin: 0}
.orv-prato-beneficios li {
  padding: 12px 0 12px 24px;
  border-top: 1px solid var(--borda);
  position: relative;
  color: var(--muted)}
.orv-prato-beneficios li::before {
  content: "—";
  position: absolute; left: 0;
  color: var(--accent)}

.orv-citacao { text-align: left}
.orv-citacao-texto {
  font-family: var(--fonte-tit);
  font-weight: 700;
  font-size: clamp(1.8rem, 5vw, 3.6rem);
  line-height: 1.12;
  margin: 0 0 24px}
.orv-citacao-autor {
  font-family: var(--fonte-tit);
  font-size: 14px;
  letter-spacing: 0.04em;
  color: var(--muted);
  padding-top: 16px;
  border-top: 1px solid var(--accent2);
  display: inline-block}

.orv-citacao_gigante { text-align: center}
.orv-citacao_gigante .orv-citacao-texto {
  font-size: clamp(2.2rem, 7vw, 5.5rem);
  margin-left: auto; margin-right: auto}

.orv-manifesto { text-align: center}
.orv-manifesto-texto {
  font-size: clamp(1.2rem, 2.4vw, 1.7rem);
  line-height: 1.5;
  max-width: 62ch;
  margin: 0 auto}

.orv-manifesto_pull { text-align: left}
.orv-manifesto_pull .orv-manifesto-destaque {
  font-family: var(--fonte-tit);
  font-weight: 700;
  font-size: clamp(1.8rem, 5vw, 3.2rem);
  line-height: 1.15;
  margin: 0 0 32px}
.orv-manifesto_pull .orv-manifesto-apoio {
  color: var(--muted);
  max-width: 60ch;
  columns: 2;
  column-gap: 48px}

.orv-contactos-tira-linha {
  display: flex;
  flex-wrap: wrap;
  gap: clamp(24px, 5vw, 64px);
  align-items: center}
.orv-contactos-tira_3col {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 4px;
  text-align: center}
.orv-contactos-item {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0}
.orv-contactos-tira_3col .orv-contactos-item {
  flex-direction: column;
  padding: 40px 24px;
  background: var(--surface)}
.orv-contactos-item i { color: var(--accent); font-size: 22px}
.orv-contactos-item span { color: var(--muted); font-family: var(--fonte-tit); font-size: 14px}
.orv-contactos-item a { color: var(--text)}

.orv-pedido-duplo {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(32px, 5vw, 72px);
  align-items: start}
.orv-pedido-reforco h2 { font-size: clamp(1.6rem, 4vw, 2.6rem)}
.orv-pedido-reforco p { color: var(--muted); max-width: 48ch}

.orv-pedido_estreito { max-width: 540px; margin: 0 auto}
.orv-pedido_estreito .orv-pedido-reforco { text-align: center; margin-bottom: 32px}

.orv-pedido_banda { background: var(--inset)}
.orv-pedido_banda .orv-pedido-caixa { max-width: 640px; margin: 0 auto}

.orv-formulario-grelha {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(32px, 5vw, 72px);
  align-items: start}
.orv-formulario-morada address {
  font-style: normal;
  color: var(--muted);
  line-height: 1.9}
.orv-formulario-morada a { color: var(--text)}
.orv-formulario-morada h3 { font-size: 1.3rem}

.orv-campo-par {
  display: flex;
  flex-wrap: wrap;
  gap: 16px}
.orv-campo-par .orv-campo { flex: 1 1 200px; min-width: 0}

.orv-rodape {
  padding: 64px clamp(20px, 5vw, 64px)}
.orv-rodape-cartao {
  max-width: 900px;
  margin: 0 auto;
  background: var(--surface);
  padding: 40px}
.orv-rodape-marca {
  font-family: var(--fonte-tit);
  font-weight: 700;
  font-size: 24px;
  margin-bottom: 20px;
  display: block}
.orv-rodape-dados {
  font-style: normal;
  line-height: 2;
  color: var(--muted)}
.orv-rodape-dados a { color: var(--text)}
.orv-rodape-dados a:hover { color: var(--accent)}
.orv-rodape-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid var(--borda)}
.orv-rodape-nav a { color: var(--text); font-family: var(--fonte-tit); font-size: 14px}

.orv-rodape-nota {
  max-width: 900px;
  margin: 20px auto 0;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  color: var(--muted)}
.orv-rodape-nota-links { display: flex; flex-wrap: wrap; gap: 16px}
.orv-rodape-nota-links a { color: var(--muted)}
.orv-rodape-nota-links a:hover { color: var(--accent)}

#action-dock-uvw {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 50}
#back-top-fe2 {
  width: 48px; height: 48px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--accent);
  color: var(--bg);
  border: none;
  cursor: pointer;
  opacity: 0; visibility: hidden;
  transition: opacity .3s ease}
#back-top-fe2.is-visible { opacity: 1; visibility: visible}
#back-top-fe2:hover { background: #e7b63b}

[data-panel] { border-top: 1px solid var(--borda)}
[data-panel]:last-child { border-bottom: 1px solid var(--borda)}
[data-acc-trigger] {
  width: 100%;
  background: none;
  border: none;
  text-align: left;
  color: var(--text);
  font-family: var(--fonte-tit);
  font-size: 1.1rem;
  padding: 22px 0;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px}
[data-acc-trigger]::after { content: "+"; color: var(--accent); font-size: 1.4rem}
.is-open [data-acc-trigger]::after { content: "–"}
[data-panel] .orv-fold-corpo {
  max-height: 0;
  overflow: hidden;
  transition: max-height .3s ease}
.is-open .orv-fold-corpo { max-height: 600px}
.orv-fold-corpo p { padding-bottom: 22px; color: var(--muted)}

.reel-ylc { width: 100%; padding-bottom: 48px}
.reel-ylc .swiper-slide { height: auto}
.swiper-slide .tile-dw1 { height: 100%}
.swiper-pagination-bullet { background: var(--muted); opacity: 1}
.swiper-pagination-bullet-active { background: var(--accent)}
.swiper-button-prev, .swiper-button-next { color: var(--accent)}
.swiper-button-prev::after, .swiper-button-next::after { font-size: 24px}

.site-modal, .lightbox-z6x {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(0,0,0,0.6)}
.site-modal.is-open, .lightbox-z6x.is-open { display: flex}
.orv-modal-dialogo, .lightbox-z6x .orv-modal-dialogo {
  background: var(--surface);
  max-width: 480px;
  width: 100%;
  padding: 40px;
  border: 1px solid var(--borda)}
.orv-modal-dialogo h3 { font-size: 1.6rem}
.orv-modal-dialogo p { color: var(--muted)}
.orv-modal-fechar {
  background: none; border: none; color: var(--muted);
  font-size: 24px; cursor: pointer; float: right; line-height: 1}

.orv-legal { max-width: 760px; margin: 0 auto}
.orv-legal h1 { font-size: clamp(2rem, 5vw, 3rem); margin-bottom: 1em}
.orv-legal h2 { font-size: 1.4rem; margin-top: 2em}
.orv-legal p, .orv-legal li { color: var(--muted)}

[data-aos] { pointer-events: none}
.aos-animate { pointer-events: auto}

@media (max-width: 900px) {
  :root { --pad-seccao: 64px}
  .orv-nav { display: none}
  .orv-menu-abrir { display: inline-flex}
  .orv-prato_media,
  .orv-pedido-duplo,
  .orv-formulario-grelha { grid-template-columns: 1fr}
  .orv-prato_media:nth-child(even) .orv-prato-media { order: 0}
  .orv-manifesto_pull .orv-manifesto-apoio { columns: 1}
}

@media (max-width: 560px) {
  body { font-size: 17px}
  .orv-prato { grid-template-columns: 1fr; gap: 16px}
  .orv-rodape-cartao { padding: 28px}
  .tile-dw1 { padding: 24px}
}

.consent-793-overlay{position:fixed;inset:0;opacity:0;visibility:hidden;transition:.25s;z-index:9998}
.consent-793-overlay.is-open{opacity:1;visibility:visible}
.consent-793-panel{position:fixed;background:var(--site-surface,#fff);color:var(--site-text,#1a1a1a);
  box-shadow:0 20px 60px rgba(0,0,0,.28);padding:24px;opacity:0;visibility:hidden;transition:.25s;z-index:9999}
.consent-793-panel.is-open{opacity:1;visibility:visible}
.consent-793-panel h3{margin:0 0 8px;font-size:1.2rem}
.consent-793-panel>p{margin:0 0 16px;color:var(--site-muted,#666);font-size:.95rem}
.consent-793-cat{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid rgba(128,128,128,.2)}
.consent-793-cat h4{margin:0 0 2px;font-size:.98rem}
.consent-793-cat p{margin:0;color:var(--site-muted,#777);font-size:.85rem}
.consent-793-switch{position:relative;flex:0 0 auto;width:44px;height:24px}
.consent-793-switch input{opacity:0;width:0;height:0;position:absolute}
.consent-793-switch span{position:absolute;inset:0;background:#c9c9c9;border-radius:999px;transition:.2s;cursor:pointer}
.consent-793-switch span::before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}
.consent-793-switch input:checked+span{background:var(--site-accent,#2b7)}
.consent-793-switch input:checked+span::before{transform:translateX(20px)}
.consent-793-switch input:disabled+span{opacity:.6;cursor:not-allowed}
.consent-793-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.consent-793-actions button{flex:1;min-width:140px;padding:11px 16px;border:none;border-radius:10px;font:inherit;font-weight:600;cursor:pointer}
.consent-793-actions #consent-793-all{background:var(--site-accent,#2b7);color:#fff}
.consent-793-actions #consent-793-save{background:transparent;color:var(--site-text,#222);border:1px solid rgba(128,128,128,.4)}
.consent-793-links{display:flex;gap:16px;margin-top:14px;font-size:.85rem}
.consent-793-links a{color:var(--site-accent,#2b7);text-decoration:underline}
.consent-793-trigger{position:fixed;left:18px;bottom:18px;width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;
  background:var(--site-surface,#fff);color:var(--site-accent,#2b7);box-shadow:0 6px 18px rgba(0,0,0,.2);z-index:9997;font-size:1.1rem}

.consent-793-overlay{background:transparent;pointer-events:none}
.consent-793-panel{left:0;right:0;bottom:0;width:100%;border-radius:16px 16px 0 0;transform:translateY(100%)}
.consent-793-panel>*{max-width:900px;margin-left:auto;margin-right:auto}
.consent-793-panel.is-open{transform:translateY(0)}
@media(max-width:520px){.consent-793-actions button{min-width:100%}}
#action-dock-uvw{left:auto !important;right:18px !important}
@media(max-width:520px){#action-dock-uvw{right:12px !important}}
html[data-cookie-open] #action-dock-uvw{bottom:min(46vh,260px) !important}

.submit-ok-c5r{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;
  padding:20px;background:rgba(8,10,14,.55);backdrop-filter:blur(2px)}
.submit-ok-c5r.is-open{display:flex}
.submit-ok-c5r__box{width:min(420px,100%);background:var(--site-surface,#fff);color:var(--site-text,#15181d);
  border-radius:16px;padding:32px 28px;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.28);
  animation:submit-ok-c5r-in .22s ease-out}
@keyframes submit-ok-c5r-in{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
.submit-ok-c5r__mark{width:56px;height:56px;margin:0 auto 18px;border-radius:50%;display:flex;
  align-items:center;justify-content:center;font-size:26px;line-height:1;
  background:var(--site-accent,#2e7d5b);color:#fff}
.submit-ok-c5r__title{margin:0 0 10px;font-size:1.35rem;line-height:1.25}
.submit-ok-c5r__text{margin:0 0 24px;line-height:1.6;color:var(--site-muted,#5b6472)}
.submit-ok-c5r__close{display:inline-block;cursor:pointer;border:0;border-radius:999px;
  padding:12px 30px;font:inherit;font-weight:600;background:var(--site-accent,#2e7d5b);color:#fff}
.submit-ok-c5r__close:hover{filter:brightness(1.08)}
.submit-ok-c5r__close:focus-visible{outline:2px solid var(--site-text,#15181d);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.submit-ok-c5r__box{animation:none}}

*,*::before,*::after{box-sizing:border-box}
html,body{overflow-x:hidden;overflow-x:clip;max-width:100%}
img,svg,video,iframe,canvas{max-width:100%}
table{max-width:100%}

.simpleParallax{display:block;width:100%;height:100%}
.simpleParallax img{width:100%;height:100%;object-fit:cover}

blockquote, figure { margin-left: 0; margin-right: 0}

figure > blockquote, figure > figcaption { margin-left: 0; margin-right: 0}

html.no-aos [data-aos]{opacity:1 !important;transform:none !important}

@media(prefers-reduced-motion:reduce){
  [data-aos]{opacity:1 !important;transform:none !important;transition:none !important}
}

.legal-doc{max-width:72ch;margin:0 auto;padding:64px 20px;line-height:1.7}
.legal-doc h1{margin:0 0 .6em}
.legal-doc h2{margin:1.8em 0 .5em}
.legal-doc h3{margin:1.4em 0 .4em}
.legal-doc p,.legal-doc li{margin:0 0 .8em}
.legal-doc ul,.legal-doc ol{padding-left:1.4em;margin:0 0 1em}
.legal-doc table{width:100%;border-collapse:collapse;margin:0 0 1.2em}
.legal-doc th,.legal-doc td{border:1px solid currentColor;padding:.5em;text-align:left}

@media (max-width: 720px) {
  body { overflow-x: hidden}
  h1, h2, h3, p, li, td { overflow-wrap: break-word}
  
  input, select, textarea { max-width: 100%; min-width: 0}
  
  img, svg, video, iframe, table { max-width: 100%}
}

#drawer-lxq{position:fixed;top:0;right:0;bottom:0;width:min(84vw,360px);padding:72px 28px 28px;background:var(--site-surface,#fff);color:var(--site-text,#111);box-shadow:-12px 0 40px rgba(0,0,0,.18);transform:translateX(100%);visibility:hidden;transition:transform .28s ease,visibility .28s;z-index:9999;overflow-y:auto}
#drawer-lxq.is-open{transform:none;visibility:visible}
#drawer-lxq a{display:block;padding:.6em 0;font-size:1.1rem;color:inherit;text-decoration:none}
#dim-efh{position:fixed;inset:0;background:rgba(0,0,0,.45);opacity:0;visibility:hidden;transition:.25s;z-index:9998}
#dim-efh.is-open{opacity:1;visibility:visible}
#menu-open-ymt{appearance:none;-webkit-appearance:none;background:none;border:0;padding:.4em;color:inherit;font:inherit;cursor:pointer;line-height:1}
#close-menu-z0c{appearance:none;-webkit-appearance:none;background:none;border:0;padding:.4em;color:inherit;font:inherit;cursor:pointer;line-height:1}

@media (max-width: 720px) {
  
.orv-marca,
.orv-drawer,
.trigger-br9,
.orv-campo,
.orv-prato-lista,
.orv-contactos-item,
#back-top-fe2,
[data-acc-trigger],
.site-modal.is-open, .lightbox-z6x.is-open,
.consent-793-cat,
.consent-793-links,
.submit-ok-c5r.is-open,
.submit-ok-c5r__mark { flex-wrap: wrap}
  
.orv-marca > *,
.orv-drawer > *,
.trigger-br9 > *,
.orv-campo > *,
.orv-prato-lista > *,
.orv-contactos-item > *,
#back-top-fe2 > *,
[data-acc-trigger] > *,
.site-modal.is-open, .lightbox-z6x.is-open > *,
.consent-793-cat > *,
.consent-793-links > *,
.submit-ok-c5r.is-open > *,
.submit-ok-c5r__mark > * { min-width: 0}
}

.consent-793-overlay{position:fixed;inset:0;opacity:0;visibility:hidden;transition:.25s;z-index:9998;}
.consent-793-overlay.is-open{opacity:1;visibility:visible;}
.consent-793-panel{position:fixed;background:var(--site-surface,#fff);color:var(--site-text,#1a1a1a);
  box-shadow:0 20px 60px rgba(0,0,0,.28);padding:24px;opacity:0;visibility:hidden;transition:.25s;z-index:9999;}
.consent-793-panel.is-open{opacity:1;visibility:visible;}
.consent-793-panel h3{margin:0 0 8px;font-size:1.2rem;}
.consent-793-panel>p{margin:0 0 16px;color:var(--site-muted,#666);font-size:.95rem;}
.consent-793-cat{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid rgba(128,128,128,.2);}
.consent-793-cat h4{margin:0 0 2px;font-size:.98rem;}
.consent-793-cat p{margin:0;color:var(--site-muted,#777);font-size:.85rem;}
.consent-793-switch{position:relative;flex:0 0 auto;width:44px;height:24px;}
.consent-793-switch input{opacity:0;width:0;height:0;position:absolute;}
.consent-793-switch span{position:absolute;inset:0;background:#c9c9c9;border-radius:999px;transition:.2s;cursor:pointer;}
.consent-793-switch span::before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s;}
.consent-793-switch input:checked+span{background:var(--site-accent,#2b7);}
.consent-793-switch input:checked+span::before{transform:translateX(20px);}
.consent-793-switch input:disabled+span{opacity:.6;cursor:not-allowed;}
.consent-793-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.consent-793-actions button{flex:1;min-width:140px;padding:11px 16px;border:none;border-radius:10px;font:inherit;font-weight:600;cursor:pointer;}
.consent-793-actions #consent-793-all{background:var(--site-accent,#2b7);color:#fff;}
.consent-793-actions #consent-793-save{background:transparent;color:var(--site-text,#222);border:1px solid rgba(128,128,128,.4);}
.consent-793-links{display:flex;gap:16px;margin-top:14px;font-size:.85rem;}
.consent-793-links a{color:var(--site-accent,#2b7);text-decoration:underline;}
.consent-793-trigger{position:fixed;left:18px;bottom:18px;width:44px;height:44px;border-radius:50%;border:none;cursor:pointer;
  background:var(--site-surface,#fff);color:var(--site-accent,#2b7);box-shadow:0 6px 18px rgba(0,0,0,.2);z-index:9997;font-size:1.1rem;}

.consent-793-overlay{background:transparent;pointer-events:none;}
.consent-793-panel{left:0;right:0;bottom:0;width:100%;border-radius:16px 16px 0 0;transform:translateY(100%);}
.consent-793-panel>*{max-width:900px;margin-left:auto;margin-right:auto;}
.consent-793-panel.is-open{transform:translateY(0);}
@media(max-width:520px){.consent-793-actions button{min-width:100%;}}
#action-dock-uvw{left:auto !important;right:18px !important;}
@media(max-width:520px){#action-dock-uvw{right:12px !important;}}
html[data-cookie-open] #action-dock-uvw{bottom:min(46vh,260px) !important;}

.submit-ok-c5r{position:fixed;inset:0;z-index:10000;display:none;align-items:center;justify-content:center;
  padding:20px;background:rgba(8,10,14,.55);backdrop-filter:blur(2px);}
.submit-ok-c5r.is-open{display:flex;}
.submit-ok-c5r__box{width:min(420px,100%);background:var(--site-surface,#fff);color:var(--site-text,#15181d);
  border-radius:16px;padding:32px 28px;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.28);
  animation:submit-ok-c5r-in .22s ease-out;}
@keyframes submit-ok-c5r-in{from{opacity:0;transform:translateY(12px) scale(.97);}to{opacity:1;transform:none;}}
.submit-ok-c5r__mark{width:56px;height:56px;margin:0 auto 18px;border-radius:50%;display:flex;
  align-items:center;justify-content:center;font-size:26px;line-height:1;
  background:var(--site-accent,#2e7d5b);color:#fff;}
.submit-ok-c5r__title{margin:0 0 10px;font-size:1.35rem;line-height:1.25;}
.submit-ok-c5r__text{margin:0 0 24px;line-height:1.6;color:var(--site-muted,#5b6472);}
.submit-ok-c5r__close{display:inline-block;cursor:pointer;border:0;border-radius:999px;
  padding:12px 30px;font:inherit;font-weight:600;background:var(--site-accent,#2e7d5b);color:#fff;}
.submit-ok-c5r__close:hover{filter:brightness(1.08);}
.submit-ok-c5r__close:focus-visible{outline:2px solid var(--site-text,#15181d);outline-offset:3px;}
@media(prefers-reduced-motion:reduce){.submit-ok-c5r__box{animation:none;}}

*,*::before,*::after{box-sizing:border-box;}
html,body{overflow-x:hidden;overflow-x:clip;max-width:100%;}
img,svg,video,iframe,canvas{max-width:100%;}
table{max-width:100%;}

.simpleParallax{display:block;width:100%;height:100%;}
.simpleParallax img{width:100%;height:100%;object-fit:cover;}

blockquote, figure { margin-left: 0; margin-right: 0; }

figure > blockquote, figure > figcaption { margin-left: 0; margin-right: 0; }

html.no-aos [data-aos]{opacity:1 !important;transform:none !important;}

@media(prefers-reduced-motion:reduce){
  [data-aos]{opacity:1 !important;transform:none !important;transition:none !important;}
}

.legal-doc{max-width:72ch;margin:0 auto;padding:64px 20px;line-height:1.7;}
.legal-doc h1{margin:0 0 .6em;}
.legal-doc h2{margin:1.8em 0 .5em;}
.legal-doc h3{margin:1.4em 0 .4em;}
.legal-doc p,.legal-doc li{margin:0 0 .8em;}
.legal-doc ul,.legal-doc ol{padding-left:1.4em;margin:0 0 1em;}
.legal-doc table{width:100%;border-collapse:collapse;margin:0 0 1.2em;}
.legal-doc th,.legal-doc td{border:1px solid currentColor;padding:.5em;text-align:left;}

@media (max-width: 720px) {
  body { overflow-x: hidden; }
  h1, h2, h3, p, li, td { overflow-wrap: break-word; }
  
  input, select, textarea { max-width: 100%; min-width: 0; }
  
  img, svg, video, iframe, table { max-width: 100%; }
}
