/* Allserv 1.0.12 — compactacao pontual das secoes Serviços, Equipamentos e Contato.
   Mantem os alvos de navegacao da versao 1.0.11, os conteudos e o menu fixo. */

/* Espacamentos verticais gerais somente nas tres secoes solicitadas. */
.section-services,
.section-equipment,
.section-contact { padding-top:64px; padding-bottom:66px; }

/* SERVIÇOS: quatro cards inteiros com links visiveis em telas de escritorio. */
.section-services .section-heading { margin-bottom:19px; }
.section-services .section-heading h2 { font-size:clamp(29px,2.85vw,39px); line-height:1.15; margin:8px 0 9px; }
.section-services .section-heading p { line-height:1.55; font-size:14px; }
.section-services .services-grid { gap:17px; }
.section-services .service-card { padding:18px 19px 17px; }
.section-services .service-icon { width:46px; height:46px; border-radius:12px; margin-bottom:12px; }
.section-services .service-icon .icon { width:24px; height:24px; }
.section-services .service-card h3 { font-size:17px; line-height:1.25; margin-bottom:7px; }
.section-services .service-card p { font-size:12.5px; line-height:1.5; margin-bottom:13px; }
.section-services .service-card .text-link { margin-top:auto; }

/* EQUIPAMENTOS: mais destaque para as fotos sem cortar nenhuma delas. */
.section-equipment .section-heading { margin-bottom:20px; }
.section-equipment .section-heading h2 { font-size:clamp(29px,2.85vw,39px); line-height:1.15; margin:8px 0 9px; }
.section-equipment .section-heading p { line-height:1.55; font-size:14px; padding-bottom:2px; }
.section-equipment .equipment-grid { gap:17px; }
.section-equipment .equipment-visual.equipment-photo { height:155px; padding:8px 12px 2px; }
.section-equipment .equipment-copy { padding:12px 16px 16px; }
.section-equipment .equipment-copy h3 { font-size:16px; margin:6px 0 5px; }
.section-equipment .equipment-copy p { line-height:1.48; }
.section-equipment .equipment-note { margin-top:13px; }

/* CONTATO: formulario completo mais visivel; campos permanecem confortaveis. */
.section-contact .contact-layout { gap:60px; }
.section-contact .contact-info h2 { font-size:clamp(29px,2.9vw,39px); line-height:1.15; margin:8px 0 8px; }
.section-contact .contact-info>p { line-height:1.55; margin:0; }
.section-contact .contact-methods { margin-top:19px; gap:13px; }
.section-contact .contact-method { gap:11px; }
.section-contact .contact-method .contact-icon { width:40px; height:40px; border-radius:10px; }
.section-contact .contact-panel { padding:17px 22px 12px; }
.section-contact .panel-heading { margin-bottom:10px; gap:11px; }
.section-contact .panel-heading .panel-icon { width:40px; height:40px; border-radius:10px; }
.section-contact .panel-heading h3 { font-size:17px; }
.section-contact .panel-heading p { margin-top:2px; }
.section-contact .contact-panel form { gap:3px; }
.section-contact .contact-panel label { margin-top:3px; line-height:1.3; }
.section-contact .contact-panel input,
.section-contact .contact-panel select { height:41px; min-height:41px; padding:9px 12px; }
.section-contact .contact-panel textarea { min-height:58px; height:58px; padding:9px 12px; line-height:1.4; }
.section-contact .contact-panel .btn-green { margin-top:7px; min-height:45px; }
.section-contact .form-footnote { margin-top:4px; line-height:1.45; }

/* Tablets: duas colunas de cards; manter fotos em tamanho util. */
@media (max-width:1100px) {
 .section-services, .section-equipment, .section-contact { padding-top:57px; padding-bottom:60px; }
 .section-services .services-grid, .section-equipment .equipment-grid { gap:16px; }
 .section-equipment .equipment-visual.equipment-photo { height:168px; }
 .section-contact .contact-layout { gap:35px; }
}

/* Celular: preservar a leitura e a area de toque, evitando compactacao excessiva. */
@media (max-width:780px) {
 .section-services, .section-equipment, .section-contact { padding-top:49px; padding-bottom:55px; }
 .section-services .section-heading, .section-equipment .section-heading { margin-bottom:21px; }
 .section-services .service-card { padding:20px; }
 .section-services .service-card p { margin-bottom:14px; line-height:1.58; }
 .section-equipment .equipment-visual.equipment-photo { height:172px; }
 .section-contact .contact-layout { gap:25px; }
 .section-contact .contact-panel { padding:20px 18px; }
 .section-contact .contact-methods { margin-top:18px; gap:15px; }
 .section-contact .contact-panel input,
 .section-contact .contact-panel select { height:44px; min-height:44px; }
 .section-contact .contact-panel textarea { height:82px; min-height:82px; }
 .section-contact .contact-panel .btn-green { min-height:46px; }
}
@media (max-width:520px) {
 .section-services, .section-equipment, .section-contact { padding-top:42px; padding-bottom:48px; }
 .section-services .section-heading h2, .section-equipment .section-heading h2, .section-contact .contact-info h2 { font-size:clamp(28px,7.5vw,33px); }
 .section-services .services-grid, .section-equipment .equipment-grid { gap:13px; }
 .section-equipment .equipment-visual.equipment-photo { height:166px; }
 .section-contact .contact-panel { padding:18px 16px; }
}
