/* Synapsys AI CERTs promotional blocks
   Self-contained styles. Prefix: syn-ai- */

.syn-ai-block {
  --syn-ai-navy: #061b45;
  --syn-ai-blue: #1264d8;
  --syn-ai-cyan: #3cb7ff;
  --syn-ai-text: #0c285b;
  --syn-ai-radius: 14px;
  --syn-ai-max: 1440px;
  box-sizing: border-box;
  width: min(calc(100% - 32px), var(--syn-ai-max));
  margin: 48px auto;
  border-radius: var(--syn-ai-radius);
  overflow: hidden;
}
.syn-ai-block *, .syn-ai-block *::before, .syn-ai-block *::after { box-sizing: border-box; }
.syn-ai-inner { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(380px, .85fr); align-items: stretch; }
.syn-ai-copy { padding: clamp(25px, 4.5vw, 30px); }
.syn-ai-copy h2 { margin: 0 0 12px; font-size: clamp(30px, 2.7vw, 38px); line-height: 1.04; letter-spacing: -0.02em; }
.syn-ai-lead { margin: 0 0 20px; font-size: clamp(18px, 1.6vw, 24px); line-height: 1.4; font-weight: 600; }
.syn-ai-copy p { font-size: 18px; line-height: 1.6; margin: 0 0 22px; }
.syn-ai-art { min-height: 430px; margin: 0; }
.syn-ai-art img { width: 100%; height: 87%; object-fit: cover; display: block; }
.syn-ai-benefits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 18px; margin: 26px 0 28px; padding: 0; list-style: none; }
.syn-ai-benefits li { position: relative; padding-left: 27px; font-size: 16px; line-height: 1.35; }
.syn-ai-benefits li::before { content: "✓"; position: absolute; left: 0; top: 0; font-weight: 700; }
.syn-ai-actions { display: flex; gap: 18px; align-items: center; flex-wrap: wrap; }
.syn-ai-button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 13px 23px; border-radius: 6px; text-decoration: none; font-size: 17px; font-weight: 600; transition: transform .15s ease, opacity .15s ease; }
.syn-ai-button:hover, .syn-ai-button:focus-visible { transform: translateY(-1px); }
.syn-ai-textlink { font-size: 17px; font-weight: 500; text-underline-offset: 4px; }
.syn-ai-textlink:hover, .syn-ai-textlink:focus-visible { text-decoration-thickness: 2px; }
.syn-ai-button:focus-visible, .syn-ai-textlink:focus-visible { outline: 3px solid var(--syn-ai-cyan); outline-offset: 4px; }

.syn-ai-home { background: var(--syn-ai-navy); color: #fff; }
.syn-ai-home .syn-ai-copy { background: linear-gradient(120deg, #061b45 0%, #08265f 100%); }
.syn-ai-home .syn-ai-art { position: relative; overflow: hidden; background: var(--syn-ai-navy); }
.syn-ai-home .syn-ai-art img { position: absolute; width: 100%; height: 94%; top: 5.5%; right: 2%; object-fit: cover; }
.syn-ai-home .syn-ai-copy h2 { color: #fff; }
.syn-ai-home .syn-ai-lead { color: var(--syn-ai-cyan); }
.syn-ai-home .syn-ai-benefits li::before { color: var(--syn-ai-cyan); }
.syn-ai-home .syn-ai-button { background: #1768df; color: #fff; }
.syn-ai-home .syn-ai-textlink { color: #fff; }
.syn-ai-home .syn-ai-textlink strong { color: var(--syn-ai-cyan); font-weight: 500; }

.syn-ai-services { background: #f7faff; border: 1px solid #d9e4f5; color: var(--syn-ai-text); }
.syn-ai-services .syn-ai-copy { background: linear-gradient(120deg, #fff 0%, #f5f9ff 100%); }
.syn-ai-services .syn-ai-copy h2 { color: var(--syn-ai-text); }
.syn-ai-services .syn-ai-lead { color: #1454b8; }
.syn-ai-services .syn-ai-button { background: #1768df; color: #fff; }

@media (max-width: 900px) {
  .syn-ai-block { width: min(calc(100% - 24px), var(--syn-ai-max)); margin: 36px auto; }
  .syn-ai-inner { grid-template-columns: 1fr; }
  .syn-ai-art { min-height: 330px; order: -1; }
  .syn-ai-copy { padding: 32px 26px 36px; }
}
@media (max-width: 560px) {
  .syn-ai-copy h2 { font-size: 34px; }
  .syn-ai-copy p { font-size: 17px; }
  .syn-ai-benefits { grid-template-columns: 1fr; }
  .syn-ai-actions { align-items: stretch; flex-direction: column; }
  .syn-ai-button { width: 100%; }
  .syn-ai-art { min-height: 250px; }
}
