/* ============================================================
   MOVER CADEIRAS — site.css
   Home elétrica + elegante. Movimento por toda parte.
   Depende de brand.css (tokens, botões).
   ============================================================ */

html{ scroll-behavior:smooth; }
body{ margin:0; background:var(--mc-bg); color:var(--mc-ink); font-family:var(--font-body);
  overflow-x:hidden; }
img{ max-width:100%; display:block; }
.container{ width:min(1200px, 100% - 48px); margin-inline:auto; }
section{ position:relative; }

/* ---------- Logo helper ---------- */
.logo{ display:flex; align-items:center; text-decoration:none; }
.logo .lg-img{ display:block; height:44px; width:auto; }
/* header sobre o herói escuro: logo em branco; ao rolar (fundo claro): colorida */
.hdr .logo .lg-img{ filter:brightness(0) invert(1); transition:filter .3s ease; }
.hdr.scrolled .logo .lg-img{ filter:none; }
/* rodapé escuro: branco */
.foot .logo .lg-img{ filter:brightness(0) invert(1); height:52px; }

/* ---------- Header ---------- */
.hdr{ position:fixed; top:0; left:0; right:0; z-index:60; transition:.4s cubic-bezier(.2,.7,.2,1); }
.hdr-in{ display:flex; align-items:center; justify-content:space-between;
  padding:20px 0; transition:.4s cubic-bezier(.2,.7,.2,1); }
.hdr.scrolled{ background:rgba(255,255,255,.86); backdrop-filter:blur(14px) saturate(1.3);
  box-shadow:0 1px 0 var(--mc-line), 0 14px 30px -22px rgba(18,47,88,.4); }
.hdr.scrolled .hdr-in{ padding:12px 0; }
.hdr.scrolled .nav a{ color:var(--mc-ink); }
.hdr.scrolled .logo .word b{ color:var(--mc-blue); }
.hdr.scrolled .logo .word span{ color:var(--mc-red); }
.nav{ display:flex; align-items:center; gap:32px; }
.nav a{ color:rgba(255,255,255,.9); text-decoration:none; font-weight:600; font-size:15px;
  position:relative; transition:.25s; }
.nav a:not(.mc-btn)::after{ content:''; position:absolute; left:0; bottom:-5px; height:2px; width:0;
  background:var(--mc-red); transition:width .3s cubic-bezier(.2,.7,.2,1); }
.nav a:not(.mc-btn):hover::after{ width:100%; }
.nav a:not(.mc-btn):hover{ color:var(--mc-red); }
.nav a.active{ color:#fff; }
.nav a.active::after{ width:100%; }
.nav-cli{ display:inline-flex; align-items:center; gap:7px; border:1px solid rgba(255,255,255,.28);
  padding:8px 14px; border-radius:999px; }
.nav-cli::after{ display:none !important; }
.nav-cli:hover{ color:#fff !important; border-color:var(--mc-red); background:rgba(217,59,52,.14); }
.nav-cli svg{ flex:none; }
.hdr.scrolled .nav-cli{ border-color:var(--mc-line); }
.hdr.scrolled .nav-cli:hover{ border-color:var(--mc-red); color:var(--mc-red) !important; }
.nav-cli.active{ border-color:var(--mc-red); }
.hdr.scrolled .nav a.active{ color:var(--mc-red); }
.hdr.scrolled .nav a:not(.mc-btn):hover{ color:var(--mc-red); }
.burger{ display:none; }

/* ---------- Hero ---------- */
.hero{ background:var(--mc-blue-ink); color:#fff; position:relative; overflow:hidden;
  padding:168px 0 110px; }
.hero-grid-bg{ position:absolute; inset:0; z-index:0; opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size:60px 60px; mask-image:radial-gradient(circle at 30% 40%, #000, transparent 75%);
  animation:gridDrift 20s linear infinite; }
@keyframes gridDrift{ to{ background-position:60px 60px; } }
.hero-glow{ position:absolute; z-index:0; border-radius:50%; filter:blur(10px); }
.hero-glow.g1{ width:560px; height:560px; right:-160px; top:-120px;
  background:radial-gradient(circle, rgba(30,74,138,.9), transparent 62%); }
.hero-glow.g2{ width:380px; height:380px; left:-120px; bottom:-120px;
  background:radial-gradient(circle, rgba(217,59,52,.32), transparent 65%);
  animation:breathe 7s ease-in-out infinite; }
@keyframes breathe{ 50%{ transform:scale(1.18); opacity:.7; } }
/* estrias de velocidade */
.streaks{ position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden; }
.streaks i{ position:absolute; height:3px; border-radius:3px; left:-30%; transform:skewX(-20deg);
  background:linear-gradient(90deg, transparent, var(--mc-red), transparent);
  animation:zoom var(--d,6s) linear infinite; animation-delay:var(--dl,0s); opacity:0; }
@keyframes zoom{ 0%{ left:-30%; opacity:0; } 10%{ opacity:.8; } 90%{ opacity:.8; }
  100%{ left:120%; opacity:0; } }
.hero-in{ position:relative; z-index:3; display:grid; grid-template-columns:1.06fr .94fr;
  gap:48px; align-items:center; }
.hero-kick{ display:inline-flex; align-items:center; gap:9px; color:#fff;
  background:rgba(217,59,52,.16); border:1px solid rgba(217,59,52,.5); padding:8px 16px;
  border-radius:999px; font-family:var(--font-display); text-transform:uppercase; letter-spacing:.18em;
  font-weight:700; font-size:12px; }
.hero-kick .ping{ width:7px; height:7px; border-radius:50%; background:var(--mc-red);
  box-shadow:0 0 0 0 rgba(217,59,52,.6); animation:ping 1.8s ease-out infinite; }
@keyframes ping{ 70%{ box-shadow:0 0 0 9px rgba(217,59,52,0); } 100%{ box-shadow:0 0 0 0 rgba(217,59,52,0); } }
.hero h1{ font-family:var(--font-display); font-size:clamp(52px, 7vw, 104px); line-height:.88;
  text-transform:uppercase; font-style:italic; font-weight:900; letter-spacing:-.02em;
  margin:22px 0 0; }
.hero h1 .ln{ display:block; overflow:hidden; }
.hero h1 .ln > span{ display:inline-block; transform:translateY(110%);
  animation:lineUp .9s cubic-bezier(.16,1,.3,1) forwards; }
.hero h1 .ln:nth-child(2) > span{ animation-delay:.12s; }
.hero h1 .red{ color:var(--mc-red); }
@keyframes lineUp{ to{ transform:translateY(0); } }
.hero-sub{ font-size:19px; color:rgba(255,255,255,.78); max-width:450px; margin:24px 0 34px;
  line-height:1.55; opacity:0; animation:fadeUp .8s ease .5s forwards; }
.hero-cta{ display:flex; gap:14px; flex-wrap:wrap; opacity:0; animation:fadeUp .8s ease .65s forwards; }
@keyframes fadeUp{ from{ opacity:0; transform:translateY(18px); } to{ opacity:1; transform:none; } }
.hero-fig{ position:relative; opacity:0; animation:fadeUp 1s ease .4s forwards; }
.hero-fig .frame{ position:relative; aspect-ratio:1/1; border-radius:20px; overflow:hidden;
  background:#0c1d38; box-shadow:var(--mc-shadow-lg); border:1px solid rgba(255,255,255,.12); }
.hero-fig .frame .mc-ph{ position:absolute; inset:0; height:100%; }
.hero-fig .frame .hero-img{ position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; object-position:50% 50%; }
.float-badge{ position:absolute; z-index:4; background:rgba(12,35,72,.78); backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.16); border-radius:14px; padding:13px 16px; color:#fff;
  box-shadow:var(--mc-shadow); animation:floaty 4s ease-in-out infinite; }
.float-badge.b1{ left:-26px; top:50px; }
.float-badge.b2{ right:-22px; bottom:64px; animation-delay:1.2s; }
.float-badge .t{ font-family:var(--font-display); text-transform:uppercase; font-style:italic;
  font-weight:900; font-size:17px; line-height:1; }
.float-badge .s{ font-size:12px; color:rgba(255,255,255,.72); margin-top:3px; }
.float-badge .big{ font-size:30px; color:var(--mc-red); -webkit-text-stroke:0; }
@keyframes floaty{ 50%{ transform:translateY(-12px); } }

/* ---------- Sweep line divider ---------- */
.sweep{ height:3px; background:linear-gradient(90deg, transparent, var(--mc-blue), var(--mc-red), transparent);
  background-size:200% 100%; animation:sweep 4s linear infinite; }
@keyframes sweep{ to{ background-position:200% 0; } }

/* ---------- Stats ---------- */
.stats{ background:var(--mc-red); color:#fff; }
.stats .container{ display:grid; grid-template-columns:repeat(4,1fr); }
.stat{ padding:34px 0; border-right:1px solid rgba(255,255,255,.22); }
.stat:last-child{ border-right:0; }
.stat b{ font-family:var(--font-display); font-style:italic; font-weight:900; font-size:52px;
  line-height:1; display:block; }
.stat span{ font-size:14px; color:rgba(255,255,255,.88); }

/* ---------- Section heading ---------- */
.shead{ display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:40px; }
.kick{ font-family:var(--font-display); text-transform:uppercase; letter-spacing:.2em; font-weight:700;
  font-size:13px; color:var(--mc-red); display:flex; align-items:center; gap:10px; }
.kick::before{ content:''; width:26px; height:2px; background:var(--mc-red); }
.shead h2{ font-family:var(--font-display); font-size:clamp(36px,4.6vw,58px); text-transform:uppercase;
  font-style:italic; font-weight:900; letter-spacing:-.01em; line-height:.98; margin:10px 0 0; }
.shead h2 .blue{ color:var(--mc-blue); } .shead h2 .red{ color:var(--mc-red); }

/* ---------- Esportiva showcase ---------- */
.esp{ padding:100px 0; }
.esp-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.pcard{ border:1px solid var(--mc-line); border-radius:18px; overflow:hidden; background:#fff;
  transition:transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s; cursor:pointer; text-decoration:none;
  color:inherit; display:block; }
.pcard:hover{ transform:translateY(-8px); box-shadow:var(--mc-shadow-lg); }
.pcard .ph{ position:relative; height:180px; overflow:hidden; }
.pcard .ph .mc-ph{ position:absolute; inset:0; height:100%; transition:transform .5s cubic-bezier(.2,.7,.2,1); }
.pcard:hover .ph .mc-ph{ transform:scale(1.07); }
.pcard .ph .chip{ position:absolute; top:12px; left:12px; z-index:2; background:#fff;
  font-family:var(--font-display); text-transform:uppercase; letter-spacing:.1em; font-size:11px;
  font-weight:700; color:var(--mc-red); padding:5px 11px; border-radius:999px; box-shadow:var(--mc-shadow); }
.pcard .body{ padding:18px; }
.pcard h3{ font-family:var(--font-display); font-size:25px; text-transform:uppercase; font-style:italic;
  font-weight:800; margin:0 0 6px; }
.pcard .meta{ font-size:13px; color:var(--mc-slate); }
.pcard .go{ margin-top:14px; font-family:var(--font-display); font-weight:700; text-transform:uppercase;
  font-size:13px; letter-spacing:.05em; color:var(--mc-blue); display:flex; align-items:center; gap:7px;
  transition:gap .25s; }
.pcard:hover .go{ gap:13px; color:var(--mc-red); }

/* ---------- Tecnologia ---------- */
.tech{ background:var(--mc-bg-soft); padding:100px 0; overflow:hidden; }
.tech-in{ display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:center; }
.tech-fig{ position:relative; height:460px; border-radius:20px; overflow:hidden; box-shadow:var(--mc-shadow); }
.tech-fig .mc-ph{ position:absolute; inset:0; height:100%; }
.tech-anno{ position:absolute; z-index:3; display:flex; align-items:center; gap:9px;
  background:#fff; border:1px solid var(--mc-line); border-radius:10px; padding:8px 13px;
  box-shadow:var(--mc-shadow); font-family:var(--font-display); text-transform:uppercase;
  letter-spacing:.06em; font-size:12px; font-weight:700; color:var(--mc-blue-ink); }
.tech-anno .d{ width:8px; height:8px; border-radius:50%; background:var(--mc-red);
  box-shadow:0 0 0 4px rgba(217,59,52,.18); }
.spec-list{ display:grid; gap:2px; margin-top:30px; }
.spec-row{ display:grid; grid-template-columns:200px 1fr; gap:16px; padding:15px 4px;
  border-bottom:1px solid var(--mc-line); }
.spec-row dt{ font-family:var(--font-display); text-transform:uppercase; letter-spacing:.08em;
  font-size:13px; font-weight:700; color:var(--mc-slate); }
.spec-row dd{ margin:0; font-weight:600; color:var(--mc-ink); }

/* ---------- Marquee modalidades ---------- */
.marq{ background:var(--mc-blue-ink); color:#fff; padding:30px 0; overflow:hidden; }
.marq-row{ display:flex; gap:48px; white-space:nowrap; width:max-content;
  animation:marq var(--mq,32s) linear infinite; }
.marq-row.rev{ animation-direction:reverse; }
.marq-row + .marq-row{ margin-top:14px; }
.marq-row span{ font-family:var(--font-display); font-style:italic; font-weight:900; text-transform:uppercase;
  font-size:34px; color:rgba(255,255,255,.32); display:flex; align-items:center; gap:48px; }
.marq-row span::after{ content:'●'; color:var(--mc-red); font-size:16px; }
.marq-row span.on{ color:#fff; }
@keyframes marq{ to{ transform:translateX(-50%); } }

/* ---------- Founder ---------- */
.founder{ padding:100px 0; }
.founder-in{ display:grid; grid-template-columns:.85fr 1.15fr; gap:60px; align-items:center; }
.founder-fig{ position:relative; height:460px; border-radius:20px; overflow:hidden; box-shadow:var(--mc-shadow); }
.founder-fig .mc-ph{ position:absolute; inset:0; height:120%; top:-10%; }
.founder blockquote{ font-family:var(--font-display); font-size:clamp(28px,3.4vw,42px); font-weight:800;
  line-height:1.08; letter-spacing:-.01em; margin:18px 0 0; }
.founder blockquote .red{ color:var(--mc-red); }
.byline{ margin-top:26px; display:flex; align-items:center; gap:14px; }
.byline .av{ width:56px; height:56px; border-radius:50%; background:var(--mc-blue-100); flex:none;
  border:2px solid var(--mc-blue); }
.byline b{ display:block; font-size:16px; }
.byline span{ font-size:14px; color:var(--mc-slate); }

/* ---------- Valores ---------- */
.values{ background:var(--mc-bg-soft); padding:100px 0; }
.val-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:42px; }
.vcard{ background:#fff; border:1px solid var(--mc-line); border-radius:18px; padding:34px;
  transition:transform .3s, box-shadow .3s, border-color .3s; }
.vcard:hover{ transform:translateY(-6px); box-shadow:var(--mc-shadow); border-color:var(--mc-blue-100); }
.vcard .ic{ width:50px; height:50px; border-radius:14px; background:var(--mc-red-50); color:var(--mc-red);
  display:flex; align-items:center; justify-content:center; }
.vcard h3{ font-family:var(--font-display); font-size:25px; text-transform:uppercase; font-weight:800;
  margin:18px 0 8px; }
.vcard p{ color:var(--mc-slate); line-height:1.6; margin:0; }

/* ---------- CTA band ---------- */
.cta{ background:var(--mc-blue-ink); color:#fff; padding:90px 0; position:relative; overflow:hidden; }
.cta-in{ position:relative; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:36px; }
.cta h2{ font-family:var(--font-display); font-size:clamp(36px,4.5vw,56px); text-transform:uppercase;
  font-style:italic; font-weight:900; line-height:.96; }
.cta p{ color:rgba(255,255,255,.76); margin:12px 0 0; font-size:18px; }

/* ---------- Footer ---------- */
.foot{ background:#0C2348; color:rgba(255,255,255,.7); padding:64px 0 32px; }
.foot-cols{ display:grid; grid-template-columns:1.5fr 1fr 1fr 1.1fr; gap:40px;
  padding-bottom:34px; border-bottom:1px solid rgba(255,255,255,.12); }
.foot h4{ color:#fff; font-family:var(--font-display); text-transform:uppercase; letter-spacing:.1em;
  font-size:14px; margin:0 0 16px; }
.foot a{ color:rgba(255,255,255,.68); text-decoration:none; display:block; margin:9px 0; font-size:14px;
  transition:.2s; }
.foot a:hover{ color:#fff; padding-left:4px; }
.foot .legal{ padding-top:22px; font-size:13px; color:rgba(255,255,255,.45);
  display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; }

/* ---------- WhatsApp FAB ---------- */
.fab{ position:fixed; right:24px; bottom:24px; z-index:80; display:flex; align-items:center; gap:12px;
  background:#1FA855; color:#fff; padding:14px 20px 14px 16px; border-radius:999px; text-decoration:none;
  font-family:var(--font-display); font-weight:700; text-transform:uppercase; letter-spacing:.04em;
  box-shadow:0 16px 34px -12px rgba(31,168,85,.7); transition:transform .25s; }
.fab:hover{ transform:translateY(-3px) scale(1.03); }
.fab .ring{ position:absolute; left:18px; width:26px; height:26px; border-radius:50%;
  box-shadow:0 0 0 0 rgba(31,168,85,.6); animation:ping 2s ease-out infinite; }

/* ---------- Reveal on scroll ---------- */
.reveal{ opacity:0; transform:translateY(34px); transition:opacity .7s cubic-bezier(.2,.7,.2,1),
  transform .7s cubic-bezier(.2,.7,.2,1); }
.reveal.in{ opacity:1; transform:none; }
.reveal.d1{ transition-delay:.08s; } .reveal.d2{ transition-delay:.16s; }
.reveal.d3{ transition-delay:.24s; } .reveal.d4{ transition-delay:.32s; }

@media (prefers-reduced-motion: reduce){
  *{ animation:none !important; }
  .reveal{ opacity:1 !important; transform:none !important; }
  .hero h1 .ln > span{ transform:none !important; }
  .hero-fig, .hero-sub, .hero-cta{ opacity:1 !important; transform:none !important; }
  .float-badge{ transform:none !important; }
}

/* ---------- Responsive ---------- */
@media (max-width: 940px){
  .hero-in, .tech-in, .founder-in{ grid-template-columns:1fr; gap:36px; }
  .hero-fig{ order:-1; }
  .esp-grid{ grid-template-columns:repeat(2,1fr); }
  .val-grid{ grid-template-columns:1fr; }
  .stats .container{ grid-template-columns:repeat(2,1fr); }
  .stat:nth-child(2){ border-right:0; }
  .foot-cols{ grid-template-columns:1fr 1fr; }
  .cta-in{ flex-direction:column; align-items:flex-start; }
  .nav{ position:fixed; inset:0 0 0 auto; width:min(320px,82vw); background:var(--mc-blue-ink);
    flex-direction:column; align-items:flex-start; justify-content:center; padding:40px; gap:22px;
    transform:translateX(100%); transition:transform .4s cubic-bezier(.2,.7,.2,1); }
  .nav.open{ transform:none; }
  .nav a{ color:#fff !important; font-size:20px; }
  .burger{ display:flex; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer;
    z-index:70; padding:6px; }
  .burger span{ width:26px; height:2.5px; background:#fff; border-radius:2px; transition:.3s; }
  .hdr.scrolled .burger span{ background:var(--mc-ink); }
  .burger.open span:nth-child(1){ transform:translateY(7.5px) rotate(45deg); background:#fff; }
  .burger.open span:nth-child(2){ opacity:0; }
  .burger.open span:nth-child(3){ transform:translateY(-7.5px) rotate(-45deg); background:#fff; }
}
@media (max-width: 560px){
  .esp-grid{ grid-template-columns:1fr; }
  .stats .container{ grid-template-columns:1fr 1fr; }
  .fab span{ display:none; }
}
