.footer__direct-contact{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.footer__direct-contact a{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:12px 24px;border-radius:999px;background:#0b3c26;color:#fff;font:600 13px Poppins,sans-serif;text-decoration:none}.footer__direct-contact a:last-child{background:#f7f5ef;color:#0b3c26}.footer a:focus-visible,.footer input:focus-visible,.footer textarea:focus-visible{outline:3px solid #6b8c73;outline-offset:4px}
@media(max-width:992px){
.footer .footer__container{width:100%;box-sizing:border-box;padding:0 24px!important}.footer .footer__form-section{padding:36px 0 40px}.footer .footer__header-text{padding:0!important;text-align:left;margin-bottom:24px;max-width:600px;position:relative}.footer .footer__header-text h3{margin:0 0 14px;max-width:300px;font-size:14px}.footer .footer__header-text h2{font-size:clamp(48px,9vw,68px)}.footer__direct-contact{margin-top:24px}.footer__direct-contact a{flex:1;white-space:nowrap}.footer .footer__form-wrapper{display:grid!important;grid-template-columns:1fr;max-width:600px!important;width:100%!important;margin:0 auto!important;gap:0!important}.footer .footer__bird-container{display:none}.footer .footer__form{width:100%;box-sizing:border-box;background:#f7f5ef;padding:24px;border-radius:32px;gap:18px}.footer .footer__form label{font-size:13px;line-height:1.6;color:#0b3c26}.footer .footer__form input,.footer .footer__form textarea{width:100%!important;box-sizing:border-box;font-size:16px!important;min-height:48px;padding:12px 14px!important;border:1px solid #6b8c7370;border-radius:16px;background:#fff}.footer .footer__form textarea{min-height:130px}.footer .footer__form .btn-enviar{width:100%;align-self:stretch}.footer .footer__curve-middle{height:40px}.footer .footer__links-section{padding:28px 0 100px}.footer .footer__grid{display:grid;grid-template-columns:1fr 1fr;gap:24px 16px;text-align:left}.footer .footer__brand{grid-column:1/-1;align-items:flex-start;gap:12px;border-bottom:1px solid #7ca77380;padding-bottom:22px}.footer .footer__brand .footer__logo{height:70px;max-width:160px}.footer .footer__copy{font-size:11px;line-height:1.7}.footer .footer__col{min-width:0}.footer .footer__col h3{font-size:12px;letter-spacing:.08em;margin:0 0 12px;color:#c8ddbe}.footer .footer__col ul{align-items:stretch;gap:2px}.footer .footer__col ul li{justify-content:flex-start;opacity:1;min-width:0}.footer .footer__col ul a{justify-content:flex-start;min-height:44px;width:100%;font-size:12px;line-height:1.6;opacity:1;padding:6px 0;box-sizing:border-box}.footer .footer__contact-info{grid-column:1/-1;border-top:1px solid #7ca77380;padding-top:22px;height:auto}.footer .footer__contact-info ul{display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}.footer .footer__contact-info ul li:first-child,.footer .footer__author-item{grid-column:1/-1}.footer .footer__author-item{justify-content:flex-start!important;flex-wrap:nowrap!important;margin-top:10px!important}.footer .footer__author{font-size:11px!important;line-height:1.7!important}.footer .footer__skull-inline{width:50px!important}
}
@media(max-width:380px){.footer .footer__container{padding:0 18px!important}.footer .footer__form{padding:20px 16px}.footer__direct-contact{gap:8px}.footer__direct-contact a{padding:12px 16px;font-size:12px}.footer .footer__contact-info ul{grid-template-columns:1fr}}

.footer__brand .footer__direct-contact a:first-child{background:#6b8c73}
/* Keep navigation columns aligned when headings or service names wrap. */
.footer .footer__grid{align-items:start}
.footer .footer__col:not(.footer__contact-info) h3{margin-top:0;line-height:1.6}
@media(max-width:992px){
.footer .footer__col:not(.footer__contact-info) h3{min-height:40px;margin-bottom:8px;display:flex;align-items:flex-start}
.footer .footer__col:not(.footer__contact-info) ul{display:grid;grid-auto-rows:56px;gap:2px;align-items:stretch}
.footer .footer__col:not(.footer__contact-info) ul li{height:100%;align-items:stretch}
.footer .footer__col:not(.footer__contact-info) ul a{height:100%;align-items:center}
}
@media(max-width:992px){
.footer .footer__col:not(.footer__contact-info)>h3{font-family:'Poppins',sans-serif;font-size:12px;font-weight:700;line-height:20px;letter-spacing:.08em;padding:0;border:0;box-sizing:border-box}
.footer .footer__brand + .footer__col > h3{position:relative;top:-2px}
}
/* Keep the decorative wave in normal flow on mobile so it cannot cover content. */
@media(max-width:992px){
body:has(.footer) > .footer{margin-top:28px!important}
.footer .footer__curve-top{position:relative!important;top:auto!important;left:auto;height:44px;flex-shrink:0;line-height:0}
.footer .footer__curve-top svg{position:relative!important;top:auto!important;bottom:auto!important;height:44px!important;display:block}
}
/* Straight color transition between the form and footer links on mobile. */
@media(max-width:992px){
.footer .footer__curve-middle{display:none}
.footer .footer__form-section,.footer .footer__links-section{border-radius:0}
}
/* Fill the reserved mobile separation and wave backdrop with the form's sage. */
@media(max-width:992px){
.footer{background:#7ca773}
.footer::before{content:'';position:absolute;left:0;right:0;top:-28px;height:28px;background:#7ca773;pointer-events:none}
.footer .footer__curve-top{background:#7ca773}
}
/* Continuous transition on every page: no external gap and no overlapping wave. */
body:has(.footer) > .footer{margin-top:0!important;background:#7ca773}
.footer::before{display:none!important}
.footer .footer__curve-top{position:relative!important;top:auto!important;left:auto!important;height:64px;background:#7ca773;flex-shrink:0;line-height:0}
.footer .footer__curve-top svg{position:relative!important;top:auto!important;bottom:auto!important;height:64px!important;display:block}
@media(max-width:992px){.footer .footer__curve-top,.footer .footer__curve-top svg{height:44px!important}}
/* All desktop footer columns share the same heading and first-row baseline. */
@media(min-width:993px){
.footer .footer__col{align-self:start}
.footer .footer__col h3{margin:0 0 19px;padding:0;font-family:'Poppins',sans-serif;font-size:.95rem;font-weight:700;line-height:1.6;letter-spacing:1px;min-height:25px}
.footer .footer__contact-info{height:auto;justify-content:flex-start}
.footer .footer__col ul{gap:10px}
.footer .footer__col ul li,.footer .footer__col ul a{line-height:1.6;min-height:32px;align-items:center}
.footer .footer__col ul .footer__author-item{margin-top:24px}
}
/* Visible upper wave, kept in normal flow so it never covers the preceding section. */
.footer .footer__curve-top{background:var(--footer-transition-background,#f9f9f9)!important}
/* Small overlap only for the Work gallery, over the image edge. */
body:has(.projects-section) > .footer{margin-top:-14px!important}
/* Work wave sits over the final image, with no light-colored strip behind it. */
body:has(.projects-section) > .footer{margin-top:-64px!important;background:transparent!important}
body:has(.projects-section) > .footer .footer__curve-top{background:transparent!important}
@media(max-width:992px){body:has(.projects-section) > .footer{margin-top:-44px!important}}
