/* Landing page styles (homepage). Every rule is scoped to .lp-root and every class is
   prefixed lp- so these styles and the app's Tailwind styles never touch each other.
   Generated from the former /site-pulse.css + /site-tailwind.css, in the same order. */
.lp-root{--background: #0b0e1a;
  --foreground: #f2f4ff;
  --card: #151a2d;
  --raised: #1e2540;
  --border: #242b47;
  --primary: #7c5cff;
  --primary-foreground: #ffffff;
  --success: #00e5a0;
  --success-foreground: #04231a;
  --streak: #ff8a3d;
  --muted-foreground: #8a93b8;
  --radius-icon: 14px;
  --radius-row: 20px;
  --radius-card: 24px;
  --radius-button: 999px;
  --radius-avatar: 30%;}
.lp-root,.lp-root *{box-sizing: border-box;}
.lp-root{scroll-behavior: smooth;}
.lp-root>.lp-body{margin: 0; background: var(--background); color: var(--foreground); font-family: 'Plus Jakarta Sans', sans-serif;}
.lp-root h1,.lp-root h2,.lp-root h3,.lp-root button,.lp-root .lp-font-display{font-family: 'Outfit', sans-serif; font-weight: 700;}
.lp-root h1,.lp-root h2{font-weight: 800;}
.lp-root h1,.lp-root h2,.lp-root h3{letter-spacing: -0.5px;}
.lp-root a,.lp-root button,.lp-root summary,.lp-root input{min-height: 44px;}
.lp-root a:focus-visible,.lp-root button:focus-visible,.lp-root summary:focus-visible,.lp-root input:focus-visible{outline: 2px solid var(--success); outline-offset: 3px;}
.lp-root a{color: inherit;}
.lp-root svg{stroke-width: 2;}
.lp-root .lp-muted-text{color: var(--muted-foreground);}
.lp-root .lp-accent-text,.lp-root .lp-grad-text{color: var(--primary);}
.lp-root .lp-sage-text{color: var(--success);}
.lp-root .lp-line-border{border-color: var(--border);}
.lp-root .lp-accent-bg{background: var(--primary); color: var(--primary-foreground);}
.lp-root .lp-card{background: var(--card); border: 1px solid var(--border); border-radius: var(--radius-card);}
.lp-root .lp-card,.lp-root .lp-phone-frame,.lp-root .lp-sim-preview,.lp-root .lp-theme-preview{box-shadow: none !important;}
.lp-root .lp-section-kicker{color: var(--success);}
.lp-root .lp-site-nav{background: var(--background); border-bottom: 1px solid var(--border);}
.lp-root .lp-site-nav > div{min-height: 72px;}
.lp-root .lp-site-nav .lp-brand{white-space: nowrap;}
.lp-root .lp-site-nav .lp-brand img{border-radius: var(--radius-avatar);}
.lp-root .lp-site-nav a:not(.lp-brand){display: inline-flex; align-items: center; justify-content: center;}
.lp-root .lp-site-nav .lp-nav-links a{padding: 0 4px;}
.lp-root .lp-site-nav .lp-nav-links a:hover,.lp-root footer a:hover{color: var(--success);}
.lp-root .lp-button-primary,.lp-root .lp-button-outline{display: inline-flex; align-items: center; justify-content: center; text-align: center; min-height: 48px; padding: 10px 22px; border-radius: var(--radius-button); font-family: 'Outfit', sans-serif; font-weight: 700; transition: background-color .2s, border-color .2s;}
.lp-root .lp-button-primary{background: var(--primary); color: var(--primary-foreground);}
.lp-root .lp-button-primary:hover{background: var(--raised);}
.lp-root .lp-button-outline{border: 2px solid var(--border); background: transparent; color: var(--foreground);}
.lp-root .lp-button-outline:hover{background: var(--raised);}
.lp-root .lp-hero{position: relative; min-height: 595px; overflow: hidden; display: flex; align-items: center;}
.lp-root .lp-hero-copy{position: relative; z-index: 1; max-width: 630px; padding: 56px 0;}
.lp-root .lp-hero h1{max-width: 650px;}
.lp-root .lp-hero h1 .lp-brand-name{color: var(--success); letter-spacing: 0;}
.lp-root .lp-hero .lp-eyebrow{background: var(--card); border-radius: var(--radius-button);}
.lp-root .lp-hero-visual{position: absolute; right: 4%; top: 30px;}
.lp-root .lp-phone-frame{width: 278px; height: 550px; padding: 7px; border: 1px solid var(--border); border-radius: 38px; background: var(--raised); overflow: hidden;}
.lp-root .lp-phone-screen{height: 100%; overflow: hidden; border-radius: 32px; background: var(--background); color: var(--foreground); padding: 20px 15px 14px; font-size: .875rem;}
.lp-root .lp-phone-status{display: flex; justify-content: space-between; align-items: center; font-family: 'Outfit', sans-serif; font-size: .875rem; font-weight: 700; margin-bottom: 20px;}
.lp-root .lp-phone-status svg{width: 15px; height: 15px;}
.lp-root .lp-phone-header{display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 18px;}
.lp-root .lp-phone-logo{display: block; width: 52px; height: 52px; flex: none; object-fit: contain;}
.lp-root .lp-phone-streak{display: flex; align-items: center; gap: 4px; font: 700 .875rem 'Outfit', sans-serif; font-variant-numeric: tabular-nums;}
.lp-root .lp-phone-streak svg{width: 17px; height: 17px; color: var(--streak);}
.lp-root .lp-phone-tabs{display: flex; align-items: center; gap: 5px; overflow: hidden; margin-bottom: 18px; white-space: nowrap;}
.lp-root .lp-phone-tabs span{padding: 6px 10px; border-radius: var(--radius-button); color: var(--muted-foreground); background: var(--card); font-weight: 700;}
.lp-root .lp-phone-tabs span:first-child{background: var(--primary); color: var(--primary-foreground);}
.lp-root .lp-phone-greeting{color: var(--muted-foreground); margin: 0 0 5px;}
.lp-root .lp-phone-title{font: 800 1.4375rem/1.1 'Outfit', sans-serif; letter-spacing: -.5px; margin: 0 0 15px;}
.lp-root .lp-phone-tile{background: var(--card); border: 1px solid var(--border); border-radius: var(--radius-card); padding: 15px; margin-bottom: 10px;}
.lp-root .lp-phone-tile-label{display: flex; align-items: center; gap: 5px; font-size: .875rem; font-weight: 700; color: var(--muted-foreground);}
.lp-root .lp-phone-tile-label svg{width: 14px; height: 14px; color: var(--primary);}
.lp-root .lp-phone-tile strong{display: block; font: 700 1.375rem 'Outfit', sans-serif; font-variant-numeric: tabular-nums;}
.lp-root .lp-phone-tile small{color: var(--muted-foreground);}
.lp-root .lp-phone-progress{height: 7px; border-radius: var(--radius-button); background: var(--raised); margin-top: 10px; overflow: hidden;}
.lp-root .lp-phone-progress span{display: block; width: 68%; height: 100%; border-radius: inherit; background: var(--primary);}
.lp-root .lp-phone-challenge{background: var(--raised);}
.lp-root .lp-phone-challenge .lp-challenge-heading{display: flex; justify-content: space-between; align-items: center; gap: 6px;}
.lp-root .lp-phone-challenge .lp-challenge-heading strong{font-size: 1rem;}
.lp-root .lp-phone-challenge .lp-challenge-heading span{color: var(--success); font: 700 .875rem 'Outfit', sans-serif; white-space: nowrap;}
.lp-root .lp-phone-challenge p{font-size: .875rem; line-height: 1.5; margin: 6px 0 10px; color: var(--muted-foreground);}
.lp-root .lp-phone-challenge .lp-play-pill{display: inline-flex; align-items: center; justify-content: center; background: var(--primary); color: var(--primary-foreground); border-radius: var(--radius-button); padding: 6px 14px; font: 700 .875rem 'Outfit', sans-serif;}
.lp-root .lp-phone-money{background: var(--primary); border-color: var(--primary);}
.lp-root .lp-phone-money .lp-phone-tile-label,.lp-root .lp-phone-money small{color: var(--primary-foreground);}
.lp-root .lp-feature-icon{display: flex; width: 44px; height: 44px; align-items: center; justify-content: center; margin-bottom: 14px; border-radius: var(--radius-icon); background: var(--raised); color: var(--success);}
.lp-root .lp-feature-icon svg{width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round;}
.lp-root .lp-theme-band{background: var(--card); border-block: 1px solid var(--border);}
.lp-root .lp-theme-preview{background: var(--preview-ground); color: var(--preview-text); border: 1px solid var(--preview-border); border-radius: var(--preview-radius); padding: 20px; text-align: left; min-height: 166px;}
.lp-root .lp-theme-preview .lp-preview-top{display: flex; justify-content: space-between; align-items: center; font: 700 .9375rem 'Outfit', sans-serif;}
.lp-root .lp-theme-preview .lp-preview-dots{display: flex; gap: 5px;}
.lp-root .lp-theme-preview .lp-preview-dots i{width: 12px; height: 12px; border-radius: var(--preview-dot-radius); background: var(--preview-accent);}
.lp-root .lp-theme-preview .lp-preview-dots i:nth-child(2){background: var(--preview-extra);}
.lp-root .lp-theme-preview .lp-preview-dots i:nth-child(3){background: var(--preview-border);}
.lp-root .lp-theme-preview .lp-preview-card{background: var(--preview-card); border: 1px solid var(--preview-border); border-radius: var(--preview-inner-radius); padding: 10px; margin-top: 16px; font: 700 .875rem 'Outfit', sans-serif;}
.lp-root .lp-theme-preview .lp-preview-bar{width: 70%; height: 6px; border-radius: var(--preview-inner-radius); background: var(--preview-accent); margin-top: 8px;}
.lp-root .lp-theme-preview[data-preview="pulse"]{--preview-ground: var(--background); --preview-card: var(--card); --preview-border: var(--border); --preview-accent: var(--primary); --preview-extra: var(--success); --preview-text: var(--foreground); --preview-radius: var(--radius-card); --preview-inner-radius: var(--radius-row); --preview-dot-radius: var(--radius-icon);}
.lp-root .lp-theme-preview[data-preview="ember"]{--preview-ground: #160f1c; --preview-card: #211628; --preview-border: #33243b; --preview-accent: #ff6fa8; --preview-extra: #ffc46b; --preview-text: #f8f1f6; --preview-radius: 30px; --preview-inner-radius: 26px; --preview-dot-radius: 999px;}
.lp-root .lp-theme-preview[data-preview="forge"]{--preview-ground: #08090c; --preview-card: #0e1116; --preview-border: #222a36; --preview-accent: #4d8dff; --preview-extra: #ff5e3a; --preview-text: #edf1f7; --preview-radius: 12px; --preview-inner-radius: 8px; --preview-dot-radius: 0px;}
.lp-root .lp-theme-caption{font: 700 1rem 'Outfit', sans-serif; margin-top: 10px;}
.lp-root .lp-sim-preview{width: min(100%, 260px); min-height: 330px; padding: 22px; background: var(--card); border: 1px solid var(--border); border-radius: var(--radius-card);}
.lp-root .lp-sim-preview .lp-sim-eyebrow{font-size: .875rem; font-weight: 700; color: var(--success); text-transform: uppercase;}
.lp-root .lp-sim-preview h3{margin: 16px 0 10px; font-size: 1.5625rem; line-height: 1.1;}
.lp-root .lp-sim-preview p{font-size: .875rem; line-height: 1.6; color: var(--muted-foreground);}
.lp-root .lp-sim-preview .lp-sim-choice{border: 1px solid var(--border); background: var(--raised); padding: 12px; border-radius: var(--radius-row); font-size: .875rem; font-weight: 700; margin-top: 10px;}
.lp-root .lp-sim-preview .lp-sim-choice:first-of-type{border-color: var(--primary);}
.lp-root .lp-pricing-featured{border: 2px solid var(--primary); background: var(--raised);}
.lp-root .lp-pricing-featured .lp-best-value{display: inline-flex; align-items: center; background: var(--success); color: var(--success-foreground); border-radius: var(--radius-button); padding: 6px 12px; font: 700 .875rem 'Outfit', sans-serif;}
.lp-root #faq summary{display: flex; align-items: center; padding: 0 4px;}
.lp-root #faq summary::marker{color: var(--primary);}
.lp-root .lp-waitlist-band{background: var(--card); border-block: 1px solid var(--border);}
.lp-root .lp-waitlist-band input{background: var(--background); color: var(--foreground); border: 1px solid var(--border); border-radius: var(--radius-button);}
.lp-root .lp-waitlist-band input::placeholder{color: var(--muted-foreground);}
.lp-root .lp-waitlist-band button{border-radius: var(--radius-button); min-height: 48px; color: var(--primary-foreground);}
.lp-root footer a{display: inline-flex; align-items: center;}
@media (max-width: 1023px){.lp-root .lp-hero-copy{max-width: 55%;}
.lp-root .lp-hero-visual{right: 2%;}}
@media (max-width: 767px){.lp-root .lp-hero{display: block; min-height: 0; padding-top: 38px;}
.lp-root .lp-hero-copy{max-width: none; padding: 0;}
.lp-root .lp-hero-visual{position: relative; right: auto; top: auto; margin: 28px auto 0;}
.lp-root .lp-phone-frame{height: 440px;}
.lp-root .lp-hero h1{font-size: 2.25rem;}
.lp-root .lp-site-nav .lp-brand span{font-size: .875rem;}
.lp-root .lp-site-nav .lp-button-primary,.lp-root .lp-site-nav .lp-button-outline{padding: 8px 12px; font-size: .875rem;}}
@media (max-width: 380px){.lp-root .lp-site-nav .lp-brand span{max-width: 120px; white-space: normal; line-height: 1.1;}
.lp-root .lp-site-nav .lp-brand img{width: 36px; height: 36px;}}
@media (prefers-reduced-motion: reduce){.lp-root{scroll-behavior: auto;}
.lp-root,.lp-root *,.lp-root *::before,.lp-root *::after{transition-duration: 0s !important; animation-duration: 0s !important;}}
.lp-root{--primary: #8d74ff; --primary-foreground: #100b27; --muted-foreground: #aab3d3; --border: #7883ac; --focus: #00e5a0;}
.lp-root>.lp-body{font-size: 1rem; line-height: 1.5;}
.lp-root>.lp-body :is(.lp-text-xs, .lp-text-sm){font-size: .875rem !important;}
.lp-root>.lp-body :is(p, li, summary):not(.lp-phone-screen p):not(.lp-phone-screen li){font-size: 1rem;}
.lp-root .lp-site-nav .lp-button-primary,.lp-root .lp-site-nav .lp-button-outline{font-size: .875rem;}
.lp-root .lp-button-primary:hover{background: var(--primary); text-decoration: underline;}
.lp-root .lp-phone-frame{width: 318px; height: 640px;}
.lp-root .lp-phone-screen{font-size: .875rem; line-height: 1.5; padding: 18px 16px;}
.lp-root .lp-phone-status,.lp-root .lp-phone-streak,.lp-root .lp-phone-tile-label,.lp-root .lp-phone-challenge .lp-challenge-heading span,.lp-root .lp-phone-challenge p,.lp-root .lp-phone-challenge .lp-play-pill{font-size: .875rem;}
.lp-root .lp-phone-tile small{font-size: .875rem;}
.lp-root .lp-phone-tile{padding: 12px; margin-bottom: 12px;}
.lp-root .lp-phone-tabs{gap: 4px; margin-bottom: 14px;}
.lp-root .lp-phone-tabs span{padding: 6px 8px;}
.lp-root .lp-sim-preview .lp-sim-eyebrow,.lp-root .lp-sim-preview p,.lp-root .lp-sim-preview .lp-sim-choice{font-size: .875rem;}
.lp-root .lp-theme-preview .lp-preview-card{font-size: .875rem;}
.lp-root .lp-theme-preview[data-preview="pulse"]{--preview-border: #7883ac;}
.lp-root .lp-theme-preview[data-preview="ember"]{--preview-border: #aa839d;}
.lp-root .lp-theme-preview[data-preview="forge"]{--preview-border: #8593a6;}
.lp-root :where(a, button, summary, input):focus-visible{outline: 3px solid var(--focus); outline-offset: 3px;}
@media (max-width: 767px){.lp-root .lp-phone-frame{height: 580px;}
.lp-root .lp-site-nav .lp-button-primary,.lp-root .lp-site-nav .lp-button-outline{font-size: .875rem;}}
@media (prefers-color-scheme: light){.lp-root{--background: #f5f4fc; --foreground: #17152d; --card: #ffffff; --raised: #e9e7f6;
    --border: #817993; --primary: #5131ad; --primary-foreground: #ffffff;
    --success: #006d4e; --success-foreground: #ffffff; --streak: #a13b00;
    --muted-foreground: #4d4b67; --focus: #5131ad;}
.lp-root .lp-theme-preview[data-preview="pulse"]{--preview-ground: #f5f4fc; --preview-card: #ffffff; --preview-border: #817993; --preview-accent: #5131ad; --preview-extra: #006d4e; --preview-text: #17152d;}
.lp-root .lp-theme-preview[data-preview="ember"]{--preview-ground: #fff4f8; --preview-card: #ffffff; --preview-border: #947889; --preview-accent: #9b2057; --preview-extra: #a33508; --preview-text: #301326;}
.lp-root .lp-theme-preview[data-preview="forge"]{--preview-ground: #f0f3f8; --preview-card: #ffffff; --preview-border: #798c9f; --preview-accent: #174eaa; --preview-extra: #a8361a; --preview-text: #121c2c;}}
.lp-root .lp-phone-money .lp-phone-tile-label,.lp-root .lp-phone-money strong,.lp-root .lp-phone-money small{color: var(--primary-foreground);}
.lp-root .lp-pricing-featured .lp-accent-text{color: var(--foreground);}
.lp-root .lp-pricing-featured .lp-best-value{font-size: .875rem;}
.lp-root,.lp-root *,.lp-root :after,.lp-root :before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style:}
.lp-root ::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style:}
.lp-root,.lp-root *,.lp-root :after,.lp-root :before{box-sizing:border-box;border:0 solid #e5e7eb}
.lp-root :after,.lp-root :before{--tw-content:""}
.lp-root,.lp-root{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}
.lp-root>.lp-body{margin:0;line-height:inherit}
.lp-root hr{height:0;color:inherit;border-top-width:1px}
.lp-root abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}
.lp-root h1,.lp-root h2,.lp-root h3,.lp-root h4,.lp-root h5,.lp-root h6{font-size:inherit;font-weight:inherit}
.lp-root a{color:inherit;text-decoration:inherit}
.lp-root b,.lp-root strong{font-weight:bolder}
.lp-root code,.lp-root kbd,.lp-root pre,.lp-root samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}
.lp-root small{font-size:80%}
.lp-root sub,.lp-root sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
.lp-root sub{bottom:-.25em}
.lp-root sup{top:-.5em}
.lp-root table{text-indent:0;border-color:inherit;border-collapse:collapse}
.lp-root button,.lp-root input,.lp-root optgroup,.lp-root select,.lp-root textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}
.lp-root button,.lp-root select{text-transform:none}
.lp-root button,.lp-root input:where([type=button]),.lp-root input:where([type=reset]),.lp-root input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}
.lp-root :-moz-focusring{outline:auto}
.lp-root :-moz-ui-invalid{box-shadow:none}
.lp-root progress{vertical-align:baseline}
.lp-root ::-webkit-inner-spin-button,.lp-root ::-webkit-outer-spin-button{height:auto}
.lp-root [type=search]{-webkit-appearance:textfield;outline-offset:-2px}
.lp-root ::-webkit-search-decoration{-webkit-appearance:none}
.lp-root ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}
.lp-root summary{display:list-item}
.lp-root blockquote,.lp-root dd,.lp-root dl,.lp-root figure,.lp-root h1,.lp-root h2,.lp-root h3,.lp-root h4,.lp-root h5,.lp-root h6,.lp-root hr,.lp-root p,.lp-root pre{margin:0}
.lp-root fieldset{margin:0}
.lp-root fieldset,.lp-root legend{padding:0}
.lp-root menu,.lp-root ol,.lp-root ul{list-style:none;margin:0;padding:0}
.lp-root dialog{padding:0}
.lp-root textarea{resize:vertical}
.lp-root input::-moz-placeholder,.lp-root textarea::-moz-placeholder{opacity:1;color:#9ca3af}
.lp-root input::placeholder,.lp-root textarea::placeholder{opacity:1;color:#9ca3af}
.lp-root [role=button],.lp-root button{cursor:pointer}
.lp-root :disabled{cursor:default}
.lp-root audio,.lp-root canvas,.lp-root embed,.lp-root iframe,.lp-root img,.lp-root object,.lp-root svg,.lp-root video{display:block;vertical-align:middle}
.lp-root img,.lp-root video{max-width:100%;height:auto}
.lp-root [hidden]:where(:not([hidden=until-found])){display:none}
.lp-root .lp-sticky{position:sticky}
.lp-root .lp-top-0{top:0}
.lp-root .lp-z-40{z-index:40}
.lp-root .lp-mx-auto{margin-left:auto;margin-right:auto}
.lp-root .lp-my-2{margin-top:.5rem;margin-bottom:.5rem}
.lp-root .lp-mb-10{margin-bottom:2.5rem}
.lp-root .lp-mb-12{margin-bottom:3rem}
.lp-root .lp-mb-2{margin-bottom:.5rem}
.lp-root .lp-mb-3{margin-bottom:.75rem}
.lp-root .lp-mb-4{margin-bottom:1rem}
.lp-root .lp-mb-5{margin-bottom:1.25rem}
.lp-root .lp-mb-6{margin-bottom:1.5rem}
.lp-root .lp-mb-8{margin-bottom:2rem}
.lp-root .lp-mt-2{margin-top:.5rem}
.lp-root .lp-mt-3{margin-top:.75rem}
.lp-root .lp-mt-4{margin-top:1rem}
.lp-root .lp-mt-6{margin-top:1.5rem}
.lp-root .lp-block{display:block}
.lp-root .lp-flex{display:flex}
.lp-root .lp-inline-flex{display:inline-flex}
.lp-root .lp-grid{display:grid}
.lp-root .lp-hidden{display:none}
.lp-root .lp-h-11{height:2.75rem}
.lp-root .lp-min-h-11{min-height:2.75rem}
.lp-root .lp-w-11{width:2.75rem}
.lp-root .lp-w-full{width:100%}
.lp-root .lp-max-w-3xl{max-width:48rem}
.lp-root .lp-max-w-6xl{max-width:72rem}
.lp-root .lp-max-w-lg{max-width:32rem}
.lp-root .lp-max-w-md{max-width:28rem}
.lp-root .lp-cursor-pointer{cursor:pointer}
.lp-root .lp-flex-col{flex-direction:column}
.lp-root .lp-flex-wrap{flex-wrap:wrap}
.lp-root .lp-items-center{align-items:center}
.lp-root .lp-justify-between{justify-content:space-between}
.lp-root .lp-gap-1{gap:.25rem}
.lp-root .lp-gap-2{gap:.5rem}
.lp-root .lp-gap-3{gap:.75rem}
.lp-root .lp-gap-4{gap:1rem}
.lp-root .lp-gap-5{gap:1.25rem}
.lp-root .lp-gap-6{gap:1.5rem}
.lp-root .lp-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem*var(--tw-space-y-reverse))}
.lp-root .lp-space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem*var(--tw-space-y-reverse))}
.lp-root .lp-border{border-width:1px}
.lp-root .lp-border-t{border-top-width:1px}
.lp-root .lp-object-contain{-o-object-fit:contain;object-fit:contain}
.lp-root .lp-p-5{padding:1.25rem}
.lp-root .lp-p-6{padding:1.5rem}
.lp-root .lp-p-7{padding:1.75rem}
.lp-root .lp-px-4{padding-left:1rem;padding-right:1rem}
.lp-root .lp-px-5{padding-left:1.25rem;padding-right:1.25rem}
.lp-root .lp-py-10{padding-top:2.5rem;padding-bottom:2.5rem}
.lp-root .lp-py-16{padding-top:4rem;padding-bottom:4rem}
.lp-root .lp-pt-8{padding-top:2rem}
.lp-root .lp-text-center{text-align:center}
.lp-root .lp-text-3xl{font-size:1.875rem;line-height:2.25rem}
.lp-root .lp-text-4xl{font-size:2.25rem;line-height:2.5rem}
.lp-root .lp-text-base{font-size:1rem;line-height:1.5rem}
.lp-root .lp-text-lg{font-size:1.125rem;line-height:1.75rem}
.lp-root .lp-text-sm{font-size:.875rem;line-height:1.25rem}
.lp-root .lp-text-xs{font-size:.75rem;line-height:1rem}
.lp-root .lp-font-bold{font-weight:700}
.lp-root .lp-font-normal{font-weight:400}
.lp-root .lp-font-semibold{font-weight:600}
.lp-root .lp-uppercase{text-transform:uppercase}
.lp-root .lp-leading-tight{line-height:1.25}
.lp-root .lp-tracking-widest{letter-spacing:.1em}
.lp-root .lp-no-underline{text-decoration-line:none}
@media (min-width:640px){.lp-root .lp-sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.lp-root .lp-sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.lp-root .lp-sm\:flex-row{flex-direction:row}
.lp-root .lp-sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}
.lp-root .lp-sm\:text-5xl{font-size:3rem;line-height:1}}
@media (min-width:768px){.lp-root .lp-md\:flex{display:flex}}
@media (min-width:1024px){.lp-root .lp-lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Smooth in-page scrolling (#features, #pricing...) only while the landing page is shown. */
html:has(.lp-root){scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){html:has(.lp-root){scroll-behavior:auto}}
