/* Home: preserve Tecnich's original visual language, with a shorter page. */
html { scroll-padding-top: 110px; }
.hero { padding-top: 2.4rem; }
.hero-copy { padding: 2.5rem 0 3rem; }
.hero h1 { font-size: clamp(2.7rem, 4.35vw, 4.1rem); line-height: 1.08; }
.hero-lead { max-width: 35rem; font-size: 1.05rem; line-height: 1.8; }
.hero-visual { min-height: 510px; }
.ai-core-stage { top: -7%; right: -5%; width: 110%; height: 490px; }
.ai-core-image { max-width: 650px; height: 100%; object-fit: contain; }
.floating-card-a { top: auto; bottom: 22px; left: 10%; max-width: 290px; }
.hero-highlight-strip { margin-block: 1.4rem; }
.hero-highlight-strip span { font-size: .76rem; }
.section { padding-block: 4.5rem; }
.section-heading h2, .ai-copy h2, .contact-copy h2 { font-size: clamp(2rem, 3.25vw, 3.1rem); line-height: 1.13; }
.proof-grid { align-items: stretch; }
.proof-card { display: flex; flex-direction: column; padding: 1.8rem; }
.proof-card .product-badge { align-self: flex-start; }
.proof-card h3 { font-size: 1.35rem; margin-block: 1.3rem .6rem; }
.proof-card p { flex: 1; line-height: 1.8; }
.proof-card .product-link { margin-top: 1rem; }
.ai-panel { align-self: center; }
.ai-workflow { margin-top: 1.5rem; }
.client-section { padding-top: 3.5rem; padding-bottom: 2rem; }
.client-track { animation: none; transform: none; flex-wrap: wrap; justify-content: center; width: min(1180px, calc(100% - 2rem)); margin: auto; gap: 1rem; padding-block: 1rem; }
.client-track .client-logo:nth-child(n+9) { display: none; }
.client-marquee { overflow: visible; mask-image: none; }
.client-logo { flex-shrink: 1; }
.contact-panel p { color: rgba(17,42,79,.76); line-height: 1.8; }
.contact-panel .button { margin-block: .7rem 1.2rem; }
.contact-panel .product-link { display: block; }
.whatsapp-float { z-index: 50; }
@media(max-width:1000px) {
  .hero-visual { min-height: 430px; }
  .ai-core-stage { height: 400px; }
  .floating-card-a { bottom: 0; }
}
@media(max-width:760px) {
  .hero { padding-top: 1rem; }
  .hero-copy { padding: 1.5rem 0 .5rem; }
  .hero h1 { font-size: clamp(2.5rem, 9vw, 3.6rem); }
  .hero-visual { min-height: 355px; }
  .ai-core-stage { inset: 0 0 auto; width: 100%; height: 350px; }
  .floating-card-a { left: 10%; bottom: 0; max-width: 260px; padding: 1rem; }
  .hero-layout { gap: .7rem; }
  .section { padding-block: 3rem; }
  .proof-grid { grid-template-columns: 1fr; }
  .client-logo { min-width: 120px; max-width: 150px; }
  .contact-layout { padding: 1.4rem; }
  .whatsapp-float { bottom: 16px; right: 16px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* Product portfolio: original brand assets on quiet, consistent cards. */
.systems-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 1.4rem; }
.system-card { grid-column: span 2; overflow: hidden; border-radius: 26px; display: flex; flex-direction: column; transition: transform .2s, box-shadow .2s; }
.system-card:nth-child(n+4) { grid-column: span 3; }
.system-card:hover { transform: translateY(-4px); box-shadow: 0 28px 62px rgba(17,42,79,.14); }
.brand-panel { display: flex; align-items: center; justify-content: center; height: 140px; margin: 1.1rem 1.1rem 0; padding: 1.65rem; border: 1px solid rgba(3,127,199,.08); border-radius: 18px; background: linear-gradient(140deg,#f5faff,#fff); }
.brand-panel img { width: 100%; max-width: 270px; height: 80px; object-fit: contain; }
.brand-panel-dark { background: linear-gradient(135deg,#112a4f,#037fc7); border-color: transparent; }
.system-body { padding: 1.6rem 1.7rem 1.7rem; display: flex; flex: 1; flex-direction: column; }
.system-category { margin: 0; display: flex; align-items: center; gap: .6rem; color: #0879ba; font-size: .72rem; font-weight: 800; letter-spacing: .025em; }
.system-icon { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 9px; background: rgba(3,127,199,.08); flex: 0 0 auto; }
.system-icon svg { width: 19px; height: 19px; }
.system-body h3 { font-family: Sora,sans-serif; font-size: 1.35rem; line-height: 1.3; margin: 1rem 0 .7rem; }
.system-description { color: rgba(17,42,79,.76); line-height: 1.8; margin: 0 0 1.6rem; font-size: .92rem; flex: 1; }
.system-link { display: flex; align-items: center; justify-content: space-between; gap: .6rem; padding-top: 1rem; border-top: 1px solid rgba(17,42,79,.1); color: #0879ba; font-size: .85rem; font-weight: 800; }
.system-link:hover { color: #c94f00; }
.system-link span:last-child { font-size: 1.3rem; }
@media(max-width:1000px) { .systems-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .system-card,.system-card:nth-child(n+4) { grid-column: span 1; } .system-card:last-child { grid-column: 1/-1; } }
@media(max-width:640px) { .systems-grid { grid-template-columns: 1fr; gap: 1.2rem; } .system-card,.system-card:last-child { grid-column: 1; } .brand-panel { height: 125px; } .system-body { padding: 1.3rem; } }
