/* Public website: soft lavender, deep purple type and vivid purple actions. */
.public-theme{
 --bg:#ffffff;--bg-soft:#f7f5ff;--surface:#ffffff;--surface-2:#f1edfc;
 --txt:#342478;--txt-dim:#626176;--txt-mute:#77748b;
 --brand:#6d4aff;--brand-600:#5b36e6;--brand-700:#5234bc;
 --brand-soft:#eae3ff;--brand-softer:#f5f1ff;
 --line:#e4def2;--line-soft:#efebf7;
 --dark:#342478;--dark-2:#48328e;
 --on-dark-dim:#d7cfee;
 --shadow-sm:0 2px 4px #38216b08;--shadow:0 10px 30px #38216b0d;--shadow-lg:0 24px 60px #38216b1a;--shadow-brand:0 6px 18px #6d4aff20;
 color-scheme:light;background:var(--bg);color:var(--txt);
}
.public-theme .nav,.public-theme .nav.is-stuck{background:#f7f5fff5;border-bottom:1px solid var(--line-soft);box-shadow:none}
.public-theme .nav .brand,.public-theme .nav .nav__links a{color:var(--txt)}
.public-theme .nav .btn--ghost{color:var(--brand);background:transparent;border-color:transparent}
.public-theme .nav .nav__burger{border-color:var(--line)}
.public-theme .nav .nav__burger span{background:var(--txt)}
.public-theme .nav.is-open .nav__links{background:var(--bg-soft)}
.public-theme .btn--primary{background:var(--brand);color:#fff;border-color:var(--brand);box-shadow:none}
.public-theme .btn--primary:hover{background:var(--brand-600);border-color:var(--brand-600)}
.public-theme .btn--ghost{color:var(--brand);border-color:var(--line);background:transparent}
.public-theme .btn--ghost:hover{background:var(--brand-soft);border-color:var(--brand)}
.public-theme .hero{background:var(--bg-soft);min-height:0;padding-top:calc(var(--nav-h) + 70px)}
.public-theme .hero__bg,.public-theme .hero__scrim{display:none}
.public-theme .hero__inner{color:var(--txt);padding-bottom:64px}
.public-theme .hero__eyebrow{color:var(--brand-700);background:var(--brand-soft);border-color:transparent;backdrop-filter:none}
.public-theme .hero__title{text-shadow:none;font-weight:650;color:var(--txt);letter-spacing:-.04em}
.public-theme .hero__title .grad{color:var(--brand)}
.public-theme .hero__sub,.public-theme .hero__sub strong{color:var(--txt-dim)}
.public-theme .hero__sub strong{color:var(--txt)}
.public-theme .hero__form input{border:1px solid var(--line);box-shadow:none;color:var(--txt);background:#fff;caret-color:var(--brand)}
.public-theme .hero__form input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #6d4aff1f}
.public-theme .hero__form input::placeholder{color:var(--txt-mute)}
.public-theme .hero__stats b{color:var(--txt)}
.public-theme .hero__stats span{color:var(--txt-dim)}
.public-theme .phone{box-shadow:0 0 0 1px #35247720,0 24px 48px -20px #35247745,0 0 90px -35px #b6a2ff99}
.public-theme .dot{background:var(--brand);box-shadow:0 0 0 4px #6d4aff1a;animation:none}
.public-theme .kicker,.public-theme .kicker--light{color:var(--brand-700)}
.public-theme .sec{background:var(--bg)}
.public-theme .sec--alt{background:var(--bg-soft)}
.public-theme .cta{background:var(--bg-soft);color:var(--txt);border-top:1px solid var(--line-soft)}
.public-theme .cta__bg{background:radial-gradient(ellipse at 50% 100%,#e9e0ff,transparent 70%)}
.public-theme .cta p,.public-theme .hero__note{color:var(--txt-dim)}
.public-theme .hero__note.is-ok{color:#128a6a}
.public-theme .hero__note.is-err{color:#b22a4b}
.public-theme .foot{background:#fff;border-color:var(--line)}
.public-theme .foot__cols a:hover{color:var(--brand)}
.public-theme .modal__scrim{background:#21133966}
.public-theme .reqform input{background:#fff;color:var(--txt);border-color:var(--line)}
.public-theme a:focus-visible,.public-theme button:focus-visible{outline:2px solid var(--brand);outline-offset:4px}
@media(max-width:640px){.public-theme .hero{padding-top:calc(var(--nav-h) + 42px)}.public-theme .hero__title{font-size:clamp(38px,10vw,55px)}}

/* Silo multi-device hero: generated artwork replaces the three legacy phones. */
.public-theme .hero__art{margin:32px auto 0;min-width:0;width:100%;max-width:760px}
.public-theme .hero__art img{display:block;width:100%;height:auto;border-radius:0;mix-blend-mode:multiply}
@media(min-width:1000px){.public-theme .hero__inner{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}.public-theme .hero__art{margin:0}}

/* Blend the AI illustration into the page instead of showing a framed rectangle. */
.public-theme .hero__art{position:relative;isolation:isolate}
.public-theme .hero__art img{-webkit-mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent),linear-gradient(to bottom,transparent,#000 8%,#000 90%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent),linear-gradient(to bottom,transparent,#000 8%,#000 90%,transparent);mask-composite:intersect}
.public-theme .hero__art::before{content:"";position:absolute;inset:12% 4%;z-index:-1;background:radial-gradient(ellipse,var(--brand-softer),transparent 70%);filter:blur(30px);pointer-events:none}
.public-theme .reveal{opacity:1;transform:none}
@media(prefers-reduced-motion:no-preference){
.public-theme .hero__copy>*{animation:home-arrive .8s both cubic-bezier(.2,.65,.3,1)}
.public-theme .hero__copy>*:nth-child(2){animation-delay:.08s}.public-theme .hero__copy>*:nth-child(3){animation-delay:.16s}.public-theme .hero__copy>*:nth-child(4){animation-delay:.24s}.public-theme .hero__copy>*:nth-child(5){animation-delay:.32s}
.public-theme .hero__art{animation:home-art-arrive 1s both ease-out}
.public-theme .hero__art img{animation:home-float 8s ease-in-out 1s infinite}
.public-theme .reveal.motion-ready:not(.is-in){opacity:0;transform:translateY(24px)}
.public-theme .reveal.motion-ready{transition:opacity .65s ease var(--reveal-delay,0ms),transform .65s cubic-bezier(.2,.65,.3,1) var(--reveal-delay,0ms)}
.public-theme .lib{transition:transform .35s ease,box-shadow .35s ease}
.public-theme .lib:hover{transform:translateY(-5px)}
@keyframes home-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes home-art-arrive{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:none}}
@keyframes home-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
}
@media(prefers-reduced-motion:reduce){.public-theme .hero__copy>*,.public-theme .hero__art,.public-theme .hero__art img{animation:none}.public-theme .reveal.motion-ready{opacity:1;transform:none;transition:none}}
