/* ===== 14-quality-polish.css ===== */
/* ===== TERASILICON IQ — QUALITY POLISH ===== */
:root {
  --violet-soft:#f7f2fd;
  --orange-soft:#fff8ef;
  --navy-soft:#161d45;
  --green:#1f9d55
}
/* Premium interactive buttons */
.button,.nav-cta {
  transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease,border-color .2s ease
}
.button:hover,.nav-cta:hover {
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(16,22,56,.12)
}
.button:focus-visible,.nav-cta:focus-visible {
  outline:3px solid rgba(239,119,0,.25);
  outline-offset:3px
}
/* Homepage capability rows */
.capability-links .capability-row {
  position:relative;
  display:grid;
  grid-template-columns:minmax(230px,.8fr) 2fr auto;
  gap:26px;
  align-items:center;
  padding:20px 24px;
  border-bottom:1px solid var(--line);
  color:var(--ink);
  text-decoration:none;
  background:#fff;
  transition:transform .22s ease,background .22s ease,box-shadow .22s ease,padding-left .22s ease
}
.capability-links .capability-row:last-child {
  border-bottom:0
}
.capability-links .capability-row:before {
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:3px;
  background:var(--violet);
  transform:scaleY(0);
  transform-origin:center;
  transition:transform .22s ease,background .22s ease
}
.capability-links .capability-row:nth-child(even):before {
  background:var(--orange)
}
.capability-links .capability-row:hover,.capability-links .capability-row:focus-visible {
  background:linear-gradient(90deg,var(--violet-soft),#fff);
  transform:translateX(5px);
  box-shadow:0 8px 22px rgba(16,22,56,.06);
  outline:none
}
.capability-links .capability-row:nth-child(even):hover {
  background:linear-gradient(90deg,var(--orange-soft),#fff)
}
.capability-links .capability-row:hover:before,.capability-links .capability-row:focus-visible:before {
  transform:scaleY(1)
}
.capability-links .capability-row b {
  font-size:14px
}
.capability-links .capability-row span {
  font-size:13px;
  color:var(--muted)
}
.capability-links .capability-row strong {
  font-size:22px;
  color:var(--violet);
  transition:color .2s ease,transform .2s ease
}
.capability-links .capability-row:hover strong {
  color:var(--orange);
  transform:translateX(4px)
}
/* Main page cards */
#solutions .card:nth-child(odd) {
  background:var(--violet-soft);
  border-top:2px solid var(--violet)
}
#solutions .card:nth-child(even) {
  background:var(--orange-soft);
  border-top:2px solid var(--orange)
}
#solutions .card {
  transition:transform .22s ease,box-shadow .22s ease
}
#solutions .card:hover {
  transform:translateY(-5px);
  box-shadow:0 16px 30px rgba(16,22,56,.08)
}
/* Better section rhythm */
.section-head h2 {
  max-width:850px
}
.section-head>p:last-child {
  line-height:1.7
}
/* Capability subpages */
.capability-rich-page {
  padding-top:106px
}
.capability-hero-copy h1 {
  max-width:900px
}
.capability-hero-copy .button {
  background:var(--violet);
  border-color:var(--violet);
  color:#fff
}
.capability-hero-copy .button:hover {
  background:var(--orange);
  border-color:var(--orange)
}
.capability-visual-card {
  transition:transform .25s ease,box-shadow .25s ease
}
.capability-visual-card:hover {
  transform:translateY(-4px);
  box-shadow:0 28px 60px rgba(16,22,56,.18)
}
.cap-scope-list li,.cap-provide-list li {
  min-height:58px;
  align-items:center
}
.cap-scope-list li img,.cap-provide-list img {
  filter:none
}
/* Subpage contact CTA */
.capability-contact-rich {
  box-shadow:0 18px 45px rgba(16,22,56,.10)
}
/* Footer consistency */
.site-footer {
  background:#090e29!important;
  color:#eef0f7!important
}
.site-footer .footer-bottom {
  min-height:88px
}
.site-footer .footer-bottom a,.site-footer .footer-bottom p,.site-footer .footer-bottom span {
  color:#eef0f7!important
}
/* Mobile */
@media(max-width:900px) {
  .capability-links .capability-row {
    grid-template-columns:1fr auto;
    gap:8px 18px
  }
  .capability-links .capability-row span {
    grid-column:1/-1
  }
  .section-head {
    margin-bottom:38px
  }
}
@media(max-width:580px) {
  .container {
    width:calc(100% - 32px)
  }
  .capability-rich-page {
    padding-top:92px
  }
  .capability-hero-rich {
    gap:26px
  }
  .capability-visual-card {
    border-radius:16px
  }
  .capability-intro {
    font-size:15px;
    line-height:1.65
  }
  .cap-section-heading h2,.cap-detail-intro h2 {
    font-size:32px
  }
  .cap-step,.cap-use-card {
    padding:22px
  }
  .capability-contact-rich {
    border-radius:16px;
    padding:34px 20px
  }
  .contact-details .footer-grid {
    grid-template-columns:1fr!important;
    gap:34px!important
  }
  .contact-details {
    padding:58px 0
  }
  .contact-details h2 {
    font-size:48px;
    letter-spacing:-2px
  }
}
@media(prefers-reduced-motion:reduce) {
  .button,.nav-cta,.capability-links .capability-row,.capability-links .capability-row:before,.capability-links .capability-row strong,.capability-visual-card,.cap-step,.cap-use-card {
    transition:none
  }
}
