
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; }

/* ═══ BRAND TOKENS — extraídos da identidade oficial Nacional EPI ═══ */
:root {
  /* Amarelo do capacete — cor primária da marca */
  --amber:    #F2A702;
  --amber-d:  #C4850A;
  --amber-l:  #FFBE3D;
  --amber-g:  rgba(242,167,2,.08);
  /* Azul institucional — cor secundária da marca */
  --blue:     #0D588C;
  --blue-l:   #1272B4;
  --blue-d:   #08324E;
  --blue-g:   rgba(13,88,140,.10);
  /* Neutros */
  --ink:      #0B1A26;
  --ink-2:    #12202D;
  --ink-3:    #1B2C3A;
  --fog:      #FCFBFB;
  --mist:     #ECE9E3;
  --slate:    #7C8B9C;
  --white:    #FFFFFF;
  /* Tipografia */
  --ff-head:  'Archivo', 'Helvetica Neue', Arial, sans-serif;
  --ff-body:  'DM Sans', 'Helvetica Neue', Arial, sans-serif;
  --ease-out: cubic-bezier(0.16,1,0.3,1);
  --wrap:     1180px;
}

body {
  font-family: var(--ff-body); background: var(--ink); color: var(--white);
  overflow-x: hidden; line-height: 1.6; -webkit-font-smoothing: antialiased;
}
a { text-decoration: none; color: inherit; }
img { max-width: 100%; height: auto; display: block; }

::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: var(--ink); }
::-webkit-scrollbar-thumb { background: var(--amber); border-radius: 2px; }
::selection { background: var(--amber); color: var(--ink); }

body::before {
  content:''; position:fixed; inset:0; z-index:0; pointer-events:none; opacity:.028;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
}

/* ═══ DEVICE DA MARCA — capacete em outline (assinatura visual) ═══ */
.helmet {
  position:absolute; pointer-events:none; color:var(--amber);
  display:block; z-index:0;
}
.helmet svg { width:100%; height:100%; display:block; }

/* ═══ SISTEMA DE FOTO — trata todas as imagens como uma família ═══ */
.ph { position:relative; overflow:hidden; background:var(--ink-2); isolation:isolate; }
.ph > img {
  width:100%; height:100%; object-fit:cover; display:block;
  filter:saturate(.94) contrast(1.03);
  transition:transform .8s var(--ease-out), filter .5s;
}
/* Lavagem de marca: escurece a base e injeta o azul institucional nas sombras */
.ph::after {
  content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(180deg, rgba(11,26,38,0) 42%, rgba(11,26,38,.55) 78%, rgba(11,26,38,.9) 100%),
    linear-gradient(0deg, rgba(13,88,140,.14), rgba(13,88,140,.14));
}
.ph--flat::after { background:linear-gradient(0deg, rgba(13,88,140,.10), rgba(13,88,140,.10)); }

/* ═══ NAV ═══ */
nav {
  position:fixed; top:0; left:0; width:100%; z-index:900;
  padding:0 5%; height:74px;
  display:flex; align-items:center; gap:20px;
  background:rgba(11,26,38,.92); backdrop-filter:blur(20px) saturate(180%);
  border-bottom:1px solid rgba(242,167,2,.18);
  animation:navIn .7s var(--ease-out) both;
  transition:height .3s var(--ease-out), background .3s;
}
nav.scrolled { height:64px; background:rgba(11,26,38,.98); }
@keyframes navIn { from{transform:translateY(-100%)} to{transform:translateY(0)} }
.nav-brand { display:flex; align-items:center; }
.nav-brand img { height:44px; width:auto; object-fit:contain; display:block; transition:height .3s var(--ease-out); }
nav.scrolled .nav-brand img { height:38px; }
.nav-links { display:flex; gap:26px; align-items:center; margin-left:auto; }
.nav-links a {
  font-family:var(--ff-head); font-size:.74rem; font-weight:600;
  letter-spacing:.6px; text-transform:uppercase; color:rgba(255,255,255,.62);
  transition:color .2s; position:relative; padding:4px 0;
}
.nav-links a::after {
  content:''; position:absolute; left:0; right:0; bottom:0; height:1.5px;
  background:var(--amber); transform:scaleX(0); transform-origin:left;
  transition:transform .3s var(--ease-out);
}
.nav-links a:hover { color:var(--white); }
.nav-links a:hover::after { transform:scaleX(1); }
.nav-cta {
  display:inline-flex; align-items:center; gap:8px;
  background:#25D366; color:var(--white);
  font-family:var(--ff-head); font-weight:700; font-size:.76rem; letter-spacing:.8px; text-transform:uppercase;
  padding:11px 18px; border-radius:4px;
  transition:background .2s, transform .15s, box-shadow .2s;
}
.nav-cta:hover { background:#1EB558; transform:translateY(-1px); box-shadow:0 6px 24px rgba(37,211,102,.32); }
.nav-cta svg { width:16px; height:16px; }
.nav-menu-btn { display:none; background:none; border:none; color:var(--white); cursor:pointer; padding:8px; }
.nav-menu-btn svg { width:24px; height:24px; }

/* ═══ HERO ═══ */
#hero {
  position:relative; min-height:100svh; background:var(--ink);
  display:flex; align-items:center; overflow:hidden; padding:120px 5% 80px;
}
.hero-media { position:absolute; inset:0; z-index:0; }
.hero-media img { width:100%; height:100%; object-fit:cover; object-position:center; }
.hero-scrim {
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(100deg, var(--ink) 4%, rgba(11,26,38,.94) 34%, rgba(11,26,38,.62) 58%, rgba(8,50,78,.5) 100%),
    linear-gradient(180deg, rgba(11,26,38,.75) 0%, transparent 26%, transparent 62%, rgba(11,26,38,.85) 100%);
}
.hero-grid-bg {
  position:absolute; inset:0; z-index:2; pointer-events:none;
  background-image: linear-gradient(rgba(242,167,2,.05) 1px,transparent 1px), linear-gradient(90deg,rgba(242,167,2,.05) 1px,transparent 1px);
  background-size:64px 64px;
  mask-image:radial-gradient(ellipse 70% 80% at 78% 50%, black 0%, transparent 100%);
  -webkit-mask-image:radial-gradient(ellipse 70% 80% at 78% 50%, black 0%, transparent 100%);
}
.hero-helmet {
  right:-6%; top:50%; transform:translateY(-50%);
  width:min(52vw,660px); aspect-ratio:512/564; opacity:.16; z-index:2;
}
.hero-inner {
  position:relative; z-index:3;
  display:grid; grid-template-columns:1fr 390px; gap:70px; align-items:center;
  max-width:var(--wrap); width:100%; margin:0 auto;
}
.hero-eyebrow {
  display:inline-flex; align-items:center; gap:10px;
  font-size:.7rem; font-weight:500; letter-spacing:2.6px; text-transform:uppercase; color:var(--amber);
  margin-bottom:26px; opacity:0; animation:fadeUp .6s .2s var(--ease-out) both;
}
.hero-eyebrow::before { content:''; width:30px; height:1px; background:var(--amber); }
.hero-h1 {
  font-family:var(--ff-head); font-weight:800;
  font-size:clamp(2.9rem,6.2vw,5.4rem); line-height:.98; letter-spacing:-2.5px; color:var(--white);
  opacity:0; animation:fadeUp .7s .35s var(--ease-out) both;
  text-wrap:balance;
}
.hero-h1 em { color:var(--amber); font-style:normal; }
.hero-body {
  margin-top:26px; font-size:1.02rem; line-height:1.8; font-weight:300;
  color:rgba(255,255,255,.72); max-width:470px;
  opacity:0; animation:fadeUp .7s .5s var(--ease-out) both;
}
.hero-actions {
  margin-top:40px; display:flex; gap:12px; flex-wrap:wrap;
  opacity:0; animation:fadeUp .7s .65s var(--ease-out) both;
}
.btn-primary {
  display:inline-flex; align-items:center; gap:10px;
  background:#25D366; color:var(--white);
  font-family:var(--ff-head); font-weight:700; font-size:.86rem; letter-spacing:.6px; text-transform:uppercase;
  padding:16px 28px; border-radius:4px;
  box-shadow:0 8px 32px rgba(37,211,102,.28);
  transition:transform .2s var(--ease-out), box-shadow .2s;
}
.btn-primary:hover { transform:translateY(-3px); box-shadow:0 14px 44px rgba(37,211,102,.42); }
.btn-primary svg { width:20px; height:20px; flex-shrink:0; }
.btn-ghost {
  display:inline-flex; align-items:center; gap:8px;
  border:1px solid rgba(255,255,255,.24); color:rgba(255,255,255,.85);
  font-family:var(--ff-head); font-weight:600; font-size:.86rem; letter-spacing:.6px; text-transform:uppercase;
  padding:15px 24px; border-radius:4px; background:rgba(255,255,255,.03);
  transition:border-color .2s, color .2s, background .2s, transform .2s;
}
.btn-ghost:hover { border-color:var(--amber); color:var(--amber); background:rgba(242,167,2,.08); transform:translateY(-2px); }
.btn-ghost svg { width:16px; height:16px; }

.hero-right { opacity:0; animation:fadeUp .8s .55s var(--ease-out) both; }
.hero-card {
  background:rgba(11,26,38,.6); border:1px solid rgba(255,255,255,.1);
  border-radius:10px; padding:34px 30px; position:relative; overflow:hidden;
  backdrop-filter:blur(14px) saturate(140%);
  box-shadow:0 24px 70px rgba(0,0,0,.4);
}
.hero-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--amber),var(--amber-d) 60%,var(--blue));
}
.hero-card-label { font-size:.66rem; letter-spacing:2.4px; text-transform:uppercase; color:var(--amber); margin-bottom:24px; font-weight:500; }
.stat-row { display:flex; align-items:center; gap:16px; padding:16px 0; border-bottom:1px solid rgba(255,255,255,.08); }
.stat-row:last-child { border-bottom:none; padding-bottom:0; }
.stat-icon {
  width:42px; height:42px; flex-shrink:0;
  background:var(--amber-g); border:1px solid rgba(242,167,2,.24);
  border-radius:7px; display:flex; align-items:center; justify-content:center;
}
.stat-icon svg { width:21px; height:21px; color:var(--amber); }
.stat-val { font-family:var(--ff-head); font-size:1.65rem; font-weight:700; color:var(--white); line-height:1; letter-spacing:-.5px; }
.stat-desc { font-size:.76rem; color:var(--slate); margin-top:3px; }

.hero-ticker {
  position:absolute; bottom:0; left:0; right:0; height:40px; z-index:4;
  background:var(--amber); display:flex; align-items:center; overflow:hidden;
}
.hero-ticker-track { display:flex; gap:56px; white-space:nowrap; animation:ticker 34s linear infinite; padding-left:56px; }
.hero-ticker-track span {
  font-family:var(--ff-head); font-size:.7rem; font-weight:700;
  letter-spacing:1.6px; text-transform:uppercase; color:var(--ink);
  display:flex; align-items:center; gap:14px;
}
.hero-ticker-track span::before { content:''; width:5px; height:5px; background:var(--ink); border-radius:50%; opacity:.55; }
@keyframes ticker { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ═══ STRIP — azul institucional, cria respiro entre o ticker âmbar e o Sobre claro ═══ */
.strip-amber {
  background:var(--blue-d); padding:24px 5%; position:relative; z-index:5;
  display:flex; align-items:center; justify-content:center; gap:50px; flex-wrap:wrap;
  border-bottom:1px solid rgba(242,167,2,.22);
}
.strip-item {
  display:flex; align-items:center; gap:12px;
  font-family:var(--ff-head); font-size:.79rem; font-weight:700; letter-spacing:.4px; text-transform:uppercase; color:rgba(255,255,255,.92);
}
.strip-item svg { width:20px; height:20px; color:var(--amber); }
.strip-divider { width:1px; height:26px; background:rgba(255,255,255,.16); }

/* ═══ SECTION SYSTEM ═══ */
.wrap { max-width:var(--wrap); margin:0 auto; position:relative; z-index:1; }
.sec-label {
  display:inline-flex; align-items:center; gap:10px;
  font-size:.68rem; font-weight:500; letter-spacing:2.8px; text-transform:uppercase; color:var(--amber); margin-bottom:16px;
}
.sec-label::before { content:''; width:26px; height:1px; background:var(--amber); }
.sec-label--dark { color:var(--amber-d); }
.sec-label--dark::before { background:var(--amber-d); }
.sec-title {
  font-family:var(--ff-head); font-weight:800;
  font-size:clamp(2rem,4.2vw,3.3rem); line-height:1.02; letter-spacing:-1.6px;
  text-wrap:balance;
}
.sec-intro { font-size:.97rem; line-height:1.8; color:#5D6B77; font-weight:300; }

/* ═══ SOBRE ═══ */
#sobre { background:var(--fog); padding:120px 5%; position:relative; overflow:hidden; color:var(--ink); }
#sobre .helmet { left:-9%; bottom:-18%; width:min(46vw,520px); aspect-ratio:512/564; opacity:.13; }
.sobre-grid { display:grid; grid-template-columns:1.05fr 1fr; gap:80px; align-items:start; }
.sobre-left .sec-title { color:var(--blue-d); }
.sobre-body { margin-top:24px; }
.sobre-body p { font-size:.98rem; line-height:1.85; color:#4A5762; margin-bottom:15px; font-weight:300; }
.sobre-body p strong { font-weight:600; color:var(--blue); }
.sobre-feat { margin-top:32px; display:flex; flex-direction:column; }
.feat-item {
  display:flex; align-items:flex-start; gap:16px;
  padding:18px 0; border-bottom:1px solid var(--mist);
  opacity:0; transform:translateX(-18px);
  transition:opacity .6s var(--ease-out), transform .6s var(--ease-out);
}
.feat-item.vis { opacity:1; transform:translateX(0); }
.feat-item:last-child { border-bottom:none; }
.feat-icon {
  width:40px; height:40px; flex-shrink:0;
  background:var(--blue); border-radius:7px;
  display:flex; align-items:center; justify-content:center;
}
.feat-icon svg { width:20px; height:20px; color:var(--amber); }
.feat-text h4 { font-family:var(--ff-head); font-size:.98rem; font-weight:700; color:var(--blue-d); letter-spacing:-.2px; }
.feat-text p { font-size:.85rem; color:#7A868F; margin-top:3px; line-height:1.6; font-weight:300; }

/* Colagem de fotos reais da loja */
.sobre-right { opacity:0; transform:translateY(28px); transition:opacity .8s .15s var(--ease-out), transform .8s .15s var(--ease-out); }
.sobre-right.vis { opacity:1; transform:translateY(0); }
.collage { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:10px; }
.collage .ph { border-radius:10px; }
.collage .ph:first-child { grid-column:1/-1; aspect-ratio:4/5; }
.collage .ph:not(:first-child) { aspect-ratio:1/1; }
.collage-tag {
  position:absolute; left:16px; bottom:14px; z-index:2;
  font-family:var(--ff-head); font-size:.66rem; font-weight:700; letter-spacing:1.6px;
  text-transform:uppercase; color:var(--white);
  display:flex; align-items:center; gap:8px;
}
.collage-tag::before { content:''; width:16px; height:2px; background:var(--amber); }
.num-stack { display:grid; grid-template-columns:1fr 1fr; gap:3px; }
.num-block { padding:24px 26px; position:relative; overflow:hidden; }
.num-block:nth-child(1) { background:var(--blue-d); border-radius:10px 0 0 0; }
.num-block:nth-child(2) { background:var(--amber); border-radius:0 10px 0 0; }
.num-block:nth-child(3) { background:var(--blue); border-radius:0 0 0 10px; }
.num-block:nth-child(4) { background:var(--ink); border-radius:0 0 10px 0; }
.num-block-val { font-family:var(--ff-head); font-size:2.5rem; font-weight:800; line-height:1; letter-spacing:-1.5px; }
.num-block:nth-child(1) .num-block-val { color:var(--amber); }
.num-block:nth-child(2) .num-block-val { color:var(--blue-d); }
.num-block:nth-child(3) .num-block-val,.num-block:nth-child(4) .num-block-val { color:var(--white); }
.num-block-lbl { font-size:.68rem; letter-spacing:1.6px; text-transform:uppercase; margin-top:6px; }
.num-block:nth-child(2) .num-block-lbl { color:rgba(8,50,78,.68); }
.num-block:nth-child(1) .num-block-lbl,.num-block:nth-child(3) .num-block-lbl,.num-block:nth-child(4) .num-block-lbl { color:rgba(255,255,255,.5); }

/* ═══ LINHAS DE EPIs ═══ */
#linhas { background:var(--ink); padding:0 0 120px; position:relative; }
.linhas-banner { position:relative; height:clamp(300px,42vw,440px); overflow:hidden; }
.linhas-banner img { width:100%; height:100%; object-fit:cover; object-position:center 35%; filter:saturate(.9) contrast(1.05); }
.linhas-banner::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(11,26,38,.95) 0%, rgba(11,26,38,.7) 42%, rgba(11,26,38,.25) 70%, rgba(11,26,38,.55) 100%),
             linear-gradient(0deg, var(--ink) 2%, transparent 40%);
}
.linhas-banner-txt {
  position:absolute; inset:0; z-index:2; display:flex; align-items:center;
  padding:0 5%;
}
.linhas-banner-txt .wrap { width:100%; }
.linhas-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:54px; padding:0 5%; }
.linhas-grid .wrap { display:contents; }
.linha-card {
  position:relative; display:block; border-radius:10px; overflow:hidden;
  aspect-ratio:4/5; background:var(--ink-2);
  opacity:0; transform:translateY(24px);
  transition:opacity .6s var(--ease-out), transform .6s var(--ease-out);
}
.linha-card.vis { opacity:1; transform:translateY(0); }
.linha-card .ph { position:absolute; inset:0; }
.linha-card .ph::after {
  background:linear-gradient(180deg, rgba(11,26,38,.12) 0%, rgba(11,26,38,.42) 40%, rgba(11,26,38,.88) 66%, rgba(11,26,38,.97) 100%),
             linear-gradient(0deg, rgba(13,88,140,.18), rgba(13,88,140,.18));
  transition:background .4s;
}
.linha-card:hover .ph > img { transform:scale(1.07); }
.linha-card:hover .ph::after {
  background:linear-gradient(180deg, rgba(11,26,38,.1) 0%, rgba(8,50,78,.45) 40%, rgba(8,50,78,.9) 66%, rgba(8,50,78,.98) 100%),
             linear-gradient(0deg, rgba(13,88,140,.28), rgba(13,88,140,.28));
}
.linha-body { position:absolute; left:0; right:0; bottom:0; z-index:3; padding:22px 20px; }
.linha-num { font-family:var(--ff-head); font-size:.64rem; font-weight:600; letter-spacing:2px; color:var(--amber); display:block; margin-bottom:8px; }
.linha-card h3 {
  font-family:var(--ff-head); font-size:1.06rem; font-weight:700; color:var(--white);
  line-height:1.2; letter-spacing:-.3px;
}
.linha-card p { font-size:.78rem; color:rgba(255,255,255,.6); margin-top:6px; line-height:1.5; font-weight:300; }
.linha-arrow {
  margin-top:14px; display:inline-flex; align-items:center; gap:7px;
  font-family:var(--ff-head); font-size:.68rem; font-weight:700; letter-spacing:1.2px;
  text-transform:uppercase; color:var(--amber);
  opacity:0; transform:translateY(6px); transition:opacity .3s, transform .3s var(--ease-out);
}
.linha-card:hover .linha-arrow, .linha-card:focus-visible .linha-arrow { opacity:1; transform:translateY(0); }
.linha-arrow svg { width:13px; height:13px; }
.linha-card::before {
  content:''; position:absolute; left:0; right:0; bottom:0; height:3px; z-index:4;
  background:var(--amber); transform:scaleX(0); transform-origin:left;
  transition:transform .4s var(--ease-out);
}
.linha-card:hover::before, .linha-card:focus-visible::before { transform:scaleX(1); }

/* ═══ MVV — bloco azul institucional (espelha a apresentação) ═══ */
#mvv { background:var(--blue); padding:120px 5%; position:relative; overflow:hidden; }
#mvv .helmet { right:-12%; top:-22%; width:min(64vw,760px); aspect-ratio:512/564; opacity:.22; }
#mvv .helmet--2 { left:-16%; bottom:-30%; width:min(50vw,560px); opacity:.13; right:auto; top:auto; }
.mvv-header { margin-bottom:56px; }
.mvv-header .sec-title { color:var(--white); }
.mvv-header .sec-label { color:var(--amber-l); }
.mvv-header .sec-label::before { background:var(--amber-l); }
.mvv-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.mvv-card {
  background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12);
  border-radius:12px; padding:38px 32px; position:relative; overflow:hidden;
  backdrop-filter:blur(6px);
  opacity:0; transform:translateY(32px);
  transition:opacity .7s var(--ease-out), transform .7s var(--ease-out), background .3s, border-color .3s;
}
.mvv-card:hover { background:rgba(255,255,255,.12); border-color:rgba(242,167,2,.45); }
.mvv-card.vis { opacity:1; transform:translateY(0); }
.mvv-card:nth-child(2) { transition-delay:.1s; }
.mvv-card:nth-child(3) { transition-delay:.2s; }
.mvv-card::after { content:''; position:absolute; left:32px; top:0; width:38px; height:3px; background:var(--amber); }
.mvv-num { font-family:var(--ff-head); font-size:.66rem; font-weight:600; letter-spacing:2.6px; color:rgba(255,255,255,.45); margin-bottom:20px; display:block; }
.mvv-card-icon { margin-bottom:18px; }
.mvv-card-icon svg { width:34px; height:34px; color:var(--amber); }
.mvv-card h3 { font-family:var(--ff-head); font-size:1.5rem; font-weight:800; letter-spacing:-.8px; color:var(--white); margin-bottom:14px; }
.mvv-card p { font-size:.9rem; line-height:1.75; color:rgba(255,255,255,.78); font-weight:300; }

/* ═══ VANTAGENS ═══ */
#vantagens { background:var(--fog); padding:120px 5%; position:relative; overflow:hidden; color:var(--ink); }
#vantagens .helmet { right:-8%; top:-14%; width:min(40vw,470px); aspect-ratio:512/564; opacity:.09; }
.vantagens-header { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:end; margin-bottom:56px; }
.vantagens-header .sec-title { color:var(--blue-d); }
.vantagens-body { display:grid; grid-template-columns:1fr 340px; gap:40px; align-items:start; }
.vantagens-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:2px; border-radius:12px; overflow:hidden; box-shadow:0 2px 0 var(--mist); }
.vant-card {
  background:var(--white); padding:38px 34px; position:relative; overflow:hidden;
  opacity:0; transform:translateY(20px);
  transition:opacity .6s var(--ease-out), transform .6s var(--ease-out), box-shadow .3s;
}
.vant-card:hover { box-shadow:0 20px 60px rgba(8,50,78,.12); z-index:1; }
.vant-card.vis { opacity:1; transform:translateY(0); }
.vant-card:nth-child(2){transition-delay:.08s}.vant-card:nth-child(3){transition-delay:.16s}.vant-card:nth-child(4){transition-delay:.24s}
.vant-card::before {
  content:''; position:absolute; left:0; top:0; bottom:0; width:3px;
  background:var(--amber); transform:scaleY(0); transform-origin:bottom;
  transition:transform .35s var(--ease-out);
}
.vant-card:hover::before { transform:scaleY(1); }
.vant-icon {
  width:48px; height:48px;
  background:linear-gradient(135deg,var(--blue-d),var(--blue));
  border-radius:9px; display:flex; align-items:center; justify-content:center; margin-bottom:20px;
}
.vant-icon svg { width:24px; height:24px; color:var(--amber); }
.vant-card h4 { font-family:var(--ff-head); font-size:1.14rem; font-weight:700; letter-spacing:-.4px; color:var(--blue-d); margin-bottom:9px; }
.vant-card p { font-size:.86rem; line-height:1.7; color:#6B7883; font-weight:300; }
.vant-aside { position:relative; }
.vant-aside .ph {
  border-radius:12px; aspect-ratio:3/2; background:var(--mist);
  border:1px solid rgba(8,50,78,.1);
}
.vant-aside .ph > img { object-fit:contain; padding:6%; mix-blend-mode:multiply; }
.vant-aside .ph::after { background:none; }
.vant-quote {
  background:var(--blue-d); border-radius:12px; padding:30px 28px; margin-top:10px;
  position:relative; overflow:hidden;
}
.vant-quote::before { content:''; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--amber); }
.vant-quote p { font-size:.94rem; line-height:1.7; color:rgba(255,255,255,.85); font-style:italic; font-weight:300; }
.vant-quote cite {
  display:block; margin-top:14px; font-style:normal; font-family:var(--ff-head);
  font-size:.7rem; font-weight:700; letter-spacing:1.6px; text-transform:uppercase; color:var(--amber);
}

/* ═══ ESTRUTURA / GALERIA ═══ */
#estrutura { background:var(--ink); padding:120px 5%; position:relative; overflow:hidden; }
.estrutura-header { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:end; margin-bottom:48px; }
.estrutura-header .sec-title { color:var(--white); }
.estrutura-header .sec-intro { color:rgba(255,255,255,.6); }
.gal-grid { display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:180px; gap:10px; }
.gal-item {
  position:relative; border-radius:10px; overflow:hidden; cursor:zoom-in; border:none; padding:0;
  background:var(--ink-2); display:block; width:100%; height:100%;
  opacity:0; transform:scale(.96);
  transition:opacity .6s var(--ease-out), transform .6s var(--ease-out);
}
.gal-item.vis { opacity:1; transform:scale(1); }
.gal-item:nth-child(1) { grid-column:span 2; grid-row:span 2; }
.gal-item:nth-child(6) { grid-column:span 2; }
.gal-item .ph { position:absolute; inset:0; }
.gal-item:hover .ph > img { transform:scale(1.06); }
.gal-cap {
  position:absolute; left:0; right:0; bottom:0; z-index:3; padding:16px 18px; text-align:left;
  font-family:var(--ff-head); font-size:.76rem; font-weight:700; letter-spacing:.3px; color:var(--white);
  display:flex; align-items:center; gap:9px;
}
.gal-cap::before { content:''; width:14px; height:2px; background:var(--amber); flex-shrink:0; }
.gal-item::after {
  content:''; position:absolute; inset:0; z-index:2; border-radius:10px;
  border:1.5px solid transparent; transition:border-color .3s;
}
.gal-item:hover::after, .gal-item:focus-visible::after { border-color:var(--amber); }

/* Lightbox */
.lb {
  position:fixed; inset:0; z-index:1000; background:rgba(6,14,20,.96);
  display:none; align-items:center; justify-content:center; padding:4vh 5vw;
  backdrop-filter:blur(8px);
}
.lb[open], .lb.on { display:flex; }
.lb img { max-width:100%; max-height:86vh; border-radius:8px; box-shadow:0 30px 90px rgba(0,0,0,.6); }
.lb-cap {
  position:absolute; bottom:3vh; left:0; right:0; text-align:center;
  font-family:var(--ff-head); font-size:.8rem; font-weight:600; letter-spacing:1.4px;
  text-transform:uppercase; color:var(--amber);
}
.lb-close, .lb-nav {
  position:absolute; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16);
  color:var(--white); width:46px; height:46px; border-radius:50%; cursor:pointer;
  display:flex; align-items:center; justify-content:center; transition:background .2s, border-color .2s;
}
.lb-close:hover, .lb-nav:hover { background:var(--amber); border-color:var(--amber); color:var(--ink); }
.lb-close { top:3vh; right:4vw; }
.lb-nav svg, .lb-close svg { width:20px; height:20px; }
.lb-prev { left:2vw; top:50%; transform:translateY(-50%); }
.lb-next { right:2vw; top:50%; transform:translateY(-50%); }

/* ═══ COBERTURA NACIONAL ═══ */
#cobertura { background:var(--blue-d); padding:110px 5%; position:relative; overflow:hidden; }
.cob-map {
  position:absolute; right:2%; top:50%; transform:translateY(-50%);
  width:min(46vw,520px); opacity:.5; pointer-events:none;
}
.cob-inner { position:relative; z-index:2; max-width:var(--wrap); margin:0 auto; }
.cob-inner .sec-title { color:var(--white); max-width:620px; }
.cob-inner .sec-title em { color:var(--amber); font-style:normal; }
.cob-sub { margin-top:20px; font-size:1rem; line-height:1.8; color:rgba(255,255,255,.66); max-width:520px; font-weight:300; }
.cob-stats { display:flex; gap:52px; margin-top:48px; flex-wrap:wrap; }
.cob-stat-val { font-family:var(--ff-head); font-size:2.6rem; font-weight:800; color:var(--amber); line-height:1; letter-spacing:-1.5px; }
.cob-stat-lbl { font-size:.72rem; letter-spacing:1.8px; text-transform:uppercase; color:rgba(255,255,255,.5); margin-top:8px; }

/* ═══ FORNECEDORES ═══ */
#fornecedores { background:var(--fog); padding:110px 5%; position:relative; overflow:hidden; color:var(--ink); }
#fornecedores .helmet { right:-10%; bottom:-26%; width:min(46vw,540px); aspect-ratio:512/564; opacity:.1; }
.forn-header { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:44px; flex-wrap:wrap; gap:24px; }
.forn-header .sec-title { color:var(--blue-d); }
.forn-count { font-family:var(--ff-head); font-size:3.2rem; font-weight:800; color:var(--amber-d); line-height:1; letter-spacing:-2px; text-align:right; }
.forn-count span { display:block; font-size:.66rem; font-weight:500; letter-spacing:1.8px; text-transform:uppercase; color:#8A959E; margin-top:6px; letter-spacing:1.8px; }
.marcas-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:10px; }
.marca {
  background:var(--white); border-radius:10px; aspect-ratio:4/3;
  display:flex; align-items:center; justify-content:center; padding:20px;
  box-shadow:0 1px 3px rgba(8,50,78,.06);
  opacity:0; transform:translateY(16px);
  transition:opacity .5s var(--ease-out), transform .5s var(--ease-out), box-shadow .3s;
}
.marca.vis { opacity:1; transform:translateY(0); }
.marca:hover { box-shadow:0 14px 40px rgba(8,50,78,.13); }
.marca img {
  max-width:100%; max-height:56px; width:auto; object-fit:contain;
  /* logos já vêm em cinza na identidade — só reforçamos o contraste, sem apagar */
  filter:grayscale(1) contrast(1.25) brightness(.86); transition:filter .3s;
}
.marca:hover img { filter:grayscale(0) contrast(1) brightness(1); }

/* ═══ CLIENTES ═══ */
#clientes { background:var(--ink); padding:110px 5%; }
.clientes-header { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; margin-bottom:52px; }
.clientes-header .sec-title { color:var(--white); }
.clientes-quote {
  font-size:1.02rem; line-height:1.8; color:rgba(255,255,255,.62); font-weight:300;
  font-style:italic; border-left:2px solid var(--amber); padding-left:24px;
}
.clientes-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; border-radius:10px; overflow:hidden; }
.cli-card {
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.07);
  padding:26px 30px; display:flex; align-items:center; gap:15px;
  opacity:0; transform:translateY(16px);
  transition:opacity .5s var(--ease-out), transform .5s var(--ease-out), background .2s;
}
.cli-card:hover { background:rgba(13,88,140,.22); }
.cli-card.vis { opacity:1; transform:translateY(0); }
.cli-card:nth-child(2){transition-delay:.06s}.cli-card:nth-child(3){transition-delay:.12s}
.cli-card:nth-child(4){transition-delay:.18s}.cli-card:nth-child(5){transition-delay:.24s}.cli-card:nth-child(6){transition-delay:.3s}
.cli-dot { width:6px; height:6px; border-radius:50%; background:var(--amber); flex-shrink:0; }
.cli-name { font-family:var(--ff-head); font-size:.98rem; font-weight:700; letter-spacing:-.2px; color:var(--white); }
.kadesh-row {
  display:flex; align-items:center; gap:30px;
  background:var(--amber); padding:24px 36px; border-radius:10px; margin-top:36px;
  opacity:0; transform:translateY(18px); transition:all .7s .25s var(--ease-out);
  box-shadow:0 14px 44px rgba(242,167,2,.18);
}
.kadesh-row.vis { opacity:1; transform:translateY(0); }
.kadesh-logo { height:46px; width:auto; flex-shrink:0; }
.kadesh-text { border-left:1px solid rgba(8,50,78,.2); padding-left:30px; }
.kadesh-text strong { display:block; font-family:var(--ff-head); font-size:1.06rem; font-weight:800; letter-spacing:-.4px; color:var(--blue-d); line-height:1.2; }
.kadesh-text span { display:block; font-size:.84rem; color:rgba(8,50,78,.72); margin-top:4px; }

/* ═══ ENDEREÇOS ═══ */
#enderecos { background:var(--blue-d); padding:110px 5%; position:relative; overflow:hidden; }
#enderecos .helmet { left:-12%; top:-20%; width:min(44vw,500px); aspect-ratio:512/564; opacity:.11; }
.end-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.end-card {
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1);
  border-radius:12px; padding:36px; transition:all .4s var(--ease-out);
  position:relative; display:flex; flex-direction:column;
}
.end-card:hover { transform:translateY(-6px); border-color:var(--amber); background:rgba(255,255,255,.09); }
.end-card-icon { width:46px; height:46px; background:var(--amber-g); border:1px solid rgba(242,167,2,.24); border-radius:50%; display:flex; align-items:center; justify-content:center; margin-bottom:22px; color:var(--amber); }
.end-card-icon svg { width:22px; height:22px; }
.end-card h3 { font-family:var(--ff-head); font-size:1.24rem; font-weight:700; letter-spacing:-.5px; color:var(--white); margin-bottom:12px; }
.end-card p { font-size:.9rem; color:rgba(255,255,255,.62); line-height:1.65; margin-bottom:18px; font-weight:300; }
.end-badge {
  display:inline-flex; align-items:center; gap:6px;
  background:var(--amber); color:var(--blue-d); font-family:var(--ff-head);
  font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.8px;
  padding:6px 12px; border-radius:100px; width:fit-content; margin-top:auto;
}
.end-map-link {
  display:inline-flex; align-items:center; gap:8px; margin-top:16px;
  font-family:var(--ff-head); font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:1px;
  color:var(--amber); transition:color .2s, gap .2s;
}
.end-map-link:hover { color:var(--white); gap:12px; }
.end-map-link svg { width:14px; height:14px; }

/* ═══ CTA ═══ */
#cta { padding:130px 5%; position:relative; overflow:hidden; background:var(--ink); }
.cta-media { position:absolute; inset:0; z-index:0; }
.cta-media img { width:100%; height:100%; object-fit:cover; object-position:center; }
.cta-media::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(11,26,38,.5) 0%, rgba(11,26,38,.9) 42%, rgba(11,26,38,.97) 100%),
             linear-gradient(0deg, rgba(8,50,78,.35), rgba(8,50,78,.35));
}
.cta-inner { position:relative; z-index:2; max-width:var(--wrap); margin:0 auto; }
.cta-box { max-width:600px; margin-left:auto; }
.cta-h2 {
  font-family:var(--ff-head); font-weight:800;
  font-size:clamp(2.3rem,4.6vw,3.7rem); line-height:1; letter-spacing:-2px;
  color:var(--white); margin:16px 0 16px; text-wrap:balance;
}
.cta-h2 em { color:var(--amber); font-style:normal; display:block; }
.cta-sub { font-size:.98rem; color:rgba(255,255,255,.66); line-height:1.75; margin-bottom:36px; font-weight:300; }
.cta-wpp {
  display:inline-flex; align-items:center; gap:13px;
  background:#25D366; color:var(--white);
  font-family:var(--ff-head); font-weight:700; font-size:.96rem; letter-spacing:.8px; text-transform:uppercase;
  padding:19px 40px; border-radius:4px;
  box-shadow:0 12px 44px rgba(37,211,102,.28);
  transition:transform .2s var(--ease-out), box-shadow .2s;
}
.cta-wpp:hover { transform:translateY(-4px); box-shadow:0 20px 60px rgba(37,211,102,.42); }
.cta-wpp svg { width:23px; height:23px; flex-shrink:0; }
.cta-note { margin-top:18px; font-size:.76rem; color:rgba(255,255,255,.36); letter-spacing:.6px; }

/* ═══ FOOTER ═══ */
footer { background:var(--ink); padding:60px 5% 34px; border-top:1px solid rgba(255,255,255,.07); }
.footer-inner {
  max-width:var(--wrap); margin:0 auto;
  display:grid; grid-template-columns:auto 1fr auto; gap:56px; align-items:start;
  padding-bottom:38px; border-bottom:1px solid rgba(255,255,255,.07);
}
.footer-brand img { height:52px; width:auto; object-fit:contain; margin-bottom:16px; }
.footer-info { font-size:.83rem; color:var(--slate); line-height:1.85; }
.footer-info a { color:var(--slate); transition:color .2s; }
.footer-info a:hover { color:var(--amber); }
.footer-links { display:flex; flex-direction:column; gap:11px; padding-top:4px; }
.footer-links a { font-family:var(--ff-head); font-size:.76rem; font-weight:600; letter-spacing:.6px; text-transform:uppercase; color:rgba(255,255,255,.44); transition:color .2s; }
.footer-links a:hover { color:var(--amber); }
.footer-social { display:flex; flex-direction:column; gap:10px; }
.social-pill {
  display:inline-flex; align-items:center; gap:10px;
  border:1px solid rgba(255,255,255,.12); border-radius:4px; padding:10px 18px;
  font-family:var(--ff-head); font-size:.73rem; font-weight:700; letter-spacing:.8px; text-transform:uppercase; color:rgba(255,255,255,.52);
  transition:border-color .2s, color .2s, background .2s;
}
.social-pill svg { width:14px; height:14px; }
.social-pill:hover { border-color:var(--amber); color:var(--amber); background:rgba(242,167,2,.07); }
.footer-copy { max-width:var(--wrap); margin:26px auto 0; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; font-size:.74rem; color:rgba(255,255,255,.24); }

/* ═══ FLOAT WPP ═══ */
.float-wpp {
  position:fixed; bottom:26px; right:26px; z-index:800;
  width:56px; height:56px; border-radius:50%; background:#25D366;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 6px 28px rgba(37,211,102,.42);
  transition:transform .2s, box-shadow .2s;
  animation:popIn .6s 1.6s var(--ease-out) both;
}
.float-wpp:hover { transform:scale(1.08); box-shadow:0 10px 40px rgba(37,211,102,.55); }
.float-wpp svg { width:28px; height:28px; color:var(--white); }
@keyframes popIn { from{opacity:0;transform:scale(.4)} to{opacity:1;transform:scale(1)} }
@keyframes fadeUp { from{opacity:0;transform:translateY(26px)} to{opacity:1;transform:translateY(0)} }

.skip-link {
  position:absolute; top:-60px; left:0; background:var(--amber); color:var(--ink);
  padding:10px 18px; z-index:1000; transition:top .3s;
  font-family:var(--ff-head); font-weight:700; text-transform:uppercase; font-size:.78rem; letter-spacing:.8px;
}
.skip-link:focus { top:0; outline:2px solid var(--white); }
:focus-visible { outline:2px solid var(--amber); outline-offset:3px; }

/* ═══ RESPONSIVE ═══ */
@media(max-width:1100px){
  .marcas-grid { grid-template-columns:repeat(5,1fr); }
  .linhas-grid { grid-template-columns:repeat(3,1fr); }
  .vantagens-body { grid-template-columns:1fr; }
  .vant-aside { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .vant-quote { margin-top:0; }
}
@media(max-width:1023px){
  .nav-links {
    position:fixed; top:64px; left:0; right:0;
    background:rgba(11,26,38,.99); padding:16px 20px 24px;
    flex-direction:column; gap:0; align-items:stretch;
    transform:translateY(-110%); opacity:0; visibility:hidden;
    transition:transform .35s var(--ease-out), opacity .3s; z-index:899;
    border-bottom:1px solid rgba(242,167,2,.2);
  }
  .nav-links.active { transform:translateY(0); opacity:1; visibility:visible; }
  .nav-links a { display:block; padding:15px 4px; color:var(--white); font-size:.88rem; border-bottom:1px solid rgba(255,255,255,.08); }
  .nav-links a::after { display:none; }
  .nav-menu-btn { display:block; order:3; }
  nav { height:64px; }
  .hero-inner { grid-template-columns:1fr; gap:40px; }
  .hero-right { display:none; }
  .hero-helmet { opacity:.1; right:-22%; }
  .gal-grid { grid-template-columns:repeat(2,1fr); grid-auto-rows:150px; }
  .gal-item:nth-child(1) { grid-column:span 2; grid-row:span 2; }
  .gal-item:nth-child(6) { grid-column:span 1; }
}
@media(max-width:900px){
  .sobre-grid,.vantagens-header,.clientes-header,.estrutura-header { grid-template-columns:1fr; gap:40px; }
  .mvv-grid,.vantagens-grid,.clientes-grid,.end-grid { grid-template-columns:1fr; }
  .linhas-grid { grid-template-columns:repeat(2,1fr); }
  .marcas-grid { grid-template-columns:repeat(4,1fr); }
  .footer-inner { grid-template-columns:1fr; gap:34px; }
  .strip-divider { display:none; }
  .cob-map { opacity:.2; right:-14%; }
  .cta-box { margin-left:0; }
}
@media(max-width:768px){ .nav-cta { display:none; } }
@media(max-width:600px){
  nav { padding:0 4%; }
  .nav-brand img { height:36px; }
  #hero { padding:100px 5% 76px; }
  .hero-h1 { font-size:2.5rem; letter-spacing:-1.4px; }
  .sec-title { font-size:1.85rem; letter-spacing:-1px; }
  .strip-amber { gap:18px; padding:18px 4%; }
  .strip-item { font-size:.72rem; }
  #sobre,#mvv,#vantagens,#estrutura,#cobertura,#fornecedores,#clientes,#enderecos,#cta { padding:76px 5%; }
  #linhas { padding-bottom:76px; }
  .linhas-grid { gap:10px; padding:0 5%; margin-top:36px; }
  /* no mobile o texto do banner cobre a foto inteira — reforça o scrim */
  .linhas-banner::after {
    background:linear-gradient(90deg, rgba(11,26,38,.96) 0%, rgba(11,26,38,.88) 55%, rgba(11,26,38,.7) 100%),
               linear-gradient(0deg, var(--ink) 3%, transparent 45%);
  }
  .num-block { padding:20px 20px; }
  .num-block-val { font-size:2rem; }
  .mvv-card,.vant-card,.end-card { padding:30px 24px; }
  .cli-card { padding:20px 24px; }
  .marcas-grid { grid-template-columns:repeat(3,1fr); }
  .cta-wpp { padding:16px 28px; font-size:.88rem; }
  .float-wpp { width:50px; height:50px; bottom:18px; right:18px; }
  .footer-inner { text-align:center; justify-items:center; }
  .footer-links,.footer-social { align-items:center; }
  .footer-copy { flex-direction:column; text-align:center; gap:8px; }
  .kadesh-row { flex-direction:column; text-align:center; gap:18px; padding:30px 22px; }
  .kadesh-text { border-left:none; border-top:1px solid rgba(8,50,78,.15); padding-left:0; padding-top:18px; }
  .vant-aside { grid-template-columns:1fr; }
  .cob-stats { gap:32px; }
  .lb-prev { left:1vw; } .lb-next { right:1vw; }
}
@media(max-width:400px){
  .hero-h1 { font-size:2.1rem; }
  .linhas-grid { grid-template-columns:1fr; }
  .marcas-grid { grid-template-columns:repeat(2,1fr); }
  .strip-item svg { width:16px; height:16px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .feat-item,.mvv-card,.vant-card,.cli-card,.kadesh-row,.sobre-right,.linha-card,.gal-item,.marca { opacity:1 !important; transform:none !important; }
}
