.hero { position:relative; min-height:720px; overflow:hidden; background:var(--green-deep); }
.hero-media { position:absolute; inset:0; min-height:100%; background:linear-gradient(90deg,rgba(0,40,24,.93) 0,rgba(0,40,24,.76) 39%,rgba(0,40,24,.16) 72%),url('../img/banners/hero-home-sul-limpa-v2.webp') 58% center/cover; }
.hero-grid { position:relative; min-height:720px; display:flex; align-items:center; }
.hero-copy { max-width:800px; padding:5rem 0; color:#fff; }
.hero .eyebrow { color:var(--yellow); }
.hero h1 { max-width:720px; color:#fff; font-size:clamp(3.5rem,6vw,6.4rem); line-height:.9; }
.hero p:not(.eyebrow) { max-width:610px; color:#e1e9e4; font-size:1.1rem; }
.hero-actions { display:flex; gap:1rem; margin-top:1.5rem; }
.trust-strip { background:var(--yellow); }
.trust-list { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; padding:.7rem 0; }
.trust-item { position:relative; min-height:3.6rem; display:flex; align-items:center; justify-content:center; gap:.85rem; padding:.55rem 1rem; color:var(--black); font-size:.78rem; font-weight:650; letter-spacing:.025em; text-align:center; text-decoration:none; transition:color .25s ease; }
.trust-item::after { position:absolute; right:18%; bottom:.3rem; left:18%; height:1px; background:var(--green); content:""; transform:scaleX(0); transition:transform .3s ease; }
.trust-item i { display:grid; width:2rem; height:2rem; place-items:center; border:1px solid rgba(0,107,63,.38); border-radius:50%; color:var(--green); font-size:.84rem; transition:border-color .25s ease, transform .25s ease; }
.trust-item:hover { color:var(--green-deep); }
.trust-item:hover::after { transform:scaleX(1); }
.trust-item:hover i { border-color:var(--green); transform:translateY(-.12rem); }
.section-intro { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:2.5rem; }
.section-intro p { max-width:430px; color:var(--muted); }
.service-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:1rem; }
.service-grid article { position:relative; isolation:isolate; min-height:335px; display:flex; flex-direction:column; justify-content:end; padding:1.5rem; color:#fff; background:linear-gradient(0deg, rgba(0,32,19,.95), rgba(0,32,19,.12)), url('../img/banners/servico-demolicao.webp') center/cover; overflow:hidden; transition:transform .35s ease, box-shadow .35s ease; }
.service-grid article:nth-child(2) { background:linear-gradient(0deg, rgba(12,12,10,.95), rgba(12,12,10,.12)), url('../img/banners/servico-terraplanagem.webp') center/cover; }
.service-grid article:nth-child(3) { background:linear-gradient(0deg, rgba(0,69,42,.95), rgba(0,69,42,.12)), url('../img/banners/servico-limpeza.webp') center/cover; }
.service-grid article::before { position:absolute; top:-42px; right:-42px; width:150px; height:150px; border-radius:50%; background:var(--yellow); content:""; transition:transform .5s cubic-bezier(.2,.8,.2,1); }
.service-grid article:hover { transform:scale(1.025); box-shadow:0 1.25rem 2.5rem rgba(0,69,42,.2); }
.service-grid article:hover::before { transform:scale(2.8); }
.service-grid h3,.service-grid p { position:relative; z-index:1; transition:transform .35s ease, letter-spacing .35s ease; }
.service-grid h3 { margin-bottom:.4rem; font-size:2rem; line-height:1; }
.service-grid h3 a { color:inherit; text-decoration:none; }
.service-grid article:hover h3 { transform:translateY(-.3rem); letter-spacing:-.02em; }
.service-grid article:hover p { transform:translateY(-.2rem); }
.service-grid p { margin-bottom:0; color:#ecf3ea; }
.section-dark { color:#fff; background:var(--green-deep); }
.section-dark h2 { color:#fff; }
.section-dark .eyebrow { color:var(--yellow); }
.section-dark p { color:#d8e5dc; }
.button-light { color:var(--black); background:var(--yellow); }
.button-light:hover { color:#fff; background:var(--black); }
.split { display:grid; grid-template-columns:1fr 1fr; gap:4rem; }
.commercial-callout { color:var(--black); background:var(--yellow); }
.commercial-callout h2 { color:var(--black); }
.benefit-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.benefit-grid article { padding:1.75rem; border-top:.45rem solid var(--yellow); background:var(--surface); transition:transform .35s ease, box-shadow .35s ease, background-color .35s ease; animation:benefit-reveal .6s both; }
.benefit-grid article:nth-child(2) { animation-delay:.12s; }
.benefit-grid article:nth-child(3) { animation-delay:.24s; }
.benefit-grid article:hover { background:#fff; box-shadow:0 1.25rem 2.5rem rgba(0,69,42,.14); transform:translateY(-.55rem); }
.benefit-grid article:hover span { color:var(--black); letter-spacing:.18em; }
.benefit-grid span,.process-grid strong { color:var(--green); font-size:.86rem; font-weight:900; letter-spacing:.1em; }
.benefit-grid h3 { margin:.9rem 0 .5rem; color:var(--green); font-size:1.5rem; }
.benefit-grid p { margin:0; color:var(--muted); }
@keyframes benefit-reveal { from { opacity:0; transform:translateY(1.25rem); } to { opacity:1; transform:translateY(0); } }
.process-section { color:#fff; background:var(--black); }
.process-section h2 { color:#fff; }
.process-section .eyebrow { color:var(--yellow); }
.process-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; margin-top:3rem; }
.process-grid article { padding-top:1.25rem; border-top:1px solid #555; }
.process-grid strong { color:var(--yellow); }
.process-grid h3 { margin:.75rem 0 .5rem; font-size:1.5rem; }
.process-grid p { color:#c9d0c9; }
.faq-section { background:var(--surface); }
.faq-list details { padding:1.25rem 0; border-bottom:1px solid var(--line); }
.faq-list summary { color:var(--green); cursor:pointer; font-weight:800; }
.faq-list p { margin:1rem 0 0; color:var(--muted); }
.work-showcase { background:#fff; }
.work-showcase-header { display:flex; align-items:end; justify-content:space-between; gap:3rem; margin-bottom:2.5rem; }
.work-showcase-header p:last-child { max-width:510px; color:var(--muted); }
.work-grid { display:grid; grid-template-columns:1.15fr .85fr .85fr; grid-template-rows:repeat(2, minmax(240px, 30vw)); gap:.8rem; }
.work-card { position:relative; min-height:0; margin:0; overflow:hidden; background:var(--green-deep); }
.work-card:first-child { grid-row:1 / 3; }
.work-card:last-child { grid-column:2 / 4; }
.work-card img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .7s cubic-bezier(.2,.8,.2,1); }
.work-card::after { position:absolute; inset:auto 0 0; height:55%; background:linear-gradient(transparent,rgba(0,28,17,.9)); content:""; }
.work-card figcaption { position:absolute; z-index:1; right:1.25rem; bottom:1.1rem; left:1.25rem; color:#fff; font-size:.78rem; font-weight:600; letter-spacing:.04em; }
.work-card:hover img { transform:scale(1.045); }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; scroll-behavior:auto !important; transition-duration:.01ms !important; } }
@media (max-width:760px) { .hero,.hero-grid { min-height:680px; } .hero-media { background-position:66% center; } .hero-copy { padding:4.5rem 0; } .hero h1 { font-size:3.65rem; } .hero-actions { align-items:stretch; flex-direction:column; } .trust-list,.service-grid,.split,.benefit-grid,.process-grid { grid-template-columns:1fr; } .trust-list { gap:0; padding:0; } .trust-item { justify-content:flex-start; min-height:3.25rem; border-bottom:1px solid rgba(17,17,14,.15); text-align:left; } .section-intro,.work-showcase-header { align-items:start; flex-direction:column; } .work-grid { grid-template-columns:1fr; grid-template-rows:none; } .work-card,.work-card:first-child,.work-card:last-child { grid-column:auto; grid-row:auto; min-height:360px; } }
