﻿/* =========================================================================
   AUREA — direção de arte (projeto conceitual)
   Consultoria estratégica premium.

   CONCEITO: "o fio dourado". Tudo é escopado em [data-project="aurea"] para
   que as três direções de arte possam conviver na mesma página sem vazar uma
   na outra. Trocar a paleta inteira = trocar os tokens do bloco abaixo.

   REGRA DE OURO DESTA IDENTIDADE: nada grita. A hierarquia é feita por
   ESPAÇO e por ENTRELINHA, não por peso nem por tamanho. Só existe UM
   elemento dourado por peça — no momento em que há dois, o ouro deixa de ser
   acento e vira decoração.
   ========================================================================= */

[data-project="aurea"] {
  /* --- paleta --- */
  --au-obsidian: #0B0B0D;
  --au-ink: #16161A;
  --au-ink-raised: #201F25;
  --au-ivory: #F4EFE6;
  --au-ivory-dim: #E4DCCB;
  --au-gold: #C2A063;
  --au-gold-deep: #8C6C3E;
  --au-gold-light: #E4C489;

  --au-line-on-dark: rgba(244, 239, 230, 0.16);
  --au-line-on-light: rgba(11, 11, 13, 0.15);

  /* --- tipografia --- */
  --au-display: 'Bodoni Moda', 'Playfair Display', Georgia, serif;
  --au-text: 'Cabinet Grotesk', 'General Sans', -apple-system, Arial, sans-serif;

  /* --- tracking: o sistema inteiro depende dele --- */
  --au-track-wordmark: 0.22em;
  --au-track-descriptor: 0.42em;
  --au-track-label: 0.2em;
}

/* ================= MONOGRAMA E GRADE DE CONSTRUÇÃO ================= */
.au-mark { color: var(--au-gold); width: 100%; height: auto; }

.au-stage {
  display: grid;
  place-items: center;
  padding: clamp(28px, 5vw, 56px);
  background: var(--au-obsidian);
  min-height: 240px;
}
.au-stage--light { background: var(--au-ivory); }
.au-stage--light .au-mark { color: var(--au-obsidian); }

/* Grade de construção: as guias são desenhadas em CSS por cima do SVG, então
   o arquivo do monograma continua limpo (sem guias queimadas dentro dele). */
.au-construct { position: relative; width: min(280px, 100%); aspect-ratio: 1 / 1; }
.au-construct .au-mark { position: absolute; inset: 0; }
.au-construct::before,
.au-construct::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}
/* malha de 12 colunas/linhas */
.au-construct::before {
  background-image:
    repeating-linear-gradient(to right, rgba(194, 160, 99, 0.22) 0 1px, transparent 1px calc(100% / 12)),
    repeating-linear-gradient(to bottom, rgba(194, 160, 99, 0.22) 0 1px, transparent 1px calc(100% / 12));
}
/* eixos maiores: centro e a altura da barra */
.au-construct::after {
  background-image:
    linear-gradient(to right, transparent calc(50% - 0.5px), rgba(194, 160, 99, 0.55) calc(50% - 0.5px), rgba(194, 160, 99, 0.55) calc(50% + 0.5px), transparent calc(50% + 0.5px)),
    linear-gradient(to bottom, transparent calc(69% - 0.5px), rgba(194, 160, 99, 0.55) calc(69% - 0.5px), rgba(194, 160, 99, 0.55) calc(69% + 0.5px), transparent calc(69% + 0.5px));
}

/* Área de respiro: a caixa tracejada é a distância mínima até qualquer coisa */
.au-clearspace { position: relative; width: min(280px, 100%); aspect-ratio: 1 / 1; padding: 16%; }
.au-clearspace::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px dashed rgba(194, 160, 99, 0.45);
}
.au-clearspace .au-mark { width: 100%; }

/* ================= LOCKUP EM HTML (fontes reais da página) ================= */
.au-lockup { display: grid; justify-items: center; gap: 0; color: var(--au-ivory); text-align: center; }
.au-lockup .au-mark { width: 88px; margin-bottom: 26px; }
.au-lockup__word {
  font-family: var(--au-display);
  font-weight: 400;
  font-size: clamp(2rem, 1.2rem + 2.6vw, 3.1rem);
  letter-spacing: var(--au-track-wordmark);
  text-indent: var(--au-track-wordmark); /* compensa o tracking à direita */
  line-height: 1;
}
.au-lockup__rule { width: 84px; height: 1px; background: var(--au-gold); opacity: 0.65; margin-block: 22px 18px; }
.au-lockup__descriptor {
  font-family: var(--au-text);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: var(--au-track-descriptor);
  text-indent: var(--au-track-descriptor);
  color: var(--au-gold);
}
.au-lockup--horizontal { grid-auto-flow: column; align-items: center; justify-items: start; gap: 24px; text-align: left; }
.au-lockup--horizontal .au-mark { width: 56px; margin: 0; }
.au-lockup--horizontal .au-lockup__rule { width: 1px; height: 54px; margin: 0; }
.au-lockup--horizontal .au-lockup__stack { display: grid; gap: 10px; }
.au-lockup--horizontal .au-lockup__word { font-size: clamp(1.5rem, 1rem + 1.4vw, 2.1rem); }

/* ================= PAPELARIA ================= */
/* Cartão de visita: 85×55 mm, a proporção real do corte. */
.au-bizcard {
  aspect-ratio: 85 / 55;
  background: var(--au-ink);
  color: var(--au-ivory);
  display: grid;
  place-items: center;
  padding: 8%;
  position: relative;
}
/* `align-content`, e não `place-items`: a linha do grid tem altura de
   conteúdo, então alinhar o ITEM dentro dela não move nada — quem precisa ser
   empurrado para a base é a LINHA. */
.au-bizcard--back { background: var(--au-obsidian); align-content: end; justify-items: start; }
.au-bizcard__word {
  font-family: var(--au-display);
  font-size: clamp(1.3rem, 0.8rem + 1.6vw, 1.9rem);
  letter-spacing: var(--au-track-wordmark);
  text-indent: var(--au-track-wordmark);
  color: var(--au-gold);
}
.au-bizcard__rule { width: 46px; height: 1px; background: var(--au-gold); opacity: 0.55; margin-top: 14px; }
.au-bizcard__lines { display: grid; gap: 5px; font-size: 10px; letter-spacing: 0.1em; color: var(--au-ivory-dim); }
.au-bizcard__lines span:first-child { color: var(--au-gold); letter-spacing: var(--au-track-label); text-transform: uppercase; }
.au-bizcard .au-mark { width: 34px; }

/* Capa de proposta: A4 retrato. */
.au-cover {
  aspect-ratio: 210 / 297;
  background:
    radial-gradient(120% 70% at 78% 8%, rgba(194, 160, 99, 0.11), transparent 60%),
    var(--au-obsidian);
  color: var(--au-ivory);
  display: grid;
  grid-template-rows: auto 1fr auto;
  padding: 9%;
  gap: 6%;
}
.au-cover__top { display: flex; align-items: center; justify-content: space-between; font-size: 9px; letter-spacing: var(--au-track-label); text-transform: uppercase; color: var(--au-ivory-dim); }
.au-cover__mid { display: grid; align-content: center; justify-items: center; text-align: center; }
.au-cover__mid .au-mark { width: 54px; margin-bottom: 22px; }
.au-cover__title {
  font-family: var(--au-display);
  font-size: clamp(1.4rem, 0.7rem + 2.2vw, 2.4rem);
  letter-spacing: var(--au-track-wordmark);
  text-indent: var(--au-track-wordmark);
  color: var(--au-gold);
  line-height: 1;
}
.au-cover__sub { margin-top: 18px; font-size: 9px; letter-spacing: var(--au-track-descriptor); text-indent: var(--au-track-descriptor); color: var(--au-ivory-dim); }
.au-cover__foot { border-top: 1px solid var(--au-line-on-dark); padding-top: 14px; font-size: 9px; letter-spacing: 0.14em; color: var(--au-ivory-dim); display: flex; justify-content: space-between; }

/* ================= APRESENTAÇÃO ================= */
.au-slide {
  aspect-ratio: 16 / 9;
  background: var(--au-obsidian);
  color: var(--au-ivory);
  padding: 7%;
  display: grid;
  position: relative;
  font-size: clamp(9px, 1.1vw, 13px);
}
.au-slide__tag {
  position: absolute;
  top: 6%;
  left: 7%;
  font-size: 0.75em;
  letter-spacing: var(--au-track-label);
  text-transform: uppercase;
  color: var(--au-gold);
}
.au-slide__page {
  position: absolute;
  bottom: 6%;
  right: 7%;
  font-family: var(--au-display);
  font-size: 1.1em;
  color: var(--au-ivory-dim);
  opacity: 0.6;
}

.au-slide--cover { place-content: center; justify-items: center; text-align: center; }
.au-slide--cover .au-mark { width: 44px; margin-bottom: 18px; color: var(--au-gold); }
.au-slide--cover .au-slide__title {
  font-family: var(--au-display);
  font-weight: 400;
  font-size: 2.2em;
  letter-spacing: var(--au-track-wordmark);
  text-indent: var(--au-track-wordmark);
  color: var(--au-gold);
  line-height: 1;
}
.au-slide--cover p { margin-top: 1.4em; font-size: 0.78em; letter-spacing: var(--au-track-descriptor); text-indent: var(--au-track-descriptor); color: var(--au-ivory-dim); }

.au-slide--divider { place-content: center start; }
.au-slide--divider .au-slide__num { font-family: var(--au-display); font-size: 3.4em; color: var(--au-gold-deep); line-height: 1; }
.au-slide--divider .au-slide__title { font-family: var(--au-display); font-weight: 400; font-size: 2em; margin-top: 0.3em; line-height: 1.1; }
.au-slide--divider .au-rule { width: 64px; height: 1px; background: var(--au-gold); margin-top: 1.4em; }

.au-slide--content { grid-template-columns: 1fr 1fr; gap: 6%; align-content: center; }
.au-slide--content .au-slide__title { font-family: var(--au-display); font-weight: 400; font-size: 1.5em; line-height: 1.18; }
.au-slide--content p { margin-top: 1em; font-size: 0.82em; line-height: 1.75; color: var(--au-ivory-dim); }
.au-slide__list { display: grid; align-content: center; gap: 0; }
.au-slide__list li { display: flex; gap: 1em; padding-block: 0.9em; border-bottom: 1px solid var(--au-line-on-dark); font-size: 0.82em; }
.au-slide__list li span { color: var(--au-gold); font-family: var(--au-display); }

/* ================= PEÇAS DIGITAIS ================= */
/* Assinatura de e-mail */
.au-signature {
  background: var(--au-ivory);
  color: var(--au-obsidian);
  padding: clamp(18px, 3vw, 28px);
  display: flex;
  align-items: center;
  gap: clamp(16px, 3vw, 26px);
}
.au-signature .au-mark { width: 46px; color: var(--au-obsidian); flex: none; }
.au-signature__bar { width: 1px; align-self: stretch; background: var(--au-line-on-light); flex: none; }
.au-signature__name { font-family: var(--au-display); font-size: 17px; letter-spacing: 0.05em; }
.au-signature__role { font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--au-gold-deep); margin-top: 4px; }
.au-signature__contact { font-size: 11.5px; color: #56514A; margin-top: 9px; line-height: 1.6; }

/* Post social 1:1 */
.au-social {
  aspect-ratio: 1 / 1;
  background:
    radial-gradient(110% 80% at 80% 4%, rgba(194, 160, 99, 0.14), transparent 62%),
    var(--au-obsidian);
  color: var(--au-ivory);
  padding: 11%;
  display: grid;
  grid-template-rows: auto 1fr auto;
}
.au-social .au-mark { width: 30px; color: var(--au-gold); }
.au-social__quote {
  align-self: center;
  font-family: var(--au-display);
  font-weight: 400;
  font-size: clamp(1rem, 0.5rem + 1.9vw, 1.7rem);
  line-height: 1.28;
}
.au-social__attrib { font-size: 9px; letter-spacing: var(--au-track-label); text-transform: uppercase; color: var(--au-gold); }

/* Avatar / favicon */
.au-avatar {
  aspect-ratio: 1 / 1;
  background: var(--au-obsidian);
  display: grid;
  place-items: center;
  border-radius: 50%;
  padding: 26%;
  border: 1px solid var(--au-line-on-dark);
}
.au-avatar .au-mark { color: var(--au-gold); }
.au-avatar--light { background: var(--au-ivory); }
.au-avatar--light .au-mark { color: var(--au-obsidian); }
.au-avatar--square { border-radius: 2px; }

/* ================= ESPÉCIMES TIPOGRÁFICOS ================= */
.au-type-display {
  font-family: var(--au-display);
  font-weight: 400;
  font-size: clamp(2rem, 1rem + 3.6vw, 3.6rem);
  line-height: 1.06;
  letter-spacing: 0.01em;
}
.au-type-wordmark {
  font-family: var(--au-display);
  font-size: clamp(1.6rem, 1rem + 2.2vw, 2.6rem);
  letter-spacing: var(--au-track-wordmark);
  text-indent: var(--au-track-wordmark);
}
.au-type-descriptor {
  font-family: var(--au-text);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: var(--au-track-descriptor);
  text-indent: var(--au-track-descriptor);
  text-transform: uppercase;
}
.au-type-body { font-family: var(--au-text); font-size: 16px; line-height: 1.72; max-width: 46ch; }
.au-type-caption { font-family: var(--au-text); font-size: 11px; letter-spacing: var(--au-track-label); text-transform: uppercase; }
