/* ==========================================================================
   Three Links - styles for Elementor widgets (add these CSS classes in
   Elementor → widget → Advanced → CSS Classes to reuse the brand look).
   tle-eyebrow · tle-h1 · tle-h2 · tle-lead · tle-btn · tle-btn--secondary ·
   tle-link · tle-points · tle-arch · tle-inset · tle-band · tle-step ·
   tle-step-num · tle-step-title · tle-trust · tle-cta · tle-muted-bg
   ========================================================================== */
.tle-page { overflow-x: clip; }
.tle-page .e-con { --container-max-width: 1320px; }
.tle-page .elementor-widget:not(:last-child) { margin-block-end: 0; }

/* Typography */
.tle-eyebrow .elementor-heading-title { font-family: var(--sans); font-size: 11.5px !important; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--ink-2); line-height: 1.4; }
.tle-h1 .elementor-heading-title { font-family: var(--sans); font-size: clamp(38px, 5vw, 72px); font-weight: 600; letter-spacing: -.03em; line-height: 1.04; color: var(--ink); text-wrap: balance; }
.tle-h2 .elementor-heading-title { font-family: var(--sans); font-size: clamp(28px, 3.2vw, 44px); font-weight: 600; letter-spacing: -.025em; line-height: 1.12; color: var(--ink); text-wrap: balance; }
.tle-h3 .elementor-heading-title { font-family: var(--sans); font-size: 19px; font-weight: 600; letter-spacing: -.01em; line-height: 1.3; color: var(--ink); }
.tle-lead, .tle-lead p { font-size: clamp(16px, 1.3vw, 18px); line-height: 1.7; color: var(--ink-2); max-width: 46ch; margin: 0; }
.tle-text, .tle-text p { font-size: 15px; line-height: 1.65; color: var(--ink-2); margin: 0; }

/* Buttons */
.tle-btn .elementor-button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 30px; background: var(--ink); color: var(--white); border: 1px solid var(--ink); border-radius: var(--radius); font-family: var(--sans); font-size: 12px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; transition: background-color .25s var(--ease); }
.tle-btn .elementor-button:hover, .tle-btn .elementor-button:focus { background: #000; color: var(--white); }
.tle-btn--secondary .elementor-button { background: var(--white); color: var(--ink); }
.tle-btn--secondary .elementor-button:hover, .tle-btn--secondary .elementor-button:focus { background: var(--bg-2); color: var(--ink); }
.tle-link .elementor-button { background: none; padding: 0 0 3px; min-height: 0; color: var(--ink); border: 0; border-bottom: 1px solid var(--line-strong); border-radius: 0; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.tle-link .elementor-button:hover { border-color: var(--ink); color: var(--ink); background: none; }

/* Hero */
.elementor .tle-points { margin-top: 28px; }
.tle-points .elementor-icon-list-items { display: flex; flex-wrap: wrap; gap: 10px 26px; padding-top: 22px; border-top: 1px solid var(--line); margin: 0 !important; }
.tle-points .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
.tle-points .elementor-icon-list-text { font-size: 14px; font-weight: 500; color: var(--ink); padding-left: 8px; }
.tle-points .elementor-icon-list-icon i, .tle-points .elementor-icon-list-icon svg { color: var(--ok); fill: var(--ok); font-size: 14px; width: 14px; }
.elementor .tle-arch img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; max-height: 560px; object-position: 72% 50%; border-radius: 999px 999px var(--radius-md) var(--radius-md); background: var(--bg-3); box-shadow: var(--shadow-soft); }
.tle-inset { position: absolute !important; left: -9%; bottom: -40px; width: 40% !important; z-index: 2; }
.elementor .tle-inset { background: var(--white); padding: 10px; border: 1px solid var(--line); box-shadow: var(--shadow-soft); }
.elementor .tle-inset img { aspect-ratio: 1; object-fit: cover; width: 100%; }
.tle-inset .widget-image-caption { margin: 8px 2px 0; font-size: 11px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--ink-2); text-align: left; }
@media (max-width: 767px) { .tle-inset { left: 0; width: 46% !important; bottom: -24px; } }

/* Bands and cards */
.tle-band { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--bg-1); }
.tlt-areas__inner--embed { display: flex; align-items: center; justify-content: space-between; gap: 16px 32px; flex-wrap: wrap; }
.tle-step { background: var(--white); border: 1px solid var(--line); border-radius: var(--radius-md); }
.tle-step-num .elementor-heading-title { display: inline-flex; width: 40px; height: 40px; align-items: center; justify-content: center; border-radius: 50%; background: var(--ink); color: var(--white) !important; font-size: 15px !important; font-weight: 600; }
.tle-trust .elementor-icon-box-icon .elementor-icon { width: 48px; height: 48px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--n-1); border-radius: 50%; font-size: 20px; color: var(--ink); }
.tle-trust .elementor-icon-box-title { font-size: 17px; font-weight: 600; margin: 4px 0 6px; color: var(--ink); }
.tle-trust .elementor-icon-box-description { font-size: 14.5px; color: var(--ink-2); line-height: 1.6; }
.tle-trust-row > .e-con { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.tle-trust-row > .e-con + .e-con { border-left: 1px solid var(--line); }
@media (max-width: 1024px) { .tle-trust-row > .e-con + .e-con { border-left: 0; } }
.tle-muted-bg { background: var(--bg-1); }
.tle-page .tlt-visit { height: 100%; }

/* Hero: photo fills the whole hero, white fade behind the text (Elementor classes tle-hero / tle-hero-media) */
.elementor .tle-hero { position: relative; overflow: hidden; min-height: 640px; }
.elementor .tle-hero > .e-con-inner { position: static; }
.elementor .tle-hero-media { position: absolute !important; inset: 0 0 0 34%; width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; z-index: 0; }
.elementor .tle-hero-media .elementor-widget-image, .elementor .tle-hero-media .elementor-widget-image > *, .elementor .tle-hero-media img { width: 100%; height: 100% !important; max-height: none !important; aspect-ratio: auto !important; object-fit: cover; object-position: 50% 50%; border-radius: 0 !important; box-shadow: none !important; }
.elementor .tle-hero-media::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, #fff 0%, #fff 4%, rgba(255,255,255,.85) 16%, rgba(255,255,255,.35) 32%, rgba(255,255,255,0) 48%); }
.elementor .tle-hero > .e-con-inner > .e-con:first-child, .elementor .tle-hero > .e-con:first-child { position: relative; z-index: 1; }
@media (max-width: 1024px) {
	.tle-hero .tle-points .elementor-icon-list-items { flex-direction: column; gap: 10px; }
	.tle-hero .tle-points .elementor-icon-list-item { padding: 0 !important; border-left: 0; }
}
@media (max-width: 767px) {
	.elementor .tle-hero { min-height: 0; }
	.elementor .tle-hero-media { position: relative !important; inset: auto; height: 300px; margin-top: 24px !important; }
	.elementor .tle-hero-media::after { background: none; }
}
.elementor .tle-points .elementor-icon-list-items { padding-top: 26px !important; }

/* Hero ticks: no divider line */
.elementor .tle-points .elementor-icon-list-items { border-top: 0 !important; padding-top: 4px !important; }

/* Space between hero and the distributor band */
.elementor .tle-hero { margin-bottom: 72px; }
@media (max-width: 767px) { .elementor .tle-hero { margin-bottom: 48px; } }

/* Dark section (How it works) */
.elementor .tle-dark { background: var(--ink); border: 0; }
.tle-dark .tle-eyebrow .elementor-heading-title { color: #b9b9b9; }
.tle-dark .tle-h2 .elementor-heading-title, .tle-dark .tle-h3 .elementor-heading-title { color: var(--white); }
.tle-dark .tle-step { background: #2b2b2b; border-color: #3a3a3a; }
.tle-dark .tle-text, .tle-dark .tle-text p { color: #c9c9c9; }
.tle-dark .tle-step-num .elementor-heading-title { background: var(--white); color: var(--ink) !important; }

/* Trust row on the light band */
.tle-band .tle-trust-row > .e-con { border-top: 0; border-bottom: 0; }

/* Visit or reach us: compact two-column card */
.tle-page .tlt-visit { height: auto; padding: 24px 26px; }
.tle-page .tlt-visit__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
.tle-page .tlt-visit__list > div { padding: 10px 0; }
.tle-page .tlt-visit__list dd { font-size: 14.5px; overflow-wrap: anywhere; }
@media (max-width: 560px) { .tle-page .tlt-visit__list { grid-template-columns: 1fr; } }

/* ==========================================================================
   Premium dark skin for the Elementor homepage
   Section classes: tle-hero · tle-areas-sec · tle-ivory · tle-dark ·
   tle-trust-sec · tle-cta-sec
   ========================================================================== */

/* Hero: full-bleed photo under a dark fade, white type */
.elementor .tle-hero { background: var(--night); margin-bottom: 0; min-height: 700px; }
.elementor .tle-hero-media { inset: 0 !important; }
.elementor .tle-hero-media img { object-position: 70% 50%; }
.elementor .tle-hero-media::after { background:
	linear-gradient(90deg, rgba(14,13,12,.95) 0%, rgba(14,13,12,.86) 30%, rgba(14,13,12,.45) 58%, rgba(14,13,12,.15) 100%),
	linear-gradient(0deg, rgba(14,13,12,.85) 0%, rgba(14,13,12,0) 30%); }
.tle-hero .tle-eyebrow .elementor-heading-title { color: var(--cream); }
.tle-hero .tle-h1 .elementor-heading-title { color: var(--white); }
.tle-hero .tle-lead, .tle-hero .tle-lead p { color: #d7d0c6; }
.tle-hero .tle-points .elementor-icon-list-items { gap: 0; padding-top: 28px !important; }
.tle-hero .tle-points .elementor-icon-list-item { padding: 4px 22px !important; border-left: 1px solid var(--line-dark); }
.tle-hero .tle-points .elementor-icon-list-item:first-child { padding-left: 0 !important; border-left: 0; }
.tle-hero .tle-points .elementor-icon-list-text { color: var(--on-dark); font-size: 13.5px; }
.tle-hero .tle-points .elementor-icon-list-icon i, .tle-hero .tle-points .elementor-icon-list-icon svg { color: var(--cream); fill: var(--cream); }

/* Buttons on dark backgrounds: cream primary, white outline secondary */
.tle-hero .tle-btn .elementor-button, .tle-dark .tle-btn .elementor-button, .tle-cta-sec .tle-btn .elementor-button { background: var(--cream); border-color: var(--cream); color: var(--night); }
.tle-hero .tle-btn .elementor-button:hover, .tle-dark .tle-btn .elementor-button:hover, .tle-cta-sec .tle-btn .elementor-button:hover { background: var(--cream-2); border-color: var(--cream-2); color: var(--night); }
.tle-hero .tle-btn--secondary .elementor-button, .tle-dark .tle-btn--secondary .elementor-button, .tle-cta-sec .tle-btn--secondary .elementor-button { background: transparent; border-color: rgba(255,255,255,.55); color: var(--white); }
.tle-hero .tle-btn--secondary .elementor-button:hover, .tle-dark .tle-btn--secondary .elementor-button:hover, .tle-cta-sec .tle-btn--secondary .elementor-button:hover { background: rgba(255,255,255,.08); border-color: var(--white); color: var(--white); }
/* Light sections: near-black primary */
.tle-ivory .tle-btn .elementor-button { background: var(--night); border-color: var(--night); }

/* Distributor band - continues the dark hero */
.elementor .tle-areas-sec { background: var(--night-2); border-top: 1px solid var(--line-dark); }
.tle-areas-sec .tlt-areas__title { color: var(--on-dark); }
.tle-areas-sec .tlt-areas__title .tl-icon { color: var(--cream); }
.tle-areas-sec .tlt-areas__list li { background: transparent; border-color: var(--line-dark); color: var(--on-dark); }

/* Ivory content sections */
.elementor .tle-ivory { background: var(--ivory); }

/* Dark sections (How it works, Why us, closing) */
.elementor .tle-dark, .elementor .tle-trust-sec, .elementor .tle-cta-sec { background: var(--night); border: 0; }
.tle-dark .tle-eyebrow .elementor-heading-title, .tle-trust-sec .tle-eyebrow .elementor-heading-title, .tle-cta-sec .tle-eyebrow .elementor-heading-title { color: var(--cream); }
.tle-dark .tle-h2 .elementor-heading-title, .tle-dark .tle-h3 .elementor-heading-title, .tle-cta-sec .tle-h2 .elementor-heading-title { color: var(--white); }
.tle-dark .tle-step { background: var(--night-3); border-color: var(--line-dark); }
.tle-dark .tle-text, .tle-dark .tle-text p, .tle-cta-sec .tle-lead, .tle-cta-sec .tle-lead p { color: var(--on-dark-2); }
.tle-dark .tle-step-num .elementor-heading-title { background: var(--cream); color: var(--night) !important; }
.tle-dark .tle-link .elementor-button, .tle-trust-sec .tle-link .elementor-button { color: var(--white); border-bottom-color: var(--cream); }
.tle-trust-sec .tle-trust-row > .e-con { border-top: 0; border-bottom: 0; }
.tle-trust-sec .tle-trust-row > .e-con + .e-con { border-left-color: var(--line-dark); }
.tle-trust-sec .tle-trust .elementor-icon-box-icon .elementor-icon { border-color: var(--line-dark); color: var(--cream); }
.tle-trust-sec .tle-trust .elementor-icon-box-icon .elementor-icon svg { fill: var(--cream); }
.tle-trust-sec .tle-trust .elementor-icon-box-title { color: var(--white); }
.tle-trust-sec .tle-trust .elementor-icon-box-description { color: var(--on-dark-2); }
.tle-cta-sec .tlt-visit { background: var(--night-3); border-color: var(--line-dark); }
.tle-cta-sec .tlt-visit__title { color: var(--cream); }
.tle-cta-sec .tlt-visit__list > div { border-top-color: var(--line-dark); }
.tle-cta-sec .tlt-visit__list dt { color: var(--on-dark-2); }
.tle-cta-sec .tlt-visit__list dt .tl-icon { color: var(--cream); }
.tle-cta-sec .tlt-visit__list dd, .tle-cta-sec .tlt-visit__list a { color: var(--on-dark); }

/* Reviews / FAQ on ivory */
.tle-ivory .tlt-reviews__write { background: var(--white); border-color: transparent; }

/* ---------- Phones: balanced spacing, aligned full-width buttons ---------- */
@media (max-width: 1024px) {
	.tle-hero .tle-points .elementor-icon-list-items { flex-direction: column; gap: 10px; }
	.tle-hero .tle-points .elementor-icon-list-item { padding: 0 !important; border-left: 0; }
}
@media (max-width: 767px) {
	.elementor .tle-hero { min-height: 0; }
	.elementor .tle-hero-media { position: absolute !important; inset: 0 !important; height: auto; margin: 0 !important; }
	.elementor .tle-hero-media::after { background: linear-gradient(180deg, rgba(14,13,12,.72) 0%, rgba(14,13,12,.82) 55%, rgba(14,13,12,.95) 100%); }
	.tle-hero .tle-points .elementor-icon-list-items { flex-direction: column; gap: 10px; padding-top: 20px !important; }
	.tle-hero .tle-points .elementor-icon-list-item { padding: 0 !important; border-left: 0; }
	.tle-page .e-con:has(> .elementor-widget-button.tle-btn) { flex-direction: column !important; align-items: stretch !important; width: 100% !important; gap: 12px !important; }
	.tle-page .elementor-widget-button.tle-btn { width: 100% !important; max-width: 100%; }
	.tle-page .tle-btn .elementor-button { width: 100%; justify-content: center; }
	.tle-page .elementor-widget-button.tle-link { width: auto !important; }
	.tle-page .tle-h1 .elementor-heading-title { font-size: 36px; }
	.tle-page .tle-h2 .elementor-heading-title { font-size: 28px; }
	.tle-areas-sec .tlt-areas__inner--embed { flex-direction: column; align-items: flex-start; }
	.tle-areas-sec .tlt-areas__list { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tle-areas-sec .tlt-areas__list li { text-align: center; }
	.tle-trust-sec .tle-trust-row > .e-con { border-left: 0 !important; border-top: 1px solid var(--line-dark) !important; }
	.tle-trust-sec .tle-trust-row > .e-con:first-child { border-top: 0 !important; }
}
@media (max-width: 767px) { .elementor .tle-hero .tle-points { margin-top: 4px; } .tle-hero .tle-points .elementor-icon-list-items { padding-top: 12px !important; } }
