/* ==================================================================
   MGS 2026 — sistema visual
   ------------------------------------------------------------------
   Este arquivo substitui bootstrap.min.css, main.css e responsive.css.
   Ele traz o próprio reset, então não depende de nenhum outro CSS.
   ================================================================== */

*,*::before,*::after{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
body{margin:0;}
img,svg{max-width:100%;height:auto;display:block;}
button,input,textarea,select{font:inherit;color:inherit;}
h1,h2,h3,h4,h5,h6{margin:0;}

:root{
  /* Aço fundido — corpo das máquinas */
  --mgs-aco-900:#0E1418;
  --mgs-aco-800:#141E25;
  --mgs-aco-700:#1C2A33;
  --mgs-linha:#2A3B45;
  --mgs-linha-clara:#DFE5E8;

  /* Alumínio — material do próprio grampo */
  --mgs-aluminio:#B9C6CE;
  --mgs-fraco:#8DA0AC;
  --mgs-fraco-claro:#5F717C;

  /* Vermelho industrial */
  --mgs-vermelho:#C8102E;
  --mgs-vermelho-vivo:#E01B39;

  /* Amarelo de sinalização de máquina — uso restrito */
  --mgs-sinal:#FFC72C;

  --mgs-gelo:#F2F5F6;
  --mgs-branco:#FFFFFF;
  --mgs-tinta:#0E1418;

  --mgs-display:"Barlow Condensed",Impact,sans-serif;
  --mgs-corpo:"IBM Plex Sans",system-ui,-apple-system,sans-serif;
  --mgs-dado:"IBM Plex Mono",ui-monospace,monospace;

  --mgs-max:1180px;
}

/* ---------- base ---------- */
.mgs *,
.mgs *::before,
.mgs *::after{box-sizing:border-box;}

.mgs{
  background:var(--mgs-branco);
  color:var(--mgs-tinta);
  font-family:var(--mgs-corpo);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.mgs a{text-decoration:none;color:inherit;}
.mgs img{max-width:100%;display:block;}
.mgs ul{list-style:none;margin:0;padding:0;}
.mgs p{margin:0 0 1em;}

.mgs-container{max-width:var(--mgs-max);margin:0 auto;padding:0 32px;}

/* ---------- seções ---------- */
.mgs-secao{padding:96px 0;position:relative;}
.mgs-secao--gelo{background:var(--mgs-gelo);}
.mgs-secao--escura{background:var(--mgs-aco-900);color:var(--mgs-aluminio);}

.mgs-rotulo{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--mgs-dado);font-size:.7rem;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;
  color:var(--mgs-fraco-claro);margin-bottom:18px;
}
.mgs-rotulo::before{content:"";width:26px;height:3px;background:var(--mgs-vermelho);}
.mgs-secao--escura .mgs-rotulo{color:var(--mgs-aluminio);}
.mgs-secao--escura .mgs-rotulo::before{background:var(--mgs-vermelho-vivo);}

.mgs-h2{
  font-family:var(--mgs-display);font-weight:800;text-transform:uppercase;
  font-size:clamp(2rem,4vw,3.1rem);line-height:.98;letter-spacing:-.005em;
  margin:0 0 18px;color:var(--mgs-tinta);
}
.mgs-secao--escura .mgs-h2{color:#fff;}

.mgs-intro{
  font-size:1.05rem;line-height:1.7;color:var(--mgs-fraco-claro);
  max-width:62ch;margin:0;
}
.mgs-secao--escura .mgs-intro{color:var(--mgs-fraco);}

.mgs-cabecalho{margin-bottom:52px;max-width:760px;}
.mgs-cabecalho--centro{margin-left:auto;margin-right:auto;text-align:center;}
.mgs-cabecalho--centro .mgs-intro{margin:0 auto;}

/* ---------- botões ---------- */
.mgs-btn{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--mgs-dado);font-size:.78rem;font-weight:500;
  letter-spacing:.12em;text-transform:uppercase;
  padding:15px 28px;border-radius:3px;border:1px solid transparent;
  cursor:pointer;
  transition:transform .16s ease,background .2s ease,border-color .2s ease,color .2s ease;
}
.mgs-btn--principal{background:var(--mgs-vermelho);color:#fff;}
.mgs-btn--principal:hover{background:var(--mgs-vermelho-vivo);transform:translateY(-2px);color:#fff;}
.mgs-btn--vazado{border-color:var(--mgs-linha);color:#fff;}
.mgs-btn--vazado:hover{border-color:var(--mgs-aluminio);transform:translateY(-2px);}
.mgs-btn--escuro{border-color:rgba(14,20,24,.22);color:var(--mgs-tinta);}
.mgs-btn--escuro:hover{border-color:var(--mgs-tinta);transform:translateY(-2px);}
.mgs-btn:focus-visible{outline:2px solid var(--mgs-sinal);outline-offset:3px;}

/* ==================================================================
   Navegação
   ================================================================== */
.mgs-nav{
  position:fixed;inset:0 0 auto 0;z-index:1000;
  display:flex;align-items:center;gap:28px;
  padding:14px 32px;
  background:rgba(14,20,24,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--mgs-linha);
}
.mgs-nav__marca{display:flex;align-items:center;margin-right:auto;}
.mgs-nav__marca img{height:34px;width:auto;}

/* Marca tipográfica — usada enquanto não há arquivo de logo */
.mgs-marca{display:flex;align-items:baseline;gap:9px;}
.mgs-marca__sigla{
  font-family:var(--mgs-display);font-weight:800;font-size:1.7rem;
  letter-spacing:.04em;line-height:1;color:#fff;
}
.mgs-marca__desc{
  font-family:var(--mgs-dado);font-size:.62rem;font-weight:500;
  letter-spacing:.24em;text-transform:uppercase;color:var(--mgs-vermelho-vivo);
}
.mgs-marca--grande .mgs-marca__sigla{font-size:2.3rem;}
.mgs-marca--grande .mgs-marca__desc{font-size:.7rem;}
.mgs-nav__links{display:flex;gap:26px;margin-left:auto;}
.mgs-nav__links li + li{margin-left:0;}
@supports not (gap:1px){
  .mgs-nav__links li + li{margin-left:24px;}
}
.mgs-nav__links a{
  font-family:var(--mgs-dado);font-size:.7rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--mgs-fraco);
  padding:6px 0;position:relative;transition:color .18s ease;
}
.mgs-nav__links a::after{
  content:"";position:absolute;left:0;bottom:0;height:2px;width:0;
  background:var(--mgs-vermelho-vivo);transition:width .22s ease;
}
.mgs-nav__links a:hover,.mgs-nav__links a.ativo{color:#fff;}
.mgs-nav__links a:hover::after,.mgs-nav__links a.ativo::after{width:100%;}
.mgs-nav__menu{
  display:none;background:none;border:1px solid var(--mgs-linha);
  border-radius:3px;padding:8px 10px;cursor:pointer;
}
.mgs-nav__menu span{display:block;width:18px;height:2px;background:#fff;margin:3px 0;}

/* ==================================================================
   Hero
   ================================================================== */
.mgs-hero{
  position:relative;overflow:hidden;
  padding:148px 0 56px;
  background:
    radial-gradient(1100px 620px at 78% 10%,rgba(45,72,88,.5),transparent 62%),
    linear-gradient(180deg,var(--mgs-aco-800) 0%,var(--mgs-aco-900) 100%);
  color:var(--mgs-aluminio);
}
.mgs-hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(115deg,rgba(255,255,255,.026) 0 1px,transparent 1px 5px);
}
.mgs-hero__grade{
  position:relative;display:grid;grid-template-columns:1.12fr .88fr;
  gap:60px;align-items:center;
}
.mgs-hero__titulo{
  font-family:var(--mgs-display);font-weight:800;text-transform:uppercase;
  font-size:clamp(2.6rem,5.4vw,4.4rem);line-height:.92;letter-spacing:-.005em;
  color:#fff;margin:0 0 22px;
}
.mgs-hero__titulo em{font-style:normal;color:var(--mgs-vermelho-vivo);}
.mgs-hero__sub{
  font-size:1.05rem;line-height:1.7;color:var(--mgs-fraco);
  max-width:50ch;margin:0 0 34px;
}
.mgs-hero__acoes{display:flex;flex-wrap:wrap;gap:14px;}

/* --- assinatura: placa de dados rebitada --- */
.mgs-placa{
  position:relative;margin:0;
  background:linear-gradient(150deg,#D3DBE0 0%,#AEBAC3 38%,#C6D0D6 62%,#9DAAB4 100%);
  border-radius:5px;padding:26px 28px 24px;
  box-shadow:0 26px 50px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.65);
  color:var(--mgs-aco-900);transform:rotate(-1.1deg);
}
.mgs-placa::before{
  content:"";position:absolute;inset:0;border-radius:5px;pointer-events:none;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.16) 0 1px,transparent 1px 3px);
  mix-blend-mode:overlay;
}
.mgs-placa__topo{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  border-bottom:2px solid var(--mgs-aco-900);padding-bottom:10px;margin-bottom:14px;
}
.mgs-placa__marca{
  font-family:var(--mgs-display);font-weight:800;font-size:1.5rem;
  letter-spacing:.06em;text-transform:uppercase;line-height:1;
}
.mgs-placa__selo{
  font-family:var(--mgs-dado);font-size:.58rem;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;
  background:var(--mgs-aco-900);color:var(--mgs-sinal);
  padding:5px 9px;border-radius:2px;white-space:nowrap;
}
.mgs-placa__linhas li{
  display:flex;align-items:baseline;gap:8px;
  font-family:var(--mgs-dado);font-size:.71rem;padding:7px 0;
  border-bottom:1px dotted rgba(14,20,24,.26);
}
.mgs-placa__linhas li:last-child{border-bottom:0;}
.mgs-placa__rot{letter-spacing:.1em;text-transform:uppercase;color:rgba(14,20,24,.6);white-space:nowrap;}
.mgs-placa__pont{flex:1;border-bottom:1px dotted rgba(14,20,24,.32);transform:translateY(-3px);}
.mgs-placa__val{font-weight:600;text-align:right;}
.mgs-rebite{
  position:absolute;width:9px;height:9px;border-radius:50%;
  background:radial-gradient(circle at 32% 30%,#F2F5F7,#7C8A94 62%,#55636D);
  box-shadow:0 1px 2px rgba(0,0,0,.45);
}
.mgs-rebite--se{top:9px;left:9px;}
.mgs-rebite--sd{top:9px;right:9px;}
.mgs-rebite--ie{bottom:9px;left:9px;}
.mgs-rebite--id{bottom:9px;right:9px;}

/* --- faixa de clientes --- */
/* separador visivel: tambem garante espacamento em navegadores antigos */

/* ==================================================================
   Cards de produto
   ================================================================== */
.mgs-grade-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.mgs-grade-2{display:grid;grid-template-columns:repeat(2,1fr);gap:36px;}

.mgs-card{
  background:var(--mgs-branco);border:1px solid var(--mgs-linha-clara);
  border-radius:4px;padding:30px 28px;position:relative;
  transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.mgs-card::after{
  content:"";position:absolute;left:0;top:0;height:3px;width:0;
  background:var(--mgs-vermelho);transition:width .28s ease;
}
.mgs-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 38px rgba(14,20,24,.1);
  border-color:#CDD6DB;
}
.mgs-card:hover::after{width:100%;}
.mgs-card{overflow:hidden;}
.mgs-card__titulo,.mgs-card__texto{position:relative;z-index:1;}
.mgs-card__titulo{
  font-family:var(--mgs-display);font-weight:700;text-transform:uppercase;
  font-size:1.5rem;letter-spacing:.02em;margin:0 0 14px;color:var(--mgs-tinta);
  padding-bottom:14px;position:relative;
}
/* filete curto sob o título: acabamento no lugar do ícone */
.mgs-card__titulo::after{
  content:"";position:absolute;left:0;bottom:0;
  width:34px;height:2px;background:var(--mgs-vermelho);
  transition:width .28s ease;
}
.mgs-card:hover .mgs-card__titulo::after{width:64px;}
.mgs-card__texto{font-size:.93rem;line-height:1.65;color:var(--mgs-fraco-claro);margin:0;}

/* ==================================================================
   Sobre — números
   ================================================================== */
.mgs-sobre{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.mgs-numeros{display:grid;grid-template-columns:1fr;gap:1px;background:var(--mgs-linha);}
.mgs-numero{
  background:var(--mgs-aco-900);padding:22px 26px;
  display:flex;align-items:baseline;gap:18px;
}
.mgs-numero__valor{
  font-family:var(--mgs-display);font-weight:800;font-size:2.1rem;line-height:1;
  color:#fff;flex:none;min-width:104px;
}
.mgs-numero__valor small{color:var(--mgs-vermelho-vivo);font-size:1.25rem;}
.mgs-numero__texto{min-width:0;}
.mgs-numero__rot{
  font-family:var(--mgs-dado);font-size:.66rem;letter-spacing:.14em;
  text-transform:uppercase;color:#fff;display:block;margin-bottom:3px;
}
.mgs-numero__desc{font-size:.88rem;line-height:1.5;color:var(--mgs-fraco);}

/* ==================================================================
   Serviços — lista técnica
   ================================================================== */
.mgs-servicos{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--mgs-linha-clara);border:1px solid var(--mgs-linha-clara);}
.mgs-servico{
  background:var(--mgs-branco);padding:30px 28px;
  transition:background .2s ease;
}
.mgs-servico:hover{background:var(--mgs-gelo);}
.mgs-servico__titulo{
  font-family:var(--mgs-display);font-weight:700;text-transform:uppercase;
  font-size:1.3rem;margin:0 0 10px;color:var(--mgs-tinta);
  padding-bottom:12px;position:relative;
}
.mgs-servico__titulo::after{
  content:"";position:absolute;left:0;bottom:0;
  width:28px;height:2px;background:var(--mgs-vermelho);
}
.mgs-servico__texto{font-size:.9rem;line-height:1.6;color:var(--mgs-fraco-claro);margin:0;}

/* ==================================================================
   Máquinas em destaque — ficha técnica
   ================================================================== */
.mgs-maquina{
  background:var(--mgs-aco-800);border:1px solid var(--mgs-linha);
  border-radius:4px;overflow:hidden;display:flex;flex-direction:column;
  transition:transform .22s ease,border-color .22s ease;
}
.mgs-maquina:hover{transform:translateY(-4px);border-color:var(--mgs-vermelho);}
.mgs-maquina__topo{
  padding:22px 26px;border-bottom:1px solid var(--mgs-linha);
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
}
.mgs-maquina__modelo{
  font-family:var(--mgs-dado);font-size:.7rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--mgs-fraco);display:block;margin-bottom:6px;
}
.mgs-maquina__nome{
  font-family:var(--mgs-display);font-weight:800;text-transform:uppercase;
  font-size:1.85rem;line-height:1;color:#fff;margin:0;
}
.mgs-maquina__tag{
  font-family:var(--mgs-dado);font-size:.56rem;font-weight:600;letter-spacing:.14em;
  text-transform:uppercase;background:var(--mgs-sinal);color:var(--mgs-aco-900);
  padding:4px 8px;border-radius:2px;white-space:nowrap;
}
.mgs-maquina__tipo{
  font-family:var(--mgs-dado);font-size:.72rem;letter-spacing:.06em;
  color:var(--mgs-vermelho-vivo);padding:16px 26px 0;
}
.mgs-maquina__specs{padding:12px 26px 20px;flex:1;}
.mgs-maquina__specs li{
  display:flex;gap:10px;align-items:baseline;
  font-size:.88rem;color:var(--mgs-aluminio);padding:6px 0;
  border-bottom:1px dotted var(--mgs-linha);
}
.mgs-maquina__specs li:last-child{border-bottom:0;}
.mgs-maquina__specs li::before{
  content:"—";color:var(--mgs-vermelho-vivo);flex:none;
}
.mgs-maquina__rodape{padding:0 26px 26px;}
.mgs-maquina__rodape .mgs-btn{width:100%;justify-content:center;}

/* ==================================================================
   Representação / marcas
   ================================================================== */
.mgs-marcas{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
.mgs-marca-card{
  border:1px solid var(--mgs-linha);border-radius:4px;padding:32px;
  background:linear-gradient(160deg,var(--mgs-aco-800),var(--mgs-aco-900));
}
.mgs-marca-card__nome{
  font-family:var(--mgs-display);font-weight:800;text-transform:uppercase;
  font-size:2.1rem;color:#fff;margin:0 0 6px;line-height:1;
}
.mgs-marca-card__papel{
  font-family:var(--mgs-dado);font-size:.68rem;letter-spacing:.16em;
  text-transform:uppercase;color:var(--mgs-sinal);margin-bottom:16px;display:block;
}
.mgs-marca-card p{color:var(--mgs-fraco);font-size:.94rem;margin:0;}

/* ==================================================================
   Contato
   ================================================================== */
.mgs-contato{display:grid;grid-template-columns:1fr 1fr;gap:56px;}
.mgs-form{display:grid;gap:16px;}
.mgs-form__linha{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.mgs-campo label{
  display:block;font-family:var(--mgs-dado);font-size:.66rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--mgs-fraco-claro);
  margin-bottom:7px;
}
.mgs-campo input,
.mgs-campo textarea{
  width:100%;font-family:var(--mgs-corpo);font-size:.95rem;
  padding:13px 15px;border:1px solid var(--mgs-linha-clara);
  border-radius:3px;background:var(--mgs-branco);color:var(--mgs-tinta);
  transition:border-color .18s ease,box-shadow .18s ease;
}
.mgs-campo textarea{min-height:132px;resize:vertical;}
.mgs-campo input:focus,
.mgs-campo textarea:focus{
  outline:none;border-color:var(--mgs-vermelho);
  box-shadow:0 0 0 3px rgba(200,16,46,.1);
}
.mgs-contato__dados li{
  display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--mgs-linha-clara);
}
.mgs-contato__dados li:first-child{padding-top:0;}
.mgs-contato__rot{
  font-family:var(--mgs-dado);font-size:.66rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--mgs-fraco-claro);
  min-width:104px;flex:none;padding-top:3px;
}
.mgs-contato__val{font-weight:500;color:var(--mgs-tinta);}
.mgs-contato__val a:hover{color:var(--mgs-vermelho);}
.mgs-contato__val small{
  display:block;font-weight:400;color:var(--mgs-fraco-claro);font-size:.85rem;
}

/* ==================================================================
   Chamada final
   ================================================================== */
.mgs-chamada{
  background:var(--mgs-vermelho);color:#fff;
  padding:56px 0;
}
.mgs-chamada__grade{display:flex;flex-wrap:wrap;gap:28px;align-items:center;justify-content:space-between;}
.mgs-chamada h2{
  font-family:var(--mgs-display);font-weight:800;text-transform:uppercase;
  font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1;margin:0 0 8px;color:#fff;
}
.mgs-chamada p{margin:0;color:rgba(255,255,255,.86);max-width:56ch;}
.mgs-chamada .mgs-btn{background:#fff;color:var(--mgs-vermelho);}
.mgs-chamada .mgs-btn:hover{background:var(--mgs-aco-900);color:#fff;}

/* ==================================================================
   Rodapé
   ================================================================== */
.mgs-rodape{
  background:var(--mgs-aco-900);color:var(--mgs-fraco);padding:0 0 0;
  position:relative;
}
/* faixa de contato rápido no topo do rodapé */
.mgs-rodape__faixa{
  border-bottom:1px solid var(--mgs-linha);
  padding:26px 0;
}
.mgs-rodape__faixa-grade{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1px;
  background:var(--mgs-linha);border:1px solid var(--mgs-linha);border-radius:4px;
  overflow:hidden;
}
.mgs-rodape__atalho{
  background:var(--mgs-aco-800);padding:22px 24px;
  display:flex;align-items:center;justify-content:center;gap:12px;
  transition:background .2s ease;
}
.mgs-rodape__atalho:hover{background:var(--mgs-aco-700);}
.mgs-rodape__atalho svg{width:20px;height:20px;flex:none;color:var(--mgs-vermelho-vivo);}
.mgs-rodape__atalho-val{
  color:#fff;font-weight:500;font-size:1rem;
  font-family:var(--mgs-dado);letter-spacing:.02em;
}
.mgs-rodape__corpo{padding:56px 0 0;}
.mgs-rodape__grade{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:44px;}
.mgs-rodape__marca img{height:44px;margin-bottom:20px;}
.mgs-rodape__marca .mgs-marca{margin-bottom:20px;}
.mgs-rodape__selo{
  display:inline-flex;align-items:center;gap:8px;margin-top:18px;
  font-family:var(--mgs-dado);font-size:.6rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--mgs-fraco-claro);
  border:1px solid var(--mgs-linha);border-radius:3px;padding:7px 11px;
}
.mgs-rodape__selo b{color:var(--mgs-sinal);font-weight:600;}
.mgs-rodape__titulo{
  font-family:var(--mgs-dado);font-size:.68rem;letter-spacing:.16em;
  text-transform:uppercase;color:#fff;margin:0 0 18px;
}
.mgs-rodape__lista li{margin-bottom:10px;font-size:.9rem;}
.mgs-rodape__lista a:hover{color:var(--mgs-vermelho-vivo);}
.mgs-rodape p{font-size:.92rem;line-height:1.7;}
.mgs-rodape__base{
  border-top:1px solid var(--mgs-linha);margin-top:56px;padding:22px 0;
  display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;
  font-family:var(--mgs-dado);font-size:.7rem;letter-spacing:.06em;
  color:var(--mgs-fraco-claro);
}
.mgs-rodape__base a:hover{color:var(--mgs-vermelho-vivo);}

/* ---------- whatsapp flutuante ---------- */
.mgs-zap{
  position:fixed;right:20px;bottom:20px;z-index:900;
  width:52px;height:52px;border-radius:50%;
  background:#25D366;color:#fff;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 22px rgba(0,0,0,.28);
  transition:transform .18s ease;
}
.mgs-zap:hover{transform:scale(1.08);}
.mgs-zap svg{width:26px;height:26px;}

/* ---------- animação de entrada ---------- */
@keyframes mgs-sobe{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:none;}}
.mgs-anim{animation:mgs-sobe .6s cubic-bezier(.22,.7,.3,1) both;}
.mgs-anim--2{animation-delay:.08s;}
.mgs-anim--3{animation-delay:.16s;}
.mgs-anim--4{animation-delay:.24s;}
.mgs-placa.mgs-anim{animation-delay:.2s;}

/* O conteúdo é visível por padrão. Só escondemos para animar quando há
   JavaScript (a classe .mgs-js é adicionada no <head>). Assim, se o JS
   falhar ou estiver bloqueado, a página continua legível. */
.mgs-js .mgs-revela{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease;}
.mgs-js .mgs-revela.mgs-visivel{opacity:1;transform:none;}

@media (prefers-reduced-motion:reduce){
  .mgs-anim{animation:none;}
  .mgs-js .mgs-revela{opacity:1;transform:none;transition:none;}
  .mgs-btn:hover,.mgs-card:hover,.mgs-maquina:hover,.mgs-zap:hover{transform:none;}
}

/* ==================================================================
   Responsivo
   ================================================================== */
@media (max-width:1000px){
  .mgs-grade-3,.mgs-servicos{grid-template-columns:repeat(2,1fr);}
  .mgs-rodape__faixa-grade{grid-template-columns:1fr;}
  .mgs-rodape__grade{grid-template-columns:1fr 1fr;gap:36px;}
}
@media (max-width:900px){
  .mgs-hero__grade,.mgs-sobre,.mgs-marcas,.mgs-contato,.mgs-grade-2{grid-template-columns:1fr;gap:44px;}
  .mgs-placa{transform:none;max-width:440px;}
  .mgs-nav__links{
    display:none;position:absolute;top:100%;left:0;right:0;
    flex-direction:column;gap:0;background:var(--mgs-aco-900);
    border-bottom:1px solid var(--mgs-linha);padding:8px 32px 18px;
  }
  .mgs-nav__links.aberto{display:flex;}
  .mgs-nav__links a{padding:13px 0;border-bottom:1px solid var(--mgs-linha);font-size:.78rem;}
  .mgs-nav__links a::after{display:none;}
  .mgs-nav__menu{display:block;}
  .mgs-hero{padding-top:118px;}
  .mgs-secao{padding:72px 0;}
}
@media (max-width:640px){
  .mgs-grade-3,.mgs-servicos{grid-template-columns:1fr;}
  .mgs-rodape__faixa-grade{grid-template-columns:1fr;}
  .mgs-container{padding:0 20px;}
  .mgs-nav{padding:12px 20px;}
  .mgs-nav__links{padding:8px 20px 18px;}
    .mgs-form__linha{grid-template-columns:1fr;}
  .mgs-rodape__grade{grid-template-columns:1fr;}
  .mgs-hero__acoes .mgs-btn{flex:1;justify-content:center;}
  .mgs-contato__dados li{flex-direction:column;gap:5px;}
}


/* ==================================================================
   Carrossel de clientes — trilha contínua
   ================================================================== */
.mgs-marquee{
  position:relative;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
}
.mgs-marquee__trilha{
  display:flex;align-items:center;gap:64px;width:max-content;
  animation:mgs-desliza 58s linear infinite;
}
.mgs-marquee:hover .mgs-marquee__trilha{animation-play-state:paused;}
@keyframes mgs-desliza{from{transform:translateX(0);}to{transform:translateX(-50%);}}

.mgs-cliente{
  display:flex;align-items:center;justify-content:center;
  height:72px;flex:none;opacity:.62;
  transition:opacity .25s ease,filter .25s ease;
}
.mgs-cliente:hover{opacity:1;}
/* quando houver imagem de logo */
.mgs-cliente img{
  max-height:52px;width:auto;
  filter:grayscale(1) brightness(1.7);
  transition:filter .25s ease;
}
.mgs-cliente:hover img{filter:grayscale(0) brightness(1);}
/* enquanto não há logo: placa com o nome */
.mgs-cliente{height:auto;}
.mgs-cliente__nome{
  font-family:var(--mgs-display);font-weight:700;font-size:1.34rem;
  letter-spacing:.05em;text-transform:uppercase;color:var(--mgs-tinta);
  white-space:nowrap;line-height:1;
}
.mgs-cliente{
  padding:20px 34px;border:1px solid var(--mgs-linha-clara);
  border-radius:3px;background:var(--mgs-branco);
}

.mgs-secao--gelo .mgs-cliente img{filter:grayscale(1);}

@media (prefers-reduced-motion:reduce){
  .mgs-marquee__trilha{animation:none;flex-wrap:wrap;width:auto;justify-content:center;gap:28px;}
}
@media (max-width:640px){
  .mgs-marquee__trilha{gap:36px;animation-duration:40s;}
  .mgs-cliente{height:60px;}
  .mgs-cliente__nome{font-size:1.05rem;padding:10px 16px;}
}


/* ==================================================================
   Mensagens do Django (framework messages)
   ================================================================== */
.mgs-avisos{
  position:fixed;top:74px;left:50%;transform:translateX(-50%);
  z-index:1200;width:calc(100% - 40px);max-width:620px;
  display:flex;flex-direction:column;gap:10px;
}
.mgs-aviso{
  display:flex;align-items:flex-start;gap:12px;
  background:var(--mgs-aco-800);color:#fff;
  border:1px solid var(--mgs-linha);border-left:3px solid var(--mgs-aluminio);
  border-radius:3px;padding:14px 16px;font-size:.94rem;
  box-shadow:0 14px 34px rgba(0,0,0,.32);
}
.mgs-aviso--success{border-left-color:#2E9E5B;}
.mgs-aviso--error,.mgs-aviso--danger{border-left-color:var(--mgs-vermelho-vivo);}
.mgs-aviso--warning{border-left-color:var(--mgs-sinal);}
.mgs-aviso__fechar{
  margin-left:auto;background:none;border:0;cursor:pointer;
  color:var(--mgs-fraco);font-size:1.1rem;line-height:1;padding:0 2px;
}
.mgs-aviso__fechar:hover{color:#fff;}
@media (max-width:640px){.mgs-avisos{top:66px;}}
