@font-face  { font-family: "Tomato Grotesk"; src: url("../fonts/tomato-grotesk/TomatoGrotesk-Thin.woff2") format("woff2"); font-weight: 300; font-style: normal; font-display: swap; }
@font-face  { font-family: "Tomato Grotesk"; src: url("../fonts/tomato-grotesk/TomatoGrotesk-Regular.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face  { font-family: "Tomato Grotesk"; src: url("../fonts/tomato-grotesk/TomatoGrotesk-Medium.woff2") format("woff2"); font-weight: 500; font-style: normal; font-display: swap; }
.sa-hero-banner, .sa-hero-banner * { box-sizing: border-box; }
.section:has(.sa-hero-banner), .ck-content:has(.sa-hero-banner) { width: 100% !important; max-width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; overflow-x: clip !important; }
.sa-hero-banner { --sa-hero-shell-width: var(--start-shortcode-container-width, calc(100% - var(--start-container-gutter, clamp(32px, 6vw, 96px)))); --sa-hero-shell-max: var(--start-shortcode-container-max, none); --sa-hero-safe-space: var(--start-container-gutter, clamp(32px, 6vw, 96px)); --sa-hero-top-space: clamp(32px, 4.6vw, 72px); --sa-hero-bottom-space: clamp(50px, 6.8vw, 96px); --sa-hero-gap: clamp(34px, 6vw, 96px); --sa-hero-title-max: 112px; --sa-hero-subtitle-max: 56px; --sa-hero-description-max: 20px; --sa-hero-eyebrow-max: 15px; --sa-hero-lottie-desktop-width: 420px; --sa-hero-lottie-mobile-width: 280px; --sa-hero-lottie-desktop-height: 520px; --sa-hero-lottie-mobile-height: 260px; --sa-hero-lottie-offset-x: 0px; --sa-hero-lottie-offset-y: 0px; --sa-hero-lottie-mobile-offset-x: 0px; --sa-hero-lottie-mobile-offset-y: 0px; --sa-hero-lottie-entry-duration: 520ms; --sa-hero-height-desktop: auto; --sa-hero-height-tablet: auto; --sa-hero-height-mobile: auto; --sa-hero-screen-extra-offset: 0px; --sa-hero-screen-height-desktop: max(620px, calc(100svh - var(--start-admin-bar-offset, 0px) - var(--start-header-height, 84px) - var(--sa-hero-screen-extra-offset))); --sa-hero-screen-height-tablet: max(560px, calc(100svh - var(--start-admin-bar-offset, 0px) - var(--start-header-height, 76px) - var(--sa-hero-screen-extra-offset))); --sa-hero-screen-height-mobile: max(600px, calc(100svh - var(--start-admin-bar-offset, 0px) - var(--start-header-height, 76px) - var(--sa-hero-screen-extra-offset))); --sa-hero-min-height-desktop: 0px; --sa-hero-min-height-tablet: 0px; --sa-hero-min-height-mobile: 0px; --sa-hero-blue: #0b84ff; --sa-hero-ink: #050505; --sa-hero-muted: #20242b; --sa-hero-soft: #f6f7f9; position: relative; width: 100%; max-width: 100%; min-height: var(--sa-hero-min-height-desktop, 0px); margin: 0; overflow-x: clip; background: #fff; color: var(--sa-hero-ink); }
body:has(.lab-announcement-announcement-wrapper) .sa-hero-banner { --sa-hero-screen-extra-offset: 38px; }
.sa-hero-banner--height-desktop-fullscreen { min-height: var(--sa-hero-screen-height-desktop); }
.sa-hero-banner--height-desktop-fullscreen .sa-hero-banner__inner { height: var(--sa-hero-screen-height-desktop); min-height: var(--sa-hero-screen-height-desktop); padding-top: clamp(24px, 3.2vw, 54px); padding-bottom: clamp(24px, 3.2vw, 54px); }
.sa-hero-banner--height-desktop-fullscreen .sa-hero-banner__visual--desktop-side[data-sa-hero-visual="lottie"] .sa-hero-banner__visual-card { min-height: min(var(--sa-hero-lottie-desktop-height), calc(var(--sa-hero-screen-height-desktop) - 126px)); }
.sa-hero-banner--height-desktop-fullscreen .sa-hero-banner__visual--desktop-side[data-sa-hero-visual="lottie"] .sa-hero-banner__lottie { height: min(var(--sa-hero-lottie-desktop-height), calc(var(--sa-hero-screen-height-desktop) - 126px)); max-height: min(var(--sa-hero-lottie-desktop-height), calc(var(--sa-hero-screen-height-desktop) - 126px)); }
.sa-hero-banner__inner { width: var(--sa-hero-shell-width); max-width: var(--sa-hero-shell-max); min-height: var(--sa-hero-height-desktop, auto); margin-inline: auto; padding: var(--sa-hero-top-space) 0 var(--sa-hero-bottom-space); display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(320px, 0.88fr); align-items: center; gap: var(--sa-hero-gap); }
.sa-hero-banner--visual-left .sa-hero-banner__content { order: 2; }
.sa-hero-banner--visual-left .sa-hero-banner__visual { order: 1; }
.sa-hero-banner__content { max-width: 760px; min-width: 0; }
.sa-hero-banner__eyebrow { width: fit-content; max-width: 100%; margin-bottom: 18px; padding: 8px 14px; border: 1px solid rgba(0, 0, 0, 0.08); border-radius: 999px; background: rgba(246, 247, 249, 0.92); color: #222831; font-size: min(var(--sa-hero-eyebrow-max), clamp(13px, 1.1vw, 15px)); font-weight: 700; line-height: 1.35; }
.sa-hero-banner__title { margin: 0; color: var(--sa-hero-ink); font-size: min(var(--sa-hero-title-max), clamp(56px, 6.35vw, 112px)); font-weight: 400; letter-spacing: -0.065em; line-height: 0.88; text-wrap: balance; }
.sa-hero-banner__title--tomato { font-family: "Tomato Grotesk", var(--primary-font, Inter), Arial, sans-serif; }
.sa-hero-banner__title--default { font-family: var(--primary-font, Inter), Arial, sans-serif; font-weight: 700; letter-spacing: -0.055em; }
.sa-hero-banner__subtitle { margin: 18px 0 0; color: var(--sa-hero-ink); font-size: min(var(--sa-hero-subtitle-max), clamp(34px, 3.55vw, 56px)); font-weight: 400; letter-spacing: -0.052em; line-height: 0.98; text-wrap: balance; }
.sa-hero-banner__description { max-width: 720px; min-height: 56px; margin-top: clamp(22px, 3vw, 34px); color: var(--sa-hero-muted); font-size: min(var(--sa-hero-description-max), clamp(17px, 1.22vw, 20px)); font-size-adjust: .52; font-weight: 400; letter-spacing: -0.02em; line-height: 1.38; }
.sa-hero-banner__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 24px; min-height: 58px; margin-top: clamp(26px, 3.4vw, 44px); }
.sa-hero-banner__button, .sa-hero-banner__link { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 58px; border-radius: 8px; text-decoration: none; font-weight: 800; line-height: 1; white-space: nowrap; transition: box-shadow 180ms ease, background-color 180ms ease, color 180ms ease, transform 180ms ease; }
.sa-hero-banner__button { padding: 13px 14px 13px 24px; box-shadow: 0 14px 28px rgba(0, 0, 0, 0.1); }
.sa-hero-banner__button:hover, .sa-hero-banner__button:focus-visible, .sa-hero-banner__link:hover, .sa-hero-banner__link:focus-visible { transform: none; text-decoration: none; }
.sa-hero-banner__button--black { background: #030303; color: #fff; }
.sa-hero-banner__button--black:hover, .sa-hero-banner__button--black:focus-visible { background: rgba(237, 244, 255, .88); color: var(--start-blue-dark, var(--sa-hero-blue)); box-shadow: 0 8px 18px rgba(17, 109, 255, .075); }
.sa-hero-banner__button--blue { background: var(--sa-hero-blue); color: #fff; box-shadow: 0 18px 35px rgba(11, 132, 255, 0.24); }
.sa-hero-banner__button--blue:hover, .sa-hero-banner__button--blue:focus-visible { background: rgba(237, 244, 255, .88); color: var(--start-blue-dark, var(--sa-hero-blue)); box-shadow: 0 8px 18px rgba(17, 109, 255, .075); }
.sa-hero-banner__button--light { background: #fff; color: #050505; border: 1px solid rgba(0, 0, 0, 0.08); box-shadow: 0 18px 35px rgba(0, 0, 0, 0.08); }
.sa-hero-banner__button--light:hover, .sa-hero-banner__button--light:focus-visible { background: rgba(237, 244, 255, .88); color: var(--start-blue-dark, var(--sa-hero-blue)); box-shadow: 0 8px 18px rgba(17, 109, 255, .075); }
.sa-hero-banner__button-icon { width: 30px; height: 30px; display: inline-grid; place-items: center; flex: 0 0 30px; border-radius: 999px; background: #fff; color: #050505; transition: transform 180ms ease; }
.sa-hero-banner__button:hover .sa-hero-banner__button-icon, .sa-hero-banner__button:focus-visible .sa-hero-banner__button-icon { transform: translateX(4px); }
.sa-hero-banner__button-icon svg, .sa-hero-banner__link svg { width: 18px; height: 18px; display: block; fill: currentColor; }
.sa-hero-banner__link { min-height: 44px; padding: 8px 0; border-radius: 0; color: #050505; box-shadow: none; }
.sa-hero-banner__link:hover { color: var(--sa-hero-blue); }
.sa-hero-banner__visual { position: relative; min-width: 0; display: flex; justify-content: center; align-items: center; }
.sa-hero-banner__visual-card { position: relative; width: min(100%, 560px); min-height: clamp(300px, 34vw, 520px); display: grid; place-items: center; isolation: isolate; }
.sa-hero-banner__visual[data-sa-hero-visual="lottie"] { overflow: visible; }
.sa-hero-banner__visual--desktop-side[data-sa-hero-visual="lottie"] .sa-hero-banner__visual-card { width: min(var(--sa-hero-lottie-desktop-width), calc(100vw - var(--sa-hero-safe-space) - var(--sa-hero-safe-space))); max-width: none; min-height: var(--sa-hero-lottie-desktop-height); }
.sa-hero-banner__visual-card::before { content: ""; position: absolute; inset: 9% 2% 2% 16%; z-index: -2; border-radius: 42px; background: linear-gradient(135deg, rgba(11, 132, 255, 0.13), rgba(39, 218, 218, 0.15)); filter: blur(28px); opacity: 0.9; transform: rotate(-4deg); }
.sa-hero-banner__visual-card::after { content: ""; position: absolute; right: 10%; bottom: 7%; width: 106px; height: 106px; z-index: -1; background-image: radial-gradient(currentColor 1.35px, transparent 1.35px); background-size: 13px 13px; color: rgba(0, 0, 0, 0.36); opacity: 0.7; }
.sa-hero-banner__image { width: min(100%, 560px); height: auto; max-height: 520px; display: block; object-fit: contain; border-radius: 22px; }
.sa-hero-banner__visual--mobile-inline { display: none; }
.sa-hero-banner__lottie { width: min(100%, var(--sa-hero-lottie-desktop-width)); max-width: 100%; height: var(--sa-hero-lottie-desktop-height); max-height: var(--sa-hero-lottie-desktop-height); aspect-ratio: auto; display: grid; place-items: center; opacity: 1; overflow: hidden; transform: translate3d(var(--sa-hero-lottie-offset-x), var(--sa-hero-lottie-offset-y), 0); transition: opacity var(--sa-hero-lottie-entry-duration) ease, transform var(--sa-hero-lottie-entry-duration) ease; }
.sa-hero-banner__lottie svg, .sa-hero-banner__lottie canvas { width: 100% !important; max-width: 100% !important; height: 100% !important; max-height: 100% !important; display: block; }
.sa-hero-banner--lottie-align-left .sa-hero-banner__visual[data-sa-hero-visual="lottie"] .sa-hero-banner__visual-card { place-items: center start; }
.sa-hero-banner--lottie-align-right .sa-hero-banner__visual[data-sa-hero-visual="lottie"] .sa-hero-banner__visual-card { place-items: center end; }
.sa-hero-banner--lottie-align-center .sa-hero-banner__visual[data-sa-hero-visual="lottie"] .sa-hero-banner__visual-card { place-items: center; }
.sa-hero-banner--lottie-position-absolute .sa-hero-banner__visual--desktop-side[data-sa-hero-visual="lottie"] .sa-hero-banner__visual-card { min-height: var(--sa-hero-lottie-desktop-height); }
.sa-hero-banner--lottie-position-absolute .sa-hero-banner__visual--desktop-side[data-sa-hero-visual="lottie"] .sa-hero-banner__lottie { position: absolute; top: 50%; left: 50%; transform: translate3d(calc(-50% + var(--sa-hero-lottie-offset-x)), calc(-50% + var(--sa-hero-lottie-offset-y)), 0); }
.sa-hero-banner--lottie-entry-slide-up .sa-hero-banner__lottie:not(.is-lottie-entered), .sa-hero-banner--lottie-entry-zoom .sa-hero-banner__lottie:not(.is-lottie-entered) { opacity: 0; }
.sa-hero-banner--lottie-entry-fade .sa-hero-banner__lottie { opacity: 1; transition: opacity var(--sa-hero-lottie-entry-duration) ease, transform var(--sa-hero-lottie-entry-duration) ease; }
.sa-hero-banner--lottie-entry-fade .sa-hero-banner__lottie:not(.is-lottie-entered) { opacity: 0; }
.sa-hero-banner--lottie-entry-slide-up .sa-hero-banner__lottie:not(.is-lottie-entered) { transform: translate3d(var(--sa-hero-lottie-offset-x), calc(var(--sa-hero-lottie-offset-y) + 24px), 0); }
.sa-hero-banner--lottie-entry-zoom .sa-hero-banner__lottie:not(.is-lottie-entered) { transform: translate3d(var(--sa-hero-lottie-offset-x), var(--sa-hero-lottie-offset-y), 0) scale(.94); }
.sa-hero-banner--lottie-entry-none .sa-hero-banner__lottie, .sa-hero-banner.is-lottie-scrolled .sa-hero-banner__lottie { opacity: 1; pointer-events: auto; transition: none; }
.sa-hero-banner__visual[data-sa-hero-visual="lottie"] .sa-hero-banner__image { display: none; }
.sa-hero-banner__visual[data-sa-hero-visual="lottie"].is-lottie-unavailable .sa-hero-banner__image { display: block; }
.sa-hero-banner__visual[data-sa-hero-visual="lottie"].is-lottie-unavailable .sa-hero-banner__lottie { display: none; }
@media (max-width: 1199px) {
  .sa-hero-banner__inner { grid-template-columns: minmax(0, 1fr) minmax(280px, 0.78fr); }
}
@media (max-width: 991px) {
  .section:has(.sa-hero-banner), .ck-content:has(.sa-hero-banner) { max-width: 100% !important; overflow-x: clip !important; }
  .sa-hero-banner { --sa-hero-shell-width: calc(100% - 32px); --sa-hero-shell-max: calc(100% - 32px); --sa-hero-safe-space: 16px; --sa-hero-top-space: clamp(30px, 7vw, 54px); --sa-hero-bottom-space: clamp(48px, 8vw, 76px); width: 100%; max-width: 100%; min-height: var(--sa-hero-min-height-tablet, 0px); overflow: clip; contain: layout paint; }
  .sa-hero-banner__inner { width: var(--sa-hero-shell-width); max-width: var(--sa-hero-shell-max); min-height: max(var(--sa-hero-height-tablet, auto), var(--sa-hero-min-height-tablet, 600px)); grid-template-columns: 1fr; gap: 0; text-align: center; overflow: clip; }
  .sa-hero-banner--height-tablet-fullscreen .sa-hero-banner__inner { min-height: var(--sa-hero-screen-height-tablet); }
  .sa-hero-banner--visual-left .sa-hero-banner__content, .sa-hero-banner--visual-left .sa-hero-banner__visual { order: initial; }
  .sa-hero-banner__content { width: 100%; max-width: 100%; min-width: 0; margin-inline: auto; overflow: clip; }
  .sa-hero-banner__title, .sa-hero-banner__subtitle, .sa-hero-banner__description, .sa-hero-banner__actions { max-width: 100%; min-width: 0; }
  .sa-hero-banner__eyebrow { margin-inline: auto; }
  .sa-hero-banner__description { margin-inline: auto; }
  .sa-hero-banner__actions { justify-content: center; }
  .sa-hero-banner__visual--desktop-side { display: none; }
  .sa-hero-banner--mobile-visual-yes .sa-hero-banner__visual--mobile-inline { width: 100%; max-width: 100%; min-width: 0; display: flex; justify-content: center; align-items: center; margin: clamp(20px, 5vw, 30px) auto clamp(12px, 4vw, 22px); overflow: clip; contain: layout paint; }
  .sa-hero-banner--mobile-lottie-above-title.sa-hero-banner--mobile-visual-yes .sa-hero-banner__visual--mobile-inline { margin-top: 0; margin-bottom: clamp(18px, 5vw, 28px); }
  .sa-hero-banner--mobile-lottie-above-subtitle.sa-hero-banner--mobile-visual-yes .sa-hero-banner__visual--mobile-inline { margin-top: clamp(18px, 5vw, 28px); margin-bottom: clamp(10px, 4vw, 18px); }
  .sa-hero-banner--mobile-lottie-below-actions.sa-hero-banner--mobile-visual-yes .sa-hero-banner__visual--mobile-inline { margin-top: clamp(24px, 6vw, 36px); margin-bottom: 0; }
  .sa-hero-banner--mobile-visual-no .sa-hero-banner__visual--mobile-inline { display: none; }
  .sa-hero-banner__visual--mobile-inline .sa-hero-banner__visual-card { width: 100%; max-width: 100%; min-width: 0; min-height: var(--sa-hero-lottie-mobile-height); margin-inline: auto; overflow: visible; contain: layout; background: transparent; }
  .sa-hero-banner__visual--mobile-inline[data-sa-hero-visual="lottie"] .sa-hero-banner__visual-card { width: min(100%, var(--sa-hero-lottie-mobile-width)); max-width: 100%; }
  .sa-hero-banner__visual--mobile-inline .sa-hero-banner__visual-card::before, .sa-hero-banner__visual--mobile-inline .sa-hero-banner__visual-card::after { display: none; content: none; }
  .sa-hero-banner__visual--mobile-inline[data-sa-hero-visual="image"] .sa-hero-banner__visual-card { width: min(100%, 520px); max-width: 100%; overflow: visible; }
  .sa-hero-banner__visual--mobile-inline .sa-hero-banner__lottie { width: min(100%, var(--sa-hero-lottie-mobile-width)); max-width: 100%; height: var(--sa-hero-lottie-mobile-height); max-height: var(--sa-hero-lottie-mobile-height); margin-inline: auto; overflow: visible; background: transparent; -webkit-mask-image: radial-gradient(ellipse 96% 92% at 50% 48%, #000 68%, rgba(0, 0, 0, .72) 84%, transparent 100%); mask-image: radial-gradient(ellipse 96% 92% at 50% 48%, #000 68%, rgba(0, 0, 0, .72) 84%, transparent 100%); transform: translate3d(clamp(-32px, var(--sa-hero-lottie-mobile-offset-x), 32px), var(--sa-hero-lottie-mobile-offset-y), 0); }
  .sa-hero-banner__visual--mobile-inline .sa-hero-banner__lottie svg, .sa-hero-banner__visual--mobile-inline .sa-hero-banner__lottie canvas, .sa-hero-banner__visual--mobile-inline .sa-hero-banner__image { max-width: 100% !important; }
  .sa-hero-banner__visual--mobile-inline .sa-hero-banner__lottie svg { overflow: visible; }
  .sa-hero-banner--lottie-position-absolute .sa-hero-banner__visual--mobile-inline[data-sa-hero-visual="lottie"] .sa-hero-banner__lottie, .sa-hero-banner--lottie-position-absolute .sa-hero-banner__visual--desktop-side[data-sa-hero-visual="lottie"] .sa-hero-banner__lottie { position: relative; top: auto; left: auto; transform: translate3d(clamp(-32px, var(--sa-hero-lottie-mobile-offset-x), 32px), var(--sa-hero-lottie-mobile-offset-y), 0); }
  .sa-hero-banner--lottie-entry-slide-up .sa-hero-banner__visual--mobile-inline .sa-hero-banner__lottie:not(.is-lottie-entered) { transform: translate3d(clamp(-32px, var(--sa-hero-lottie-mobile-offset-x), 32px), calc(var(--sa-hero-lottie-mobile-offset-y) + 18px), 0); }
  .sa-hero-banner--lottie-entry-zoom .sa-hero-banner__visual--mobile-inline .sa-hero-banner__lottie:not(.is-lottie-entered) { transform: translate3d(clamp(-32px, var(--sa-hero-lottie-mobile-offset-x), 32px), var(--sa-hero-lottie-mobile-offset-y), 0) scale(.94); }
}
@media (max-width: 575px) {
  .sa-hero-banner { --sa-hero-shell-width: calc(100% - 32px); --sa-hero-shell-max: calc(100% - 32px); --sa-hero-top-space: 30px; --sa-hero-bottom-space: 48px; min-height: var(--sa-hero-min-height-mobile, 0px); }
  .sa-hero-banner__inner { width: var(--sa-hero-shell-width); max-width: var(--sa-hero-shell-max); min-height: max(var(--sa-hero-height-mobile, auto), var(--sa-hero-min-height-mobile, 620px)); }
  .sa-hero-banner--height-mobile-fullscreen .sa-hero-banner__inner { min-height: var(--sa-hero-screen-height-mobile); }
  .sa-hero-banner__title { font-size: min(var(--sa-hero-title-max), clamp(44px, 15vw, 68px)); letter-spacing: -0.058em; line-height: 0.92; }
  .sa-hero-banner__subtitle { font-size: min(var(--sa-hero-subtitle-max), clamp(28px, 9vw, 42px)); letter-spacing: -0.045em; }
  .sa-hero-banner__description { min-height: 76px; font-size: min(var(--sa-hero-description-max), 17px); font-size-adjust: .52; line-height: 1.45; }
  .sa-hero-banner__actions { width: 100%; min-height: 114px; align-content: flex-start; gap: 14px; }
  .sa-hero-banner__button { width: 100%; min-height: 56px; }
  .sa-hero-banner__link { width: 100%; }
  .sa-hero-banner__visual-card { min-height: auto; }
  .sa-hero-banner__visual--mobile-inline .sa-hero-banner__visual-card::after { right: 7%; bottom: 2%; width: 72px; height: 72px; background-size: 10px 10px; }
  .sa-hero-banner__visual--mobile-inline .sa-hero-banner__visual-card::before { inset: -18% -14% -15%; border-radius: 999px; filter: blur(18px); }
}
@media (prefers-reduced-motion: reduce) {
  .sa-hero-banner__button, .sa-hero-banner__link, .sa-hero-banner__button-icon, .sa-hero-banner__lottie { transition: none; }
  .sa-hero-banner__button:hover, .sa-hero-banner__link:hover, .sa-hero-banner__button:hover .sa-hero-banner__button-icon { transform: none; }
}
@media (max-width: 575px) {
  .sa-hero-banner__description { min-height: 78px; }
}
