/* =====================================================================
   GRUPO CONSTA — tema institucional (formal / grafite)
   ===================================================================== */
:root {
  --font-head: "Sora", "Inter", sans-serif;
  --font-body: "Inter", system-ui, sans-serif;

  --brand: #33363d;
  --brand-2: #4d525c;
  --accent: #c8a24a;          /* dourado discreto, sofisticado */
  --ink: #2b2f38;
  --ink-strong: #14171d;
  --muted: #6b7280;
  --bg: #ffffff;
  --bg-soft: #f4f5f7;
  --bg-deep: #14171d;
  --line: #e4e6eb;
  --card: #ffffff;
  --logo-h: 46px;

  /* cores das empresas (acentos) */
  --c-nadar: #1696d6;
  --c-transportar: #16213e;
  --c-transportar-red: #e63329;
  --c-tudo: #f5921e;
  --c-cuidar: #2cb6c9;
}

/* ----- Hero institucional ----- */
.hero-grupo {
  background:
    radial-gradient(1200px 600px at 78% -10%, #1f232b 0%, transparent 60%),
    linear-gradient(160deg, #14171d 0%, #20242c 55%, #14171d 100%);
  color: #eef1f6;
  padding-block: clamp(120px, 17vw, 200px) clamp(80px, 11vw, 140px);
}
.hero-grupo h1 { color: #fff; }
.hero-grupo .lead { color: #b9c0cc; }
.hero-grupo .eyebrow { color: #fff; background: rgba(255,255,255,.1); }

/* selo decorativo de fundo */
.hero-grupo__grid {
  position: absolute; inset: 0; z-index: 1; opacity: .5;
  background-image: linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
                    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size: 56px 56px;
  -webkit-mask-image: radial-gradient(circle at 75% 30%, #000, transparent 70%);
          mask-image: radial-gradient(circle at 75% 30%, #000, transparent 70%);
}
.hero-grupo .container { position: relative; z-index: 2; }

.hero-badges { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.hero-badges .chip { background: rgba(255,255,255,.08); color: #dfe4ec; }

/* faixa colorida das 4 marcas */
.brand-rule { height: 5px; width: 100%; border-radius: 4px; background: linear-gradient(90deg, var(--c-nadar) 0 25%, var(--c-transportar) 25% 50%, var(--c-tudo) 50% 75%, var(--c-cuidar) 75% 100%); }

/* ----- Cards das empresas ----- */
.company-card {
  position: relative; overflow: hidden; display: flex; flex-direction: column;
  --c: var(--brand);
}
.company-card::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: var(--c);
  transition: width .3s ease;
}
.company-card:hover { border-color: color-mix(in srgb, var(--c) 45%, var(--line)); }
.company-card:hover::before { width: 8px; }
.company-card__logo { height: 52px; width: auto; margin-bottom: 18px; object-fit: contain; object-position: left; }
.company-card__tag { font-size: .8rem; font-weight: 700; letter-spacing: .04em; color: var(--c); text-transform: uppercase; }
.company-card h3 { font-size: 1.4rem; margin: 6px 0 10px; }
.company-card p { color: var(--muted); flex: 1; }
.company-card .go {
  display: inline-flex; align-items: center; gap: .5em; margin-top: 20px;
  font-family: var(--font-head); font-weight: 700; color: var(--c);
}
.company-card .go svg { transition: transform .22s ease; }
.company-card:hover .go svg { transform: translateX(5px); }
.company-card[data-brand="nadar"] { --c: var(--c-nadar); }
.company-card[data-brand="transportar"] { --c: var(--c-transportar); }
.company-card[data-brand="tudo"] { --c: var(--c-tudo); }
.company-card[data-brand="cuidar"] { --c: var(--c-cuidar); }

/* selo de "número" sutil */
.company-card__num { position: absolute; right: 18px; top: 10px; font-family: var(--font-head); font-weight: 800; font-size: 3.4rem; color: color-mix(in srgb, var(--c) 12%, transparent); line-height: 1; pointer-events: none; }

/* ----- Sobre / valores ----- */
.value { display: flex; gap: 16px; align-items: flex-start; }
.value .icon-badge { flex: none; margin-bottom: 0; }
.value h4 { font-size: 1.12rem; margin-bottom: 4px; }
.value p { color: var(--muted); }

/* ----- Timeline ----- */
.timeline { position: relative; display: grid; gap: 26px; }
.timeline::before { content: ""; position: absolute; left: 19px; top: 8px; bottom: 8px; width: 2px; background: linear-gradient(var(--c-nadar), var(--c-cuidar)); }
.tl-item { position: relative; padding-left: 56px; }
.tl-dot { position: absolute; left: 9px; top: 2px; width: 22px; height: 22px; border-radius: 50%; background: var(--bg); box-shadow: 0 0 0 4px color-mix(in srgb, var(--brand) 18%, transparent); display: grid; place-items: center; }
.tl-dot::after { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--brand); }
.tl-item[data-c="nadar"] .tl-dot::after { background: var(--c-nadar); }
.tl-item[data-c="transportar"] .tl-dot::after { background: var(--c-transportar-red); }
.tl-item[data-c="tudo"] .tl-dot::after { background: var(--c-tudo); }
.tl-item[data-c="cuidar"] .tl-dot::after { background: var(--c-cuidar); }
.tl-year { font-family: var(--font-head); font-weight: 800; color: var(--brand); font-size: 1.05rem; }
.tl-item h4 { margin: 2px 0 4px; }
.tl-item p { color: var(--muted); }

.accent-gold { color: var(--accent); }

/* CTA band institucional */
.cta-grupo { background: linear-gradient(135deg, #1b1f27, #2a2f3a); }
.cta-grupo::after { content: ""; position: absolute; right: -60px; top: -60px; width: 320px; height: 320px; border-radius: 50%; background: radial-gradient(circle, rgba(200,162,74,.22), transparent 70%); }

@media (max-width: 760px) {
  .company-card__num { font-size: 2.6rem; }
  .brand-rule { border-radius: 0; }
}

@media (max-width: 520px) {
  .hero-grupo { padding-top: 86px; }
  .company-card__num { font-size: 2rem; }
  .hero-badges { gap: 8px; }
  .hero-badges .chip { font-size: .8rem; padding: .4em .9em; }
  .tl-item { padding-left: 44px; }
}
