/* ============================================================
   TRANDOCK CORE — design system for Elementor
   ------------------------------------------------------------
   · Tokens (duplicated from the theme so widgets work with any theme)
   · Elementor skins: add these classes under Advanced → CSS Classes
       Sections/containers: td-hero  td-pagehead  td-head  td-head--left  td-card  td-card-hov
                            td-card-flat  td-card-acc  td-svc  td-cta-box  td-cta-box--center
                            td-actions  td-actions--center  td-sticky  td-rv (scroll reveal)  td-plans
       Headings:            td-display  td-h1  td-h2  td-h3  td-h4  td-h4-sm  td-kicker  td-eyebrow
                            td-label  td-tag  td-strong  td-price-sm  (span.td-dim inside a title)
       Text editor:         td-lead  td-sub  td-body2  td-small  td-center  td-narrow
       Buttons:             td-btn + td-btn--primary|dark|ghost|white + td-btn--lg|sm|block
                            td-tlink (text link, chevron)   td-linkacc (text link, arrow)
       Icon list:           td-bullets  td-checklist
       Icon:                td-itile  td-itile--ink  td-icon-acc
       Icon box:            td-trust  td-trust--sm
       Nested tabs:         td-tabs
       Divider:             td-hr
   ============================================================ */

:root {
	--surf: #000000;
	--surf-2: #09090B;
	--surf-3: #141417;
	--surf-4: #1D1D1F;
	--surf-5: #26262A;
	--txt: #F5F5F7;
	--txt-2: #A1A1A6;
	--txt-3: #86868B;
	--line: rgba(255, 255, 255, .09);
	--line-2: rgba(255, 255, 255, .17);
	--line-3: rgba(255, 255, 255, .28);
	--acc: #30D583;
	--acc-hover: #4FE29A;
	--acc-ink: #04150D;
	--acc-soft: rgba(48, 213, 131, .12);
	--acc-soft-2: rgba(48, 213, 131, .26);
	--rose: #FF6B7F;
	--amber: #FFD60A;
	--blue: #0A84FF;
	--r-xs: 6px;
	--r-sm: 10px;
	--r-md: 14px;
	--r-lg: 20px;
	--r-xl: 28px;
	--r-2xl: 36px;
	--r-full: 980px;
	--ease: cubic-bezier(.28, .11, .32, 1);
	--t-fast: 180ms;
	--t: 280ms;
	--t-slow: 700ms;
	--td-gap: clamp(14px, 1.6vw, 20px);
	--bloom: 0 40px 140px -50px rgba(48, 213, 131, .30);
}

/* ------------------------------------------------------------
   ELEMENTOR BASELINE
   Low specificity (:where) so td-* classes and anything set in the
   Elementor Style tab always win. New, unstyled widgets still look on-brand.
   ------------------------------------------------------------ */
:where(.elementor-widget-heading) .elementor-heading-title { color: var(--txt); line-height: 1.2; font-weight: 600; }
:where(.elementor-widget-heading) h1.elementor-heading-title { font-size: clamp(2.15rem, 5.2vw, 4rem); line-height: 1.06; letter-spacing: -.024em; }
:where(.elementor-widget-heading) h2.elementor-heading-title { font-size: clamp(1.75rem, 3.9vw, 2.95rem); line-height: 1.09; letter-spacing: -.022em; }
:where(.elementor-widget-heading) h3.elementor-heading-title { font-size: clamp(1.3rem, 1.9vw, 1.6rem); letter-spacing: -.016em; }
:where(.elementor-widget-heading) h4.elementor-heading-title { font-size: 1.1875rem; line-height: 1.35; letter-spacing: -.012em; }
:where(.elementor-widget-text-editor) { color: var(--txt-2); }
:where(.elementor-widget-button) .elementor-button {
	display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 24px;
	border-radius: var(--r-full); background: var(--acc); color: var(--acc-ink); font-weight: 600; font-size: 1rem; line-height: 1;
	transition: background var(--t) var(--ease), color var(--t) var(--ease);
}
:where(.elementor-widget-button) .elementor-button:hover { background: var(--acc-hover); color: var(--acc-ink); }
.elementor-widget-text-editor p { margin: 0; }
.elementor-widget-text-editor p + p { margin-top: 1em; }
.elementor-widget-text-editor a { color: var(--acc); text-decoration: underline; text-underline-offset: 3px; }
.elementor-widget-text-editor b,
.elementor-widget-text-editor strong { color: var(--txt); font-weight: 600; }
.e-con.e-grid > .e-con,
.e-con.e-grid > .e-con-inner > .e-con,
.e-con.e-grid > .elementor-widget,
.e-con.e-grid > .e-con-inner > .elementor-widget { min-width: 0; }
.td-ic { display: block; flex: none; }

/* ------------------------------------------------------------
   TYPE
   ------------------------------------------------------------ */
.td-display .elementor-heading-title { font-size: clamp(2.4rem, 7.4vw, 6.25rem); line-height: 1.03; letter-spacing: -.028em; font-weight: 600; text-wrap: balance; }
.td-h1 .elementor-heading-title { font-size: clamp(2.15rem, 5.2vw, 4rem); line-height: 1.06; letter-spacing: -.024em; font-weight: 600; }
.td-h2 .elementor-heading-title { font-size: clamp(1.75rem, 3.9vw, 2.95rem); line-height: 1.09; letter-spacing: -.022em; font-weight: 600; text-wrap: balance; }
.td-h3 .elementor-heading-title { font-size: clamp(1.3rem, 1.9vw, 1.6rem); line-height: 1.2; letter-spacing: -.016em; font-weight: 600; }
.td-h4 .elementor-heading-title { font-size: 1.1875rem; line-height: 1.35; letter-spacing: -.012em; font-weight: 600; }
.td-h4-sm .elementor-heading-title { font-size: .9375rem; line-height: 1.35; letter-spacing: -.012em; font-weight: 600; }
.td-strong .elementor-heading-title { font-size: .9375rem; line-height: 1.4; font-weight: 600; letter-spacing: -.008em; }
.td-kicker .elementor-heading-title { font-size: clamp(1rem, 1.35vw, 1.1875rem); line-height: 1.3; font-weight: 600; letter-spacing: -.012em; color: var(--txt); }
.td-eyebrow .elementor-heading-title { font-size: clamp(1rem, 1.2vw, 1.125rem); line-height: 1.3; font-weight: 600; letter-spacing: -.008em; color: var(--acc); }
.td-label .elementor-heading-title,
.td-kpi-l { font-size: .6875rem; line-height: 1.4; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--txt-3); }
.elementor-widget-heading.td-tag .elementor-heading-title,
span.td-tag {
	display: inline-block; align-self: flex-start; padding: 4px 10px; border-radius: var(--r-xs);
	background: rgba(255, 255, 255, .07); font-size: .6875rem; line-height: 1.4; font-weight: 600; letter-spacing: .02em;
	color: var(--txt-2); text-transform: uppercase;
}
.td-tag--acc { background: var(--acc-soft); color: var(--acc); }
.td-price-sm .elementor-heading-title { font-size: 1.375rem; font-weight: 650; letter-spacing: -.03em; line-height: 1.2; font-variant-numeric: tabular-nums; }
.td-price-sm .elementor-heading-title span { font-size: .875rem; font-weight: 500; color: var(--txt-3); letter-spacing: 0; }
.td-dim { color: var(--txt-3); }
.td-white .elementor-heading-title { color: #fff; }

.td-lead { font-size: clamp(1.0625rem, 1.5vw, 1.3125rem); line-height: 1.5; letter-spacing: -.01em; color: var(--txt-2); }
.td-sub { font-size: clamp(1.0625rem, 1.5vw, 1.3125rem); line-height: 1.42; letter-spacing: -.012em; color: var(--txt-2); text-wrap: balance; }
.td-body2 { font-size: .9375rem; line-height: 1.6; color: var(--txt-2); }
.td-small, .td-small p { font-size: .8125rem; line-height: 1.5; color: var(--txt-3); }
.td-small b, .td-small strong { color: var(--txt); font-variant-numeric: tabular-nums; }
.td-center, .td-center .elementor-heading-title { text-align: center; }
.td-narrow p { max-width: 520px; }
.td-center.td-narrow p { margin-inline: auto; }
.td-num { font-variant-numeric: tabular-nums; font-feature-settings: "tnum"; }

/* ------------------------------------------------------------
   SECTIONS & LAYOUT HELPERS
   ------------------------------------------------------------ */
.e-con.td-head { max-width: 760px; margin-inline: auto; text-align: center; }
.e-con.td-head--left { margin-inline: 0; text-align: left; }

.e-con.td-divided { border-top: 1px solid var(--line); --padding-top: clamp(34px, 4vw, 52px); }

@media (min-width: 1025px) {
	.e-con.td-sticky { position: sticky; top: 100px; }
	.admin-bar .e-con.td-sticky { top: 132px; }
}

.e-con.td-hstack > .elementor-widget__width-auto { flex-grow: 0; }

/* HERO */
.e-con.td-hero { position: relative; overflow: hidden; text-align: center; }
.e-con.td-hero::before {
	content: ""; position: absolute; top: -340px; left: 50%; transform: translateX(-50%);
	width: min(1180px, 140%); height: 900px; pointer-events: none; z-index: 0;
	background: radial-gradient(50% 50% at 50% 50%, rgba(48, 213, 131, .20) 0%, rgba(48, 213, 131, .06) 42%, transparent 72%);
	filter: blur(30px);
}
.e-con.td-hero > .e-con-inner { position: relative; z-index: 1; }
.td-hero .td-display .elementor-heading-title { max-width: 16em; margin-inline: auto; }
.td-hero .td-sub p { max-width: 36rem; margin-inline: auto; }

/* PAGE HEADER */
.e-con.td-pagehead { position: relative; overflow: hidden; border-bottom: 1px solid var(--line); }
.e-con.td-pagehead::before {
	content: ""; position: absolute; inset: 0; pointer-events: none; z-index: 0;
	background:
		radial-gradient(58% 130% at 6% 0%, rgba(48, 213, 131, .14), transparent 56%),
		radial-gradient(50% 120% at 94% 14%, rgba(10, 132, 255, .09), transparent 58%);
}
.e-con.td-pagehead > .e-con-inner { position: relative; z-index: 1; }
.e-con.td-pagehead-in { max-width: 820px; }
.td-pagehead .td-lead p { max-width: 640px; }

/* ------------------------------------------------------------
   CARDS
   ------------------------------------------------------------ */
.e-con.td-card {
	--padding-top: clamp(22px, 2.4vw, 30px);
	--padding-right: clamp(22px, 2.4vw, 30px);
	--padding-bottom: clamp(22px, 2.4vw, 30px);
	--padding-left: clamp(22px, 2.4vw, 30px);
	background: var(--surf-3);
	border: 1px solid var(--line);
	border-radius: var(--r-lg);
	transition: border-color var(--t) var(--ease), background var(--t) var(--ease), transform var(--t) var(--ease), opacity var(--t-slow) var(--ease);
}
.e-con.td-card-hov:hover { border-color: var(--line-2); background: var(--surf-4); transform: translateY(-2px); }
.e-con.td-card-flat {
	--padding-top: 20px; --padding-right: 20px; --padding-bottom: 20px; --padding-left: 20px;
	background: rgba(255, 255, 255, .04); border: 1px solid var(--line); border-radius: var(--r-md);
}
.e-con.td-card-acc { background: linear-gradient(180deg, rgba(48, 213, 131, .09), var(--surf-3)); border-color: var(--acc-soft-2); }
.e-con.td-svc > .elementor-widget-icon-list,
.e-con.td-svc > .e-con-inner > .elementor-widget-icon-list { margin-top: auto; }
.e-con.td-card--form {
	--padding-top: clamp(24px, 3vw, 38px); --padding-right: clamp(24px, 3vw, 38px);
	--padding-bottom: clamp(24px, 3vw, 38px); --padding-left: clamp(24px, 3vw, 38px);
}

/* CTA BOX */
.e-con.td-cta-box {
	position: relative; overflow: hidden;
	background: var(--surf-3); border: 1px solid var(--line); border-radius: var(--r-2xl);
	--padding-top: clamp(40px, 5.5vw, 76px); --padding-right: clamp(40px, 5.5vw, 76px);
	--padding-bottom: clamp(40px, 5.5vw, 76px); --padding-left: clamp(40px, 5.5vw, 76px);
}
.e-con.td-cta-box::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background:
		radial-gradient(70% 140% at 14% 0%, rgba(48, 213, 131, .16), transparent 58%),
		radial-gradient(60% 130% at 92% 100%, rgba(10, 132, 255, .10), transparent 60%);
}
.e-con.td-cta-box > * { position: relative; }
.td-cta-box--center { text-align: center; }

/* ------------------------------------------------------------
   BUTTONS (Button widget + Trandock widgets)
   ------------------------------------------------------------ */
.elementor-widget-button.td-btn .elementor-button,
:is(a, button).td-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 7px;
	height: 46px; padding: 0 24px; border-radius: var(--r-full); border: 1px solid transparent;
	font-family: inherit; font-size: 1rem; font-weight: 500; letter-spacing: -.01em; line-height: 1;
	cursor: pointer; white-space: nowrap; text-decoration: none; background: var(--surf-4); color: var(--txt);
	transition: transform var(--t-fast) var(--ease), background var(--t) var(--ease), border-color var(--t) var(--ease), color var(--t) var(--ease);
}
.elementor-widget-button.td-btn .elementor-button:active,
:is(a, button).td-btn:active { transform: scale(.985); }
.elementor-widget-button.td-btn .elementor-button-content-wrapper { gap: 7px; align-items: center; }
.elementor-widget-button.td-btn .elementor-button-icon { display: inline-flex; font-size: 17px; }
.elementor-widget-button.td-btn .elementor-button-icon .tdi { width: 17px; height: 17px; transition: transform var(--t) var(--ease); }
.elementor-widget-button.td-btn .elementor-button:hover .elementor-button-icon .tdi-arrow,
:is(a, button).td-btn:hover .td-arrow { transform: translateX(3px); }
.td-arrow { transition: transform var(--t) var(--ease); }

.elementor-widget-button.td-btn--lg .elementor-button, :is(a, button).td-btn--lg { height: 52px; padding: 0 30px; font-size: 1.0625rem; }
.elementor-widget-button.td-btn--sm .elementor-button, :is(a, button).td-btn--sm { height: 32px; padding: 0 15px; font-size: .8125rem; }
.elementor-widget-button.td-btn--block, .elementor-widget-button.td-btn--block .elementor-button { width: 100%; }

.elementor-widget-button.td-btn--primary .elementor-button, :is(a, button).td-btn--primary { background: var(--acc); color: var(--acc-ink); font-weight: 600; }
.elementor-widget-button.td-btn--primary .elementor-button:hover, :is(a, button).td-btn--primary:hover { background: var(--acc-hover); color: var(--acc-ink); }
.elementor-widget-button.td-btn--dark .elementor-button, :is(a, button).td-btn--dark { background: var(--surf-4); color: var(--txt); border-color: var(--line-2); }
.elementor-widget-button.td-btn--dark .elementor-button:hover, :is(a, button).td-btn--dark:hover { background: var(--surf-5); color: var(--txt); }
.elementor-widget-button.td-btn--ghost .elementor-button, :is(a, button).td-btn--ghost { background: transparent; color: var(--txt); border-color: var(--line-2); }
.elementor-widget-button.td-btn--ghost .elementor-button:hover, :is(a, button).td-btn--ghost:hover { background: rgba(255, 255, 255, .07); border-color: var(--line-3); color: var(--txt); }
.elementor-widget-button.td-btn--white .elementor-button, :is(a, button).td-btn--white { background: #fff; color: #0B0B0D; font-weight: 600; }
.elementor-widget-button.td-btn--white .elementor-button:hover, :is(a, button).td-btn--white:hover { background: #E4E4E8; color: #0B0B0D; }

/* Text links */
.elementor-widget-button.td-tlink .elementor-button,
.elementor-widget-button.td-linkacc .elementor-button {
	display: inline-flex; align-items: center; padding: 0; height: auto; border: 0; border-radius: 0; background: transparent;
	color: var(--acc); font-family: inherit; font-weight: 400; letter-spacing: -.01em; line-height: 1.4;
}
.elementor-widget-button.td-tlink .elementor-button { font-size: 1.0625rem; }
.elementor-widget-button.td-linkacc .elementor-button { font-size: .9375rem; }
.elementor-widget-button.td-tlink .elementor-button-content-wrapper { gap: 3px; }
.elementor-widget-button.td-linkacc .elementor-button-content-wrapper { gap: 5px; }
.elementor-widget-button.td-tlink .elementor-button-icon,
.elementor-widget-button.td-linkacc .elementor-button-icon { font-size: 15px; display: inline-flex; }
.elementor-widget-button.td-tlink .elementor-button-icon .tdi,
.elementor-widget-button.td-linkacc .elementor-button-icon .tdi { transition: transform var(--t) var(--ease); }
.elementor-widget-button.td-tlink .elementor-button:hover .elementor-button-text,
.elementor-widget-button.td-linkacc .elementor-button:hover .elementor-button-text { text-decoration: underline; text-underline-offset: 4px; }
.elementor-widget-button.td-tlink .elementor-button:hover .tdi,
.elementor-widget-button.td-linkacc .elementor-button:hover .tdi { transform: translateX(3px); }

/* ------------------------------------------------------------
   ICON LISTS  (spacing comes from the widget's Space Between / Icon Size / Text Indent)
   ------------------------------------------------------------ */
.elementor-widget.td-bullets .elementor-icon-list-item,
.elementor-widget.td-checklist .elementor-icon-list-item { align-items: flex-start; }
.elementor-widget.td-bullets .elementor-icon-list-icon,
.elementor-widget.td-checklist .elementor-icon-list-icon { margin-top: 4px; }
.elementor-widget.td-bullets .elementor-icon-list-icon .tdi,
.elementor-widget.td-checklist .elementor-icon-list-icon .tdi { width: 1em; height: 1em; color: var(--txt-3); }
.elementor-widget.td-bullets .elementor-icon-list-icon + .elementor-icon-list-text,
.elementor-widget.td-checklist .elementor-icon-list-icon + .elementor-icon-list-text { align-self: flex-start; padding-inline-start: 0; }
.elementor-widget.td-bullets .elementor-icon-list-text { font-size: .9375rem; line-height: 1.6; color: var(--txt-2); }
.elementor-widget.td-bullets .elementor-icon-list-text b,
.elementor-widget.td-bullets .elementor-icon-list-text strong { color: var(--txt); font-weight: 600; }
.elementor-widget.td-checklist { border-top: 1px solid var(--line); padding-top: 16px; }
.elementor-widget.td-checklist .elementor-icon-list-text { font-size: .8125rem; line-height: 1.5; color: var(--txt-2); }

/* ------------------------------------------------------------
   ICONS
   ------------------------------------------------------------ */
.td-itile .elementor-icon-wrapper { line-height: 0; }
.td-itile .elementor-icon,
.td-itile {
	--td-tile: 42px;
}
.elementor-widget-icon.td-itile .elementor-icon,
span.td-itile {
	width: var(--td-tile); height: var(--td-tile); border-radius: 12px; display: grid; place-items: center; flex: none;
	background: var(--acc-soft); color: var(--acc); border: 1px solid var(--acc-soft-2); font-size: 20px;
}
.elementor-widget-icon.td-itile--ink .elementor-icon,
span.td-itile--ink { background: rgba(255, 255, 255, .06); border-color: var(--line-2); color: var(--txt); }
.elementor-widget-icon.td-itile .elementor-icon i { width: 20px; height: 20px; }
.elementor-widget-icon.td-icon-acc .elementor-icon { color: var(--acc); font-size: 20px; }
.elementor-widget-icon.td-icon-acc .elementor-icon-wrapper { line-height: 0; }

/* Trust / feature items (Icon Box, icon left — spacing from the widget's Icon Spacing control) */
.elementor-widget.td-trust .elementor-icon-box-wrapper { align-items: flex-start; text-align: left; }
.elementor-widget.td-trust .elementor-icon-box-icon { margin-top: 2px; line-height: 0; }
.elementor-widget.td-trust .elementor-icon { color: var(--acc); }
.elementor-widget.td-trust .elementor-icon .tdi { width: 1em; height: 1em; }
.elementor-widget.td-trust .elementor-icon-box-title { margin: 0; font-size: 1.1875rem; line-height: 1.35; letter-spacing: -.012em; font-weight: 600; color: var(--txt); }
.elementor-widget.td-trust .elementor-icon-box-description { margin: 0; font-size: .8125rem; line-height: 1.5; color: var(--txt-3); }
.elementor-widget.td-trust--sm .elementor-icon-box-title { font-size: .9375rem; }

/* Divider */
.elementor-widget.td-hr { --divider-color: var(--line); }
.elementor-widget.td-hr .elementor-divider { padding-block: 0; }

/* ------------------------------------------------------------
   PILLS, DOTS, STATUS
   ------------------------------------------------------------ */
.td-pills { display: flex; flex-wrap: wrap; gap: 10px; }
.td-pill {
	display: inline-flex; align-items: center; gap: 7px; height: 30px; padding: 0 13px; white-space: nowrap; flex: none;
	border-radius: var(--r-full); border: 1px solid var(--line-2); background: rgba(255, 255, 255, .05);
	font-size: .75rem; font-weight: 500; line-height: 1; color: var(--txt-2); letter-spacing: -.004em;
}
.td-pill .td-ic, .td-pill .tdi { width: 14px; height: 14px; }
.td-pill--acc { background: var(--acc-soft); border-color: var(--acc-soft-2); color: var(--acc); }
.td-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--acc); flex: none; box-shadow: 0 0 0 3px rgba(48, 213, 131, .16); }
.td-stat-ok, .td-inc { display: inline-flex; align-items: center; gap: 5px; font-size: .6875rem; font-weight: 600; white-space: nowrap; }
.td-stat-ok { color: var(--acc); }
.td-inc { color: var(--txt-3); }
.td-status--accent .td-inc { color: var(--acc); }

/* ------------------------------------------------------------
   CLOSE REPORT PANEL (hero object)
   ------------------------------------------------------------ */
.td-panel {
	position: relative; max-width: 900px; margin: 0 auto; text-align: left;
	background: linear-gradient(180deg, #17171B 0%, #101013 100%);
	border: 1px solid var(--line-2); border-radius: var(--r-xl);
	box-shadow: 0 50px 100px -40px rgba(0, 0, 0, 1); overflow: hidden;
}
.td-panel--glow { box-shadow: var(--bloom), 0 50px 100px -40px rgba(0, 0, 0, 1); }
.td-panel-top { display: flex; align-items: center; gap: 10px 12px; flex-wrap: wrap; padding: 16px 22px; border-bottom: 1px solid var(--line); }
.td-panel-title { font-size: .8125rem; font-weight: 500; color: var(--txt-2); letter-spacing: -.004em; }
.td-panel-badge { margin-left: auto; }
.td-panel-body { padding: clamp(20px, 2.4vw, 30px); }
.td-panel-hd { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 24px; }
.td-panel-co { font-size: 1.1875rem; line-height: 1.35; letter-spacing: -.012em; font-weight: 600; color: var(--txt); }
.td-panel-meta { margin-top: 4px; }
.td-panel-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--r-md); overflow: hidden; margin-bottom: 20px; }
.td-panel-kpis > div { background: #131317; padding: 16px 18px; }
.td-kpi-v { font-size: 1.5rem; font-weight: 600; letter-spacing: -.032em; line-height: 1.2; margin-top: 7px; font-variant-numeric: tabular-nums; color: var(--txt); }
.td-kpi-d { font-size: .6875rem; font-weight: 500; margin-top: 4px; font-variant-numeric: tabular-nums; color: var(--txt-3); }
.td-kpi-d--up { color: var(--acc); }
.td-kpi-d--down { color: var(--rose); }
.td-panel-chart { border: 1px solid var(--line); border-radius: var(--r-md); padding: 18px; background: rgba(255, 255, 255, .02); }
.td-panel-chart-hd { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.td-bars { display: flex; align-items: flex-end; gap: clamp(4px, .9vw, 11px); height: 86px; }
.td-bars i { flex: 1 1 0; min-width: 0; border-radius: 3px; background: rgba(255, 255, 255, .12); }
.td-bars i.a { background: rgba(48, 213, 131, .5); }
.td-bars i.b { background: var(--acc); }

/* Rows (panel + status rows) */
.td-rows { margin-top: 16px; border: 1px solid var(--line); border-radius: var(--r-md); overflow: hidden; }
.td-row { display: grid; grid-template-columns: 1fr auto auto; gap: 16px; align-items: center; padding: 12px 18px; font-size: .875rem; border-bottom: 1px solid var(--line); }
.td-row--2 { grid-template-columns: 1fr auto; }
.td-row:last-child { border-bottom: 0; }
.td-row b { font-weight: 450; color: var(--txt); }
.td-row-v { font-variant-numeric: tabular-nums; font-weight: 500; color: var(--txt-2); }
.td-status-hd { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.td-status .td-rows { margin-top: 18px; }

/* ------------------------------------------------------------
   STATS
   ------------------------------------------------------------ */
.td-stats { display: grid; grid-template-columns: repeat(var(--td-cols, 4), minmax(0, 1fr)); }
.td-stats-v { font-weight: 600; line-height: 1; font-variant-numeric: tabular-nums; color: var(--txt); }
.td-stats-l { line-height: 1.5; }
.td-tone-acc { color: var(--acc); }
.td-tone-rose { color: var(--rose); }

.td-stats--specs { border-top: 1px solid var(--line); }
.td-stats--specs .td-stats-item { padding: clamp(28px, 3.4vw, 44px) 20px; text-align: center; border-left: 1px solid var(--line); }
.td-stats--specs .td-stats-item:first-child { border-left: 0; }
.td-stats--specs .td-stats-v { font-size: clamp(1.6rem, 2.9vw, 2.35rem); letter-spacing: -.035em; }
.td-stats--specs .td-stats-l { font-size: .8125rem; color: var(--txt-3); margin-top: 10px; }

.td-stats--band { gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; }
.td-stats--band .td-stats-item { background: var(--surf-3); padding: clamp(22px, 2.6vw, 32px); }
.td-stats--band .td-stats-v, .td-stats--cards .td-stats-v { font-size: clamp(1.9rem, 3.2vw, 2.75rem); letter-spacing: -.04em; }
.td-stats--band .td-stats-l, .td-stats--cards .td-stats-l { font-size: .8125rem; color: var(--txt-2); margin-top: 12px; }

.td-stats--cards, .td-stats--kpi { gap: var(--td-gap); }
.td-stats--cards .td-stats-item,
.td-stats--kpi .td-stats-item {
	background: var(--surf-3); border: 1px solid var(--line); border-radius: var(--r-lg); padding: clamp(22px, 2.4vw, 30px);
	transition: border-color var(--t) var(--ease), background var(--t) var(--ease), transform var(--t) var(--ease);
}
.td-stats--cards .td-stats-item:hover { border-color: var(--line-2); background: var(--surf-4); transform: translateY(-2px); }
.td-stats--kpi .td-stats-v { font-size: 2rem; letter-spacing: -.04em; margin-top: 8px; }
.td-stats--kpi .td-stats-l { font-size: .8125rem; color: var(--txt-3); margin-top: 8px; }

/* ------------------------------------------------------------
   MARQUEE
   ------------------------------------------------------------ */
.td-marq { overflow: hidden; padding-block: 26px; }
.td-marq--band { border-block: 1px solid var(--line); background: var(--surf-2); }
.td-marq-lab { text-align: center; font-size: .8125rem; color: var(--txt-3); margin-bottom: 20px; letter-spacing: -.004em; }
.td-marq-mask { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent); mask-image: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent); }
.td-marq-track { display: flex; width: max-content; animation: td-slide var(--td-marq-dur, 42s) linear infinite; }
.td-marq-set { display: flex; gap: 56px; padding-right: 56px; }
.td-marq-mask:hover .td-marq-track { animation-play-state: paused; }
.td-marq-track span { font-size: 1.0625rem; font-weight: 500; letter-spacing: -.018em; color: var(--txt-3); white-space: nowrap; transition: color var(--t) var(--ease); }
.td-marq-track span:hover { color: var(--txt); }
@keyframes td-slide { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ------------------------------------------------------------
   STEPS
   ------------------------------------------------------------ */
.td-steps { display: grid; margin: 0; padding: 0; list-style: none; }
.td-step { display: grid; grid-template-columns: auto 1fr; gap: clamp(18px, 2.4vw, 28px); padding-block: clamp(24px, 2.8vw, 34px); border-top: 1px solid var(--line); }
.td-step:first-child { border-top: 0; padding-top: 0; }
.td-step-n {
	width: 40px; height: 40px; border-radius: var(--r-full); display: grid; place-items: center; flex: none;
	font-size: .8125rem; font-weight: 600; background: rgba(255, 255, 255, .07); border: 1px solid var(--line-2);
	color: var(--txt); font-variant-numeric: tabular-nums;
}
.td-step-n--wide { font-size: .6875rem; }
.td-step-t { margin: 0; font-size: 1.1875rem; line-height: 1.35; letter-spacing: -.012em; font-weight: 600; color: var(--txt); }
.td-step-p { margin: 8px 0 0; font-size: .9375rem; line-height: 1.6; color: var(--txt-2); }
.td-step-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }

.td-steps--compact .td-step { padding-block: 14px; }
.td-steps--compact .td-step:first-child { padding-top: 0; }
.td-steps--compact .td-step:last-child { padding-bottom: 0; }
.td-steps--compact .td-step-n { width: 34px; height: 34px; font-size: .75rem; }
.td-steps--compact .td-step-t { font-size: .9375rem; }
.td-steps--compact .td-step-p { margin-top: 3px; font-size: .8125rem; line-height: 1.5; color: var(--txt-3); }

.td-steps--tiles { gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; }
.td-steps--tiles .td-step { display: flex; gap: 14px; padding: 16px 20px; border: 0; background: var(--surf-3); }
.td-steps--tiles .td-step:first-child { padding-top: 16px; }
.td-steps--tiles .td-step-n { width: auto; min-width: 22px; height: auto; display: block; background: none; border: 0; border-radius: 0; color: var(--acc); font-weight: 680; font-size: .8125rem; line-height: 1.6; }
.td-steps--tiles .td-step-t { font-size: .9375rem; }
.td-steps--tiles .td-step-p { margin-top: 3px; font-size: .8125rem; line-height: 1.5; color: var(--txt-3); }

/* ------------------------------------------------------------
   KEY / VALUE
   ------------------------------------------------------------ */
.td-kvbox--flat { background: rgba(255, 255, 255, .04); border: 1px solid var(--line); border-radius: var(--r-md); padding: 20px; }
.td-kvbox-h { margin-top: 8px; font-size: clamp(1.3rem, 1.9vw, 1.6rem); line-height: 1.2; letter-spacing: -.016em; font-weight: 600; color: #fff; }
.td-kv { display: grid; grid-template-columns: auto 1fr; gap: 9px 20px; margin: 12px 0 0; font-size: .875rem; }
.td-kv dt { color: var(--txt-3); }
.td-kv dd { margin: 0; font-weight: 500; color: var(--txt); font-variant-numeric: tabular-nums; }
.td-kv .td-kv-acc { color: var(--acc); }
.td-kvbox--divided .td-kv { margin-top: 18px; padding-block: 18px; border-block: 1px solid var(--line); }
.td-kvbox-note { margin: 12px 0 0; font-size: .8125rem; line-height: 1.5; color: var(--txt-3); }

/* ------------------------------------------------------------
   FINANCIAL STATEMENT
   ------------------------------------------------------------ */
.td-stmt { border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; background: var(--surf-3); }
.td-stmt-h { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 18px 22px; border-bottom: 1px solid var(--line); flex-wrap: wrap; }
.td-stmt-title { font-size: 1.1875rem; line-height: 1.35; letter-spacing: -.012em; font-weight: 600; color: var(--txt); }
.td-stmt-scroll { overflow-x: auto; }
.td-stmt-scroll:focus-visible { outline-offset: -2px; }
.td-stmt table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: .875rem; margin: 0; }
.td-stmt th, .td-stmt td { border: 0; }
.td-stmt thead th { text-align: left; font-size: .6875rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--txt-3); padding: 12px 22px; border-bottom: 1px solid var(--line); background: rgba(255, 255, 255, .02); }
.td-stmt thead th:not(:first-child), .td-stmt td { text-align: right; }
.td-stmt tbody th, .td-stmt td { padding: 11px 22px; border-bottom: 1px solid var(--line); font-weight: 400; }
.td-stmt tbody th { text-align: left; color: var(--txt); }
.td-stmt td { font-variant-numeric: tabular-nums; color: var(--txt-2); }
.td-stmt tr:last-child th, .td-stmt tr:last-child td { border-bottom: 0; }
.td-stmt .sub th { color: var(--txt-2); padding-left: 38px; }
.td-stmt .sub td { color: var(--txt-3); }
.td-stmt .tot th, .td-stmt .tot td { font-weight: 600; background: rgba(255, 255, 255, .035); color: var(--txt); }
.td-stmt .grand { background: var(--acc-soft); }
.td-stmt .grand th, .td-stmt .grand td { font-weight: 600; color: var(--txt); background: transparent; border-bottom: 0; }
.td-stmt .grand td { color: var(--acc); }

/* ------------------------------------------------------------
   NESTED TABS → pill segmented control (driven by Elementor's own variables)
   ------------------------------------------------------------ */
.elementor-widget-n-tabs.td-tabs {
	--n-tabs-gap: 26px;
	--n-tabs-title-gap: 3px;
	--n-tabs-heading-justify-content: flex-start;
	--n-tabs-heading-wrap: nowrap;
	--n-tabs-title-color: var(--txt-2);
	--n-tabs-title-color-hover: var(--txt);
	--n-tabs-title-color-active: var(--txt);
	--n-tabs-title-background-color: transparent;
	--n-tabs-title-background-color-hover: transparent;
	--n-tabs-title-background-color-active: var(--surf-5);
	--n-tabs-title-padding-top: 0px;
	--n-tabs-title-padding-bottom: 0px;
	--n-tabs-title-padding-left: 17px;
	--n-tabs-title-padding-right: 17px;
	--n-tabs-title-border-radius: 980px;
	--n-tabs-title-font-size: .8125rem;
	--n-tabs-title-height: 34px;
	--n-tabs-title-white-space: nowrap;
	--n-tabs-title-flex-shrink: 0;
	--n-tabs-border-width: 0px;
}
.elementor-widget-n-tabs.td-tabs .e-n-tabs-heading {
	padding: 4px; margin: 0 auto; width: max-content; max-width: 100%;
	background: rgba(255, 255, 255, .06); border: 1px solid var(--line); border-radius: var(--r-full);
	overflow-x: auto; scrollbar-width: none;
}
.elementor-widget-n-tabs.td-tabs .e-n-tab-title { font-family: inherit; font-weight: 450; line-height: 1; box-shadow: none; border: 0; }
.elementor-widget-n-tabs.td-tabs .e-n-tab-title-text { font-weight: inherit; }
.elementor-widget-n-tabs.td-tabs .e-n-tabs-content > .e-con { border: 0; }

/* ------------------------------------------------------------
   TESTIMONIAL
   ------------------------------------------------------------ */
.td-quote {
	display: flex; flex-direction: column; height: 100%; margin: 0;
	background: var(--surf-3); border: 1px solid var(--line); border-radius: var(--r-lg); padding: clamp(22px, 2.4vw, 30px);
}
.td-stars { display: flex; gap: 2px; color: var(--amber); margin-bottom: 16px; }
.td-quote blockquote { margin: 0; padding: 0; border: 0; }
.td-quote blockquote p { margin: 0; font-size: 1.0625rem; line-height: 1.55; letter-spacing: -.014em; color: var(--txt); font-style: normal; }
.td-quote-ft { display: flex; align-items: center; gap: 13px; margin-top: auto; padding-top: 22px; }
.td-quote-ft > span:last-child { display: flex; flex-direction: column; }
.td-quote-name { font-size: .875rem; font-weight: 620; color: var(--txt); }
.td-av {
	width: 40px; height: 40px; border-radius: var(--r-full); display: grid; place-items: center; flex: none;
	font-size: .8125rem; font-weight: 600; letter-spacing: -.01em; background: var(--surf-5); color: var(--txt);
	border: 1px solid var(--line-2); object-fit: cover;
}
.td-av--lg { width: 54px; height: 54px; font-size: 1.0625rem; }

/* ------------------------------------------------------------
   PRICING
   ------------------------------------------------------------ */
.td-billing { display: flex; flex-direction: column; align-items: center; gap: 18px; }
.td-billing .td-small { margin: 0; text-align: center; }
.td-toggle { display: inline-flex; align-items: center; gap: 3px; padding: 4px; background: rgba(255, 255, 255, .06); border: 1px solid var(--line); border-radius: var(--r-full); }
.td-toggle button {
	height: 34px; padding: 0 18px; border: 0; background: transparent; border-radius: var(--r-full);
	font-family: inherit; font-size: .8125rem; font-weight: 450; line-height: 1; color: var(--txt-2); cursor: pointer;
	transition: all var(--t) var(--ease); display: inline-flex; align-items: center; justify-content: center; gap: 7px;
}
.td-toggle button:hover { color: var(--txt); background: transparent; }
.td-toggle button[aria-pressed="true"] { background: var(--surf-5); color: var(--txt); }
.td-save { font-size: .625rem; font-weight: 700; color: var(--acc); background: var(--acc-soft); padding: 2px 7px; border-radius: var(--r-xs); }

.td-plan {
	position: relative; display: flex; flex-direction: column; height: 100%;
	background: var(--surf-3); border: 1px solid var(--line); border-radius: var(--r-lg); padding: clamp(22px, 2.4vw, 30px);
}
.td-plan--pop { border-color: var(--acc-soft-2); background: linear-gradient(180deg, rgba(48, 213, 131, .07) 0%, var(--surf-3) 42%); }
.td-plan-flag {
	position: absolute; top: -12px; left: 50%; transform: translateX(-50%); background: var(--acc); color: var(--acc-ink);
	font-size: .625rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 5px 13px; border-radius: var(--r-full); white-space: nowrap;
}
.td-plan-pitch { margin: 12px 0 0; font-size: 1.0625rem; font-weight: 450; line-height: 1.45; letter-spacing: -.01em; color: var(--txt-2); text-wrap: balance; }
.td-price { display: flex; align-items: flex-start; gap: 3px; margin: 20px 0 6px; }
.td-price-c { font-size: 1.375rem; font-weight: 500; margin-top: 5px; color: var(--txt-2); }
.td-price-v { font-size: clamp(2.4rem, 4vw, 3.1rem); font-weight: 600; letter-spacing: -.045em; line-height: 1; font-variant-numeric: tabular-nums; color: var(--txt); }
.td-price-p { font-size: .9375rem; color: var(--txt-3); align-self: flex-end; padding-bottom: 7px; }
.td-plan-note { margin: 0; }
.td-plan-note[hidden] { display: none; }
.td-plan .td-btn { margin-top: 24px; width: 100%; }
.td-plan-feats { display: flex; flex-direction: column; gap: 11px; padding: 22px 0 0; margin: 22px 0 0; border-top: 1px solid var(--line); flex: 1; list-style: none; }
.td-plan-feats li { display: flex; gap: 10px; font-size: .875rem; line-height: 1.5; color: var(--txt-2); margin: 0; }
.td-plan-feats li .td-ic { width: 15px; height: 15px; margin-top: 3px; color: var(--txt-3); }
.td-plan-feats li b { color: var(--txt); font-weight: 600; }
.td-plan-text { margin: 0; font-size: .9375rem; line-height: 1.6; color: var(--txt-2); }
.td-plan--compact .td-price { margin-bottom: 10px; }

/* Add-on price line */
.td-addon {
	display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; height: 100%;
	background: var(--surf-3); border: 1px solid var(--line); border-radius: var(--r-lg); padding: clamp(22px, 2.4vw, 30px);
}
.td-addon-t { margin: 0; font-size: 1.1875rem; line-height: 1.35; letter-spacing: -.012em; font-weight: 600; color: var(--txt); }
.td-addon .td-small { margin: 5px 0 0; }
.td-addon-price { text-align: right; flex: none; }
.td-addon-v { font-size: 1.25rem; font-weight: 650; letter-spacing: -.03em; color: var(--txt); font-variant-numeric: tabular-nums; }

/* ------------------------------------------------------------
   COMPARISON TABLE
   ------------------------------------------------------------ */
.td-cmp-scroll { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--surf-3); }
.td-cmp-scroll:focus-visible { outline-offset: -2px; }
.td-cmp { width: 100%; min-width: 740px; border-collapse: collapse; font-size: .875rem; margin: 0; }
.td-cmp th, .td-cmp td { padding: 14px 20px; border: 0; border-bottom: 1px solid var(--line); text-align: left; color: var(--txt-2); font-weight: 400; vertical-align: middle; }
.td-cmp thead th { background: rgba(255, 255, 255, .03); font-size: .75rem; font-weight: 600; color: var(--txt); letter-spacing: -.004em; }
.td-cmp th:not(:first-child), .td-cmp td { text-align: center; width: 172px; }
.td-cmp tbody tr:hover { background: rgba(255, 255, 255, .02); }
.td-cmp tbody th { color: var(--txt); font-weight: 450; }
.td-cmp tr.grp { background: var(--surf-5); }
.td-cmp tr.grp th { background: transparent; color: var(--txt); font-size: .6875rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; padding: 10px 20px; text-align: left; }
.td-cmp tbody tr:last-child th, .td-cmp tbody tr:last-child td { border-bottom: 0; }
.td-cmp .v { font-variant-numeric: tabular-nums; color: var(--txt-2); }
.td-cmp .v b { color: var(--txt); font-weight: 600; }
.td-yes { color: var(--acc); display: inline-block; }
.td-yes .td-ic { display: inline-block; vertical-align: middle; }
.td-no { color: var(--txt-3); display: inline-block; }
.td-cmp-note { margin: 14px 0 0; }

/* ------------------------------------------------------------
   FAQ
   ------------------------------------------------------------ */
.td-faq { border-top: 1px solid var(--line); }
.td-faq details { border-bottom: 1px solid var(--line); }
.td-faq summary {
	list-style: none; cursor: pointer; padding: 24px 46px 24px 0; position: relative;
	font-size: 1.0625rem; font-weight: 500; line-height: 1.45; letter-spacing: -.014em; color: var(--txt);
	transition: color var(--t) var(--ease);
}
.td-faq summary::-webkit-details-marker { display: none; }
.td-faq summary:hover { color: var(--acc); }
.td-faq summary::after {
	content: ""; position: absolute; right: 8px; top: 50%; width: 10px; height: 10px; margin-top: -6px;
	border-right: 1.6px solid currentColor; border-bottom: 1.6px solid currentColor; transform: rotate(45deg);
	transition: transform var(--t) var(--ease); opacity: .4;
}
.td-faq details[open] summary::after { transform: rotate(225deg); opacity: .75; }
.td-ans { padding: 0 10% 26px 0; color: var(--txt-2); font-size: .9375rem; line-height: 1.65; }
.td-ans p { margin: 0; }
.td-ans p + p { margin-top: .8em; }

/* ------------------------------------------------------------
   TEAM
   ------------------------------------------------------------ */
.td-person { height: 100%; background: var(--surf-3); border: 1px solid var(--line); border-radius: var(--r-lg); padding: clamp(22px, 2.4vw, 30px); }
.td-person .td-av { margin-bottom: 18px; }
.td-person-name { margin: 0; font-size: 1.1875rem; line-height: 1.35; letter-spacing: -.012em; font-weight: 600; color: var(--txt); }
.td-person-role { margin: 3px 0 0; font-size: .8125rem; line-height: 1.5; font-weight: 600; color: var(--acc); }
.td-person-bio { margin: 10px 0 0; }

/* ------------------------------------------------------------
   BREADCRUMBS
   ------------------------------------------------------------ */
.td-crumbs { display: flex; align-items: center; gap: 9px; font-size: .75rem; color: var(--txt-3); }
.td-crumbs a { color: var(--txt-3); transition: color var(--t) var(--ease); }
.td-crumbs a:hover { color: var(--txt); }
.td-crumbs [aria-current] { color: #fff; }

/* ------------------------------------------------------------
   CONTACT
   ------------------------------------------------------------ */
.td-contact-item { display: flex; gap: 12px; align-items: center; color: inherit; text-decoration: none; }
.td-contact-txt { display: flex; flex-direction: column; }
.td-contact-txt b { font-size: .9375rem; font-weight: 600; color: var(--txt); font-variant-numeric: tabular-nums; }
a.td-contact-item:hover b { color: var(--acc); }

.td-map {
	display: block; position: relative; overflow: hidden; aspect-ratio: 16 / 10; border-radius: var(--r-md); border: 1px solid var(--line);
	background:
		linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px) 0 0 / 38px 38px,
		linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px) 0 0 / 38px 38px,
		#0E0E11;
}
.td-map-pin { position: absolute; top: var(--td-pin-y, 46%); left: var(--td-pin-x, 52%); transform: translate(-50%, -100%); }
.td-map-pin i { display: block; width: 12px; height: 12px; border-radius: 50%; background: var(--acc); box-shadow: 0 0 0 6px rgba(48, 213, 131, .20), 0 0 0 14px rgba(48, 213, 131, .08); }

/* ------------------------------------------------------------
   FORM
   ------------------------------------------------------------ */
.td-form-title { margin: 0; font-size: clamp(1.3rem, 1.9vw, 1.6rem); line-height: 1.2; letter-spacing: -.016em; font-weight: 600; color: var(--txt); }
.td-form-intro { margin: 8px 0 0; font-size: .9375rem; line-height: 1.6; color: var(--txt-2); }
.td-form hr.td-hr { height: 1px; background: var(--line); border: 0; margin: 24px 0; }
.td-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.td-form-grid--tight { gap: 10px; margin-top: 4px; }
.td-field { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.td-field > label, .td-fieldset > legend { font-size: .8125rem; font-weight: 600; letter-spacing: -.004em; color: var(--txt); }
.td-fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.td-fieldset > legend { padding: 0; margin-bottom: 8px; }
.td-hint { font-size: .75rem; color: var(--txt-3); font-weight: 400; }
.td-reqd { color: var(--rose); }
.td-inp, .td-sel, .td-ta {
	width: 100%; height: 46px; padding: 0 15px; border: 1px solid var(--line-2); border-radius: var(--r-sm);
	background: rgba(255, 255, 255, .04); color: var(--txt); font-family: inherit; font-size: .9375rem;
	transition: border-color var(--t) var(--ease), box-shadow var(--t) var(--ease), background var(--t) var(--ease);
}
.td-ta { height: auto; min-height: 118px; padding: 13px 15px; resize: vertical; line-height: 1.6; }
.td-inp:focus, .td-sel:focus, .td-ta:focus { outline: 0; border-color: var(--acc); background: rgba(255, 255, 255, .06); box-shadow: 0 0 0 3px rgba(48, 213, 131, .18); }
.td-inp::placeholder, .td-ta::placeholder { color: #6E6E73; }
.td-sel { appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23A1A1A6' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 15px center; padding-right: 40px; }
.td-sel option { background: #1D1D1F; color: #F5F5F7; }
.td-field.is-invalid .td-inp, .td-field.is-invalid .td-sel { border-color: var(--rose); }
.td-chk {
	display: flex; align-items: flex-start; gap: 11px; padding: 13px 15px; border: 1px solid var(--line); border-radius: var(--r-sm);
	cursor: pointer; transition: all var(--t) var(--ease); background: rgba(255, 255, 255, .03); font-weight: 400;
}
.td-chk:hover { border-color: var(--line-2); background: rgba(255, 255, 255, .06); }
.td-chk input { width: 16px; height: 16px; margin: 2px 0 0; accent-color: var(--acc); flex: none; }
.td-chk span { font-size: .875rem; color: var(--txt-2); line-height: 1.45; }
.td-chk:has(input:checked) { border-color: var(--acc-soft-2); background: var(--acc-soft); }
.td-chk:has(input:checked) span { color: var(--txt); }
.td-field--msg { margin-top: 22px; }
.td-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.td-form-foot { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; justify-content: space-between; }
.td-form-note { margin: 0; max-width: 280px; font-size: .75rem; color: var(--txt-3); line-height: 1.6; }
.td-form-msg:not(:empty) { margin-top: 18px; }
.td-form-alert { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px; border-radius: 12px; font-size: .875rem; line-height: 1.5; }
.td-form-alert strong { font-size: .9375rem; }
.td-form-alert--ok { background: rgba(48, 213, 131, .10); border: 1px solid rgba(48, 213, 131, .28); color: #7DE9B4; }
.td-form-alert--err { background: rgba(255, 107, 127, .10); border: 1px solid rgba(255, 107, 127, .30); color: #FF9BAA; }
.td-form button[disabled] { opacity: .6; cursor: progress; }

/* ------------------------------------------------------------
   SCROLL REVEAL (td-rv) — never hides content without JS or in the editor
   ------------------------------------------------------------ */
html.js body:not(.elementor-editor-active) .td-rv:not(.td-in) { opacity: 0; transform: translateY(22px); }
.td-rv { transition: opacity var(--t-slow) var(--ease), transform var(--t-slow) var(--ease), border-color var(--t) var(--ease), background var(--t) var(--ease); }

/* ------------------------------------------------------------
   RESPONSIVE (Elementor breakpoints: tablet ≤1024, mobile ≤767)
   ------------------------------------------------------------ */
@media (max-width: 1024px) {
	.e-con.td-plans { max-width: 440px; margin-inline: auto; }
	.td-plans > .elementor-element:has(.td-plan--pop),
	.td-plans > .e-con-inner > .elementor-element:has(.td-plan--pop) { order: -1; }
	.td-stats--specs .td-stats-item:nth-child(odd) { border-left: 0; }
	.td-stats--specs .td-stats-item:nth-child(n+3) { border-top: 1px solid var(--line); }
}
@media (max-width: 767px) {
	.td-panel-kpis { grid-template-columns: 1fr; }
	.td-ans { padding-right: 0; }
	.td-step { grid-template-columns: 1fr; gap: 16px; }
	.td-step-n { width: 34px; height: 34px; }
	.td-steps--compact .td-step { grid-template-columns: auto 1fr; }
	.td-form-grid { grid-template-columns: 1fr; }
	.td-stats--specs .td-stats-item { border-left: 0; }
	.td-stats--specs .td-stats-item:nth-child(n+2) { border-top: 1px solid var(--line); }
	.td-row { gap: 10px; padding: 12px 14px; }
	.td-addon { flex-direction: column; }
	.td-addon-price { text-align: left; }
}
@media (max-width: 520px) {
	.elementor-widget-button.td-btn,
	.elementor-widget-button.td-btn .elementor-button { width: 100%; }
	.td-toggle { width: 100%; }
	.td-toggle button { flex: 1; }
	.td-form-foot .td-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
	.td-marq-track { animation: none; }
	html.js body:not(.elementor-editor-active) .td-rv:not(.td-in) { opacity: 1; transform: none; }
}
@media print {
	.td-marq { display: none; }
	.td-rv { opacity: 1 !important; transform: none !important; }
}
