
  :root{
    --green:#1f4d38; --green2:#2f6b4f; --green-soft:#e8f0ea;
    --ink:#1b241f; --mut:#5f6b64; --line:#e0e4e1;
    --amber:#e0a020; --amber-d:#b87d10; --amber-ink:#3a2a00;
    --paper:#f7f6f2; --card:#ffffff;
  }
  *{box-sizing:border-box}
  body{max-width:none;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,sans-serif;
    background:#c7cdc8;color:var(--ink);line-height:1.5}
  .serif{font-family:Georgia,"Times New Roman",serif}
  /* toolbar */
  
  
  
  
  
  /* stage / device */
  
  
  
  
  /* header bar */
  .nav{display:flex;align-items:center;justify-content:space-between;
    padding:12px 16px;background:var(--paper);border-bottom:1px solid var(--line);position:relative}
  .brand{font-weight:800;color:var(--green);font-size:16px;letter-spacing:.2px}
  .brand span{color:var(--amber-d)}
  .burger{font-size:18px;color:var(--green)}
  /* hero */
  .hero{position:relative;color:#fff}
  .hero .photo{height:230px;
    background:linear-gradient(180deg,rgba(20,33,26,.15),rgba(20,33,26,.78)),
    radial-gradient(circle at 30% 30%,#4a7a5e,#274536 70%);
    display:flex;align-items:flex-end}
  .hero .photo .lbl{position:absolute;top:10px;left:12px;font-size:10px;font-family:monospace;
    color:#dfeee5;background:rgba(0,0,0,.25);padding:2px 7px;border-radius:4px}
  .hero .htext{padding:16px}
  .hero h1{margin:0 0 8px;font-size:23px;line-height:1.22;font-weight:700}
  .hero .sub{font-size:13.5px;color:#e6efe9;margin:0 0 14px}
  /* generic block */
  .blk{padding:20px 16px;border-top:1px solid var(--line)}
  .blk.green{background:var(--green-soft);border-top:none}
  .eyebrow{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;
    color:var(--green2);margin-bottom:6px}
  h2{font-size:19px;margin:.1em 0 .5em;line-height:1.25}
  h3{font-size:14.5px;margin:.2em 0 .3em}
  p{margin:.45em 0;font-size:13.5px}
  .sub{color:var(--mut);font-size:13px}
  /* CTA */
  .cta{display:block;text-align:center;background:var(--amber);color:var(--amber-ink);
    font-weight:800;border-radius:10px;padding:14px;margin:10px 0 6px;font-size:14.5px;
    box-shadow:0 4px 12px rgba(224,160,32,.35);text-decoration:none}
  .cta.dark{background:var(--green);color:#fff;box-shadow:none}
  .cta.sec{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.7);
    box-shadow:none;font-weight:600}
  .cta.secink{background:transparent;color:var(--green);border:1.5px solid var(--green);
    box-shadow:none;font-weight:700}
  /* qualification bar */
  .qual{background:var(--green);color:#eaf2ed;font-size:11px;font-weight:600;
    padding:11px 12px;text-align:center;letter-spacing:.2px}
  .qual b{color:var(--amber)}
  /* stats */
  .stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;text-align:center}
  .stats .n{font-size:22px;font-weight:800;color:var(--green)}
  .stats small{font-size:10.5px;color:var(--mut);display:block}
  /* bullets */
  ul.res{margin:.4em 0;padding-left:0;list-style:none}
  ul.res li{font-size:13.5px;margin:.5em 0;padding-left:24px;position:relative}
  ul.res li::before{content:"✔";position:absolute;left:0;top:0;color:var(--green2);font-weight:700}
  /* cards */
  .grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--card)}
  .card .thumb{height:82px;background:linear-gradient(135deg,#6a9a7c,#3a6350);position:relative}
  .card .thumb.f2{background:linear-gradient(135deg,#8bab6a,#4d6b3a)}
  .card .thumb.f3{background:linear-gradient(135deg,#c9a35a,#8a6a2a)}
  .card .thumb.f4{background:linear-gradient(135deg,#5a8a9a,#2a5563)}
  .card .thumb .lbl{position:absolute;bottom:6px;left:8px;font-size:9px;font-family:monospace;color:#fff;opacity:.8}
  .card .body{max-width:none;padding:10px}
  .card small{color:var(--mut);font-size:11px}
  .card.link .body::after{content:"→";float:right;color:var(--green2);font-weight:700}
  /* photo placeholder */
  .photobox{border-radius:12px;height:120px;position:relative;
    background:linear-gradient(135deg,#6a9a7c,#31543f)}
  .photobox.b{background:linear-gradient(135deg,#a9863f,#5f4a1e)}
  .photobox .lbl{position:absolute;bottom:8px;left:10px;font-size:10px;font-family:monospace;color:#fff;opacity:.85}
  /* testimonial */
  .quote{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--amber);
    border-radius:10px;padding:14px;font-size:13.5px;font-style:italic;color:#33403a}
  .quote span{display:block;font-style:normal;font-size:11px;color:var(--mut);margin-top:8px}
  .logos{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
  .logo{background:#fff;border:1px solid var(--line);border-radius:8px;height:48px;
    display:flex;align-items:center;justify-content:center;font-size:9px;font-family:monospace;color:#9aa69f;
    padding:7px;overflow:hidden}
  .logo img{max-width:100%;max-height:100%;object-fit:contain;
    filter:grayscale(1);opacity:.72;transition:filter .3s, opacity .3s, transform .3s}
  .logo:hover img{filter:grayscale(0);opacity:1;transform:scale(1.05)}
  .reviews{display:flex;align-items:center;gap:8px;margin-top:12px;font-size:12px;color:var(--mut)}
  .stars{color:var(--amber);font-size:14px;letter-spacing:1px}
  /* specs */
  .specs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .spec{border:1px solid var(--line);border-radius:10px;padding:10px;background:var(--card)}
  .spec small{font-size:10.5px;color:var(--mut);text-transform:uppercase;letter-spacing:.5px}
  .spec b{display:block;font-size:15px;color:var(--green);margin-top:2px}
  /* form */
  .form{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px}
  .field{background:#fbfbf9;border:1px solid var(--line);border-radius:8px;
    padding:11px;font-size:12.5px;color:#9aa39d;margin:7px 0}
  .field.sel{position:relative}
  .field.sel::after{content:"▾";position:absolute;right:12px;color:var(--green2)}
  /* faq */
  .faq details{border:1px solid var(--line);border-radius:10px;padding:11px 13px;margin:8px 0;background:var(--card)}
  .faq summary{font-weight:700;font-size:13px;cursor:pointer;color:var(--green)}
  .faq p{color:#44504a;font-size:12.5px;margin-top:7px}
  /* breadcrumb / pills */
  .breadcrumb{font-family:monospace;font-size:11px;color:var(--mut);padding:12px 16px 0}
  .breadcrumb b{color:var(--green)}
  .pill{display:inline-block;background:var(--green-soft);color:var(--green2);font-size:10.5px;
    border-radius:12px;padding:3px 10px;margin:3px 3px 0 0;font-weight:600}
  .tagcat{display:inline-block;background:var(--amber);color:var(--amber-ink);font-size:10px;
    font-weight:800;border-radius:4px;padding:2px 8px;text-transform:uppercase;letter-spacing:.5px}
  /* article */
  .article p{font-size:14px;color:#33403a}
  .article h2{font-size:17px;color:var(--green);margin-top:1em}
  .article .meta{font-size:11.5px;color:var(--mut);margin:6px 0 0}
  /* floating wpp */
  .wpp{position:absolute;right:12px;bottom:12px;background:#25a35a;color:#fff;
    border-radius:24px;padding:10px 15px;font-size:12px;font-weight:800;
    box-shadow:0 6px 16px rgba(0,0,0,.3);z-index:10}
  .wpp::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;
    background:#bff0d0;margin-right:6px;vertical-align:middle}
  /* footer */
  .foot{background:#14211a;color:#8fb3a0;font-size:11px;padding:18px 16px;line-height:1.8}
  .foot b{color:#e7efe9}
  /* seo note */
  
  
  

  /* =========================================================
     CAMADA MODERNA / ANIMADA / TECNOLÓGICA (override)
     ========================================================= */
  :root{ --paper:#faf9f6; }
  body{max-width:none;
    font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
    background:#0c1210;
    background-image:
      radial-gradient(circle at 18% 8%, rgba(47,107,79,.30), transparent 42%),
      radial-gradient(circle at 88% 20%, rgba(224,160,32,.14), transparent 40%),
      radial-gradient(circle at 50% 100%, rgba(47,107,79,.18), transparent 50%);
    background-attachment:fixed;
  }
  
  .serif{ font-family:'Space Grotesk','Inter',sans-serif; letter-spacing:-.6px; }
  

  /* toolbar em vidro */
  
  
  
  
  

  /* device com brilho / profundidade */
  

  /* nav / marca */
  .brand{ font-family:'Space Grotesk',sans-serif; letter-spacing:-.4px; }
  .nav{ background:rgba(250,249,246,.86); backdrop-filter:blur(8px); }

  /* transição de página */
  
  @keyframes pageIn{ from{opacity:0; transform:translateY(8px)} to{opacity:1; transform:none} }

  /* reveal no scroll */
  .has-js .blk,.has-js .article{ opacity:0; transform:translateY(28px); transition:opacity .6s cubic-bezier(.2,.7,.2,1), transform .6s cubic-bezier(.2,.7,.2,1); }
  .blk.is-in,.article.is-in{ opacity:1; transform:none; }

  /* hero animado */
  .has-js .hero{ opacity:0; transition:opacity .5s ease; }
  .hero.is-in{ opacity:1; }
  .hero .photo{ animation:kenburns 20s ease-in-out infinite alternate; will-change:filter,transform; }
  @keyframes kenburns{ from{filter:brightness(.98) saturate(1)} to{filter:brightness(1.08) saturate(1.12)} }
  .has-js .hero .htext>*{ opacity:0; transform:translateY(16px); transition:opacity .6s ease, transform .6s ease; }
  .hero.is-in .htext>*{ opacity:1; transform:none; }
  .hero.is-in .htext>*:nth-child(1){ transition-delay:.08s }
  .hero.is-in .htext>*:nth-child(2){ transition-delay:.18s }
  .hero.is-in .htext>*:nth-child(3){ transition-delay:.28s }
  .hero.is-in .htext>*:nth-child(4){ transition-delay:.36s }

  /* eyebrow com traço */
  .eyebrow{ display:inline-flex; align-items:center; gap:8px; }
  .eyebrow::before{ content:""; width:20px; height:2px; border-radius:2px; background:linear-gradient(90deg,var(--amber),transparent); }

  /* CTA com gradiente + brilho */
  .cta{
    background:linear-gradient(135deg,#ffca55,#e0921a); border-radius:13px;
    box-shadow:0 10px 26px -8px rgba(224,146,26,.6); position:relative; overflow:hidden;
    transition:transform .25s cubic-bezier(.2,.7,.2,1), box-shadow .25s; letter-spacing:.2px;
  }
  .cta::after{ content:""; position:absolute; top:0; left:-70%; width:45%; height:100%;
    background:linear-gradient(120deg,transparent,rgba(255,255,255,.55),transparent);
    transform:skewX(-20deg); }
  .cta:hover{ transform:translateY(-2px); box-shadow:0 16px 34px -8px rgba(224,146,26,.75); }
  .cta:hover::after{ animation:shine .85s ease; }
  @keyframes shine{ to{ left:135% } }
  .cta.dark{ background:linear-gradient(135deg,#3a7d5c,#1f4d38); box-shadow:0 10px 26px -10px rgba(31,77,56,.7); color:#fff; }
  .cta.sec, .cta.secink{ box-shadow:none; transition:transform .2s, background .2s, border-color .2s; }
  .cta.sec:hover{ background:rgba(255,255,255,.12); transform:translateY(-1px); }
  .cta.secink:hover{ background:var(--green-soft); transform:translateY(-1px); }

  /* barra de qualificação com shimmer */
  .qual{ background:linear-gradient(90deg,#1f4d38,#2f6b4f); position:relative; overflow:hidden; }
  .qual::after{ content:""; position:absolute; inset:0;
    background:linear-gradient(90deg,transparent, rgba(255,206,90,.22), transparent);
    transform:translateX(-100%); animation:qshimmer 5s ease-in-out infinite; }
  @keyframes qshimmer{ 0%,60%{transform:translateX(-100%)} 100%{transform:translateX(100%)} }

  /* estatísticas com número em gradiente + count-up */
  .stats .n{ font-family:'Space Grotesk',sans-serif;
    background:linear-gradient(135deg,#2f6b4f,#e0a020); -webkit-background-clip:text; background-clip:text; color:transparent; }

  /* cards com hover */
  .card{ transition:transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s, border-color .3s; will-change:transform; }
  .card.link{ cursor:pointer; }
  .card:hover{ transform:translateY(-4px); box-shadow:0 18px 34px -16px rgba(20,33,26,.4); border-color:#c2d8ca; }
  .card .thumb{ transition:transform .5s cubic-bezier(.2,.7,.2,1); }
  .card:hover .thumb{ transform:scale(1.06); }
  .card.link .body::after{ transition:transform .3s; display:inline-block; }
  .card.link:hover .body::after{ transform:translateX(4px); }

  /* pills / tags */
  .pill{ transition:transform .2s, background .2s; }
  .pill:hover{ transform:translateY(-1px); background:#dbe9e0; }
  .tagcat{ background:linear-gradient(135deg,#ffca55,#e0921a); }

  /* specs / form em cartão com leve elevação */
  .spec{ transition:transform .25s, box-shadow .25s; }
  .spec:hover{ transform:translateY(-2px); box-shadow:0 12px 24px -14px rgba(20,33,26,.35); }
  .form{ box-shadow:0 20px 40px -24px rgba(20,33,26,.28); }
  .field{ transition:border-color .2s, background .2s; }
  .field:hover{ border-color:#bcd0c4; background:#fff; }

  /* whatsapp flutuante com pulso */
  .wpp{ transition:transform .25s, box-shadow .25s; }
  .wpp:hover{ transform:translateY(-2px) scale(1.03); }
  .wpp::before{ animation:pulse 1.8s ease-out infinite; }
  @keyframes pulse{ 0%{box-shadow:0 0 0 0 rgba(191,240,208,.7)} 100%{box-shadow:0 0 0 9px rgba(191,240,208,0)} }

  /* foto/placeholder com brilho sutil */
  .photobox, .card .thumb{ position:relative; overflow:hidden; }
  .photobox::after{ content:""; position:absolute; inset:0;
    background:linear-gradient(120deg,transparent 40%, rgba(255,255,255,.14) 50%, transparent 60%);
    transform:translateX(-100%); animation:sweep 6s ease-in-out infinite; }
  @keyframes sweep{ 0%,70%{transform:translateX(-100%)} 100%{transform:translateX(100%)} }

  /* ---- hero com vídeo de fundo ---- */
  .hero .photo{ position:relative; }
  .heromedia{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
  .hero .photo.hasvideo::after{ content:""; position:absolute; inset:0; z-index:1;
    background:linear-gradient(180deg, rgba(20,33,26,.05) 0%, rgba(20,33,26,.35) 45%, rgba(15,24,18,.90) 100%); }
  .hero .photo.hasvideo .htext, .hero .photo.hasvideo .lbl{ position:relative; z-index:2; }
  .hero .photo.hasvideo{ animation:none; height:400px; }
  @media (prefers-reduced-motion: reduce){ .heromedia{ display:none; } }

  /* ---- vídeos de prova social ---- */
  .vgrid{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .vcard{ position:relative; border-radius:14px; overflow:hidden; background:#0e1512;
    border:1px solid var(--line); box-shadow:0 10px 26px -18px rgba(20,33,26,.5);
    transition:transform .3s cubic-bezier(.2,.7,.2,1), box-shadow .3s; }
  .vcard:hover{ transform:translateY(-4px); box-shadow:0 18px 34px -16px rgba(20,33,26,.45); }
  .vcard video{ display:block; width:100%; height:auto; aspect-ratio:9/16; object-fit:cover; background:#0e1512; }
  .vcard .vmeta{ position:absolute; left:0; right:0; bottom:0; padding:22px 10px 9px;
    background:linear-gradient(transparent, rgba(8,14,11,.88)); color:#fff; pointer-events:none; }
  .vcard .vmeta b{ display:block; font-size:11.5px; line-height:1.3; font-weight:700; }
  .vcard .vmeta small{ font-size:10px; opacity:.8; }
  .vcard .vloc{ position:absolute; top:8px; left:8px; z-index:2; pointer-events:none;
    background:rgba(8,14,11,.6); backdrop-filter:blur(6px); color:#fff;
    font-size:9.5px; font-weight:700; padding:3px 8px; border-radius:20px; letter-spacing:.3px; }
  .vwide video{ aspect-ratio:9/16; max-height:420px; }
  .vnote{ font-size:10.5px; color:var(--mut); text-align:center; margin-top:8px; }

  @media (prefers-reduced-motion: reduce){
    *{ animation:none !important; transition:none !important; }
    .blk,.article,.hero,.hero .htext>*{ opacity:1; transform:none; }
  }

/* =========================================================
   CAMADA RESPONSIVA — mobile-first com escala fluida
   ========================================================= */
html{scroll-behavior:smooth}
body{background:var(--paper)!important;background-image:none!important;color:var(--ink);
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
*{-webkit-tap-highlight-color:transparent}
img,video{max-width:100%}

/* ---- container full-bleed com conteúdo centrado ---- */
.container{width:100%;margin:0;background:var(--paper);box-shadow:none;min-height:60vh}
.blk{padding:clamp(28px,5vw,64px) clamp(18px,4vw,40px);max-width:1240px;margin:0 auto}
.blk.green{max-width:none}
.blk.green > *{max-width:1240px;margin-left:auto;margin-right:auto}
.qual{padding:12px clamp(18px,4vw,40px)}

/* ---- tipografia fluida ---- */
h1,.hero h1{font-size:clamp(24px,3.6vw,44px);line-height:1.1;letter-spacing:-.02em}
h2{font-size:clamp(20px,2.4vw,32px);line-height:1.2}
h3{font-size:clamp(14.5px,1.2vw,18px)}
p,li,.sub{font-size:clamp(14px,1.05vw,17px)}
.blk > p, .blk > .sub, ul.res{max-width:68ch}
.article p{max-width:70ch}

/* ---- navegação ---- */
.sitenav{position:sticky;top:0;z-index:40;background:rgba(250,249,246,.94);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.sitenav .bar{display:flex;align-items:center;justify-content:space-between;
  padding:12px clamp(18px,4vw,40px);max-width:1240px;margin:0 auto;gap:20px}
.sitenav a.brand{text-decoration:none;font-family:'Space Grotesk',sans-serif}
.burger{background:none;border:0;font-size:24px;color:var(--green);cursor:pointer;
  line-height:1;padding:6px 10px;border-radius:8px}
.burger:hover{background:var(--green-soft)}
.menu{display:none}
.menu.open{display:block;border-top:1px solid var(--line);padding:10px clamp(18px,4vw,40px) 18px;
  position:absolute;left:0;right:0;top:100%;background:var(--paper);
  box-shadow:0 18px 30px -18px rgba(20,33,26,.4);max-height:75vh;overflow:auto}
.menu a{display:block;padding:12px 0;font-size:15px;color:var(--ink);text-decoration:none;
  border-bottom:1px solid var(--line);min-height:44px}
.menu a:hover{color:var(--green2)}
.menu .grp{font-size:10.5px;text-transform:uppercase;letter-spacing:1px;color:var(--mut);
  margin-top:14px;font-weight:700;display:block}

/* ---- hero ---- */
.hero .photo{min-height:clamp(380px,62vh,640px);height:auto;align-items:flex-end;padding-top:86px}
.hero .htext{padding:clamp(20px,4vw,48px);max-width:1240px;margin:0 auto;width:100%}
.hero .htext h1{max-width:17ch}
.hero .sub{max-width:56ch;font-size:clamp(14px,1.15vw,18px)}

/* ---- CTA ---- */
.cta{padding:15px 26px;min-height:52px;display:flex;align-items:center;justify-content:center}

/* ---- grids fluidos (servem mobile e desktop) ---- */
.grid2{grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:clamp(10px,1.4vw,20px)}
.vgrid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:clamp(10px,1.4vw,20px)}
.logos{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:clamp(8px,1vw,16px)}
.specs{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:clamp(8px,1vw,16px)}
.card .thumb{height:clamp(92px,11vw,168px)}
.photobox{height:clamp(120px,15vw,230px)}
.faq details{max-width:900px}

/* ---- formulário ---- */
.form{max-width:660px;padding:clamp(16px,2vw,28px)}
.field{min-height:48px;display:flex;align-items:center;font-size:14px}

/* ---- rodapé em colunas ---- */
.foot{padding:clamp(26px,4vw,52px) clamp(18px,4vw,40px)}
.foot > *{max-width:1240px;margin:0 auto}
.foot a{color:#9db3a8;text-decoration:none}
.foot a:hover{color:#fff;text-decoration:underline}

/* ---- whatsapp fixo ---- */
.wpp{position:fixed;right:16px;bottom:16px;text-decoration:none;min-height:48px;
  display:flex;align-items:center;z-index:45}

.crumbs a{color:var(--green2);text-decoration:none}
.breadcrumb{padding:14px clamp(18px,4vw,40px) 0;max-width:1240px;margin:0 auto}

/* =========== TABLET =========== */
@media(min-width:700px){
  .cta{display:inline-flex;min-width:250px;margin-right:12px}
  .quote{font-size:15px;padding:20px 24px}
}

/* =========== DESKTOP =========== */
@media(min-width:980px){
  .burger{display:none}
  .menu{display:flex!important;gap:clamp(12px,1.4vw,22px);align-items:center;
    position:static;border:0;padding:0;box-shadow:none;background:none;overflow:visible;max-height:none}
  .menu a{border:0;padding:6px 0;font-size:14px;font-weight:600;min-height:0;white-space:nowrap}
  .menu .grp{display:none}
  .menu a[href^="/mudas"],.menu a[href^="/servicos"],.menu a[href^="/regioes"],
  .menu a[href^="/blog"],.menu a[href="/clientes"]{display:none}
  /* hero: texto não ocupa a largura toda */
  .hero .htext h1{font-size:clamp(30px,3.1vw,46px)}
  /* leitura em duas colunas onde faz sentido */
  ul.res{columns:2;column-gap:44px}
  ul.res li{break-inside:avoid}
  .stats{max-width:760px;margin:0 auto}
  .stats .n{font-size:40px}
}

@media(min-width:1400px){
  .blk,.sitenav .bar,.foot > *,.breadcrumb,.blk.green > *{max-width:1340px}
}

/* acessibilidade */
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--amber);outline-offset:3px}
@media (prefers-reduced-motion: reduce){ .heromedia{display:none} }

/* ===== carrossel automático de logomarcas (CSS puro, sem JS) ===== */
.logomarquee{position:relative;overflow:hidden;padding:6px 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.logotrack{display:flex;align-items:center;gap:14px;width:max-content;
  animation:logoscroll 32s linear infinite;will-change:transform}
.logomarquee:hover .logotrack{animation-play-state:paused}
.logotrack .logo{flex:0 0 150px;height:66px;margin:0}
@keyframes logoscroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media(min-width:980px){ .logotrack .logo{flex:0 0 180px;height:76px} }
@media(prefers-reduced-motion:reduce){
  .logotrack{animation:none;flex-wrap:wrap;width:auto;justify-content:center}
  .logomarquee{-webkit-mask-image:none;mask-image:none}
}

/* ===== thumbs do catálogo: tamanho normal ===== */
.card .thumb{
  height:clamp(92px,11vw,168px);
  aspect-ratio:auto;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}

/* ===== imagem de fundo do site (aparece nas laterais no desktop) ===== */
html{background:url('/imagens/viveiro-encosta.jpg') center/cover fixed no-repeat}
body{background:transparent!important}
.container,.sitenav{background:var(--paper)}
.sitenav{background:rgba(250,249,246,.96)}

/* ===== faixa de seção com foto de fundo ===== */
.blk.photobg{
  background-image:linear-gradient(180deg,rgba(14,24,18,.86),rgba(14,24,18,.94)), var(--bg);
  background-size:cover; background-position:center; background-repeat:no-repeat;
  color:#fff;
}
.blk.photobg h1,.blk.photobg h2,.blk.photobg h3,.blk.photobg p,.blk.photobg li{color:#fff}
.blk.photobg .sub{color:#dfe9e3}
.blk.photobg .eyebrow{color:#ffce5a}
.blk.photobg .eyebrow::before{background:linear-gradient(90deg,#ffce5a,transparent)}
.blk.photobg ul.res li::before{color:#9fe0b8}
.blk.photobg .card{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18)}
.blk.photobg .card small{color:#cfe0d6}
.blk.photobg .card:hover{border-color:rgba(255,255,255,.4)}
.blk.photobg .spec{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18)}
.blk.photobg .spec small{color:#cfe0d6}
.blk.photobg .spec b{color:#9fe0b8}
.blk.photobg .quote{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.16);color:#eef4f0}
.blk.photobg .quote span{color:#cfe0d6}
.blk.photobg .pill{background:rgba(255,255,255,.15);color:#eaf3ee}
.blk.photobg .pill:hover{background:rgba(255,255,255,.26)}
.blk.photobg details{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16)}
.blk.photobg summary{color:#ffce5a}
.blk.photobg details p{color:#e6efe9}
.blk.photobg .stats .n{background:linear-gradient(135deg,#9fe0b8,#ffce5a);
  -webkit-background-clip:text;background-clip:text;color:transparent}
.blk.photobg .stats small{color:#cfe0d6}
.blk.photobg .logo{background:rgba(255,255,255,.94);border-color:rgba(255,255,255,.3)}
.blk.photobg .cta.secink{color:#fff;border-color:rgba(255,255,255,.75)}
.blk.photobg .cta.secink:hover{background:rgba(255,255,255,.14)}
/* formulário permanece em cartão claro para não perder legibilidade */
.blk.photobg .form{background:var(--card)}
.blk.photobg .form .sub{color:var(--mut)}
.blk.photobg .form .field{color:#9aa39d}

/* ===== imagens reais (migradas de background para <img>) ===== */
.card .thumb, .photobox{ position:relative; overflow:hidden; background:#eef1ee; }
.card .thumb picture, .photobox picture{ display:block; width:100%; height:100%; }
.card .thumb img, .photobox img{
  width:100%; height:100%; object-fit:cover; object-position:center; display:block;
}
.card .thumb{ height:clamp(92px,11vw,168px); }
.photobox{ height:clamp(120px,15vw,230px); border-radius:12px; }
.photobox[style*="height"]{ height:auto; }
.photobox[style*="height"] img{ height:100%; }

/* acessibilidade: pular para o conteúdo */
.skip{ position:absolute; left:-9999px; top:0; z-index:100;
  background:var(--green); color:#fff; padding:12px 18px; border-radius:0 0 10px 0;
  font-weight:700; text-decoration:none }
.skip:focus{ left:0 }



/* ===== aviso de cookies ===== */
#lgpd{position:fixed;left:12px;right:12px;bottom:12px;z-index:70;background:#14211a;color:#dfe9e3;
  border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:16px 18px;
  box-shadow:0 20px 40px -20px rgba(0,0,0,.7);display:none;font-size:13.5px;line-height:1.5}
#lgpd.on{display:block}
#lgpd p{margin:0 0 12px;font-size:13.5px;color:#dfe9e3}
#lgpd a{color:#ffce5a}
#lgpd .bts{display:flex;gap:8px;flex-wrap:wrap}
#lgpd button{flex:1 1 160px;min-height:46px;border:0;border-radius:10px;font-weight:700;
  font-size:13.5px;cursor:pointer;font-family:inherit}
#lgpd .ok{background:linear-gradient(135deg,#ffca55,#e0921a);color:#241900}
#lgpd .no{background:transparent;color:#dfe9e3;border:1.5px solid rgba(255,255,255,.4)}
@media(max-width:760px){#lgpd{bottom:86px}}
@media(min-width:900px){#lgpd{max-width:520px;left:auto;right:20px}}

/* ===== dupla porta do hero (B2B / B2C) ===== */
.portas{display:grid;gap:12px;margin-top:22px;max-width:760px}
.portas .cta{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;
  text-align:left;gap:3px;padding:16px 22px;min-height:70px;margin:0}
.portas .cta span{font-size:15.5px;font-weight:800;line-height:1.2}
.portas .cta small{font-size:11.5px;font-weight:600;opacity:.85;letter-spacing:.1px}
.portas .porta2{background:rgba(255,255,255,.10);color:#fff;
  border:1.5px solid rgba(255,255,255,.55);box-shadow:none;backdrop-filter:blur(6px)}
.portas .porta2:hover{background:rgba(255,255,255,.2)}
.portas .porta2::after{display:none}
@media(min-width:700px){ .portas{grid-template-columns:1fr 1fr} }

/* WhatsApp flutuante visível também no mobile */
@media(max-width:760px){
  .wpp{display:flex;right:12px;bottom:12px;font-size:12.5px;padding:11px 16px}
  body{padding-bottom:0}
}

/* ===== barra de qualificação em movimento contínuo ===== */
.qual{ overflow:hidden; padding:11px 0; text-align:left; }
.qualtrack{ display:flex; width:max-content; animation:qualscroll 45s linear infinite;
  will-change:transform }
.qual:hover .qualtrack{ animation-play-state:paused }
.qualitem{ display:inline-flex; align-items:center; white-space:nowrap; flex:0 0 auto }
@keyframes qualscroll{ from{transform:translateX(0)} to{transform:translateX(-50%)} }
@media(prefers-reduced-motion:reduce){
  .qualtrack{ animation:none; width:100%; justify-content:center; flex-wrap:wrap }
  .qualitem:nth-child(2){ display:none }
  .qual{ text-align:center; padding:11px clamp(18px,4vw,40px) }
}

/* ===== enquadramento dos thumbs do catálogo ===== */
.card .thumb{ aspect-ratio:4/3; height:auto }
.card .thumb img{ object-position:50% 45%; }
/* ajuste por foto: cada uma tem o assunto numa altura diferente */
.card .thumb img[src*="arvores-adultas-01"]{ object-position:50% 28% }  /* copa + céu */
.card .thumb img[src*="mudas-fileiras-viveiro"]{ object-position:50% 32% } /* horizonte */
.card .thumb img[src*="ornamentais-cordyline"]{ object-position:50% 48% }
.card .thumb img[src*="palmeira-bismarckia"]{ object-position:50% 58% }  /* leque + vaso */
.card .thumb img[src*="oliveiras-viveiro"]{ object-position:50% 42% }    /* tronco + copa */
.card .thumb img[src*="frutiferas-fileiras"]{ object-position:50% 42% }
.card .thumb img[src*="tunel-arvores"]{ object-position:50% 40% }
.card .thumb img[src*="arvores-fileira"]{ object-position:50% 35% }
.card .thumb img[src*="arvores-tutoradas"]{ object-position:50% 32% }
.card .thumb img[src*="palmeiras-areca"]{ object-position:50% 45% }
.card .thumb img[src*="tuias-vasos"]{ object-position:50% 50% }
.card .thumb img[src*="oliveira-tronco"]{ object-position:50% 45% }

/* ===== hero dividido no desktop: texto | vídeo ===== */
@media(min-width:980px){
  /* faixa de transição larga: o papel dissolve dentro do vídeo */
  .hero .photo.hasvideo::before{
    content:""; position:absolute; z-index:2; top:0; bottom:0;
    left:44%; width:16%;
    background:linear-gradient(90deg, #173a2b 0%, rgba(23,58,43,.6) 45%, transparent 100%);
    pointer-events:none;
  }
  /* leve escurecimento na base do vídeo, para dar profundidade */
  .hero .photo.hasvideo .heromedia{ filter:saturate(1.05) }
  .hero .photo.hasvideo{
    display:grid; grid-template-columns:1.05fr 1fr; align-items:stretch;
    min-height:clamp(480px,66vh,660px); height:auto; padding-top:0;
    background:linear-gradient(135deg,#245a41 0%,#173a2b 55%,#0f2118 100%)!important; position:relative;
  }
  .hero .photo.hasvideo::after{ display:none; }               /* remove o véu escuro */
  .hero .photo.hasvideo .htext{
    grid-column:1; grid-row:1; align-self:center;
    max-width:none; width:100%; margin:0; padding:clamp(32px,4.5vw,72px);
  }
  .hero .photo.hasvideo .htext h1{ color:#ffffff; max-width:15ch; }
  .hero .photo.hasvideo .htext .sub{ color:#dfeae3; max-width:44ch; }
  .hero .photo.hasvideo .heromedia{
    grid-column:2; grid-row:1; position:relative; inset:auto;
    width:100%; height:100%; object-fit:cover;
  }
}
