/* ==========================================================================
   sl-global.css — Sendora shared foundation (design rebuild, 2026-08)
   Loaded only on sl_ page templates and on the blog templates
   (see sl_enqueue_assets() in functions.php).

   THE single source for everything shared across pages: design tokens, the
   scoped reset, the heading-colour rules, buttons, eyebrow pills, the master
   header, the mobile menu, the master footer, the hero shell, the ticker,
   the CTA band, the section-title system, chips, cards and components that
   appear on two or more pages. Page stylesheets (sl-home.css, sl-about.css …)
   carry ONLY what is unique to that one page.

   Everything is scoped under .sl-site (or body.sl-page) so nothing can reach
   Astra defaults or Elementor pages.

   Responsive model: the approved design is desktop-first. Base rules are the
   desktop layout; @media (max-width: 1024px) and (max-width: 768px) step it
   down. This is the structure the signed-off comps ship with.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Design tokens
   -------------------------------------------------------------------------- */
:root {
	/* Brand tokens */
	--sl-black: #000000;
	--sl-white: #ffffff;
	--sl-green: #39FF14;

	/* Surface + accent values used by the approved design.
	   --sl-ink is a near-black (not pure #000) and --sl-lime is the softer
	   accent green the comps were signed off with. */
	--sl-ink: #0a0a0b;
	--sl-panel: #131314;
	--sl-lime: #a6f22e;
	--sl-lime-dark: #6fae13;
	--sl-lime-soft: #c9ff90;
	--sl-paper: #f4f4f0;
	--sl-paper-2: #ecece6;

	/* Layout */
	--sl-header-h: 77px;
	--sl-max: 1280px;

	/* Motion + type */
	--sl-ease: cubic-bezier(.2, .7, .2, 1);
	--sl-font: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

/* --------------------------------------------------------------------------
   Scoped reset / page shell
   -------------------------------------------------------------------------- */
.sl-site,
.sl-site *,
.sl-site *::before,
.sl-site *::after { box-sizing: border-box; }

body.sl-page {
	margin: 0;
	background: var(--sl-paper);
	scroll-behavior: smooth;
}

.sl-site {
	background: var(--sl-paper);
	color: var(--sl-ink);
	font-family: var(--sl-font);
	line-height: 1.4;
	-webkit-font-smoothing: antialiased;
}

.sl-site img { max-width: 100%; }
.sl-site a { color: var(--sl-ink); }
.sl-site a:hover { color: var(--sl-lime-dark); }
.sl-site ::selection { background: var(--sl-lime); color: var(--sl-ink); }

/* ==========================================================================
   HEADING COLOURS — site-wide, all sl- pages
   --------------------------------------------------------------------------
   Astra sets a global heading colour from the Customizer at a specificity
   that beats inheritance, so headings must be coloured directly. Rather than
   naming every class per page (which broke when pages were added), the rule
   is: default all headings to ink, then flip to white only inside sections
   that actually have a dark background, then back to ink inside the lime
   bands. Colour comes from the SECTION WRAPPER, never from a class on the
   heading itself — that is what caused invisible white headings before.
   Scoped to body.sl-page .sl-site — Astra and Elementor pages untouched.
   ========================================================================== */

/* Default: ink. Correct on every light (--sl-paper / white) section. */
body.sl-page .sl-site h1,
body.sl-page .sl-site h2,
body.sl-page .sl-site h3,
body.sl-page .sl-site h4,
body.sl-page .sl-site h5,
body.sl-page .sl-site h6 { color: var(--sl-ink); }

/* White: headings sitting on a dark (ink / panel / #010101) background.
   One line per dark section wrapper used anywhere in the build. */
body.sl-page .sl-site .sl-hero :where(h1,h2,h3,h4,h5,h6),
body.sl-page .sl-site .sl-hero-note :where(h1,h2,h3,h4,h5,h6),
body.sl-page .sl-site .sl-offers :where(h1,h2,h3,h4,h5,h6),
body.sl-page .sl-site .sl-showcase :where(h1,h2,h3,h4,h5,h6),
body.sl-page .sl-site .sl-method :where(h1,h2,h3,h4,h5,h6),
body.sl-page .sl-site .sl-angle :where(h1,h2,h3,h4,h5,h6),
body.sl-page .sl-site .sl-fit :where(h1,h2,h3,h4,h5,h6),
body.sl-page .sl-site .sl-how :where(h1,h2,h3,h4,h5,h6),
body.sl-page .sl-site .sl-faq :where(h1,h2,h3,h4,h5,h6),
body.sl-page .sl-site .sl-process :where(h1,h2,h3,h4,h5,h6),
body.sl-page .sl-site .sl-reviews-dark :where(h1,h2,h3,h4,h5,h6),
body.sl-page .sl-site .sl-pcomm :where(h1,h2,h3,h4,h5,h6),
body.sl-page .sl-site .sl-pstep-dark :where(h1,h2,h3,h4,h5,h6),
body.sl-page .sl-site .sl-case-back :where(h1,h2,h3,h4,h5,h6),
body.sl-page .sl-site .sl-carousel-caption :where(h1,h2,h3,h4,h5,h6),
body.sl-page .sl-site .sl-footer :where(h1,h2,h3,h4,h5,h6),
body.sl-page .sl-site .sl-mobile-menu :where(h1,h2,h3,h4,h5,h6),
body.sl-page .sl-site [data-sl-dark] :where(h1,h2,h3,h4,h5,h6),
body.sl-page .sl-site .sl-on-dark :where(h1,h2,h3,h4,h5,h6) { color: #fff; }

/* Lime bands want ink text, not white. Comes AFTER the dark rule so it wins
   at equal specificity wherever a lime band sits inside a dark stretch. */
body.sl-page .sl-site .sl-cta-card :where(h1,h2,h3,h4,h5,h6),
body.sl-page .sl-site .sl-pmap :where(h1,h2,h3,h4,h5,h6),
body.sl-page .sl-site .sl-pneed :where(h1,h2,h3,h4,h5,h6),
body.sl-page .sl-site .sl-stats :where(h1,h2,h3,h4,h5,h6) { color: var(--sl-ink); }

/* --------------------------------------------------------------------------
   Header (fixed, glassy) — markup: template-parts/sl-header.php
   The nav is a wp_nav_menu <ul class="sl-nav-list">, so links are addressed
   as .sl-nav-list a, not as bare anchors.
   -------------------------------------------------------------------------- */
.sl-header {
	position: fixed;
	top: 0; left: 0; right: 0;
	z-index: 120;
	background: rgba(10, 10, 11, .6);
	-webkit-backdrop-filter: blur(20px) saturate(150%);
	backdrop-filter: blur(20px) saturate(150%);
	border-bottom: 1px solid rgba(166, 242, 46, .18);
	box-shadow: 0 10px 40px rgba(0, 0, 0, .28);
}
.sl-header-inner {
	max-width: var(--sl-max);
	margin: 0 auto;
	min-height: 50px;
	padding: 13px clamp(14px, 4vw, 44px);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
}
.sl-header-spacer { height: var(--sl-header-h); }

.sl-site .sl-logo { display: flex; align-items: center; flex-shrink: 0; }
.sl-logo-img { height: 50px; width: auto; display: block; }

.sl-nav { display: flex; align-items: center; }
.sl-nav-list {
	display: flex;
	align-items: center;
	gap: clamp(16px, 2.2vw, 30px);
	list-style: none;
	margin: 0;
	padding: 0;
}
.sl-nav-list li { margin: 0; }
.sl-site .sl-nav-list a {
	color: rgba(255, 255, 255, .75);
	text-decoration: none;
	font-size: 15px;
	transition: color .2s ease;
}
.sl-site .sl-nav-list a:hover { color: var(--sl-lime); }
.sl-site .sl-nav-list .current-menu-item > a,
.sl-site .sl-nav-list .current_page_item > a,
.sl-site .sl-nav-list a.sl-is-current { color: var(--sl-lime); font-weight: 600; }

.sl-burger {
	display: none;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 5px;
	width: 44px;
	height: 44px;
	flex-shrink: 0;
	padding: 0;
	border-radius: 14px;
	border: 1px solid rgba(166, 242, 46, .4);
	background: rgba(166, 242, 46, .12);
	cursor: pointer;
}
.sl-burger span { width: 18px; height: 2px; background: var(--sl-lime); border-radius: 2px; display: block; }

/* --------------------------------------------------------------------------
   Mobile menu overlay — markup: template-parts/sl-header.php
   -------------------------------------------------------------------------- */
.sl-mobile-menu {
	position: fixed;
	inset: 0;
	z-index: 200;
	background: rgba(10, 10, 11, .97);
	-webkit-backdrop-filter: blur(18px);
	backdrop-filter: blur(18px);
	padding: 16px clamp(18px, 6vw, 44px) 24px;
	display: flex;
	flex-direction: column;
	animation: slFade .2s ease both;
	overflow-y: auto;
}
.sl-mobile-menu[hidden] { display: none; }
.sl-mobile-menu-head { display: flex; align-items: center; justify-content: space-between; }
.sl-mobile-menu-logo { height: 30px; width: auto; display: block; }

.sl-icon-close {
	width: 44px; height: 44px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, .2);
	background: transparent;
	color: #fff;
	font-size: 18px;
	cursor: pointer;
}

.sl-mobile-menu-nav { display: flex; flex-direction: column; margin-top: 28px; }
.sl-mobile-menu-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.sl-site .sl-mobile-menu-list a,
.sl-site .sl-mobile-menu-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 17px 20px;
	border-radius: 16px;
	background: rgba(255, 255, 255, .05);
	color: #fff;
	text-decoration: none;
	font-size: 17px;
	font-weight: 600;
	border: none;
	font-family: inherit;
	animation: slFadeUp .35s var(--sl-ease) both;
}
.sl-mobile-menu-list a::after { content: "\2192"; color: var(--sl-lime); }
.sl-mobile-menu-list li:nth-child(1) a { animation-delay: .04s; }
.sl-mobile-menu-list li:nth-child(2) a { animation-delay: .09s; }
.sl-mobile-menu-list li:nth-child(3) a { animation-delay: .14s; }
.sl-mobile-menu-list li:nth-child(4) a { animation-delay: .19s; }
.sl-mobile-menu-list li:nth-child(5) a { animation-delay: .24s; }
.sl-mobile-menu-list li:nth-child(6) a { animation-delay: .29s; }
.sl-mobile-menu-list li:nth-child(7) a { animation-delay: .34s; }
.sl-site .sl-mobile-menu-list .current-menu-item > a,
.sl-site .sl-mobile-menu-list .current_page_item > a {
	background: rgba(166, 242, 46, .12);
	border: 1px solid rgba(166, 242, 46, .35);
	color: var(--sl-lime);
}
.sl-site .sl-mobile-menu-cta {
	justify-content: center;
	gap: 10px;
	margin-top: 10px;
	padding: 18px 20px;
	background: var(--sl-lime);
	color: var(--sl-ink);
	font-weight: 800;
	cursor: pointer;
	animation-delay: .4s;
}
.sl-site .sl-mobile-menu-cta:hover { background: var(--sl-lime); color: var(--sl-ink); }
.sl-mobile-menu-foot {
	margin-top: auto;
	padding-top: 26px;
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: space-between;
	align-items: center;
}
.sl-site .sl-mobile-menu-foot a { color: rgba(255, 255, 255, .65); text-decoration: none; font-size: 13px; }
.sl-site .sl-mobile-menu-foot a:hover { color: var(--sl-lime); }
.sl-tag { font-size: 11px; letter-spacing: .2em; color: rgba(255, 255, 255, .4); }

/* --------------------------------------------------------------------------
   Footer — markup: template-parts/sl-footer.php
   The new design replaces the single email link with a social row
   (Instagram + LinkedIn). Nav is a wp_nav_menu <ul class="sl-footer-list">.
   -------------------------------------------------------------------------- */
.sl-footer {
	background: var(--sl-ink);
	color: #fff;
	padding: clamp(30px, 4vw, 52px) clamp(18px, 5vw, 56px) clamp(20px, 2.4vw, 30px);
}
.sl-footer-top {
	max-width: var(--sl-max);
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: clamp(18px, 3vw, 36px);
}
.sl-footer-logo { height: 30px; width: auto; display: block; }
.sl-footer-nav { display: flex; }
.sl-footer-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: clamp(14px, 2.2vw, 28px);
}
.sl-site .sl-footer-list a {
	color: rgba(255, 255, 255, .7);
	text-decoration: none;
	font-size: 15px;
	transition: color .2s ease;
}
.sl-site .sl-footer-list a:hover { color: var(--sl-lime); }
.sl-site .sl-footer-list .current-menu-item > a,
.sl-site .sl-footer-list .current_page_item > a { color: var(--sl-lime); }

.sl-footer-social { display: flex; align-items: center; gap: 10px; }
.sl-site .sl-footer-social a {
	display: inline-flex;
	align-items: center;
	padding: 7px 14px;
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 999px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .01em;
	color: rgba(255, 255, 255, .72);
	text-decoration: none;
	transition: border-color .18s ease, color .18s ease, background .18s ease;
}
.sl-site .sl-footer-social a:hover {
	color: var(--sl-ink);
	background: var(--sl-lime);
	border-color: var(--sl-lime);
}
.sl-footer-bottom {
	max-width: var(--sl-max);
	margin: 22px auto 0;
	padding-top: 18px;
	border-top: 1px solid rgba(255, 255, 255, .1);
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: space-between;
	align-items: center;
	font-size: 13px;
	color: rgba(255, 255, 255, .45);
}
.sl-footer-bottom .sl-tag { color: rgba(255, 255, 255, .35); }

/* --------------------------------------------------------------------------
   Shared components, converted from the approved design
   -------------------------------------------------------------------------- */
.sl-site ::selection {
	background: var(--sl-lime); color: var(--sl-ink);
}
.sl-site .sl-wrap {
	max-width: var(--sl-max); margin: 0 auto;
}
.sl-site .sl-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	border: none;
	border-radius: 999px;
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	cursor: pointer;
	white-space: nowrap;
	padding: 12px 22px;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease;
}
.sl-site .sl-btn-lg {
	font-size: 16px; padding: 16px 28px;
}
.sl-site .sl-btn-lime {
	background: var(--sl-lime); color: var(--sl-ink);
}
.sl-site .sl-btn-lime:hover {
	color: var(--sl-ink); transform: translateY(-2px); box-shadow: 0 12px 30px rgba(166, 242, 46, .35);
}
.sl-site .sl-btn-lg.sl-btn-lime:hover {
	transform: translateY(-3px); box-shadow: 0 16px 40px rgba(166, 242, 46, .35);
}
.sl-site .sl-btn-dark {
	background: var(--sl-ink); color: var(--sl-lime);
}
.sl-site .sl-btn-dark:hover {
	color: var(--sl-lime); transform: translateY(-2px);
}
.sl-site .sl-btn-ghost {
	border: 1px solid rgba(166, 242, 46, .45);
	background: rgba(166, 242, 46, .08);
	color: #fff;
	font-weight: 700;
}
.sl-site .sl-btn-ghost:hover {
	color: #fff;
	border-color: var(--sl-lime);
	background: rgba(166, 242, 46, .18);
	transform: translateY(-2px);
}
.sl-site .sl-btn-outline-dark {
	border: 1px solid rgba(10, 10, 11, .3);
	color: var(--sl-ink);
	font-weight: 600;
}
.sl-site .sl-btn-outline-dark:hover {
	color: var(--sl-ink); border-color: var(--sl-ink);
}
.sl-site .sl-link-btn {
	background: none;
	border: none;
	padding: 0;
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	color: var(--sl-lime);
	text-decoration: underline;
	cursor: pointer;
}
.sl-site .sl-link-btn:hover {
	opacity: .75;
}
.sl-site .sl-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	border-radius: 999px;
	padding: 7px 16px;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .22em;
}
.sl-site .sl-eyebrow .sl-dot {
	width: 7px; height: 7px; border-radius: 50%; display: block;
}
.sl-site .sl-eyebrow-light {
	border: 1px solid rgba(255, 255, 255, .32); color: rgba(255, 255, 255, .96);
}
.sl-site .sl-eyebrow-light .sl-dot {
	background: var(--sl-lime);
}
.sl-site .sl-eyebrow-dark {
	border: 1px solid rgba(10, 10, 11, .3); color: rgba(10, 10, 11, .92);
}
.sl-site .sl-eyebrow-dark .sl-dot {
	background: var(--sl-lime-dark);
}
.sl-site .sl-eyebrow-onlime {
	border: 1px solid rgba(10, 10, 11, .38); color: var(--sl-ink);
}
.sl-site .sl-hero {
	position: relative;
	background: var(--sl-ink);
	color: #fff;
	padding: clamp(40px, 6vw, 86px) clamp(18px, 5vw, 56px);
	overflow: hidden;
	display: flex;
	align-items: center;
	min-height: clamp(400px, 46vw, 600px);
}
.sl-site .sl-hero-glow {
	position: absolute;
	top: -220px;
	right: -140px;
	width: min(620px, 92vw);
	height: min(620px, 92vw);
	border-radius: 50%;
	background: radial-gradient(circle, rgba(166, 242, 46, .14) 0%, rgba(166, 242, 46, 0) 62%);
	pointer-events: none;
}
.sl-site .sl-hero-inner {
	position: relative; max-width: var(--sl-max); margin: 0 auto; width: 100%;
}
.sl-site .sl-hero-content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 18px;
	animation: slFadeUp .7s var(--sl-ease) both;
}
.sl-site .sl-hero-title {
	margin: 0;
	font-size: clamp(46px, 9vw, 116px);
	line-height: .92;
	font-weight: 800;
	letter-spacing: -.03em;
}
.sl-site .sl-hero-sub {
	margin: 0;
	max-width: 540px;
	font-size: clamp(15.5px, 1.5vw, 18px);
	line-height: 1.65;
	color: rgba(255, 255, 255, .66);
	text-wrap: pretty;
}
.sl-site .sl-hero-actions {
	display: flex; flex-wrap: wrap; gap: 12px; margin-top: 2px;
}
.sl-site .sl-facts {
	display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px;
}
.sl-site .sl-fact {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border: 1px solid rgba(255, 255, 255, .14);
	background: rgba(255, 255, 255, .04);
	border-radius: 999px;
	padding: 9px 16px;
	font-size: 13.5px;
	color: rgba(255, 255, 255, .75);
}
.sl-site .sl-fact b {
	color: var(--sl-lime); font-weight: 800;
}
.sl-site .sl-ticker {
	background: var(--sl-lime); color: var(--sl-ink); overflow: hidden; padding: 10px 0;
}
.sl-site .sl-ticker-track {
	display: flex; width: max-content; animation: slMarquee 30s linear infinite; white-space: nowrap;
}
.sl-site .sl-ticker-group {
	display: flex;
	gap: 36px;
	padding-right: 36px;
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: .18em;
}
.sl-site .sl-chips {
	list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 7px;
}
.sl-site .sl-chips li {
	font-size: 13.5px;
	padding: 7px 14px;
	border-radius: 999px;
	background: var(--sl-paper);
	color: rgba(10, 10, 11, .75);
}
.sl-site .sl-section-title {
	margin: 16px 0 0;
	font-size: clamp(28px, 4vw, 54px);
	font-weight: 800;
	letter-spacing: -.02em;
	line-height: 1.05;
	max-width: 720px;
}
.sl-site .sl-section-title-narrow {
	max-width: 660px;
}
.sl-site .sl-cta {
	background: var(--sl-paper); padding: clamp(28px, 4vw, 56px) clamp(14px, 4vw, 56px);
}
.sl-site .sl-cta-card {
	max-width: var(--sl-max);
	margin: 0 auto;
	position: relative;
	background: var(--sl-lime);
	color: var(--sl-ink);
	border-radius: clamp(22px, 3vw, 36px);
	padding: clamp(38px, 5vw, 84px) clamp(20px, 4vw, 56px);
	text-align: center;
	overflow: hidden;
}
.sl-site .sl-cta-halo {
	position: absolute;
	top: -120px;
	left: 50%;
	transform: translateX(-50%);
	width: min(520px, 90%);
	height: 240px;
	background: radial-gradient(ellipse, rgba(255, 255, 255, .5), transparent 70%);
	pointer-events: none;
}
.sl-site .sl-cta-content {
	position: relative;
}
.sl-site .sl-cta-title {
	margin: 16px auto 0;
	max-width: 720px;
	font-size: clamp(30px, 4.6vw, 62px);
	font-weight: 800;
	letter-spacing: -.025em;
	line-height: 1.04;
}
.sl-site .sl-cta-sub {
	margin: 14px auto 0;
	max-width: 460px;
	font-size: 16px;
	line-height: 1.65;
	color: rgba(10, 10, 11, .68);
}
.sl-site .sl-cta-actions {
	display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 24px;
}
.sl-site .sl-cta-actions .sl-btn {
	font-size: clamp(15px, 1.6vw, 17px); padding: 17px 30px; word-break: break-word;
}
.sl-site .sl-hero-worldmap {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	opacity: .62;
	-webkit-mask-image: radial-gradient(ellipse 92% 82% at 50% 46%, #000 30%, transparent 100%);
	mask-image: radial-gradient(ellipse 92% 82% at 50% 46%, #000 30%, transparent 100%);
}
.sl-site .sl-hero-worldmap svg {
	width: 100%; height: 100%; display: block;
}
@media (max-width: 900px) {
	.sl-site .sl-hero-worldmap {
		opacity: .5;
	}
}

.sl-site .sl-hero > .sl-hero-inner,
.sl-site .sl-hero > .sl-hero-content {
	position: relative; z-index: 2;
}
.sl-site .sl-reveal {
	opacity: 0;
	transition: opacity .75s var(--sl-ease), transform .75s var(--sl-ease);
}
.sl-site .sl-reveal[data-sl-reveal="left"] {
	transform: translateX(-34px);
}
.sl-site .sl-reveal[data-sl-reveal="right"] {
	transform: translateX(34px);
}
.sl-site .sl-reveal[data-sl-reveal="up"] {
	transform: translateY(30px);
}
.sl-site .sl-reveal.sl-is-visible {
	opacity: 1; transform: none;
}
@keyframes slMarquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@keyframes slFadeUp { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
@keyframes slPopIn { from { opacity: 0; transform: translateY(18px) scale(.97); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes slFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes slGridPulse { 0%, 100% { opacity: .55; } 50% { opacity: 1; } }
@keyframes slPulse { 0%, 100% { opacity: 1; } 50% { opacity: .25; } }
@keyframes slBeam { 0% { transform: translateX(-30vw) skewX(-18deg); opacity: 0; } 12% { opacity: 1; } 88% { opacity: 1; } 100% { transform: translateX(120vw) skewX(-18deg); opacity: 0; } }
@media (max-width: 768px) {
	.sl-site .sl-facts {
		display: none;
	}
	.sl-site .sl-hero {
		min-height: 0;
		padding: 36px 20px 44px;
		background-position: center;
	}
	.sl-site .sl-hero-title {
		font-size: clamp(46px, 15vw, 74px);
	}
	.sl-site .sl-hero-sub {
		font-size: 16px;
	}
	.sl-site .sl-hero-actions {
		width: 100%; gap: 10px;
	}
	.sl-site .sl-hero-actions .sl-btn {
		flex: 1 1 100%;
	}
	.sl-site .sl-ticker-group {
		gap: 26px; padding-right: 26px; font-size: 11.5px;
	}
	.sl-site .sl-cta {
		padding: 26px 14px 26px;
	}
	.sl-site .sl-cta-card {
		padding: 38px 20px;
	}
	.sl-site .sl-cta-actions .sl-btn {
		width: 100%;
	}
}

.sl-site .sl-hero-grid {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image:
	linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px),
	linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px);
	background-size: 74px 74px;
	-webkit-mask-image: radial-gradient(ellipse 90% 80% at 28% 42%, #000 0%, transparent 76%);
	mask-image: radial-gradient(ellipse 90% 80% at 28% 42%, #000 0%, transparent 76%);
	animation: slGridPulse 7s ease-in-out infinite;
}
.sl-site .sl-hero-glow-2 {
	position: absolute;
	bottom: clamp(-260px, -22vw, -140px);
	left: -150px;
	width: min(520px, 88vw);
	height: min(520px, 88vw);
	border-radius: 50%;
	background: radial-gradient(circle, rgba(166, 242, 46, .1) 0%, rgba(166, 242, 46, 0) 62%);
	pointer-events: none;
}
.sl-site .sl-hero-beam {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 160px;
	pointer-events: none;
	background: linear-gradient(90deg, transparent, rgba(166, 242, 46, .12) 45%, rgba(255, 255, 255, .06) 55%, transparent);
	filter: blur(14px);
	animation: slBeam 11s linear infinite;
}
.sl-site .sl-dot-pulse {
	animation: slPulse 1.8s ease-in-out infinite;
}
.sl-site .sl-meet {
	background: var(--sl-paper); padding: clamp(48px, 6vw, 96px) clamp(20px, 5vw, 56px);
}
.sl-site .sl-promise-grid {
	max-width: var(--sl-max);
	margin: clamp(26px, 3.4vw, 54px) auto 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}
.sl-site .sl-promise {
	background: var(--sl-white);
	border-radius: clamp(18px, 2vw, 26px);
	padding: clamp(24px, 2.6vw, 34px);
	display: flex;
	flex-direction: column;
	gap: 13px;
	transition: transform .35s var(--sl-ease), box-shadow .35s ease;
}
.sl-site .sl-promise:hover {
	transform: translateY(-6px); box-shadow: 0 22px 48px rgba(10, 10, 11, .1);
}
.sl-site .sl-promise-num {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--sl-ink);
	color: var(--sl-lime);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .06em;
}
.sl-site .sl-promise h3 {
	margin: 0; font-size: 21px; font-weight: 700; letter-spacing: -.015em;
}
.sl-site .sl-promise p {
	margin: 0; font-size: 15px; line-height: 1.65; color: rgba(10, 10, 11, .62); text-wrap: pretty;
}
.sl-site .sl-how-lede {
	margin: 14px 0 0; max-width: 620px; font-size: 16px; line-height: 1.65; color: rgba(255, 255, 255, .6); text-wrap: pretty;
}
.sl-site .sl-stats {
	background: var(--sl-lime); color: var(--sl-ink); padding: clamp(40px, 5vw, 72px) clamp(20px, 5vw, 56px);
}
.sl-site .sl-stats-inner {
	max-width: var(--sl-max);
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(18px, 3vw, 40px);
}
.sl-site .sl-stat-num {
	font-size: clamp(42px, 5vw, 76px); font-weight: 800; letter-spacing: -.04em; line-height: 1; font-variant-numeric: tabular-nums;
}
.sl-site .sl-stat-rule {
	border-top: 2px solid rgba(10, 10, 11, .75); margin: 14px 0 10px;
}
.sl-site .sl-stat-label {
	font-size: 16.5px; font-weight: 700; letter-spacing: -.01em;
}
.sl-site .sl-stat-note {
	margin: 5px 0 0; font-size: 13.5px; line-height: 1.55; color: rgba(10, 10, 11, .62);
}
.sl-site .sl-reviews {
	background: var(--sl-paper); padding: clamp(48px, 6vw, 96px) clamp(20px, 5vw, 56px);
}
.sl-site .sl-stars {
	font-size: 15px; letter-spacing: 3px; color: var(--sl-lime-dark);
}
.sl-site .sl-star-off {
	color: rgba(10, 10, 11, .2);
}
.sl-site .sl-proof-badge {
	align-self: flex-start;
	font-size: 11.5px;
	font-weight: 800;
	letter-spacing: .2em;
	color: var(--sl-ink);
	background: var(--sl-lime);
	border-radius: 999px;
	padding: 7px 14px;
}
.sl-site .sl-proof-rows {
	display: flex; flex-wrap: wrap; gap: clamp(20px, 4vw, 56px);
}
.sl-site .sl-proof-rows span {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 14px;
	color: rgba(255, 255, 255, .6);
}
.sl-site .sl-proof-rows b {
	font-size: clamp(26px, 3vw, 36px); font-weight: 800; letter-spacing: -.025em; color: var(--sl-lime);
}
.sl-site .sl-fit {
	position: relative;
	overflow: hidden;
	background: var(--sl-ink);
	color: #fff;
	padding: clamp(48px, 6vw, 96px) clamp(20px, 5vw, 56px);
	border-radius: clamp(22px, 3vw, 40px) clamp(22px, 3vw, 40px) 0 0;
	margin-top: -1px;
}
.sl-site .sl-fit .sl-wrap {
	position: relative; z-index: 1;
}
.sl-site .sl-fit-grid {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: clamp(24px, 3vw, 40px);
}
.sl-site .sl-fit-card {
	background: var(--sl-panel);
	border: 1px solid rgba(255, 255, 255, .08);
	border-radius: clamp(18px, 2vw, 26px);
	padding: clamp(24px, 2.6vw, 34px);
	transition: transform .3s ease, border-color .3s ease;
}
.sl-site .sl-fit-card:hover {
	transform: translateY(-5px);
}
.sl-site .sl-fit-card-yes:hover {
	border-color: rgba(166, 242, 46, .45);
}
.sl-site .sl-fit-card h3 {
	margin: 0; font-size: clamp(20px, 2.2vw, 26px); font-weight: 700; letter-spacing: -.015em;
}
.sl-site .sl-fit-list {
	list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-direction: column;
}
.sl-site .sl-fit-list li {
	display: flex;
	gap: 11px;
	align-items: flex-start;
	padding: 13px 0;
	border-top: 1px solid rgba(255, 255, 255, .09);
	font-size: 15px;
	line-height: 1.55;
	color: rgba(255, 255, 255, .62);
}
.sl-site .sl-fit-list li i {
	font-style: normal; font-weight: 800; color: var(--sl-lime);
}
.sl-site .sl-fit-card-no .sl-fit-list li i {
	color: rgba(255, 255, 255, .3);
}
.sl-site .sl-fit-note {
	margin: 22px 0 0; font-size: 15px; color: rgba(255, 255, 255, .55);
}
@media (max-width: 1024px) {
	.sl-site .sl-reveal[data-sl-reveal="left"],
	.sl-site .sl-reveal[data-sl-reveal="right"] {
		transform: translateY(18px);
	}
	.sl-site .sl-meet,
	.sl-site .sl-reviews,
	.sl-site .sl-fit {
		padding: 56px 28px;
	}
	.sl-site .sl-stats {
		padding: 48px 28px;
	}
	.sl-site .sl-promise-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.sl-site .sl-stats-inner {
		grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px;
	}
}

@media (max-width: 768px) {
	.sl-site .sl-hero-grid {
		background-size: 56px 56px;
	}
	.sl-site .sl-hero-beam {
		display: none;
	}
	.sl-site .sl-meet,
	.sl-site .sl-reviews,
	.sl-site .sl-fit {
		padding: 40px 20px;
	}
	.sl-site .sl-promise-grid,
	.sl-site .sl-fit-grid {
		grid-template-columns: 1fr;
	}
	.sl-site .sl-promise,
	.sl-site .sl-fit-card {
		padding: 24px 20px;
	}
	.sl-site .sl-proof-rows {
		gap: 22px;
	}
	.sl-site .sl-promise:hover,
	.sl-site .sl-fit-card:hover {
		transform: none; box-shadow: none;
	}
	.sl-site .sl-stats {
		padding: 36px 20px;
	}
	.sl-site .sl-stats-inner {
		grid-template-columns: 1fr; gap: 22px;
	}
	.sl-site .sl-stat-num {
		font-size: 52px;
	}
	.sl-site .sl-reveal[data-sl-reveal="left"],
	.sl-site .sl-reveal[data-sl-reveal="right"] {
		transform: translateY(18px);
	}
}

.sl-site .sl-cases-lede {
	margin: 14px 0 0; max-width: 660px; font-size: 16px; line-height: 1.65; color: rgba(10, 10, 11, .6); text-wrap: pretty;
}
.sl-site .sl-cases-foot {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 14px;
	margin: clamp(22px, 2.6vw, 32px) 0 0;
}
.sl-site .sl-hero-title-tight {
	font-size: clamp(38px, 6.4vw, 96px);
	line-height: .98;
	letter-spacing: -.035em;
	max-width: 15ch;
}
.sl-site .sl-method-close {
	margin: clamp(24px, 3vw, 38px) 0 0;
	max-width: 760px;
	font-size: clamp(17px, 1.9vw, 21px);
	line-height: 1.5;
	font-weight: 600;
	letter-spacing: -.01em;
	color: #fff;
	text-wrap: pretty;
}
.sl-site .sl-angle-claim {
	margin: clamp(26px, 3.4vw, 46px) 0 0;
	padding: clamp(22px, 2.6vw, 34px);
	border-left: 3px solid var(--sl-lime);
	background: rgba(166, 242, 46, .07);
	border-radius: 0 clamp(14px, 1.6vw, 20px) clamp(14px, 1.6vw, 20px) 0;
	font-size: clamp(17px, 2vw, 23px);
	line-height: 1.5;
	font-weight: 600;
	letter-spacing: -.015em;
	color: #fff;
	max-width: 900px;
	text-wrap: pretty;
}
.sl-site .sl-cta-scarcity {
	margin: 14px auto 0; max-width: 520px; font-size: 15px; font-weight: 700; color: rgba(10, 10, 11, .75);
}
.sl-site .sl-cta-founder {
	margin: 16px auto 0; font-size: 14px; color: rgba(10, 10, 11, .55);
}
.sl-site .sl-case {
	background: var(--sl-white);
	border: 1px solid rgba(10, 10, 11, .08);
	border-radius: clamp(18px, 2vw, 26px);
	overflow: hidden;
	transition: border-color .3s ease, box-shadow .3s ease, opacity .25s ease, transform .25s ease;
}
.sl-site .sl-case:hover {
	border-color: rgba(10, 10, 11, .2); box-shadow: 0 18px 40px rgba(10, 10, 11, .07);
}
.sl-site .sl-case.sl-is-open {
	grid-column: 1 / -1; border-color: var(--sl-lime-dark); box-shadow: 0 24px 56px rgba(10, 10, 11, .12);
}
.sl-site .sl-case.sl-is-hidden {
	display: none;
}
.sl-site .sl-case.sl-is-leaving {
	opacity: 0; transform: scale(.97);
}
.sl-site .sl-case-head {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 9px;
	width: 100%;
	padding: clamp(24px, 2.6vw, 34px);
	background: none;
	border: none;
	font: inherit;
	text-align: left;
	cursor: pointer;
	color: var(--sl-ink);
}
.sl-site .sl-case-tag {
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--sl-ink);
	background: rgba(166, 242, 46, .3);
	border-radius: 999px;
	padding: 6px 13px;
}
.sl-site .sl-case-meta {
	font-size: 13.5px; letter-spacing: .04em; color: rgba(10, 10, 11, .5);
}
.sl-site .sl-case-lift {
	font-size: 15px; font-weight: 700; color: var(--sl-lime-dark);
}
.sl-site .sl-case-rev {
	font-size: clamp(34px, 4.4vw, 60px);
	font-weight: 800;
	letter-spacing: -.035em;
	line-height: 1;
	font-variant-numeric: tabular-nums;
}
.sl-site .sl-lightbox {
	position: fixed;
	inset: 0;
	z-index: 400;
	background: rgba(10, 10, 11, .92);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 14px;
	padding: clamp(16px, 3vw, 40px);
	animation: slFade .2s ease both;
}
.sl-site .sl-lightbox[hidden] {
	display: none;
}
.sl-site .sl-lightbox-figure {
	margin: 0;
	max-width: 100%;
	max-height: 100%;
	display: flex;
	flex-direction: column;
	gap: 12px;
	align-items: center;
}
.sl-site .sl-lightbox-figure img {
	max-width: 100%;
	max-height: 78vh;
	width: auto;
	display: block;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 30px 90px rgba(0, 0, 0, .6);
	object-fit: contain;
}
.sl-site .sl-lightbox-figure figcaption {
	font-size: 14px;
	line-height: 1.5;
	color: rgba(255, 255, 255, .7);
	text-align: center;
	max-width: 620px;
}
.sl-site .sl-lightbox-close {
	position: absolute;
	top: clamp(14px, 2vw, 26px);
	right: clamp(14px, 2vw, 26px);
	width: 46px;
	height: 46px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, .22);
	background: rgba(255, 255, 255, .07);
	color: #fff;
	font: inherit;
	font-size: 17px;
	cursor: pointer;
	transition: background .2s ease, border-color .2s ease, color .2s ease;
}
.sl-site .sl-lightbox-close:hover {
	background: rgba(166, 242, 46, .18); border-color: var(--sl-lime); color: var(--sl-lime);
}
.sl-site .sl-lightbox-hint {
	font-size: 12.5px; letter-spacing: .16em; color: rgba(255, 255, 255, .35);
}
.sl-site .sl-method {
	background: var(--sl-ink);
	color: #fff;
	padding: clamp(48px, 6vw, 96px) clamp(20px, 5vw, 56px);
	border-radius: clamp(22px, 3vw, 40px) clamp(22px, 3vw, 40px) 0 0;
}
.sl-site .sl-method-rows {
	display: flex; flex-direction: column; margin-top: clamp(24px, 3vw, 40px);
}
.sl-site .sl-method-row {
	display: grid;
	grid-template-columns: 92px minmax(0, 1fr);
	gap: clamp(16px, 3vw, 40px);
	padding: clamp(24px, 3vw, 36px) 0;
	border-top: 1px solid rgba(255, 255, 255, .1);
	transition: background .3s ease;
}
.sl-site .sl-method-row:first-child {
	border-top: none;
}
.sl-site .sl-method-num {
	font-size: clamp(38px, 4.4vw, 62px); font-weight: 800; letter-spacing: -.04em; line-height: .9; color: #fff;
}
.sl-site .sl-method-row h3 {
	margin: 0 0 10px; display: flex; align-items: center; gap: 12px; font-size: clamp(21px, 2.4vw, 30px); font-weight: 700; letter-spacing: -.02em;
}
.sl-site .sl-method-row .sl-glyph {
	color: var(--sl-lime); font-size: .8em;
}
.sl-site .sl-method-row p {
	margin: 0; font-size: 15.5px; line-height: 1.7; color: rgba(255, 255, 255, .6); max-width: 720px; text-wrap: pretty;
}
.sl-site .sl-angle {
	background: var(--sl-ink);
	color: #fff;
	padding: clamp(48px, 6vw, 96px) clamp(20px, 5vw, 56px);
	border-radius: clamp(22px, 3vw, 40px) clamp(22px, 3vw, 40px) 0 0;
}
.sl-site .sl-angle-title {
	margin: 14px 0 0;
	font-size: clamp(30px, 4.6vw, 64px);
	font-weight: 800;
	letter-spacing: -.03em;
	line-height: 1.02;
	max-width: 1000px;
	text-wrap: balance;
}
.sl-site .sl-angle-cols {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(18px, 3vw, 44px);
	margin-top: clamp(26px, 3.4vw, 46px);
}
.sl-site .sl-angle-cols p {
	margin: 0; font-size: 16px; line-height: 1.75; color: rgba(255, 255, 255, .64); text-wrap: pretty;
}
.sl-site .sl-angle-cols p:first-child {
	color: #fff; font-size: clamp(17px, 1.9vw, 21px); line-height: 1.5; font-weight: 600; letter-spacing: -.01em;
}
.sl-site .sl-faq {
	background: var(--sl-ink);
	color: #fff;
	padding: clamp(48px, 6vw, 96px) clamp(20px, 5vw, 56px);
}
.sl-site .sl-faq-list {
	margin-top: clamp(24px, 3vw, 40px);
}
.sl-site .sl-faq-item {
	border-top: 1px solid rgba(255, 255, 255, .1);
}
.sl-site .sl-faq-item:last-child {
	border-bottom: 1px solid rgba(255, 255, 255, .1);
}
.sl-site .sl-faq-q {
	width: 100%;
	min-height: 44px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 22px 0;
	background: none;
	border: none;
	font: inherit;
	font-size: clamp(17px, 1.9vw, 21px);
	font-weight: 700;
	letter-spacing: -.015em;
	text-align: left;
	color: #fff;
	cursor: pointer;
}
.sl-site .sl-faq-icon {
	flex: none;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .08);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-style: normal;
	font-size: 18px;
	font-weight: 700;
	transition: background .2s ease, color .2s ease, transform .3s var(--sl-ease);
}
.sl-site .sl-faq-item.sl-is-open .sl-faq-icon {
	background: var(--sl-lime); color: var(--sl-ink); transform: rotate(45deg);
}
.sl-site .sl-faq-a {
	max-height: 0; overflow: hidden; transition: max-height .3s ease;
}
.sl-site .sl-faq-item.sl-is-open .sl-faq-a {
	max-height: 400px;
}
.sl-site .sl-faq-a p {
	margin: 0; padding: 0 60px 24px 0; font-size: 15.5px; line-height: 1.7; color: rgba(255, 255, 255, .6); text-wrap: pretty;
}
@media (max-width: 1024px) {
	.sl-site .sl-method,
	.sl-site .sl-angle,
	.sl-site .sl-faq {
		padding: 56px 28px;
	}
	.sl-site .sl-case.sl-is-open {
		grid-column: auto;
	}
	.sl-site .sl-angle-cols {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 768px) {
	.sl-site .sl-method,
	.sl-site .sl-angle,
	.sl-site .sl-faq {
		padding: 40px 20px;
	}
	.sl-site .sl-case-head {
		padding: 22px 20px; gap: 8px;
	}
	.sl-site .sl-case-rev {
		font-size: 34px;
	}
	.sl-site .sl-case:hover {
		box-shadow: none;
	}
	.sl-site .sl-method-row {
		grid-template-columns: 54px minmax(0, 1fr); gap: 14px; padding: 22px 0;
	}
	.sl-site .sl-method-num {
		font-size: 32px;
	}
	.sl-site .sl-hero-title-tight {
		font-size: 38px; max-width: none;
	}
	.sl-site .sl-cases-foot {
		flex-direction: column; align-items: flex-start;
	}
	.sl-site .sl-faq-a p {
		padding-right: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sl-site * {
		animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important;
	}
	.sl-site .sl-reveal {
		opacity: 1; transform: none;
	}
}

@keyframes slGlowDrift { from { transform: translate3d(0, 0, 0) scale(1); } to { transform: translate3d(-70px, 48px, 0) scale(1.12); } }
@keyframes slNodePop { 0% { transform: scale(1); } 45% { transform: scale(1.16); } 100% { transform: scale(1); } }
.sl-site .sl-tnav-btn {
	width: 46px; height: 46px;
	display: flex; align-items: center; justify-content: center;
	border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, .22);
	background: transparent;
	color: #fff;
	font-size: 17px;
	cursor: pointer;
	transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
.sl-site .sl-tnav-btn:hover {
	background: var(--sl-lime); border-color: var(--sl-lime); color: #0a0a0b; transform: translateY(-2px);
}
.sl-site .sl-carousel-dot {
	width: 8px; height: 8px; padding: 0; border: 0; border-radius: 999px;
	background: rgba(255, 255, 255, .26); cursor: pointer;
	transition: width .3s var(--sl-ease), background .3s ease;
}
.sl-site .sl-carousel-dot.sl-is-active {
	width: 24px; background: var(--sl-lime);
}
.sl-site .sl-testimonials {
	display: grid;
	grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
	gap: clamp(24px, 4vw, 64px);
	align-items: center;
	margin-top: clamp(26px, 3vw, 44px);
}
.sl-site .sl-tsource {
	display: none;
}
.sl-site .sl-tdeck {
	position: relative; aspect-ratio: 4 / 3;
}
.sl-site .sl-tshot {
	position: absolute;
	inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;
	object-position: top center;
	border-radius: 18px;
	background: #fff;
	border: 1px solid rgba(10, 10, 11, .12);
	box-shadow: 0 26px 64px rgba(10, 10, 11, .24);
	transform: rotate(var(--rot, 0deg)) translateY(var(--y, 0px)) scale(var(--sc, 1));
	transition: transform .7s var(--sl-ease), opacity .7s ease;
	cursor: pointer;
}
.sl-site .sl-tbody {
	display: flex; flex-direction: column; align-items: flex-start; gap: 13px;
}
.sl-site .sl-tquote {
	margin: 0;
	font-size: clamp(19px, 2.1vw, 28px);
	line-height: 1.42;
	letter-spacing: -.015em;
	text-wrap: pretty;
	color: var(--sl-ink);
}
.sl-site .sl-tword {
	display: inline-block; white-space: pre-wrap; animation: slWordIn .5s var(--sl-ease) both;
}
@keyframes slWordIn { from { opacity: 0; transform: translateY(7px); filter: blur(3px); } to { opacity: 1; transform: none; filter: none; } }
.sl-site .sl-tmeta {
	display: flex; flex-direction: column; gap: 2px;
}
.sl-site .sl-tmeta b {
	font-size: 16px; font-weight: 700; color: var(--sl-ink);
}
.sl-site .sl-tmeta span {
	font-size: 14px; color: rgba(10, 10, 11, .55);
}
.sl-site .sl-tnav {
	display: flex; align-items: center; gap: 10px; margin-top: 4px;
}
.sl-site .sl-reviews:not(.sl-reviews-dark) .sl-tnav-btn {
	border-color: rgba(10, 10, 11, .18); color: var(--sl-ink);
}
.sl-site .sl-tcount {
	font-size: 13px; font-weight: 600; color: rgba(10, 10, 11, .45);
}
.sl-site .sl-reviews-proofrow {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 24px;
	margin-top: clamp(24px, 3vw, 40px);
	padding-top: clamp(20px, 2.4vw, 30px);
	border-top: 1px solid rgba(10, 10, 11, .12);
}
@media (max-width: 900px) {
	.sl-site .sl-testimonials {
		grid-template-columns: 1fr; gap: 22px;
	}
	.sl-site .sl-tdeck {
		aspect-ratio: 16 / 11;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sl-site .sl-tshot {
		transition: none;
	}
	.sl-site .sl-tword {
		animation: none;
	}
}

.sl-site .sl-case-back-inner {
	display: flex; flex-direction: column; gap: 14px; padding: clamp(20px, 2.6vw, 34px);
}
.sl-site .sl-case-back-title {
	margin: 0; font-size: clamp(19px, 1.9vw, 25px); line-height: 1.2; letter-spacing: -.015em;
}
.sl-site .sl-case-back-note {
	margin: 0; font-size: 14px; line-height: 1.55; color: rgba(255, 255, 255, .62);
}
.sl-site .sl-case-figs {
	display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 2px 0 0;
}
.sl-site .sl-case-fig {
	display: flex; flex-direction: column; gap: 3px;
	padding: 12px 14px;
	border: 1px solid rgba(255, 255, 255, .14);
	border-radius: 13px;
	background: rgba(255, 255, 255, .04);
}
.sl-site .sl-case-fig dt {
	font-size: 11.5px; letter-spacing: .06em; text-transform: uppercase; color: rgba(255, 255, 255, .5);
}
.sl-site .sl-case-fig dd {
	margin: 0; display: flex; flex-direction: column; gap: 2px;
}
.sl-site .sl-case-fig dd b {
	font-size: 17px; font-weight: 700; color: var(--sl-lime); letter-spacing: -.01em;
}
.sl-site .sl-case-fig dd span {
	font-size: 12.5px; line-height: 1.45; color: rgba(255, 255, 255, .55);
}
.sl-site .sl-case-back-sub {
	margin: 4px 0 0; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: rgba(255, 255, 255, .5); font-weight: 700;
}
.sl-site .sl-case-back-list {
	margin: 0; padding-left: 18px; display: flex; flex-direction: column; gap: 6px;
}
.sl-site .sl-case-back-list li {
	font-size: 14.5px; line-height: 1.5; color: rgba(255, 255, 255, .84);
}
.sl-site .sl-case-back-time {
	margin: 0; font-size: 13px; color: rgba(255, 255, 255, .5);
}
.sl-site .sl-case-back-foot {
	display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 4px;
}
.sl-site .sl-case-back-btn {
	padding: 10px 18px; border-radius: 999px;
	border: 1px solid rgba(255, 255, 255, .24);
	background: transparent; color: #fff;
	font-size: 14px; font-weight: 700; cursor: pointer;
	transition: background .2s ease, color .2s ease, border-color .2s ease;
}
.sl-site .sl-case-back-btn:hover {
	background: var(--sl-lime); border-color: var(--sl-lime); color: #0a0a0b;
}
.sl-site .sl-case-back-link {
	font-size: 14px; font-weight: 700; color: var(--sl-lime); text-decoration: none;
}
.sl-site .sl-case-back-link:hover {
	color: #c9ff90;
}
@media (max-width: 640px) {
	.sl-site .sl-case-figs {
		grid-template-columns: 1fr;
	}
	.sl-site .sl-case-back-list li {
		font-size: 14px;
	}
}

.sl-site .sl-hero-legal {
	min-height: 0; padding: clamp(58px, 6vw, 96px) clamp(18px, 5vw, 56px) clamp(38px, 4.5vw, 70px);
}
.sl-site .sl-hero-legal .sl-hero-inner {
	display: block;
}

/* --------------------------------------------------------------------------
   Mobile header + footer. Last in the file on purpose: these overrides must
   come after the converted component rules (.sl-btn, .sl-facts) so they win
   at equal specificity.
   -------------------------------------------------------------------------- */
@media (max-width: 768px) {
	.sl-site .sl-header .sl-nav,
	.sl-site .sl-header .sl-header-cta { display: none; }
	.sl-site .sl-header .sl-burger { display: flex; }
	.sl-site .sl-facts { display: none; }

	.sl-site .sl-footer-social { flex-wrap: wrap; }
	.sl-site .sl-footer-top { flex-direction: column; align-items: flex-start; gap: 18px; }
	.sl-site .sl-footer-list { gap: 14px 18px; }
	.sl-site .sl-footer-bottom { flex-direction: column; align-items: flex-start; gap: 8px; }
}
