/* ===========================================================
   Landing Page — Grupo Dls / Indústria
   Estilo próprio desta LP. Cada landing page do tema tem o seu.
   Paleta: papel + grafite + laranja-sinal (#D24B16). Malha técnica,
   numeração 00/01, réguas finas — leitura industrial, oposta ao
   preto cinematográfico da LP agro.
   =========================================================== */

:root{
  --paper:#F4F3EF;
  --paper-2:#FFFFFF;
  --ink:#101419;
  --ink-2:#4A535E;
  --ink-3:#8A929B;
  --line:#DEDAD1;
  --line-2:#C9C4B8;
  --signal:#D24B16;  /* o "/" da Dls nesta LP */
  --signal-dark:#B03D0F;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--paper); color:var(--ink);
  font-family:'Inter',sans-serif; -webkit-font-smoothing:antialiased;
  overflow-x:hidden; line-height:1.6;
}
::selection{background:var(--signal); color:#fff;}
img{display:block; max-width:100%;}
.wrap{max-width:1180px; margin:0 auto; padding:0 24px;}

h1,h2,h3{font-family:'Archivo',sans-serif; font-weight:700; letter-spacing:-0.025em; line-height:1.08;}
.slash{color:var(--signal); font-weight:800;}

section{padding:96px 0;}

/* Kicker técnico: régua + caixa alta espaçada */
.kicker{
  display:flex; align-items:center; gap:12px;
  font-size:12px; font-weight:600; letter-spacing:0.16em; text-transform:uppercase;
  color:var(--signal); margin-bottom:18px;
}
.kicker::before{content:''; width:34px; height:2px; background:var(--signal); flex:none;}
.section-title{font-size:clamp(28px,4vw,44px); max-width:19ch;}
.section-intro{margin-top:18px; max-width:62ch; color:var(--ink-2); font-size:17px;}

/* ===== BOTÕES ===== */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  background:var(--signal); color:#fff;
  font-family:'Archivo',sans-serif; font-weight:700; font-size:15px;
  padding:15px 28px; border-radius:2px; text-decoration:none; border:none; cursor:pointer;
  transition:background .18s ease, transform .12s ease;
}
.btn:hover{background:var(--signal-dark); transform:translateY(-1px);}
.btn-ghost{background:transparent; color:var(--ink); border:1px solid var(--line-2);}
.btn-ghost:hover{background:var(--ink); color:#fff; border-color:var(--ink);}
.btn-nav{padding:11px 20px; font-size:14px;}
.btn-block{width:100%;}

/* ===== NAV ===== */
header{
  position:fixed; inset:0 0 auto 0; z-index:50;
  background:rgba(244,243,239,0.92); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 24px; max-width:1180px; margin:0 auto;}
.logo{font-family:'Archivo',sans-serif; font-weight:800; font-size:19px; color:var(--ink); text-decoration:none; letter-spacing:-0.015em;}

/* ===== HERO ===== */
.hero{padding:150px 0 0; position:relative;}
/* malha técnica de fundo, discreta */
.hero::before{
  content:''; position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(var(--line) 1px, transparent 1px), linear-gradient(90deg, var(--line) 1px, transparent 1px);
  background-size:64px 64px; opacity:.5; mask-image:linear-gradient(180deg,#000,transparent 70%);
}
.hero-grid{position:relative; display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center;}
.hero-badge{
  display:inline-flex; flex-wrap:wrap; gap:6px; align-items:baseline;
  background:var(--paper-2); border:1px solid var(--line);
  border-left:3px solid var(--signal);
  padding:9px 14px; font-size:13px; color:var(--ink-2); margin-bottom:26px;
}
.hero-badge b{color:var(--ink); font-weight:600;}
.hero h1{font-size:clamp(34px,5vw,58px); max-width:16ch;}
.hero .sub{margin-top:22px; font-size:18px; color:var(--ink-2); max-width:52ch;}
.hero-cta{display:flex; flex-wrap:wrap; gap:12px; margin-top:34px;}
.hero-media{
  min-height:440px; border:1px solid var(--line);
  background-size:cover; background-position:center;
  filter:grayscale(.35) contrast(1.05);
}

.hero-proof{
  position:relative; display:grid; grid-template-columns:repeat(4,1fr);
  margin-top:80px; border-top:1px solid var(--line-2);
}
.proof-cell{padding:26px 20px 0; border-right:1px solid var(--line);}
.proof-cell:last-child{border-right:none;}
.proof-cell b{
  display:block; font-family:'Archivo',sans-serif; font-weight:800;
  font-size:38px; letter-spacing:-0.03em; line-height:1;
}
.proof-cell .plus{color:var(--signal);}
.proof-cell span{display:block; margin-top:8px; font-size:14px; color:var(--ink-2);}

/* ===== MARCAS ===== */
.brands{padding:56px 0 46px; background:var(--paper-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line); overflow:hidden;}
.brands p{font-size:12px; letter-spacing:0.16em; text-transform:uppercase; color:var(--ink-3); margin-bottom:30px;}
.brands-marquee{overflow:hidden; mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.brands-track{display:flex; width:max-content; animation:slide 46s linear infinite;}
.brands-set{display:flex; align-items:center; gap:56px; padding-right:56px;}
.brand-logo{height:38px; width:auto; object-fit:contain; opacity:.5; filter:grayscale(1); transition:opacity .2s, filter .2s;}
.brand-logo:hover{opacity:1; filter:none;}
@keyframes slide{from{transform:translateX(0);} to{transform:translateX(-50%);}}
@media (prefers-reduced-motion:reduce){.brands-track{animation:none;}}

/* ===== DORES ===== */
.sec-pains{background:var(--paper);}
.pains{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; margin-top:52px; background:var(--line); border:1px solid var(--line);}
.pain{background:var(--paper-2); padding:34px 30px;}
.pain .mark{font-family:'Archivo',sans-serif; font-weight:800; font-size:26px; color:var(--signal); line-height:1;}
.pain h3{font-size:20px; margin:14px 0 10px;}
.pain p{color:var(--ink-2); font-size:15.5px;}

/* ===== OFERTA / DIAGNÓSTICO ===== */
.sec-offer{background:var(--paper-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.offer-card{
  display:grid; grid-template-columns:1.35fr .65fr; gap:0;
  margin-top:52px; border:1px solid var(--line-2); background:var(--paper);
}
.offer-body{padding:42px 40px;}
.offer-items{list-style:none; counter-reset:oi;}
.offer-items li{
  counter-increment:oi; position:relative; padding:0 0 26px 54px;
  border-bottom:1px solid var(--line); margin-bottom:26px;
}
.offer-items li:last-child{border-bottom:none; margin-bottom:0; padding-bottom:0;}
.offer-items li::before{
  content:counter(oi,decimal-leading-zero);
  position:absolute; left:0; top:1px;
  font-family:'Archivo',sans-serif; font-weight:800; font-size:15px;
  color:var(--signal); letter-spacing:0.02em;
}
.offer-items h3{font-size:18px; margin-bottom:7px;}
.offer-items p{color:var(--ink-2); font-size:15.5px;}

.offer-aside{
  padding:42px 32px; background:var(--ink); color:#fff;
  display:flex; flex-direction:column; justify-content:center;
}
.offer-price{margin-bottom:6px;}
.offer-price-value{
  display:block; font-family:'Archivo',sans-serif; font-weight:800;
  font-size:44px; letter-spacing:-0.035em; line-height:1;
}
.offer-price-note{display:block; margin-top:12px; font-size:14px; color:#A9B0B8; line-height:1.5;}
.offer-deadline{
  margin:20px 0 26px; padding-top:18px; border-top:1px solid #2A313A;
  font-size:14px; color:#D6DBE0;
}
.offer-guarantee{margin-top:18px; font-size:13.5px; color:#A9B0B8; line-height:1.55;}

/* ===== FEE MENSAL ===== */
.sec-fee{background:var(--paper);}
.pillars{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:52px;}
.pillar{background:var(--paper-2); border:1px solid var(--line); border-top:3px solid var(--signal); padding:32px 28px;}
.pillar h3{font-size:19px; margin-bottom:10px;}
.pillar p{color:var(--ink-2); font-size:15.5px;}
.pillar ul{list-style:none; margin-top:18px; padding-top:18px; border-top:1px solid var(--line);}
.pillar li{position:relative; padding-left:20px; font-size:14.5px; color:var(--ink-2); margin-bottom:9px;}
.pillar li::before{content:'/'; position:absolute; left:0; color:var(--signal); font-weight:700;}
.fee-note{margin-top:34px; font-size:14.5px; color:var(--ink-3); max-width:70ch;}

/* ===== CASE ===== */
.sec-case{background:var(--paper-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.case-grid{display:grid; grid-template-columns:1fr 1fr; gap:52px; align-items:center;}
.case-img img{width:100%; height:420px; object-fit:cover; border:1px solid var(--line); filter:grayscale(.3);}
.case-quote{font-family:'Archivo',sans-serif; font-weight:700; font-size:clamp(22px,2.6vw,30px); letter-spacing:-0.02em; line-height:1.25;}
.case-meta{margin-top:20px; color:var(--ink-2); font-size:15.5px;}

/* ===== PASSOS ===== */
.sec-steps{background:var(--paper);}
.steps{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:52px; background:var(--line); border:1px solid var(--line);}
.step{background:var(--paper-2); padding:34px 30px;}
.step .n{
  font-family:'Archivo',sans-serif; font-weight:800; font-size:15px;
  color:var(--signal); letter-spacing:0.06em; margin-bottom:16px;
}
.step h3{font-size:19px; margin-bottom:9px;}
.step p{color:var(--ink-2); font-size:15.5px;}

/* ===== FAQ ===== */
.sec-faq{background:var(--paper-2); border-top:1px solid var(--line);}
.faq{margin-top:44px; border-top:1px solid var(--line);}
.faq details{border-bottom:1px solid var(--line);}
.faq summary{
  cursor:pointer; list-style:none; padding:22px 40px 22px 0; position:relative;
  font-family:'Archivo',sans-serif; font-weight:600; font-size:17.5px; letter-spacing:-0.015em;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{
  content:'+'; position:absolute; right:8px; top:19px;
  font-size:24px; font-weight:400; color:var(--signal); line-height:1;
}
.faq details[open] summary::after{content:'–';}
.faq details p{padding:0 40px 24px 0; color:var(--ink-2); font-size:15.5px; max-width:76ch;}

/* ===== FORMULÁRIO FINAL ===== */
.final{
  background:var(--ink); color:#fff;
  background-size:cover; background-position:center;
}
.final-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start;}
.final h2{font-size:clamp(28px,3.6vw,40px); max-width:17ch;}
.final .kicker{color:var(--signal);}
.final .sub{margin-top:20px; color:#B6BDC5; font-size:17px; max-width:46ch;}
.signature{margin-top:28px; font-family:'Archivo',sans-serif; font-weight:700; font-size:22px; letter-spacing:-0.02em;}
.contact-line{margin-top:28px; padding-top:24px; border-top:1px solid #2A313A; color:#A9B0B8; font-size:15px; line-height:1.8;}
.contact-line a{color:#fff; text-decoration:none; border-bottom:1px solid var(--signal);}

.final form{background:var(--paper-2); color:var(--ink); padding:34px 32px; border-top:3px solid var(--signal);}
.final form h3{font-size:22px;}
.form-sub{margin:8px 0 22px; color:var(--ink-2); font-size:14.5px;}
.field{margin-bottom:16px;}
.two{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
label{display:block; font-size:13px; font-weight:600; margin-bottom:7px; color:var(--ink);}
label .opt{color:var(--ink-3); font-weight:400;}
input, select, textarea{
  width:100%; font-family:'Inter',sans-serif; font-size:15px; color:var(--ink);
  background:var(--paper); border:1px solid var(--line-2); border-radius:2px;
  padding:12px 13px; transition:border-color .15s, box-shadow .15s;
}
input:focus, select:focus, textarea:focus{
  outline:none; border-color:var(--signal); box-shadow:0 0 0 3px rgba(210,75,22,0.12);
}
textarea{resize:vertical;}
.privacy{margin-top:14px; font-size:12.5px; color:var(--ink-3); line-height:1.5;}
.err{display:block; margin-top:6px; font-size:12.5px; color:var(--signal-dark); font-weight:500;}
.form-flash{padding:12px 14px; border-radius:2px; font-size:14px; margin-bottom:18px;}
.form-flash.error{background:#FCEDE7; color:var(--signal-dark); border:1px solid #F0C4B2;}

/* ===== RODAPÉ ===== */
footer{background:var(--ink); border-top:1px solid #2A313A; padding:26px 0;}
.foot{display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between; align-items:center;}
.foot p{font-size:13.5px; color:#8A929B;}
.foot a{color:#fff; text-decoration:none; border-bottom:1px solid var(--signal);}

/* ===== WHATSAPP FLUTUANTE ===== */
.wa-float{
  position:fixed; right:20px; bottom:20px; z-index:60;
  width:56px; height:56px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:#25D366; box-shadow:0 6px 20px rgba(0,0,0,0.22);
  transition:transform .15s ease;
}
.wa-float:hover{transform:scale(1.06);}

/* ===== REVEAL ===== */
.reveal{opacity:0; transform:translateY(18px); transition:opacity .5s ease, transform .5s ease;}
.reveal.show{opacity:1; transform:none;}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1; transform:none; transition:none;}
}

/* ===== RESPONSIVO ===== */
@media (max-width:980px){
  section{padding:72px 0;}
  .hero{padding-top:124px;}
  .hero-grid{grid-template-columns:1fr; gap:36px;}
  .hero-media{min-height:280px; order:-1;}
  .hero-proof{grid-template-columns:repeat(2,1fr); margin-top:56px;}
  .proof-cell{border-bottom:1px solid var(--line); padding-bottom:22px;}
  .proof-cell:nth-child(2n){border-right:none;}
  .offer-card{grid-template-columns:1fr;}
  .pillars{grid-template-columns:1fr;}
  .steps{grid-template-columns:1fr;}
  .case-grid{grid-template-columns:1fr; gap:32px;}
  .case-img img{height:280px;}
  .final-grid{grid-template-columns:1fr; gap:40px;}
}
@media (max-width:640px){
  .wrap{padding:0 18px;}
  .btn-nav{padding:10px 15px; font-size:13px;}
  .logo{font-size:17px;}
  .pains{grid-template-columns:1fr;}
  .offer-body{padding:32px 24px;}
  .offer-aside{padding:32px 24px;}
  .two{grid-template-columns:1fr;}
  .final form{padding:28px 22px;}
  .hero-cta .btn{width:100%;}
}
