/* Start custom CSS for html, class: .elementor-element-b872152 */.em-pydanticai{
  --pa-bg:#fff;--pa-soft:#f7f9fb;--pa-text:#18212a;--pa-muted:#5e6974;--pa-line:#dce3e8;
  --pa-dark:#111820;--pa-accent:#ff6b1a;--pa-accent-soft:#fff2e9;--pa-blue-soft:#eef6ff;
  --pa-green-soft:#eef8f1;--pa-red-soft:#fff1ef;--pa-shadow:0 12px 28px rgba(22,34,46,.07);
  max-width:1180px;margin:0 auto;color:var(--pa-text);
  font-family:"Onest",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.64
}
.em-pydanticai *,.em-pydanticai *::before,.em-pydanticai *::after{box-sizing:border-box}
.em-pydanticai h1,.em-pydanticai h2,.em-pydanticai h3,.em-pydanticai p,.em-pydanticai ul{margin-top:0}
.em-pydanticai h1,.em-pydanticai h2,.em-pydanticai h3{color:var(--pa-dark);line-height:1.14;letter-spacing:-.025em}
.em-pydanticai h1{max-width:920px;margin-bottom:18px;font-size:clamp(34px,4vw,50px)}
.em-pydanticai h2{margin-bottom:14px;font-size:clamp(27px,3vw,38px)}
.em-pydanticai h3{margin-bottom:8px;font-size:clamp(19px,2vw,24px)}
.em-pydanticai p{margin-bottom:17px}.em-pydanticai a{color:inherit;text-decoration:none}.em-pydanticai strong{font-weight:760}
.em-pydanticai code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace}

.em-pydanticai__hero{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.72fr);gap:30px;align-items:start;padding:38px;border:1px solid var(--pa-line);border-radius:22px;background:radial-gradient(circle at 94% 8%,rgba(255,107,26,.11),transparent 28%),linear-gradient(135deg,#fff 0%,#fafbfd 100%);box-shadow:var(--pa-shadow)}
.em-pydanticai__eyebrow{display:inline-block;margin-bottom:11px;color:var(--pa-accent);font-size:12px;font-weight:800;letter-spacing:.075em;text-transform:uppercase}
.em-pydanticai__lead{max-width:920px;color:#3f4b56;font-size:18px}
.em-pydanticai__facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0 26px}
.em-pydanticai__facts>div{min-height:108px;padding:15px;border:1px solid var(--pa-line);border-radius:13px;background:#fff}
.em-pydanticai__facts strong,.em-pydanticai__facts span{display:block}.em-pydanticai__facts strong{margin-bottom:6px;font-size:15px;line-height:1.35}.em-pydanticai__facts span{color:var(--pa-muted);font-size:12.5px;line-height:1.48}

.em-pydanticai__actions,.em-pydanticai__cta-buttons{display:flex;flex-wrap:wrap;gap:10px}
.em-pydanticai__btn{display:inline-flex;min-height:46px;align-items:center;justify-content:center;padding:11px 16px;border:1px solid var(--pa-dark);border-radius:11px;background:var(--pa-dark);color:#fff!important;font-size:14px;font-weight:760;line-height:1.25;text-align:center}
.em-pydanticai__btn--accent{border-color:var(--pa-accent);background:var(--pa-accent)}
.em-pydanticai__btn--light{border-color:var(--pa-line);background:#fff;color:var(--pa-dark)!important}

.em-pydanticai__aside{align-self:start;padding:22px 23px;border-radius:16px;background:var(--pa-dark);color:#fff}
.em-pydanticai__aside strong{display:block;margin-bottom:12px;font-size:17px;line-height:1.35}
.em-pydanticai__aside ul{margin:0;padding-left:19px}.em-pydanticai__aside li{font-size:13.5px;line-height:1.52}.em-pydanticai__aside li+li{margin-top:7px}

.em-pydanticai__nav{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0;padding:12px;border:1px solid var(--pa-line);border-radius:14px;background:#fff}
.em-pydanticai__nav a{padding:7px 10px;border-radius:9px;background:var(--pa-soft);color:#3b4752;font-size:12.5px;font-weight:720}

.em-pydanticai__section{margin:22px 0;padding:36px;border:1px solid var(--pa-line);border-radius:19px;background:var(--pa-bg)}
.em-pydanticai__section--soft{background:var(--pa-soft)}.em-pydanticai__head{max-width:940px;margin-bottom:22px}

.em-pydanticai__flow{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1.35fr) auto minmax(0,1fr) auto minmax(0,1fr);gap:9px;align-items:stretch;margin:22px 0}
.em-pydanticai__flow>div{display:flex;flex-direction:column;justify-content:center;padding:16px;border:1px solid var(--pa-line);border-radius:13px;background:#fff;text-align:center}
.em-pydanticai__flow>div strong,.em-pydanticai__flow>div span{display:block}.em-pydanticai__flow>div span{margin-top:4px;color:var(--pa-muted);font-size:12px}
.em-pydanticai__flow>b{display:flex;align-items:center;color:var(--pa-accent);font-size:20px}
.em-pydanticai__flow-main{border-color:#ffc7a8!important;background:var(--pa-accent-soft)!important}

.em-pydanticai__check-grid,.em-pydanticai__v2-grid,.em-pydanticai__tool-grid,.em-pydanticai__mcp-grid,.em-pydanticai__eval-grid,.em-pydanticai__trace-grid,.em-pydanticai__security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.em-pydanticai__check-grid article,.em-pydanticai__v2-grid article,.em-pydanticai__tool-grid article,.em-pydanticai__mcp-grid article,.em-pydanticai__eval-grid article,.em-pydanticai__trace-grid article,.em-pydanticai__security-grid article{padding:18px;border:1px solid var(--pa-line);border-radius:14px;background:#fff}
.em-pydanticai__check-grid article>span,.em-pydanticai__v2-grid article>span,.em-pydanticai__tool-grid article>span,.em-pydanticai__mcp-grid article>span,.em-pydanticai__eval-grid article>span,.em-pydanticai__trace-grid article>span,.em-pydanticai__security-grid article>span{display:inline-block;margin-bottom:7px;color:var(--pa-accent);font-size:11.5px;font-weight:800;text-transform:uppercase}
.em-pydanticai__check-grid strong,.em-pydanticai__v2-grid strong,.em-pydanticai__tool-grid strong,.em-pydanticai__mcp-grid strong,.em-pydanticai__eval-grid strong,.em-pydanticai__trace-grid strong,.em-pydanticai__security-grid strong{display:block;margin-bottom:5px}
.em-pydanticai__check-grid p:last-child,.em-pydanticai__v2-grid p:last-child,.em-pydanticai__tool-grid p:last-child,.em-pydanticai__mcp-grid p:last-child,.em-pydanticai__eval-grid p:last-child,.em-pydanticai__trace-grid p:last-child,.em-pydanticai__security-grid p:last-child{margin-bottom:0}

.em-pydanticai__output-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0}
.em-pydanticai__output-grid article{padding:18px;border:1px solid var(--pa-line);border-radius:14px;background:#fff}
.em-pydanticai__output-grid article>span{display:block;margin-bottom:6px;color:var(--pa-accent);font-size:11.5px;font-weight:800;text-transform:uppercase}
.em-pydanticai__output-grid strong{display:block;margin-bottom:5px}.em-pydanticai__output-grid p:last-child{margin-bottom:0}

.em-pydanticai__code{max-width:100%;overflow-x:auto;margin:10px 0 14px;padding:14px 15px;border-radius:11px;background:#111820;color:#eef4f8;font-size:13px;line-height:1.55;white-space:pre;-webkit-overflow-scrolling:touch}

.em-pydanticai__note,.em-pydanticai__warn,.em-pydanticai__service-note{margin:22px 0;padding:18px 20px;border-radius:14px}
.em-pydanticai__note{border:1px solid #bddcf6;background:var(--pa-blue-soft)}.em-pydanticai__note--strong{border-color:#ffd3ba;background:var(--pa-accent-soft)}
.em-pydanticai__warn{border:1px solid #f0cac5;background:var(--pa-red-soft)}.em-pydanticai__service-note{border:1px solid #c9e5d0;background:var(--pa-green-soft)}
.em-pydanticai__note strong,.em-pydanticai__warn strong,.em-pydanticai__service-note strong{display:block;margin-bottom:5px;font-size:16px}
.em-pydanticai__note p:last-child,.em-pydanticai__warn p:last-child,.em-pydanticai__service-note p:last-child{margin-bottom:0}

.em-pydanticai__related{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}
.em-pydanticai__related a,.em-pydanticai__source-grid a{display:block;padding:16px;border:1px solid var(--pa-line);border-radius:13px;background:#fff}
.em-pydanticai__related strong,.em-pydanticai__related span,.em-pydanticai__source-grid strong,.em-pydanticai__source-grid span{display:block}
.em-pydanticai__related span,.em-pydanticai__source-grid span{margin-top:4px;color:var(--pa-muted);font-size:12.5px}

.em-pydanticai__problems{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.em-pydanticai__problems article{position:relative;min-height:106px;padding:18px 18px 18px 58px;border:1px solid var(--pa-line);border-radius:13px;background:#fff}
.em-pydanticai__problems article>span{position:absolute;left:15px;top:16px;display:flex;width:31px;height:31px;align-items:center;justify-content:center;border-radius:9px;background:var(--pa-accent-soft);color:var(--pa-accent);font-size:11px;font-weight:800}
.em-pydanticai__problems strong{display:block;margin-bottom:4px}.em-pydanticai__problems p:last-child{margin-bottom:0}

.em-pydanticai__use-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.em-pydanticai__use-grid article{padding:18px;border:1px solid var(--pa-line);border-radius:13px;background:#fff}
.em-pydanticai__use-grid article>span{display:block;margin-bottom:6px;color:var(--pa-accent);font-size:11.5px;font-weight:800}
.em-pydanticai__use-grid strong{display:block;margin-bottom:5px}.em-pydanticai__use-grid p:last-child{margin-bottom:0}

.em-pydanticai__source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px}

.em-pydanticai__faq details{margin-bottom:9px;border:1px solid var(--pa-line);border-radius:12px;background:#fff;overflow:hidden}
.em-pydanticai__faq summary{cursor:pointer;padding:14px 16px;color:var(--pa-dark);font-weight:740}
.em-pydanticai__faq details p{margin:0;padding:0 16px 16px;color:#4e5964}

.em-pydanticai__cta{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(250px,.65fr);gap:24px;align-items:center;margin:22px 0;padding:32px 34px;border-radius:19px;background:var(--pa-dark);color:#fff}
.em-pydanticai__cta h2{color:#fff;font-size:clamp(26px,3vw,36px)}.em-pydanticai__cta p{margin-bottom:0;color:#d2d9df}.em-pydanticai__cta-buttons{justify-content:flex-end}
.em-pydanticai__cta .em-pydanticai__btn:not(.em-pydanticai__btn--accent){border-color:#fff;background:#fff;color:var(--pa-dark)!important}

@media(max-width:1040px){
  .em-pydanticai__hero{grid-template-columns:minmax(0,1fr) 280px;padding:32px}
  .em-pydanticai__facts{grid-template-columns:1fr 1fr}.em-pydanticai__facts>div:last-child{grid-column:1/-1}
  .em-pydanticai__use-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .em-pydanticai__source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:820px){
  .em-pydanticai__hero{grid-template-columns:1fr}.em-pydanticai__facts{grid-template-columns:1fr}.em-pydanticai__facts>div:last-child{grid-column:auto}
  .em-pydanticai__flow{grid-template-columns:1fr}.em-pydanticai__flow>b{justify-content:center;transform:rotate(90deg)}
  .em-pydanticai__output-grid{grid-template-columns:1fr}
  .em-pydanticai__cta{grid-template-columns:1fr}.em-pydanticai__cta-buttons{justify-content:flex-start}
}
@media(max-width:620px){
  .em-pydanticai{font-size:15px}.em-pydanticai h1{font-size:clamp(30px,9vw,38px)}.em-pydanticai h2{font-size:clamp(25px,7vw,31px)}
  .em-pydanticai__hero,.em-pydanticai__section,.em-pydanticai__cta{padding:22px 17px;border-radius:16px}
  .em-pydanticai__nav{overflow-x:auto;flex-wrap:nowrap;padding:9px;scrollbar-width:thin}.em-pydanticai__nav a{flex:0 0 auto;white-space:nowrap}
  .em-pydanticai__check-grid,.em-pydanticai__v2-grid,.em-pydanticai__tool-grid,.em-pydanticai__mcp-grid,.em-pydanticai__eval-grid,.em-pydanticai__trace-grid,.em-pydanticai__security-grid,.em-pydanticai__related,.em-pydanticai__problems,.em-pydanticai__use-grid,.em-pydanticai__source-grid{grid-template-columns:1fr}
  .em-pydanticai__actions,.em-pydanticai__cta-buttons{flex-direction:column}.em-pydanticai__btn{width:100%}
  .em-pydanticai__lead{font-size:16.5px}.em-pydanticai__facts>div{min-height:auto}
}/* End custom CSS */