/* Ajustes exclusivos da pagina inicial. */
:root {
  --title-size: clamp(26px, 3.1vw, 44px);
  --subtitle-size: clamp(18px, 1.7vw, 23px);
}
.hero { padding: clamp(28px, 4vw, 58px) 0; }
.hero-grid { grid-template-columns: minmax(0, 1fr) minmax(300px, 360px); gap: clamp(24px, 3vw, 44px); }
.hero-copy { gap: 20px; }
.lead-card { padding: 22px; }
.lead-form { gap: 10px; margin-top: 16px; }
.field { gap: 4px; }
.field input, .field textarea { min-height: 42px; padding: 9px 12px; }
.field textarea { min-height: 76px; }
section { padding: clamp(32px, 4.5vw, 64px) 0; }
.section-head { margin-bottom: 26px; }
.system-card, .service-card, .feature { min-height: 0; }
.system-body, .service-card, .feature { padding: clamp(16px, 2vw, 24px); }
.system-body { gap: 12px; }
.access-panel { min-height: 0; }
.tech-list li { padding: 7px 10px; }
@media (min-width: 821px) and (max-width: 1100px) {
  .nav { gap: 12px; }
  .brand img { width: 150px; }
  .nav-links { gap: 0; }
  .nav-links a { padding: 9px 7px; font-size: 14px; }
  .header-button { padding: 0 12px; font-size: 14px; }
  .hero-grid { grid-template-columns: minmax(0, 1fr) minmax(290px, 330px); }
  .hero-copy p { font-size: 15px; }
  .tech-list { gap: 7px; }
  .tech-list li { font-size: 14px; }
}
@media (min-width: 681px) and (max-width: 1040px) {
  .system-grid, .service-grid, .feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 820px) {
  .hero-grid { grid-template-columns: 1fr; gap: 24px; }
  .hero-copy { max-width: 680px; }
  .lead-card { width: 100%; max-width: 620px; }
  .nav { min-height: 64px; }
  .brand img { width: 150px; max-height: 54px; }
  .modal { padding: 12px; }
  .modal-card { max-height: calc(100dvh - 24px); }
  .modal-head, .modal-content { padding: 18px; }
}
@media (max-width: 680px) {
  .system-grid, .service-grid, .feature-grid { grid-template-columns: 1fr; }
  .system-media { max-height: 190px; }
  .access-panel img { max-height: 270px; }
  .contact-grid { gap: 24px; }
}
@media (max-width: 560px) {
  :root { --title-size: clamp(26px, 6.4vw, 32px); --subtitle-size: 20px; }
  .tech-list { display: flex; flex-wrap: wrap; }
  .tech-list li { font-size: 14px; }
  .lead-card { padding: 18px; }
  .client-stage { min-height: 150px; padding: 16px; }
  .client-logo { max-height: 110px; }
  .contact-link { overflow-wrap: anywhere; }
}
.reformulation-notice { padding: 16px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--soft); font-size: 15px; }
.reformulation-notice a { font-size: inherit; font-weight: 700; text-decoration: underline; overflow-wrap: anywhere; }
.whatsapp-header { display:flex; align-items:center; justify-content:center; flex:0 0 44px; width:44px; height:44px; color:#178c49; border-radius:50%; }
.whatsapp-header:hover { background:#e8f6ed; }
.contact-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
#contactStatus:empty { display:none; }
#contactStatus { font-size:14px; }
#contactStatus[data-state="error"] { color:#a61b1b; }
#contactStatus[data-state="success"] { color:#176a38; }
.lead-form button:disabled { opacity:.65; cursor:wait; }
@media(max-width:820px) { .menu-toggle { margin-left:auto; } .nav { gap:12px; } }
.client-gallery { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:16px; }
.client-tile { min-width:0; height:124px; display:flex; align-items:center; justify-content:center; padding:16px; border:1px solid var(--line); border-radius:var(--radius); background:#fff; box-shadow:0 4px 16px rgba(11,47,61,.04); transition:border-color .2s,box-shadow .2s; }
.client-tile:hover { border-color:var(--color-3); box-shadow:0 6px 20px rgba(11,47,61,.1); }
.client-tile img { width:100%; height:100%; object-fit:contain; }
@media(max-width:1100px) { .client-gallery { grid-template-columns:repeat(5,minmax(0,1fr)); } }
@media(max-width:820px) { .client-gallery { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; } .client-tile { height:110px; padding:12px; } }
@media(max-width:600px) { .client-gallery { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; } .client-tile { height:96px; padding:10px; } }
@media(max-width:420px) { .client-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.portfolio { background:var(--soft); }
.portfolio-viewer { max-width:1040px; margin:auto; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:#fff; box-shadow:var(--shadow); }
.portfolio-stage { display:grid; place-items:center; height:clamp(230px,48vw,560px); padding:16px; background:#f7f9fb; }
.portfolio-stage img { width:100%; height:100%; min-height:0; object-fit:contain; }
.portfolio-controls { display:flex; justify-content:center; align-items:center; gap:14px; padding:12px; border-top:1px solid var(--line); }
.portfolio-controls .button { min-height:42px; padding:0 16px; }
#portfolioCount { min-width:72px; text-align:center; font-variant-numeric:tabular-nums; }
@media(min-width:821px) and (max-width:1200px) { .nav { gap:12px; } .nav-links a { font-size:14px; padding:9px 7px; } .brand img { width:150px; } }
@media(max-width:560px) { .portfolio-stage { padding:6px; } .portfolio-controls { gap:8px; } .portfolio-controls .button { padding:0 12px; } }
