/* extracted from index.html inline <style> */
/* v32.1 — homepage/mobile scientific icon sizing (no oversized decorative icons) */
.ptf-ico{
  display:inline-grid; place-items:center;
  width:var(--ico,40px); height:var(--ico,40px);
  border-radius:12px; flex:0 0 auto;
  background:linear-gradient(135deg,rgba(14,116,144,.10),rgba(15,39,68,.06));
  color:#0e7490; border:1px solid rgba(14,116,144,.14);
}
.ptf-ico svg{ width:calc(var(--ico,40px) * .52); height:calc(var(--ico,40px) * .52); display:block; }
.ptf-ico.lg{ --ico:44px; border-radius:13px; }
.ptf-ico.md{ --ico:36px; border-radius:11px; }
.ptf-ico.sm{ --ico:30px; border-radius:9px; }
.ptf-ico.warn{ color:#c2410c; background:linear-gradient(135deg,rgba(239,75,26,.10),rgba(247,148,0,.08)); border-color:rgba(239,75,26,.16); }
@media (max-width:700px){
  .ptf-ico.lg{ --ico:38px; }
  .ptf-ico.md{ --ico:32px; }
  .ptf-ico.sm{ --ico:28px; }
  /* prevent raw font-size:40px icon wrappers from dominating mobile */
  .ptf-mobile-ico-fix > span[style*="font-size:40px"],
  .ptf-mobile-ico-fix span[style*="font-size:40px"]{
    font-size:0 !important; line-height:0 !important;
  }
  .ptf-mobile-ico-fix > span[style*="font-size:40px"] svg,
  .ptf-mobile-ico-fix span[style*="font-size:40px"] svg{
    width:22px !important; height:22px !important;
  }
  .about-metrics .ptf-ico, .stats-row .ptf-ico{ --ico:36px; }
}

/* CRM & Form fixes */
#contactForm input, #contactForm textarea, #contactForm select {
  background: #f8fafc !important;
  border: 2px solid #cbd5e1 !important;
  color: #1e293b !important;
  padding: 12px 15px !important;
  border-radius: 12px !important;
  font-family: inherit !important;
  font-size: 14px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
#contactForm input:focus, #contactForm textarea:focus, #contactForm select:focus {
  border-color: #ef4b1a !important;
  box-shadow: 0 0 0 4px rgba(239,75,26,.1) !important;
  outline: none !important;
}
#contactForm label { color: #ef4b1a !important; font-weight: 900 !important; font-size: 13.5px !important; }
#contactForm input::placeholder, #contactForm textarea::placeholder { color: #94a3b8 !important; }

/* Sprint 32 — Brand Logo Replacement */
.brand-logo { width: 100%; height: 100%; object-fit: contain; padding: 8px; transition: transform .25s ease; }
.brand-panel a:hover .brand-logo { transform: scale(1.08); }
.brand-panel a { display: grid; place-items: center; width: 100%; height: 100%; text-decoration: none; }
.marquee-logo { display: block; height: 40px; width: auto; margin: 0 auto; }
.logo-track span { min-width: 148px; text-align: center; border-radius: 17px; background: transparent; border: 1px solid rgba(255,255,255,.12); padding: 8px 12px; display: inline-flex; align-items: center; justify-content: center; height: 56px; }
@media (max-width: 768px) {
  .brand-logo { padding: 4px; }
  .brand-panel { grid-template-columns: repeat(3, 1fr) !important; gap: 8px !important; }
  .brand-panel a { min-height: 72px; }
}
@media (max-width: 440px) {
  .brand-panel { grid-template-columns: repeat(2, 1fr) !important; }
}

@media(max-width:700px){
  section.about .reveal > [style*="display:grid"][style*="grid-template-columns"]{
    grid-template-columns:1fr !important;
  }
  section.about .reveal > [style*="display:grid"] img{
    width:140px !important;
    margin:0 auto;
  }
}
