/* ============================================================
   ALPHA7 — v3 : bandas institucionais + cards de setor
   Benchmark de estrutura (energia/trading internacional),
   identidade própria ALPHA7 · Executive Dark
   ============================================================ */

/* ---------- BANDA DE VÍDEO INSTITUCIONAL (full-bleed) ---------- */
.vband {
  position: relative; overflow: hidden; cursor: pointer;
  min-height: clamp(440px, 62vh, 640px);
  display: flex; align-items: center; justify-content: center;
  background: #060608; text-align: center;
}
.vband-art {
  position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0;
  opacity: .5; transition: transform 1.2s var(--ease), opacity .8s var(--ease);
}
.vband:hover .vband-art { transform: scale(1.05); opacity: .62; }
.vband-grid {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
                    linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size: 64px 64px;
  -webkit-mask-image: radial-gradient(120% 90% at 50% 50%, #000, transparent 78%);
          mask-image: radial-gradient(120% 90% at 50% 50%, #000, transparent 78%);
}
.vband-overlay {
  position: absolute; inset: 0; z-index: 1;
  background:
    radial-gradient(90% 80% at 50% 40%, rgba(8,8,11,0.35), rgba(6,6,8,0.86)),
    radial-gradient(120% 90% at 80% 0%, rgba(122,31,43,0.34), transparent 55%);
}
.vband-inner { position: relative; z-index: 2; max-width: 820px; padding-block: 60px; }
.vband-inner .eyebrow { justify-content: center; margin-bottom: 22px; }
.vband-inner h2 { margin: 0 auto 20px; max-width: 14ch; }
.vband-inner .lead { color: rgba(236,233,227,0.78); margin: 0 auto; max-width: 60ch; }
.play-xl {
  width: 92px; height: 92px; border-radius: 50%; margin: 0 auto 36px; position: relative;
  display: grid; place-items: center;
  background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.4);
  backdrop-filter: blur(8px);
  transition: transform .45s var(--ease), background .45s var(--ease), border-color .45s var(--ease);
}
.play-xl::before, .play-xl::after {
  content: ""; position: absolute; inset: -1px; border-radius: 50%;
  border: 1px solid var(--gold); opacity: 0;
}
.vband:hover .play-xl { transform: scale(1.07); background: var(--gold-grad); border-color: transparent; }
.vband:hover .play-xl::before { opacity: .5; animation: ring 1.8s var(--ease) infinite; }
@keyframes ring { 0% { transform: scale(1); opacity: .5; } 100% { transform: scale(1.5); opacity: 0; } }
.play-xl svg { width: 30px; height: 30px; margin-left: 4px; color: #fff; transition: color .45s var(--ease); }
.vband:hover .play-xl svg { color: #1a1206; }
.vband-rec {
  position: absolute; top: 26px; right: 28px; z-index: 2; display: flex; align-items: center; gap: 8px;
  font-family: var(--ff-mono); font-size: 10px; letter-spacing: .18em; text-transform: uppercase; color: rgba(236,233,227,0.5);
}
.vband-rec i { width: 7px; height: 7px; border-radius: 50%; background: #e0483a; box-shadow: 0 0 9px #e0483a; animation: pulse 2.4s var(--ease) infinite; }

/* ---------- SECTOR CARDS (blocos visuais por setor) ---------- */
.sector-cards {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px;
}
.scard {
  position: relative; overflow: hidden; border: 1px solid var(--line);
  border-radius: var(--r-lg); background: var(--card-bg);
  display: flex; flex-direction: column;
  transition: transform .45s var(--ease), border-color .45s var(--ease), box-shadow .45s var(--ease);
}
.scard:hover { transform: translateY(-4px); border-color: var(--line-gold); box-shadow: 0 24px 50px -28px rgba(0,0,0,0.8); }
.scard-scene {
  position: relative; height: 124px; overflow: hidden;
  background:
    radial-gradient(120% 120% at 80% 0%, rgba(122,31,43,0.32), transparent 58%),
    linear-gradient(155deg, #18181f 0%, #101015 60%, #0b0b10 100%);
  border-bottom: 1px solid var(--line);
}
.scard:nth-child(3n+2) .scard-scene { background:
    radial-gradient(120% 120% at 80% 0%, rgba(201,162,75,0.18), transparent 58%),
    linear-gradient(155deg, #17171d 0%, #0f0f14 60%, #0a0a0f 100%); }
.scard:nth-child(3n+3) .scard-scene { background:
    radial-gradient(120% 120% at 75% 10%, rgba(60,90,120,0.22), transparent 58%),
    linear-gradient(155deg, #14161c 0%, #0d0e13 60%, #08090d 100%); }
.scard-scene::before {
  content: ""; position: absolute; inset: 0;
  background-image: linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
                    linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size: 28px 28px;
  -webkit-mask-image: linear-gradient(120deg, transparent, #000); mask-image: linear-gradient(120deg, transparent, #000);
}
.scard-ico-bg {
  position: absolute; right: -16px; bottom: -20px; width: 118px; height: 118px;
  color: var(--gold); opacity: .16; transition: transform .5s var(--ease), opacity .5s var(--ease);
}
.scard:hover .scard-ico-bg { transform: translate(-6px,-6px) scale(1.06) rotate(-3deg); opacity: .28; }
.scard-idx {
  position: absolute; top: 14px; left: 16px; z-index: 2;
  font-family: var(--ff-mono); font-size: 11px; letter-spacing: .14em; color: var(--gold);
}
.scard-glow {
  position: absolute; top: -30%; right: -10%; width: 60%; height: 80%;
  background: radial-gradient(circle, rgba(201,162,75,0.14), transparent 65%); opacity: 0;
  transition: opacity .5s var(--ease);
}
.scard:hover .scard-glow { opacity: 1; }
.scard-body { padding: 22px 22px 24px; display: flex; flex-direction: column; flex: 1; }
.scard-ico {
  width: 38px; height: 38px; border: 1px solid var(--line-gold); border-radius: var(--r);
  display: grid; place-items: center; color: var(--gold); margin-bottom: 16px;
  transition: background .4s var(--ease);
}
.scard:hover .scard-ico { background: var(--accent-soft); }
.scard-ico svg { width: 19px; height: 19px; }
.scard-body h3 { font-size: 17px; font-weight: 700; letter-spacing: -0.015em; margin-bottom: 8px; }
.scard:hover .scard-body h3 { color: var(--gold-lt); }
.scard-body p { font-size: 13px; color: var(--text-dim); line-height: 1.55; }

/* ---------- GLOBAL ADVISORY (mapa + rotas) ---------- */
.gband { position: relative; overflow: hidden; background: linear-gradient(160deg, #0c0d12 0%, #08080b 60%, #060608 100%); }
.gband-map {
  position: absolute; inset: 0; z-index: 0;
  background-image: radial-gradient(rgba(201,162,75,0.16) 1.1px, transparent 1.2px);
  background-size: 26px 26px;
  -webkit-mask-image: radial-gradient(120% 100% at 70% 40%, #000 10%, transparent 72%);
          mask-image: radial-gradient(120% 100% at 70% 40%, #000 10%, transparent 72%);
  opacity: .5;
}
.gband-routes { position: absolute; right: -6%; top: 50%; transform: translateY(-50%); width: min(72%, 900px); z-index: 1; opacity: .95; pointer-events: none; }
.gband-routes .tl-route path {
  animation: gband-dash 5.5s linear infinite;
}
@keyframes gband-dash { to { stroke-dashoffset: -40; } }
body.no-motion .gband-routes .tl-route path { animation: none; }
.gband-glow { position: absolute; z-index: 0; right: 14%; top: 28%; width: 40%; height: 60%; background: radial-gradient(circle, rgba(122,31,43,0.34), transparent 64%); }
.gband .wrap { position: relative; z-index: 2; }
.gband-inner { max-width: 620px; }
.gband-stats { display: flex; flex-wrap: wrap; gap: 14px 40px; margin-top: 40px; }
.gband-stats .gs .n { font-size: clamp(30px,3.4vw,42px); font-weight: 800; letter-spacing: -0.03em; line-height: 1; }
.gband-stats .gs .n .u { color: var(--gold); }
.gband-stats .gs .l { font-family: var(--ff-mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--text-mute); margin-top: 9px; }
.gband-stats .gs { padding-right: 28px; border-right: 1px solid var(--line); }
.gband-stats .gs:last-child { border-right: none; }

/* ---------- PARTNER BAND (chamada de parceria) ---------- */
.pband { position: relative; overflow: hidden; text-align: center;
  background: radial-gradient(120% 100% at 50% 0%, #1c0e13 0%, #0a0a0e 58%, #07070a 100%); }
.pband-art { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; opacity: .28; }
.pband-grid { position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background-image: linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
  background-size: 70px 70px;
  -webkit-mask-image: radial-gradient(120% 100% at 50% 50%, #000, transparent 75%); mask-image: radial-gradient(120% 100% at 50% 50%, #000, transparent 75%); }
.pband .wrap { position: relative; z-index: 2; }
.pband-frame { border: 1px solid var(--line-gold); border-radius: var(--r-lg); padding: clamp(44px,6vw,76px) clamp(24px,5vw,64px);
  background: linear-gradient(180deg, rgba(20,16,18,0.5), rgba(10,10,14,0.5)); backdrop-filter: blur(2px); max-width: 920px; margin-inline: auto; }
.pband .eyebrow { justify-content: center; margin-bottom: 22px; }
.pband h2 { margin: 0 auto 22px; max-width: 18ch; }
.pband .lead { color: var(--text-dim); margin: 0 auto 38px; max-width: 60ch; }
.pband-actions { display: flex; flex-wrap: wrap; gap: 14px; justify-content: center; }

/* ---------- RESPONSIVE ---------- */
@media (max-width: 1080px) {
  .sector-cards { grid-template-columns: repeat(3, 1fr); }
  .gband-routes { opacity: .55; width: 80%; }
}
@media (max-width: 760px) {
  .sector-cards { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .scard-scene { height: 104px; }
  .vband { min-height: 60vh; }
  .play-xl { width: 76px; height: 76px; margin-bottom: 28px; }
  .gband-routes { display: none; }
  .gband-stats .gs { border-right: none; padding-right: 0; }
  .pband-frame { padding: 40px 22px; }
}
@media (max-width: 460px) {
  .sector-cards { grid-template-columns: 1fr 1fr; }
  .scard-body { padding: 16px 16px 18px; }
  .scard-body h3 { font-size: 15px; }
}
