/* ===== AI Section ===== */
.s-ai{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding-block:clamp(64px,8vw,112px);
  background:
    linear-gradient(140deg,
      var(--c-secondary) 0%,
      color-mix(in srgb,var(--c-secondary) 82%,var(--c-text)) 58%,
      color-mix(in srgb,var(--c-secondary) 58%,var(--c-primary)) 100%);
  color:var(--c-on-primary);
}
.s-ai::before{
  content:"";
  position:absolute;
  inset-block-start:-32%;
  inset-inline-end:-12%;
  width:min(680px,85vw);
  aspect-ratio:1;
  background:radial-gradient(circle,
      color-mix(in srgb,var(--c-primary) 62%,transparent) 0%,
      transparent 62%);
  filter:blur(6px);
  z-index:-1;
  pointer-events:none;
}
.s-ai::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.16;
  pointer-events:none;
  background-image:
    linear-gradient(color-mix(in srgb,var(--c-on-primary) 30%,transparent) 1px,transparent 1px),
    linear-gradient(90deg,color-mix(in srgb,var(--c-on-primary) 30%,transparent) 1px,transparent 1px);
  background-size:64px 64px;
}

.s-ai__inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:clamp(32px,5vw,72px);
  align-items:center;
}

/* Text block */
.s-ai__eyebrow{
  color:var(--c-accent);
  margin-block:0 16px;
}
.s-ai__title{
  margin:0 0 clamp(24px,3vw,36px);
  font-family:var(--font-head);
  font-weight:700;
  font-size:clamp(28px,3.6vw,50px);
  line-height:1.28;
  letter-spacing:-.01em;
  text-wrap:balance;
  max-width:20ch;
  color:var(--c-on-primary);
}
.s-ai__cta{
  min-height:48px;
  padding-inline:28px;
  box-shadow:0 16px 32px -16px color-mix(in srgb,var(--c-accent) 85%,transparent);
}
.s-ai__cta:hover,
.s-ai__cta:focus-visible{
  box-shadow:0 20px 40px -16px color-mix(in srgb,var(--c-accent) 95%,transparent);
}

/* Visual */
.s-ai__visual{
  position:relative;
  min-width:0;
}
.s-ai__ring{
  position:absolute;
  inset-block-end:-26px;
  inset-inline-end:-26px;
  width:150px;
  height:150px;
  border:1px dashed color-mix(in srgb,var(--c-accent) 55%,transparent);
  border-radius:50%;
  z-index:0;
  pointer-events:none;
  animation:s-ai-spin 46s linear infinite;
}
.s-ai__figure{
  position:relative;
  z-index:1;
  margin:0;
  border-radius:var(--radius-lg);
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--c-on-primary) 18%,transparent);
  box-shadow:0 44px 80px -40px color-mix(in srgb,var(--c-text) 88%,transparent);
}
.s-ai__figure img{
  display:block;
  inline-size:100%;
  block-size:100%;
  aspect-ratio:16/11;
  object-fit:cover;
  transition:transform .7s ease;
}
.s-ai__figure::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(200deg,transparent 45%,
      color-mix(in srgb,var(--c-secondary) 72%,transparent) 100%);
  pointer-events:none;
}
.s-ai__visual:hover .s-ai__figure img{transform:scale(1.035);}

@keyframes s-ai-spin{to{transform:rotate(360deg);}}

/* Responsive */
@media (max-width:900px){
  .s-ai__inner{grid-template-columns:1fr;gap:44px;}
  .s-ai__title{max-width:none;}
  .s-ai__visual{max-width:620px;inline-size:100%;}
  .s-ai__figure img{aspect-ratio:16/10;}
  .s-ai__ring{width:120px;height:120px;inset-block-end:-18px;inset-inline-end:-18px;}
}
@media (max-width:600px){
  .s-ai{padding-block:56px;}
  .s-ai::after{background-size:48px 48px;}
  .s-ai__title{font-size:clamp(24px,7vw,32px);line-height:1.35;}
  .s-ai__cta{inline-size:100%;justify-content:center;padding-inline:20px;}
  .s-ai__ring{display:none;}
  .s-ai__figure img{aspect-ratio:4/3;}
}
@media (prefers-reduced-motion:reduce){
  .s-ai__ring{animation:none;}
  .s-ai__figure img{transition:none;}
  .s-ai__visual:hover .s-ai__figure img{transform:none;}
}
