/* ============================================================================
   VPJ ALIMENTOS — "STEAKS"  ·  identidade visual 44steaks.com
   Base CLARA (branco/creme) + tinta escura + heróis full-bleed de foto escura
   com texto claro centralizado + accent vermelho-ferrugem (#9a3324).
   Títulos: Oswald (condensada, maiúsculo, letter-spacing largo).
   Corpo: Nunito Sans.  Tagline: PT Serif itálico.
   ============================================================================ */
:root{
  /* ---- base CLARA ---- */
  --bg:#ffffff;            /* branco puro */
  --cream:#faf8f1;         /* creme/bone — seções alternadas */
  --cream-2:#f3eee2;       /* creme mais fundo */
  --ink:#1c1c1c;           /* tinta principal */
  --ink-2:#3a3733;         /* tinta corpo */
  --mute:#6f6a62;          /* texto mudo claro */
  --mute-2:#9a948b;        /* mudo + claro */
  --line:rgba(28,28,28,0.12);        /* linhas sobre claro */
  --line-soft:rgba(28,28,28,0.07);
  --line-strong:rgba(28,28,28,0.22);

  /* ---- seções escuras (heróis/spotlight/genética/fs-hero/footer) ---- */
  --black:#0c0b0a;
  --black-2:#161412;
  --bone:#faf8f1;          /* "branco" sobre fundo escuro */
  --bone-2:#e7e0d2;        /* corpo sobre escuro */
  --bone-mute:#b3ac9f;     /* mudo sobre escuro */
  --line-dk:rgba(250,248,241,0.14);
  --line-dk-strong:rgba(250,248,241,0.26);

  /* ---- accent FERRUGEM ---- */
  --red:#9a3324;
  --red-2:#803927;         /* escuro */
  --red-3:#863225;
  --red-ink:#6f291d;       /* ferrugem bem fechado p/ texto sobre claro */
  --amber:#c8794a;
  --ember:#c8794a;

  /* ---- tipografia ---- */
  --display:"Oswald","Arial Narrow",sans-serif;   /* títulos comprimidos */
  --archivo:"Oswald","Arial Narrow",sans-serif;   /* mantém compat: tudo Oswald */
  --sans:"Nunito Sans","Helvetica Neue",Arial,sans-serif;
  --serif:"PT Serif",Georgia,"Times New Roman",serif;
  --mono:"Oswald","Arial Narrow",sans-serif;       /* labels condensadas espaçadas */

  --maxw:1440px;
  --shadow-soft:0 18px 48px -22px rgba(28,20,12,0.28);
  --shadow-card:0 22px 60px -30px rgba(28,20,12,0.34);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:120px}
html,body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button{font:inherit;border:0;background:none;color:inherit;cursor:pointer}
::selection{background:var(--red);color:#fff}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 40px}
.mono{font-family:var(--mono);letter-spacing:0.18em;text-transform:uppercase}
.display{font-family:var(--display);text-transform:uppercase;letter-spacing:0.02em;line-height:0.92}
.archivo{font-family:var(--display);text-transform:uppercase;letter-spacing:0.02em;line-height:0.92}

/* rótulo/eyebrow padrão 44 (linha fina espaçada) */
.l-tag,.tag{font-family:var(--mono);font-size:11.5px;letter-spacing:0.32em;text-transform:uppercase;color:var(--red);font-weight:500}

/* ============ ANNOUNCEMENT BAR (ferrugem) ============ */
.announce{display:flex;align-items:center;justify-content:center;gap:16px;background:var(--red);color:#fff;
  min-height:42px;padding:9px 24px;font-family:var(--mono);font-size:11.5px;letter-spacing:0.26em;text-transform:uppercase;font-weight:500;
  text-align:center;transition:background .18s}
.announce:hover{background:var(--red-2)}
.announce .dot{width:7px;height:7px;border-radius:50%;background:#fff;flex:none;opacity:.9;animation:annPulse 2.4s ease-in-out infinite}
@keyframes annPulse{0%,100%{opacity:.9;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}
.announce .t{opacity:.96}
.announce .cta{display:inline-flex;align-items:center;gap:9px;border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:2px;font-weight:600}
.announce .cta .arr{transition:transform .2s}
.announce:hover .cta .arr{transform:translateX(5px)}

/* ============ NAV (clara, minimalista) ============ */
header.nav{position:sticky;top:0;z-index:90;background:rgba(255,255,255,0.92);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border-bottom:1px solid var(--line)}
.nav-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;height:84px;max-width:var(--maxw);margin:0 auto;padding:0 40px;gap:24px}
.nav-brand{display:flex;align-items:center;gap:14px}
.nav-brand .brand-logo{height:clamp(30px,3vw,40px);width:auto;padding:2px 0;box-sizing:content-box;transition:height .2s}
.nav-links{display:flex;align-items:center;justify-content:center;gap:2px}
.nav-item{position:relative}
.nav-link{display:inline-flex;align-items:center;gap:7px;padding:12px 16px;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:0.2em;text-transform:uppercase;color:var(--ink);cursor:pointer;transition:color .15s;position:relative}
.nav-link::after{content:"";position:absolute;left:16px;right:16px;bottom:8px;height:2px;background:var(--red);transform:scaleX(0);transform-origin:center;transition:transform .24s ease}
.nav-link:hover{color:var(--red)}
.nav-link:hover::after{transform:scaleX(1)}
.nav-link.on{color:var(--red)}
.nav-link.on::after{transform:scaleX(1)}
.nav-link .chv{font-size:8px;opacity:.55;transition:transform .2s}
.nav-item:hover .nav-link .chv{transform:rotate(180deg)}

/* hamburger */
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:46px;height:46px;border:1px solid var(--line-strong);background:transparent;cursor:pointer;padding:0 11px}
.nav-toggle span{display:block;height:2px;width:100%;background:var(--ink);transition:transform .2s, opacity .2s}
.nav-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-open .nav-toggle span:nth-child(2){opacity:0}
.nav-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.nav-right{display:flex;align-items:center;gap:20px;justify-self:end}
.nav-right .lang{font-family:var(--mono);font-size:11px;letter-spacing:0.2em;color:var(--mute);cursor:pointer;text-transform:uppercase}
.nav-right .lang b{color:var(--ink)}
.nav-cta{background:var(--red);color:#fff;display:inline-flex;align-items:center;gap:12px;padding:14px 24px;font-family:var(--mono);font-size:11.5px;letter-spacing:0.22em;text-transform:uppercase;font-weight:500;border:1px solid var(--red);transition:background .15s, transform .15s}
.nav-cta:hover{background:var(--red-2);border-color:var(--red-2);transform:translateY(-1px)}
.nav-cta b{font-size:14px}

/* Compre Online B2B (botão fantasma na navbar) */
.nav-shop{color:var(--ink) !important;border:1px solid var(--line-strong);margin-left:8px;padding:11px 16px !important;transition:background .15s,color .15s,border-color .15s}
.nav-shop b{font-family:var(--display);font-size:12px;letter-spacing:.06em;color:var(--red)}
.nav-shop .cart{font-size:11px;opacity:.7}
.nav-shop::after{display:none}
.nav-shop:hover{background:var(--ink);color:#fff !important;border-color:var(--ink)}
.nav-shop:hover b{color:var(--bone)}

/* ============ MEGA MENU (marcas — escuro dramático sobre nav clara) ============ */
.mega{position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%) translateY(8px);min-width:680px;background:var(--black);border:1px solid var(--line-dk-strong);box-shadow:0 50px 90px -28px rgba(0,0,0,.55);opacity:0;visibility:hidden;transition:opacity .2s, transform .2s;z-index:120}
.nav-item:hover .mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)}
.mega::before{content:"";position:absolute;top:-16px;left:0;right:0;height:16px}
.mega-head{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--line-dk);font-family:var(--mono);font-size:10.5px;letter-spacing:0.26em;text-transform:uppercase;color:var(--bone-mute)}
.mega-head .r{color:var(--red);font-weight:600}
.mega.brands{min-width:820px;padding:0}
.mega-brands-grid{display:grid;grid-template-columns:300px 1fr}
.mb-list{display:flex;flex-direction:column;border-right:1px solid var(--line-dk);max-height:452px;overflow-y:auto}
.mb-item{display:flex;align-items:center;gap:14px;padding:0 22px;height:45px;flex:none;border:0;border-bottom:1px solid var(--line-dk);background:transparent;cursor:pointer;text-align:left;transition:background .15s}
.mb-item:last-child{border-bottom:0}
.mb-item:hover,.mb-item.active{background:#1b1815}
.mb-item img{height:24px;width:80px;object-fit:contain;object-position:left center;opacity:.78;transition:opacity .15s}
.mb-item:hover img,.mb-item.active img{opacity:1}
.mb-item .nm{font-family:var(--mono);font-size:10.5px;letter-spacing:0.18em;text-transform:uppercase;color:var(--bone-mute);transition:color .15s}
.mb-item:hover .nm,.mb-item.active .nm{color:var(--bone)}
.mb-preview{position:relative;min-height:452px;display:flex;flex-direction:column}
.mb-photo{position:relative;flex:1;overflow:hidden;background:#1a1612}
.mb-photo img{width:100%;height:100%;object-fit:cover;filter:contrast(1.05) saturate(.95) brightness(.82)}
.mb-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 32%,rgba(8,7,6,.94) 100%)}
.mb-info{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:30px}
.mb-info .cat{font-family:var(--mono);font-size:10.5px;letter-spacing:0.22em;text-transform:uppercase;color:var(--ember);font-weight:600}
.mb-info h4{font-family:var(--display);font-weight:700;font-size:34px;line-height:.98;text-transform:uppercase;color:var(--bone);margin-top:8px;letter-spacing:.01em}
.mb-info p{font-size:14px;line-height:1.5;color:var(--bone-2);margin-top:10px;max-width:380px}
.mb-info a{display:inline-flex;align-items:center;gap:10px;margin-top:18px;font-family:var(--mono);font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--bone);border-bottom:1px solid var(--red);padding-bottom:6px;transition:color .15s;font-weight:600}
.mb-info a:hover{color:var(--ember)}

/* ============ BOTÕES ============ */
/* ferrugem retangular com seta (estilo 44steaks) */
.btn-red{background:var(--red);color:#fff;font-family:var(--mono);font-size:12px;letter-spacing:0.22em;text-transform:uppercase;font-weight:500;padding:18px 30px;display:inline-flex;align-items:center;gap:14px;border:1px solid var(--red);transition:background .16s, border-color .16s, transform .16s}
.btn-red:hover{background:var(--red-2);border-color:var(--red-2);transform:translateY(-2px)}
.btn-red .arr{transition:transform .2s}
.btn-red:hover .arr{transform:translateX(6px)}
/* fantasma — adapta cor ao fundo */
.btn-ghost{color:#fff;font-family:var(--mono);font-size:12px;letter-spacing:0.22em;text-transform:uppercase;font-weight:500;padding:18px 30px;display:inline-flex;align-items:center;gap:14px;border:1px solid rgba(255,255,255,.55);transition:border-color .16s, background .16s, transform .16s}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08);transform:translateY(-2px)}
.btn-ghost .arr{transition:transform .2s}
.btn-ghost:hover .arr{transform:translateX(6px)}
/* fantasma sobre fundo claro */
.on-light .btn-ghost,.btn-ghost.dark{color:var(--ink);border-color:var(--line-strong)}
.on-light .btn-ghost:hover,.btn-ghost.dark:hover{border-color:var(--ink);background:rgba(28,28,28,.04)}

/* ============================================================================
   HERO — full-bleed foto/vídeo escuro, texto CENTRALIZADO
   linha fina espaçada em cima + headline GIGANTE comprimida embaixo
   ============================================================================ */
.hero{position:relative;min-height:min(880px,calc(100vh - 84px));background:var(--black);overflow:hidden}
.hero-video{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none;background:#0c0b0a}
.hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:contrast(1.08) saturate(.95) brightness(.62);z-index:0;animation:heroZoom 24s ease-in-out infinite alternate}
.hero-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;filter:contrast(1.04) saturate(.96) brightness(.7)}
@keyframes heroZoom{from{transform:scale(1.02)}to{transform:scale(1.1)}}
.hero-scrim,.hero-grain{display:none}
.hero-scrim{position:absolute;inset:0;z-index:2;pointer-events:none;display:block;background:
  radial-gradient(ellipse at 50% 42%, rgba(0,0,0,.12), transparent 62%),
  linear-gradient(180deg, rgba(8,7,6,.55) 0%, rgba(8,7,6,.18) 32%, rgba(8,7,6,.34) 64%, rgba(8,7,6,.82) 100%)}

.hero-inner{position:relative;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:min(880px,calc(100vh - 84px));padding:120px 40px 96px;max-width:var(--maxw);margin:0 auto}
.hero-main{display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;max-width:1080px}
.hero-eyebrow{font-family:var(--mono);font-size:13px;letter-spacing:0.42em;text-transform:uppercase;color:var(--bone);font-weight:500;margin-bottom:30px;opacity:.95;display:inline-flex;align-items:center;gap:18px}
.hero-eyebrow::before,.hero-eyebrow::after{content:"";width:42px;height:1px;background:rgba(250,248,241,.5)}
.hero-h1{font-family:var(--display);font-weight:700;font-size:clamp(56px,10.5vw,168px);line-height:0.9;letter-spacing:0.01em;color:var(--bone);text-transform:uppercase;text-wrap:balance}
.hero-h1 br{display:block}
.hero-h1 .red{color:var(--amber);font-weight:700}
.hero-h1 .out{color:var(--bone)}
.hero-sub{display:flex;flex-direction:column;align-items:center;gap:0;margin-top:34px;width:100%}
.hero-desc{font-family:var(--sans);font-size:clamp(16px,1.4vw,20px);line-height:1.62;color:var(--bone-2);max-width:660px;text-align:center}
.hero-desc::before{content:"";display:block;width:54px;height:2px;background:var(--red);margin:0 auto 22px}
.hero-mini-stats{display:none}  /* 44 não mostra mini-stats no herói; vamos pro hero-bottom-bar */
.hero-actions{display:flex;flex-direction:row;flex-wrap:wrap;gap:16px;align-items:center;justify-content:center;margin-top:40px}

/* faixa de números na base do herói (estilo "selos/depoimentos" 44) */
.hero-bottom-bar{position:relative;z-index:3;background:var(--black);border-top:1px solid var(--line-dk)}
.hbb-row{display:grid;grid-template-columns:1.5fr repeat(4,1fr);align-items:stretch;max-width:var(--maxw);margin:0 auto}
.hbb-cell{padding:26px 28px;border-right:1px solid var(--line-dk);display:flex;align-items:center;gap:16px}
.hbb-cell:last-child{border-right:0}
.hbb-cell .n{font-family:var(--display);font-weight:700;font-size:32px;color:var(--bone);line-height:1;letter-spacing:.01em}
.hbb-cell .n .red{color:var(--amber)}
.hbb-cell .l{font-family:var(--mono);font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--bone-mute);line-height:1.6}
.hbb-cell.title{background:var(--red);color:#fff}
.hbb-cell.title .l{color:#fff;opacity:.85}
.hbb-cell.title .display{font-family:var(--display);font-weight:700;font-size:24px;letter-spacing:.02em;text-transform:uppercase;line-height:1}

/* ============ WELCOME trio (BEM-VINDO / DO JEITO CERTO / DA GENÉTICA AO PRATO) ============ */
section.welcome{background:var(--bg);padding:104px 0 0}
.welcome .wel-intro{max-width:920px;margin:0 auto;text-align:center;padding-bottom:64px}
.welcome .wel-intro .l-tag{display:inline-flex;align-items:center;gap:14px;justify-content:center}
.welcome .wel-intro .l-tag::before,.welcome .wel-intro .l-tag::after{content:"";width:30px;height:1px;background:var(--red)}
.welcome .wel-intro h2{font-family:var(--display);font-weight:700;font-size:clamp(36px,4.8vw,76px);line-height:.94;text-transform:uppercase;color:var(--ink);letter-spacing:.01em;margin-top:18px}
.welcome .wel-intro h2 .red{color:var(--red)}
.welcome .wel-intro p{font-family:var(--sans);font-size:18.5px;line-height:1.66;color:var(--ink-2);margin-top:24px;max-width:680px;margin-left:auto;margin-right:auto}
.welcome .wel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.welcome .wel{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:48px 38px;display:flex;flex-direction:column;gap:16px;transition:background .15s}
.welcome .wel:hover{background:var(--cream)}
.welcome .wel .no{font-family:var(--mono);font-size:12px;letter-spacing:.26em;color:var(--red);font-weight:600}
.welcome .wel h4{font-family:var(--display);font-weight:700;font-size:30px;text-transform:uppercase;color:var(--ink);line-height:1;letter-spacing:.01em}
.welcome .wel h4 .it{color:var(--red)}
.welcome .wel p{font-size:15.5px;line-height:1.66;color:var(--mute);max-width:340px}

/* ============ SECTION BASE ============ */
section.s{position:relative;background:var(--bg)}
.s-head{display:grid;grid-template-columns:1fr 1.6fr;gap:64px;padding:100px 0 56px;align-items:end}
.s-head .l-tag{display:flex;align-items:center;gap:14px}
.s-head .l-tag::before{content:"";width:34px;height:1px;background:var(--red)}
.s-head h2{font-family:var(--display);font-weight:700;font-size:clamp(44px,6.4vw,104px);line-height:0.9;text-transform:uppercase;letter-spacing:0.01em;color:var(--ink);margin-top:18px}
.s-head h2 .out{color:var(--mute-2)}
.s-head h2 .red{color:var(--red)}
.s-head .r p{font-family:var(--sans);font-size:18px;line-height:1.62;color:var(--ink-2);max-width:560px}
.s-head .r .meta{margin-top:26px;display:flex;gap:26px;flex-wrap:wrap;font-family:var(--mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--mute)}
.s-head .r .meta a{color:var(--red);font-weight:600}

/* ============ MARCAS (carrossel) ============ */
section.marcas{background:var(--bg);padding-bottom:96px}
section.marcas .wrap{max-width:var(--maxw)}
.bcar{position:relative;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--cream)}
.bcar-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.bcar-track::-webkit-scrollbar{display:none}
.bcard{position:relative;flex:0 0 clamp(320px,30vw,420px);height:560px;scroll-snap-align:start;overflow:hidden;border-right:1px solid var(--line);display:block;text-decoration:none;background:var(--black)}
.bcard .ph{position:absolute;inset:0;z-index:1}
.bcard .ph img{width:100%;height:100%;object-fit:cover;filter:contrast(1.04) saturate(.97) brightness(.74);transition:transform .8s ease}
.bcard:hover .ph img{transform:scale(1.07)}
.bcard .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,7,6,.05) 0%,rgba(8,7,6,.18) 40%,rgba(8,7,6,.92) 100%)}
.bcard .top{position:absolute;top:24px;left:26px;right:26px;z-index:3;display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--bone)}
.bcard .top .cat{color:var(--ember);font-weight:600}
.bcard .ct{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:32px 28px 30px;display:flex;flex-direction:column;gap:15px}
.bcard .logo{height:54px;max-width:80%;object-fit:contain;object-position:left bottom;margin-bottom:2px}
.bcard .nm{font-family:var(--display);font-weight:700;font-size:38px;text-transform:uppercase;color:var(--bone);line-height:.92;letter-spacing:.01em}
.bcard p{font-size:14.5px;line-height:1.56;color:var(--bone-2);max-width:300px;min-height:66px}
.bcard .go{font-family:var(--mono);font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:var(--bone);display:inline-flex;gap:10px;align-items:center;border-bottom:1px solid var(--red);padding-bottom:8px;width:fit-content;font-weight:600;transition:color .15s,gap .15s}
.bcard:hover .go{color:var(--ember);gap:16px}
.bcard .ncount{font-family:var(--mono);font-size:9.5px;letter-spacing:0.16em;color:var(--bone);background:rgba(8,7,6,.55);border:1px solid var(--line-dk-strong);padding:5px 10px;backdrop-filter:blur(6px)}
.bcar-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:8;width:54px;height:54px;border:1px solid rgba(250,248,241,.45);background:rgba(8,7,6,.55);color:var(--bone);backdrop-filter:blur(10px);font-size:22px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,border-color .15s}
.bcar-arrow:hover{background:var(--red);border-color:var(--red)}
.bcar-prev{left:18px}.bcar-next{right:18px}
.bcar-hint{display:none}

/* ============ BRAND WALL (faixa de logos brancos sobre PRETO) ============ */
section.brandwall{background:var(--black);padding:0}
.bw-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-top:1px solid var(--line-dk);border-left:1px solid var(--line-dk)}
.bw{border-right:1px solid var(--line-dk);border-bottom:1px solid var(--line-dk);padding:42px 28px;min-height:220px;display:flex;flex-direction:column;justify-content:space-between;gap:20px;cursor:pointer;position:relative;background:var(--black);transition:background .2s;overflow:hidden}
.bw::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 40%, rgba(154,51,36,0), transparent 70%);transition:background .25s}
.bw:hover{background:#171411}
.bw:hover::before{background:radial-gradient(ellipse at 50% 40%, rgba(154,51,36,.16), transparent 70%)}
.bw .bw-top{display:flex;justify-content:space-between;align-items:flex-start;font-family:var(--mono);font-size:9.5px;letter-spacing:0.2em;text-transform:uppercase;color:var(--bone-mute);position:relative;z-index:1}
.bw .bw-top .cat{color:var(--ember);font-weight:600}
.bw .bw-logo{flex:1;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;padding:6px 0}
.bw .bw-logo img{max-height:74px;max-width:160px;width:auto;object-fit:contain;opacity:.9;transition:opacity .2s, transform .2s}
.bw:hover .bw-logo img{opacity:1;transform:scale(1.05)}
.bw .bw-type{font-family:var(--display);font-weight:700;font-size:30px;text-transform:uppercase;color:var(--bone);letter-spacing:.01em;line-height:.9;text-align:center}
.bw .bw-foot{font-family:var(--mono);font-size:9px;letter-spacing:0.18em;text-transform:uppercase;color:var(--bone-mute);display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line-dk);padding-top:14px;position:relative;z-index:1}
.bw .bw-foot .arr{transition:transform .18s, color .18s}
.bw:hover .bw-foot .arr{color:var(--ember);transform:translateX(4px)}

/* ============ SPOTLIGHT (full-bleed escuro) ============ */
section.spotlight{position:relative;min-height:780px;background:var(--black);overflow:hidden}
.sp-img{position:absolute;inset:0;z-index:1}
.sp-img img{width:100%;height:100%;object-fit:cover;filter:contrast(1.05) saturate(.92) brightness(.62)}
.sp-img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg, rgba(8,7,6,.92) 0%, rgba(8,7,6,.72) 38%, rgba(8,7,6,.28) 66%, rgba(8,7,6,.6) 100%)}
.sp-content{position:relative;z-index:2;min-height:780px;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding:100px 40px;max-width:var(--maxw);margin:0 auto}
.sp-text .lab{font-family:var(--mono);font-size:11.5px;letter-spacing:0.3em;text-transform:uppercase;color:var(--ember);font-weight:600;display:flex;align-items:center;gap:14px;margin-bottom:24px}
.sp-text .lab::before{content:"";width:48px;height:1px;background:var(--ember)}
.sp-text .sml{font-family:var(--mono);font-size:13px;letter-spacing:0.2em;text-transform:uppercase;color:var(--bone);margin-bottom:12px}
.sp-text h2{font-family:var(--display);font-weight:700;font-size:clamp(60px,9vw,150px);line-height:0.88;text-transform:uppercase;color:var(--bone);letter-spacing:.01em}
.sp-text h2 .it{color:var(--amber);font-weight:700}
.sp-text h2 .out{color:var(--bone-mute)}
.sp-text .lead{margin-top:30px;font-family:var(--sans);font-size:18.5px;line-height:1.62;color:var(--bone-2);max-width:540px}
.sp-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-top:48px;border-top:1px solid var(--line-dk)}
.sp-stats .st{padding:26px 0;border-bottom:1px solid var(--line-dk);display:flex;justify-content:space-between;align-items:end;gap:20px}
.sp-stats .st:nth-child(odd){padding-right:28px;border-right:1px solid var(--line-dk)}
.sp-stats .st:nth-child(even){padding-left:28px}
.sp-stats .st .n{font-family:var(--display);font-weight:700;font-size:56px;line-height:.95;color:var(--bone);letter-spacing:.01em}
.sp-stats .st .n .red{color:var(--amber)}
.sp-stats .st .l{font-family:var(--mono);font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--bone-mute);text-align:right;max-width:150px;line-height:1.55}
.sp-actions{margin-top:42px;display:flex;gap:16px;flex-wrap:wrap}

/* ============ HERITAGE band (creme) ============ */
.heritage{background:var(--cream);padding:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.her-row{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;align-items:stretch;max-width:var(--maxw);margin:0 auto}
.her-row > div{padding:42px 32px;border-right:1px solid var(--line)}
.her-row > div:last-child{border-right:0}
.her-title{display:flex;flex-direction:column;justify-content:center;gap:10px;background:var(--cream-2)}
.her-title .a{font-family:var(--mono);font-size:11.5px;letter-spacing:0.26em;text-transform:uppercase;color:var(--red);font-weight:600}
.her-title .b{font-family:var(--display);font-weight:700;font-size:46px;line-height:.95;text-transform:uppercase;color:var(--ink);letter-spacing:.01em}
.her-title .b .red{color:var(--red)}
.her-cell .n{font-family:var(--display);font-weight:700;font-size:56px;color:var(--ink);line-height:.95;letter-spacing:.01em}
.her-cell .n sup{font-size:.5em;color:var(--red);vertical-align:super}
.her-cell .l{font-family:var(--mono);font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--mute);margin-top:10px;line-height:1.55}

/* ============ GENÉTICA (full-bleed escuro, headline gigante) ============ */
section.genetica{background:var(--black);position:relative;overflow:hidden}
.gen-bg{position:absolute;inset:0;z-index:1}
.gen-bg img{width:100%;height:100%;object-fit:cover;filter:contrast(1.08) brightness(.5) saturate(.82)}
.gen-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,7,6,.72),rgba(8,7,6,.94))}
.gen-inner{position:relative;z-index:2;padding:104px 40px;max-width:var(--maxw);margin:0 auto}
.gen-mono{display:flex;justify-content:space-between;gap:24px;font-family:var(--mono);font-size:11.5px;letter-spacing:0.26em;text-transform:uppercase;color:var(--bone-mute);padding-bottom:24px;border-bottom:1px solid var(--line-dk);margin-bottom:52px}
.gen-mono span:first-child{color:var(--ember);font-weight:600}
.gen-mono span:last-child{color:var(--bone)}
.gen-headline{font-family:var(--display);font-weight:700;font-size:clamp(80px,15vw,260px);line-height:0.86;letter-spacing:.01em;text-transform:uppercase;color:var(--bone)}
.gen-headline .out{color:var(--bone-mute)}
.gen-headline .red{color:var(--amber);font-weight:700}
.gen-sub{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:48px;margin-top:64px;padding-top:48px;border-top:1px solid var(--line-dk);align-items:start}
.gen-sub .lead{font-family:var(--sans);font-size:19px;line-height:1.58;color:var(--bone-2);max-width:480px}
.gen-pillar h5{font-family:var(--display);font-weight:700;font-size:24px;text-transform:uppercase;color:var(--bone);letter-spacing:.01em;margin-bottom:10px}
.gen-pillar h5 .it{color:var(--amber)}
.gen-pillar p{font-family:var(--sans);font-size:14.5px;line-height:1.58;color:var(--bone-mute)}
.gen-pillar .pno{font-family:var(--mono);font-size:10.5px;letter-spacing:0.24em;color:var(--ember);font-weight:600;display:block;margin-bottom:14px}
.gen-actions{margin-top:56px;display:flex;gap:16px;flex-wrap:wrap}

/* ============ CERTIFICAÇÕES (faixa creme, borda ferrugem) ============ */
section.cert{background:var(--cream);color:var(--ink);padding:100px 0;border-top:5px solid var(--red);border-bottom:5px solid var(--red)}
.cert-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:72px;align-items:center}
.cert-text .lab{font-family:var(--mono);font-size:11.5px;letter-spacing:0.3em;text-transform:uppercase;color:var(--red);font-weight:600;display:flex;align-items:center;gap:14px;margin-bottom:24px}
.cert-text .lab::before{content:"";width:48px;height:1px;background:var(--red)}
.cert-text h2{font-family:var(--display);font-weight:700;font-size:clamp(44px,6vw,100px);line-height:0.88;text-transform:uppercase;color:var(--ink);letter-spacing:.01em}
.cert-text h2 .red{color:var(--red)}
.cert-text h2 .out{color:var(--mute-2)}
.cert-text .body{margin-top:28px;font-size:17px;line-height:1.65;color:var(--ink-2);max-width:540px}
.cert-meta{margin-top:30px;display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line)}
.cert-meta .cm{padding:20px 0;border-bottom:1px solid var(--line)}
.cert-meta .cm:nth-child(odd){padding-right:28px;border-right:1px solid var(--line)}
.cert-meta .cm:nth-child(even){padding-left:28px}
.cert-meta .cm .k{font-family:var(--mono);font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--mute)}
.cert-meta .cm .v{font-family:var(--display);font-weight:600;font-size:19px;text-transform:uppercase;color:var(--ink);margin-top:6px;letter-spacing:.01em}
.cert-seals{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cert-seals .seal{background:#fff;border:1px solid var(--line);padding:34px 24px;display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center;position:relative;aspect-ratio:1/1.1;box-shadow:var(--shadow-soft)}
.cert-seals .seal::before{content:"";position:absolute;top:0;left:0;width:34px;height:34px;border-top:3px solid var(--red);border-left:3px solid var(--red)}
.cert-seals .seal::after{content:"";position:absolute;bottom:0;right:0;width:34px;height:34px;border-bottom:3px solid var(--red);border-right:3px solid var(--red)}
.cert-seals .seal img{height:130px;width:auto;object-fit:contain}
.cert-seals .seal .cap{font-family:var(--mono);font-size:10px;letter-spacing:0.24em;text-transform:uppercase;color:var(--mute)}
.cert-seals .seal .nm{font-family:var(--display);font-weight:700;font-size:20px;text-transform:uppercase;color:var(--ink);letter-spacing:.01em}
.cert-seals .seal .nm .red{color:var(--red)}

/* ============ NEWS ============ */
section.news{background:var(--bg);padding-bottom:100px}
.news-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.news-card{border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;cursor:pointer;background:var(--bg);transition:background .18s}
.news-card:hover{background:var(--cream)}
.news-card .img{aspect-ratio:16/10;background:var(--cream-2);overflow:hidden;position:relative}
.news-card.lg .img{aspect-ratio:16/12}
.news-card .img img{width:100%;height:100%;object-fit:cover;transition:transform .65s ease}
.news-card:hover .img img{transform:scale(1.05)}
.news-card .img .cat{position:absolute;top:16px;left:16px;background:var(--red);color:#fff;font-family:var(--mono);font-size:10px;letter-spacing:0.2em;text-transform:uppercase;padding:6px 11px;font-weight:600}
.news-card .img .date{position:absolute;top:16px;right:16px;font-family:var(--mono);font-size:10px;letter-spacing:0.16em;color:#fff;background:rgba(8,7,6,.6);padding:6px 11px;backdrop-filter:blur(6px)}
.news-card .body{padding:26px 26px 30px;flex:1;display:flex;flex-direction:column;gap:14px}
.news-card .body h4{font-family:var(--display);font-weight:700;font-size:23px;text-transform:uppercase;color:var(--ink);letter-spacing:.01em;line-height:1.06}
.news-card.lg .body h4{font-size:34px}
.news-card .body h4 .it{color:var(--red)}
.news-card .body p{font-size:14.5px;line-height:1.6;color:var(--mute)}
.news-card .body .more{font-family:var(--mono);font-size:10.5px;letter-spacing:0.2em;text-transform:uppercase;color:var(--ink);border-top:1px solid var(--line);padding-top:15px;margin-top:auto;display:flex;justify-content:space-between}
.news-card .body .more .a{color:var(--red)}

/* ============ RECEITAS ============ */
section.receitas{background:var(--cream);padding-bottom:100px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.rec-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.rec{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg);cursor:pointer;transition:background .18s;text-align:left;display:flex;flex-direction:column}
.rec:hover{background:#fff}
.rec .img{aspect-ratio:4/5;background:var(--cream-2);overflow:hidden;position:relative}
.rec .img img{width:100%;height:100%;object-fit:cover;transition:transform .65s ease}
.rec:hover .img img{transform:scale(1.05)}
.rec .img .t{position:absolute;top:14px;left:14px;background:var(--red);color:#fff;font-family:var(--mono);font-size:10px;letter-spacing:0.2em;text-transform:uppercase;padding:6px 10px;font-weight:600}
.rec .img .tm{position:absolute;bottom:14px;right:14px;font-family:var(--mono);font-size:10px;letter-spacing:0.16em;color:#fff;background:rgba(8,7,6,.6);padding:6px 10px}
.rec .body{padding:22px 22px 24px;display:flex;flex-direction:column;gap:10px}
.rec h5{font-family:var(--display);font-weight:700;font-size:19px;text-transform:uppercase;color:var(--ink);letter-spacing:.01em;line-height:1.12}
.rec h5 .it{color:var(--red)}
.rec .mt{font-family:var(--mono);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--mute);display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:11px;margin-top:6px}

/* ============ GRUPO VPJ ============ */
section.grupo{background:var(--bg);padding-bottom:100px}
.grp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.grp{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:34px 30px;min-height:340px;display:flex;flex-direction:column;gap:20px;background:var(--bg);position:relative;cursor:pointer;transition:background .18s}
.grp:hover{background:var(--cream)}
.grp:hover .arr{color:var(--red);transform:translateX(6px)}
.grp .top{display:flex;justify-content:space-between;align-items:flex-start}
.grp .no{font-family:var(--mono);font-size:11px;letter-spacing:0.22em;color:var(--red);font-weight:600}
.grp .arr{font-family:var(--mono);font-size:18px;color:var(--mute);transition:color .15s, transform .15s}
.grp .nm{font-family:var(--display);font-weight:700;font-size:42px;text-transform:uppercase;color:var(--ink);line-height:.9;letter-spacing:.01em;margin-top:auto}
.grp .nm .it{color:var(--red)}
.grp .desc{font-size:14.5px;line-height:1.6;color:var(--mute);max-width:280px}
.grp .foot{font-family:var(--mono);font-size:9.5px;letter-spacing:0.2em;text-transform:uppercase;color:var(--mute);display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:15px}

/* ============ CTA (ferrugem) ============ */
.cta{background:var(--red);color:#fff;padding:84px 0}
.cta-row{display:grid;grid-template-columns:1.6fr 1fr;gap:56px;align-items:center}
.cta h3{font-family:var(--display);font-weight:700;font-size:clamp(38px,5.4vw,84px);line-height:0.92;text-transform:uppercase;letter-spacing:.01em}
.cta h3 .out{color:rgba(255,255,255,.55)}
.cta .act{display:flex;flex-direction:column;align-items:flex-start;gap:20px}
.cta .act .btn{background:var(--black);color:#fff;padding:20px 30px;font-family:var(--mono);font-size:12px;letter-spacing:0.22em;text-transform:uppercase;font-weight:500;display:inline-flex;align-items:center;gap:14px;border:1px solid var(--black);transition:background .15s, color .15s, transform .15s}
.cta .act .btn:hover{background:#fff;color:var(--red);border-color:#fff;transform:translateY(-2px)}
.cta .wp{font-family:var(--mono);font-size:11px;letter-spacing:0.2em;text-transform:uppercase;color:#fff}
.cta .wp b{display:block;font-family:var(--display);font-weight:700;font-size:34px;color:#fff;letter-spacing:.02em;margin-top:8px;text-transform:none}

/* ============ FOOTER (preto, estilo 44steaks) ============ */
footer{background:var(--black);color:var(--bone);padding:88px 0 36px}
.ft-top{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:56px;padding-bottom:60px;border-bottom:1px solid var(--line-dk)}
.ft-logo{height:88px;width:auto;margin-bottom:4px}
.ft-brand .desc{margin-top:24px;font-size:15px;line-height:1.62;color:var(--bone-mute);max-width:360px}
.ft-brand .soc{margin-top:26px;display:flex;gap:8px}
.ft-brand .soc a{width:44px;height:44px;border:1px solid var(--line-dk);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--bone);transition:background .15s,border-color .15s}
.ft-brand .soc a:hover{background:var(--red);border-color:var(--red)}
.ft-col h6{font-family:var(--mono);font-size:11px;letter-spacing:0.26em;text-transform:uppercase;color:var(--ember);font-weight:600;margin-bottom:24px}
.ft-col ul{list-style:none;display:flex;flex-direction:column;gap:11px}
.ft-col a{font-family:var(--display);font-weight:600;font-size:19px;text-transform:uppercase;color:var(--bone);letter-spacing:.02em;transition:color .15s}
.ft-col a:hover{color:var(--ember)}
.ft-col a .it{color:var(--bone-mute)}
.ft-col a:hover .it{color:var(--ember)}
.ft-col .addr{font-family:var(--mono);font-size:11px;letter-spacing:0.14em;color:var(--bone-mute);text-transform:uppercase;margin-top:20px;line-height:1.9}
.ft-bot{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding-top:34px;font-family:var(--mono);font-size:10.5px;letter-spacing:0.2em;text-transform:uppercase;color:var(--bone-mute)}
.ft-bot .ctr{display:flex;flex-direction:column;align-items:center;gap:6px}
.ft-bot .ctr .y{font-family:var(--display);font-weight:700;font-size:19px;color:var(--bone);letter-spacing:.04em}
.ft-bot .r{justify-self:end;display:flex;gap:20px}
.ft-bot .r a:hover{color:var(--bone)}

/* ============ PAGE HEAD genérico (claro) ============ */
.pagehead{background:var(--cream);border-bottom:1px solid var(--line);padding:88px 0 64px}
.pagehead .ph-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:56px;align-items:end}
.pagehead .l-tag{display:flex;align-items:center;gap:14px}
.pagehead .l-tag::before{content:"";width:34px;height:1px;background:var(--red)}
.pagehead h1{font-family:var(--display);font-weight:700;font-size:clamp(48px,6.6vw,108px);line-height:0.88;text-transform:uppercase;color:var(--ink);letter-spacing:.01em;margin-top:18px}
.pagehead h1 .red{color:var(--red)}
.pagehead h1 .out{color:var(--mute-2)}
.pagehead p{font-family:var(--sans);font-size:18px;line-height:1.62;color:var(--ink-2);max-width:480px}

/* ============ WhatsApp float ============ */
.wa-float{position:fixed;right:24px;bottom:24px;z-index:200;width:60px;height:60px;border-radius:50%;
  background:#25d366;color:#fff;display:flex;align-items:center;justify-content:center;
  box-shadow:0 12px 34px -8px rgba(0,0,0,.4),0 0 0 0 rgba(37,211,102,.6);transition:transform .18s;animation:waPulse 2.6s infinite}
.wa-float:hover{transform:scale(1.08)}
@keyframes waPulse{0%{box-shadow:0 12px 34px -8px rgba(0,0,0,.4),0 0 0 0 rgba(37,211,102,.5)}70%{box-shadow:0 12px 34px -8px rgba(0,0,0,.4),0 0 0 16px rgba(37,211,102,0)}100%{box-shadow:0 12px 34px -8px rgba(0,0,0,.4),0 0 0 0 rgba(37,211,102,0)}}

/* ============ números grandes: usar Oswald em vez de archivo ============ */
.hbb-cell .n,.sp-stats .st .n,.her-cell .n,.nums-dark .nm .n,.fs-nums .nm .n,.proof .pc .n,.mapstats .ms .n,
.tl-row .yr,.step .yr,.cta .wp b{font-family:var(--display)}

/* ============ RESPONSIVO base ============ */
@media (max-width:1100px){
  .wrap{padding:0 24px}
  .nav-row{grid-template-columns:auto 1fr auto;padding:0 24px}
  .nav-toggle{display:flex}
  .nav-links{position:fixed;top:84px;left:0;right:0;bottom:0;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;background:rgba(255,255,255,.99);backdrop-filter:blur(14px);padding:8px 0;transform:translateX(100%);opacity:1;visibility:visible;transition:transform .26s ease;overflow-y:auto;z-index:120}
  .nav-open .nav-links{transform:translateX(0)}
  .nav-links .nav-link{justify-content:space-between;padding:20px 28px;font-size:15px;letter-spacing:.12em;border-bottom:1px solid var(--line)}
  .nav-links .nav-link::after{display:none}
  .nav-item{width:100%}
  .mega{position:static;transform:none;min-width:0;width:100%;opacity:1;visibility:visible;box-shadow:none;border:0;display:none}
  .nav-item.open .mega{display:block}
  .mega.brands{min-width:0}
  .mega-brands-grid{grid-template-columns:1fr}
  .mb-preview{display:none}
  .mb-list{max-height:none}
  .nav-right .lang{display:none}
  .bw-grid{grid-template-columns:1fr 1fr}
  .sp-content,.cert-grid,.cta-row,.gen-sub{grid-template-columns:1fr;gap:36px}
  .news-grid,.rec-grid,.grp-grid{grid-template-columns:1fr 1fr}
  .news-card.lg{grid-column:span 2}
  .hbb-row,.her-row{grid-template-columns:1fr 1fr}
  .s-head{grid-template-columns:1fr;gap:24px}
  .ft-top{grid-template-columns:1fr 1fr}
}
