
/* PLANETA VIVO — Visual system V2: verde + azul + branco */
:root{
 --green:#087443; --green-2:#0A9656; --green-3:#DDF5E8; --green-deep:#045634;
 --blue:#1356B6; --blue-2:#2B74DA; --blue-3:#EAF2FF; --navy:#0A2440;
 --ink:#102236; --ink-2:#17334D; --muted:#5D7183; --paper:#FFFFFF; --paper-2:#F5F9FC; --white:#fff;
 --line:#DCE6EE; --radius:22px; --radius-sm:14px; --shadow:0 18px 54px rgba(10,36,64,.10);
 --container:min(1280px,calc(100% - 48px)); --header-h:92px; --marquee-h:58px;
}
html{background:#fff;color:var(--ink)}body{background:#fff;color:var(--ink)}
.cursor-glow{display:none!important}
.section{padding:clamp(72px,8vw,118px) 0}.section--soft{background:#F5F9FC}
.section--dark{background:#087443;color:#fff}
.section--dark .lead{color:rgba(255,255,255,.78)}

/* header */
.site-header,.site-header.is-dark:not(.is-scrolled),.site-header.is-scrolled{height:var(--header-h);background:rgba(255,255,255,.96);color:var(--navy);border-bottom:1px solid rgba(10,36,64,.08);backdrop-filter:blur(16px);box-shadow:0 6px 28px rgba(10,36,64,.05)}
.site-header__inner{gap:28px}.brand img{height:72px}.brand__word{display:none!important}
.nav{gap:28px;color:var(--navy)}.nav a:not(.btn)::after{background:var(--green);height:3px;border-radius:3px}
.nav-cta .btn--outline{color:var(--blue);border-color:rgba(19,86,182,.35);background:#fff}.nav-cta .btn--primary{background:var(--green)}
.btn{border-radius:12px;padding:14px 22px}.btn--primary{background:var(--green);box-shadow:0 10px 28px rgba(8,116,67,.18)}.btn--primary:hover{background:var(--green-deep)}.btn--secondary{background:var(--blue)}.btn--outline{border-color:rgba(19,86,182,.25);background:#fff;color:var(--blue)}.btn--ghost{border-color:rgba(255,255,255,.55)}
.eyebrow{color:var(--green);letter-spacing:.18em}.accent{color:var(--green-2)}.accent-blue{color:var(--blue)}
.display,.h1,.h2,.h3{letter-spacing:-.045em}.lead{color:var(--muted)}

/* HOME CAROUSEL */
.home-carousel{position:relative;margin-top:var(--header-h);height:min(760px,calc(100svh - var(--header-h) - var(--marquee-h)));min-height:560px;overflow:hidden;background:var(--green-deep);color:#fff}
.home-carousel__slides{position:absolute;inset:0}.home-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility .9s ease;background-size:cover;background-position:center;transform:scale(1.015)}.home-slide,.home-slide__inner{height:100%}
.home-slide::before{content:"";position:absolute;inset:0;background:rgba(4,86,52,.68)}
.home-slide::after{content:"";position:absolute;inset:0;background:rgba(4,38,28,.08);}
.home-slide.is-active{opacity:1;visibility:visible;transform:scale(1);transition:opacity .9s ease,visibility .9s ease,transform 8s linear}
.home-slide__inner{position:relative;z-index:2;height:100%;display:flex;align-items:center}.home-slide__copy{max-width:720px;padding:54px 0 86px}.home-slide .eyebrow{color:#A8F2CC}.home-slide h1{font-size:clamp(44px,5.8vw,82px);line-height:.97;margin:18px 0 22px;max-width:760px;font-weight:900;letter-spacing:-.055em}.home-slide h1 strong{color:#78EDAE}.home-slide p{font-size:clamp(17px,1.55vw,21px);max-width:640px;color:rgba(255,255,255,.88);margin:0 0 30px}.home-slide__actions{display:flex;gap:12px;flex-wrap:wrap}.home-slide .btn--light{color:var(--blue);background:#fff}.home-slide .btn--primary{background:#0DBA68}.home-carousel__controls{position:absolute;z-index:4;inset:0;pointer-events:none}.home-carousel__dots{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);display:flex;gap:8px;pointer-events:auto}.home-carousel__dot{width:44px;height:4px;border:0;background:rgba(255,255,255,.35);border-radius:99px;padding:0;overflow:hidden}.home-carousel__dot::after{content:"";display:block;height:100%;width:0;background:#fff;border-radius:99px}.home-carousel__dot.is-active::after{width:100%;transition:width 6s linear}.home-carousel__nav{position:absolute;inset:0;pointer-events:none}.home-carousel__arrow{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border:1px solid rgba(255,255,255,.65);background:rgba(4,86,52,.72);color:#fff;border-radius:50%;display:grid;place-items:center;backdrop-filter:blur(8px);font-size:26px;transition:.25s;pointer-events:auto}.home-carousel__arrow:first-child{left:24px}.home-carousel__arrow:last-child{right:24px}.home-carousel__arrow:hover{background:#fff;color:var(--blue)}

/* trust strip */
.home-proof{background:#fff;border-bottom:1px solid var(--line)}.home-proof__grid{display:grid;grid-template-columns:repeat(4,1fr)}.home-proof__item{padding:24px 26px;display:flex;gap:14px;align-items:center;border-right:1px solid var(--line)}.home-proof__item:last-child{border-right:0}.home-proof__icon{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:var(--green-3);color:var(--green);font-weight:900}.home-proof__item strong{display:block;font-size:14px;color:var(--navy)}.home-proof__item span{font-size:12px;color:var(--muted)}

/* cards / product photos */
.material-grid{gap:20px}.material-card{border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 10px 34px rgba(10,36,64,.06);overflow:hidden;transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}.material-card:hover{transform:translateY(-6px);box-shadow:0 22px 52px rgba(10,36,64,.13);border-color:#B8D6C5}.material-card__media{aspect-ratio:4/3;background:#EAF2F7;overflow:hidden}.material-card__media img{width:100%;height:100%;object-fit:cover;transform:scale(1.01);transition:transform .7s ease}.material-card:hover .material-card__media img{transform:scale(1.055)}.material-card__body{padding:18px 18px 20px}.material-card h3{color:var(--navy);font-size:23px}.material-card__meta{color:var(--green);font-weight:800}.material-card__tag{background:var(--green-3);color:var(--green-deep);border:0}.material-card__link{color:var(--blue);font-weight:850}
.filter-btn{border:1px solid var(--line);background:#fff;color:var(--navy)}.filter-btn.is-active{background:var(--green);border-color:var(--green);color:#fff}

/* home visual section */
.home-visual{display:grid;grid-template-columns:1.08fr .92fr;min-height:560px;border-radius:30px;overflow:hidden;background:var(--blue-3);box-shadow:var(--shadow)}.home-visual__image{min-height:520px;background-size:cover;background-position:center}.home-visual__copy{padding:clamp(42px,6vw,80px);display:flex;flex-direction:column;justify-content:center}.home-visual__copy .h2{color:var(--navy)}.home-visual__points{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:26px 0 30px}.home-visual__point{display:flex;gap:10px;align-items:flex-start;color:var(--ink)}.home-visual__point i{flex:0 0 9px;width:9px;height:9px;border-radius:50%;background:var(--green);margin-top:8px}
.story-panel{border-radius:28px;background:#F7FBFF;border:1px solid var(--line);box-shadow:none}.big-year{color:var(--blue);opacity:.12}.feature-card,.project-card,.spec,.process-step,.fact{border-color:var(--line);box-shadow:none}.feature-card--dark{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.18)}.feature-card__icon{background:#fff;color:var(--green);border:0;display:grid;place-items:center;overflow:hidden}.feature-card__icon svg{width:24px;height:24px;display:block;stroke:currentColor}.feature-card__icon svg *{vector-effect:non-scaling-stroke}.quote-band{background:var(--blue);color:#fff}.cta-panel{background:var(--green);border-radius:28px}.cta-panel::before{opacity:.08}

/* internal page heroes */
.page-hero{padding:calc(var(--header-h) + 86px) 0 92px;background:var(--green);color:#fff}.page-hero::before,.page-hero::after{display:none}.page-hero.page-hero--photo{background-image:var(--page-photo);background-size:cover;background-position:center}.page-hero.page-hero--photo::before{content:"";display:block;position:absolute;inset:0;width:auto;height:auto;border-radius:0;background:rgba(4,86,52,.72)}.page-hero .eyebrow{color:#BDF4D3}.page-hero .lead{color:rgba(255,255,255,.82)}.breadcrumbs{color:rgba(255,255,255,.72)}
.product-hero{padding-top:calc(var(--header-h) + 74px);background:#F5F9FC}.product-hero__art{border-radius:28px;overflow:hidden;box-shadow:var(--shadow);background:#EAF2F7}.product-hero__art img{width:100%;height:100%;min-height:430px;object-fit:cover}

/* contact/forms */
.form-card{border:1px solid var(--line);box-shadow:0 18px 54px rgba(10,36,64,.08);background:#fff}.field input,.field select,.field textarea{border-color:#CCDCE8;background:#FBFDFE}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(19,86,182,.12);border-color:var(--blue)}.contact-item{border-color:var(--line);background:#fff}.contact-item strong{color:var(--navy)}

/* footer - white so the supplied white-background logo has no visible rectangle */
.site-footer{background:#fff;color:var(--ink);border-top:5px solid var(--green);position:relative}.site-footer::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--green)}.footer-grid{border-bottom-color:var(--line)}.footer-brand img{height:150px;width:auto;background:transparent;mix-blend-mode:multiply}.footer-brand p,.footer-contact,.footer-links a{color:var(--muted)}.footer-title{color:var(--navy)}.footer-links a:hover,.footer-contact a:hover{color:var(--green)}.socials a{border-color:#C9D8E4;color:var(--blue);background:#fff}.footer-bottom{color:#718394;border-top-color:var(--line)}
.whatsapp-float{background:#11B964;box-shadow:0 14px 30px rgba(17,185,100,.30)}


.marquee{min-height:var(--marquee-h);display:flex;align-items:center}.marquee__track{min-height:var(--marquee-h);align-items:center}.marquee__item{padding:0 22px;min-height:var(--marquee-h)}

/* mobile */
@media(max-width:980px){
 :root{--header-h:78px;--container:min(100% - 30px,1280px);--marquee-h:52px}.brand img{height:60px}.brand__word{display:none}.nav{background:#fff;color:var(--navy)}.nav.is-open{box-shadow:0 18px 60px rgba(10,36,64,.14)}.menu-toggle{color:var(--navy)}
 .home-carousel{height:min(680px,calc(100svh - var(--header-h) - var(--marquee-h)));min-height:520px}.home-slide{background-position:62% center}.home-slide::before{background:rgba(4,86,52,.72)}.home-slide__copy{padding:40px 0 100px;max-width:640px}.home-carousel__arrow:first-child{left:16px}.home-carousel__arrow:last-child{right:16px}.home-slide h1{font-size:clamp(42px,9vw,66px)}.home-proof__grid{grid-template-columns:1fr 1fr}.home-proof__item:nth-child(2){border-right:0}.home-proof__item{border-bottom:1px solid var(--line)}.home-visual{grid-template-columns:1fr}.home-visual__image{min-height:380px}.material-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
 :root{--container:calc(100% - 28px);--marquee-h:48px}.nav-cta{display:none}.home-carousel{height:calc(100svh - var(--header-h) - var(--marquee-h));min-height:420px}.home-slide{background-position:70% center}.home-slide::before{background:rgba(4,86,52,.76)}.home-slide__copy{padding:26px 0 78px}.home-slide h1{font-size:42px}.home-slide p{font-size:16px}.home-carousel__dots{bottom:18px}.home-carousel__arrow{width:46px;height:46px}.home-carousel__arrow:first-child{left:10px}.home-carousel__arrow:last-child{right:10px}.home-proof__grid{grid-template-columns:1fr}.home-proof__item{border-right:0}.home-visual__points{grid-template-columns:1fr}.material-grid{grid-template-columns:1fr}.material-card__media{aspect-ratio:16/10}.page-hero{padding:calc(var(--header-h) + 62px) 0 70px}.footer-brand img{height:132px}
}
@media(prefers-reduced-motion:reduce){.home-slide,.home-slide.is-active{transition:none!important;transform:none!important}.home-carousel__dot.is-active::after{transition:none!important}}

/* Ícones reais — contato + redes sociais */
.contact-stack .contact-item .feature-card__icon{
  position:relative;
  flex:0 0 48px;
  font-size:0;
  color:var(--green);
}
.contact-stack .contact-item .feature-card__icon::before{
  content:"";
  width:23px;
  height:23px;
  display:block;
  background:currentColor;
  -webkit-mask-repeat:no-repeat;
  -webkit-mask-position:center;
  -webkit-mask-size:contain;
  mask-repeat:no-repeat;
  mask-position:center;
  mask-size:contain;
}
.contact-stack .contact-item:nth-child(1) .feature-card__icon::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M20.52 3.48A11.8 11.8 0 0 0 12.08 0C5.53 0 .2 5.32.2 11.87c0 2.09.55 4.13 1.6 5.93L.1 24l6.34-1.66a11.84 11.84 0 0 0 5.64 1.43h.01c6.55 0 11.88-5.33 11.88-11.88 0-3.17-1.23-6.16-3.45-8.41Zm-8.43 18.28h-.01a9.84 9.84 0 0 1-5.02-1.37l-.36-.22-3.76.99 1-3.67-.24-.38a9.8 9.8 0 0 1-1.5-5.24c0-5.45 4.44-9.88 9.9-9.88 2.64 0 5.12 1.03 6.99 2.9a9.82 9.82 0 0 1 2.89 7c0 5.45-4.43 9.87-9.87 9.87Zm5.42-7.4c-.3-.15-1.76-.87-2.03-.97-.27-.1-.47-.15-.67.15-.2.3-.77.97-.94 1.17-.17.2-.35.22-.64.07-.3-.15-1.25-.46-2.38-1.47a8.93 8.93 0 0 1-1.64-2.04c-.17-.3-.02-.46.13-.61.13-.13.3-.35.44-.52.15-.17.2-.3.3-.5.1-.2.05-.37-.03-.52-.07-.15-.67-1.61-.92-2.21-.24-.58-.49-.5-.67-.51h-.57c-.2 0-.52.08-.79.37-.27.3-1.04 1.02-1.04 2.48 0 1.46 1.07 2.88 1.22 3.08.15.2 2.1 3.2 5.08 4.49.71.3 1.26.49 1.7.63.71.23 1.36.2 1.87.12.57-.08 1.76-.72 2.01-1.42.25-.7.25-1.3.17-1.42-.07-.12-.27-.2-.57-.35Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M20.52 3.48A11.8 11.8 0 0 0 12.08 0C5.53 0 .2 5.32.2 11.87c0 2.09.55 4.13 1.6 5.93L.1 24l6.34-1.66a11.84 11.84 0 0 0 5.64 1.43h.01c6.55 0 11.88-5.33 11.88-11.88 0-3.17-1.23-6.16-3.45-8.41Zm-8.43 18.28h-.01a9.84 9.84 0 0 1-5.02-1.37l-.36-.22-3.76.99 1-3.67-.24-.38a9.8 9.8 0 0 1-1.5-5.24c0-5.45 4.44-9.88 9.9-9.88 2.64 0 5.12 1.03 6.99 2.9a9.82 9.82 0 0 1 2.89 7c0 5.45-4.43 9.87-9.87 9.87Zm5.42-7.4c-.3-.15-1.76-.87-2.03-.97-.27-.1-.47-.15-.67.15-.2.3-.77.97-.94 1.17-.17.2-.35.22-.64.07-.3-.15-1.25-.46-2.38-1.47a8.93 8.93 0 0 1-1.64-2.04c-.17-.3-.02-.46.13-.61.13-.13.3-.35.44-.52.15-.17.2-.3.3-.5.1-.2.05-.37-.03-.52-.07-.15-.67-1.61-.92-2.21-.24-.58-.49-.5-.67-.51h-.57c-.2 0-.52.08-.79.37-.27.3-1.04 1.02-1.04 2.48 0 1.46 1.07 2.88 1.22 3.08.15.2 2.1 3.2 5.08 4.49.71.3 1.26.49 1.7.63.71.23 1.36.2 1.87.12.57-.08 1.76-.72 2.01-1.42.25-.7.25-1.3.17-1.42-.07-.12-.27-.2-.57-.35Z'/%3E%3C/svg%3E");
}
.contact-stack .contact-item:nth-child(2) .feature-card__icon::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 1a8 8 0 0 0-8 8c0 5.7 8 14 8 14s8-8.3 8-14a8 8 0 0 0-8-8Zm0 11.5A3.5 3.5 0 1 1 12 5a3.5 3.5 0 0 1 0 7.5Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 1a8 8 0 0 0-8 8c0 5.7 8 14 8 14s8-8.3 8-14a8 8 0 0 0-8-8Zm0 11.5A3.5 3.5 0 1 1 12 5a3.5 3.5 0 0 1 0 7.5Z'/%3E%3C/svg%3E");
}
.contact-stack .contact-item:nth-child(3) .feature-card__icon::before,
.socials a[aria-label="Instagram"]::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5Zm0 2a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3H7Zm10.5 1.5a1 1 0 1 1 0 2 1 1 0 0 1 0-2ZM12 7a5 5 0 1 1 0 10 5 5 0 0 1 0-10Zm0 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M7 2h10a5 5 0 0 1 5 5v10a5 5 0 0 1-5 5H7a5 5 0 0 1-5-5V7a5 5 0 0 1 5-5Zm0 2a3 3 0 0 0-3 3v10a3 3 0 0 0 3 3h10a3 3 0 0 0 3-3V7a3 3 0 0 0-3-3H7Zm10.5 1.5a1 1 0 1 1 0 2 1 1 0 0 1 0-2ZM12 7a5 5 0 1 1 0 10 5 5 0 0 1 0-10Zm0 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6Z'/%3E%3C/svg%3E");
}
.socials a{
  font-size:0;
  color:var(--blue);
}
.socials a::before{
  content:"";
  display:block;
  width:18px;
  height:18px;
  background:currentColor;
  -webkit-mask-repeat:no-repeat;
  -webkit-mask-position:center;
  -webkit-mask-size:contain;
  mask-repeat:no-repeat;
  mask-position:center;
  mask-size:contain;
}
.socials a[aria-label="Facebook"]::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M14 8h3V4.5A4.5 4.5 0 0 0 12.5 0C9.5 0 8 2 8 5v3H5v4h3v12h5V12h3.3l.7-4H13V5.5c0-1 .5-1.5 1-1.5H17V0h-3c-3.7 0-6 2.4-6 6v2H5v4h3v12h5V12h3.4l.6-4H14Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M14 8h3V4.5A4.5 4.5 0 0 0 12.5 0C9.5 0 8 2 8 5v3H5v4h3v12h5V12h3.3l.7-4H13V5.5c0-1 .5-1.5 1-1.5H17V0h-3c-3.7 0-6 2.4-6 6v2H5v4h3v12h5V12h3.4l.6-4H14Z'/%3E%3C/svg%3E");
}
.socials a[aria-label="LinkedIn"]::before{
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4.98 3.5A2.5 2.5 0 1 1 0 3.5a2.5 2.5 0 0 1 4.98 0ZM.5 8H4.5v16H.5V8Zm7 0h3.8v2.2h.05c.53-1 1.82-2.2 3.75-2.2 4 0 4.75 2.65 4.75 6.1V24h-4v-8.8c0-2.1-.04-4.8-2.92-4.8-2.93 0-3.38 2.28-3.38 4.65V24h-4V8Z'/%3E%3C/svg%3E");
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M4.98 3.5A2.5 2.5 0 1 1 0 3.5a2.5 2.5 0 0 1 4.98 0ZM.5 8H4.5v16H.5V8Zm7 0h3.8v2.2h.05c.53-1 1.82-2.2 3.75-2.2 4 0 4.75 2.65 4.75 6.1V24h-4v-8.8c0-2.1-.04-4.8-2.92-4.8-2.93 0-3.38 2.28-3.38 4.65V24h-4V8Z'/%3E%3C/svg%3E");
}
.socials a:hover{
  color:var(--green);
  background:var(--green-3);
  border-color:var(--green-3);
}

/* Projetos — CTA de parcerias com imagem enviada pelo cliente */
.projects-partnership-cta{
  background-color:#087443;
  background-image:url("../img/photos/projetos-parcerias-bg.avif");
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
}
.projects-partnership-cta::before{display:none}
.projects-partnership-cta .cta-panel__inner{max-width:620px}
.projects-partnership-cta .h2{max-width:560px}
.projects-partnership-cta .lead{max-width:520px}
@media(max-width:760px){
  .projects-partnership-cta{background-position:58% center}
  .projects-partnership-cta .cta-panel__inner{max-width:72%}
}
@media(max-width:560px){
  .projects-partnership-cta{background-position:64% center}
  .projects-partnership-cta .cta-panel__inner{max-width:68%}
  .projects-partnership-cta{padding:38px 24px}
}
