/* ===== Vivaloe — páginas institucionais ===== */
:root{
  --verde-floresta:#3A5E3B;
  --verde-medio:#497D4A;
  --verde-vivo:#5B995C;
  --lima:#A8CF45;
  --areia:#C2AE85;
  --creme:#E6E2DB;
  --escuro:#0F1F10;
  --medio:#1A2E1B;
  --texto:#F4F1EB;
  --footer:#0A1508;
  --serif:"Outfit",ui-sans-serif,system-ui,sans-serif;
  --sans:"DM Sans",ui-sans-serif,system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:clip}
body{
  font-family:var(--sans);font-weight:300;font-size:16px;line-height:1.75;
  color:var(--texto);background:var(--escuro);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:clip;width:100%;max-width:100%;
}
a{color:inherit}
img{max-width:100%;display:block}

/* grain overlay */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyMjAnIGhlaWdodD0nMjIwJz48ZmlsdGVyIGlkPSduJz48ZmVUdXJidWxlbmNlIHR5cGU9J2ZyYWN0YWxOb2lzZScgYmFzZUZyZXF1ZW5jeT0nLjknIG51bU9jdGF2ZXM9JzInIHNlZWQ9JzQnLz48ZmVDb2xvck1hdHJpeCB2YWx1ZXM9JzAgMCAwIDAgMSAgMCAwIDAgMCAxICAwIDAgMCAwIDEgIDAgMCAwIDAuNiAwJy8+PC9maWx0ZXI+PHJlY3Qgd2lkdGg9JzEwMCUnIGhlaWdodD0nMTAwJScgZmlsdGVyPSd1cmwoJTIzbiknLz48L3N2Zz4=");
  opacity:.035;mix-blend-mode:overlay;
}
.wrap{max-width:760px;margin:0 auto;padding:0 24px;position:relative;z-index:1}

/* top bar */
.pol-nav{
  position:sticky;top:0;z-index:20;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:16px 28px;
  background:rgba(15,31,16,.92);backdrop-filter:blur(12px);
  border-bottom:.5px solid rgba(90,153,92,.18);
}
.pol-nav__logo{display:flex;align-items:center;gap:10px;color:var(--creme);text-decoration:none}
.pol-nav__logo img{height:34px;width:auto}
.pol-nav__logo span{font-family:var(--serif);font-size:18px;letter-spacing:.18em}
.pol-nav__back{
  display:inline-flex;align-items:center;gap:8px;text-decoration:none;
  font-size:13px;letter-spacing:.03em;color:rgba(244,241,235,.78);
  padding:9px 16px;border:.5px solid rgba(168,207,69,.3);border-radius:999px;
  transition:border-color .2s,color .2s,background .2s;white-space:nowrap;
}
.pol-nav__back:hover{border-color:var(--lima);color:var(--lima);background:rgba(168,207,69,.06)}
.pol-nav__back svg{flex-shrink:0}

/* header */
.pol-header{padding:clamp(56px,9vw,96px) 0 32px;text-align:left}
.pol-header .eyebrow{
  display:inline-block;font-size:11px;font-weight:500;letter-spacing:.18em;
  text-transform:uppercase;color:var(--lima);margin-bottom:16px;
}
.pol-header h1{
  font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.02em;
  font-size:clamp(34px,5.5vw,52px);color:var(--texto);text-wrap:balance;
}
.pol-header .updated{margin-top:14px;font-size:13px;color:rgba(244,241,235,.5);letter-spacing:.02em}
.pol-header .intro{margin-top:22px;font-size:16px;line-height:1.7;color:rgba(244,241,235,.72);max-width:64ch}

/* body */
.pol-body{padding:8px 0 80px}
.pol-body section{padding:28px 0;border-top:.5px solid rgba(90,153,92,.16)}
.pol-body section:first-child{border-top:0}
.pol-body h2{
  font-family:var(--serif);font-weight:500;font-size:clamp(20px,2.4vw,26px);
  line-height:1.2;letter-spacing:-.01em;color:var(--texto);margin-bottom:16px;
  display:flex;gap:12px;align-items:baseline;
}
.pol-body h2 .num{color:var(--lima);font-size:.8em;font-weight:600;flex-shrink:0;font-family:var(--sans);letter-spacing:.04em}
.pol-body h3{font-family:var(--serif);font-weight:500;font-size:18px;color:var(--lima);margin:20px 0 8px}
.pol-body p{font-size:15.5px;line-height:1.75;color:rgba(244,241,235,.8);margin-bottom:14px;text-wrap:pretty}
.pol-body p:last-child{margin-bottom:0}
.pol-body strong{color:var(--texto);font-weight:500}
.pol-body a{color:var(--lima);text-decoration:underline;text-underline-offset:2px}
.pol-body ul{list-style:none;display:flex;flex-direction:column;gap:10px;margin:4px 0 14px}
.pol-body li{position:relative;padding-left:24px;font-size:15.5px;line-height:1.6;color:rgba(244,241,235,.8)}
.pol-body li::before{
  content:"";position:absolute;left:4px;top:9px;width:7px;height:7px;border-radius:2px;
  background:var(--lima);transform:rotate(45deg);
}

/* contact card */
.pol-contact{
  margin-top:8px;background:rgba(168,207,69,.05);
  border:.5px solid rgba(168,207,69,.22);border-radius:14px;padding:24px 26px;
}
.pol-contact h3{margin-top:0;color:var(--lima);font-family:var(--serif);font-weight:500;font-size:17px;margin-bottom:10px}
.pol-contact p{font-size:14.5px;color:rgba(244,241,235,.82);margin-bottom:4px}
.pol-contact a{color:var(--lima)}

/* footer mini */
.pol-foot{background:var(--footer);border-top:.5px solid rgba(90,153,92,.14);padding:30px 0;text-align:center;position:relative;z-index:1}
.pol-foot p{font-size:12px;color:rgba(244,241,235,.4);line-height:1.6}
.pol-foot a{color:rgba(244,241,235,.6)}
.pol-foot a:hover{color:var(--lima)}
.pol-foot__links{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:center;margin-bottom:14px;font-size:12.5px}

@media(max-width:680px){
  .pol-nav{padding:12px 18px;gap:12px}
  .pol-nav__logo span{font-size:15px}
  .pol-nav__back{padding:8px 12px;font-size:12px}
  .pol-nav__back .lbl{display:none}
}
