/* Homepage AI introduction and model catalogue. */
.service-showcase.ai-overview {
  --accent: #1a73e8;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 36px 52px;
  align-items: start;
  text-align: left;
  width: 100%;
}

.ai-overview .service-info { margin: 0; max-width: none; }
.ai-overview .service-info h3 {
  margin-bottom: 22px;
  font-size: clamp(2rem, 3.6vw, 2.75rem);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -.04em;
}
.ai-overview .service-info p { font-size: 1rem; line-height: 1.75; margin: 0 0 16px; }
.ai-overview .service-info .ai-intro {
  max-width: 36ch;
  margin-bottom: 18px;
  font-size: clamp(1.25rem, 2.1vw, 1.45rem);
  line-height: 1.4;
  letter-spacing: -.02em;
  color: #263e56;
}
.ai-overview .svc-more { font-size: .95rem; line-height: 1.5; }
.ai-overview .svc-more::after { flex: 0 0 auto; }
.ai-knowledge-copy { margin-top: 28px; padding-top: 26px; border-top: 1px solid #e1e7ee; }
.ai-knowledge-copy h4 {
  margin-bottom: 14px;
  font-size: 1.3rem;
  font-weight: 550;
  line-height: 1.4;
  letter-spacing: -.025em;
}

.ai-model-catalogue {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid #234f89;
  border-radius: 18px;
  background: linear-gradient(145deg, #102749, #123d78 72%, #1651a0);
  box-shadow: 0 20px 50px -28px #153c7533;
}
.ai-model-catalogue::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 390px;
  height: 390px;
  top: -245px;
  right: -105px;
  border: 1px solid #90bfff40;
  border-radius: 50%;
  box-shadow: 0 0 0 35px #90bfff0a, 0 0 0 70px #90bfff08, 0 0 0 105px #90bfff06;
  pointer-events: none;
}
.ai-catalogue-content { padding: 28px 24px 24px; }
.ai-catalogue-content h4 {
  max-width: 20ch;
  font-size: 1.6rem;
  line-height: 1.3;
  font-weight: 500;
  letter-spacing: -.03em;
  color: #f4f8ff;
  margin-bottom: 24px;
}
.ai-model-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.ai-model-card {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 88px;
  padding: 20px 15px;
  background: #f6f9fd;
  border: 1px solid #e4edf7;
  border-radius: 10px;
}
.ai-model-card img { width: 32px; height: 32px; object-fit: contain; flex: 0 0 auto; }
.ai-model-card strong { font-size: 1rem; font-weight: 600; letter-spacing: -.02em; color: #283d55; }
.ai-model-card .model-meta { width: 36px; }
.ai-catalogue-note { margin: 23px 0 0; color: #c7d8ee; font-size: .83rem; line-height: 1.7; }
.ai-catalogue-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 17px 22px;
  background: #10274926;
  border-top: 1px solid #ffffff29;
}
.ai-catalogue-footer span {
  padding: 4px 9px;
  border-radius: 5px;
  background: #ffffff14;
  color: #d1e1f4;
  font-size: .71rem;
  font-weight: 500;
}

.ai-invitation {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 23px 28px;
  border-left: 3px solid #2874cc;
  border-radius: 0 10px 10px 0;
  background: #f1f6fc;
}
.ai-invitation strong { display: block; font-size: 1rem; font-weight: 600; color: #283d55; margin-bottom: 5px; }
.ai-invitation p { color: #607187; font-size: .94rem; line-height: 1.6; margin: 0; }
.ai-invitation .svc-more { flex: 0 0 auto; }

@media (max-width: 960px) {
  .service-showcase.ai-overview { gap: 30px; grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); }
  .ai-catalogue-footer { padding-left: 17px; padding-right: 17px; }
  .ai-catalogue-content { padding: 22px 17px; }
  .ai-model-grid { gap: 9px; }
  .ai-model-card { gap: 9px; padding: 18px 11px; }
  .ai-model-card img { width: 27px; height: 27px; }
  .ai-model-card .model-meta { width: 29px; }
  .ai-model-card strong { font-size: .91rem; }
}

@media (max-width: 760px) {
  .service-showcase.ai-overview { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .ai-overview .service-info .ai-intro { max-width: 35ch; }
  .ai-model-catalogue { width: 100%; }
  .ai-catalogue-content h4 { max-width: none; font-size: 1.45rem; }
  .ai-catalogue-content { padding: 22px 20px; }
  .ai-catalogue-footer { padding-left: 20px; padding-right: 20px; }
  .ai-model-card { min-height: 82px; padding: 17px 15px; gap: 12px; }
  .ai-model-card img { width: 30px; height: 30px; }
  .ai-model-card .model-meta { width: 32px; }
  .ai-model-card strong { font-size: 1rem; }
  .ai-invitation { align-items: start; flex-direction: column; gap: 10px; padding: 20px; }
}

@media (max-width: 370px) {
  .ai-catalogue-footer, .ai-catalogue-content { padding-left: 14px; padding-right: 14px; }
  .ai-model-card { gap: 9px; padding: 17px 10px; }
  .ai-model-card img, .ai-model-card .model-meta { width: 26px; height: 26px; }
  .ai-model-card strong { font-size: .91rem; }
}
