/* ===================================================
   MOLDAMETAL.PT — style.css v3.0
   Xquads · Jhonatan Cieslak
   
   TOKENS
   --black       #000
   --anthracite  #111 / #1a1a1a
   --steel       #4a4a4a
   --steel-light #8a8a8a
   --brushed     #c8c8c8
   --white       #f0efef
   --spark       #FF6B1A  (único acento)
=================================================== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --black:       #000;
  --anth:        #111;
  --anth2:       #1a1a1a;
  --steel:       #4a4a4a;
  --steel-m:     #2e2e2e;
  --steel-l:     #8a8a8a;
  --brushed:     #c8c8c8;
  --white:       #f0efef;
  --spark:       #FF6B1A;
  --spark-d:     rgba(255,107,26,.12);
  --spark-g:     rgba(255,107,26,.4);
  --wa:          #25D366;

  --ff-disp: 'Barlow Condensed','Arial Narrow',sans-serif;
  --ff-body: 'DM Sans','Helvetica Neue',sans-serif;

  --fs-hero:   clamp(4rem,9vw,9.5rem);
  --fs-h2:     clamp(2.2rem,4.5vw,4.2rem);
  --fs-h3:     clamp(1.3rem,1.8vw,1.7rem);
  --fs-body:   clamp(.88rem,1.1vw,1rem);
  --fs-sm:     .78rem;
  --fs-ey:     .68rem;

  --nav-h:  70px;
  --max-w:  1200px;
  --ease:   cubic-bezier(.25,.46,.45,.94);
  --tr:     .3s var(--ease);
  --tr-s:   .15s var(--ease);
}

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body {
  background: var(--black);
  color: var(--brushed);
  font-family: var(--ff-body);
  font-size: var(--fs-body);
  font-weight: 300;
  line-height: 1.65;
  overflow-x: hidden;
  cursor: none;
}

@media (hover:none) { body { cursor:auto; } .cursor,.cursor-follower { display:none; } }
img, video { max-width:100%; display:block; }
a { color:inherit; text-decoration:none; }
ul { list-style:none; }
button { cursor:none; background:none; border:none; font:inherit; color:inherit; }

/* ── CURSOR ── */
.cursor { width:8px; height:8px; background:var(--spark); border-radius:50%; position:fixed; top:0; left:0; pointer-events:none; z-index:9999; transform:translate(-50%,-50%); }
.cursor-follower { width:32px; height:32px; border:1px solid rgba(255,107,26,.45); border-radius:50%; position:fixed; top:0; left:0; pointer-events:none; z-index:9998; transform:translate(-50%,-50%); transition:width .3s,height .3s,border-color .3s; }
body:has(a:hover) .cursor-follower, body:has(button:hover) .cursor-follower { width:48px; height:48px; border-color:var(--spark); }

/* ── UTILITIES ── */
.container { width:100%; max-width:var(--max-w); margin:0 auto; padding:0 28px; }
[data-animate] { opacity:0; transform:translateY(28px); transition:opacity .7s var(--ease),transform .7s var(--ease); }
[data-animate].is-visible { opacity:1; transform:translateY(0); }
.glass { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); backdrop-filter:blur(20px) saturate(1.2); -webkit-backdrop-filter:blur(20px) saturate(1.2); }

/* ── EYEBROW ── */
.eyebrow { display:flex; align-items:center; gap:10px; font-size:var(--fs-ey); letter-spacing:.22em; text-transform:uppercase; color:var(--spark); margin-bottom:20px; }
.eyebrow-num { opacity:.5; }

/* ── BUTTONS ── */
.btn { display:inline-flex; align-items:center; gap:8px; padding:13px 26px; font-family:var(--ff-body); font-size:var(--fs-sm); font-weight:500; letter-spacing:.1em; text-transform:uppercase; border-radius:3px; transition:all var(--tr); white-space:nowrap; cursor:none; }
.btn-spark { background:var(--spark); color:var(--black); border:1px solid var(--spark); }
.btn-spark:hover { background:transparent; color:var(--spark); box-shadow:0 0 28px var(--spark-g); }
.btn-wa { background:transparent; color:var(--wa); border:1px solid rgba(37,211,102,.35); }
.btn-wa:hover { border-color:var(--wa); background:rgba(37,211,102,.08); }
.btn-dark { background:var(--black); color:var(--white); border:1px solid var(--black); }
.btn-dark:hover { background:var(--anth2); }
.btn-outline-white { background:transparent; color:rgba(0,0,0,.7); border:1px solid rgba(0,0,0,.3); }
.btn-outline-white:hover { background:rgba(0,0,0,.1); border-color:rgba(0,0,0,.6); }
.btn-full { width:100%; justify-content:center; }

/* ════════════════════════
   NAV
════════════════════════ */
.nav { position:fixed; top:0; left:0; right:0; height:var(--nav-h); display:flex; align-items:center; justify-content:space-between; padding:0 32px; z-index:1000; transition:background .4s var(--ease),backdrop-filter .4s; }
.nav.scrolled { background:rgba(0,0,0,.9); backdrop-filter:blur(20px) saturate(1.5); -webkit-backdrop-filter:blur(20px) saturate(1.5); border-bottom:1px solid rgba(255,255,255,.05); }

.nav-logo { display:flex; align-items:center; transition:opacity var(--tr-s); }
.nav-logo:hover { opacity:.8; }
/* A logo SVG na nav ocupa apenas a área do ícone + wordmark no view box */
/* viewBox cobre 0 0 4233 4233 mas o conteúdo útil está entre y≈700 e y≈2270 */
.nav-logo-svg {
  /* Mostra apenas a faixa vertical que contém ícone + wordmark */
  width: auto;
  height: 40px;
  /* Clip para a área útil: ícone de ~y700–y3533 (altura ~2833), texto ~y1960–y2270 */
  /* Usamos um viewBox mais apertado via CSS transform + overflow hidden */
}

.nav-links { display:flex; align-items:center; gap:24px; }
.nav-link { font-size:var(--fs-sm); letter-spacing:.1em; text-transform:uppercase; color:var(--steel-l); transition:color var(--tr-s); position:relative; }
.nav-link::after { content:''; position:absolute; bottom:-2px; left:0; width:0; height:1px; background:var(--spark); transition:width var(--tr); }
.nav-link:hover { color:var(--white); }
.nav-link:hover::after { width:100%; }
.nav-link.nav-cta { border:1px solid var(--spark); color:var(--spark); padding:7px 18px; border-radius:3px; }
.nav-link.nav-cta::after { display:none; }
.nav-link.nav-cta:hover { background:var(--spark); color:var(--black); }

.nav-hamburger { display:none; flex-direction:column; gap:5px; width:28px; padding:4px; }
.nav-hamburger span { display:block; height:1.5px; background:var(--white); transition:transform .3s,opacity .3s; }
.nav-hamburger[aria-expanded="true"] span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
.nav-hamburger[aria-expanded="true"] span:nth-child(2) { opacity:0; }
.nav-hamburger[aria-expanded="true"] span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }

/* ════════════════════════
   HERO
════════════════════════ */
.hero { position:relative; height:100vh; min-height:640px; display:flex; align-items:center; justify-content:center; overflow:hidden; }

.hero-video-wrap { position:absolute; inset:0; z-index:0; }
.hero-video { width:100%; height:100%; object-fit:cover; filter:brightness(.55) grayscale(20%); }
.hero-overlay {
  position:absolute; inset:0;
  background: linear-gradient(to bottom,
    rgba(0,0,0,.5) 0%,
    rgba(0,0,0,.1) 35%,
    rgba(0,0,0,.15) 65%,
    rgba(0,0,0,.95) 100%
  );
}

/* Grade metálica decorativa */
.hero-grid {
  position:absolute; inset:0; z-index:1;
  background-image:
    linear-gradient(rgba(255,107,26,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,107,26,.04) 1px, transparent 1px);
  background-size: 60px 60px;
  mask-image: radial-gradient(ellipse 80% 60% at 50% 50%, black 30%, transparent 100%);
  -webkit-mask-image: radial-gradient(ellipse 80% 60% at 50% 50%, black 30%, transparent 100%);
}

.hero-particles { position:absolute; inset:0; z-index:2; pointer-events:none; }

.hero-content { position:relative; z-index:3; text-align:center; max-width:960px; padding:0 24px; }

.hero-badge {
  display:inline-flex; align-items:center; gap:10px;
  font-size:var(--fs-ey); letter-spacing:.2em; text-transform:uppercase; color:var(--spark);
  margin-bottom:28px;
  opacity:0; transform:translateY(14px);
  animation:fadeUp .8s var(--ease) .15s forwards;
}
.hero-badge-dot { width:6px; height:6px; border-radius:50%; background:var(--spark); animation:pulse 2s ease infinite; }
@keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(1.4)} }

.hero-title { font-family:var(--ff-disp); font-size:var(--fs-hero); font-weight:900; line-height:1.0; letter-spacing:-.02em; color:var(--white); text-transform:uppercase; margin-bottom:28px; }
.hero-title-line { display:block; opacity:0; transform:translateY(28px) skewY(1.5deg); animation:heroIn .9s var(--ease) forwards; }
.hero-title-line:nth-child(1) { animation-delay:.25s; }
.hero-title-line:nth-child(2) { animation-delay:.4s; }
.hero-title-line:nth-child(3) { animation-delay:.55s; }
.hero-title-line:nth-child(4) { animation-delay:.7s; }
.hero-line-accent { color:var(--spark); font-style:italic; text-shadow:0 0 80px rgba(255,107,26,.35); }
.hero-line-thin { font-weight:300; color:var(--brushed); }

.hero-sub { font-size:clamp(.9rem,1.4vw,1.1rem); font-weight:300; color:var(--steel-l); margin-bottom:40px; line-height:1.8; opacity:0; animation:fadeUp .8s var(--ease) .95s forwards; }
.hero-ctas { display:flex; gap:16px; justify-content:center; flex-wrap:wrap; opacity:0; animation:fadeUp .8s var(--ease) 1.15s forwards; }

/* Faixa de serviços na base do hero */
.hero-services-strip {
  display:flex; align-items:center; justify-content:center; gap:20px; flex-wrap:wrap;
  margin-top:56px; padding-top:32px; border-top:1px solid rgba(255,255,255,.08);
  opacity:0; animation:fadeUp .8s var(--ease) 1.4s forwards;
}
.strip-item { display:flex; flex-direction:column; align-items:center; gap:4px; }
.strip-item span { font-size:.6rem; color:var(--spark); letter-spacing:.15em; }
.strip-item { font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--steel-l); }
.strip-sep { color:var(--steel); font-size:.8rem; }

.hero-scroll { position:absolute; bottom:24px; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:8px; z-index:4; opacity:0; animation:fadeIn 1s ease 1.8s forwards; text-decoration:none; }
.hero-scroll span { font-size:var(--fs-ey); letter-spacing:.2em; text-transform:uppercase; color:var(--steel); }
.hero-scroll-line { width:1px; height:44px; background:linear-gradient(to bottom,var(--spark),transparent); animation:scrollAnim 2s ease infinite; }

/* ════════════════════════
   STATS
════════════════════════ */
.stats { padding:52px 0; border-top:1px solid rgba(255,255,255,.05); border-bottom:1px solid rgba(255,255,255,.05); background:var(--anth); }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); text-align:center; }
.stat { padding:24px 16px; border-right:1px solid rgba(255,255,255,.05); }
.stat:last-child { border-right:none; }
.stat-n { display:inline; font-family:var(--ff-disp); font-size:clamp(2.4rem,5vw,4.5rem); font-weight:700; color:var(--white); letter-spacing:-.02em; }
.stat sup { font-family:var(--ff-disp); font-size:clamp(1rem,2vw,1.8rem); font-weight:300; color:var(--spark); vertical-align:super; margin-left:2px; }
.stat p { margin-top:6px; font-size:var(--fs-sm); color:var(--steel-l); letter-spacing:.05em; }

/* ════════════════════════
   SERVICE SECTIONS — Laser & Quinagem
   Cada secção: fundo de imagem + texto + diagrama
════════════════════════ */
.service-section { position:relative; padding:120px 0; overflow:hidden; }
.service-section-alt { background:var(--anth); }

/* Imagem de fundo com overlay — decorativa */
.ss-bg { position:absolute; inset:0; z-index:0; }
.ss-bg img { width:100%; height:100%; object-fit:cover; opacity:.06; filter:grayscale(60%); }
.ss-bg-overlay { position:absolute; inset:0; }
/* Laser: gradiente da direita (onde está o diagrama) para o texto */
.ss-bg-laser .ss-bg-overlay { background:linear-gradient(to right, rgba(0,0,0,.98) 45%, rgba(0,0,0,.7) 100%); }
/* Quinagem: gradiente da esquerda */
.ss-bg-bend .ss-bg-overlay { background:linear-gradient(to left, rgba(17,17,17,.98) 45%, rgba(17,17,17,.7) 100%); }

.ss-inner { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:72px; align-items:center; }
.ss-inner-rev .ss-text { order:2; }
.ss-inner-rev .ss-visual { order:1; }

.ss-title { font-family:var(--ff-disp); font-size:var(--fs-h2); font-weight:700; line-height:1.1; letter-spacing:-.01em; color:var(--white); text-transform:uppercase; margin-bottom:24px; }
.ss-title em { font-style:italic; color:var(--spark); font-weight:300; }

.ss-body { font-size:.92rem; color:var(--brushed); line-height:1.8; margin-bottom:16px; }
.ss-body strong { color:var(--white); font-weight:500; }

/* Tabela de especificações */
.ss-specs { margin:28px 0 32px; border-top:1px solid rgba(255,255,255,.07); }
.ss-specs li { display:grid; grid-template-columns:130px 1fr; gap:16px; padding:10px 0; border-bottom:1px solid rgba(255,255,255,.05); font-size:.82rem; }
.spec-k { color:var(--spark); font-weight:500; letter-spacing:.04em; flex-shrink:0; }
.spec-v { color:var(--brushed); }

/* ── DIAGRAMA LASER ── */
.laser-diagram { background:var(--anth2); border:1px solid rgba(255,255,255,.07); border-radius:12px; overflow:hidden; }
.laser-svg { width:100%; display:block; padding:24px; }

/* Animação da faísca no ponto de corte */
.sparks { animation:sparkFlicker 1.2s ease infinite; }
@keyframes sparkFlicker { 0%,100%{opacity:.8;transform:scale(1)} 50%{opacity:.4;transform:scale(.85)} }

.diagram-caps { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(255,255,255,.06); }
.cap { padding:14px 16px; border-right:1px solid rgba(255,255,255,.06); text-align:center; }
.cap:last-child { border-right:none; }
.cap strong { display:block; font-size:.72rem; color:var(--white); letter-spacing:.06em; text-transform:uppercase; margin-bottom:4px; }
.cap span { font-size:.78rem; color:var(--spark); font-family:var(--ff-disp); font-weight:700; }

/* ── DIAGRAMA QUINAGEM ── */
.bend-diagram { background:var(--black); border:1px solid rgba(255,255,255,.07); border-radius:12px; overflow:hidden; }
.bend-svg { width:100%; display:block; padding:24px; }

/* ════════════════════════
   OUTROS SERVIÇOS
════════════════════════ */
.outros { padding:100px 0; background:var(--black); }

.section-header { margin-bottom:56px; }
.outros-title { font-family:var(--ff-disp); font-size:clamp(1.8rem,3.5vw,3.2rem); font-weight:700; color:var(--white); text-transform:uppercase; line-height:1.15; }
.outros-title em { font-style:italic; color:var(--brushed); font-weight:300; }

.outros-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--steel-m); border:1px solid var(--steel-m); border-radius:8px; overflow:hidden; }

.outro-card { position:relative; background:var(--anth); padding:40px; overflow:hidden; transition:background var(--tr); }
.outro-card:hover { background:var(--anth2); }
.outro-card::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:var(--spark); transform:scaleX(0); transform-origin:left; transition:transform var(--tr); }
.outro-card:hover::before { transform:scaleX(1); }

.outro-card-header { display:flex; align-items:flex-end; gap:16px; margin-bottom:24px; }
.outro-num { font-family:var(--ff-disp); font-size:3rem; font-weight:900; color:var(--spark); opacity:.2; line-height:1; }
.outro-card-header h3 { font-family:var(--ff-disp); font-size:var(--fs-h3); font-weight:700; color:var(--white); text-transform:uppercase; letter-spacing:.05em; }

.outro-card-body p { font-size:.88rem; color:var(--steel-l); line-height:1.7; margin-bottom:20px; }
.outro-card-body ul { margin-bottom:24px; }
.outro-card-body li { font-size:.82rem; color:var(--brushed); padding:5px 0 5px 18px; position:relative; }
.outro-card-body li::before { content:'—'; position:absolute; left:0; color:var(--spark); font-size:.65em; top:8px; }

.outro-link { font-size:var(--fs-sm); font-weight:500; color:var(--spark); letter-spacing:.06em; transition:letter-spacing var(--tr); }
.outro-link:hover { letter-spacing:.14em; }

/* Ícone decorativo no canto */
.outro-card-deco { position:absolute; bottom:28px; right:28px; width:80px; opacity:.6; pointer-events:none; }
.outro-card-deco svg { width:100%; height:auto; }

/* ════════════════════════
   ENGINEERING SECTION
════════════════════════ */
.engineering { position:relative; padding:120px 0; background:var(--anth); overflow:hidden; }

/* Fundo decorativo: textura de grelha */
.eng-bg {
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,107,26,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,107,26,.03) 1px, transparent 1px);
  background-size:80px 80px;
  opacity:.8;
}

.eng-inner { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }

.eng-title { font-family:var(--ff-disp); font-size:var(--fs-h2); font-weight:700; color:var(--white); text-transform:uppercase; line-height:1.1; margin-bottom:24px; }
.eng-title em { font-style:italic; color:var(--spark); font-weight:300; }

.eng-body { font-size:.92rem; color:var(--brushed); line-height:1.8; margin-bottom:16px; }

.eng-pillars { margin-top:40px; display:flex; flex-direction:column; gap:0; border:1px solid rgba(255,255,255,.06); border-radius:8px; overflow:hidden; }
.eng-pillar { display:flex; align-items:flex-start; gap:20px; padding:24px; border-bottom:1px solid rgba(255,255,255,.05); transition:background var(--tr); }
.eng-pillar:last-child { border-bottom:none; }
.eng-pillar:hover { background:rgba(255,107,26,.04); }
.eng-pillar-num { font-family:var(--ff-disp); font-size:1rem; font-weight:700; color:var(--spark); opacity:.5; flex-shrink:0; width:24px; margin-top:2px; }
.eng-pillar strong { display:block; color:var(--white); font-size:.9rem; font-weight:500; margin-bottom:6px; }
.eng-pillar p { font-size:.82rem; color:var(--steel-l); line-height:1.65; }

/* ── Fluxo "Como funciona" ── */
.eng-flow { background:var(--black); border:1px solid rgba(255,255,255,.07); border-radius:12px; padding:36px; position:sticky; top:100px; }
.eng-flow-title { font-size:var(--fs-ey); letter-spacing:.2em; text-transform:uppercase; color:var(--spark); margin-bottom:28px; }
.eng-flow-steps { display:flex; flex-direction:column; }

.ef-step { display:flex; align-items:flex-start; gap:16px; padding:16px 0; }
.ef-step-hl { background:var(--spark-d); border-radius:8px; padding:16px; margin:0 -16px; }

.ef-icon { width:40px; height:40px; border-radius:8px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); display:flex; align-items:center; justify-content:center; flex-shrink:0; color:var(--brushed); }
.ef-icon-hl { background:var(--spark-d); border-color:rgba(255,107,26,.3); color:var(--spark); }

.ef-text strong { display:block; color:var(--white); font-size:.9rem; font-weight:500; margin-bottom:3px; }
.ef-text span { font-size:.78rem; color:var(--steel-l); }

.ef-arrow { font-size:1.2rem; color:var(--steel); padding:4px 0 4px 18px; opacity:.5; }

/* ════════════════════════
   GALLERY / CARROSSEL
════════════════════════ */
.gallery { padding:100px 0; background:var(--black); }
.gallery-title { font-family:var(--ff-disp); font-size:var(--fs-h2); font-weight:700; color:var(--white); text-transform:uppercase; line-height:1.1; }
.gallery-title em { font-style:italic; color:var(--brushed); font-weight:300; }

.carousel-outer { position:relative; margin-top:24px; overflow:hidden; }
.carousel { display:flex; transition:transform .5s var(--ease); will-change:transform; }
.carousel-item { min-width:calc(33.333%); flex-shrink:0; overflow:hidden; }
.ci-img { aspect-ratio:4/3; overflow:hidden; background:var(--anth2); }
.ci-img img { width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease),filter .4s; filter:brightness(.82) grayscale(15%); }
.carousel-item:hover .ci-img img { transform:scale(1.05); filter:brightness(1) grayscale(0%); }
.ci-info { padding:18px 22px; background:var(--anth); border-top:1px solid rgba(255,255,255,.05); }
.ci-tag { display:inline-block; font-size:.62rem; letter-spacing:.15em; text-transform:uppercase; color:var(--spark); border:1px solid rgba(255,107,26,.25); padding:3px 8px; border-radius:2px; margin-bottom:8px; }
.ci-info p { font-size:.8rem; color:var(--steel-l); line-height:1.5; }

.car-btn { position:absolute; top:calc(50% - 30px); transform:translateY(-50%); width:46px; height:46px; border-radius:50%; background:rgba(0,0,0,.75); border:1px solid rgba(255,255,255,.12); display:flex; align-items:center; justify-content:center; color:var(--white); cursor:none; transition:background var(--tr),border-color var(--tr),transform var(--tr); z-index:10; backdrop-filter:blur(8px); }
.car-btn:hover { background:var(--spark); border-color:var(--spark); transform:translateY(-50%) scale(1.1); }
.car-prev { left:18px; }
.car-next { right:18px; }

.car-dots { display:flex; justify-content:center; gap:8px; margin-top:24px; padding:0 24px; }
.car-dot { width:6px; height:6px; border-radius:50%; background:var(--steel); border:none; cursor:none; transition:background var(--tr),transform var(--tr); }
.car-dot.active { background:var(--spark); transform:scale(1.5); }

/* ════════════════════════
   CTA BAND
════════════════════════ */
.cta-band { background:var(--spark); padding:72px 0; }
.cta-inner { display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap; }
.cta-title { font-family:var(--ff-disp); font-size:clamp(1.8rem,3.5vw,3rem); font-weight:900; color:var(--black); text-transform:uppercase; line-height:1.1; margin-bottom:8px; }
.cta-sub { font-size:.9rem; color:rgba(0,0,0,.6); }
.cta-actions { display:flex; gap:12px; flex-wrap:wrap; }

/* ════════════════════════
   CONTACTO
════════════════════════ */
.contact { padding:120px 0; background:var(--anth); }
.contact-title { font-family:var(--ff-disp); font-size:var(--fs-h2); font-weight:700; color:var(--white); text-transform:uppercase; line-height:1.1; }
.contact-title em { font-style:italic; color:var(--spark); font-weight:300; }

.contact-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:56px; margin-top:52px; align-items:start; }

.contact-form { border-radius:12px; padding:40px; }
.fg { margin-bottom:18px; }
.fg label { display:block; font-size:var(--fs-ey); letter-spacing:.14em; text-transform:uppercase; color:var(--steel-l); margin-bottom:8px; }
.fg input,.fg select,.fg textarea { width:100%; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1); border-radius:4px; padding:13px 15px; color:var(--white); font-family:var(--ff-body); font-size:.88rem; outline:none; transition:border-color var(--tr-s),box-shadow var(--tr-s); -webkit-appearance:none; }
.fg input:focus,.fg select:focus,.fg textarea:focus { border-color:var(--spark); box-shadow:0 0 0 3px var(--spark-d); }
.fg select { cursor:none; color:var(--steel-l); }
.fg select option { background:var(--anth2); color:var(--white); }
.fg textarea { resize:vertical; min-height:110px; }
.fg input::placeholder,.fg textarea::placeholder { color:var(--steel); }
.form-note { font-size:var(--fs-ey); color:var(--steel); text-align:center; margin-top:12px; letter-spacing:.05em; }

.contact-side { display:flex; flex-direction:column; gap:16px; }
.cs-flag { display:flex; align-items:center; gap:16px; border-radius:10px; padding:20px; }
.cs-flag strong { display:block; color:var(--white); font-weight:500; margin-bottom:3px; }
.cs-flag p { font-size:.8rem; color:var(--steel-l); }
.cs-item { display:flex; gap:14px; align-items:flex-start; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.05); }
.cs-item:last-of-type { border-bottom:none; }
.cs-icon { width:34px; height:34px; border-radius:6px; background:var(--spark-d); border:1px solid rgba(255,107,26,.2); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.cs-item strong { display:block; color:var(--white); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; margin-bottom:4px; }
.cs-item p,.cs-item a { color:var(--steel-l); font-size:.86rem; transition:color var(--tr-s); }
.cs-item a:hover { color:var(--spark); }

.wa-big { display:flex; align-items:center; gap:16px; border-radius:10px; padding:20px; color:var(--wa); cursor:none; transition:all var(--tr); margin-top:8px; }
.wa-big:hover { background:rgba(37,211,102,.08) !important; transform:translateY(-2px); }
.wa-big-label { display:block; font-weight:500; font-size:.95rem; }
.wa-big-sub { display:block; font-size:.72rem; color:var(--steel-l); margin-top:2px; }

/* ════════════════════════
   FOOTER
════════════════════════ */
.footer { background:var(--black); border-top:1px solid rgba(255,255,255,.05); padding:64px 0 32px; }
.footer-top { display:grid; grid-template-columns:1fr auto; gap:48px; align-items:start; margin-bottom:40px; }
.footer-brand { display:flex; gap:20px; align-items:flex-start; }
.footer-logo { width:40px; height:40px; flex-shrink:0; fill-rule:evenodd; }
.footer-name { font-family:var(--ff-disp); font-size:1.5rem; font-weight:700; color:var(--white); margin-bottom:6px; }
.footer-tagline { font-size:.8rem; color:var(--steel-l); font-style:italic; margin-bottom:6px; }
.footer-regions { font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:var(--steel); }

.footer-nav { display:flex; gap:48px; }
.fnc { display:flex; flex-direction:column; gap:10px; }
.fnc strong { font-size:.68rem; letter-spacing:.15em; text-transform:uppercase; color:var(--white); margin-bottom:4px; }
.fnc a { font-size:.8rem; color:var(--steel-l); transition:color var(--tr-s); }
.fnc a:hover { color:var(--spark); }

.footer-bottom { display:flex; align-items:center; justify-content:space-between; padding-top:24px; border-top:1px solid rgba(255,255,255,.05); flex-wrap:wrap; gap:8px; font-size:var(--fs-ey); color:var(--steel); letter-spacing:.04em; }
.footer-dev { color:var(--spark); transition:opacity var(--tr-s); }
.footer-dev:hover { opacity:.8; }

/* ════════════════════════
   WA FLUTUANTE
════════════════════════ */
.wa-float { position:fixed; bottom:28px; right:28px; width:60px; height:60px; border-radius:50%; background:var(--wa); display:flex; align-items:center; justify-content:center; z-index:999; cursor:none; box-shadow:0 4px 20px rgba(37,211,102,.4); transition:transform var(--tr),opacity .4s,box-shadow var(--tr); opacity:0; pointer-events:none; transform:translateY(10px); }
.wa-float.visible { opacity:1; pointer-events:auto; transform:translateY(0); }
.wa-float:hover { transform:translateY(-3px) scale(1.06); box-shadow:0 8px 28px rgba(37,211,102,.5); }
.wa-pulse { position:absolute; inset:-4px; border-radius:50%; border:2px solid var(--wa); opacity:0; animation:waPulse 2s ease infinite; }
@keyframes waPulse { 0%{transform:scale(1);opacity:.5} 100%{transform:scale(1.55);opacity:0} }

/* ════════════════════════
   KEYFRAMES
════════════════════════ */
@keyframes fadeUp { from{opacity:0;transform:translateY(16px)} to{opacity:1;transform:translateY(0)} }
@keyframes heroIn { from{opacity:0;transform:translateY(28px) skewY(1.5deg)} to{opacity:1;transform:translateY(0) skewY(0)} }
@keyframes fadeIn { from{opacity:0} to{opacity:1} }
@keyframes scrollAnim { 0%,100%{opacity:.4;transform:scaleY(1)} 50%{opacity:1;transform:scaleY(1.3)} }

/* ════════════════════════
   RESPONSIVE
════════════════════════ */
@media (max-width:1100px) {
  .ss-inner { grid-template-columns:1fr; gap:48px; }
  .ss-inner-rev .ss-text { order:1; }
  .ss-inner-rev .ss-visual { order:2; }
  .ss-bg img { display:none; }
  .eng-inner { grid-template-columns:1fr; }
  .eng-flow { position:static; }
  .carousel-item { min-width:50%; }
}

@media (max-width:900px) {
  .stats-grid { grid-template-columns:repeat(2,1fr); }
  .contact-grid { grid-template-columns:1fr; }
  .outros-grid { grid-template-columns:1fr; }
  .footer-top { grid-template-columns:1fr; }
  .footer-nav { gap:32px; }
  .cta-inner { flex-direction:column; align-items:flex-start; }
}

@media (max-width:768px) {
  :root { --fs-hero:clamp(3rem,11vw,6rem); }

  .nav-links { position:fixed; top:var(--nav-h); left:0; right:0; background:rgba(0,0,0,.97); flex-direction:column; padding:36px 24px; gap:20px; transform:translateY(-110%); transition:transform .4s var(--ease); border-bottom:1px solid rgba(255,255,255,.06); backdrop-filter:blur(20px); }
  .nav-links.is-open { transform:translateY(0); }
  .nav-hamburger { display:flex; }

  .hero-ctas { flex-direction:column; align-items:center; }
  .hero-services-strip { gap:12px; }
  .strip-sep { display:none; }
  .carousel-item { min-width:85%; }
  .cursor,.cursor-follower { display:none; }
  .diagram-caps { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:480px) {
  .stats-grid { grid-template-columns:1fr; }
  .stat { border-right:none; border-bottom:1px solid rgba(255,255,255,.05); }
  .carousel-item { min-width:92%; }
  .footer-nav { flex-direction:column; gap:20px; }
}
