/* Home page video showcase: the banner carousel above the hero and the "generate" block under the product tour.
   Everything is scoped under .hs-* so it cannot collide with the main stylesheet. */
.hs-top,.hs-gen{--hs-ink:#1E2140;--hs-sub:#7D8AAB;--hs-gap:20px;position:relative}
.hs-top{padding:40px 0 4px}
.hs-top+.hero{padding-top:28px;min-height:0}
.hs-carousel{position:relative}
.hs-carousel{container-type:inline-size;--hs-basis:calc((100cqw - var(--hs-gap)) / 2)}
.hs-track{display:flex;align-items:flex-start;gap:var(--hs-gap);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:18px;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;padding:10px 18px 40px;margin:-10px -18px -22px;outline-offset:-4px}
.hs-track::-webkit-scrollbar{display:none}
/* the slides are a mix of <button> and <a>: reset both so they render identically (a button centres its content vertically) */
.hs-slide,.hs-action,.hs-model{appearance:none;-webkit-appearance:none;margin:0;border:0;background:none;padding:0;font:inherit;color:inherit;text-align:left;text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.hs-slide{flex:0 0 calc((100% - var(--hs-gap)) / 2);min-width:0;scroll-snap-align:start;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-self:flex-start}
.hs-media{display:block;position:relative;aspect-ratio:16/9;border-radius:20px;overflow:hidden;background:#E9EBFB;box-shadow:0 10px 30px rgba(15,17,23,.08);isolation:isolate}
.hs-media img,.hs-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.hs-media video{opacity:0;transition:opacity .45s ease}
.hs-media.is-playing video{opacity:1}
.hs-cap{display:block;padding:16px 4px 0}
.hs-cap b{display:block;font-size:17px;line-height:1.25;font-weight:700;letter-spacing:.02em;text-transform:uppercase;color:var(--hs-ink)}
.hs-cap span{display:block;margin-top:5px;font-size:15px;line-height:1.4;color:var(--hs-sub)}
.hs-slide .hs-media{box-shadow:0 12px 22px -10px rgba(15,17,23,.18)}
.hs-slide:focus,.hs-action:focus,.hs-model:focus{outline:none}
.hs-slide:focus-visible .hs-media,.hs-action:focus-visible .hs-media{outline:3px solid var(--primary,#777EF5);outline-offset:3px}
.hs-arrow{position:absolute;top:34%;top:calc(var(--hs-basis) * 0.28125);z-index:3;width:56px;height:56px;margin-top:-28px;border-radius:50%;border:0;background:#fff;color:var(--hs-ink);display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 28px -6px rgba(30,33,64,.35);transition:opacity .2s,transform .2s}
.hs-arrow svg{width:22px;height:22px}
.hs-arrow:hover{transform:scale(1.06)}
.hs-arrow:focus-visible{outline:3px solid var(--primary,#777EF5);outline-offset:2px}
.hs-arrow[disabled]{opacity:0;pointer-events:none}
.hs-prev{left:-24px}.hs-next{right:-24px}

.hs-gen{padding:8px 0 72px}
.hs-gen .hs-media{box-shadow:0 8px 22px rgba(15,17,23,.08)}
.hs-gen-head{text-align:center;margin:0 auto 34px;max-width:760px}
.hs-gen-title{margin:0;font-size:clamp(26px,3.4vw,40px);line-height:1.15;font-weight:700;letter-spacing:-.02em;color:var(--hs-ink)}
.hs-gen-sub{margin:12px 0 0;font-size:clamp(15px,1.5vw,18px);line-height:1.5;color:var(--hs-sub)}
.hs-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.hs-action{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;width:100%;align-self:start}
.hs-action .hs-media{border-radius:18px}
.hs-action .hs-cap{padding-top:14px}
.hs-action .hs-cap b{font-size:15px}
.hs-action .hs-cap span{font-size:14px}
.hs-models{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:34px}
.hs-model{position:relative;display:block;width:100%;aspect-ratio:1/1;border-radius:22px;overflow:hidden;background:#1B1736;color:#fff;isolation:isolate;box-shadow:0 10px 30px rgba(15,17,23,.12)}
.hs-gen .hs-model .hs-media{position:absolute;inset:0;aspect-ratio:auto;border-radius:0;box-shadow:none;background:#1B1736}
.hs-model::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(10,8,30,0) 45%,rgba(10,8,30,.78) 100%);pointer-events:none}
.hs-badge{position:absolute;z-index:2;top:14px;left:14px;padding:6px 12px;border-radius:999px;background:rgba(38,38,48,.62);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#fff}
.hs-mtext{position:absolute;z-index:2;left:18px;right:72px;bottom:16px}
.hs-mtext b{display:block;font-size:clamp(18px,1.9vw,23px);line-height:1.15;font-weight:700;letter-spacing:-.01em;color:#fff}
.hs-mtext span{display:block;margin-top:3px;font-size:clamp(13px,1.3vw,16px);font-weight:700;color:#CDBBFF}
.hs-go{position:absolute;z-index:2;right:14px;bottom:14px;width:44px;height:44px;border-radius:14px;background:var(--primary,#777EF5);display:grid;place-items:center;box-shadow:0 8px 20px -6px rgba(0,0,0,.45);transition:transform .2s}
.hs-go svg{width:20px;height:20px}
.hs-model:hover .hs-go{transform:scale(1.08)}
.hs-model:focus-visible{outline:3px solid var(--primary,#777EF5);outline-offset:3px}

@media (max-width:1100px){.hs-prev{left:-10px}.hs-next{right:-10px}}
@media (max-width:900px){
  .hs-top{padding-top:36px}
  .hs-track{padding:6px 16px 26px;margin:-6px -16px -14px;scroll-padding-inline:16px}
  .hs-slide .hs-media{box-shadow:0 6px 14px -6px rgba(15,17,23,.18)}
  .hs-carousel{--hs-basis:84cqw}
  .hs-slide{flex-basis:84%}
  .hs-arrow{display:none}
  .hs-actions{grid-template-columns:1fr;gap:26px}
  .hs-models{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
}
@media (max-width:520px){
  .hs-top{padding-top:34px}
  .hs-top+.hero{padding-top:20px}
  .hs-cap b{font-size:15px}.hs-cap span{font-size:14px}
  .hs-gen{padding-bottom:48px}
  .hs-mtext{left:14px;right:60px;bottom:12px}
  .hs-go{width:38px;height:38px;border-radius:12px;right:10px;bottom:10px}
  .hs-badge{top:10px;left:10px;font-size:11px;padding:5px 10px}
}
@media (prefers-reduced-motion:reduce){.hs-track{scroll-behavior:auto}.hs-media video{transition:none}}

/* ---- intro windows (same content as on the platform) ---- */
.hs-modal{position:fixed;inset:0;z-index:2147483000;display:none;align-items:flex-start;justify-content:center;overflow-y:auto;padding:40px 20px;background:rgba(12,13,24,.62);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.hs-modal.is-open{display:flex}
.hs-sheet{position:relative;width:100%;max-width:940px;margin:auto 0;background:#fff;border-radius:22px;padding:34px 38px 38px;box-shadow:0 30px 80px rgba(12,13,24,.28);color:#4C5876}
.hs-x{position:absolute;top:18px;right:18px;width:34px;height:34px;border-radius:50%;border:1px solid #E3E6EE;background:#F6F7FB;color:#4C5876;display:grid;place-items:center;cursor:pointer;padding:0}
.hs-x svg{width:15px;height:15px}
.hs-x:hover{background:#ECEEF8}
.hs-x:focus-visible,.hs-tile:focus-visible{outline:3px solid var(--primary,#777EF5);outline-offset:2px}
.hs-eyebrow{font-size:11px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--primary,#777EF5)}
.hs-sheet h2{margin:8px 0 0;max-width:620px;font-size:34px;line-height:1.1;font-weight:800;letter-spacing:-.8px;color:#1B1B3A;text-wrap:balance}
.hs-lead{margin:10px 0 0;max-width:620px;font-size:15px;line-height:1.55;color:#4C5876}
.hs-bullets{list-style:none;margin:16px 0 24px;padding:0;display:flex;flex-direction:column;gap:7px}
.hs-bullets li{display:flex;align-items:flex-start;gap:9px;font-size:13.5px;line-height:1.5;color:#4C5876}
.hs-bullets i{flex:0 0 17px;width:17px;height:17px;margin-top:1px;border-radius:50%;background:#F1F2FE;display:inline-grid;place-items:center;color:var(--primary,#777EF5)}
.hs-bullets i svg{width:10px;height:10px}
.hs-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.hs-tile{display:flex;flex-direction:column;gap:7px;padding:17px 18px;border:1px solid #E3E6EE;border-radius:16px;background:#FAFBFF;color:inherit;text-decoration:none;transition:border-color .15s,transform .15s}
.hs-tile:hover{border-color:var(--primary,#777EF5);transform:translateY(-2px)}
.hs-trow{display:flex;align-items:center;gap:10px}
.hs-ti{flex:0 0 32px;width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,#6C48FF,#777EF5);display:inline-grid;place-items:center;color:#fff}
.hs-ti svg{width:16px;height:16px}
.hs-tt{font-size:15px;font-weight:800;color:#1B1B3A}
.hs-ta{margin-left:auto;width:15px;height:15px;color:#9AA3BC}
.hs-td{font-size:13.5px;line-height:1.45;color:#4C5876}
.hs-tn{font-size:12px;line-height:1.4;color:#8B93A7}
@media (max-width:900px){
  .hs-modal{padding:0}
  .hs-sheet{margin:0;border-radius:0;min-height:100%;padding:22px 16px 34px}
  .hs-sheet h2{font-size:24px;padding-right:44px}
  .hs-lead{font-size:13.5px}
  .hs-bullets li{font-size:12.5px}
  .hs-tiles{grid-template-columns:1fr;gap:10px}
  .hs-tile{padding:14px 15px}
  .hs-x{position:fixed;top:12px;right:12px;z-index:2}
}
@media (prefers-reduced-motion:reduce){.hs-tile{transition:none}.hs-tile:hover{transform:none}}

/* The tour's glow (#demo::before, inset -28px, not hashed, so it cannot be edited in place) stuck out past the page edge
   on narrow screens: the page became wider than the phone and could be pinched out. Keep it inside the container. */
@media (max-width:1240px){#demo::before{inset:-14px}}
@supports (overflow-x:clip){.app-tour{overflow-x:clip}}

/* UK/RU: the consent line of the enterprise form is a flex row of loose text/link pieces and cannot wrap, which pushed the page wider than a phone */
.corp-consent label{display:block;position:relative;padding-left:24px}
.corp-consent input[type="checkbox"]{position:absolute;left:0;top:2px;margin:0}

/* UK/RU: long words in the channel cards kept the two-column grid wider than a phone */
.ch-grid>*{min-width:0}
.ch-card-inner{overflow-wrap:anywhere}
