/* Audited layout corrections shared by English and Spanish. */
.nav-wrap>*{min-width:0}
.language-switch{min-height:44px;justify-content:center}
.menu-btn{min-width:44px;min-height:44px}
.filter-btn{min-height:44px}
.filter-bar{display:none}
.js .filter-bar{display:flex}
.field{min-width:0}
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.contact-layout>*,.split>*,.section-heading>*,.detail-top>*{min-width:0}
.footer-main a:not(.footer-logo){display:inline-block;padding-block:4px}
.project-card,.service-card{min-width:0}
.form-status a{overflow-wrap:anywhere}
.nav a,.language-switch,.menu-btn{touch-action:manipulation}
.recommendations{background:#edf2e9}
.recommendation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.recommendation-card{margin:0;background:var(--white);border:1px solid var(--line);padding:40px;display:flex;flex-direction:column;align-items:flex-start}
.review-source{font-size:.69rem;letter-spacing:.09em;text-transform:uppercase;color:var(--blue);margin-bottom:25px}
.recommendation-card blockquote{font-size:clamp(1.5rem,2.3vw,2.1rem);line-height:1.35;letter-spacing:-.035em;margin:0 0 30px;font-weight:500}
.recommendation-card figcaption{margin-top:auto;font-size:.8rem}
.recommendation-card figcaption strong,.recommendation-card figcaption span{display:block}
.recommendation-card figcaption span{color:var(--muted);font-size:.67rem;margin-top:5px}
.recommendation-card .text-link{font-size:.73rem;margin-top:22px}
@media(max-width:760px){.recommendation-grid{grid-template-columns:minmax(0,1fr);gap:20px}.recommendation-card{padding:28px}.recommendation-card blockquote{font-size:1.6rem}}
@media(max-width:1024px){.nav{order:10}}
@media(min-width:761px) and (max-width:1024px){
 .nav-wrap{min-height:90px;flex-wrap:wrap;gap:0}
 .header-call{margin-left:auto;margin-right:20px}
 .language-switch{margin-left:0;margin-right:16px}
 .menu-btn{display:none;border:1px solid var(--line);background:white;width:44px;height:44px;align-items:center;justify-content:center;cursor:pointer}
 .menu-btn span,.menu-btn span:before,.menu-btn span:after{display:block;background:var(--ink);width:17px;height:1px;position:relative}
 .menu-btn span:before,.menu-btn span:after{content:'';position:absolute;left:0;transition:transform .2s}
 .menu-btn span:before{top:-5px}.menu-btn span:after{top:5px}
 .menu-btn[aria-expanded=true] span{background:transparent}
 .menu-btn[aria-expanded=true] span:before{top:0;transform:rotate(45deg)}
 .menu-btn[aria-expanded=true] span:after{top:0;transform:rotate(-45deg)}
 .js .menu-btn{display:flex}
 .nav{width:100%;justify-content:space-between;gap:10px;padding:10px 0 18px;border-top:1px solid var(--line)}
 .js .nav{display:none}
 .js .nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}
 .js .nav.open a{padding:14px 4px;font-size:1rem;border-bottom:1px solid var(--line)}
 .js .nav a:after{display:none}
}
@media(max-width:1024px){
 .contact-layout{grid-template-columns:minmax(0,1fr);gap:28px}
 .contact-panel{display:grid;grid-template-columns:1fr 1fr;gap:0 35px}
 .contact-panel h2{grid-column:1/-1}
}
@media(max-width:760px){
 .form-grid{grid-template-columns:minmax(0,1fr)}
 .contact-panel{display:block}
 .mobile-call a{min-height:48px;display:flex;align-items:center;justify-content:center}
}
@media(max-width:360px){
 .wrap{width:calc(100% - 32px)}
 .contact-form,.contact-panel{padding:22px}
 .hero .actions{gap:17px}
 .hero .btn{gap:18px;padding:16px 18px}
}
