/*
 * Laithron — visual design language v2 ("Engineered").
 *
 * A product-grade system for an Arabic hosting-intelligence platform. Not a blog
 * theme. Principles: ink-on-paper clarity in light, a deep engineered space in
 * dark; monospace technical labels as the signature voice; hairline structure;
 * restrained depth and one signal glow; tasteful motion. Every value has intent.
 *
 * Brand hues come from theme.json presets (locked). Only the visual language
 * changes — the backend, data components, and markup contracts are untouched.
 */

/* =============================================================== TOKENS = */
:root {
	color-scheme: light;

	/* Brand (from theme.json — do not hard-code elsewhere). */
	--b-indigo:  var(--wp--preset--color--primary, #151C34);
	--b-blue:    var(--wp--preset--color--secondary, #3B6EF6);
	--b-emerald: var(--wp--preset--color--accent, #10B981);
	--b-amber:   var(--wp--preset--color--gold, #F59E0B);

	/* Light — "paper". Warm-neutral, ink text, hairline structure. */
	--paper:     #FFFFFF;
	--paper-2:   #F6F8FC;   /* alternating sections */
	--panel:     #FFFFFF;   /* raised cards */
	--panel-2:   #FBFCFE;
	--ink:       #0B1120;
	--ink-soft:  #48536B;
	--ink-faint: #6B7488;   /* AA on paper for small meta (4.6:1); was #8A93A8 (2.7:1) */
	--line:      #E9EDF4;   /* hairline */
	--line-2:    #DFE5F0;   /* stronger hairline */
	--line-3:    #D3DAE7;   /* strongest hairline */
	--on-brand:  #FFFFFF;

	--accent:    var(--b-blue);
	--accent-ink:#2551D6;
	--link:      #2551D6;   /* AA link text on light (6.3:1); --b-blue #3B6EF6 is only 4.3:1 */
	--link-hover:#132C86;
	--cta:       var(--b-emerald);
	--cta-ink:   #0E9F6E;

	/* Signature glow + tints. */
	--glow:      color-mix(in srgb, var(--b-blue) 40%, transparent);
	--glow-2:    color-mix(in srgb, var(--b-emerald) 34%, transparent);
	--tint-blue: color-mix(in srgb, var(--b-blue) 8%, var(--paper));
	--tint-em:   color-mix(in srgb, var(--b-emerald) 10%, var(--paper));
	--tint-am:   color-mix(in srgb, var(--b-amber) 13%, var(--paper));

	/* Logo mark. */
	--lth-mark-bg: #1E2A4A;
	--lth-mark-stroke: rgba(255,255,255,.08);
	--lth-mark-ink: #F6F8FB;
	--lth-mark-dot: var(--b-emerald);

	/* Type. */
	--sans: var(--wp--preset--font-family--sans, 'Thmanyah Sans', 'IBM Plex Sans Arabic', system-ui, sans-serif);
	--mono: 'IBM Plex Mono', 'Thmanyah Sans', ui-monospace, monospace;   /* Thmanyah = Arabic fallback so Arabic in "mono" labels never falls to a system font */
	--display: var(--wp--preset--font-family--display, 'Thmanyah Serif Display'), var(--sans);   /* signature Arabic display voice — headlines only */

	/* Radius. */
	--r-xs: 7px; --r-sm: 10px; --r: 14px; --r-lg: 20px; --r-xl: 30px; --pill: 999px;

	/* Depth — layered, soft. */
	--sh-1: 0 1px 2px rgba(11,17,32,.05), 0 1px 1px rgba(11,17,32,.04);
	--sh-2: 0 4px 14px -6px rgba(11,17,32,.12), 0 2px 5px -3px rgba(11,17,32,.08);
	--sh-3: 0 18px 44px -16px rgba(11,17,32,.20), 0 6px 16px -10px rgba(11,17,32,.12);
	--sh-4: 0 40px 90px -30px rgba(11,17,32,.28);
	--edge: inset 0 1px 0 rgba(255,255,255,.6);   /* top highlight on light cards */
	--ring: 0 0 0 3px color-mix(in srgb, var(--b-blue) 40%, transparent);

	/* Motion. */
	--e: cubic-bezier(.22,1,.36,1);
	--t1: 140ms var(--e); --t2: 260ms var(--e); --t3: 520ms var(--e);

	/* Layout. */
	--wrap: 1200px; --wide: 1320px; --read: 46rem;
	--gutter: clamp(1.15rem, .6rem + 2.4vw, 2.4rem);
	--header-h: 70px;

	/* Section hairline background grid (very faint). */
	--grid-line: color-mix(in srgb, var(--ink) 4%, transparent);
	--noise-opacity: .025;
}

[data-theme="dark"] {
	color-scheme: dark;
	--paper:     #070A13;
	--paper-2:   #0A0E1B;
	--panel:     #0E1424;
	--panel-2:   #111829;
	--ink:       #EAF0FB;
	--ink-soft:  #9BA7C0;
	--ink-faint: #5C6885;
	--line:      rgba(255,255,255,.075);
	--line-2:    rgba(255,255,255,.12);
	--line-3:    rgba(255,255,255,.16);
	--accent:    #6E9BFF;
	--accent-ink:#9BBAFF;
	--link:      #8FB4FF;   /* AA link text on dark */
	--link-hover:#B9D0FF;
	--cta:       #16C088;
	--cta-ink:   #3BD6A2;
	--tint-blue: color-mix(in srgb, var(--b-blue) 15%, var(--panel));
	--tint-em:   color-mix(in srgb, var(--b-emerald) 15%, var(--panel));
	--tint-am:   color-mix(in srgb, var(--b-amber) 16%, var(--panel));
	--glow:      color-mix(in srgb, #4C7BFF 55%, transparent);
	--glow-2:    color-mix(in srgb, var(--b-emerald) 45%, transparent);
	--sh-1: 0 1px 2px rgba(0,0,0,.4);
	--sh-2: 0 6px 18px -6px rgba(0,0,0,.55), 0 2px 6px -3px rgba(0,0,0,.5);
	--sh-3: 0 24px 60px -20px rgba(0,0,0,.7);
	--sh-4: 0 50px 110px -40px rgba(0,0,0,.8);
	--edge: inset 0 1px 0 rgba(255,255,255,.06);
	--lth-mark-bg: #1E2A4A;
	--lth-mark-stroke: rgba(255,255,255,.14);
	--lth-mark-ink: #F6F8FB;
	--grid-line: rgba(255,255,255,.03);
	--noise-opacity: .04;
}
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) {
		color-scheme: dark;
		--paper:#070A13; --paper-2:#0A0E1B; --panel:#0E1424; --panel-2:#111829;
		--ink:#EAF0FB; --ink-soft:#9BA7C0; --ink-faint:#8892AB;
		--line:rgba(255,255,255,.075); --line-2:rgba(255,255,255,.12); --line-3:rgba(255,255,255,.16);
		--accent:#6E9BFF; --accent-ink:#9BBAFF; --link:#8FB4FF; --link-hover:#B9D0FF; --cta:#16C088; --cta-ink:#3BD6A2;
		--tint-blue:color-mix(in srgb, var(--b-blue) 15%, #0E1424);
		--tint-em:color-mix(in srgb, var(--b-emerald) 15%, #0E1424);
		--tint-am:color-mix(in srgb, var(--b-amber) 16%, #0E1424);
		--glow:color-mix(in srgb, #4C7BFF 55%, transparent);
		--glow-2:color-mix(in srgb, var(--b-emerald) 45%, transparent);
		--sh-1:0 1px 2px rgba(0,0,0,.4); --sh-2:0 6px 18px -6px rgba(0,0,0,.55),0 2px 6px -3px rgba(0,0,0,.5);
		--sh-3:0 24px 60px -20px rgba(0,0,0,.7); --sh-4:0 50px 110px -40px rgba(0,0,0,.8);
		--edge:inset 0 1px 0 rgba(255,255,255,.06);
		--lth-mark-bg:#1E2A4A; --lth-mark-stroke:rgba(255,255,255,.14); --lth-mark-ink:#F6F8FB;
		--grid-line:rgba(255,255,255,.03); --noise-opacity:.04;
	}
}

/* ================================================================ BASE = */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body {
	margin: 0; background: var(--paper); color: var(--ink);
	font-family: var(--sans); font-size: 1.0625rem; line-height: 1.8;
	-webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
	font-feature-settings: "kern","liga","calt"; overflow-x: hidden;
}
img, svg, video { max-width: 100%; height: auto; display: block; }
a { color: var(--link); text-decoration: none; transition: color var(--t1); }
a:hover { color: var(--link-hover); }
h1,h2,h3,h4 { margin: 0 0 .5em; color: var(--ink); line-height: 1.15; letter-spacing: -.02em; font-weight: 700; }
p { margin: 0 0 1.1em; }
.lth-icon { flex: none; }
::selection { background: color-mix(in srgb, var(--b-blue) 24%, transparent); }

.screen-reader-text { position:absolute!important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.laithron-skip-link { position:fixed; inset-block-start:10px; inset-inline-start:10px; z-index:200; background:var(--ink); color:var(--paper); padding:.6rem 1rem; border-radius:var(--r-sm); }
.laithron-skip-link:not(:focus){ clip:rect(0,0,0,0); clip-path:inset(50%); width:1px; height:1px; overflow:hidden; }
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline:none; box-shadow: var(--ring); border-radius: var(--r-xs); }

/* wrappers */
.laithron-container { width: min(100% - 2*var(--gutter), var(--wrap)); margin-inline: auto; }
.lth-wide { width: min(100% - 2*var(--gutter), var(--wide)); margin-inline: auto; }
.laithron-site-main { display: block; }
.lth-page { width: min(100% - 2*var(--gutter), var(--wrap)); margin-inline: auto; padding-block: clamp(1.5rem, 1rem + 2vw, 3rem); }

/* ===== signature texture / atmosphere ===== */
.lth-noise::before {
	content:""; position:absolute; inset:0; pointer-events:none; z-index:0; opacity:var(--noise-opacity);
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
	mix-blend-mode: overlay;
}
.lth-grid-bg { position:absolute; inset:0; z-index:0; pointer-events:none;
	background-image: linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);
	background-size: 46px 46px; mask-image: radial-gradient(120% 90% at 50% 0%, #000 30%, transparent 78%);
}
.lth-mesh { position:absolute; inset:0; z-index:0; pointer-events:none;
	background:
		radial-gradient(60% 55% at 78% 8%, var(--glow), transparent 62%),
		radial-gradient(45% 45% at 12% 20%, var(--glow-2), transparent 60%);
	opacity:.5; filter: blur(6px);
}
[data-theme="dark"] .lth-mesh, :root:not([data-theme="light"]) .lth-mesh { opacity:.42; }

/* ============================================================== SECTION = */
.lth-sec { position: relative; padding-block: clamp(3rem, 2rem + 5vw, 6.5rem); }
.lth-sec--alt { background: var(--paper-2); border-block: 1px solid var(--line); }
.lth-sec__head { max-width: 44rem; margin-block-end: clamp(1.6rem, 1rem + 2vw, 2.8rem); position: relative; z-index: 1; }
.lth-sec__head--bar { display:flex; align-items:flex-end; justify-content:space-between; gap:1.5rem; max-width:none; flex-wrap:wrap; }
.lth-eyebrow {
	display: inline-flex; align-items: center; gap: .6rem; font-family: var(--mono);
	font-size: .72rem; font-weight: 500; letter-spacing: .18em; text-transform: uppercase;
	color: var(--accent); margin-block-end: 1rem;
}
.lth-eyebrow b { color: var(--ink-faint); font-weight: 500; }
.lth-eyebrow::before { content:""; width:1.6rem; height:1px; background: currentColor; opacity:.6; }
.laithron-eyebrow { display:inline-flex; align-items:center; gap:.6rem; font-family:var(--mono); font-size:.72rem; font-weight:500; letter-spacing:.18em; text-transform:uppercase; color:var(--link); margin-block-end:1rem; }
.laithron-eyebrow::before { content:""; width:1.6rem; height:1px; background:currentColor; opacity:.6; }
.lth-title { font-size: clamp(1.7rem, 1.2rem + 2.2vw, 2.7rem); letter-spacing: -.03em; margin: 0 0 .5rem; }
.lth-lede { color: var(--ink-soft); font-size: 1.08rem; margin: 0; max-width: 42rem; }
.lth-morelink { display:inline-flex; align-items:center; gap:.4rem; font-family:var(--mono); font-size:.8rem; letter-spacing:.04em; color:var(--ink); white-space:nowrap; }
.lth-morelink .lth-icon { width:1rem; height:1rem; transition: transform var(--t2); }
.lth-morelink:hover { color: var(--accent); } .lth-morelink:hover .lth-icon { transform: translateX(-4px); }
html[dir="rtl"] .lth-morelink:hover .lth-icon { transform: translateX(4px); }

/* ============================================================ BUTTONS = */
.laithron-btn, .laithron-cta {
	--bg: var(--ink); --fg: var(--paper);
	display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
	padding:.78rem 1.4rem; border-radius:var(--r-sm); border:1px solid transparent;
	background:var(--bg); color:var(--fg); font:inherit; font-weight:600; line-height:1.1; cursor:pointer; white-space:nowrap;
	transition: transform var(--t1), box-shadow var(--t2), background var(--t2), border-color var(--t2), color var(--t1);
}
.laithron-btn .lth-icon, .laithron-cta .lth-icon { width:1.15em; height:1.15em; }
.laithron-btn:hover, .laithron-cta:hover { transform: translateY(-2px); color: var(--fg); }
.laithron-btn:active, .laithron-cta:active { transform: translateY(0); }
.laithron-btn--cta, .laithron-btn--primary, .laithron-cta { --bg: var(--cta); box-shadow: 0 10px 24px -10px var(--glow-2); }
.laithron-btn--cta:hover, .laithron-cta:hover { --bg: var(--cta-ink); box-shadow: 0 16px 32px -12px var(--glow-2); }
.laithron-btn--primary { --bg: var(--link); box-shadow: 0 10px 24px -10px var(--glow); }   /* --link is AA with white on light (#2551D6 6.3:1) and with dark text on dark (#8FB4FF) */
.laithron-btn--primary:hover { --bg: var(--link-hover); }
.laithron-btn--ghost, .laithron-cta--ghost { --bg: transparent; --fg: var(--ink); border-color: var(--line-2); box-shadow: none; }
.laithron-btn--ghost:hover { --bg: var(--panel-2); border-color: var(--accent); color: var(--ink); box-shadow: var(--sh-2); }
.laithron-btn--lg { padding:.95rem 1.8rem; font-size:1.03rem; }
.laithron-btn--sm, .laithron-cta--sm { padding:.5rem 1rem; font-size:.86rem; border-radius:var(--r-xs); box-shadow:none; }
.laithron-btn--block { display:flex; width:100%; }

/* ============================================================== FIELDS = */
.laithron-field, input[type=text], input[type=search], input[type=email], input[type=url], textarea, select {
	inline-size:100%; padding:.8rem 1rem; font:inherit; color:var(--ink); background:var(--panel);
	border:1px solid var(--line-2); border-radius:var(--r-sm); transition: border-color var(--t1), box-shadow var(--t1);
}
input::placeholder, textarea::placeholder { color: var(--ink-faint); }
:is(.laithron-field,input,textarea,select):focus { outline:none; border-color:var(--accent); box-shadow: var(--ring); }
.laithron-inputgroup { display:flex; gap:.5rem; }

/* ============================================================== BADGES = */
.laithron-badge, .lth-chip {
	display:inline-flex; align-items:center; gap:.4rem; font-family:var(--mono); font-size:.72rem; font-weight:500;
	letter-spacing:.03em; padding:.28rem .65rem; border-radius:var(--pill); background:var(--panel-2); color:var(--ink-soft); border:1px solid var(--line);
}
.laithron-badge--choice { background:var(--tint-am); color:#8A5B00; border-color:transparent; }
.laithron-badge--win    { background:var(--tint-em); color:var(--cta-ink); border-color:transparent; }
.laithron-badge--new    { background:var(--tint-blue); color:var(--accent-ink); border-color:transparent; }
[data-theme=dark] .laithron-badge--choice, :root:not([data-theme=light]) .laithron-badge--choice { color:#F5C25A; }

/* =============================================================== CARDS = */
.laithron-card {
	position:relative; display:flex; flex-direction:column; background:var(--panel);
	border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--sh-1);
	transition: transform var(--t2), box-shadow var(--t2), border-color var(--t2);
}
.laithron-card:hover { transform: translateY(-4px); box-shadow: var(--sh-3); border-color: var(--line-2); }
.laithron-card__thumb { position:relative; display:block; aspect-ratio:16/10; overflow:hidden; background:var(--paper-2); }
.laithron-card__thumb::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%, color-mix(in srgb, var(--ink) 30%, transparent)); opacity:0; transition:opacity var(--t2); }
.laithron-card:hover .laithron-card__thumb::after { opacity:.35; }
/* contain (not cover): the whole cover image must stay visible, never sliced —
   the uniform box comes from the aspect-ratio above, not from cropping the image. */
.laithron-card__thumb img { width:100%; height:100%; object-fit:contain; object-position:center; transition: transform var(--t3); }
.laithron-card:hover .laithron-card__thumb img { transform: scale(1.03); }
.laithron-card__fmt { position:absolute; inset-block-start:.7rem; inset-inline-start:.7rem; z-index:1; font-family:var(--mono); font-size:.68rem; letter-spacing:.04em; padding:.24rem .6rem; border-radius:var(--pill); background:color-mix(in srgb, var(--ink) 80%, transparent); color:#fff; backdrop-filter: blur(6px); }
/* image-less cards get an accent rail instead of looking bare */
.laithron-card:not(:has(.laithron-card__thumb)) { border-block-start: 3px solid transparent; border-image: linear-gradient(90deg, var(--accent), var(--cta)) 1; }
.laithron-card__body { display:flex; flex-direction:column; gap:.6rem; padding:1.2rem 1.3rem 1.35rem; flex:1; }
.laithron-card__title { font-size:1.14rem; line-height:1.35; margin:0; letter-spacing:-.01em; }
.laithron-card__title a { color:var(--ink); } .laithron-card__title a:hover { color:var(--accent); }
.laithron-card__excerpt { color:var(--ink-soft); font-size:.95rem; margin:0; }
.laithron-card .laithron-meta { margin-block-start:auto; padding-block-start:.5rem; }

.laithron-grid { display:grid; gap: clamp(1rem,.6rem + 1.4vw,1.7rem); }
/* Auto-fit + capped track (not 1fr) so the grid is 3-up desktop / 2-up tablet /
   1-up mobile, and stays centered when a page has only 1–2 items (previously
   auto-fill left empty tracks → cramped cards beside large blank areas). */
.laithron-grid--cards { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 380px)); justify-content:center; }

/* "Best hosting" ranked cards (Hosting archive) — reuses .laithron-grid/.laithron-card
   for the same premium grid as Reviews/Comparisons/Blog; these rules style only the
   parts unique to a ranked item (rank badge, centered logo, score row, bottom CTA). */
.laithron-best__item { align-items:stretch; text-align:center; }
.laithron-best__rank {
	position:absolute; inset-block-start:.7rem; inset-inline-start:.7rem; z-index:1;
	display:grid; place-items:center; width:2rem; height:2rem; border-radius:50%;
	background:var(--ink); color:var(--paper); font-family:var(--mono); font-size:.85rem; font-weight:600;
}
.laithron-best__logo {
	display:grid; place-items:center; min-height:96px; padding:1.4rem 1rem .6rem;
	background:var(--paper-2);
}
.laithron-best__logo img { max-width:140px; max-height:56px; width:auto; height:auto; object-fit:contain; }
.laithron-best__name { text-align:center; }
.laithron-best__score { display:flex; align-items:center; justify-content:center; gap:.5rem; color:var(--ink-soft); font-family:var(--mono); font-size:.9rem; }
.laithron-best__cta { margin-block-start:auto; padding-block-start:.4rem; display:flex; justify-content:center; }
.laithron-best__cta .laithron-cta, .laithron-best__cta .laithron-btn { width:100%; justify-content:center; }

/* ============================================================ META/MISC = */
.laithron-meta { display:flex; flex-wrap:wrap; align-items:center; gap:.3rem .7rem; color:var(--ink-faint); font-family:var(--mono); font-size:.76rem; letter-spacing:.02em; }
.laithron-meta__author { color:var(--ink-soft); font-weight:500; }
.laithron-meta > *+*::before { content:"·"; margin-inline-end:.7rem; color:var(--line-3); }
.laithron-breadcrumbs { font-family:var(--mono); font-size:.76rem; color:var(--ink-faint); display:flex; flex-wrap:wrap; gap:.4rem; align-items:center; margin-block:1.75rem .5rem; }
.laithron-breadcrumbs a { color:var(--ink-soft); } .laithron-breadcrumbs a:hover { color:var(--accent); }
.laithron-breadcrumbs [aria-current=page] { color:var(--ink); }

/* trust bar (article/review) */
.laithron-trust { display:flex; flex-wrap:wrap; align-items:center; gap:.55rem .9rem; margin-block:1rem; color:var(--ink-soft); font-family:var(--mono); font-size:.78rem; }
.laithron-trust__item { display:inline-flex; align-items:center; gap:.4rem; }
.laithron-trust__item+.laithron-trust__item::before { content:""; width:4px; height:4px; border-radius:50%; background:var(--line-3); margin-inline-end:.9rem; }
.laithron-trust__author { color:var(--ink); font-weight:600; }
.laithron-trust__level { padding:.14rem .6rem; border-radius:var(--pill); font-size:.72rem; }
.laithron-trust__level::before { content:none !important; }
.laithron-trust__level--beginner { background:var(--tint-em); color:var(--cta-ink); }
.laithron-trust__level--intermediate { background:var(--tint-am); color:#8A5B00; }
.laithron-trust__level--advanced { background:var(--tint-blue); color:var(--accent-ink); }

/* =========================================================== RATING/SCORE = */
.laithron-stars { display:inline-flex; gap:1px; }
.laithron-star { color: var(--line-3); }
.laithron-star.is-full { color: var(--b-amber); }
.laithron-star.is-half { position:relative; color:var(--line-3); }
.laithron-star.is-half::before { content:"★"; position:absolute; inset-inline-start:0; width:50%; overflow:hidden; color:var(--b-amber); }
html[dir=rtl] .laithron-star.is-half::before { inset-inline-start:auto; inset-inline-end:0; }

.laithron-rating {
	position:relative; background:var(--panel); border:1px solid var(--line); border-radius:var(--r-lg);
	padding: clamp(1.3rem,1rem + 1vw,2rem); box-shadow: var(--sh-2), var(--edge); overflow:hidden;
}
.laithron-rating::before { content:""; position:absolute; inset-block-start:0; inset-inline:0; height:120px; background:radial-gradient(120% 100% at 100% 0%, var(--glow), transparent 70%); opacity:.5; pointer-events:none; }
.laithron-rating__score { position:relative; display:flex; align-items:center; gap:.9rem; flex-wrap:wrap; }
.laithron-rating__num {
	font-family:var(--mono); font-size:clamp(2.8rem,2rem + 3vw,4rem); font-weight:600; letter-spacing:-.04em; line-height:.9; color:var(--ink);
}
.laithron-rating__num::after { content:" / 5"; font-size:.9rem; color:var(--ink-faint); letter-spacing:0; }
.laithron-rating .laithron-badge--choice { position:absolute; inset-block-start:1.1rem; inset-inline-end:1.1rem; }
.laithron-rating__stars .laithron-stars { font-size:1.3rem; }

.laithron-criteria__rows { display:grid; gap:.85rem; margin-block-start:1.4rem; position:relative; }
.laithron-criteria__row { display:grid; grid-template-columns:8rem 1fr auto; align-items:center; gap:.9rem; font-size:.9rem; }
.laithron-criteria__label { color:var(--ink-soft); }
.laithron-criteria__val { font-family:var(--mono); font-weight:600; color:var(--ink); font-variant-numeric:tabular-nums; }
.laithron-criteria__bar { height:7px; border-radius:var(--pill); background:color-mix(in srgb, var(--ink) 8%, transparent); overflow:hidden; }
.laithron-criteria__bar i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--accent),var(--cta)); }

/* company facts + pros/cons */
.laithron-company-info { display:grid; gap:1.5rem; }
.laithron-facts { display:flex; flex-wrap:wrap; gap:.5rem; }
.laithron-fact { display:flex; flex-direction:column; gap:.1rem; padding:.65rem .95rem; background:var(--panel-2); border:1px solid var(--line); border-radius:var(--r-sm); }
.laithron-fact__k { font-family:var(--mono); font-size:.66rem; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-faint); }
.laithron-fact__v { font-weight:600; }
.laithron-proscons { display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; }
.laithron-pros, .laithron-cons { border:1px solid var(--line); border-radius:var(--r); padding:1.15rem 1.3rem; background:var(--panel); box-shadow:var(--sh-1); }
.laithron-pros { background: linear-gradient(180deg, var(--tint-em), transparent 60%); }
.laithron-cons { background: linear-gradient(180deg, color-mix(in srgb,#E5484D 8%, var(--panel)), transparent 60%); }
.laithron-pros h4, .laithron-cons h4 { margin:0 0 .7rem; font-size:1rem; display:flex; align-items:center; gap:.45rem; }
.laithron-pros h4 { color:var(--cta-ink); } .laithron-cons h4 { color:#D6484C; }
.laithron-pros ul, .laithron-cons ul { list-style:none; margin:0; padding:0; display:grid; gap:.55rem; }
.laithron-pros li, .laithron-cons li { position:relative; padding-inline-start:1.7rem; }
.laithron-pros li::before, .laithron-cons li::before { position:absolute; inset-inline-start:0; inset-block-start:.05em; width:1.1rem; height:1.1rem; border-radius:50%; display:grid; place-items:center; font-size:.7rem; font-weight:800; }
.laithron-pros li::before { content:"✓"; background:var(--tint-em); color:var(--cta-ink); }
.laithron-cons li::before { content:"✕"; background:color-mix(in srgb,#E5484D 14%,transparent); color:#D6484C; }

/* =============================================================== TABLES = */
.laithron-table { inline-size:100%; border-collapse:separate; border-spacing:0; font-size:.96rem; border:1px solid var(--line); border-radius:var(--r); overflow:hidden; background:var(--panel); }
.laithron-table thead th { background:var(--panel-2); color:var(--ink-soft); font-family:var(--mono); font-weight:500; font-size:.76rem; letter-spacing:.04em; text-transform:uppercase; text-align:start; padding:.85rem 1rem; border-block-end:1px solid var(--line); }
.laithron-table tbody td { padding:.9rem 1rem; border-block-start:1px solid var(--line); }
.laithron-plans { overflow-x:auto; }
.laithron-plan__name { font-weight:600; }
.laithron-plan__price { font-family:var(--mono); font-weight:600; color:var(--ink); font-variant-numeric:tabular-nums; }
.laithron-plan__price small { color:var(--ink-faint); }
.laithron-plan.is-featured .laithron-plan__price small { color:var(--ink-soft); }   /* AA on the tinted featured card */
.laithron-plan.is-featured td { background: var(--tint-em); }
.laithron-plan.is-featured .laithron-plan__name::after { content:"★"; color:var(--b-amber); margin-inline-start:.4rem; }

/* comparison → premium matrix */
.laithron-comparison { overflow-x:auto; border-radius:var(--r-lg); border:1px solid var(--line); box-shadow:var(--sh-2); }
.laithron-cmp { min-inline-size:560px; border:0; border-radius:0; box-shadow:none; }
.laithron-cmp thead th { vertical-align:bottom; text-transform:none; letter-spacing:0; font-family:var(--sans); font-weight:600; font-size:.95rem; text-align:center; padding:1.1rem 1rem; }
.laithron-cmp__co { position:relative; }
.laithron-cmp__co.is-winner { background:linear-gradient(180deg, var(--tint-em), var(--panel)); }
.laithron-cmp__co.is-winner::after { content:""; position:absolute; inset-block-start:0; inset-inline:0; height:3px; background:linear-gradient(90deg,var(--accent),var(--cta)); }
.laithron-cmp__co .laithron-badge { display:inline-flex; margin-block-start:.4rem; }
.laithron-cmp tbody th { text-align:start; font-family:var(--mono); font-size:.8rem; font-weight:500; color:var(--ink-soft); background:var(--panel-2); }
.laithron-cmp__cell { text-align:center; }
.laithron-cmp__cell.is-winner { background:var(--tint-em); }

/* =============================================================== DEALS = */
.laithron-deals { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:1.1rem; }
.laithron-deal {
	position:relative; display:flex; flex-direction:column; gap:.8rem; text-align:center; padding:1.5rem 1.3rem;
	border-radius:var(--r-lg); color:#fff; overflow:hidden;
	background: radial-gradient(120% 100% at 100% 0%, color-mix(in srgb,var(--b-blue) 55%, var(--b-indigo)), var(--b-indigo));
	border:1px solid color-mix(in srgb,var(--b-blue) 35%, transparent); box-shadow:var(--sh-3);
}
.laithron-deal::before { content:""; position:absolute; inset-block:0; inset-inline-start:-1px; width:6px; background:repeating-linear-gradient(180deg,transparent 0 8px, rgba(255,255,255,.25) 8px 14px); }
.laithron-deal__title { margin:0; font-size:1.05rem; color:#fff; }
.laithron-deal__code { display:inline-flex; align-items:center; gap:.5rem; font-family:var(--mono); font-weight:600; letter-spacing:.14em; padding:.6rem 1.1rem; border:1px dashed rgba(255,255,255,.45); border-radius:var(--r-sm); background:rgba(255,255,255,.08); cursor:pointer; transition:background var(--t1); }
.laithron-deal__code::after { content:"⧉"; opacity:.7; }
.laithron-deal__code:hover { background:rgba(255,255,255,.18); }
.laithron-deal__code.is-copied { background:var(--cta); border-color:var(--cta); }
.laithron-deal__code.is-copied::after { content:"✓"; }
.laithron-disclosure { font-family:var(--mono); font-size:.72rem; color:var(--ink-faint); margin:.6rem 0 0; }
.laithron-deal .laithron-disclosure { color:rgba(255,255,255,.6); }
.laithron-deals .laithron-disclosure { grid-column:1/-1; text-align:center; }

/* ============================================================= RELATED = */
.laithron-related { margin-block:2.5rem 0; }
.laithron-related h3 { font-size:1.05rem; font-family:var(--mono); font-weight:500; letter-spacing:.03em; color:var(--ink-soft); margin-block-end:.9rem; }
.laithron-related ul { list-style:none; margin:0; padding:0; display:grid; gap:.5rem; }
.laithron-related a { display:flex; align-items:center; gap:.6rem; padding:.85rem 1.1rem; background:var(--panel); border:1px solid var(--line); border-radius:var(--r-sm); color:var(--ink); font-weight:500; box-shadow:var(--sh-1); transition:border-color var(--t1), transform var(--t1), box-shadow var(--t2); }
.laithron-related a::before { content:"↗"; color:var(--accent); font-family:var(--mono); }
.laithron-related a:hover { border-color:var(--accent); transform:translateY(-2px); box-shadow:var(--sh-2); color:var(--accent); }

.laithron-takeaways { position:relative; background:var(--tint-blue); border:1px solid color-mix(in srgb,var(--b-blue) 20%,transparent); border-radius:var(--r-lg); padding:1.5rem 1.7rem; margin-block:2rem; }
.laithron-takeaways__title { margin:0 0 .7rem; font-size:1.05rem; color:var(--accent-ink); display:flex; align-items:center; gap:.5rem; }
.laithron-takeaways__body ul { margin:0; padding-inline-start:1.2em; }
.laithron-takeaways__body li { margin-block:.35em; }

/* ================================================================= TOC = */
.laithron-toc { background:var(--panel-2); border:1px solid var(--line); border-radius:var(--r); padding:1.2rem 1.4rem; margin-block:2rem; }
.laithron-toc__title { margin:0 0 .7rem; font-family:var(--mono); font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; color:var(--ink-faint); font-weight:500; }
.laithron-toc__list { margin:0; padding:0; list-style:none; display:grid; gap:.15rem; counter-reset:toc; }
.laithron-toc__item a { display:flex; gap:.7rem; align-items:baseline; text-decoration:none; color:var(--ink-soft); padding:.3rem 0; transition:color var(--t1); }
.laithron-toc__item a::before { counter-increment:toc; content:counter(toc,decimal-leading-zero); font-family:var(--mono); font-size:.7rem; color:var(--ink-faint); }
.laithron-toc__item--h3 { padding-inline-start:1.3rem; }
.laithron-toc__item--h3 a::before { content:"—"; }
.laithron-toc__item a:hover { color:var(--accent); }
.laithron-prose :is(h2,h3)[id] { scroll-margin-block-start: calc(var(--header-h) + 1.5rem); }

/* ================================================================= FAQ = */
.laithron-faq { margin-block:2.5rem; }
.laithron-faq__title { margin-block-end:1rem; }
.laithron-faq__item { border:1px solid var(--line); border-radius:var(--r); margin-block:.6rem; background:var(--panel); overflow:hidden; box-shadow:var(--sh-1); transition:border-color var(--t1); }
.laithron-faq__item[open] { border-color:var(--line-2); }
.laithron-faq__q { cursor:pointer; padding:1.05rem 1.2rem; font-weight:600; list-style:none; position:relative; padding-inline-end:2.8rem; }
.laithron-faq__q::-webkit-details-marker { display:none; }
.laithron-faq__q::after { content:""; position:absolute; inset-inline-end:1.2rem; inset-block-start:1.25rem; width:11px; height:11px; border-inline-end:2px solid var(--accent); border-block-end:2px solid var(--accent); transform:rotate(45deg); transition:transform var(--t2); }
.laithron-faq__item[open] .laithron-faq__q::after { transform:rotate(-135deg); inset-block-start:1.45rem; }
.laithron-faq__a { padding:0 1.2rem 1.15rem; color:var(--ink-soft); }
.laithron-faq__a > :first-child { margin-block-start:0; }

/* =============================================================== PROSE = */
.laithron-prose { max-width:var(--read); margin-inline:auto; font-size:1.12rem; line-height:1.95; color:var(--ink); }
.laithron-prose > * { margin-inline:auto; }
.laithron-prose h2 { margin-block:2.4em .7em; font-size:1.6rem; letter-spacing:-.02em; }
.laithron-prose h2::before { content:""; display:block; width:2.2rem; height:2px; background:linear-gradient(90deg,var(--accent),var(--cta)); margin-block-end:.9rem; border-radius:2px; }
.laithron-prose h3 { margin-block:1.7em .5em; font-size:1.28rem; }
.laithron-prose a { font-weight:600; text-decoration:underline; text-decoration-color:color-mix(in srgb,var(--accent) 35%,transparent); text-underline-offset:3px; }
.laithron-prose ul, .laithron-prose ol { padding-inline-start:1.3em; margin-block:1.1em; }
.laithron-prose li { margin-block:.45em; } .laithron-prose li::marker { color:var(--accent); }
.laithron-prose img, .laithron-prose figure { border-radius:var(--r); }
.laithron-prose figure { margin-block:2.4rem; } .laithron-prose figcaption { color:var(--ink-faint); font-family:var(--mono); font-size:.78rem; text-align:center; margin-block-start:.7rem; }
.laithron-prose blockquote {
	margin:2.2rem 0; padding:1.2rem 1.5rem; border-radius:var(--r); background:var(--panel-2);
	border:1px solid var(--line); border-inline-start:3px solid var(--accent); font-size:1.14rem; color:var(--ink);
}
.laithron-prose blockquote p:last-child { margin-block-end:0; }
.laithron-prose :not(pre) > code { font-family:var(--mono); font-size:.86em; background:var(--panel-2); color:var(--accent-ink); padding:.12em .45em; border-radius:var(--r-xs); border:1px solid var(--line); }
.laithron-prose pre, .wp-block-code {
	position:relative; background:#0A0F1E; color:#DCE4F5; border:1px solid #1E2942; border-radius:var(--r);
	padding:2.6rem 1.3rem 1.2rem; overflow-x:auto; margin-block:2.2rem; font-family:var(--mono); font-size:.9rem; line-height:1.7; direction:ltr; text-align:left;
	box-shadow: var(--sh-2);
}
.laithron-prose pre::before { content:""; position:absolute; inset-block-start:.9rem; inset-inline-start:1.2rem; width:11px; height:11px; border-radius:50%; background:#FF5F56; box-shadow:18px 0 #FEBC2E,36px 0 #28C840; }
.laithron-prose pre::after { content:"code"; position:absolute; inset-block-start:.75rem; inset-inline-end:1.2rem; font-family:var(--mono); font-size:.7rem; letter-spacing:.1em; color:#5C6885; text-transform:uppercase; }
.laithron-prose pre code { background:none; border:0; color:inherit; padding:0; }

/* author box */
.laithron-author { display:flex; gap:1.1rem; align-items:center; padding:1.4rem 1.6rem; margin-block:2.5rem; background:var(--panel-2); border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--sh-1); }
.laithron-author__avatar img { width:56px; height:56px; border-radius:50%; object-fit:cover; }
.laithron-author__name { font-weight:700; margin:0; }
.laithron-author__role { color:var(--ink-faint); font-family:var(--mono); font-size:.76rem; margin:0; }
.laithron-author__bio { color:var(--ink-soft); font-size:.95rem; margin:.35rem 0 0; }

/* verdict */
.laithron-verdict { position:relative; background:var(--panel-2); border:1px solid var(--line); border-radius:var(--r-lg); padding:1.5rem 1.7rem; margin-block:2.2rem; box-shadow:var(--sh-1); }
.laithron-verdict::before { content:""; position:absolute; inset-block:1.5rem; inset-inline-start:0; width:3px; border-radius:3px; background:linear-gradient(180deg,var(--accent),var(--cta)); }
.laithron-verdict h2 { margin-block-start:0; }
.laithron-verdict h2::before { display:none; }

/* =============================================================== HEADER = */
.laithron-site-header { position:sticky; inset-block-start:0; z-index:100; background:color-mix(in srgb, var(--paper) 72%, transparent); backdrop-filter:saturate(1.6) blur(16px); -webkit-backdrop-filter:saturate(1.6) blur(16px); border-block-end:1px solid transparent; transition:border-color var(--t2), box-shadow var(--t2); }
.laithron-site-header.is-stuck { border-block-end-color:var(--line); box-shadow:0 1px 0 var(--line), 0 6px 20px -14px rgba(11,17,32,.4); }
.laithron-site-header__inner { display:flex; align-items:center; gap:1.25rem; min-block-size:var(--header-h); }
.laithron-brand__lockup { display:inline-flex; align-items:center; gap:.6rem; }
.laithron-mark { border-radius:11px; transition:transform var(--t2); }
.laithron-brand__lockup:hover .laithron-mark { transform: rotate(-8deg) scale(1.05); }
.laithron-brand__name { font-weight:800; font-size:1.24rem; letter-spacing:-.03em; color:var(--ink); }
.laithron-primary-nav { margin-inline-start:auto; }
.laithron-menu { display:flex; align-items:center; gap:.15rem; list-style:none; margin:0; padding:0; }
.laithron-menu a { display:inline-block; padding:.5rem .8rem; border-radius:var(--r-sm); color:var(--ink-soft); font-weight:500; font-size:.95rem; transition:color var(--t1), background var(--t1); }
.laithron-menu a:hover, .laithron-menu .current-menu-item>a { color:var(--ink); background:var(--panel-2); }
.laithron-site-header__actions { display:flex; align-items:center; gap:.3rem; }
.laithron-iconbtn { display:inline-grid; place-items:center; width:40px; height:40px; border-radius:var(--r-sm); background:transparent; border:1px solid transparent; color:var(--ink-soft); cursor:pointer; transition:background var(--t1), color var(--t1), border-color var(--t1); }
.laithron-iconbtn:hover { background:var(--panel-2); color:var(--ink); border-color:var(--line); }
.laithron-search-panel { display:none; padding-block:.85rem; border-block-start:1px solid var(--line); }
.laithron-search-panel.is-open { display:block; }
.laithron-nav-toggle { display:none; width:42px; height:42px; border:1px solid var(--line-2); border-radius:var(--r-sm); background:var(--panel); cursor:pointer; position:relative; }
.laithron-nav-toggle__bars, .laithron-nav-toggle__bars::before, .laithron-nav-toggle__bars::after { content:""; position:absolute; width:18px; height:2px; background:var(--ink); inset-inline-start:11px; border-radius:2px; transition:transform var(--t2), opacity var(--t1); }
.laithron-nav-toggle__bars { inset-block-start:20px; } .laithron-nav-toggle__bars::before { inset-block-start:-6px; } .laithron-nav-toggle__bars::after { inset-block-start:6px; }
.laithron-primary-nav.is-open .laithron-nav-toggle__bars { background:transparent; }
.laithron-primary-nav.is-open .laithron-nav-toggle__bars::before { transform:translateY(6px) rotate(45deg); }
.laithron-primary-nav.is-open .laithron-nav-toggle__bars::after { transform:translateY(-6px) rotate(-45deg); }

/* =============================================================== HERO = */
.lth-hero { position:relative; overflow:hidden; padding-block: clamp(2.5rem,1.5rem + 5vw,5rem) clamp(3rem,2rem + 5vw,6rem); }
.lth-hero__grid { position:relative; z-index:1; display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(1.5rem,1rem + 3vw,4rem); align-items:center; }
.lth-hero__eyebrow { display:inline-flex; align-items:center; gap:.6rem; font-family:var(--mono); font-size:.74rem; letter-spacing:.06em; color:var(--ink-soft); background:var(--panel); border:1px solid var(--line); padding:.4rem .8rem; border-radius:var(--pill); box-shadow:var(--sh-1); }
.lth-hero__eyebrow .dot { width:7px; height:7px; border-radius:50%; background:var(--cta); box-shadow:0 0 0 4px color-mix(in srgb,var(--cta) 25%,transparent); }
.lth-hero__title { font-size:clamp(2.4rem,1.6rem + 4vw,4.2rem); line-height:1.03; letter-spacing:-.04em; margin:1.3rem 0 1.1rem; font-weight:800; }
.lth-hero__title .grad { background:linear-gradient(100deg,var(--accent),var(--cta)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.lth-hero__lede { font-size:clamp(1.05rem,1rem + .5vw,1.28rem); color:var(--ink-soft); max-width:38ch; margin:0 0 1.9rem; line-height:1.75; }
.lth-hero__actions { display:flex; gap:.7rem; flex-wrap:wrap; }
.lth-hero__meta { display:flex; align-items:center; gap:1.2rem; margin-block-start:2rem; flex-wrap:wrap; }
.lth-hero__meta-item { display:flex; align-items:center; gap:.5rem; font-family:var(--mono); font-size:.78rem; color:var(--ink-soft); }
.lth-hero__meta-item .lth-icon { width:1.05rem; height:1.05rem; color:var(--cta); }

/* hero product card (the immersive moment) */
.lth-hero__aside { position:relative; }
.lth-showcard { position:relative; border-radius:var(--r-xl); padding:1px; background:linear-gradient(160deg, var(--line-2), transparent 50%); box-shadow:var(--sh-4); }
.lth-showcard__inner { position:relative; border-radius:calc(var(--r-xl) - 1px); background:var(--panel); border:1px solid var(--line); padding:1.5rem; overflow:hidden; }
.lth-showcard__inner::before { content:""; position:absolute; inset-block-start:0; inset-inline:0; height:130px; background:radial-gradient(120% 100% at 90% 0%, var(--glow), transparent 70%); opacity:.55; pointer-events:none; }
.lth-showcard__top { position:relative; display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-block-end:1.2rem; }
.lth-showcard__brand { display:flex; align-items:center; gap:.6rem; font-weight:700; }
.lth-showcard__logo { width:38px; height:38px; border-radius:11px; background:var(--panel-2); border:1px solid var(--line); display:grid; place-items:center; color:var(--accent); }
.lth-showcard__score { text-align:center; }
.lth-showcard__score b { font-family:var(--mono); font-size:2.4rem; font-weight:600; line-height:1; letter-spacing:-.03em; }
.lth-showcard__score span { display:block; font-family:var(--mono); font-size:.66rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint); }
.lth-showcard__rows { position:relative; display:grid; gap:.7rem; }
.lth-showrow { display:grid; grid-template-columns:6rem 1fr auto; align-items:center; gap:.8rem; font-size:.86rem; }
.lth-showrow span:first-child { color:var(--ink-soft); }
.lth-showrow b { font-family:var(--mono); font-weight:600; font-variant-numeric:tabular-nums; }
.lth-showrow .bar { height:6px; border-radius:var(--pill); background:color-mix(in srgb,var(--ink) 8%,transparent); overflow:hidden; }
.lth-showrow .bar i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--accent),var(--cta)); width:var(--_w,0); }
.is-in .lth-showrow .bar i { width:0; animation: lth-bar 1.1s var(--e) forwards; animation-delay:calc(var(--i,0)*120ms); }
@keyframes lth-bar { from { width:0; } to { width:var(--_w,0); } }
.lth-showcard__cta { position:relative; margin-block-start:1.3rem; }
.lth-showcard__foot { position:relative; margin-block-start:.9rem; font-family:var(--mono); font-size:.7rem; color:var(--ink-faint); display:flex; align-items:center; gap:.4rem; }
.lth-showcard__badge { position:absolute; inset-block-start:-14px; inset-inline-start:1.5rem; z-index:2; }

/* ============================================================== METRICS = */
.lth-metrics { position:relative; z-index:1; display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--line); border-radius:var(--r-lg); background:var(--panel); box-shadow:var(--sh-1); overflow:hidden; margin-block-start:clamp(2rem,1rem + 3vw,3.5rem); }
.lth-metric { padding:1.4rem 1.3rem; border-inline-start:1px solid var(--line); }
.lth-metric:first-child { border-inline-start:0; }
.lth-metric b { display:block; font-family:var(--mono); font-size:clamp(1.6rem,1.2rem + 1.4vw,2.2rem); font-weight:600; letter-spacing:-.02em; }
.lth-metric span { font-size:.82rem; color:var(--ink-faint); }

/* =========================================================== LEADERBOARD = */
.lth-board { display:grid; grid-template-columns:1.15fr 1fr; gap:1.6rem; align-items:start; }
.lth-board__feature { position:relative; background:var(--panel); border:1px solid var(--line); border-radius:var(--r-lg); padding:1.7rem; box-shadow:var(--sh-2), var(--edge); overflow:hidden; }
.lth-board__feature::before { content:""; position:absolute; inset-block-start:0; inset-inline:0; height:150px; background:radial-gradient(120% 100% at 85% 0%,var(--glow),transparent 70%); opacity:.5; }
.lth-board__rank { position:relative; display:inline-flex; align-items:center; gap:.5rem; font-family:var(--mono); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--b-amber); }
.lth-board__rank .lth-icon { width:1.1rem; height:1.1rem; }
.lth-board__name { position:relative; font-size:1.5rem; margin:.7rem 0 .2rem; letter-spacing:-.02em; }
.lth-board__name a { color:var(--ink); } .lth-board__name a:hover { color:var(--accent); }
.lth-board__scoreline { position:relative; display:flex; align-items:baseline; gap:.6rem; margin-block:.6rem 1.1rem; }
.lth-board__scoreline b { font-family:var(--mono); font-size:2.4rem; font-weight:600; letter-spacing:-.03em; line-height:1; }
.lth-board__bars { position:relative; display:grid; gap:.6rem; margin-block-end:1.3rem; }
.lth-board__list { display:grid; gap:.7rem; }
.lth-board__row { display:grid; grid-template-columns:auto 1fr auto auto; align-items:center; gap:.9rem; padding:1rem 1.2rem; background:var(--panel); border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--sh-1); transition:transform var(--t2), box-shadow var(--t2), border-color var(--t2); }
.lth-board__row:hover { transform:translateY(-2px); border-color:var(--line-2); box-shadow:var(--sh-2); }
.lth-board__row .idx { font-family:var(--mono); color:var(--ink-faint); font-size:.85rem; width:1.6rem; }
.lth-board__row .nm { font-weight:600; } .lth-board__row .nm a { color:var(--ink); } .lth-board__row .nm a:hover { color:var(--accent); }
.lth-board__row .sc { font-family:var(--mono); font-weight:600; color:var(--ink); }
.lth-board__row .go { color:var(--ink-faint); } .lth-board__row:hover .go { color:var(--accent); }

/* ============================================================= CAPS GRID = */
.lth-caps { border:1px solid var(--line); border-radius:var(--r-lg); overflow:hidden; background:var(--panel); box-shadow:var(--sh-1); display:grid; grid-template-columns:repeat(3,1fr); }
.lth-cap { position:relative; display:block; padding:1.6rem; border-inline-start:1px solid var(--line); border-block-start:1px solid var(--line); color:var(--ink); transition:background var(--t2); overflow:hidden; }
.lth-cap:nth-child(-n+3){ border-block-start:0; } .lth-cap:nth-child(3n+1){ border-inline-start:0; }
.lth-cap::after { content:""; position:absolute; inset:0; background:radial-gradient(80% 80% at 80% 0%,var(--glow),transparent 60%); opacity:0; transition:opacity var(--t2); }
.lth-cap:hover { background:var(--panel-2); } .lth-cap:hover::after { opacity:.5; }
.lth-cap__icon { position:relative; width:44px; height:44px; border-radius:12px; background:var(--panel-2); border:1px solid var(--line); display:grid; place-items:center; color:var(--accent); margin-block-end:1rem; transition:transform var(--t2), color var(--t2); }
.lth-cap:hover .lth-cap__icon { transform:translateY(-3px); color:var(--cta); }
.lth-cap__name { position:relative; font-weight:700; font-size:1.08rem; }
.lth-cap__desc { position:relative; color:var(--ink-soft); font-size:.9rem; margin:.3rem 0 0; }
.lth-cap__go { position:relative; display:inline-flex; align-items:center; gap:.35rem; margin-block-start:.9rem; font-family:var(--mono); font-size:.74rem; color:var(--accent); opacity:0; transform:translateY(4px); transition:opacity var(--t2), transform var(--t2); }
.lth-cap:hover .lth-cap__go { opacity:1; transform:none; }

/* ============================================================ EDITORIAL = */
.lth-editorial { display:grid; grid-template-columns:1.3fr 1fr; gap:1.6rem; align-items:stretch; }
.lth-lead-card { position:relative; display:flex; flex-direction:column; justify-content:flex-end; min-height:22rem; padding:1.8rem; border-radius:var(--r-lg); overflow:hidden; background:var(--panel); border:1px solid var(--line); box-shadow:var(--sh-2); color:var(--ink); }
.lth-lead-card__media { position:absolute; inset:0; z-index:0; }
.lth-lead-card__media img { width:100%; height:100%; object-fit:cover; }
.lth-lead-card::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 30%, color-mix(in srgb,var(--b-indigo) 88%, transparent)); }
.lth-lead-card.has-media { color:#fff; } .lth-lead-card.has-media .lth-lead-card__title a { color:#fff; }
.lth-lead-card > * { position:relative; z-index:1; }
.lth-lead-card__title { font-size:1.5rem; letter-spacing:-.02em; margin:.6rem 0 0; }
.lth-lead-card__title a { color:var(--ink); }
.lth-editorial__side { display:grid; gap:1rem; }
.lth-mini { display:grid; grid-template-columns:auto 1fr; gap:1rem; align-items:center; padding:1rem; background:var(--panel); border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--sh-1); transition:transform var(--t2), box-shadow var(--t2), border-color var(--t2); }
.lth-mini:hover { transform:translateX(-3px); border-color:var(--line-2); box-shadow:var(--sh-2); }
html[dir=rtl] .lth-mini:hover { transform:translateX(3px); }
.lth-mini__thumb { width:76px; height:76px; border-radius:var(--r-sm); object-fit:cover; background:var(--paper-2); }
.lth-mini__title { font-weight:600; font-size:1rem; } .lth-mini__title a { color:var(--ink); } .lth-mini__title a:hover { color:var(--accent); }
.lth-mini__meta { font-family:var(--mono); font-size:.72rem; color:var(--ink-faint); margin-block-start:.3rem; }

/* ============================================================ INDEX LIST = */
.lth-index { border-block-start:1px solid var(--line); }
.lth-index__item { display:grid; grid-template-columns:auto 1fr auto; gap:1.3rem; align-items:center; padding:1.4rem .5rem; border-block-end:1px solid var(--line); color:var(--ink); transition:padding var(--t2), background var(--t2); }
.lth-index__item:hover { background:var(--panel-2); padding-inline:1.2rem .5rem; }
html[dir=rtl] .lth-index__item:hover { padding-inline:.5rem 1.2rem; }
.lth-index__num { font-family:var(--mono); color:var(--ink-faint); font-size:.9rem; }
.lth-index__title { font-size:1.15rem; font-weight:600; letter-spacing:-.01em; }
.lth-index__title a { color:var(--ink); } .lth-index__item:hover .lth-index__title a { color:var(--accent); }
.lth-index__meta { font-family:var(--mono); font-size:.72rem; color:var(--ink-faint); margin-block-start:.25rem; }
.lth-index__go { color:var(--ink-faint); transition:transform var(--t2), color var(--t2); }
.lth-index__item:hover .lth-index__go { color:var(--accent); transform:translateX(-4px); }
html[dir=rtl] .lth-index__item:hover .lth-index__go { transform:translateX(4px); }

/* ============================================================== VERSUS = */
.lth-versus-list { display:grid; gap:1rem; }
.lth-versus { position:relative; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:1.2rem; padding:1.5rem 1.5rem 1.3rem; background:var(--panel); border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--sh-1); overflow:hidden; transition:transform var(--t2), box-shadow var(--t2), border-color var(--t2); }
.lth-versus:hover { transform:translateY(-3px); border-color:var(--line-2); box-shadow:var(--sh-3); }
.lth-versus__label { position:absolute; inset-block-start:.7rem; inset-inline:0; text-align:center; font-family:var(--mono); font-size:.68rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-faint); }
.lth-vs-side { display:flex; flex-direction:column; gap:.25rem; padding-block-start:1.1rem; }
.lth-vs-side.b { text-align:end; align-items:flex-end; }
.lth-vs-side .nm { font-weight:700; font-size:1.05rem; color:var(--ink); }
.lth-vs-side .sc { font-family:var(--mono); font-size:.9rem; color:var(--ink-soft); font-variant-numeric:tabular-nums; }
.lth-vs-side.win .nm { color:var(--cta-ink); display:inline-flex; align-items:center; gap:.35rem; }
.lth-vs-side.win .nm::before { content:"★"; color:var(--b-amber); font-size:.85em; }
.lth-vs-side.win.b .nm { flex-direction:row-reverse; }
.lth-vs-x { align-self:center; margin-block-start:1rem; width:44px; height:44px; display:grid; place-items:center; border-radius:50%; border:1px solid var(--line-2); background:var(--panel-2); font-family:var(--mono); font-size:.78rem; font-weight:600; letter-spacing:.06em; color:var(--ink-soft); }

/* =========================================================== METHODOLOGY = */
.lth-method { display:grid; grid-template-columns:repeat(4,1fr); gap:1.3rem; }
.lth-method__step { position:relative; padding-block-start:1.3rem; border-block-start:2px solid var(--line-2); }
.lth-method__step::before { content:""; position:absolute; inset-block-start:-2px; inset-inline-start:0; width:2.5rem; height:2px; background:linear-gradient(90deg,var(--accent),var(--cta)); }
.lth-method__num { font-family:var(--mono); font-size:.72rem; letter-spacing:.1em; color:var(--ink-faint); }
.lth-method__icon { width:40px; height:40px; border-radius:11px; background:var(--panel); border:1px solid var(--line); display:grid; place-items:center; color:var(--cta); margin-block:.9rem .8rem; box-shadow:var(--sh-1); }
.lth-method__step h3 { font-size:1.1rem; margin:0 0 .3rem; }
.lth-method__step p { color:var(--ink-soft); font-size:.92rem; margin:0; }

/* ============================================================ CTA PANEL = */
.lth-panel { position:relative; overflow:hidden; border-radius:var(--r-xl); padding:clamp(2.5rem,1.5rem + 4vw,4.5rem) clamp(1.5rem,1rem + 3vw,3.5rem); text-align:center; color:#fff; background:linear-gradient(140deg,#0C1226,#12183A 55%, color-mix(in srgb,var(--b-blue) 45%,#12183A)); box-shadow:var(--sh-4); }
.lth-panel::before { content:""; position:absolute; inset:0; background:radial-gradient(50% 60% at 80% 0%, var(--glow), transparent 60%), radial-gradient(45% 55% at 10% 100%, var(--glow-2), transparent 60%); opacity:.7; }
.lth-panel > * { position:relative; z-index:1; }
.lth-panel h2 { color:#fff; font-size:clamp(1.7rem,1.2rem + 2.2vw,2.6rem); letter-spacing:-.03em; }
.lth-panel p { color:rgba(255,255,255,.78); max-width:52ch; margin-inline:auto; }
.lth-panel__actions { display:flex; gap:.8rem; justify-content:center; flex-wrap:wrap; margin-block-start:1.8rem; }
.lth-panel .laithron-btn--ghost { --fg:#fff; border-color:rgba(255,255,255,.35); }
.lth-panel .laithron-btn--ghost:hover { --bg:rgba(255,255,255,.12); border-color:rgba(255,255,255,.6); }
.lth-panel__form { display:flex; gap:.5rem; max-width:30rem; margin:1.7rem auto 0; }
.lth-panel__form input { background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.22); color:#fff; }
.lth-panel__form input::placeholder { color:rgba(255,255,255,.6); }
.lth-panel__note { font-family:var(--mono); font-size:.72rem; color:rgba(255,255,255,.55); margin-block-start:.9rem; }

/* =============================================================== FOOTER = */
.laithron-site-footer { position:relative; background:var(--paper-2); border-block-start:1px solid var(--line); margin-block-start:clamp(3rem,2rem + 4vw,6rem); padding-block:clamp(2.5rem,2rem + 3vw,4.5rem) 0; }
.laithron-site-footer__grid { display:grid; grid-template-columns:1.6fr 1fr 1fr; gap:2.5rem; padding-block-end:2.5rem; }
.laithron-site-footer .laithron-brand__name { color:var(--ink); }
.laithron-site-footer__tagline { color:var(--ink-soft); margin-block-start:.8rem; max-width:34ch; }
.laithron-footer-col__title { font-family:var(--mono); font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; color:var(--ink-faint); margin:0 0 1.1rem; }
.laithron-menu--footer { flex-direction:column; align-items:flex-start; gap:.65rem; }
.laithron-menu--footer a { padding:0; color:var(--ink-soft); } .laithron-menu--footer a:hover { color:var(--accent); background:none; }
.laithron-site-footer__bar { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.5rem 1.5rem; padding-block:1.5rem; border-block-start:1px solid var(--line); font-family:var(--mono); font-size:.76rem; color:var(--ink-soft); }
.laithron-copyright { margin:0; }
.laithron-site-footer__bar .laithron-disclosure { margin:0; }
/* footer widget area (kept subtle if used) */
.laithron-widget { margin-block-start:1.2rem; } .laithron-widget__title { font-family:var(--mono); font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-faint); }

/* ============================================================== SINGLES = */
.laithron-article, .laithron-single { padding-block-start:.5rem; }
.laithron-article__header, .laithron-single__header { max-width:var(--read); margin-inline:auto; margin-block-end:1.6rem; }
.laithron-article__title, .laithron-single__title { font-size:clamp(2rem,1.4rem + 2.6vw,3.1rem); letter-spacing:-.03em; line-height:1.08; }
.laithron-article__media, .laithron-single__media { max-width:var(--wrap); margin:1.6rem auto 2.6rem; border-radius:var(--r-lg); overflow:hidden; box-shadow:var(--sh-3); }
.laithron-article__footer { max-width:var(--read); margin:2rem auto 0; }
.laithron-tags { display:flex; flex-wrap:wrap; gap:.5rem; margin-block:1.6rem; }
.laithron-tags a { font-family:var(--mono); font-size:.74rem; padding:.28rem .7rem; background:var(--panel-2); border:1px solid var(--line); border-radius:var(--pill); color:var(--ink-soft); }
.laithron-tags a:hover { border-color:var(--accent); color:var(--accent); }
.laithron-review__subject { color:var(--ink-soft); }
.laithron-review__subject a { color:var(--link); text-decoration:underline; text-underline-offset:2px; }   /* a11y: distinguish inline link by more than colour */
.lth-freshness { display:inline-flex; align-items:center; gap:.4rem; margin:.65rem 0 0; font-family:var(--mono); font-size:.76rem; color:var(--ink-soft); }
.lth-freshness .lth-icon { width:.95rem; height:.95rem; color:var(--cta); flex:none; }
.lth-freshness time { color:var(--ink); }

/* Methodology / trust layer */
.lth-methodology { margin-block:2.5rem; }
.lth-methodology__head { max-width:62ch; margin-block-end:1.6rem; }
.lth-methodology__title { font-family:var(--display); font-size:clamp(1.6rem,1.2rem + 1.8vw,2.3rem); margin:.2rem 0 .5rem; }
.lth-methodology__lede { color:var(--ink-soft); line-height:1.85; margin:0; }
.lth-methodology__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
.lth-methodology__dim { padding:1.1rem; background:var(--panel); border:1px solid var(--line); border-radius:var(--r-lg); box-shadow:var(--sh-1); }
.lth-methodology__icon { display:inline-flex; color:var(--accent); }
.lth-methodology__dimname { font-size:1rem; margin:.6rem 0 .3rem; color:var(--ink); }
.lth-methodology__dimdesc { color:var(--ink-soft); font-size:.86rem; line-height:1.65; margin:0; }
.lth-methodology__notes { display:grid; grid-template-columns:repeat(2,1fr); gap:1.1rem; margin-block-start:1.6rem; }
.lth-methodology__note { padding:1.1rem 1.2rem; border:1px solid var(--line-2); border-radius:var(--r-lg); background:var(--panel-2); }
.lth-methodology__note h3 { font-size:1rem; margin:0 0 .4rem; color:var(--ink); display:flex; align-items:center; gap:.45rem; }
.lth-methodology__note h3::before { content:""; width:.5rem; height:.5rem; border-radius:50%; background:var(--cta); flex:none; }
.lth-methodology__note p { color:var(--ink-soft); font-size:.9rem; line-height:1.75; margin:0; }
.lth-methodlink { display:inline-flex; align-items:center; gap:.35rem; font-family:var(--mono); font-size:.75rem; color:var(--link); text-decoration:none; margin-block-start:.55rem; }
.lth-methodlink:hover { text-decoration:underline; }
.lth-methodlink .lth-icon { width:.95rem; height:.95rem; flex:none; }
.laithron-single__meta-row { display:flex; flex-wrap:wrap; align-items:center; gap:.2rem 1.2rem; }
@media (max-width:1024px){ .lth-methodology__grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .lth-methodology__grid, .lth-methodology__notes { grid-template-columns:1fr; } }
.laithron-eyebrow { /* reuse for single eyebrows */ }

.laithron-single__layout { display:grid; grid-template-columns:minmax(0,1fr) 350px; gap:clamp(1.5rem,1rem + 2vw,3rem); align-items:start; max-width:var(--wrap); margin-inline:auto; }
.laithron-single__main { min-inline-size:0; } .laithron-single__main.laithron-prose { margin-inline:0; max-width:none; }
.laithron-single__aside { position:sticky; inset-block-start:calc(var(--header-h) + 1rem); display:grid; gap:1.2rem; }
.laithron-single__aside .laithron-cta { width:100%; }
.laithron-single__wide { max-width:var(--wrap); margin-inline:auto; }
.laithron-single__prose { max-width:var(--read); margin:2.5rem auto 0; }
.laithron-single__heading { display:flex; align-items:center; gap:1rem; margin-block-end:.8rem; }
.laithron-company__logo img { width:70px; height:70px; border-radius:var(--r); object-fit:contain; background:var(--panel-2); border:1px solid var(--line); padding:5px; }

/* archives / search / 404 */
.laithron-archive-header { text-align:center; padding-block:clamp(2.5rem,1.5rem + 3vw,4rem) 1rem; position:relative; }
.laithron-archive-header__title { font-size:clamp(1.9rem,1.4rem + 2vw,2.8rem); letter-spacing:-.03em; }
.laithron-archive-header__desc { color:var(--ink-soft); max-width:52ch; margin-inline:auto; }
.laithron-pagination, .pagination { display:flex; gap:.4rem; flex-wrap:wrap; justify-content:center; margin-block:3rem 1rem; }
.laithron-pagination a, .laithron-pagination span, .pagination a, .pagination span { display:grid; place-items:center; min-width:42px; height:42px; padding:0 .8rem; border:1px solid var(--line); border-radius:var(--r-sm); background:var(--panel); color:var(--ink-soft); font-family:var(--mono); font-size:.85rem; transition:border-color var(--t1), color var(--t1); }
.laithron-pagination a:hover, .pagination a:hover { border-color:var(--accent); color:var(--accent); }
.laithron-pagination .current, .pagination .current { background:var(--ink); color:var(--paper); border-color:var(--ink); }
.laithron-none, .laithron-404 { text-align:center; padding-block:clamp(3rem,2rem + 4vw,6rem); max-width:42rem; margin-inline:auto; }
.laithron-404__code { font-family:var(--mono); font-size:clamp(4rem,3rem + 6vw,8rem); font-weight:600; line-height:1; letter-spacing:-.04em; background:linear-gradient(120deg,var(--accent),var(--cta)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.laithron-front-content { padding-block:2rem; }

/* ================================================================ MOTION = */
.reveal { opacity:0; transform:translateY(18px); }
.reveal.is-in { opacity:1; transform:none; transition:opacity .7s var(--e), transform .7s var(--e); transition-delay:calc(var(--i,0)*80ms); }
.count { font-variant-numeric:tabular-nums; }

/* ============================================================ RESPONSIVE = */
@media (max-width:1024px){
	.lth-hero__grid { grid-template-columns:1fr; }
	.lth-hero__aside { max-width:30rem; }
	.lth-board { grid-template-columns:1fr; }
	.lth-editorial { grid-template-columns:1fr; }
	.laithron-single__layout { grid-template-columns:1fr; }
	.laithron-single__aside { position:static; }
	.lth-caps { grid-template-columns:repeat(2,1fr); }
	.lth-cap:nth-child(3n+1){ border-inline-start:1px solid var(--line); } .lth-cap:nth-child(odd){ border-inline-start:0; }
	.lth-cap:nth-child(2){ border-block-start:0; }
	.lth-method { grid-template-columns:repeat(2,1fr); }
	.laithron-site-footer__grid { grid-template-columns:1fr 1fr; }
	.lth-metrics { grid-template-columns:repeat(2,1fr); } .lth-metric:nth-child(-n+2){ } .lth-metric:nth-child(odd){ border-inline-start:0; } .lth-metric:nth-child(n+3){ border-block-start:1px solid var(--line); }
}
@media (max-width:640px){
	.laithron-nav-toggle { display:inline-block; }
	.laithron-primary-nav { margin-inline-start:0; order:3; }
	.laithron-primary-nav .laithron-menu { display:none; position:absolute; inset-inline:0; inset-block-start:100%; flex-direction:column; align-items:stretch; gap:.1rem; padding:.6rem; background:var(--paper); border-block:1px solid var(--line); box-shadow:var(--sh-3); }
	.laithron-primary-nav.is-open .laithron-menu { display:flex; } .laithron-menu a { padding:.85rem 1rem; }
	.laithron-site-header__inner { position:relative; flex-wrap:wrap; }
	.lth-caps { grid-template-columns:1fr; } .lth-cap { border-inline-start:0 !important; border-block-start:1px solid var(--line) !important; }
	.lth-method { grid-template-columns:1fr; }
	.laithron-proscons { grid-template-columns:1fr; }
	.laithron-site-footer__grid { grid-template-columns:1fr; gap:1.8rem; }
	.lth-showrow { grid-template-columns:5rem 1fr auto; }
	.laithron-hero__title, .lth-hero__actions .laithron-btn { }
	.lth-panel__form { flex-direction:column; }
}
@media (prefers-reduced-motion:reduce){
	*, *::before, *::after { animation-duration:.001ms!important; transition-duration:.001ms!important; scroll-behavior:auto!important; }
	.reveal { opacity:1!important; transform:none!important; }
	.laithron-card:hover, .lth-board__row:hover, .lth-mini:hover { transform:none; }
}

/* stacking fixes for span-based labels */
.lth-cap__name, .lth-cap__desc, .lth-cap__go,
.lth-index__title, .lth-index__meta,
.lth-mini__title, .lth-mini__meta { display: block; }
.lth-cap__go { width: fit-content; }

/* image-less editorial lead card → premium gradient feature */
.lth-lead-card:not(.has-media) { background: radial-gradient(120% 90% at 85% 0%, color-mix(in srgb,var(--b-blue) 42%, #12183A), transparent 65%), linear-gradient(150deg,#0E1424,#12183A); color:#fff; border-color:transparent; }
.lth-lead-card:not(.has-media)::after { display:none; }
.lth-lead-card:not(.has-media) .lth-lead-card__title a { color:#fff; }
.lth-lead-card:not(.has-media) .laithron-badge--new { background:rgba(255,255,255,.14); color:#fff; border-color:transparent; }
/* collapse editorial when there are no side items */
.lth-editorial:has(.lth-editorial__side:empty) { grid-template-columns:1fr; }
.lth-editorial__side:empty { display:none; }

/* ============================================================
   COMMENTS — localized, engineered to match the design language
   ============================================================ */
.laithron-comments { margin-block-start:3.5rem; padding-block-start:2.5rem; border-block-start:1px solid var(--line); }
.laithron-comments__head { margin-block-end:1.6rem; }
.laithron-comments__title { font-size:clamp(1.3rem,2.6vw,1.7rem); letter-spacing:-.01em; margin:.5rem 0 0; }
.laithron-comments__list { list-style:none; margin:0 0 2.5rem; padding:0; display:flex; flex-direction:column; gap:1rem; }
.laithron-comments__list .children { list-style:none; margin:1rem 0 0; padding-inline-start:clamp(1rem,3vw,2.2rem); border-inline-start:1px solid var(--line); display:flex; flex-direction:column; gap:1rem; }
.laithron-comments__list li.comment { margin:0; }
.laithron-comments__list .comment-body { position:relative; background:var(--panel); border:1px solid var(--line); border-radius:var(--r); padding:1.15rem 1.3rem; box-shadow:var(--sh-1); }
.laithron-comments__list .comment-author { display:flex; align-items:center; gap:.7rem; margin-block-end:.5rem; }
.laithron-comments__list .comment-author .avatar { width:40px; height:40px; border-radius:var(--pill); border:1px solid var(--line); }
.laithron-comments__list .comment-author .fn { font-style:normal; font-weight:650; color:var(--ink); font-size:.95rem; }
.laithron-comments__list .comment-author .says { display:none; }
.laithron-comments__list .comment-meta { font-family:var(--mono); font-size:.7rem; letter-spacing:.03em; color:var(--ink-faint); margin-inline-start:auto; }
.laithron-comments__list .comment-meta a { color:inherit; }
.laithron-comments__list .comment-content { color:var(--ink-soft); font-size:.98rem; line-height:1.75; }
.laithron-comments__list .comment-content p { margin:0 0 .7rem; }
.laithron-comments__list .comment-content p:last-child { margin-block-end:0; }
.laithron-comments__list .reply { margin-block-start:.6rem; }
.laithron-comments__list .comment-reply-link { display:inline-flex; align-items:center; gap:.35rem; font-family:var(--mono); font-size:.72rem; letter-spacing:.04em; color:var(--accent); text-transform:uppercase; }
.laithron-comments__list .comment-reply-link:hover { text-decoration:underline; text-underline-offset:3px; }
.laithron-comments__list .bypostauthor > .comment-body { border-color:color-mix(in srgb,var(--accent) 40%, var(--line)); }
.laithron-comments__list .bypostauthor > .comment-body::before { content:"محرّر"; position:absolute; inset-block-start:1.15rem; inset-inline-end:1.3rem; font-family:var(--mono); font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); background:color-mix(in srgb,var(--accent) 12%, transparent); border:1px solid color-mix(in srgb,var(--accent) 30%, transparent); padding:.15rem .5rem; border-radius:var(--pill); }
.laithron-comments__nav { display:flex; justify-content:space-between; gap:1rem; margin-block-end:2.5rem; font-family:var(--mono); font-size:.8rem; }
.laithron-comments__nav a { color:var(--accent); }
.laithron-comments__closed { font-family:var(--mono); font-size:.82rem; color:var(--ink-faint); margin-block-end:2rem; }

/* comment form */
.laithron-commentform { background:var(--panel-2); border:1px solid var(--line); border-radius:var(--r-lg); padding:clamp(1.4rem,3vw,2rem); box-shadow:var(--sh-1); }
.comment-respond .comment-reply-title { font-size:clamp(1.15rem,2.4vw,1.45rem); letter-spacing:-.01em; margin:0 0 .4rem; }
.comment-respond .comment-reply-title small { font-family:var(--mono); font-size:.72rem; font-weight:400; margin-inline-start:.6rem; }
.comment-respond .comment-reply-title small a { color:var(--accent); }
.laithron-commentform__notes { font-family:var(--mono); font-size:.72rem; letter-spacing:.02em; color:var(--ink-faint); margin:0 0 1.4rem; }
.comment-form { display:grid; grid-template-columns:1fr 1fr; gap:1rem 1.2rem; }
.laithron-commentform__field { margin:0; display:flex; flex-direction:column; gap:.45rem; }
.laithron-commentform__field--full, .comment-form-comment, .comment-form-cookies-consent, .form-submit { grid-column:1 / -1; }
.laithron-commentform__field label, .comment-form label { font-family:var(--mono); font-size:.72rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft); }
.laithron-commentform__req { color:var(--accent); }
.comment-form input[type=text], .comment-form input[type=email], .comment-form input[type=url], .comment-form textarea { width:100%; }
.comment-form-cookies-consent { display:flex; align-items:center; gap:.55rem; font-size:.82rem; color:var(--ink-soft); }
.comment-form-cookies-consent input { width:auto; }
.comment-form-cookies-consent label { font-family:inherit; text-transform:none; letter-spacing:0; font-size:.82rem; color:var(--ink-soft); }
.form-submit { margin:0; }
.form-submit .submit { cursor:pointer; }
@media (max-width:640px){ .comment-form { grid-template-columns:1fr; } }

/* ============================================================
   LAITHRON BRAND IDENTITY LAYER  (v2.1 — "Signal")
   Concept: measured infrastructure. One motif — a precise signal
   trace with a travelling pulse (the "ping") — recurs across the
   product and reinforces trust / engineering / uptime / performance.
   Additive only: no layout, backend, SEO, REST, or Elementor change.
   ============================================================ */

/* ---- 1. Signature Arabic display voice (Thmanyah Serif Display) — headlines only ---- */
.lth-hero__title,
.lth-title,
.laithron-article__title,
.laithron-review__title,
.single-laithron_company .laithron-company__name,
.laithron-comments__title,
.comment-respond .comment-reply-title,
.lth-panel__title {
	font-family: var(--display);
	font-weight: 600;
	line-height: 1.28;
	letter-spacing: 0;               /* Thmanyah display is geometric; no negative tracking in Arabic */
}
.lth-hero__title { font-weight: 700; line-height: 1.22; }
/* keep Latin-heavy monspace bits and eyebrows on their own faces (unchanged) */

/* ---- 2. The Signal Trace + Ping (signature element + interaction) ---- */
:root { --sig: linear-gradient(90deg, transparent, var(--accent) 24%, var(--cta) 76%, transparent); }
/* full-width hero trace: a thin uptime-style baseline with a pulse that sweeps */
.lth-trace { position:relative; height:1px; width:100%; margin-block:1.4rem 0;
	background:linear-gradient(90deg, transparent, var(--line-2) 12%, var(--line-2) 88%, transparent); overflow:visible; }
.lth-trace::before { /* the luminous ping */
	content:""; position:absolute; inset-block-start:50%; inset-inline-start:0;
	width:56px; height:2px; transform:translateY(-50%);
	background:var(--sig); border-radius:2px;
	filter:drop-shadow(0 0 6px var(--glow)) drop-shadow(0 0 10px var(--glow-2));
	animation:lth-sweep 7s var(--e) 1.2s infinite;
	will-change:transform, opacity; opacity:0;
}
.lth-trace::after { /* the ping head — a bright point */
	content:""; position:absolute; inset-block-start:50%; inset-inline-start:0; width:5px; height:5px;
	transform:translate(-50%,-50%); border-radius:50%; background:var(--cta);
	box-shadow:0 0 0 3px color-mix(in srgb,var(--cta) 22%, transparent), 0 0 12px var(--glow-2);
	animation:lth-sweep-head 7s var(--e) 1.2s infinite; opacity:0;
}
@keyframes lth-sweep {      /* RTL-natural: enters from the end, resolves at the start */
	0%   { inset-inline-start:100%; opacity:0; }
	8%   { opacity:1; }
	46%  { opacity:1; }
	60%  { inset-inline-start:0%; opacity:0; }
	100% { inset-inline-start:0%; opacity:0; }
}
@keyframes lth-sweep-head {
	0%   { inset-inline-start:100%; opacity:0; }
	8%   { opacity:1; }
	52%  { opacity:1; }
	62%  { inset-inline-start:0%; opacity:0; }
	100% { inset-inline-start:0%; opacity:0; }
}

/* the recurring micro-signal on every section eyebrow (site-wide, no markup change) */
.lth-eyebrow { position:relative; }
.lth-eyebrow::after {
	content:""; display:inline-block; inline-size:34px; block-size:1px; margin-inline-start:.2rem;
	background:linear-gradient(90deg, var(--accent), color-mix(in srgb,var(--accent) 0%, transparent));
	position:relative; opacity:.9;
}
/* the ping fires as each section scrolls into view (reuses .is-in / .reveal) */
.reveal .lth-eyebrow::before, .is-in .lth-eyebrow::before,
.lth-sec .lth-eyebrow::before {
	content:""; position:absolute; inset-block-start:50%; inset-inline-end:-38px;
	width:4px; height:4px; border-radius:50%; transform:translateY(-50%); background:var(--cta);
	box-shadow:0 0 8px var(--glow-2); opacity:0;
}
.is-in .lth-eyebrow::before, .reveal.is-in .lth-eyebrow::before {
	animation:lth-ping-dot 1.6s var(--e) .2s 1;
}
@keyframes lth-ping-dot {
	0%   { transform:translate(0,-50%) scale(.4); opacity:0; }
	30%  { opacity:1; }
	100% { transform:translate(-30px,-50%) scale(1); opacity:0; }
}

/* ---- 3. Background system — grid + measurement marks + registration corners ---- */
.lth-ticks { position:relative; }
.lth-ticks::before {           /* faint instrument ticks along the top edge */
	content:""; position:absolute; inset-block-start:0; inset-inline:0; height:10px; pointer-events:none;
	background-image:repeating-linear-gradient(90deg, var(--line-2) 0 1px, transparent 1px 28px);
	-webkit-mask-image:linear-gradient(90deg, transparent, #000 20%, #000 80%, transparent);
	        mask-image:linear-gradient(90deg, transparent, #000 20%, #000 80%, transparent);
	opacity:.5;
}
.lth-corner { position:relative; }
.lth-corner::before, .lth-corner::after {   /* engineering registration marks */
	content:""; position:absolute; width:10px; height:10px; border:1px solid var(--line-2); pointer-events:none; opacity:.7;
}
.lth-corner::before { inset-block-start:-1px; inset-inline-start:-1px; border-inline-end:0; border-block-end:0; }
.lth-corner::after  { inset-block-end:-1px;  inset-inline-end:-1px;  border-inline-start:0; border-block-start:0; }

/* ---- 4. Rating as a SIGNAL METER — bars gain instrument ticks ---- */
.lth-showrow .bar, .laithron-criteria__bar {
	position:relative;
	background-image:
		repeating-linear-gradient(90deg, color-mix(in srgb,var(--line-2) 60%, transparent) 0 1px, transparent 1px 10%),
		linear-gradient(0deg, var(--panel-2), var(--panel-2));
	background-blend-mode:normal;
}
.lth-showrow .bar i, .laithron-criteria__bar i { position:relative; z-index:1; }
/* signal-strength notch at the fill head */
.lth-showrow .bar i::after, .laithron-criteria__bar i::after {
	content:""; position:absolute; inset-block:-2px; inset-inline-end:0; width:2px; border-radius:2px;
	background:var(--cta); box-shadow:0 0 6px var(--glow-2); opacity:.9;
}

/* ---- 5. Premium badges — measured / certified chips with a live dot ---- */
.laithron-badge { position:relative; }
.laithron-badge--choice, .laithron-badge--best, .laithron-badge--new {
	padding-inline-start:.55rem;
}
.laithron-badge--choice::before, .laithron-badge--new::before {
	content:""; width:5px; height:5px; border-radius:50%; background:currentColor;
	box-shadow:0 0 0 3px color-mix(in srgb,currentColor 18%, transparent); flex:0 0 auto;
	animation:lth-live 2.4s ease-in-out infinite;
}
@keyframes lth-live { 0%,100%{ opacity:.5; transform:scale(.85);} 50%{ opacity:1; transform:scale(1);} }

/* ---- 6. Affiliate CTA identity — the "go" signal ---- */
.laithron-btn--cta, .laithron-cta {
	position:relative; overflow:hidden;
	--_sheen: color-mix(in srgb, #fff 22%, transparent);
}
.laithron-btn--cta::after, .laithron-cta::after {   /* a single slow sheen sweep = the "signal is live" cue */
	content:""; position:absolute; inset-block:0; inset-inline-start:-40%; width:40%;
	background:linear-gradient(90deg, transparent, var(--_sheen), transparent);
	transform:skewX(-18deg); opacity:0;
}
.laithron-btn--cta:hover::after, .laithron-cta:hover::after { animation:lth-sheen 1.1s var(--e) 1; }
@keyframes lth-sheen { 0%{ inset-inline-start:-40%; opacity:0;} 20%{opacity:1;} 100%{ inset-inline-start:120%; opacity:0;} }

/* ---- 7. Premium states — all built from the signal motif ---- */
/* empty: a flat line — "no signal yet" */
.lth-empty { text-align:center; padding:clamp(2.5rem,6vw,5rem) 1.5rem; }
.lth-empty__trace { height:1px; width:min(320px,70%); margin:0 auto 1.4rem;
	background:linear-gradient(90deg, transparent, var(--line-2), transparent); position:relative; }
.lth-empty__trace::after { content:""; position:absolute; inset-block-start:50%; inset-inline-start:50%;
	width:5px; height:5px; border-radius:50%; transform:translate(-50%,-50%); background:var(--ink-faint); }
.lth-empty__title { font-family:var(--display); font-weight:600; font-size:1.3rem; margin:0 0 .35rem; }
.lth-empty__text { color:var(--ink-soft); max-width:34rem; margin:0 auto 1.2rem; }
/* loading: a scanning sweep (skeleton) */
.lth-skeleton { position:relative; overflow:hidden; background:var(--panel-2); border-radius:var(--r-sm);
	border:1px solid var(--line); min-height:1rem; }
.lth-skeleton::after { content:""; position:absolute; inset:0;
	background:linear-gradient(90deg, transparent, color-mix(in srgb,var(--accent) 10%, transparent), transparent);
	transform:translateX(-100%); animation:lth-scan 1.4s ease-in-out infinite; }
@keyframes lth-scan { 100% { transform:translateX(100%); } }
.lth-loading { display:inline-flex; align-items:center; gap:.6rem; font-family:var(--mono); font-size:.8rem; color:var(--ink-soft); }
.lth-loading__dot { width:7px; height:7px; border-radius:50%; background:var(--accent);
	box-shadow:0 0 8px var(--glow); animation:lth-live 1.2s ease-in-out infinite; }
/* success: the pulse resolves to a steady green tick */
.lth-note { display:flex; gap:.7rem; align-items:flex-start; padding:.9rem 1.1rem; border-radius:var(--r-sm);
	border:1px solid var(--line); background:var(--panel); font-size:.95rem; }
.lth-note__icon { flex:0 0 auto; width:22px; height:22px; border-radius:50%; display:grid; place-items:center;
	color:#fff; margin-block-start:.1rem; }
.lth-note--success { border-color:color-mix(in srgb,var(--cta) 34%, var(--line)); background:var(--tint-em); }
.lth-note--success .lth-note__icon { background:var(--cta); box-shadow:0 0 0 3px color-mix(in srgb,var(--cta) 18%, transparent); }
/* error: a broken line — amber */
.lth-note--error { border-color:color-mix(in srgb,var(--b-amber) 40%, var(--line)); background:var(--tint-am); }
.lth-note--error .lth-note__icon { background:var(--b-amber); box-shadow:0 0 0 3px color-mix(in srgb,var(--b-amber) 18%, transparent); }
.lth-note__title { font-weight:650; margin:0 0 .1rem; }
.lth-note__text { color:var(--ink-soft); margin:0; }

/* ---- reduced motion: keep the identity, drop the movement ---- */
@media (prefers-reduced-motion:reduce){
	.lth-trace::before, .lth-trace::after,
	.is-in .lth-eyebrow::before,
	.laithron-badge--choice::before, .laithron-badge--new::before,
	.lth-skeleton::after, .lth-loading__dot { animation:none !important; }
	.lth-trace::before { opacity:.6; inset-inline-start:0; }
	.lth-trace::after  { opacity:1; inset-inline-start:0; }
}

/* =========================================================
   Approved brand lockup — ليثرون wordmark (Thmanyah Sans Black)
   Single source of truth: laithron_logo_lockup() / laithron_logo_wordmark().
   ========================================================= */
.laithron-lockup{ display:inline-flex; align-items:center; gap:.6rem; }
.laithron-wordmark{
	font-family:var(--sans);
	font-weight:900;
	font-size:1.36rem;
	line-height:1;
	letter-spacing:0;
	color:var(--ink);
	-webkit-font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}
.laithron-site-footer .laithron-wordmark{ color:var(--ink); }
/* legacy alias — any partial still emitting brand__name stays on-brand */
.laithron-brand__name{ font-family:var(--sans); font-weight:900; letter-spacing:0; }

/* ==================================================== ARABIC TYPOGRAPHY SAFETY = */
/*
 * Arabic script is cursive: connected letters MUST touch. ANY letter-spacing
 * (positive or negative) breaks those joins and makes words look "cut apart".
 * The product is Arabic-first (html[dir="rtl"]), so we authoritatively neutralise
 * letter-spacing on all text; the few Latin NUMERAL displays (scores, prices)
 * re-declare their tight mono tracking just below. Font fallback for Arabic in
 * "mono" labels is handled by the --mono token (Thmanyah as Arabic fallback).
 * calt/liga/kern (Arabic shaping) remain ON via the body rule. !important is used
 * deliberately: "Arabic is never tracked" is a script-correctness invariant, not a
 * style preference, and it must win over every per-component rule site-wide.
 */
html[dir="rtl"] :is(
	h1,h2,h3,h4,h5,h6,p,li,a,span,b,strong,em,label,button,summary,div,
	th,td,small,time,output,figcaption,dt,dd,blockquote,input,select,textarea,legend,cite,q
) {
	letter-spacing: normal !important;
}
/* Note: score/price numbers previously carried -.02em tracking; dropped, because
   several render as Arabic-Indic numerals (٤٫٦٠) where tracking is wrong, and
   Latin digits read fine at normal spacing. One rule, no per-numeral exceptions. */

/* ==================================================== AFFILIATE OFFER BLOCK ==== */
/*
 * Coupon-aware conversion block rendered by [laithron_offer]. Presentation only;
 * the CTA + coupon + destination all come from the central affiliate registry.
 */
.laithron-offer{
	margin: 1.6rem 0;
	padding: 1.25rem 1.4rem;
	border: 1px solid var(--line, #e6e8ec);
	border-radius: 14px;
	background: var(--surface-2, #f7f8fa);
	text-align: center;
}
.laithron-offer__eyebrow{
	margin: 0 0 .75rem;
	font-weight: 800;
	font-size: .95rem;
	color: var(--brand, #0e7c66);
}
.laithron-offer__cta{
	display: inline-block;
	margin: 0 auto .6rem;
}
.laithron-offer__coupon{
	margin: .5rem 0 .25rem;
	font-size: 1rem;
}
.laithron-offer__code{
	display: inline-block;
	padding: .2em .6em;
	border: 1px dashed var(--brand, #0e7c66);
	border-radius: 8px;
	background: #fff;
	font-family: var(--mono);
	font-weight: 700;
	letter-spacing: .04em;
}
.laithron-offer__note{
	margin: .5rem 0 0;
	font-size: .82rem;
	color: var(--ink-faint, #6b7280);
}

/* ==================================================== SERVICE CTA ("تواصل معنا") = */
/*
 * Second conversion path (professional help). Deliberately lighter than the
 * article and the affiliate offer block — a calm next step, not an ad banner.
 */
.laithron-service-cta{
	margin: 2rem 0 1rem;
	padding: 1.1rem 1.25rem;
	border: 1px solid var(--line, #e6e8ec);
	border-inline-start: 3px solid var(--brand, #0e7c66);
	border-radius: 12px;
	background: var(--surface-2, #f7f8fa);
}
.laithron-service-cta__head{
	margin: 0 0 .35rem;
	font-weight: 700;
	font-size: 1.02rem;
	color: var(--ink, #1a1f26);
}
.laithron-service-cta__text{
	margin: 0 0 .8rem;
	font-size: .95rem;
	color: var(--ink-soft, #4b5563);
	line-height: 1.7;
}
.laithron-service-cta__btn{
	display: inline-block;
	padding: .5rem 1.15rem;
	border-radius: 9px;
	background: var(--brand, #0e7c66);
	color: #fff;
	font-weight: 700;
	font-size: .95rem;
	text-decoration: none;
	transition: background .15s ease;
}
.laithron-service-cta__btn:hover,
.laithron-service-cta__btn:focus-visible{
	background: var(--brand-dark, #0a5c4b);
	color: #fff;
}
@media (max-width: 640px){
	.laithron-service-cta{ padding: 1rem; }
	.laithron-service-cta__btn{ display: block; text-align: center; }
}

/* ==================================================== LEAD / CONTACT FORM ======= */
.laithron-lead{ max-width: 640px; margin: 1.5rem 0; }
.laithron-lead__row{ margin: 0 0 1rem; }
.laithron-lead__row label{
	display: block;
	margin: 0 0 .35rem;
	font-weight: 600;
	font-size: .95rem;
	color: var(--ink, #1a1f26);
}
.laithron-lead__row input,
.laithron-lead__row select,
.laithron-lead__row textarea{
	width: 100%;
	padding: .65rem .8rem;
	border: 1px solid var(--line, #cdd2da);
	border-radius: 10px;
	background: #fff;
	font: inherit;
	color: var(--ink, #1a1f26);
}
.laithron-lead__row input:focus,
.laithron-lead__row select:focus,
.laithron-lead__row textarea:focus{
	outline: 2px solid var(--brand, #0e7c66);
	outline-offset: 1px;
	border-color: var(--brand, #0e7c66);
}
.laithron-lead__submit{
	display: inline-block;
	padding: .7rem 1.6rem;
	border: 0;
	border-radius: 10px;
	background: var(--brand, #0e7c66);
	color: #fff;
	font-weight: 700;
	font-size: 1rem;
	cursor: pointer;
	transition: background .15s ease;
}
.laithron-lead__submit:hover,
.laithron-lead__submit:focus-visible{ background: var(--brand-dark, #0a5c4b); }
.laithron-lead__note{ margin: .8rem 0 0; font-size: .82rem; color: var(--ink-faint, #6b7280); }
.laithron-lead__success{
	padding: 1.1rem 1.25rem;
	border: 1px solid #b7e0c9;
	border-inline-start: 3px solid #1a7f37;
	border-radius: 12px;
	background: #f0faf3;
	color: #14532d;
}
.laithron-lead__error{
	margin: 0 0 1rem;
	padding: .8rem 1rem;
	border: 1px solid #f0c2c2;
	border-inline-start: 3px solid #b32d2e;
	border-radius: 10px;
	background: #fdf2f2;
	color: #7a1f1f;
}
/* Honeypot — hidden from humans + assistive tech, still fillable by bots. */
.laithron-lead__hp{ position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; padding: 0; margin: -1px; border: 0; }
