:root{
  --logo-image-text-gap: 28.75px;
  --reg-horizontal-offset: 6px;    /* espaço entre palavra e imagem ® no cabeçalho */
  --reg-vertical-offset: 0.15em;   /* ajuste fino vertical do ® pequeno no corpo */
  --reg-height: 0.375em;           /* tamanho do ® no corpo do texto */
  --logo-color: #7e2236;           /* fallback; script atualiza */
}

/* Fontes */
@font-face {
  font-family: "YesevaOne";
  src: url("../fonts/YesevaOne-Regular.ttf") format("truetype");
}
@font-face {
  font-family: "LatoLight";
  src: url("../fonts/lato-light-local.ttf") format("truetype");
}

/* Base */
* { box-sizing: border-box; }
body {
  margin: 0;
  padding: 0;
  font-family: "LatoLight", sans-serif;
  font-weight: 300;
  color: #111;
  text-align: center;
}

/* Logo imagem */
.logo-image {
  display: flex;
  justify-content: center;
  margin-top: 50px;
  margin-bottom: var(--logo-image-text-gap);
}
.logo-image img {
  height: 192px;
  width: auto;
  transform: translateX(-12px);
  display: block;
}

/* Logo texto (header) */
.logo-text {
  font-family: "YesevaOne", serif;
  font-size: 48px;
  letter-spacing: 14px;
  margin: 0 auto;
  display: inline-flex;
  align-items: flex-start;
  line-height: 1;
  color: var(--logo-color);
  gap: 6px;
}

/* Cabeçalho: palavra e ® como imagem */
.logo-text .brand {
  color: var(--logo-color);
  display: inline-block;
  text-transform: uppercase;
  font-weight: 400;
  line-height: 1;
}

/* ® imagem ao lado do logótipo textual (cabeçalho) */
.logo-text img.reg {
  height: 26px;               /* tamanho do ® no cabeçalho — ajusta se necessário */
  width: auto;
  margin-left: var(--reg-horizontal-offset);
  display: inline-block;
  vertical-align: top;
  pointer-events: none;
}

/* Marca inline usada dentro do texto (Reservinho) */
.brand-inline {
  color: var(--logo-color);
  display: inline-block;
  position: relative;
  text-transform: uppercase;
  font-family: inherit;
  font-weight: 300;
}

/* ® pequeno e colorido junto à palavra no corpo do texto */
.brand-inline::after {
  content: "®";
  color: var(--logo-color);
  font-size: var(--reg-height);
  margin-left: 0.35em;
  display: inline-block;
  vertical-align: top;
  transform: translateY(var(--reg-vertical-offset));
  line-height: 1;
  font-family: inherit;
}

/* Em fase de ênfase textual */
.em {
  color: #111;
  font-weight: 300;
  text-decoration: none;
}

/* Acessibilidade */
.sr-only {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* Secções */
.section {
  max-width: 700px;
  margin: 40px auto;
  line-height: 1.6;
  font-size: 18px;
  padding: 0 16px;
  color: #111;
}
.section a {
  color: var(--logo-color);
  text-decoration: none;
  font-weight: 600;
}
