/* ===================================================================
   Leenne Engenharia — tema (cores do logo)
   Verde-água #37AA94 · Marrom #623F23 · Oliva #818D37 · Cinza #A5A792
   Carregar DEPOIS de site.css e pages.css
   =================================================================== */
:root{
  --brand:#1f7a69; --brand-dk:#0f4239; --brand-lt:#e6f4f0;
  --green:#a3b24a; --green-dk:#5d6a1e; --green-lt:#f1f4dc;
  --brown:#623f23; --gray:#a5a792;
  --ink:#1e2a26; --txt:#33423d; --mut:#66756f; --line:#dde5e1; --bg:#f4f7f5;
  --sh:0 18px 50px -20px #0f423940; --sh2:0 6px 20px -8px #0f42392e;
  --b:#1f7a69; --b2:#0f4239; --g:#a3b24a; --y:#a3b24a;
}
/* topo azul -> verde-água */
.phero{background-color:var(--brand)}
.phero::before{background:radial-gradient(800px 420px at 85% 10%,#37aa9455,transparent 60%),linear-gradient(110deg,#0f4239f2 0%,#1f7a69e0 50%,#1f7a6999 100%)}
.crumb{color:#a9d3c7}.crumb a{color:#dcefe9}
.kicker{color:#dcefe9}
.phero .lead{color:#d2e8e1}
.ctaband p{color:#c7e0d8}
.ctaband::after{background-image:url('../images/leenne/icone.png');filter:brightness(0) invert(1)}
.pfoot{color:#a9cdc2}.pfoot a{color:#dcefe9}
.kpi:nth-child(even) b{color:var(--brown)}
.svc-img .badge-n{color:var(--brand-dk)}
.svc-tag{color:var(--brand)}
body.page .button{box-shadow:0 12px 26px -14px #0f4239aa}
body.page .button.green,body.page .button.gold{box-shadow:0 12px 26px -12px #a3b24aaa}

/* ---------- Banner (carrossel) com a identidade nova ---------- */
body.page .hero{min-height:560px;background:var(--brand-dk)}
body.page .hero-shade{background:linear-gradient(90deg,#0b3530f0 0%,#0f4239b8 45%,#0f423926 100%)}
body.page .hero h1{font-family:var(--hf);text-transform:none;font-size:54px;font-weight:800;line-height:1.05;letter-spacing:-.01em;max-width:640px;color:#fff}
body.page .hero h1 em{color:var(--green)}
body.page .hero p{color:#d2e8e1;font-size:18px}
body.page .hero .eyebrow{color:var(--green);font-family:var(--bf)}
body.page .hero-dots button.on{background:var(--green)}

/* ---------- Seções da página inicial ---------- */
.about2{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.videocard{position:relative;border-radius:24px;overflow:hidden;aspect-ratio:1/1;max-height:520px;background:#ccd center/cover no-repeat;box-shadow:var(--sh);cursor:pointer}
.videocard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,#0f423999)}
.videocard .play{position:absolute;z-index:1;left:50%;top:50%;translate:-50% -50%;width:84px;height:84px;border-radius:50%;background:var(--green);color:var(--brand-dk);display:grid;place-items:center;font-size:30px;box-shadow:0 0 0 12px #a3b24a55;transition:transform .2s}
.videocard:hover .play{transform:scale(1.08)}
.videocard .vlabel{position:absolute;z-index:1;left:22px;bottom:18px;color:#fff;font:700 15px var(--bf)}
.about2 h2{font-size:36px;margin:8px 0 14px}
.about2 p{margin:0 0 14px}
.diffs{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.diff{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px}
.diff .ic{width:44px;height:44px;border-radius:13px;background:var(--brand-lt);color:var(--brand);display:grid;place-items:center;font-size:20px;margin-bottom:12px}
.diff:nth-child(even) .ic{background:var(--green-lt);color:var(--green-dk)}
.diff b{display:block;font:700 15.5px var(--hf);color:var(--ink);margin-bottom:4px}
.diff p{font-size:13.5px;color:var(--mut);margin:0}
.svcgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.svccard{background:#fff;border-radius:20px;overflow:hidden;border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.svccard:hover{transform:translateY(-5px);box-shadow:var(--sh)}
.svccard .ph{height:170px;background:#dde5e1 center/cover no-repeat}
.svccard .bd{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.svccard h3{font-size:17px;margin:0}
.svccard p{font-size:14px;color:var(--mut);margin:0}
.svccard .more{margin-top:auto;font:700 14px var(--bf);color:var(--brand)}
.ethics2{display:grid;grid-template-columns:auto 1fr auto;gap:34px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px 38px;box-shadow:var(--sh)}
.ethics2 img{width:150px;display:block}
.ethics2 h2{font-size:28px;margin:6px 0 8px}
.ethics2 p{margin:0;color:var(--mut)}
.contact2{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.cinfo{display:grid;gap:12px}
.cline{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px 18px}
.cline .ic{flex:0 0 42px;height:42px;border-radius:12px;background:var(--brand-lt);color:var(--brand);display:grid;place-items:center;font-size:18px}
.cline b{display:block;font:700 14px var(--hf);color:var(--ink)}
.cline span{font-size:14px;color:var(--txt)}
.mapbox{border-radius:18px;overflow:hidden;border:1px solid var(--line);min-height:220px;background:#e8efec}
.mapbox iframe{width:100%;height:100%;min-height:260px;border:0;display:block}
body.page .form{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:var(--sh2)}
body.page .form h3{font-family:var(--hf);color:var(--ink);margin:0 0 6px}
body.page .form input,body.page .form textarea{border:1.5px solid var(--line);border-radius:12px;background:#fafcfb;font:15px var(--bf)}
body.page .form input:focus,body.page .form textarea:focus{outline:none;border-color:var(--brand)}
body.page .form .button{width:100%;justify-content:center;margin-top:6px}
.sociais{display:flex;gap:10px;margin-top:6px}
.sociais a{background:var(--brand-lt);color:var(--brand);border-radius:99px;padding:7px 14px;font:700 13px var(--bf)}
.sociais a:hover{background:var(--brand);color:#fff}

@media(max-width:980px){
  .about2,.contact2{grid-template-columns:1fr;gap:30px}
  .diffs,.svcgrid{grid-template-columns:1fr 1fr}
  .ethics2{grid-template-columns:1fr;text-align:center;justify-items:center}
  body.page .hero h1{font-size:40px}
}
@media(max-width:600px){
  .diffs,.svcgrid{grid-template-columns:1fr}
  body.page .hero h1{font-size:31px}
  body.page .hero{min-height:500px}
  .about2 h2{font-size:28px}
}

/* Sem link de vídeo: mostra só a foto */
.videocard[data-video=""]{cursor:default}
.videocard[data-video=""] .play,.videocard[data-video=""] .vlabel{display:none}
body.ed-on .videocard[data-video=""] .vlabel{display:block}

/* bolinhas do carrossel acima dos números sobrepostos */
body.page .hero{padding-bottom:70px}
body.page .hero-dots{bottom:86px}

/* Celular: sem bolinhas do carrossel (fotos continuam passando) */
@media(max-width:600px){body.page .hero-dots{display:none}}
