.elementor-kit-4{--e-global-color-primary:#0C3B5E;--e-global-color-secondary:#0F172A;--e-global-color-text:#64748B;--e-global-color-accent:#0E9E8E;--e-global-color-tm_background:#FFFFFF;--e-global-color-tm_card:#FFFFFF;--e-global-color-tm_muted:#F8FAFC;--e-global-color-tm_border:#E2E8F0;--e-global-color-tm_accentbg:#E8F7F5;--e-global-color-tm_logoblue:#0060E8;--e-global-color-tm_logonavy:#001A46;--e-global-color-tm_warning:#F59E0B;--e-global-color-tm_destructive:#EF4444;--e-global-color-tm_darkbg:#020817;--e-global-color-tm_darkcard:#0F172A;--e-global-color-tm_darkborder:#243047;--e-global-color-tm_darktext:#E5EDF6;--e-global-typography-primary-font-family:"Geist";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Geist";--e-global-typography-secondary-font-weight:500;--e-global-typography-text-font-family:"Geist";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Geist";--e-global-typography-accent-font-weight:600;}.elementor-kit-4 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* =========================================================
 01. GLOBAL FOUNDATIONS AND THEME TOKENS
 ========================================================= */

html {
 scroll-behavior:smooth
}

html[data-theme="light"] {
 color-scheme:light
}

html[data-theme="dark"] {
 color-scheme:dark
}

.tm-site {
 --tm-bg:var(--e-global-color-tm_background);
 --tm-fg:var(--e-global-color-secondary);
 --tm-card:var(--e-global-color-tm_card);
 --tm-muted:var(--e-global-color-tm_muted);
 --tm-muted-fg:var(--e-global-color-text);
 --tm-border:var(--e-global-color-tm_border);
 --tm-accent-bg:var(--e-global-color-tm_accentbg);
 --tm-primary:var(--e-global-color-primary);
 --tm-success:var(--e-global-color-accent);
 --tm-blue:var(--e-global-color-tm_logoblue);
 --tm-shadow:0 1px 2px rgba(15,23,42,.06),0 1px 3px rgba(15,23,42,.08);
 --tm-shadow-lg:0 22px 60px rgba(15,23,42,.10);
 min-height:100vh;
 background:var(--tm-bg);
 color:var(--tm-fg);
 font-family:var(--e-global-typography-text-font-family),sans-serif;
 transition:background .2s ease,color .2s ease;
 overflow:hidden;
 position:relative
}

.tm-site:before {
 content:"";
 position:fixed;
 inset:0;
 pointer-events:none;
 background:radial-gradient(circle at 18% -6%,rgba(0,96,232,.10),transparent 32%),radial-gradient(circle at 72% 8%,rgba(14,158,142,.13),transparent 30%),linear-gradient(180deg,rgba(248,250,252,.82),transparent 560px);
 z-index:0
}

html[data-theme="dark"] .elementor-kit-4 {
 --e-global-color-secondary:#e5edf6;
 --e-global-color-text:#94a3b8;
 --e-global-color-tm_background:#020817;
 --e-global-color-tm_card:#0f172a;
 --e-global-color-tm_muted:#111827;
 --e-global-color-tm_border:#243047;
 --e-global-color-tm_accentbg:rgba(14,158,142,.16);
 --e-global-color-tm_logoblue:#2d7dff;
 --e-global-color-tm_logonavy:#e5edf6
}

html[data-theme="dark"] .tm-site {
 --tm-shadow:0 1px 2px rgba(0,0,0,.35),0 12px 30px rgba(0,0,0,.18);
 --tm-shadow-lg:0 22px 60px rgba(0,0,0,.35)
}

html[data-theme="dark"] .tm-site:before {
 background:radial-gradient(circle at 18% -6%,rgba(45,125,255,.18),transparent 32%),radial-gradient(circle at 72% 8%,rgba(14,158,142,.16),transparent 30%),linear-gradient(180deg,rgba(15,23,42,.64),transparent 560px)
}

@media(prefers-color-scheme:dark) {
 html:not([data-theme]) {
 color-scheme:dark
 }

 html:not([data-theme]) .elementor-kit-4 {
 --e-global-color-secondary:#e5edf6;
 --e-global-color-text:#94a3b8;
 --e-global-color-tm_background:#020817;
 --e-global-color-tm_card:#0f172a;
 --e-global-color-tm_muted:#111827;
 --e-global-color-tm_border:#243047;
 --e-global-color-tm_accentbg:rgba(14,158,142,.16);
 --e-global-color-tm_logoblue:#2d7dff;
 --e-global-color-tm_logonavy:#e5edf6
 }

 html:not([data-theme]) .tm-site {
 --tm-shadow:0 1px 2px rgba(0,0,0,.35),0 12px 30px rgba(0,0,0,.18);
 --tm-shadow-lg:0 22px 60px rgba(0,0,0,.35)
 }

 html:not([data-theme]) .tm-site:before {
 background:radial-gradient(circle at 18% -6%,rgba(45,125,255,.18),transparent 32%),radial-gradient(circle at 72% 8%,rgba(14,158,142,.16),transparent 30%),linear-gradient(180deg,rgba(15,23,42,.64),transparent 560px)
 }

}

/* =========================================================
 02. PAGE SHELL AND SHARED ELEMENTOR BEHAVIOR
 ========================================================= */

.tm-site>.e-con {
 position:relative;
 z-index:1
}

.tm-shell {
 width:min(1180px,calc(100% - 40px))!important;
 max-width:1180px!important;
 margin-inline:auto!important
}

.tm-site p:last-child {
 margin-bottom:0
}

.tm-site a {
 color:inherit
}

/* =========================================================
 03. HEADER, NAVIGATION, AND BUTTONS
 ========================================================= */

.tm-header {
 position:sticky!important;
 top:0;
 z-index:40!important;
 min-height:74px;
 background:color-mix(in srgb,var(--tm-bg),transparent 10%);
 border-bottom:1px solid color-mix(in srgb,var(--tm-border),transparent 40%);
 backdrop-filter:blur(16px)
}

.tm-header-inner {
 min-height:74px
}

.tm-logo .elementor-heading-title {
 font-size:22px!important;
 letter-spacing:-.055em!important;
 line-height:1!important;
 font-weight:600!important;
 white-space:nowrap
}

.tm-logo-navy {
 color:var(--e-global-color-tm_logonavy)
}

.tm-logo-blue {
 color:var(--tm-blue)
}

/* =========================================================
 WORDPRESS / ELEMENTOR NAVIGATION
 ========================================================= */

.tm-nav {
 align-self: center !important;
 color: var(--tm-fg);
}

/* Desktop menu links */
.tm-nav .elementor-nav-menu--main .elementor-item {
 padding: 9px 12px !important;
 border-radius: 999px;

 background: transparent !important;
 color: var(--tm-muted-fg) !important;

 font-size: 14px;
 font-weight: 500;
 text-decoration: none;

 transition:
 color 0.2s ease,
 background-color 0.2s ease;
}

.tm-nav .elementor-nav-menu--main .elementor-item:hover,
.tm-nav .elementor-nav-menu--main .elementor-item:focus,
.tm-nav .elementor-nav-menu--main .elementor-item-active {
 background: var(--tm-muted) !important;
 color: var(--tm-fg) !important;
}

/* Mobile/tablet menu button */
.tm-nav .elementor-menu-toggle {
 align-items: center !important;
 justify-content: center !important;

 width: 42px;
 min-width: 42px;
 height: 40px;
 min-height: 40px;
 padding: 0 !important;
 margin-block: auto !important;

 border: 1px solid var(--tm-border) !important;
 border-radius: 10px;
 background: var(--tm-card) !important;
 color: var(--tm-fg) !important;
 box-shadow: var(--tm-shadow);

 line-height: 1 !important;
}

.tm-nav .elementor-menu-toggle:hover,
.tm-nav .elementor-menu-toggle:focus {
 border-color: color-mix(
 in srgb,
 var(--tm-success),
 var(--tm-border) 65%
 ) !important;

 background: var(--tm-muted) !important;
 color: var(--tm-fg) !important;
}

/* Vertically center the hamburger icon */
.tm-nav .elementor-menu-toggle i,
.tm-nav .elementor-menu-toggle svg {
 display: block;
 margin: auto;
 line-height: 1 !important;
 transform: none !important;
}

/* Dropdown panel */
.tm-nav .elementor-nav-menu--dropdown {
 border: 1px solid var(--tm-border);
 border-radius: 12px;
 background: var(--tm-card) !important;
 box-shadow: var(--tm-shadow-lg);
 overflow: hidden;
}

.tm-nav .elementor-nav-menu--dropdown .elementor-item {
 background: transparent !important;
 color: var(--tm-muted-fg) !important;
}

.tm-nav .elementor-nav-menu--dropdown .elementor-item:hover,
.tm-nav .elementor-nav-menu--dropdown .elementor-item:focus,
.tm-nav .elementor-nav-menu--dropdown .elementor-item-active {
 background: var(--tm-muted) !important;
 color: var(--tm-fg) !important;
}

/* Keep the navigation available on tablet and mobile */
@media (max-width: 1024px) {
 .tm-nav {
 display: flex !important;
 align-items: center !important;
 justify-content: center !important;
 min-height: 40px;
 }

 .tm-nav .elementor-widget-container {
 align-items: center !important;
 justify-content: center !important;
 min-height: 40px;
 }

 .tm-nav .elementor-menu-toggle {
 display: flex !important;
 }
}

@media (max-width: 767px) {
 .tm-nav {
 display: flex !important;
 visibility: visible !important;
 opacity: 1 !important;
 pointer-events: auto !important;
 }
}

.tm-actions {
 white-space:nowrap
}

/* =========================================================
 NAV DROPDOWN POSITIONING AND ICON ACCESSIBILITY
 ========================================================= */

/* Keep the header from clipping the dropdown */
.tm-header,
.tm-header-inner,
.tm-header .e-con,
.tm-header .e-con-inner,
.tm-nav {
 overflow: visible !important;
}

/* Anchor the dropdown to the nav widget */
.tm-nav {
 position: relative !important;
 align-self: center !important;
 z-index: 100;
}

/*
 * Replace the previous display:flex rule.
 * The dropdown will be positioned relative to this wrapper.
 */
.tm-nav .elementor-widget-container {
 position: relative !important;
 display: block !important;
 width: 100%;
 min-height: 40px;
 overflow: visible !important;
}

/* Keep the toggle aligned within the header */
.tm-nav .elementor-menu-toggle {
 margin-top: 0 !important;
 margin-right: 0 !important;
 margin-bottom: 0 !important;
 margin-left: auto !important;
}

/* Ensure every version of the menu icon uses the button color */
.tm-nav .elementor-menu-toggle,
.tm-nav .elementor-menu-toggle i,
.tm-nav .elementor-menu-toggle svg {
 color: var(--tm-fg) !important;
}

.tm-nav .elementor-menu-toggle svg {
 fill: currentColor !important;
 stroke: currentColor !important;
}

.tm-nav .elementor-menu-toggle svg path,
.tm-nav .elementor-menu-toggle svg line {
 fill: currentColor !important;
 stroke: currentColor !important;
}

/* Stronger accessible icon color in dark mode */
html[data-theme="dark"] .tm-nav .elementor-menu-toggle,
html[data-theme="dark"] .tm-nav .elementor-menu-toggle i,
html[data-theme="dark"] .tm-nav .elementor-menu-toggle svg {
 color: #e5edf6 !important;
 fill: #e5edf6 !important;
 stroke: #e5edf6 !important;
}

/* Take the dropdown out of the header's document flow */
@media (max-width: 1024px) {
 .tm-nav .elementor-nav-menu--dropdown,
 .tm-nav .elementor-nav-menu__container.elementor-nav-menu--dropdown {
 position: absolute !important;

 top: calc(100% + 10px) !important;
 right: 0 !important;
 bottom: auto !important;
 left: auto !important;

 width: min(320px, calc(100vw - 28px)) !important;
 min-width: 240px;
 margin: 0 !important;

 z-index: 9999 !important;
 transform-origin: top right;
 }
}

/* System dark-mode fallback before JavaScript sets data-theme */
@media (prefers-color-scheme: dark) {
 html:not([data-theme]) .tm-nav .elementor-menu-toggle,
 html:not([data-theme]) .tm-nav .elementor-menu-toggle i,
 html:not([data-theme]) .tm-nav .elementor-menu-toggle svg {
 color: #e5edf6 !important;
 fill: #e5edf6 !important;
 stroke: #e5edf6 !important;
 }
}

.tm-site .elementor-button {
 min-height:40px;
 border:1px solid var(--tm-border);
 border-radius:10px;
 background:var(--tm-card);
 color:var(--tm-fg);
 font-size:14px;
 font-weight:500;
 box-shadow:var(--tm-shadow);
 padding:10px 14px;
 transition:transform .2s ease,background .2s ease,border-color .2s ease
}

.tm-site .elementor-button:hover {
 transform:translateY(-1px)
}

.tm-primary-button .elementor-button {
 background:var(--tm-primary)!important;
 color:#fff!important;
 border-color:color-mix(in srgb,var(--tm-primary),#000 5%)!important
}

.tm-blue-button .elementor-button {
 background:var(--tm-blue)!important;
 color:#fff!important;
 border-color:color-mix(in srgb,var(--tm-blue),#000 8%)!important
}

.tm-theme-toggle .elementor-button {
 width:42px;
 padding:0!important;
 box-shadow:none;
 background:transparent!important
}

.tm-theme-toggle .elementor-button-text {
 font-size:18px;
 line-height:1
}

/* =========================================================
 04. HERO, SIGNUP FORM, AND TRUST PILLS
 ========================================================= */

.tm-hero {
 padding:72px 0 58px
}

.tm-hero-grid {
 align-items:center
}

.tm-eyebrow p,.tm-kicker p {
 color:var(--tm-success);
 font-size:12px;
 line-height:1.2;
 font-weight:600;
 letter-spacing:.08em;
 text-transform:uppercase
}

.tm-pulse {
 display:inline-block;
 width:8px;
 height:8px;
 border-radius:99px;
 background:var(--tm-success);
 box-shadow:0 0 0 5px rgba(14,158,142,.14);
 margin-right:9px
}

.tm-hero-title .elementor-heading-title {
 color:var(--tm-fg)!important;
 font-size:clamp(42px,6vw,72px)!important;
 line-height:.98!important;
 letter-spacing:-.066em!important;
 font-weight:600!important;
 max-width:780px
}

.tm-hero-copy {
 color:var(--tm-muted-fg)!important;
 font-size:18px!important;
 line-height:1.55!important;
 max-width:690px
}

.tm-hero-copy strong {
 color:var(--tm-fg);
 font-weight:500
}

.tm-signup-card {
 background:var(--tm-card);
 border:1px solid var(--tm-border);
 border-radius:16px;
 box-shadow:var(--tm-shadow-lg);
 padding:14px
}

.tm-signup-form .elementor-form-fields-wrapper {
 gap:10px
}

.tm-signup-form .elementor-field-group {
 padding:0!important;
 margin:0!important
}

.tm-signup-form input.elementor-field {
 height:42px!important;
 border:1px solid var(--tm-border)!important;
 background:var(--tm-bg)!important;
 color:var(--tm-fg)!important;
 border-radius:10px!important;
 padding:0 13px!important;
 font-size:14px!important
}

.tm-signup-form input.elementor-field:focus {
 border-color:var(--tm-success)!important;
 box-shadow:0 0 0 3px rgba(14,158,142,.14)!important
}

.tm-signup-form .elementor-button {
 height:42px!important;
 width:100%;
 background:var(--tm-blue)!important;
 color:#fff!important;
 border-color:var(--tm-blue)!important
}

/* 1. Prevent the wrapper from overflowing the form container */
.elementor-form-fields-wrapper.elementor-labels- {
 margin-left: 0 !important;
 margin-right: 0 !important;
 gap: 10px; /* Optional: adds space between the input and the button */
}

/* 2. Make the Email field stretch to fill the space */
.elementor-form-fields-wrapper .elementor-field-type-email {
 flex: 1 1 auto !important;
 width: auto !important;
 min-width: 200px; /* Minimum width before it wraps */
}

/* 3. Keep the Button its natural width */
.elementor-form-fields-wrapper .elementor-field-type-submit {
 flex: 0 0 auto !important;
 width: auto !important;
}

.tm-signup-help {
 color:var(--tm-muted-fg)!important;
 font-size:13px!important
}

.tm-signup-help a {
 color:var(--tm-blue);
 font-weight:500;
 text-decoration:none
}

.tm-trust-row {
 margin-top:18px
}

.tm-trust-pill {
 width:auto!important;
 border:1px solid var(--tm-border);
 border-radius:999px;
 padding:6px 10px;
 background:color-mix(in srgb,var(--tm-card),transparent 8%)
}

.tm-trust-pill p {
 color:var(--tm-muted-fg);
 font-size:12px;
 line-height:1.3;
 font-weight:500;
 white-space:nowrap
}

.tm-trust-pill strong {
 color:var(--tm-fg);
 font-weight:500
}

/* =========================================================
 05. PRODUCT PREVIEW, METRICS, CHART, AND INSIGHTS
 ========================================================= */

.tm-product-preview {
 position:relative
}

.tm-preview-card {
 background:var(--tm-card);
 border:1px solid var(--tm-border);
 border-radius:20px;
 box-shadow:var(--tm-shadow-lg);
 overflow:hidden
}

.tm-preview-topbar {
 min-height:58px;
 display:flex;
 align-items:center;
 justify-content:space-between;
 gap:12px;
 padding:14px 16px;
 border-bottom:1px solid var(--tm-border);
 background:var(--tm-muted)
}

.tm-window-dots {
 display:flex;
 gap:7px
}

.tm-window-dots span {
 width:10px;
 height:10px;
 border-radius:99px;
 background:var(--tm-border)
}

.tm-window-dots span:nth-child(1) {
 background:#ef4444
}

.tm-window-dots span:nth-child(2) {
 background:#f59e0b
}

.tm-window-dots span:nth-child(3) {
 background:var(--tm-success)
}

.tm-preview-label {
 color:var(--tm-muted-fg);
 font-size:12px;
 font-weight:500
}

.tm-preview-content {
 padding:18px;
 display:grid;
 gap:14px
}

.tm-metric-grid {
 display:grid;
 grid-template-columns:repeat(3,minmax(0,1fr));
 gap:12px
}

.tm-metric-card,.tm-chart-card,.tm-insight-item {
 border:1px solid var(--tm-border);
 background:var(--tm-bg);
 border-radius:12px
}

.tm-metric-card {
 padding:14px
}

.tm-metric-label,.tm-metric-note {
 color:var(--tm-muted-fg);
 font-size:12px
}

.tm-metric-value {
 color:var(--tm-fg);
 font-size:28px;
 line-height:1;
 letter-spacing:-.045em;
 font-weight:600;
 margin:8px 0
}

.tm-chart-card {
 padding:16px
}

.tm-chart-head {
 display:flex;
 justify-content:space-between;
 gap:12px;
 margin-bottom:14px
}

.tm-chart-title {
 font-size:14px;
 font-weight:500
}

.tm-chart-description {
 margin:4px 0 0;
 color:var(--tm-muted-fg);
 font-size:12px
}

.tm-badge {
 display:inline-flex;
 align-items:center;
 border-radius:99px;
 padding:6px 10px;
 font-size:12px;
 font-weight:500;
 white-space:nowrap
}

.tm-badge-success {
 color:#075e55;
 background:#d9f6f1;
 border:1px solid #a7e9df
}

.tm-badge-warning {
 color:#92400e;
 background:#fef3c7;
 border:1px solid #fde68a
}

.tm-badge-blue {
 color:#084cb0;
 background:rgba(0,96,232,.10);
 border:1px solid rgba(0,96,232,.20)
}

html[data-theme=dark] .tm-badge-success {
 color:#b7fff5;
 background:rgba(14,158,142,.16);
 border-color:rgba(14,158,142,.35)
}

html[data-theme=dark] .tm-badge-warning {
 color:#fde68a;
 background:rgba(245,158,11,.16);
 border-color:rgba(245,158,11,.35)
}

html[data-theme=dark] .tm-badge-blue {
 color:#b5d0ff;
 background:rgba(45,125,255,.18);
 border-color:rgba(45,125,255,.35)
}

.tm-bar-chart {
 height:210px;
 display:grid;
 grid-template-columns:repeat(6,minmax(34px,1fr));
 gap:14px;
 align-items:end;
 border-left:1px solid var(--tm-border);
 border-bottom:1px solid var(--tm-border);
 padding:18px 4px 0 12px
}

.tm-bar {
 display:grid;
 align-items:end;
 gap:8px;
 height:100%
}

.tm-bar-value {
 width:100%;
 border-radius:8px 8px 0 0;
 background:linear-gradient(180deg,color-mix(in srgb,var(--tm-success),#fff 18%),var(--tm-success));
 min-height:12px;
 position:relative
}

.tm-bar-value.blue {
 background:linear-gradient(180deg,color-mix(in srgb,var(--tm-blue),#fff 20%),var(--tm-blue))
}

.tm-bar-value:after {
 content:attr(data-value);
 position:absolute;
 top:-24px;
 left:50%;
 transform:translateX(-50%);
 color:var(--tm-fg);
 font-size:11px;
 font-weight:500
}

.tm-bar-label {
 text-align:center;
 color:var(--tm-muted-fg);
 font-size:11px
}

.tm-insight-list {
 display:grid;
 gap:10px
}

.tm-insight-item {
 display:grid;
 grid-template-columns:34px 1fr auto;
 gap:12px;
 align-items:center;
 padding:12px
}

.tm-insight-icon {
 width:34px;
 height:34px;
 border-radius:11px;
 display:grid;
 place-items:center;
 background:var(--tm-accent-bg);
 color:var(--tm-success)
}

.tm-insight-icon svg {
 width:17px;
 height:17px
}

.tm-insight-title {
 margin:0;
 color:var(--tm-fg);
 font-size:13px;
 font-weight:500
}

.tm-insight-text {
 margin:2px 0 0;
 color:var(--tm-muted-fg);
 font-size:12px
}

.tm-float-card {
 position:absolute;
 right: -30px;
 top:249px;
 width:250px;
 border:1px solid var(--tm-border);
 background:color-mix(in srgb,var(--tm-card),transparent 3%);
 border-radius:12px;
 box-shadow:var(--tm-shadow-lg);
 padding:11px;
 backdrop-filter:blur(16px)
}

.tm-float-card {
 border: 1px solid var(--tm-border) !important;
 border-left: 1px solid var(--tm-blue) !important;

 background: color-mix(
 in srgb,
 var(--tm-card) 96%,
 var(--tm-blue)
 ) !important;

 box-shadow:
 var(--tm-shadow-lg),
 0 8px 28px color-mix(
 in srgb,
 var(--tm-blue) 10%,
 transparent
 ) !important;

 padding-left: 17px;
}

.tm-float-card h3 {
 color:var(--tm-fg);
 font-size:14px;
 margin:0 0 6px
}

.tm-float-card p {
 color:var(--tm-muted-fg);
 font-size:13px;
 margin:0
}

/* =========================================================
 06. CONTENT SECTIONS, CARDS, FEATURES, AND PILLS
 ========================================================= */

.tm-section {
 padding:54px 0
}

.tm-section-header {
 margin-bottom:22px
}

.tm-section-title .elementor-heading-title {
 color:var(--tm-fg)!important;
 font-size:clamp(28px,3.2vw,44px)!important;
 line-height:1.04!important;
 letter-spacing:-.052em!important;
 font-weight:600!important;
 max-width:760px
}

.tm-section-intro {
 color:var(--tm-muted-fg)!important;
 font-size:15px!important;
 max-width:420px
}

.tm-card {
 background:var(--tm-card);
 border:1px solid var(--tm-border);
 border-radius:12px;
 box-shadow:var(--tm-shadow);
 padding:18px;
 transition:transform .2s ease,border-color .2s ease
}

.tm-card:hover {
 transform:translateY(-2px);
 border-color:color-mix(in srgb,var(--tm-success),var(--tm-border) 65%)
}

.tm-step-card {
 min-height:230px
}

.tm-step-number {
 width:34px!important;
 height:34px!important;
 border-radius:99px;
 background:var(--tm-muted);
 border:1px solid var(--tm-border);
 display:flex;
 align-items:center;
 justify-content:center
}

.tm-step-number .elementor-heading-title {
 font-size:13px!important;
 color:var(--tm-fg)!important
}

.tm-card-title .elementor-heading-title {
 color:var(--tm-fg)!important;
 font-size:16px!important;
 line-height:1.25!important;
 font-weight:500!important;
 letter-spacing:-.025em!important
}

.tm-card-copy {
 color:var(--tm-muted-fg)!important;
 font-size:14px!important
}

.tm-feature-icon {
 width:38px!important;
 height:38px!important;
 border-radius:12px;
 background:var(--tm-accent-bg);
 display:flex;
 align-items:center;
 justify-content:center
}

.tm-feature-icon .elementor-icon {
 color:var(--tm-success)!important;
 font-size:19px
}

.tm-pill {
 width:auto!important;
 align-self:flex-start!important;
 border-radius:99px;
 padding:6px 10px
}

.tm-pill .elementor-heading-title {
 font-size:12px!important;
 font-weight:500!important
}

.tm-pill-success {
 color:#075e55;
 background:#d9f6f1;
 border:1px solid #a7e9df
}

.tm-pill-blue {
 color:#084cb0;
 background:rgba(0,96,232,.10);
 border:1px solid rgba(0,96,232,.20)
}

.tm-pill-warning {
 color:#92400e;
 background:#fef3c7;
 border:1px solid #fde68a
}

html[data-theme=dark] .tm-pill-success {
 color:#b7fff5;
 background:rgba(14,158,142,.16);
 border-color:rgba(14,158,142,.35)
}

html[data-theme=dark] .tm-pill-blue {
 color:#b5d0ff;
 background:rgba(45,125,255,.18);
 border-color:rgba(45,125,255,.35)
}

html[data-theme=dark] .tm-pill-warning {
 color:#fde68a;
 background:rgba(245,158,11,.16);
 border-color:rgba(245,158,11,.35)
}

/* =========================================================
 07. ADMIN PANEL, EMAIL PREVIEW, AND CHECKLIST
 ========================================================= */

.tm-admin-panel {
 background:linear-gradient(135deg,color-mix(in srgb,var(--tm-blue),transparent 90%),color-mix(in srgb,var(--tm-success),transparent 90%));
 border:1px solid var(--tm-border);
 border-radius:12px;
 padding:18px
}

.tm-admin-title .elementor-heading-title {
 color:var(--tm-fg)!important;
 font-size:20px!important;
 line-height:1.2!important;
 font-weight:500!important;
 letter-spacing:-.03em!important
}

.tm-admin-copy {
 color:var(--tm-muted-fg)!important;
 font-size:14px!important
}

.tm-email-template {
 margin-top:8px;
 background:var(--tm-card);
 border:1px solid var(--tm-border);
 border-radius:12px;
 box-shadow:var(--tm-shadow);
 overflow:hidden
}

.tm-email-head {
 padding:12px 14px;
 border-bottom:1px solid var(--tm-border)
}

.tm-email-head p {
 color:var(--tm-muted-fg);
 font-size:12px
}

.tm-email-link .elementor-button {
 min-height:auto!important;
 padding:0!important;
 border:0!important;
 background:transparent!important;
 box-shadow:none!important;
 color:var(--tm-blue)!important;
 font-size:12px!important
}

.tm-email-body {
 padding:14px
}

.tm-email-body p {
 color:var(--tm-muted-fg);
 font-size:13px
}

.tm-email-body strong {
 color:var(--tm-fg);
 font-weight:500
}

.tm-review-title .elementor-heading-title {
 font-size:20px!important
}

.tm-check-list .elementor-icon-list-item {
 align-items:flex-start!important;
 margin-bottom:10px
}

.tm-check-list .elementor-icon-list-icon {
 margin-top:2px;
 width:22px;
 height:22px;
 border-radius:99px;
 background:var(--tm-accent-bg);
 display:flex;
 align-items:center;
 justify-content:center
}

.tm-check-list .elementor-icon-list-icon i {
 color:var(--tm-success)!important;
 font-size:11px
}

.tm-check-list .elementor-icon-list-text {
 color:var(--tm-muted-fg)!important;
 font-size:14px!important;
 line-height:1.45!important
}

/* =========================================================
 08. FINAL CTA
 ========================================================= */

.tm-cta {
 border-radius:20px;
 background:linear-gradient(135deg,var(--tm-primary),#082338);
 color:#fff;
 padding:clamp(24px,5vw,46px);
 box-shadow:var(--tm-shadow-lg);
 overflow:hidden;
 position:relative
}

.tm-cta:after {
 content:"";
 width:320px;
 height:320px;
 position:absolute;
 right:-90px;
 top:-120px;
 background:rgba(14,158,142,.30);
 border-radius:99%;
 filter:blur(3px);
 pointer-events:none
}

.tm-cta>* {
 position:relative;
 z-index:1
}

.tm-cta .tm-kicker p {
 color:rgba(255,255,255,.72)!important
}

.tm-cta .tm-section-title .elementor-heading-title {
 color:#fff!important
}

.tm-cta-copy {
 color:rgba(255,255,255,.74)!important
}

.tm-cta-button .elementor-button {
 background:#fff!important;
 color:var(--tm-primary)!important;
 border-color:transparent!important
}

/* =========================================================
 09. RESPONSIVE AND ACCESSIBILITY RULES
 ========================================================= */

@media(max-width:1040px) {
 .tm-hero-grid,.tm-admin-grid,.tm-cta {
 flex-direction:column!important
 }

 .tm-hero-left,.tm-hero-right,.tm-admin-left,.tm-admin-right,.tm-cta-copy-col,.tm-cta-action {
 width:100%!important
 }

 .tm-hero-right {
 order:-1
 }

 .tm-steps-grid {
 flex-wrap:wrap!important
 }

 .tm-step-card {
 width:calc(50% - 8px)!important
 }

 .tm-features-grid,.tm-dev-grid {
 flex-direction:column!important
 }

 .tm-feature-card,.tm-dev-card {
 width:100%!important
 }

 .tm-section-header {
 align-items:flex-start!important;
 flex-direction:column!important
 }

 .tm-section-intro {
 max-width:760px
 }

 .tm-float-card {
 position:static;
 width:auto;
 margin-top:14px
 }

}

@media(max-width:767px) {
 .tm-shell {
 width:calc(100% - 28px)!important
 }


 .tm-header,.tm-header-inner {
 min-height:66px
 }

 .tm-hero {
 padding-top:42px
 }

 .tm-hero-title .elementor-heading-title {
 font-size:clamp(38px,13vw,54px)!important
 }

 .tm-hero-copy {
 font-size:16px!important
 }

 .tm-signup-form .elementor-field-group,.tm-signup-form .elementor-field-type-submit {
 width:100%!important
 }

 .tm-trust-row {
 align-items:flex-start!important
 }

 .tm-trust-pill {
 white-space:normal
 }

 .tm-metric-grid,.tm-steps-grid {
 display:flex!important;
 flex-direction:column!important
 }

 .tm-step-card {
 width:100%!important
 }

 .tm-bar-chart {
 gap:9px;
 grid-template-columns:repeat(6,minmax(26px,1fr));
 overflow:hidden
 }

 .tm-insight-item {
 grid-template-columns:34px 1fr
 }

 .tm-insight-item .tm-badge {
 grid-column:2;
 justify-self:start
 }

 .tm-footer-inner {
 flex-direction:column!important;
 align-items:flex-start!important
 }

 .tm-logo .elementor-heading-title {
 font-size:20px!important
 }

 .tm-actions {
 gap:6px!important
 }

 .tm-actions .tm-primary-button .elementor-button {
 padding-inline:11px!important
 }

 .tm-section {
 padding:42px 0
 }

}

@media(prefers-reduced-motion:reduce) {
 html {
 scroll-behavior:auto
 }

 .tm-site * {
 transition:none!important
 }

}

@media(max-width:1040px) {
 .tm-section-header>.e-con,.tm-section-intro-col {
 width:100%!important
 }

}

/* =========================================================
 10. LIVE QA OVERRIDES
 These intentionally follow the component rules above.
 ========================================================= */

html,body {
 overflow-x:clip
}

.tm-site,.tm-header,.tm-shell:not(.tm-cta),.tm-hero-left,.tm-hero-right,.tm-section-header,.tm-section-intro-col,.tm-steps-grid,.tm-features-grid,.tm-admin-grid,.tm-cta-copy-col,.tm-cta-action,.tm-dev-grid,.tm-actions,.tm-trust-row {
 padding:0!important
}

.tm-cta {
 overflow:hidden!important;
 isolation:isolate
}

.tm-cta::after {
 content:none!important;
 display:none!important
}

.tm-cta>.tm-cta-glow {
 position:absolute!important;
 right:-90px!important;
 top:-120px!important;
 width:320px!important;
 max-width:none!important;
 height:320px!important;
 min-height:320px!important;
 flex:0 0 320px!important;
 padding:0!important;
 margin:0!important;
 border-radius:999px!important;
 background:rgba(14,158,142,.30)!important;
 filter:blur(3px);
 z-index:0!important;
 pointer-events:none
}

.tm-cta>*:not(.tm-cta-glow) {
 position:relative;
 z-index:1
}

.elementor-editor-active .tm-cta>.tm-cta-glow {
 pointer-events:auto
}

.tm-primary-button .elementor-button:hover {
 background:#082a44!important;
 color:#fff!important
}

.tm-signup-form .elementor-button {
 background:#0060e8!important;
 color:#fff!important;
 border-color:#0060e8!important
}

.tm-signup-form .elementor-button:hover {
 background:#004eb8!important;
 color:#fff!important;
 border-color:#004eb8!important
}

.tm-email-link .elementor-button:hover {
 color:#004eb8!important;
 background:transparent!important
}

.tm-cta-button .elementor-button:hover {
 background:#e8f7f5!important;
 color:#0c3b5e!important
}

.tm-theme-toggle .elementor-button:hover {
 background:var(--tm-muted)!important;
 color:var(--tm-fg)!important
}

html[data-theme="dark"] .tm-email-link .elementor-button {
 color:#7db0ff!important
}

html[data-theme="dark"] .tm-email-link .elementor-button:hover {
 color:#b5d0ff!important
}

html[data-theme="dark"] .tm-theme-toggle .elementor-button {
 color:#e5edf6!important;
 border-color:#243047!important
}

@media(prefers-color-scheme:dark) {
 html:not([data-theme]) .tm-email-link .elementor-button {
 color:#7db0ff!important
 }

 html:not([data-theme]) .tm-theme-toggle .elementor-button {
 color:#e5edf6!important;
 border-color:#243047!important
 }

}

.tm-site .elementor-button:focus-visible,.tm-site a:focus-visible {
 outline:3px solid var(--tm-success)!important;
 outline-offset:3px
}

/* TENANT METRICS PILL READABILITY FIX */

.tm-pill .elementor-heading-title {
 color:inherit!important
}

.tm-pill-success .elementor-heading-title {
 color:#075e55!important
}

.tm-pill-blue .elementor-heading-title {
 color:#084cb0!important
}

.tm-pill-warning .elementor-heading-title {
 color:#92400e!important
}

html[data-theme="dark"] .tm-pill-success .elementor-heading-title {
 color:#b7fff5!important
}

html[data-theme="dark"] .tm-pill-blue .elementor-heading-title {
 color:#b5d0ff!important
}

html[data-theme="dark"] .tm-pill-warning .elementor-heading-title {
 color:#fde68a!important
}

.tm-feature-icon .elementor-icon,.tm-feature-icon .elementor-icon i,.tm-feature-icon .elementor-icon svg {
 color:var(--tm-success)!important;
 fill:var(--tm-success)!important
}

@media(prefers-color-scheme:dark) {
 html:not([data-theme]) .tm-pill-success .elementor-heading-title {
 color:#b7fff5!important
 }

 html:not([data-theme]) .tm-pill-blue .elementor-heading-title {
 color:#b5d0ff!important
 }

 html:not([data-theme]) .tm-pill-warning .elementor-heading-title {
 color:#fde68a!important
 }

}

.tm-bar-chart {
 align-items: stretch;
}

.tm-bar {
 display: flex;
 flex-direction: column;
 justify-content: flex-end;
}

.tm-bar-value {
 margin-top: auto;
 flex-shrink: 0;
}

.tm-bar-label {
 flex-shrink: 0;
}

/* =========================================================
 11. SHARED TYPOGRAPHY UTILITIES AND ELEMENTOR HELPERS
 ========================================================= */

html {
 font-size: 100%;
}

/* Default is always 16px */

.xlarge :is(h1, h2, h3, h4, h5, h6, p) {
 font-size: clamp(2.5rem, 2.03659rem + 1.95122vw, 3.5rem);
 line-height: 1em;
}

.large :is(h1, h2, h3, h4, h5, h6, p) {
 font-size: clamp(1.5rem, 1.03659rem + 1.95122vw, 2.5rem);
 line-height: 1em;
}

.medium :is(h1, h2, h3, h4, h5, h6, p) {
 font-size: clamp(1.25rem, 0.90244rem + 1.46341vw, 2rem);
}

.small :is(h1, h2, h3, h4, h5, h6, p) {
 font-size: clamp(1rem, 0.88415rem + 0.48780vw, 1.25rem);
 line-height: 1.5em;
}

.normal :is(h1, h2, h3, h4, h5, h6, p) {
 font-size: clamp(1rem, 0.94205rem + 0.244vw, 1.125rem);
 line-height: 1.4em;
}

.xsmall :is(h1, h2, h3, h4, h5, h6, p) {
 font-size: clamp(0.82rem, 0.76439rem + 0.23415vw, 0.94rem);
}

.elementor-widget-text-editor :last-child {
 margin-bottom:0px;
}

/** Start Block Kit CSS: 144-3-3a7d335f39a8579c20cdf02f8d462582 **/

.envato-block__preview {
 overflow: visible;
}

/* Envato Kit 141 Custom Styles - Applied to the element under Advanced */

.elementor-headline-animation-type-drop-in .elementor-headline-dynamic-wrapper {
 text-align: center;
}

.envato-kit-141-top-0 h1, .envato-kit-141-top-0 h2, .envato-kit-141-top-0 h3, .envato-kit-141-top-0 h4, .envato-kit-141-top-0 h5, .envato-kit-141-top-0 h6, .envato-kit-141-top-0 p {
 margin-top: 0;
}

.envato-kit-141-newsletter-inline .elementor-field-textual.elementor-size-md {
 padding-left: 1.5rem;
 padding-right: 1.5rem;
}

.envato-kit-141-bottom-0 p {
 margin-bottom: 0;
}

.envato-kit-141-bottom-8 .elementor-price-list .elementor-price-list-item .elementor-price-list-header {
 margin-bottom: .5rem;
}

.envato-kit-141.elementor-widget-testimonial-carousel.elementor-pagination-type-bullets .swiper-container {
 padding-bottom: 52px;
}

.envato-kit-141-display-inline {
 display: inline-block;
}

.envato-kit-141 .elementor-slick-slider ul.slick-dots {
 bottom: -40px;
}

/** End Block Kit CSS: 144-3-3a7d335f39a8579c20cdf02f8d462582 **/

/* =========================================================
 12. ELEMENTOR THEME BUILDER CONTEXT
 ========================================================= */

.elementor-kit-4 {
 --tm-bg: var(--e-global-color-tm_background);
 --tm-fg: var(--e-global-color-secondary);
 --tm-card: var(--e-global-color-tm_card);
 --tm-muted: var(--e-global-color-tm_muted);
 --tm-muted-fg: var(--e-global-color-text);
 --tm-border: var(--e-global-color-tm_border);
 --tm-accent-bg: var(--e-global-color-tm_accentbg);
 --tm-primary: var(--e-global-color-primary);
 --tm-success: var(--e-global-color-accent);
 --tm-blue: var(--e-global-color-tm_logoblue);
 --tm-shadow: 0 1px 2px rgba(15,23,42,.06), 0 1px 3px rgba(15,23,42,.08);
 --tm-shadow-lg: 0 22px 60px rgba(15,23,42,.10);
}

html[data-theme="dark"] .elementor-kit-4 {
 --tm-shadow: 0 1px 2px rgba(0,0,0,.35), 0 12px 30px rgba(0,0,0,.18);
 --tm-shadow-lg: 0 22px 60px rgba(0,0,0,.35);
}

.tm-header, .tm-footer {
 color: var(--tm-fg);
 font-family: var(--e-global-typography-text-font-family), sans-serif;
}

.tm-footer {
 background: var(--tm-bg);
}

/* =========================================================
 13. LIGHT/DARK LOGO SWAP
 ========================================================= */

.tm-logo-light {
 display: block !important;
}

.tm-logo-dark {
 display: none !important;
}

html[data-theme="light"] .tm-logo-light {
 display: block !important;
}

html[data-theme="light"] .tm-logo-dark {
 display: none !important;
}

html[data-theme="dark"] .tm-logo-light {
 display: none !important;
}

html[data-theme="dark"] .tm-logo-dark {
 display: block !important;
}

@media (prefers-color-scheme: dark) {
 html:not([data-theme]) .tm-logo-light {
 display: none !important;
 }

 html:not([data-theme]) .tm-logo-dark {
 display: block !important;
 }

}

.tm-logo-image img {
 display: block;
 width: 100%;
 height: auto;
}

/* =========================================================
 14. FINAL HEADER, ICON, AND EDITOR ALIGNMENT
 These high-specificity rules must remain last.
 ========================================================= */

/* Toggle full button box */

.tm-header .tm-actions {
 align-items: center !important;
}

.tm-header .tm-theme-toggle {
 display: flex !important;
 align-items: stretch !important;
 justify-content: center !important;
 width: 42px !important;
 min-width: 42px !important;
 height: 40px !important;
 min-height: 40px !important;
 flex: 0 0 42px !important;
}

.tm-header .tm-theme-toggle .elementor-widget-container {
 display: flex !important;
 width: 100%;
 height: 100%;
}

.tm-header .tm-theme-toggle .elementor-button {
 display: inline-flex !important;
 align-items: center !important;
 justify-content: center !important;
 width: 42px !important;
 height: 40px !important;
 min-height: 40px !important;
 padding: 0 !important;
 border: 1px solid var(--tm-border) !important;
 border-radius: 10px !important;
 background: var(--tm-card) !important;
 color: var(--tm-fg) !important;
 box-shadow: var(--tm-shadow) !important;
}

.tm-header .tm-theme-toggle .elementor-button:hover {
 background: var(--tm-muted) !important;
 border-color: color-mix( in srgb, var(--tm-success), var(--tm-border) 65% ) !important;
 color: var(--tm-fg) !important;
}

.tm-header .tm-theme-toggle .elementor-button-content-wrapper {
 display: flex !important;
 align-items: center !important;
 justify-content: center !important;
 width: 100%;
 height: 100%;
 line-height: 1 !important;
}

.tm-header .tm-theme-toggle .elementor-button-text {
 display: flex !important;
 align-items: center !important;
 justify-content: center !important;
 line-height: 1 !important;
 transform: translateY(1px);
}

html[data-theme="dark"] .tm-header .tm-theme-toggle .elementor-button {
 background: var(--tm-card) !important;
 border-color: var(--tm-border) !important;
 color: var(--tm-fg) !important;
}

/* Vertically center the three feature icons */

.tm-feature-icon .elementor-icon-wrapper, .tm-feature-icon .elementor-icon {
 display: flex !important;
 align-items: center !important;
 justify-content: center !important;
 width: 100%;
 height: 100%;
 line-height: 1 !important;
}

.tm-feature-icon .elementor-icon svg {
 display: block;
 margin: 0;
 transform: translateY(1px);
}

/* Correct the CTA inside the Elementor editor only */
body.elementor-editor-active .tm-shell.tm-cta {
 /* Override Elementor container sizing variables */
 --width: 100% !important;

 width: 100% !important;
 max-width: 1180px !important;
 min-width: 0 !important;

 flex: 0 0 auto !important;
 align-self: center !important;

 margin-right: auto !important;
 margin-left: auto !important;

 position: relative !important;
 left: auto !important;
 right: auto !important;
 transform: none !important;

 box-sizing: border-box !important;
 overflow: visible !important;
}

/* Reset positioning Elementor may add to the CTA columns */
body.elementor-editor-active
 .tm-shell.tm-cta > .tm-cta-copy-col,
body.elementor-editor-active
 .tm-shell.tm-cta > .tm-cta-action {
 position: relative !important;
 inset: auto !important;
 transform: none !important;

 min-width: 0 !important;
 max-width: none !important;
}

/* Preserve the desktop column arrangement */
@media (min-width: 1041px) {
 body.elementor-editor-active
 .tm-shell.tm-cta > .tm-cta-copy-col {
 --width: calc(74% - 11px) !important;

 width: calc(74% - 11px) !important;
 flex: 1 1 auto !important;
 }

 body.elementor-editor-active
 .tm-shell.tm-cta > .tm-cta-action {
 --width: auto !important;

 width: auto !important;
 flex: 0 0 auto !important;
 }
}

/* =========================================================
 15. GLOBAL FADE IN UP MOTION OVERRIDE
 ========================================================= */

/* Override Elementor / Animate.css fadeInUp distance */
@keyframes fadeInUp {
 from {
 opacity: 0;
 transform: translate3d(0, 32px, 0);
 }

 to {
 opacity: 1;
 transform: translate3d(0, 0, 0);
 }
}

@-webkit-keyframes fadeInUp {
 from {
 opacity: 0;
 -webkit-transform: translate3d(0, 32px, 0);
 }

 to {
 opacity: 1;
 -webkit-transform: translate3d(0, 0, 0);
 }
}

/* Smoother, less floaty motion */
.animated.fadeInUp {
 animation-duration: 0.65s;
 animation-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
 animation-fill-mode: both;
}

/* Accessibility: reduce motion for users who prefer it */
@media (prefers-reduced-motion: reduce) {
 .animated.fadeInUp {
 animation-duration: 0.35s;
 }

 @keyframes fadeInUp {
 from {
 opacity: 0;
 transform: translate3d(0, 4px, 0);
 }

 to {
 opacity: 1;
 transform: translate3d(0, 0, 0);
 }
 }
}/* End custom CSS */