/* ==========================================================================
   Lucky Slots brand stylesheet (luckyslotsx.com)
   Premium US editorial aesthetic — Vegas Gold + Emerald Green + Royal Purple.
   Scope: body.lv-slots-front.sm-shell
   ========================================================================== */

body.lv-slots-front.sm-shell {
	--sm-bg:           #FAFBF7;
	--sm-bg-soft:      #F1F7EF;
	--sm-bg-tint:      #FFF6DE;
	--sm-bg-plum:      #F0EAFF;
	--sm-ink:          #0B1F17;
	--sm-ink-dim:      #2F4A3D;
	--sm-muted:        #6B7A70;
	--sm-primary:      #0E9F6E;
	--sm-primary-dark: #0A7F56;
	--sm-primary-soft: rgba(14, 159, 110, 0.10);
	--sm-secondary:    #E8B842;
	--sm-secondary-dk: #B78A18;
	--sm-accent:       #6D28D9;
	--sm-accent-soft:  rgba(109, 40, 217, 0.10);
	--sm-success:      #16A34A;
	--sm-danger:       #DC2626;
	--sm-border:       rgba(11, 31, 23, 0.08);
	--sm-border-str:   rgba(11, 31, 23, 0.14);
	--sm-radius-lg:    1.25rem;
	--sm-radius:       0.9rem;
	--sm-radius-sm:    0.55rem;
	--sm-shadow-sm:    0 2px 8px rgba(11, 31, 23, 0.04);
	--sm-shadow-md:    0 10px 28px rgba(11, 31, 23, 0.08);
	--sm-shadow-lg:    0 24px 60px rgba(11, 31, 23, 0.14);
	--sm-max:          1200px;

	background: var(--sm-bg);
	color: var(--sm-ink);
	font-family: 'Inter', ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body.lv-slots-front.sm-shell .sm-main {
	color: var(--sm-ink);
	line-height: 1.6;
	font-size: 1rem;
	overflow-x: clip;
}

/* Header/footer tweaks inside SM shell --------------------------------------- */
body.lv-slots-front.sm-shell .lv-header-cta {
	background-image: linear-gradient(135deg, #0E9F6E 0%, #E8B842 100%) !important;
	box-shadow: 0 8px 20px rgba(14, 159, 110, 0.25) !important;
}
body.lv-slots-front.sm-shell .lv-header-cta:hover {
	background-image: linear-gradient(135deg, #12B57E 0%, #FFD257 100%) !important;
}
body.lv-slots-front.sm-shell header a:hover,
body.lv-slots-front.sm-shell #lv-nav-desktop a:hover,
body.lv-slots-front.sm-shell #lv-nav-mobile a:hover {
	color: #FFD786 !important;
}
body.lv-slots-front.sm-shell .lv-footer-nav a:hover {
	color: #FFD786 !important;
}

/* Containers & sections ------------------------------------------------------ */
.sm-wrap { max-width: var(--sm-max); margin-inline: auto; padding-inline: clamp(1.1rem, 3vw, 2rem); }
.sm-section { padding-block: clamp(2.8rem, 5.5vw, 4.8rem); position: relative; }
.sm-section--tint { background: var(--sm-bg-soft); }
.sm-section--plum { background: linear-gradient(180deg, var(--sm-bg-plum) 0%, var(--sm-bg) 100%); }
.sm-section--pink { background: linear-gradient(180deg, var(--sm-bg-tint) 0%, var(--sm-bg) 100%); }

.sm-section__head { max-width: 820px; margin: 0 auto clamp(2rem, 4vw, 3rem); text-align: center; }
.sm-section__kicker {
	display: inline-block;
	padding: .35rem 1rem;
	border-radius: 999px;
	background: var(--sm-primary-soft);
	color: var(--sm-primary);
	font-weight: 700;
	font-size: .72rem;
	letter-spacing: .18em;
	text-transform: uppercase;
	margin-bottom: 1rem;
}
.sm-section__title {
	font-size: clamp(1.3rem, 2.4vw, 1.85rem);
	line-height: 1.2;
	margin: 0 0 .75rem;
	font-weight: 800;
	letter-spacing: -.018em;
	color: var(--sm-ink);
}
.sm-section__lead { color: var(--sm-ink-dim); font-size: .97rem; margin: 0; line-height: 1.6; }
.sm-section__lead strong { color: var(--sm-ink); }

/* Buttons -------------------------------------------------------------------- */
.sm-btn {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	padding: .82rem 1.4rem;
	border-radius: 999px;
	font-weight: 700;
	font-size: .88rem;
	line-height: 1;
	text-decoration: none;
	transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
	white-space: nowrap;
	border: 1.5px solid transparent;
	cursor: pointer;
}
.sm-btn--primary {
	background-image: linear-gradient(135deg, #0E9F6E 0%, #E8B842 100%);
	color: #fff;
	box-shadow: 0 14px 30px rgba(14, 159, 110, 0.25);
}
.sm-btn--primary:hover { transform: translateY(-2px); box-shadow: 0 18px 38px rgba(14, 159, 110, 0.34); }
.sm-btn--secondary {
	background: #fff;
	color: var(--sm-ink);
	border-color: var(--sm-border-str);
	box-shadow: var(--sm-shadow-sm);
}
.sm-btn--secondary:hover { border-color: var(--sm-primary); color: var(--sm-primary); transform: translateY(-2px); }
.sm-btn--ghost {
	background: transparent;
	color: var(--sm-ink);
	border-color: var(--sm-border-str);
}
.sm-btn--ghost:hover { background: var(--sm-ink); color: #fff; border-color: var(--sm-ink); }

/* Pill utility --------------------------------------------------------------- */
.sm-pill {
	display: inline-flex; align-items: center; gap: .4rem;
	padding: .35rem .75rem;
	border-radius: 999px;
	background: #fff;
	border: 1px solid var(--sm-border);
	font-size: .75rem;
	font-weight: 600;
	color: var(--sm-ink-dim);
	letter-spacing: .02em;
}
.sm-pill--pink { background: var(--sm-primary-soft); color: var(--sm-primary); border-color: transparent; }
.sm-pill--gold { background: rgba(232, 184, 66, 0.12); color: #B15606; border-color: transparent; }
.sm-pill--purple { background: rgba(124, 58, 237, 0.10); color: var(--sm-accent); border-color: transparent; }
.sm-pill--green { background: rgba(16, 185, 129, 0.12); color: #047857; border-color: transparent; }

/* =====  HERO  ============================================================== */
.sm-hero {
	position: relative;
	padding: clamp(3rem, 7vw, 5.5rem) 0 clamp(3rem, 6vw, 5rem);
	background:
		radial-gradient(60% 55% at 82% 15%, rgba(232, 184, 66, 0.18) 0%, transparent 70%),
		radial-gradient(55% 65% at 14% 85%, rgba(109, 40, 217, 0.10) 0%, transparent 70%),
		radial-gradient(120% 80% at 50% 0%, rgba(14, 159, 110, 0.10) 0%, transparent 60%),
		linear-gradient(180deg, #FAFBF7 0%, #FFF6DE 100%);
	overflow: hidden;
	border-bottom: 1px solid var(--sm-border);
}
.sm-hero::before,
.sm-hero::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	filter: blur(1px);
	pointer-events: none;
}
.sm-hero::before {
	width: 10px; height: 10px;
	top: 18%; left: 8%;
	background: var(--sm-primary);
	box-shadow:
		140px 40px 0 -2px var(--sm-secondary),
		320px -30px 0 -3px var(--sm-primary),
		560px 80px 0 -3px var(--sm-secondary),
		820px -10px 0 -4px var(--sm-primary);
	opacity: .4;
}
.sm-hero::after {
	width: 240px; height: 240px;
	right: -80px; bottom: -80px;
	background: radial-gradient(circle, var(--sm-primary) 0%, var(--sm-secondary) 60%, transparent 100%);
	opacity: .08;
	filter: blur(40px);
}
.sm-hero__inner {
	position: relative;
	max-width: var(--sm-max);
	margin: 0 auto;
	padding-inline: clamp(1.1rem, 3vw, 2rem);
	display: grid;
	grid-template-columns: 1.15fr .85fr;
	gap: clamp(2rem, 5vw, 4rem);
	align-items: center;
}
@media (max-width: 900px) { .sm-hero__inner { grid-template-columns: 1fr; text-align: center; } }

.sm-hero__kicker {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	padding: .4rem .95rem;
	border-radius: 999px;
	background: #fff;
	border: 1px solid var(--sm-border-str);
	color: var(--sm-primary);
	font-weight: 700;
	font-size: .72rem;
	letter-spacing: .22em;
	text-transform: uppercase;
	margin-bottom: 1.35rem;
	box-shadow: var(--sm-shadow-sm);
}
.sm-hero__kicker::before {
	content: "";
	width: 8px; height: 8px; border-radius: 50%;
	background: var(--sm-primary);
	box-shadow: 0 0 0 3px rgba(14, 159, 110, 0.18);
}
.sm-hero__title {
	font-size: clamp(1.65rem, 3.5vw, 2.6rem);
	line-height: 1.1;
	letter-spacing: -.022em;
	font-weight: 900;
	color: var(--sm-ink);
	margin: 0 0 1rem;
}
.sm-hero__title em {
	font-style: normal;
	background: linear-gradient(120deg, #0E9F6E 0%, #E8B842 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.sm-hero__title .sm-brand { font-style: normal; color: var(--sm-primary); }

.sm-hero__lead {
	font-size: clamp(.95rem, 1.1vw, 1.05rem);
	color: var(--sm-ink-dim);
	max-width: 580px;
	margin: 0 0 1.75rem;
	line-height: 1.6;
}
.sm-hero__lead .sm-domain { color: var(--sm-ink); font-weight: 700; }
@media (max-width: 900px) { .sm-hero__lead { margin-inline: auto; } }

.sm-hero__ctas { display: flex; flex-wrap: wrap; gap: .75rem; margin-bottom: 2.2rem; }
@media (max-width: 900px) { .sm-hero__ctas { justify-content: center; } }

.sm-hero__trust {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: .65rem;
}
.sm-hero__trust-item {
	display: flex; align-items: center; gap: .5rem;
	padding: .65rem .85rem;
	background: rgba(255, 255, 255, 0.7);
	border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius-sm);
	backdrop-filter: blur(6px);
	font-size: .82rem;
	font-weight: 600;
	color: var(--sm-ink);
}
.sm-hero__trust-dot {
	width: 8px; height: 8px; border-radius: 50%;
	background: var(--sm-success);
	box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.18);
	flex: none;
}

/* Hero visual card (right side) */
.sm-hero__visual {
	position: relative;
	border-radius: var(--sm-radius-lg);
	background: #fff;
	padding: 1rem;
	box-shadow: var(--sm-shadow-lg);
	border: 1px solid var(--sm-border);
	transition: transform .35s ease, box-shadow .35s ease;
}
.sm-hero__visual:hover {
	transform: translateY(-4px);
	box-shadow: 0 30px 70px rgba(11, 31, 23, 0.18);
}
.sm-hero__banner {
	position: relative;
	border-radius: var(--sm-radius);
	overflow: hidden;
	aspect-ratio: 16 / 10;
	background: linear-gradient(135deg, #0E9F6E, #E8B842);
}
.sm-hero__banner img {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	transition: transform .6s ease;
}
.sm-hero__visual:hover .sm-hero__banner img { transform: scale(1.03); }
.sm-hero__banner::after {
	content: "";
	position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,0.45) 100%);
}
.sm-hero__banner-tag {
	position: absolute;
	top: .9rem; left: .9rem;
	z-index: 2;
	padding: .32rem .8rem;
	background: rgba(11, 31, 23, 0.82);
	backdrop-filter: blur(8px);
	color: #fff;
	font-size: .68rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .16em;
	border-radius: 999px;
}
.sm-hero__visual::before {
	content: "";
	position: absolute;
	inset: -18px -18px auto auto;
	width: 88px; height: 88px;
	border-radius: 50%;
	background: linear-gradient(135deg, #0E9F6E 0%, #E8B842 100%);
	z-index: -1;
	filter: blur(20px);
	opacity: .4;
}
.sm-hero__reels {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: .6rem;
	background: linear-gradient(180deg, #FAFBF7 0%, #FFEEDB 100%);
	border-radius: var(--sm-radius);
	padding: 1rem;
}
.sm-hero__reel {
	aspect-ratio: 3 / 4;
	border-radius: .6rem;
	background: #fff;
	display: flex; align-items: center; justify-content: center;
	font-size: 1.65rem;
	font-weight: 900;
	box-shadow: inset 0 0 0 1px var(--sm-border);
	color: var(--sm-primary);
}
.sm-hero__reel:nth-child(2) { color: var(--sm-secondary); }
.sm-hero__reel:nth-child(3) { color: var(--sm-primary); }
.sm-hero__reel:nth-child(4) { color: var(--sm-secondary); }
.sm-hero__reel:nth-child(5) { color: var(--sm-primary); background: linear-gradient(135deg, #FFF0C5, #FAFBF7); }
.sm-hero__reel:nth-child(6) { color: var(--sm-secondary); }
.sm-hero__reel:nth-child(7) { color: var(--sm-primary); }
.sm-hero__reel:nth-child(8) { color: var(--sm-secondary); }
.sm-hero__reel:nth-child(9) { color: var(--sm-primary); }

.sm-hero__stage {
	margin-top: 1rem;
	display: flex; align-items: center; justify-content: space-between;
	gap: 1rem;
	padding: .85rem 1rem;
	background: var(--sm-ink);
	border-radius: .7rem;
	color: #fff;
}
.sm-hero__stage-lab { font-size: .7rem; letter-spacing: .22em; text-transform: uppercase; color: #FFD786; }
.sm-hero__stage-val { font-size: 1.05rem; font-weight: 800; }
.sm-hero__stage-val em { font-style: normal; color: var(--sm-secondary); }

/* =====  TRUST BAR  ========================================================= */
.sm-trustbar { padding-block: clamp(2rem, 4vw, 2.5rem); border-bottom: 1px solid var(--sm-border); background: #fff; }
.sm-trustbar__grid {
	max-width: var(--sm-max);
	margin: 0 auto;
	padding-inline: clamp(1.1rem, 3vw, 2rem);
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 1.25rem;
	align-items: center;
}
@media (max-width: 900px) { .sm-trustbar__grid { grid-template-columns: repeat(2, 1fr); } }
.sm-trustbar__item {
	display: flex; align-items: flex-start; gap: .75rem;
	font-size: .82rem;
	color: var(--sm-ink-dim);
	line-height: 1.45;
}
.sm-trustbar__icon {
	width: 34px; height: 34px; border-radius: 10px;
	display: grid; place-items: center;
	background: var(--sm-primary-soft);
	color: var(--sm-primary);
	flex: none;
	font-size: 1.05rem;
	font-weight: 900;
}
.sm-trustbar__item strong { color: var(--sm-ink); display: block; margin-bottom: .15rem; font-size: .85rem; }

/* =====  FEATURE GRID (Why SM) ============================================== */
.sm-feature-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.25rem;
}
@media (max-width: 1100px) { .sm-feature-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .sm-feature-grid { grid-template-columns: 1fr; } }

.sm-feature {
	position: relative;
	padding: 1.75rem 1.5rem 1.65rem;
	background: #fff;
	border-radius: var(--sm-radius);
	border: 1px solid var(--sm-border);
	box-shadow: var(--sm-shadow-sm);
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
	overflow: hidden;
}
.sm-feature::before {
	content: "";
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--sm-primary) 0%, var(--sm-secondary) 100%);
}

.sm-feature:hover { transform: translateY(-4px); box-shadow: var(--sm-shadow-md); border-color: var(--sm-border-str); }
.sm-feature__icon {
	width: 48px; height: 48px; border-radius: 12px;
	display: grid; place-items: center;
	background: var(--sm-primary-soft);
	color: var(--sm-primary);
	font-size: 1.25rem; font-weight: 900;
	margin-bottom: 1rem;
}
.sm-feature:nth-child(2) .sm-feature__icon { background: rgba(232, 184, 66, 0.12); color: #B15606; }
.sm-feature:nth-child(3) .sm-feature__icon { background: var(--sm-primary-soft); color: var(--sm-primary); }
.sm-feature:nth-child(4) .sm-feature__icon { background: rgba(232, 184, 66, 0.12); color: #B15606; }

.sm-feature__title { font-size: 1.02rem; font-weight: 800; margin: 0 0 .5rem; color: var(--sm-ink); }
.sm-feature__body { font-size: .9rem; color: var(--sm-ink-dim); margin: 0 0 .9rem; line-height: 1.55; }
.sm-feature__meta { font-size: .76rem; font-weight: 700; color: var(--sm-primary); letter-spacing: .02em; }

/* =====  SLOT CARDS  ======================================================== */
.sm-slot-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.25rem;
}
@media (max-width: 1100px) { .sm-slot-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .sm-slot-grid { grid-template-columns: 1fr; } }

.sm-slot {
	display: flex; flex-direction: column;
	background: #fff;
	border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius);
	overflow: hidden;
	box-shadow: var(--sm-shadow-sm);
	transition: transform .25s ease, box-shadow .25s ease;
}
.sm-slot:hover { transform: translateY(-5px); box-shadow: var(--sm-shadow-md); }

.sm-slot__art {
	aspect-ratio: 16 / 10;
	position: relative;
	overflow: hidden;
	background: linear-gradient(135deg, var(--sm-bg-soft) 0%, var(--sm-bg-tint) 100%);
}
.sm-slot__img {
	position: absolute;
	inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;
	z-index: 0;
	display: block;
	transition: transform .35s ease;
}
.sm-slot:hover .sm-slot__img { transform: scale(1.04); }
.sm-slot__art::after {
	content: "";
	position: absolute; inset: auto 0 0 0; height: 38%;
	background: linear-gradient(180deg, rgba(11, 31, 23, 0) 0%, rgba(11, 31, 23, 0.22) 100%);
	z-index: 1;
	pointer-events: none;
}
/* Gradient-only fallback art (when no image is shipped) */
.sm-slot__art--mono { aspect-ratio: 16 / 5; }
.sm-slot--1 .sm-slot__art--mono, .sm-slot--5 .sm-slot__art--mono { background: linear-gradient(135deg, #0E9F6E 0%, #E8B842 100%); }
.sm-slot--2 .sm-slot__art--mono, .sm-slot--6 .sm-slot__art--mono { background: linear-gradient(135deg, #E8B842 0%, #0E9F6E 100%); }
.sm-slot--3 .sm-slot__art--mono, .sm-slot--7 .sm-slot__art--mono { background: linear-gradient(135deg, #E8B842 0%, #6D28D9 100%); }
.sm-slot--4 .sm-slot__art--mono, .sm-slot--8 .sm-slot__art--mono { background: linear-gradient(135deg, #111827 0%, #0E9F6E 100%); }

.sm-slot__body {
	padding: 1.1rem 1.2rem 1.3rem;
	display: flex;
	flex-direction: column;
	flex: 1;
	gap: .65rem;
}
.sm-slot__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .6rem;
	min-width: 0;
}
.sm-slot__badge {
	display: inline-flex;
	align-items: center;
	padding: .3rem .7rem;
	background: var(--sm-primary-soft);
	color: var(--sm-primary-dark);
	font-size: .65rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .1em;
	border-radius: 999px;
	white-space: nowrap;
	flex: none;
	max-width: 65%;
	overflow: hidden;
	text-overflow: ellipsis;
}
.sm-slot--2 .sm-slot__badge,
.sm-slot--6 .sm-slot__badge { background: rgba(232, 184, 66, 0.18); color: #8A6409; }
.sm-slot--3 .sm-slot__badge,
.sm-slot--7 .sm-slot__badge { background: rgba(109, 40, 217, 0.12); color: var(--sm-accent); }
.sm-slot--4 .sm-slot__badge,
.sm-slot--8 .sm-slot__badge { background: rgba(11, 31, 23, 0.08); color: var(--sm-ink); }
.sm-slot__studio {
	font-size: .7rem;
	text-transform: uppercase;
	letter-spacing: .14em;
	font-weight: 700;
	color: var(--sm-muted);
	text-align: right;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	min-width: 0;
	flex: 1 1 auto;
}
.sm-slot__title {
	font-size: 1.1rem;
	font-weight: 900;
	color: var(--sm-ink);
	margin: 0;
	line-height: 1.2;
	letter-spacing: -.01em;
	overflow-wrap: break-word;
}
.sm-slot__pitch {
	font-size: .9rem;
	color: var(--sm-ink-dim);
	margin: 0;
	line-height: 1.55;
}

.sm-slot__stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-top: 1px dashed var(--sm-border-str);
	padding-top: .85rem;
	gap: .5rem;
	margin-top: auto;
}
.sm-slot__stat-lab { display: block; font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: var(--sm-muted); font-weight: 700; margin-bottom: .2rem; }
.sm-slot__stat-val { display: block; font-size: .95rem; font-weight: 800; color: var(--sm-ink); }

/* =====  BONUS CARDS  ======================================================= */
.sm-bonus-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.25rem;
}
@media (max-width: 1100px) { .sm-bonus-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .sm-bonus-grid { grid-template-columns: 1fr; } }

.sm-bonus {
	background: #fff;
	border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius);
	padding: 1.7rem 1.5rem 1.6rem;
	position: relative;
	box-shadow: var(--sm-shadow-sm);
	transition: transform .25s ease, box-shadow .25s ease;
	overflow: hidden;
}
.sm-bonus:hover { transform: translateY(-4px); box-shadow: var(--sm-shadow-md); }
.sm-bonus__ribbon {
	position: absolute; top: 1.1rem; right: -2rem;
	background: var(--sm-primary);
	color: #fff;
	font-size: .65rem;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
	padding: .25rem 2.1rem;
	transform: rotate(35deg);
}
.sm-bonus:nth-child(2) .sm-bonus__ribbon { background: var(--sm-secondary); }
.sm-bonus:nth-child(3) .sm-bonus__ribbon { background: var(--sm-primary); }
.sm-bonus:nth-child(4) .sm-bonus__ribbon { background: var(--sm-secondary); }

.sm-bonus__type { font-size: .7rem; text-transform: uppercase; letter-spacing: .14em; color: var(--sm-muted); font-weight: 800; margin: 0 0 .45rem; }
.sm-bonus__title {
	font-size: 1.3rem;
	font-weight: 900;
	letter-spacing: -.01em;
	margin: 0 0 .65rem;
	color: var(--sm-ink);
	background: linear-gradient(120deg, var(--sm-primary) 0%, var(--sm-secondary) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	line-height: 1.25;
}
.sm-bonus__desc { font-size: .9rem; color: var(--sm-ink-dim); margin: 0 0 1.15rem; line-height: 1.55; }

.sm-bonus__code {
	display: flex; align-items: center; justify-content: space-between;
	padding: .7rem .9rem;
	background: var(--sm-ink);
	color: #fff;
	border-radius: .6rem;
	gap: .75rem;
	margin-bottom: 1rem;
}
.sm-bonus__code-lab { font-size: .66rem; letter-spacing: .18em; text-transform: uppercase; color: #FFD786; font-weight: 700; }
.sm-bonus__code-val {
	font-family: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 1rem;
	font-weight: 800;
	letter-spacing: .04em;
	color: var(--sm-secondary);
}
.sm-bonus__meta { display: flex; flex-wrap: wrap; gap: .4rem; font-size: .78rem; color: var(--sm-muted); }
.sm-bonus__meta span::before { content: "• "; color: var(--sm-primary); font-weight: 800; }
.sm-bonus__meta span:first-child::before { content: ""; }

/* =====  STEPS  ============================================================= */
.sm-steps {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.5rem;
	counter-reset: sm-step;
}
@media (max-width: 1100px) { .sm-steps { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .sm-steps { grid-template-columns: 1fr; } }
.sm-step {
	position: relative;
	background: #fff;
	border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius);
	padding: 2.3rem 1.5rem 1.6rem;
	box-shadow: var(--sm-shadow-sm);
}
.sm-step::before {
	counter-increment: sm-step;
	content: "0" counter(sm-step);
	position: absolute; top: -1.1rem; left: 1.35rem;
	width: 54px; height: 54px;
	background: linear-gradient(135deg, var(--sm-primary), var(--sm-secondary));
	color: #fff;
	font-size: 1.05rem;
	font-weight: 900;
	display: grid; place-items: center;
	border-radius: 14px;
	box-shadow: 0 10px 20px rgba(14, 159, 110, 0.28);
}
.sm-step__title { font-size: 1.05rem; font-weight: 800; margin: 0 0 .55rem; color: var(--sm-ink); }
.sm-step__body { font-size: .9rem; color: var(--sm-ink-dim); margin: 0; }

/* =====  EXPERT INSIGHTS (Editorial) ========================================= */
.sm-insight-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}
@media (max-width: 1000px) { .sm-insight-grid { grid-template-columns: 1fr; } }
.sm-insight {
	background: #fff;
	border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius);
	overflow: hidden;
	box-shadow: var(--sm-shadow-sm);
	display: flex; flex-direction: column;
	transition: transform .25s ease, box-shadow .25s ease;
}
.sm-insight:hover { transform: translateY(-4px); box-shadow: var(--sm-shadow-md); }
.sm-insight__banner {
	height: 160px;
	background: linear-gradient(135deg, var(--sm-bg-tint), var(--sm-bg-soft));
	display: flex; align-items: center; justify-content: center;
	font-size: 2.2rem;
	font-weight: 900;
	color: var(--sm-primary);
	position: relative;
	overflow: hidden;
}
.sm-insight__img {
	position: absolute;
	inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;
	z-index: 0;
	display: block;
}
.sm-insight__banner::after {
	content: "";
	position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,0.05) 0%, rgba(0,0,0,0.42) 100%);
	z-index: 1;
}
.sm-insight__tag {
	position: absolute;
	top: .9rem; left: .9rem;
	z-index: 2;
	padding: .32rem .75rem;
	background: rgba(255,255,255,0.94);
	color: var(--sm-ink);
	font-size: .68rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .12em;
	border-radius: 999px;
}
.sm-insight__body { padding: 1.4rem 1.5rem 1.5rem; display: flex; flex-direction: column; gap: .8rem; flex: 1; }
.sm-insight__meta { display: flex; gap: .6rem; font-size: .72rem; color: var(--sm-muted); text-transform: uppercase; letter-spacing: .1em; font-weight: 700; }
.sm-insight__title { font-size: 1.15rem; font-weight: 800; line-height: 1.3; margin: 0; color: var(--sm-ink); }
.sm-insight__excerpt { font-size: .92rem; color: var(--sm-ink-dim); margin: 0; }
.sm-insight__author {
	display: flex; align-items: center; gap: .65rem;
	margin-top: auto;
	padding-top: .95rem;
	border-top: 1px dashed var(--sm-border-str);
}
.sm-insight__avatar {
	width: 38px; height: 38px; border-radius: 50%;
	background: linear-gradient(135deg, var(--sm-primary), var(--sm-secondary));
	color: #fff;
	display: grid; place-items: center;
	font-weight: 900; font-size: .85rem;
}
.sm-insight__author-name { font-size: .85rem; font-weight: 700; color: var(--sm-ink); margin: 0; }
.sm-insight__author-role { font-size: .74rem; color: var(--sm-muted); margin: 0; }

/* =====  STATS  ============================================================= */
.sm-stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.25rem;
}
@media (max-width: 900px) { .sm-stats { grid-template-columns: repeat(2, 1fr); } }
.sm-stat {
	background: #fff;
	border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius);
	padding: 2rem 1.5rem;
	text-align: center;
	box-shadow: var(--sm-shadow-sm);
	position: relative;
	overflow: hidden;
}
.sm-stat::after {
	content: "";
	position: absolute; right: -40px; top: -40px;
	width: 120px; height: 120px;
	border-radius: 50%;
	background: radial-gradient(circle, var(--sm-primary-soft) 0%, transparent 70%);
}
.sm-stat__num {
	font-size: clamp(1.6rem, 2.6vw, 2.2rem);
	font-weight: 900;
	line-height: 1;
	background: linear-gradient(120deg, var(--sm-primary) 0%, var(--sm-secondary) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	display: block;
	margin-bottom: .4rem;
	letter-spacing: -.02em;
}
.sm-stat__label { font-size: .82rem; font-weight: 600; color: var(--sm-ink-dim); }

/* =====  TESTIMONIALS  ====================================================== */
.sm-testimonials {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}
@media (max-width: 1000px) { .sm-testimonials { grid-template-columns: 1fr; } }
.sm-quote {
	background: #fff;
	border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius);
	padding: 2rem 1.75rem 1.75rem;
	position: relative;
	box-shadow: var(--sm-shadow-sm);
}
.sm-quote::before {
	content: "“";
	position: absolute; top: -6px; left: 1.25rem;
	font-size: 3.5rem;
	font-weight: 900;
	font-family: Georgia, serif;
	color: var(--sm-primary);
	opacity: .5;
	line-height: 1;
}
.sm-quote__text { font-size: .95rem; color: var(--sm-ink-dim); margin: 0 0 1.4rem; line-height: 1.6; font-style: italic; }
.sm-quote__who { display: flex; align-items: center; gap: .8rem; }
.sm-quote__avatar {
	width: 42px; height: 42px; border-radius: 50%;
	background: linear-gradient(135deg, var(--sm-primary), var(--sm-secondary));
	color: #fff;
	display: grid; place-items: center;
	font-weight: 900;
	font-size: .9rem;
}
.sm-quote__name { font-size: .92rem; font-weight: 800; margin: 0; color: var(--sm-ink); }
.sm-quote__meta { font-size: .78rem; color: var(--sm-muted); margin: 0; }
.sm-quote__stars { color: var(--sm-secondary); font-size: .85rem; letter-spacing: .1em; margin-top: .8rem; }

/* =====  RESPONSIBLE GAMBLING NOTICE  ======================================= */
.sm-rg {
	background: linear-gradient(135deg, #FFF6DE 0%, #F1F7EF 100%);
	border: 1px solid rgba(14, 159, 110, 0.18);
	border-radius: var(--sm-radius-lg);
	padding: 2rem 2.2rem;
	display: grid;
	grid-template-columns: 64px 1fr auto;
	gap: 1.5rem;
	align-items: center;
}
@media (max-width: 800px) { .sm-rg { grid-template-columns: 1fr; text-align: center; } }
.sm-rg__badge {
	width: 64px; height: 64px;
	background: #fff;
	color: var(--sm-primary);
	border-radius: 16px;
	display: grid; place-items: center;
	font-size: 1.5rem;
	font-weight: 900;
	box-shadow: var(--sm-shadow-sm);
}
@media (max-width: 800px) { .sm-rg__badge { margin: 0 auto; } }
.sm-rg__title { font-size: 1.25rem; font-weight: 800; margin: 0 0 .45rem; color: var(--sm-ink); }
.sm-rg__body { font-size: .94rem; color: var(--sm-ink-dim); margin: 0; }
.sm-rg__body a { color: var(--sm-primary); font-weight: 700; text-decoration: underline; }
.sm-rg__actions { display: flex; flex-direction: column; gap: .4rem; }
@media (max-width: 800px) { .sm-rg__actions { flex-direction: row; flex-wrap: wrap; justify-content: center; } }

/* =====  FAQ  =============================================================== */
.sm-faq { max-width: 920px; margin: 0 auto; display: flex; flex-direction: column; gap: .85rem; }
.sm-faq__item {
	background: #fff;
	border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius);
	overflow: hidden;
	box-shadow: var(--sm-shadow-sm);
	transition: border-color .2s ease;
}
.sm-faq__item[open] { border-color: var(--sm-primary); }
.sm-faq__q {
	list-style: none;
	cursor: pointer;
	padding: 1.2rem 1.5rem;
	font-size: 1.02rem;
	font-weight: 700;
	color: var(--sm-ink);
	display: flex; align-items: center; justify-content: space-between;
	gap: 1rem;
	position: relative;
}
.sm-faq__q::-webkit-details-marker { display: none; }
.sm-faq__q::after {
	content: "+";
	font-size: 1.6rem;
	font-weight: 300;
	color: var(--sm-primary);
	line-height: 1;
	flex: none;
	transition: transform .25s ease;
}
.sm-faq__item[open] .sm-faq__q::after { content: "−"; transform: rotate(0deg); }
.sm-faq__a {
	padding: 0 1.5rem 1.3rem;
	font-size: .94rem;
	color: var(--sm-ink-dim);
	line-height: 1.65;
	margin: 0;
}
.sm-faq__a strong { color: var(--sm-ink); }

/* =====  CLOSING CTA BAND  ================================================== */
.sm-closing {
	position: relative;
	padding: clamp(3.5rem, 7vw, 5.5rem) clamp(1.5rem, 4vw, 3rem);
	background:
		radial-gradient(60% 80% at 20% 10%, rgba(232, 184, 66, 0.28) 0%, transparent 70%),
		radial-gradient(50% 60% at 90% 90%, rgba(124, 58, 237, 0.28) 0%, transparent 70%),
		linear-gradient(135deg, #0E9F6E 0%, #0A7F56 100%);
	color: #fff;
	border-radius: var(--sm-radius-lg);
	text-align: center;
	overflow: hidden;
	max-width: var(--sm-max);
	margin: 0 auto;
}
.sm-closing__kicker {
	display: inline-block;
	padding: .35rem .95rem;
	border-radius: 999px;
	background: rgba(255,255,255,0.18);
	color: #fff;
	font-weight: 700;
	font-size: .72rem;
	letter-spacing: .2em;
	text-transform: uppercase;
	margin-bottom: 1.1rem;
}
.sm-closing__title { font-size: clamp(1.4rem, 2.6vw, 2rem); font-weight: 900; letter-spacing: -.02em; margin: 0 0 .85rem; color: #fff; line-height: 1.22; }
.sm-closing__lead { font-size: 1.05rem; color: #FFF0C5; max-width: 620px; margin: 0 auto 2rem; }
.sm-closing__lead .sm-domain { color: #fff; font-weight: 700; }
.sm-closing__ctas { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; }
.sm-closing .sm-btn--primary {
	background: #fff;
	color: var(--sm-primary);
	box-shadow: 0 14px 30px rgba(0,0,0,0.2);
}
.sm-closing .sm-btn--primary:hover { background: #FAFBF7; color: var(--sm-primary-dark); }
.sm-closing .sm-btn--ghost {
	color: #fff;
	border-color: rgba(255,255,255,0.45);
}
.sm-closing .sm-btn--ghost:hover { background: rgba(255,255,255,0.12); color: #fff; border-color: #fff; }

/* Screen reader ------------------------------------------------------------- */
.sm-sr { position: absolute !important; height: 1px; width: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); white-space: nowrap; }


/* ==========================================================================
   Sub-page components (Slot / Bonus / Review / Legal)
   ========================================================================== */

/* Breadcrumbs --------------------------------------------------------------- */
.sm-crumbs {
	display: flex; flex-wrap: wrap; align-items: center; gap: .4rem;
	font-size: .78rem;
	color: var(--sm-muted);
	margin-bottom: 1.1rem;
}
.sm-crumbs a { color: var(--sm-ink-dim); text-decoration: none; font-weight: 600; transition: color .15s ease; }
.sm-crumbs a:hover { color: var(--sm-primary); }
.sm-crumbs__sep { color: var(--sm-muted); opacity: .6; }
.sm-crumbs__current { color: var(--sm-ink); font-weight: 700; }

/* Page hero (compact, for sub-pages) --------------------------------------- */
.sm-page-hero {
	position: relative;
	padding: clamp(2.4rem, 5vw, 3.6rem) 0 clamp(2rem, 4vw, 3rem);
	background:
		radial-gradient(55% 55% at 90% 10%, rgba(232, 184, 66, 0.14) 0%, transparent 70%),
		radial-gradient(55% 55% at 10% 95%, rgba(14, 159, 110, 0.10) 0%, transparent 70%),
		linear-gradient(180deg, #FAFBF7 0%, #FFF0E0 100%);
	border-bottom: 1px solid var(--sm-border);
	overflow: hidden;
}
.sm-page-hero__inner {
	max-width: var(--sm-max);
	margin: 0 auto;
	padding-inline: clamp(1.1rem, 3vw, 2rem);
	position: relative;
	z-index: 2;
}
.sm-page-hero__kicker {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	padding: .32rem .9rem;
	border-radius: 999px;
	background: #fff;
	border: 1px solid var(--sm-border-str);
	color: var(--sm-primary);
	font-weight: 700;
	font-size: .7rem;
	letter-spacing: .2em;
	text-transform: uppercase;
	margin-bottom: 1.2rem;
	box-shadow: var(--sm-shadow-sm);
}
.sm-page-hero__kicker::before {
	content: "";
	width: 7px; height: 7px; border-radius: 50%;
	background: var(--sm-primary);
	box-shadow: 0 0 0 3px rgba(14, 159, 110, 0.18);
}
.sm-page-hero__title {
	font-size: clamp(1.5rem, 2.8vw, 2.1rem);
	line-height: 1.18;
	letter-spacing: -.02em;
	font-weight: 900;
	color: var(--sm-ink);
	margin: 0 0 .9rem;
	max-width: 780px;
}
.sm-page-hero__title em {
	font-style: normal;
	background: linear-gradient(120deg, var(--sm-primary) 0%, var(--sm-secondary) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
.sm-page-hero__lead {
	font-size: clamp(.93rem, 1.05vw, 1rem);
	color: var(--sm-ink-dim);
	max-width: 700px;
	margin: 0 0 1.6rem;
	line-height: 1.6;
}
.sm-page-hero__lead strong { color: var(--sm-ink); }
.sm-page-hero__ctas { display: flex; flex-wrap: wrap; gap: .7rem; margin-bottom: 1.8rem; }
.sm-page-hero__meta {
	display: flex; flex-wrap: wrap; gap: 1.3rem;
	font-size: .82rem; color: var(--sm-ink-dim);
	padding-top: 1.3rem;
	border-top: 1px dashed var(--sm-border-str);
}
.sm-page-hero__meta strong { color: var(--sm-ink); font-weight: 800; }

/* Compact inline stats strip ----------------------------------------------- */
.sm-minibar {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1rem;
	background: #fff;
	border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius);
	padding: 1.25rem 1.5rem;
	box-shadow: var(--sm-shadow-sm);
}
@media (max-width: 800px) { .sm-minibar { grid-template-columns: repeat(2, 1fr); } }
.sm-minibar__cell { display: flex; flex-direction: column; gap: .2rem; }
.sm-minibar__cell + .sm-minibar__cell { border-left: 1px solid var(--sm-border); padding-left: 1rem; }
@media (max-width: 800px) {
	.sm-minibar__cell:nth-child(odd) + .sm-minibar__cell { border-left: 1px solid var(--sm-border); padding-left: 1rem; }
	.sm-minibar__cell:nth-child(3) { border-left: none; padding-left: 0; border-top: 1px solid var(--sm-border); padding-top: .8rem; margin-top: .4rem; }
	.sm-minibar__cell:nth-child(4) { border-top: 1px solid var(--sm-border); padding-top: .8rem; margin-top: .4rem; }
}
.sm-minibar__num {
	font-size: 1.35rem;
	font-weight: 900;
	line-height: 1;
	background: linear-gradient(120deg, var(--sm-primary), var(--sm-secondary));
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	letter-spacing: -.01em;
}
.sm-minibar__lab { font-size: .74rem; text-transform: uppercase; letter-spacing: .14em; color: var(--sm-muted); font-weight: 700; }

/* Chip / pill navigation --------------------------------------------------- */
.sm-chips {
	display: flex; flex-wrap: wrap; justify-content: center;
	gap: .55rem;
	margin-bottom: 1rem;
}
.sm-chip {
	display: inline-flex; align-items: center; gap: .4rem;
	padding: .62rem 1.05rem;
	border-radius: 999px;
	background: #fff;
	border: 1px solid var(--sm-border-str);
	color: var(--sm-ink);
	font-weight: 700;
	font-size: .85rem;
	text-decoration: none;
	transition: all .18s ease;
	cursor: pointer;
}
.sm-chip:hover { border-color: var(--sm-primary); color: var(--sm-primary); transform: translateY(-2px); box-shadow: var(--sm-shadow-sm); }
.sm-chip--active {
	background: linear-gradient(135deg, var(--sm-primary) 0%, var(--sm-secondary) 100%);
	color: #fff;
	border-color: transparent;
	box-shadow: 0 10px 22px rgba(14, 159, 110, 0.28);
}
.sm-chip--active:hover { color: #fff; }
.sm-chip__count {
	display: inline-flex;
	min-width: 28px; height: 22px;
	padding: 0 .45rem;
	border-radius: 999px;
	background: rgba(11, 31, 23, 0.08);
	font-size: .72rem;
	font-weight: 800;
	align-items: center; justify-content: center;
}
.sm-chip--active .sm-chip__count { background: rgba(255,255,255,0.2); color: #fff; }

/* Featured Editor Picks (3 wide, more detail) ----------------------------- */
.sm-featured-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}
@media (max-width: 1000px) { .sm-featured-grid { grid-template-columns: 1fr; } }
.sm-featured {
	background: #fff;
	border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius-lg);
	overflow: hidden;
	box-shadow: var(--sm-shadow-sm);
	display: flex; flex-direction: column;
	transition: transform .25s ease, box-shadow .25s ease;
}
.sm-featured:hover { transform: translateY(-4px); box-shadow: var(--sm-shadow-md); }
.sm-featured__art {
	aspect-ratio: 16 / 9;
	position: relative;
	overflow: hidden;
	background: linear-gradient(135deg, var(--sm-bg-soft) 0%, var(--sm-bg-tint) 100%);
}
.sm-featured__img {
	position: absolute;
	inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;
	z-index: 0;
	display: block;
	transition: transform .4s ease;
}
.sm-featured:hover .sm-featured__img { transform: scale(1.03); }
.sm-featured__art::after {
	content: "";
	position: absolute; inset: auto 0 0 0; height: 40%;
	background: linear-gradient(180deg, rgba(11,31,23,0) 0%, rgba(11,31,23,0.25) 100%);
	z-index: 1;
	pointer-events: none;
}
.sm-featured__rank {
	position: absolute; top: 1rem; left: 1rem;
	width: 44px; height: 44px;
	border-radius: 50%;
	background: linear-gradient(135deg, #FFE9A8 0%, #E8B842 60%, #B78A18 100%);
	color: #0B1F17;
	display: grid; place-items: center;
	font-size: .9rem;
	font-weight: 900;
	letter-spacing: .02em;
	z-index: 2;
	box-shadow: 0 6px 16px rgba(232, 184, 66, 0.45), inset 0 0 0 2px rgba(255, 255, 255, 0.55);
}

.sm-featured__body {
	padding: 1.4rem 1.5rem 1.5rem;
	display: flex;
	flex-direction: column;
	gap: .75rem;
	flex: 1;
}
.sm-featured__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .75rem;
	min-width: 0;
}
.sm-featured__badge {
	display: inline-flex;
	align-items: center;
	padding: .35rem .8rem;
	background: var(--sm-primary-soft);
	color: var(--sm-primary-dark);
	font-size: .66rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .12em;
	border-radius: 999px;
	white-space: nowrap;
	flex: none;
	max-width: 60%;
	overflow: hidden;
	text-overflow: ellipsis;
}
.sm-featured--2 .sm-featured__badge { background: rgba(232, 184, 66, 0.18); color: #8A6409; }
.sm-featured--3 .sm-featured__badge { background: rgba(109, 40, 217, 0.12); color: var(--sm-accent); }
.sm-featured__studio {
	font-size: .7rem;
	text-transform: uppercase;
	letter-spacing: .14em;
	color: var(--sm-muted);
	font-weight: 800;
	text-align: right;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	flex: 1 1 auto;
	min-width: 0;
}
.sm-featured__title {
	font-size: 1.35rem;
	font-weight: 900;
	line-height: 1.18;
	letter-spacing: -.015em;
	color: var(--sm-ink);
	margin: 0;
	overflow-wrap: break-word;
}
.sm-featured__pitch {
	font-size: .93rem;
	color: var(--sm-ink-dim);
	margin: 0;
	line-height: 1.6;
}
.sm-featured__stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-top: 1px dashed var(--sm-border-str);
	border-bottom: 1px dashed var(--sm-border-str);
	padding: .9rem 0;
	gap: .5rem;
}
.sm-featured__stats div { text-align: center; }
.sm-featured__stat-lab { display: block; font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: var(--sm-muted); font-weight: 700; margin-bottom: .25rem; }
.sm-featured__stat-val { display: block; font-size: 1rem; font-weight: 800; color: var(--sm-ink); }
.sm-featured__actions { display: flex; gap: .5rem; margin-top: auto; }
.sm-featured__actions .sm-btn { flex: 1; justify-content: center; padding: .75rem .8rem; font-size: .85rem; }

/* Data table (RTP leaderboard) -------------------------------------------- */
.sm-table-wrap {
	background: #fff;
	border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius);
	overflow: hidden;
	box-shadow: var(--sm-shadow-sm);
}
.sm-table {
	width: 100%;
	border-collapse: collapse;
	font-size: .92rem;
}
.sm-table thead th {
	background: linear-gradient(180deg, #F1F7EF 0%, #FFF6DE 100%);
	color: var(--sm-ink) !important;
	text-align: left;
	padding: 1rem 1.1rem;
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
	border-bottom: 1px solid var(--sm-border);
}
.sm-table tbody tr { border-top: 1px solid var(--sm-border); transition: background .15s ease; }
.sm-table tbody tr:hover { background: var(--sm-bg-soft); }
.sm-table tbody td {
	padding: 1rem 1.1rem;
	color: var(--sm-ink) !important;
	background: transparent !important;
	vertical-align: middle;
}
.sm-table tbody td strong, .sm-table tbody td b { color: var(--sm-ink) !important; font-weight: 800; }
.sm-table__rank {
	display: inline-flex; align-items: center; justify-content: center;
	width: 30px; height: 30px;
	border-radius: 50%;
	background: var(--sm-primary-soft);
	color: var(--sm-primary);
	font-weight: 900;
	font-size: .82rem;
}
.sm-table tbody tr:nth-child(1) .sm-table__rank { background: var(--sm-secondary); color: #fff; }
.sm-table tbody tr:nth-child(2) .sm-table__rank { background: var(--sm-ink); color: var(--sm-secondary); }
.sm-table tbody tr:nth-child(3) .sm-table__rank { background: var(--sm-primary); color: #fff; }
.sm-table__rtp { font-weight: 900; color: var(--sm-primary) !important; font-size: 1rem; }
.sm-table__vol {
	display: inline-block;
	padding: .25rem .65rem;
	border-radius: 999px;
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .04em;
}
.sm-table__vol--low    { background: rgba(16, 185, 129, 0.12); color: #047857; }
.sm-table__vol--med    { background: rgba(232, 184, 66, 0.14); color: #B15606; }
.sm-table__vol--high   { background: rgba(14, 159, 110, 0.10); color: var(--sm-primary); }
.sm-table__vol--vhigh  { background: rgba(124, 58, 237, 0.14); color: var(--sm-accent); }

@media (max-width: 720px) {
	.sm-table thead { display: none; }
	.sm-table, .sm-table tbody, .sm-table tr, .sm-table td { display: block; width: 100%; }
	.sm-table tbody tr { padding: 1rem 1.1rem; border-top: 1px solid var(--sm-border); }
	.sm-table tbody td { padding: .25rem 0; border: 0; }
	.sm-table tbody td[data-label]::before {
		content: attr(data-label) ": ";
		font-size: .7rem;
		text-transform: uppercase;
		letter-spacing: .12em;
		color: var(--sm-muted);
		font-weight: 800;
		margin-right: .4rem;
	}
}

/* Category deep-dive cards ------------------------------------------------- */
.sm-cat-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.25rem;
}
@media (max-width: 900px) { .sm-cat-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .sm-cat-grid { grid-template-columns: 1fr; } }

.sm-cat {
	position: relative;
	background: #fff;
	border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius);
	padding: 1.6rem 1.5rem 1.5rem;
	box-shadow: var(--sm-shadow-sm);
	transition: transform .22s ease, box-shadow .22s ease;
	overflow: hidden;
	display: flex; flex-direction: column; gap: .7rem;
}
.sm-cat:hover { transform: translateY(-3px); box-shadow: var(--sm-shadow-md); }
.sm-cat::after {
	content: "";
	position: absolute;
	right: -40px; top: -40px;
	width: 140px; height: 140px;
	border-radius: 50%;
	background: radial-gradient(circle, var(--sm-primary-soft) 0%, transparent 70%);
}
.sm-cat:nth-child(2n)::after { background: radial-gradient(circle, rgba(232, 184, 66, 0.14) 0%, transparent 70%); }
.sm-cat:nth-child(3n)::after { background: radial-gradient(circle, rgba(124, 58, 237, 0.14) 0%, transparent 70%); }
.sm-cat__icon {
	width: 48px; height: 48px; border-radius: 12px;
	display: grid; place-items: center;
	background: linear-gradient(135deg, var(--sm-primary-soft), rgba(232, 184, 66, 0.10));
	color: var(--sm-primary);
	font-weight: 900;
	font-size: 1.25rem;
	margin-bottom: .3rem;
	position: relative; z-index: 1;
}
.sm-cat:nth-child(even) .sm-cat__icon { background: rgba(232, 184, 66, 0.12); color: #B15606; }
.sm-cat__title { font-size: 1rem; font-weight: 800; margin: 0; color: var(--sm-ink); position: relative; z-index: 1; }
.sm-cat__desc { font-size: .88rem; color: var(--sm-ink-dim); margin: 0; line-height: 1.55; position: relative; z-index: 1; }
.sm-cat__facts { display: flex; flex-wrap: wrap; gap: .35rem; margin-top: auto; position: relative; z-index: 1; }
.sm-cat__fact {
	display: inline-block;
	padding: .22rem .55rem;
	font-size: .72rem;
	font-weight: 700;
	color: var(--sm-ink-dim);
	background: var(--sm-bg-soft);
	border-radius: 999px;
}

/* Studio grid -------------------------------------------------------------- */
.sm-studio-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1rem;
}
@media (max-width: 900px) { .sm-studio-grid { grid-template-columns: repeat(2, 1fr); } }
.sm-studio {
	background: #fff;
	border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius);
	padding: 1.3rem 1.2rem;
	text-align: center;
	box-shadow: var(--sm-shadow-sm);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.sm-studio:hover { transform: translateY(-3px); box-shadow: var(--sm-shadow-md); border-color: var(--sm-primary); }
.sm-studio__mark {
	display: inline-flex;
	width: 54px; height: 54px;
	border-radius: 14px;
	align-items: center; justify-content: center;
	background: linear-gradient(135deg, var(--sm-primary-soft), rgba(232, 184, 66, 0.10));
	color: var(--sm-primary);
	font-weight: 900;
	font-size: 1.25rem;
	margin-bottom: .75rem;
	letter-spacing: .02em;
}
.sm-studio:nth-child(4n+2) .sm-studio__mark { background: rgba(232, 184, 66, 0.14); color: #B15606; }
.sm-studio:nth-child(4n+3) .sm-studio__mark { background: rgba(124, 58, 237, 0.14); color: var(--sm-accent); }
.sm-studio:nth-child(4n+4) .sm-studio__mark { background: rgba(16, 185, 129, 0.14); color: #047857; }
.sm-studio__name { font-size: .98rem; font-weight: 800; margin: 0 0 .25rem; color: var(--sm-ink); }
.sm-studio__meta { font-size: .75rem; color: var(--sm-muted); margin: 0; font-weight: 600; letter-spacing: .02em; }
.sm-studio__meta strong { color: var(--sm-primary); font-weight: 800; }

/* Glossary ---------------------------------------------------------------- */
.sm-glossary {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.2rem;
}
@media (max-width: 800px) { .sm-glossary { grid-template-columns: 1fr; } }
.sm-glossary__item {
	background: #fff;
	border: 1px solid var(--sm-border);
	border-left: 4px solid var(--sm-primary);
	border-radius: var(--sm-radius);
	padding: 1.2rem 1.35rem;
	box-shadow: var(--sm-shadow-sm);
}
.sm-glossary__item:nth-child(2n)  { border-left-color: var(--sm-secondary); }
.sm-glossary__item:nth-child(3n)  { border-left-color: var(--sm-accent); }
.sm-glossary__item:nth-child(4n)  { border-left-color: var(--sm-success); }
.sm-glossary__term { font-size: 1rem; font-weight: 800; margin: 0 0 .35rem; color: var(--sm-ink); letter-spacing: .01em; }
.sm-glossary__def  { font-size: .9rem; color: var(--sm-ink-dim); margin: 0; line-height: 1.6; }
.sm-glossary__def strong { color: var(--sm-ink); }

/* Related pages split CTA ------------------------------------------------- */
.sm-cta-split {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.25rem;
}
@media (max-width: 900px) { .sm-cta-split { grid-template-columns: 1fr; } }
.sm-cta-card {
	position: relative;
	background: #fff;
	border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius-lg);
	padding: 2rem 1.75rem 1.85rem;
	overflow: hidden;
	text-decoration: none;
	color: var(--sm-ink);
	display: block;
	box-shadow: var(--sm-shadow-sm);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.sm-cta-card:hover { transform: translateY(-4px); box-shadow: var(--sm-shadow-md); border-color: var(--sm-primary); }
.sm-cta-card::before {
	content: "";
	position: absolute;
	right: -20px; top: -20px;
	width: 90px; height: 90px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--sm-primary), var(--sm-secondary));
	opacity: .12;
}
.sm-cta-card:nth-child(2)::before { background: linear-gradient(135deg, var(--sm-secondary), var(--sm-accent)); }
.sm-cta-card:nth-child(3)::before { background: linear-gradient(135deg, var(--sm-accent), var(--sm-primary)); }
.sm-cta-card__kicker { font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .16em; color: var(--sm-primary); margin: 0 0 .5rem; }
.sm-cta-card:nth-child(2) .sm-cta-card__kicker { color: #B15606; }
.sm-cta-card:nth-child(3) .sm-cta-card__kicker { color: var(--sm-accent); }
.sm-cta-card__title { font-size: 1.25rem; font-weight: 800; margin: 0 0 .55rem; color: var(--sm-ink); }
.sm-cta-card__desc { font-size: .92rem; color: var(--sm-ink-dim); margin: 0 0 1.1rem; }
.sm-cta-card__arrow {
	display: inline-flex; align-items: center; gap: .35rem;
	font-size: .82rem; font-weight: 800;
	color: var(--sm-primary);
	letter-spacing: .02em;
	text-transform: uppercase;
}
.sm-cta-card:nth-child(2) .sm-cta-card__arrow { color: #B15606; }
.sm-cta-card:nth-child(3) .sm-cta-card__arrow { color: var(--sm-accent); }
.sm-cta-card__arrow::after { content: "→"; transition: transform .15s ease; }
.sm-cta-card:hover .sm-cta-card__arrow::after { transform: translateX(3px); }


/* ==========================================================================
   Bonus page components
   ========================================================================== */

/* 3-column variant of the bonus grid ---------------------------------------- */
.sm-bonus-grid--3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 1000px) { .sm-bonus-grid--3 { grid-template-columns: 1fr; } }

/* Bonus card "featured" variant (slightly taller, bigger title) ------------- */
.sm-bonus--featured { padding: 2rem 1.5rem 1.7rem; }
.sm-bonus--featured .sm-bonus__title { font-size: 1.45rem; }
.sm-bonus--featured .sm-bonus__desc { font-size: .9rem; }

/* Refresh stamp bar -------------------------------------------------------- */
.sm-refresh-stamp {
	display: inline-flex;
	align-items: center;
	gap: .6rem;
	padding: .55rem 1rem;
	border-radius: 999px;
	background: rgba(16, 185, 129, 0.12);
	color: #047857;
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .02em;
	border: 1px solid rgba(16, 185, 129, 0.25);
}
.sm-refresh-stamp::before {
	content: "";
	width: 9px; height: 9px; border-radius: 50%;
	background: var(--sm-success);
	box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.22);
	animation: sm-pulse 1.8s ease-out infinite;
}
@keyframes sm-pulse {
	0%   { box-shadow: 0 0 0 0   rgba(16, 185, 129, 0.45); }
	100% { box-shadow: 0 0 0 10px rgba(16, 185, 129, 0);    }
}

/* Good-vs-bad comparison ---------------------------------------------------- */
.sm-compare {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.5rem;
}
@media (max-width: 800px) { .sm-compare { grid-template-columns: 1fr; } }
.sm-compare__side {
	padding: 1.9rem 1.85rem 1.85rem;
	border-radius: var(--sm-radius-lg);
	box-shadow: var(--sm-shadow-sm);
}
.sm-compare__side--good {
	background: linear-gradient(180deg, #ECFDF5 0%, #D1FAE5 100%);
	border: 1px solid rgba(16, 185, 129, 0.28);
}
.sm-compare__side--bad {
	background: linear-gradient(180deg, #FFF1F2 0%, #FEE2E2 100%);
	border: 1px solid rgba(239, 68, 68, 0.28);
}
.sm-compare__kicker {
	display: inline-block;
	padding: .3rem .8rem;
	border-radius: 999px;
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
	margin-bottom: 1rem;
}
.sm-compare__side--good .sm-compare__kicker { background: rgba(16, 185, 129, 0.18); color: #047857; }
.sm-compare__side--bad  .sm-compare__kicker { background: rgba(239, 68, 68, 0.18);  color: #B91C1C; }
.sm-compare__title {
	font-size: 1.2rem;
	font-weight: 800;
	margin: 0 0 1.15rem;
	color: var(--sm-ink);
	line-height: 1.3;
}
.sm-compare__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .75rem; }
.sm-compare__list li {
	display: flex;
	gap: .65rem;
	align-items: flex-start;
	font-size: .93rem;
	color: var(--sm-ink-dim);
	line-height: 1.55;
}
.sm-compare__list li strong { color: var(--sm-ink); }
.sm-compare__list li::before {
	flex: none;
	width: 22px; height: 22px;
	border-radius: 50%;
	display: grid; place-items: center;
	font-size: .78rem;
	font-weight: 900;
	margin-top: .1rem;
}
.sm-compare__side--good .sm-compare__list li::before {
	content: "✓";
	background: var(--sm-success);
	color: #fff;
}
.sm-compare__side--bad .sm-compare__list li::before {
	content: "✕";
	background: #EF4444;
	color: #fff;
}

/* Wagering-math visual block ----------------------------------------------- */
.sm-wager-note {
	background: var(--sm-ink);
	color: #fff;
	border-radius: var(--sm-radius);
	padding: 1.5rem 1.75rem;
	display: flex;
	align-items: center;
	gap: 1.1rem;
	margin-top: 1.5rem;
}
.sm-wager-note__mark {
	width: 44px; height: 44px;
	border-radius: 12px;
	background: var(--sm-primary);
	color: #fff;
	display: grid; place-items: center;
	font-size: 1.15rem; font-weight: 900;
	flex: none;
}
.sm-wager-note__text { font-size: .92rem; color: #E5E1FF; line-height: 1.55; margin: 0; }
.sm-wager-note__text strong { color: var(--sm-secondary); }


/* ==========================================================================
   Review page components
   ========================================================================== */

/* Featured review hero (split card) ---------------------------------------- */
.sm-review-hero {
	display: grid;
	grid-template-columns: .95fr 1.05fr;
	gap: 0;
	background: #fff;
	border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius-lg);
	overflow: hidden;
	box-shadow: var(--sm-shadow-md);
}
@media (max-width: 900px) { .sm-review-hero { grid-template-columns: 1fr; } }

.sm-review-hero__art {
	position: relative;
	min-height: 320px;
	padding: 2.1rem 2rem;
	color: #fff;
	background: linear-gradient(135deg, #0E9F6E 0%, #E8B842 100%);
	display: flex; align-items: flex-end;
	overflow: hidden;
}
.sm-review-hero__img {
	position: absolute;
	inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;
	z-index: 0;
	display: block;
}
.sm-review-hero__art::before {
	content: "";
	position: absolute; inset: 0;
	background:
		linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.55) 100%),
		radial-gradient(60% 60% at 20% 20%, rgba(255,255,255,0.14) 0%, transparent 70%);
	z-index: 1;
}
.sm-review-hero__art-inner { position: relative; z-index: 2; }
.sm-review-hero__ribbon {
	display: inline-block;
	padding: .35rem .85rem;
	background: rgba(0,0,0,0.38);
	backdrop-filter: blur(8px);
	color: #fff;
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
	border-radius: 999px;
	margin-bottom: 1rem;
}
.sm-review-hero__studio { font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .18em; opacity: .92; margin: 0 0 .4rem; }
.sm-review-hero__name {
	font-size: clamp(1.4rem, 2.4vw, 1.85rem);
	font-weight: 900;
	line-height: 1.1;
	margin: 0 0 .5rem;
	letter-spacing: -.02em;
	text-shadow: 0 2px 8px rgba(0,0,0,0.15);
}
.sm-review-hero__tag { font-size: .92rem; opacity: .92; margin: 0; line-height: 1.4; }

.sm-score-ring {
	position: absolute;
	top: 1.5rem; right: 1.5rem;
	width: 100px; height: 100px;
	border-radius: 50%;
	padding: 6px;
	z-index: 3;
	box-shadow: 0 12px 24px rgba(0,0,0,0.25);
}
.sm-score-ring__inner {
	width: 100%; height: 100%;
	border-radius: 50%;
	background: var(--sm-ink);
	color: #fff;
	display: grid; place-items: center;
	text-align: center;
	line-height: 1;
}
.sm-score-ring__val { font-size: 1.5rem; font-weight: 900; letter-spacing: -.02em; }
.sm-score-ring__lab { font-size: .58rem; text-transform: uppercase; letter-spacing: .18em; color: #FFD786; margin-top: .2rem; }

/* Progressive ring colors via inline --pct custom property */
.sm-score-ring {
	background: conic-gradient(from -90deg, var(--sm-secondary) 0%, var(--sm-secondary) calc(var(--pct,92) * 1%), rgba(255,255,255,0.3) calc(var(--pct,92) * 1%), rgba(255,255,255,0.3) 100%);
}

.sm-review-hero__body {
	padding: 2rem 2.1rem;
	display: flex; flex-direction: column; gap: 1.1rem;
}
.sm-review-hero__verdict {
	font-size: .96rem;
	color: var(--sm-ink-dim);
	line-height: 1.6;
	margin: 0;
}
.sm-review-hero__verdict strong { color: var(--sm-ink); }

/* 5-pillar score bars ------------------------------------------------------ */
.sm-pillars { display: grid; gap: .7rem; }
.sm-pillar {
	display: grid;
	grid-template-columns: 100px 1fr 48px;
	gap: .9rem;
	align-items: center;
	font-size: .85rem;
}
@media (max-width: 560px) { .sm-pillar { grid-template-columns: 90px 1fr 42px; } }
.sm-pillar__label { font-weight: 700; color: var(--sm-ink); }
.sm-pillar__bar {
	height: 8px;
	background: var(--sm-bg-soft);
	border-radius: 999px;
	overflow: hidden;
	position: relative;
}
.sm-pillar__fill {
	height: 100%;
	width: var(--fill, 80%);
	border-radius: 999px;
	background: linear-gradient(90deg, var(--sm-primary) 0%, var(--sm-secondary) 100%);
	transition: width .4s ease;
}
/* All pillars share the same primary→secondary gradient for a cleaner look */
.sm-pillar__val { font-weight: 900; color: var(--sm-ink); text-align: right; }

/* Pros / Cons block -------------------------------------------------------- */
.sm-procon {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	padding-top: 1.1rem;
	border-top: 1px dashed var(--sm-border-str);
}
@media (max-width: 560px) { .sm-procon { grid-template-columns: 1fr; } }
.sm-procon__col h4 {
	font-size: .72rem;
	text-transform: uppercase;
	letter-spacing: .14em;
	margin: 0 0 .6rem;
	font-weight: 800;
}
.sm-procon__col--good h4 { color: #047857; }
.sm-procon__col--bad  h4 { color: #B91C1C; }
.sm-procon__col ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .35rem; }
.sm-procon__col li { display: flex; gap: .5rem; font-size: .85rem; color: var(--sm-ink-dim); line-height: 1.5; }
.sm-procon__col li::before { flex: none; font-weight: 900; width: 14px; }
.sm-procon__col--good li::before { content: "+"; color: #10B981; font-size: 1.1em; }
.sm-procon__col--bad  li::before { content: "−"; color: #EF4444; font-size: 1.1em; }

/* Top 5 Ranking (horizontal bars) ----------------------------------------- */
.sm-ranking { display: flex; flex-direction: column; gap: .8rem; }
.sm-ranking__item {
	display: grid;
	grid-template-columns: 44px 1fr 160px 64px;
	gap: 1rem;
	align-items: center;
	background: #fff;
	border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius);
	padding: .95rem 1.1rem;
	box-shadow: var(--sm-shadow-sm);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
@media (max-width: 720px) {
	.sm-ranking__item { grid-template-columns: 44px 1fr 64px; grid-row-gap: .7rem; }
	.sm-ranking__item > :nth-child(3) { grid-column: 1 / -1; }
}
.sm-ranking__item:hover { transform: translateY(-2px); box-shadow: var(--sm-shadow-md); border-color: var(--sm-primary); }
.sm-ranking__rank {
	width: 44px; height: 44px; border-radius: 12px;
	background: var(--sm-primary-soft);
	color: var(--sm-primary);
	display: grid; place-items: center;
	font-weight: 900; font-size: 1rem;
}
.sm-ranking__item:nth-child(1) .sm-ranking__rank { background: linear-gradient(135deg, var(--sm-secondary), #6D28D9); color: #fff; }
.sm-ranking__item:nth-child(2) .sm-ranking__rank { background: var(--sm-ink); color: var(--sm-secondary); }
.sm-ranking__item:nth-child(3) .sm-ranking__rank { background: var(--sm-primary); color: #fff; }
.sm-ranking__info { min-width: 0; }
.sm-ranking__name { font-size: 1.05rem; font-weight: 800; margin: 0; color: var(--sm-ink); }
.sm-ranking__meta { font-size: .8rem; color: var(--sm-muted); margin: .15rem 0 0; }
.sm-ranking__meta strong { color: var(--sm-ink-dim); font-weight: 700; }
.sm-ranking__bar {
	height: 8px;
	background: var(--sm-bg-soft);
	border-radius: 999px;
	overflow: hidden;
}
.sm-ranking__fill {
	height: 100%;
	width: var(--fill, 90%);
	background: linear-gradient(90deg, var(--sm-primary), var(--sm-secondary));
	border-radius: 999px;
}
.sm-ranking__score {
	font-size: 1.25rem;
	font-weight: 900;
	color: var(--sm-primary);
	text-align: right;
	line-height: 1;
}
.sm-ranking__score small { display: block; font-size: .6rem; font-weight: 700; color: var(--sm-muted); letter-spacing: .12em; text-transform: uppercase; margin-top: .25rem; }

/* Review cards grid -------------------------------------------------------- */
.sm-review-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.25rem;
}
@media (max-width: 1000px) { .sm-review-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .sm-review-grid { grid-template-columns: 1fr; } }
.sm-review-card {
	background: #fff;
	border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius);
	overflow: hidden;
	box-shadow: var(--sm-shadow-sm);
	display: flex; flex-direction: column;
	transition: transform .25s ease, box-shadow .25s ease;
}
.sm-review-card:hover { transform: translateY(-4px); box-shadow: var(--sm-shadow-md); }
.sm-review-card__art {
	aspect-ratio: 16 / 9;
	position: relative;
	padding: 1.1rem 1.2rem;
	color: #fff;
	display: flex; align-items: flex-end;
	overflow: hidden;
}
.sm-review-card__img {
	position: absolute;
	inset: 0;
	width: 100%; height: 100%;
	object-fit: cover;
	z-index: 0;
	display: block;
}
.sm-review-card__art::before {
	content: "";
	position: absolute; inset: 0;
	background:
		linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,0.6) 100%),
		radial-gradient(120% 60% at 20% 20%, rgba(255,255,255,0.12) 0%, transparent 70%);
	z-index: 1;
}
.sm-review-card:nth-child(3n+1) .sm-review-card__art { background: linear-gradient(135deg, #0E9F6E, #E8B842); }
.sm-review-card:nth-child(3n+2) .sm-review-card__art { background: linear-gradient(135deg, #E8B842, #0E9F6E); }
.sm-review-card:nth-child(3n+3) .sm-review-card__art { background: linear-gradient(135deg, #111827, #0E9F6E); }

.sm-review-card__badge {
	position: absolute; top: 1rem; left: 1rem;
	padding: .28rem .7rem;
	background: rgba(255,255,255,0.92);
	color: var(--sm-ink);
	font-size: .66rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .1em;
	border-radius: 999px;
	z-index: 3;
}
.sm-review-card__score-chip {
	position: absolute; top: 1rem; right: 1rem;
	width: 52px; height: 52px;
	border-radius: 50%;
	background: rgba(255,255,255,0.96);
	color: var(--sm-primary);
	display: grid; place-items: center;
	font-size: 1.05rem;
	font-weight: 900;
	box-shadow: 0 6px 14px rgba(0,0,0,0.22);
	z-index: 3;
	line-height: 1;
}
.sm-review-card__name {
	position: relative; z-index: 2;
	font-size: 1.05rem; font-weight: 900;
	color: #fff;
	text-shadow: 0 2px 6px rgba(0,0,0,0.22);
	margin: 0;
	letter-spacing: -.01em;
}
.sm-review-card__body { padding: 1.15rem 1.3rem 1.3rem; display: flex; flex-direction: column; gap: .7rem; flex: 1; }
.sm-review-card__studio { font-size: .72rem; text-transform: uppercase; letter-spacing: .14em; color: var(--sm-muted); font-weight: 800; margin: 0; }
.sm-review-card__verdict { font-size: .9rem; color: var(--sm-ink-dim); margin: 0; flex: 1; line-height: 1.55; }
.sm-review-card__foot {
	display: flex; align-items: center; gap: .5rem;
	padding-top: .85rem;
	border-top: 1px dashed var(--sm-border-str);
	font-size: .78rem;
	color: var(--sm-muted);
}
.sm-review-card__foot strong { color: var(--sm-ink); font-weight: 700; }

/* Team cards (reviewer bios) ---------------------------------------------- */
.sm-team {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.25rem;
}
@media (max-width: 1000px) { .sm-team { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px)  { .sm-team { grid-template-columns: 1fr; } }
.sm-team__member {
	background: #fff;
	border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius);
	padding: 1.75rem 1.5rem;
	text-align: center;
	box-shadow: var(--sm-shadow-sm);
	transition: transform .2s ease, box-shadow .2s ease;
	display: flex; flex-direction: column;
}
.sm-team__member:hover { transform: translateY(-3px); box-shadow: var(--sm-shadow-md); }
.sm-team__avatar {
	width: 88px; height: 88px; border-radius: 50%;
	margin: 0 auto 1rem;
	background: linear-gradient(135deg, var(--sm-primary), var(--sm-secondary));
	color: #fff;
	display: grid; place-items: center;
	font-size: 1.65rem; font-weight: 900;
	letter-spacing: .02em;
	box-shadow: 0 10px 22px rgba(14, 159, 110, 0.28);
}
.sm-team__member:nth-child(even) .sm-team__avatar { background: linear-gradient(135deg, var(--sm-secondary), var(--sm-primary)); box-shadow: 0 10px 22px rgba(232, 184, 66, 0.25); }
.sm-team__name { font-size: 1rem; font-weight: 800; margin: 0 0 .2rem; color: var(--sm-ink); }
.sm-team__role { font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .14em; color: var(--sm-primary); margin: 0 0 .85rem; }
.sm-team__member:nth-child(even) .sm-team__role { color: #B15606; }
.sm-team__bio { font-size: .86rem; color: var(--sm-ink-dim); margin: 0 0 1.1rem; line-height: 1.55; flex: 1; }
.sm-team__creds {
	font-size: .72rem;
	padding-top: .85rem;
	border-top: 1px dashed var(--sm-border-str);
	color: var(--sm-muted);
	font-weight: 600;
	line-height: 1.45;
}
.sm-team__creds strong { color: var(--sm-ink); font-weight: 700; }

/* Badge legend ------------------------------------------------------------ */
.sm-badges {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
}
@media (max-width: 900px) { .sm-badges { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .sm-badges { grid-template-columns: 1fr; } }
.sm-badge-card {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	padding: 1.3rem 1.35rem;
	background: #fff;
	border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius);
	box-shadow: var(--sm-shadow-sm);
	transition: transform .2s ease, border-color .2s ease;
}
.sm-badge-card:hover { transform: translateY(-2px); border-color: var(--sm-primary); }
.sm-badge-card__tag {
	flex: none;
	padding: .4rem .85rem;
	border-radius: 999px;
	font-size: .7rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: .12em;
	color: #fff;
	background: var(--sm-primary);
	white-space: nowrap;
	height: max-content;
}
.sm-badge-card:nth-child(2) .sm-badge-card__tag { background: var(--sm-secondary); }
.sm-badge-card:nth-child(3) .sm-badge-card__tag { background: var(--sm-ink); color: var(--sm-secondary); }
.sm-badge-card:nth-child(4) .sm-badge-card__tag { background: var(--sm-primary); }
.sm-badge-card:nth-child(5) .sm-badge-card__tag { background: var(--sm-secondary); }
.sm-badge-card:nth-child(6) .sm-badge-card__tag { background: var(--sm-ink); color: var(--sm-secondary); }
.sm-badge-card__title { font-size: .95rem; font-weight: 800; margin: 0 0 .3rem; color: var(--sm-ink); }
.sm-badge-card__desc { font-size: .84rem; color: var(--sm-ink-dim); margin: 0; line-height: 1.5; }


/* ==========================================================================
   Legal page components
   ========================================================================== */

/* Status legend pills ------------------------------------------------------ */
.sm-status-legend {
	display: flex;
	flex-wrap: wrap;
	gap: .6rem;
	justify-content: center;
	margin-bottom: 2rem;
}
.sm-status-legend__item {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	padding: .45rem .9rem;
	background: #fff;
	border: 1px solid var(--sm-border);
	border-radius: 999px;
	font-size: .78rem;
	font-weight: 700;
	color: var(--sm-ink-dim);
	box-shadow: var(--sm-shadow-sm);
}
.sm-status-legend__dot {
	width: 10px; height: 10px;
	border-radius: 50%;
	flex: none;
}
.sm-status-legend__item--legal  .sm-status-legend__dot { background: #10B981; }
.sm-status-legend__item--soon   .sm-status-legend__dot { background: #E8B842; }
.sm-status-legend__item--sweeps .sm-status-legend__dot { background: #E8B842; }
.sm-status-legend__item--none   .sm-status-legend__dot { background: #CBD5E1; }
.sm-status-legend__item--banned .sm-status-legend__dot { background: #EF4444; }

/* US states grid ----------------------------------------------------------- */
.sm-states {
	display: grid;
	grid-template-columns: repeat(9, 1fr);
	gap: .55rem;
}
@media (max-width: 1100px) { .sm-states { grid-template-columns: repeat(7, 1fr); } }
@media (max-width: 820px)  { .sm-states { grid-template-columns: repeat(5, 1fr); } }
@media (max-width: 520px)  { .sm-states { grid-template-columns: repeat(4, 1fr); } }

.sm-state {
	aspect-ratio: 1 / 1;
	border-radius: 12px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	font-weight: 800;
	text-align: center;
	padding: .35rem;
	transition: transform .2s ease, box-shadow .2s ease;
	cursor: default;
	line-height: 1.1;
}
.sm-state:hover { transform: translateY(-2px) scale(1.03); }
.sm-state__abbr { font-size: 1.1rem; letter-spacing: .02em; }
.sm-state__name { font-size: .54rem; text-transform: uppercase; letter-spacing: .05em; margin-top: .25rem; opacity: .78; font-weight: 600; }

.sm-state--legal {
	background: linear-gradient(160deg, #10B981 0%, #047857 100%);
	color: #fff;
	box-shadow: 0 5px 14px rgba(16, 185, 129, 0.32);
}
.sm-state--soon {
	background: #FEF3C7;
	color: #92400E;
	border: 1px solid #E8B842;
}
.sm-state--sweeps {
	background: #FFF6DE;
	color: #9D174D;
	border: 1px solid #F9A8D4;
}
.sm-state--none {
	background: #F1F5F9;
	color: #64748B;
	border: 1px solid #CBD5E1;
}
.sm-state--banned {
	background: #FEE2E2;
	color: #991B1B;
	border: 1px solid #FCA5A5;
}

/* Legal-state highlight cards --------------------------------------------- */
.sm-legal-states {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 1.1rem;
}
@media (max-width: 1000px) { .sm-legal-states { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px)  { .sm-legal-states { grid-template-columns: repeat(2, 1fr); } }
.sm-legal-state {
	background: linear-gradient(180deg, #ECFDF5 0%, #ffffff 58%);
	border: 1px solid rgba(16, 185, 129, 0.28);
	border-radius: var(--sm-radius);
	padding: 1.5rem 1.3rem 1.4rem;
	box-shadow: var(--sm-shadow-sm);
	transition: transform .2s ease, box-shadow .2s ease;
}
.sm-legal-state:hover { transform: translateY(-3px); box-shadow: var(--sm-shadow-md); }
.sm-legal-state__flag {
	width: 46px; height: 46px;
	border-radius: 12px;
	background: linear-gradient(135deg, #10B981, #047857);
	color: #fff;
	display: grid; place-items: center;
	font-size: 1rem; font-weight: 900;
	margin-bottom: .85rem;
	box-shadow: 0 6px 14px rgba(16, 185, 129, 0.3);
}
.sm-legal-state__name { font-size: 1.15rem; font-weight: 800; color: var(--sm-ink); margin: 0 0 .3rem; letter-spacing: -.01em; }
.sm-legal-state__reg { font-size: .7rem; color: #047857; font-weight: 800; text-transform: uppercase; letter-spacing: .12em; margin: 0 0 .8rem; }
.sm-legal-state__since { font-size: .82rem; color: var(--sm-ink-dim); margin: 0; line-height: 1.5; }
.sm-legal-state__since strong { color: var(--sm-ink); }

/* Checklist / requirements -------------------------------------------------- */
.sm-check-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.1rem;
}
@media (max-width: 820px) { .sm-check-list { grid-template-columns: 1fr; } }
.sm-check {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	padding: 1.35rem 1.4rem;
	background: #fff;
	border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius);
	box-shadow: var(--sm-shadow-sm);
	transition: transform .2s ease, border-color .2s ease;
}
.sm-check:hover { transform: translateY(-2px); border-color: var(--sm-primary); }
.sm-check__icon {
	flex: none;
	width: 38px; height: 38px;
	border-radius: 11px;
	background: var(--sm-primary-soft);
	color: var(--sm-primary);
	display: grid; place-items: center;
	font-size: 1rem; font-weight: 900;
}
.sm-check__title { font-size: .98rem; font-weight: 800; margin: 0 0 .3rem; color: var(--sm-ink); }
.sm-check__body  { font-size: .86rem; color: var(--sm-ink-dim); margin: 0; line-height: 1.55; }
.sm-check__body strong { color: var(--sm-ink); }

/* Helpline cards ----------------------------------------------------------- */
.sm-helplines {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem;
}
@media (max-width: 820px) { .sm-helplines { grid-template-columns: 1fr; } }
.sm-helpline {
	display: grid;
	grid-template-columns: 52px 1fr auto;
	gap: 1.1rem;
	align-items: center;
	padding: 1.2rem 1.4rem;
	background: #fff;
	border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius);
	box-shadow: var(--sm-shadow-sm);
	transition: transform .2s ease;
}
.sm-helpline:hover { transform: translateY(-2px); }
.sm-helpline__icon {
	width: 52px; height: 52px;
	border-radius: 14px;
	background: var(--sm-ink);
	color: var(--sm-secondary);
	display: grid; place-items: center;
	font-size: 1.25rem; font-weight: 900;
}
.sm-helpline__name { font-size: 1rem; font-weight: 800; color: var(--sm-ink); margin: 0 0 .15rem; }
.sm-helpline__desc { font-size: .82rem; color: var(--sm-muted); margin: 0; line-height: 1.45; }
.sm-helpline__number { font-size: 1.05rem; font-weight: 900; color: var(--sm-primary); white-space: nowrap; }

/* 3-doc summary (T&C / Privacy / Cookies) --------------------------------- */
.sm-doc-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.3rem;
}
@media (max-width: 900px) { .sm-doc-grid { grid-template-columns: 1fr; } }
.sm-doc {
	background: #fff;
	border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius);
	padding: 1.9rem 1.7rem;
	box-shadow: var(--sm-shadow-sm);
	display: flex; flex-direction: column;
	transition: transform .2s ease, box-shadow .2s ease;
}
.sm-doc:hover { transform: translateY(-3px); box-shadow: var(--sm-shadow-md); }
.sm-doc__icon {
	width: 54px; height: 54px;
	border-radius: 14px;
	display: grid; place-items: center;
	font-size: 1.4rem; font-weight: 900;
	color: #fff;
	margin-bottom: 1.1rem;
}
.sm-doc:nth-child(1) .sm-doc__icon { background: linear-gradient(135deg, var(--sm-primary), var(--sm-secondary)); }
.sm-doc:nth-child(2) .sm-doc__icon { background: linear-gradient(135deg, var(--sm-secondary), var(--sm-primary)); }
.sm-doc:nth-child(3) .sm-doc__icon { background: var(--sm-ink); }
.sm-doc__title { font-size: 1.2rem; font-weight: 800; color: var(--sm-ink); margin: 0 0 .35rem; }
.sm-doc__upd   { font-size: .7rem; text-transform: uppercase; letter-spacing: .14em; color: var(--sm-muted); font-weight: 800; margin: 0 0 1.2rem; }
.sm-doc__list  { list-style: none; padding: 0; margin: 0 0 1.2rem; display: flex; flex-direction: column; gap: .6rem; flex: 1; }
.sm-doc__list li {
	font-size: .86rem;
	color: var(--sm-ink-dim);
	line-height: 1.55;
	padding-left: 1.3rem;
	position: relative;
}
.sm-doc__list li::before {
	content: "";
	position: absolute;
	left: 0; top: .6rem;
	width: 7px; height: 7px;
	border-radius: 50%;
	background: var(--sm-primary);
}
.sm-doc:nth-child(2) .sm-doc__list li::before { background: var(--sm-secondary); }
.sm-doc:nth-child(3) .sm-doc__list li::before { background: var(--sm-ink); }
.sm-doc__list li strong { color: var(--sm-ink); font-weight: 700; }
.sm-doc__foot {
	padding-top: 1rem;
	border-top: 1px dashed var(--sm-border-str);
	font-size: .78rem;
	color: var(--sm-muted);
	line-height: 1.45;
}
.sm-doc__foot strong { color: var(--sm-ink); font-weight: 700; }

/* Regulator list ----------------------------------------------------------- */
.sm-regs {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem;
}
@media (max-width: 820px) { .sm-regs { grid-template-columns: 1fr; } }
.sm-reg {
	display: grid;
	grid-template-columns: 60px 1fr;
	gap: 1rem;
	align-items: center;
	padding: 1.2rem 1.35rem;
	background: #fff;
	border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius);
	box-shadow: var(--sm-shadow-sm);
	transition: transform .2s ease;
}
.sm-reg:hover { transform: translateY(-2px); }
.sm-reg__mark {
	width: 60px; height: 60px;
	border-radius: 12px;
	background: var(--sm-bg-soft);
	color: var(--sm-primary);
	display: grid; place-items: center;
	font-size: .78rem;
	font-weight: 900;
	letter-spacing: .04em;
	text-align: center;
	line-height: 1.05;
	padding: .3rem;
}
.sm-reg:nth-child(even) .sm-reg__mark { color: var(--sm-secondary); background: #FFF7E6; }
.sm-reg:nth-child(5) .sm-reg__mark,
.sm-reg:nth-child(6) .sm-reg__mark { color: var(--sm-ink); background: #F1F5F9; }
.sm-reg__name { font-size: 1rem; font-weight: 800; color: var(--sm-ink); margin: 0 0 .25rem; }
.sm-reg__meta { font-size: .82rem; color: var(--sm-ink-dim); margin: 0; line-height: 1.5; }
.sm-reg__meta strong { color: var(--sm-ink); }


/* ==========================================================================
   Lucky Slots — Home page modules (appended)
   Hero chip, Jackpot ticker, Studios strip, Awards, Banking grid, Marquee
   ========================================================================== */

/* Hero copy column (pairs with .sm-hero already in this stylesheet) ------- */
body.lv-slots-front.sm-shell .sm-hero__copy {
	position: relative;
	z-index: 2;
	max-width: 640px;
}
body.lv-slots-front.sm-shell .sm-hero__copy .sm-hero__lead { margin-top: 1.1rem; }

/* Shimmering chip ("US · 21+ · Independent · 2026") ----------------------- */
.sm-chip-shine {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	padding: .5rem 1.05rem;
	border-radius: 999px;
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: #3E2E06;
	background: linear-gradient(105deg, #FBE38B 0%, #FFEFB4 45%, #FFFBEA 50%, #FFEFB4 55%, #FBE38B 100%);
	background-size: 220% auto;
	border: 1px solid rgba(232, 184, 66, 0.55);
	box-shadow: 0 6px 18px rgba(232, 184, 66, 0.28);
	animation: sm-chip-shine 6s linear infinite;
}
@keyframes sm-chip-shine {
	0%   { background-position: 0% 50%; }
	100% { background-position: 220% 50%; }
}

/* ---------------------------------------------------------------------------
   JACKPOT TICKER — dark emerald panel with gold headline
   --------------------------------------------------------------------------- */
.sm-jackpot {
	padding-block: clamp(2.5rem, 5vw, 4rem);
	background:
		radial-gradient(60% 120% at 85% 50%, rgba(232, 184, 66, 0.18) 0%, transparent 70%),
		radial-gradient(60% 120% at 10% 50%, rgba(14, 159, 110, 0.18) 0%, transparent 70%),
		linear-gradient(180deg, #0B1F17 0%, #123024 100%);
	color: #FFF6DE;
	border-top: 1px solid rgba(232, 184, 66, 0.22);
	border-bottom: 1px solid rgba(232, 184, 66, 0.22);
	position: relative;
	overflow: hidden;
}
.sm-jackpot::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: radial-gradient(rgba(232,184,66,0.08) 1px, transparent 1px);
	background-size: 20px 20px;
	opacity: .35;
	pointer-events: none;
}
.sm-jackpot__inner {
	position: relative;
	max-width: var(--sm-max);
	margin: 0 auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
	display: grid;
	grid-template-columns: 1.15fr 1fr 1fr;
	gap: clamp(1.5rem, 3vw, 2.5rem);
	align-items: center;
}
@media (max-width: 960px) { .sm-jackpot__inner { grid-template-columns: 1fr; } }

.sm-jackpot__label {
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: #FFD786;
	margin: 0 0 .6rem;
}
.sm-jackpot__value {
	font-family: 'Inter', ui-sans-serif, system-ui, sans-serif;
	font-size: clamp(1.85rem, 4.4vw, 2.9rem);
	font-weight: 900;
	letter-spacing: -.02em;
	line-height: 1;
	margin: 0 0 .7rem;
	background: linear-gradient(180deg, #FFE9A8 0%, #E8B842 55%, #B78A18 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	text-shadow: 0 0 1px rgba(232, 184, 66, 0.15);
}
.sm-jackpot__sub {
	font-size: .95rem;
	color: #D8E3DD;
	line-height: 1.55;
	margin: 0;
	max-width: 34ch;
}
.sm-jackpot__sub strong { color: #FFD786; font-weight: 800; }

.sm-jackpot__meta {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.sm-jackpot__meta-item {
	display: grid;
	grid-template-columns: 44px 1fr;
	gap: .9rem;
	align-items: center;
	padding: .95rem 1.05rem;
	background: rgba(255, 246, 222, 0.04);
	border: 1px solid rgba(232, 184, 66, 0.22);
	border-radius: 12px;
	backdrop-filter: blur(4px);
}
.sm-jackpot__meta-icon {
	width: 44px; height: 44px;
	border-radius: 10px;
	display: grid; place-items: center;
	background: linear-gradient(135deg, #E8B842 0%, #B78A18 100%);
	color: #0B1F17;
	font-size: 1.1rem; font-weight: 900;
	flex: none;
	box-shadow: 0 4px 10px rgba(232, 184, 66, 0.25);
}
.sm-jackpot__meta-title {
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #FFD786;
	margin: 0 0 .2rem;
}
.sm-jackpot__meta-body {
	font-size: .82rem;
	color: #D8E3DD;
	line-height: 1.45;
	margin: 0;
}

/* ---------------------------------------------------------------------------
   STUDIOS TRUST STRIP — horizontal wordmark row
   --------------------------------------------------------------------------- */
.sm-studios {
	display: block;
	grid-template-columns: none;
	gap: 0;
	padding-block: clamp(2rem, 4vw, 3rem);
	background: #fff;
	border-top: 1px solid var(--sm-border);
	border-bottom: 1px solid var(--sm-border);
}
.sm-studios__wrap {
	max-width: var(--sm-max);
	margin: 0 auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
}
.sm-studios__head {
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--sm-muted);
	margin: 0 0 1.25rem;
	text-align: center;
}
.sm-studios__grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .7rem .75rem;
}
.sm-studios__item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: .7rem 1.35rem;
	min-height: 48px;
	font-family: 'Inter', ui-sans-serif, system-ui, sans-serif;
	font-size: .95rem;
	font-weight: 700;
	letter-spacing: .005em;
	color: var(--sm-ink);
	background: #fff;
	border: 1px solid var(--sm-border);
	border-radius: 999px;
	text-align: center;
	line-height: 1;
	white-space: nowrap;
	transition: transform .2s ease, color .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
	cursor: default;
}
.sm-studios__item:hover {
	transform: translateY(-2px);
	color: var(--sm-primary-dark);
	border-color: rgba(14, 159, 110, 0.4);
	background: var(--sm-primary-soft);
	box-shadow: 0 4px 10px rgba(14, 159, 110, 0.08);
}
.sm-studios__item em {
	font-style: normal;
	color: inherit;
	font-weight: 700;
}
@media (max-width: 540px) {
	.sm-studios__grid { gap: .5rem .55rem; }
	.sm-studios__item { padding: .55rem 1rem; font-size: .85rem; min-height: 40px; }
}

/* ---------------------------------------------------------------------------
   AWARDS ROW — 3-column recognition band
   --------------------------------------------------------------------------- */
.sm-awards {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1rem;
	margin-top: 2.5rem;
	padding-top: 2rem;
	border-top: 1px dashed var(--sm-border-str);
}
@media (max-width: 1080px) { .sm-awards { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px)  { .sm-awards { grid-template-columns: 1fr; } }
.sm-award {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	padding: 1.15rem 1.25rem;
	background: #fff;
	border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius);
	box-shadow: var(--sm-shadow-sm);
	transition: transform .2s ease, box-shadow .2s ease;
	min-width: 0;
}
.sm-award:hover { transform: translateY(-2px); box-shadow: var(--sm-shadow-md); }
.sm-award__medal {
	flex: none;
	width: 48px; height: 48px;
	border-radius: 50%;
	display: grid; place-items: center;
	background: radial-gradient(60% 60% at 30% 30%, #FFE9A8 0%, #E8B842 60%, #B78A18 100%);
	color: #0B1F17;
	font-size: 1.25rem;
	font-weight: 900;
	box-shadow: 0 6px 16px rgba(232, 184, 66, 0.35), inset 0 0 0 2px rgba(255, 255, 255, 0.35);
}
.sm-award__text {
	flex: 1 1 auto;
	min-width: 0;
}
.sm-award__title {
	font-size: .95rem;
	font-weight: 800;
	color: var(--sm-ink);
	margin: 0 0 .25rem;
	line-height: 1.3;
	word-break: normal;
	overflow-wrap: break-word;
}
.sm-award__body {
	font-size: .82rem;
	color: var(--sm-ink-dim);
	line-height: 1.55;
	margin: 0;
	word-break: normal;
	overflow-wrap: break-word;
}

/* ---------------------------------------------------------------------------
   BANKING GRID — 2-col copy + 6 chips
   --------------------------------------------------------------------------- */
.sm-banking {
	padding-block: clamp(2.25rem, 4.5vw, 3.5rem);
	background:
		radial-gradient(70% 120% at 100% 50%, rgba(109, 40, 217, 0.08) 0%, transparent 60%),
		linear-gradient(180deg, var(--sm-bg) 0%, var(--sm-bg-plum) 100%);
	border-top: 1px solid var(--sm-border);
	border-bottom: 1px solid var(--sm-border);
}
.sm-banking__wrap {
	max-width: var(--sm-max);
	margin: 0 auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
	display: grid;
	grid-template-columns: .8fr 1.2fr;
	gap: clamp(1.5rem, 3vw, 2.5rem);
	align-items: center;
}
@media (max-width: 900px) { .sm-banking__wrap { grid-template-columns: 1fr; } }
.sm-banking__copy h3 {
	font-size: clamp(1.2rem, 2vw, 1.55rem);
	font-weight: 900;
	color: var(--sm-ink);
	line-height: 1.2;
	letter-spacing: -.01em;
	margin: .6rem 0 .9rem;
}
.sm-banking__copy p {
	font-size: .95rem;
	color: var(--sm-ink-dim);
	line-height: 1.6;
	margin: 0;
	max-width: 42ch;
}
.sm-banking__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: .85rem;
}
@media (max-width: 640px) { .sm-banking__grid { grid-template-columns: repeat(2, 1fr); } }
.sm-bank-chip {
	display: grid;
	place-items: center;
	min-height: 76px;
	padding: 1rem .85rem;
	background: #fff;
	border: 1px solid var(--sm-border);
	border-radius: 14px;
	font-family: 'Georgia', 'Times New Roman', serif;
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--sm-ink);
	text-align: center;
	line-height: 1.25;
	box-shadow: var(--sm-shadow-sm);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.sm-bank-chip em {
	font-style: normal;
	color: var(--sm-primary);
	font-weight: 800;
}
.sm-bank-chip:hover {
	transform: translateY(-2px);
	border-color: rgba(109, 40, 217, 0.3);
	box-shadow: var(--sm-shadow-md);
}

/* ---------------------------------------------------------------------------
   MARQUEE — latest winners scrolling band
   --------------------------------------------------------------------------- */
.sm-marquee {
	overflow: hidden;
	padding-block: 1.1rem;
	background: linear-gradient(90deg, #0B1F17 0%, #123024 50%, #0B1F17 100%);
	color: #FFF6DE;
	border-top: 1px solid rgba(232, 184, 66, 0.22);
	border-bottom: 1px solid rgba(232, 184, 66, 0.22);
	position: relative;
	mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 8%, #000 92%, transparent 100%);
}
.sm-marquee__track {
	display: flex;
	gap: 3rem;
	width: max-content;
	animation: sm-marquee-scroll 40s linear infinite;
	will-change: transform;
}
.sm-marquee:hover .sm-marquee__track { animation-play-state: paused; }
.sm-marquee__item {
	font-size: .92rem;
	font-weight: 600;
	color: #D8E3DD;
	letter-spacing: .01em;
	white-space: nowrap;
	display: inline-flex;
	align-items: center;
	gap: .6rem;
}
.sm-marquee__item::before {
	content: "★";
	color: #E8B842;
	font-size: 1rem;
}
.sm-marquee__item em {
	font-style: normal;
	color: #FFD786;
	font-weight: 800;
}
@keyframes sm-marquee-scroll {
	0%   { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
	.sm-marquee__track { animation: none; }
}

/* ==========================================================================
   Document pages (About / Contact / Privacy / Cookies / Legal)
   Shared visual system for `.sm-doc-wrap`, `.sm-doc-meta`, `.sm-toc`, `.sm-prose`
   ========================================================================== */

.sm-doc-wrap {
	max-width: 1040px;
	margin: 0 auto;
	padding-inline: clamp(1.1rem, 3vw, 2rem);
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: clamp(1.3rem, 3vw, 2rem);
}
.sm-doc-wrap > * { min-width: 0; }

/* Doc meta strip (Last updated / Published / Owner ...) -------------------- */
.sm-doc-meta {
	display: flex;
	flex-wrap: wrap;
	gap: .6rem 1.4rem;
	padding: 1rem 1.25rem;
	background: linear-gradient(135deg, rgba(14, 159, 110, 0.06) 0%, rgba(232, 184, 66, 0.08) 55%, rgba(109, 40, 217, 0.06) 100%);
	border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius);
	font-size: .84rem;
	color: var(--sm-ink-dim);
	letter-spacing: .005em;
	box-shadow: var(--sm-shadow-sm);
}
.sm-doc-meta > div {
	display: inline-flex;
	align-items: baseline;
	gap: .4rem;
}
.sm-doc-meta > div::before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--sm-primary);
	box-shadow: 0 0 0 3px rgba(14, 159, 110, 0.18);
	margin-right: .15rem;
	align-self: center;
}
.sm-doc-meta strong {
	font-weight: 800;
	color: var(--sm-ink);
	letter-spacing: .01em;
}

/* On-this-page TOC --------------------------------------------------------- */
.sm-toc {
	padding: 1.2rem 1.4rem 1.25rem;
	background: #fff;
	border: 1px solid var(--sm-border);
	border-left: 4px solid var(--sm-primary);
	border-radius: var(--sm-radius);
	box-shadow: var(--sm-shadow-sm);
}
.sm-toc__title {
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--sm-primary);
	margin: 0 0 .8rem;
}
.sm-toc__list {
	list-style: none;
	counter-reset: sm-toc-counter;
	padding: 0;
	margin: 0;
	columns: 2;
	column-gap: 2rem;
}
.sm-toc__list li {
	break-inside: avoid;
	counter-increment: sm-toc-counter;
	padding: .35rem 0;
	position: relative;
	padding-left: 2.2rem;
	min-height: 1.5rem;
}
.sm-toc__list li::before {
	content: counter(sm-toc-counter, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: .4rem;
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .08em;
	color: var(--sm-secondary-dk);
	background: var(--sm-bg-tint);
	padding: .1rem .45rem;
	border-radius: 999px;
	line-height: 1.4;
}
.sm-toc__list a {
	color: var(--sm-ink);
	text-decoration: none;
	font-weight: 600;
	font-size: .9rem;
	line-height: 1.45;
	transition: color .15s ease;
	border-bottom: 1px dashed transparent;
}
.sm-toc__list a:hover {
	color: var(--sm-primary);
	border-bottom-color: var(--sm-primary);
}

/* Long-form prose ---------------------------------------------------------- */
.sm-prose {
	color: var(--sm-ink-dim);
	font-size: 1rem;
	line-height: 1.78;
	max-width: 760px;
}
.sm-prose > *:first-child { margin-top: 0; }
.sm-prose > *:last-child  { margin-bottom: 0; }

.sm-prose h2 {
	position: relative;
	font-size: clamp(1.3rem, 2.1vw, 1.55rem);
	font-weight: 800;
	letter-spacing: -.015em;
	color: var(--sm-ink);
	line-height: 1.28;
	margin: 2.4rem 0 .9rem;
	padding-left: 1.1rem;
	scroll-margin-top: 90px;
}
.sm-prose h2::before {
	content: "";
	position: absolute;
	left: 0;
	top: .35em;
	bottom: .35em;
	width: 4px;
	border-radius: 4px;
	background: linear-gradient(180deg, var(--sm-primary) 0%, var(--sm-secondary) 100%);
}
.sm-prose h3 {
	font-size: clamp(1.05rem, 1.6vw, 1.22rem);
	font-weight: 800;
	letter-spacing: -.01em;
	color: var(--sm-ink);
	line-height: 1.32;
	margin: 1.8rem 0 .7rem;
	scroll-margin-top: 90px;
}
.sm-prose h4 {
	font-size: 1rem;
	font-weight: 800;
	color: var(--sm-ink);
	margin: 1.5rem 0 .6rem;
	letter-spacing: .005em;
}
.sm-prose p {
	margin: 0 0 1.1rem;
	font-size: 1rem;
	line-height: 1.78;
	color: var(--sm-ink-dim);
}
.sm-prose p strong { color: var(--sm-ink); font-weight: 700; }

.sm-prose a {
	color: var(--sm-primary);
	font-weight: 700;
	text-decoration: underline;
	text-decoration-color: rgba(14, 159, 110, 0.35);
	text-underline-offset: 3px;
	text-decoration-thickness: 1.5px;
	transition: color .15s ease, text-decoration-color .15s ease;
}
.sm-prose a:hover {
	color: var(--sm-primary-dark);
	text-decoration-color: currentColor;
}

.sm-prose ul,
.sm-prose ol {
	margin: 0 0 1.2rem;
	padding-left: 0;
	list-style: none;
}
.sm-prose ul li,
.sm-prose ol li {
	position: relative;
	padding-left: 1.7rem;
	margin: .5rem 0;
	line-height: 1.7;
}
.sm-prose ul li::before {
	content: "";
	position: absolute;
	left: .15rem;
	top: .65em;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--sm-primary) 0%, var(--sm-secondary) 100%);
	box-shadow: 0 0 0 3px rgba(14, 159, 110, 0.12);
}
.sm-prose ol {
	counter-reset: sm-prose-ol;
}
.sm-prose ol li {
	counter-increment: sm-prose-ol;
	padding-left: 2.2rem;
}
.sm-prose ol li::before {
	content: counter(sm-prose-ol);
	position: absolute;
	left: 0;
	top: .2em;
	min-width: 1.6rem;
	height: 1.6rem;
	padding: 0 .45rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--sm-primary-soft);
	color: var(--sm-primary-dark);
	font-size: .78rem;
	font-weight: 800;
	border-radius: 999px;
	letter-spacing: .02em;
}
.sm-prose li strong { color: var(--sm-ink); font-weight: 700; }

.sm-prose blockquote {
	margin: 1.4rem 0;
	padding: 1.1rem 1.3rem 1.1rem 1.5rem;
	border-left: 4px solid var(--sm-primary);
	background: linear-gradient(135deg, var(--sm-primary-soft) 0%, rgba(232, 184, 66, 0.08) 100%);
	color: var(--sm-ink);
	font-style: italic;
	border-radius: 0 var(--sm-radius) var(--sm-radius) 0;
	position: relative;
	box-shadow: var(--sm-shadow-sm);
}
.sm-prose blockquote::before {
	content: "“";
	position: absolute;
	top: -.2em;
	left: .5rem;
	font-size: 2.6rem;
	line-height: 1;
	color: var(--sm-primary);
	opacity: .35;
	font-family: Georgia, "Times New Roman", serif;
	font-style: normal;
}
.sm-prose blockquote p { margin: 0; font-size: 1.02rem; line-height: 1.65; }
.sm-prose blockquote p + p { margin-top: .7rem; }

.sm-prose address {
	display: block;
	font-style: normal;
	padding: 1rem 1.2rem;
	background: var(--sm-bg-soft);
	border: 1px dashed var(--sm-border-str);
	border-radius: var(--sm-radius);
	line-height: 1.75;
	margin: 1.2rem 0;
	color: var(--sm-ink);
	font-size: .95rem;
}

.sm-prose code {
	background: var(--sm-bg-soft);
	color: var(--sm-accent);
	border-radius: 6px;
	padding: .12em .42em;
	font-size: .9em;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
	font-weight: 600;
}
.sm-prose pre {
	background: #0B1F17;
	color: #E6F4EE;
	padding: 1rem 1.2rem;
	margin: 1.2rem 0;
	border-radius: var(--sm-radius);
	overflow-x: auto;
	font-size: .88rem;
	line-height: 1.6;
}
.sm-prose pre code {
	background: transparent;
	color: inherit;
	padding: 0;
	font-weight: 500;
}

.sm-prose table {
	width: 100%;
	border-collapse: collapse;
	margin: 1.3rem 0;
	font-size: .92rem;
	background: #fff;
	border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius);
	overflow: hidden;
	box-shadow: var(--sm-shadow-sm);
}
.sm-prose thead th {
	background: var(--sm-bg-soft);
	font-weight: 800;
	color: var(--sm-ink);
	letter-spacing: .01em;
}
.sm-prose th,
.sm-prose td {
	padding: .75rem .95rem;
	text-align: left;
	border-bottom: 1px solid var(--sm-border);
	vertical-align: top;
}
.sm-prose tr:last-child td { border-bottom: 0; }

.sm-prose hr {
	border: 0;
	height: 1px;
	margin: 2rem 0;
	background: linear-gradient(90deg, transparent 0%, var(--sm-border-str) 50%, transparent 100%);
}

.sm-prose img,
.sm-prose figure {
	max-width: 100%;
	height: auto;
	border-radius: var(--sm-radius);
	margin: 1.4rem 0;
}

/* Sub-page CTA trio (reused on About / Contact / Privacy / Cookies) -------- */
.sm-doc-wrap .sm-cta-split {
	margin-top: clamp(1.8rem, 4vw, 2.8rem);
	padding-top: clamp(1.4rem, 3vw, 2.2rem);
	border-top: 1px dashed var(--sm-border-str);
}

/* Cookie detail table (inside sm-prose, used by sm-cookies.php) ------------ */
.sm-prose .sm-table-wrap {
	overflow-x: auto;
	margin: 1.4rem 0;
	border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius);
	box-shadow: var(--sm-shadow-sm);
	background: #fff;
	-webkit-overflow-scrolling: touch;
}
.sm-prose .sm-cookie-table {
	width: 100%;
	min-width: 720px;
	margin: 0;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	font-size: .9rem;
	background: transparent;
}
.sm-prose .sm-cookie-table thead th {
	background: linear-gradient(180deg, var(--sm-bg-soft) 0%, #fff 100%);
	text-align: left;
	font-weight: 800;
	font-size: .74rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--sm-ink);
	padding: .85rem 1rem;
	border-bottom: 2px solid var(--sm-border-str);
	white-space: nowrap;
}
.sm-prose .sm-cookie-table td {
	padding: .85rem 1rem;
	border-bottom: 1px solid var(--sm-border);
	color: var(--sm-ink-dim);
	vertical-align: top;
	line-height: 1.55;
}
.sm-prose .sm-cookie-table tr:last-child td { border-bottom: 0; }
.sm-prose .sm-cookie-table tbody tr:hover { background: var(--sm-bg-soft); }
.sm-cookie-table__name {
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
	font-weight: 700 !important;
	color: var(--sm-ink) !important;
	font-size: .85rem;
	white-space: nowrap;
}
.sm-cookie-table__purpose { max-width: 320px; }
.sm-cookie-table__vendor { font-size: .84rem; }
.sm-cookie-table__tag {
	display: inline-flex;
	align-items: center;
	padding: .2rem .7rem;
	border-radius: 999px;
	background: var(--sm-primary-soft);
	color: var(--sm-primary-dark);
	font-size: .68rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
	white-space: nowrap;
}
.sm-cookie-table__tag--essential {
	background: var(--sm-primary-soft);
	color: var(--sm-primary-dark);
}
.sm-cookie-table__tag--measurement {
	background: var(--sm-accent-soft);
	color: var(--sm-accent);
}

/* Larger screens: TOC floats alongside doc meta, prose gets room ---------- */
@media (min-width: 1024px) {
	.sm-doc-wrap {
		grid-template-columns: minmax(0, 1fr) 320px;
		grid-template-areas:
			"meta toc"
			"prose toc"
			"cta   cta";
		column-gap: clamp(1.5rem, 2.5vw, 2.2rem);
		row-gap: clamp(1.2rem, 2vw, 1.8rem);
		align-items: start;
	}
	.sm-doc-wrap > .sm-doc-meta { grid-area: meta; }
	.sm-doc-wrap > .sm-toc      { grid-area: toc; position: sticky; top: 86px; }
	.sm-doc-wrap > .sm-prose    { grid-area: prose; max-width: none; }
	.sm-doc-wrap > .sm-cta-split { grid-area: cta; }
	.sm-toc__list { columns: 1; }
}

@media (max-width: 640px) {
	.sm-doc-meta { font-size: .82rem; padding: .85rem 1rem; gap: .5rem 1rem; }
	.sm-doc-meta > div::before { width: 5px; height: 5px; }
	.sm-toc { padding: 1rem 1.1rem; border-left-width: 3px; }
	.sm-toc__list { columns: 1; }
	.sm-toc__list li { padding: .3rem 0 .3rem 2rem; }
	.sm-toc__list a { font-size: .86rem; }
	.sm-prose p, .sm-prose li { font-size: .95rem; line-height: 1.7; }
	.sm-prose h2 { font-size: 1.22rem; padding-left: .9rem; }
	.sm-prose h3 { font-size: 1.08rem; }
	.sm-prose blockquote { padding: .9rem 1rem .9rem 1.2rem; }
	.sm-prose blockquote::before { font-size: 2rem; left: .4rem; }
}

/* ==========================================================================
   MOBILE TYPOGRAPHY TUNING — 2026 pass
   Compress oversized fixed-rem headings on tablet / phone breakpoints
   so titles feel balanced and body copy stays readable on small screens.
   ========================================================================== */

/* Tablet & small laptop ---------------------------------------------------- */
@media (max-width: 860px) {
	body.lv-slots-front.sm-shell { font-size: 15.5px; }
	.sm-section { padding-block: clamp(2.2rem, 6vw, 3.2rem); }
	.sm-section__kicker { font-size: .68rem; letter-spacing: .16em; }
	.sm-section__head { margin-bottom: 1.4rem; }
	.sm-hero__copy { padding-right: 0; }
	.sm-hero__banner-tag,
	.sm-hero__stage-lab { font-size: .64rem; }
}

/* Phone -------------------------------------------------------------------- */
@media (max-width: 640px) {
	body.lv-slots-front.sm-shell { font-size: 15px; -webkit-text-size-adjust: 100%; }

	/* Global section titles / leads */
	.sm-section__title { font-size: 1.35rem; line-height: 1.24; letter-spacing: -.012em; }
	.sm-section__lead  { font-size: .92rem; line-height: 1.6; }
	.sm-section__kicker { font-size: .62rem; letter-spacing: .14em; margin-bottom: .7rem; }
	.sm-section__head  { margin-bottom: 1.2rem; }

	/* Hero */
	.sm-hero { padding-block: 2rem; }
	.sm-hero__title { font-size: 1.55rem; line-height: 1.18; letter-spacing: -.01em; }
	.sm-hero__lead  { font-size: .92rem; line-height: 1.58; margin-bottom: 1.25rem; }
	.sm-hero__kicker { font-size: .66rem; letter-spacing: .18em; }
	.sm-hero__reel  { font-size: 1.15rem; }
	.sm-hero__stage { padding: .75rem .85rem; }
	.sm-hero__stage-val { font-size: .92rem; }
	.sm-hero__stage-lab { font-size: .6rem; letter-spacing: .18em; }

	/* Page hero (sub pages) */
	.sm-page-hero { padding-block: 2.2rem; }
	.sm-page-hero__title { font-size: 1.45rem; line-height: 1.22; }
	.sm-page-hero__lead  { font-size: .93rem; line-height: 1.6; }
	.sm-page-hero__kicker { font-size: .62rem; letter-spacing: .14em; }

	/* Closing CTA */
	.sm-closing__title { font-size: 1.3rem !important; line-height: 1.25; letter-spacing: -.01em; }
	.sm-closing__lead  { font-size: .92rem; }

	/* Stats / jackpot numbers */
	.sm-stat__num        { font-size: 1.55rem; }
	.sm-stat__label      { font-size: .72rem; }
	.sm-minibar__num     { font-size: 1.15rem; }
	.sm-minibar__lab     { font-size: .66rem; }
	.sm-jackpot__value   { font-size: 1.75rem; letter-spacing: -.015em; }
	.sm-jackpot__label   { font-size: .62rem; letter-spacing: .16em; }
	.sm-jackpot__sub     { font-size: .86rem; line-height: 1.55; }
	.sm-jackpot__meta-title { font-size: .88rem; }
	.sm-jackpot__meta-body  { font-size: .8rem; }

	/* Feature / advantage cards */
	.sm-feature__title   { font-size: .95rem; }
	.sm-feature__desc,
	.sm-cat__desc,
	.sm-studio__meta,
	.sm-insight__excerpt { font-size: .86rem; line-height: 1.55; }

	/* Slot cards */
	.sm-slot__title      { font-size: 1rem; }
	.sm-slot__pitch      { font-size: .86rem; line-height: 1.55; }
	.sm-slot__badge      { font-size: .6rem; padding: .24rem .6rem; }
	.sm-slot__studio     { font-size: .64rem; letter-spacing: .12em; }
	.sm-slot__stats      { padding-top: .7rem; }
	.sm-slot__stat-val   { font-size: .9rem; }

	/* Category / studio / award blocks */
	.sm-cat__title,
	.sm-studio__name,
	.sm-award__title { font-size: .94rem; }
	.sm-cat__icon,
	.sm-studio__mark { font-size: 1.05rem; width: 44px; height: 44px; border-radius: 11px; }
	.sm-award__medal { font-size: 1.4rem; }

	/* Insights (blog cards) */
	.sm-insight__banner  { height: 140px; font-size: 1.6rem; }
	.sm-insight__title   { font-size: 1rem; }
	.sm-insight__body    { padding: 1.1rem 1.15rem 1.2rem; gap: .65rem; }

	/* Testimonial / quote */
	.sm-quote            { padding: 1.6rem 1.25rem 1.35rem; }
	.sm-quote::before    { font-size: 2.6rem; top: -4px; left: .9rem; }
	.sm-quote__text      { font-size: .9rem; line-height: 1.55; }
	.sm-quote__name      { font-size: .88rem; }
	.sm-quote__meta      { font-size: .72rem; }

	/* Responsible gambling card */
	.sm-rg               { padding: 1.5rem 1.4rem; gap: 1rem; }
	.sm-rg__badge        { width: 54px; height: 54px; font-size: 1.2rem; }
	.sm-rg__title        { font-size: 1.05rem; }
	.sm-rg__body         { font-size: .88rem; line-height: 1.55; }

	/* FAQ */
	.sm-faq__q           { padding: 1rem 1.1rem; font-size: .95rem; line-height: 1.4; gap: .75rem; }
	.sm-faq__q::after    { font-size: 1.35rem; }
	.sm-faq__a           { padding: 0 1.1rem 1.1rem; font-size: .88rem; line-height: 1.6; }

	/* Bonus / CTA cards */
	.sm-bonus__title,
	.sm-cta-card__title  { font-size: 1.05rem; }
	.sm-bonus--featured .sm-bonus__title { font-size: 1.2rem; }

	/* Featured editor picks */
	.sm-featured__rank   { width: 38px; height: 38px; font-size: .82rem; top: .8rem; left: .8rem; }
	.sm-featured__title  { font-size: 1.2rem; }
	.sm-featured__badge  { font-size: .6rem; padding: .28rem .65rem; }
	.sm-featured__studio { font-size: .64rem; letter-spacing: .12em; }
	.sm-featured__body   { padding: 1.15rem 1.2rem 1.25rem; gap: .65rem; }

	/* Trust bar */
	.sm-trustbar__item   { font-size: .78rem; }
	.sm-trustbar__item strong { font-size: .82rem; }
	.sm-trustbar__icon   { width: 30px; height: 30px; font-size: .95rem; border-radius: 9px; }

	/* Buttons compress slightly */
	.sm-btn              { padding: .72rem 1.1rem; font-size: .83rem; }

	/* Review hero / score ring */
	.sm-review-hero__name { font-size: 1.3rem; }
	.sm-score-ring__val   { font-size: 1.25rem; }
	.sm-ranking__name     { font-size: .95rem; }

	/* State abbreviation tile (Legal) */
	.sm-state__abbr       { font-size: .98rem; }

	/* Marquee */
	.sm-marquee__item     { font-size: .82rem; }
	.sm-marquee__track    { gap: 2rem; }

	/* Banking */
	.sm-bank-chip         { font-size: .95rem; min-height: 64px; padding: .85rem .6rem; }

	/* Generic prose (Legal / About / Policy / Cookies) */
	.sm-prose h2          { font-size: 1.2rem !important; line-height: 1.3; margin-top: 1.8rem !important; }
	.sm-prose h3          { font-size: 1.02rem !important; line-height: 1.35; margin-top: 1.3rem !important; }
	.sm-prose p,
	.sm-prose li          { font-size: .93rem; line-height: 1.65; }
	.sm-doc-meta          { font-size: .78rem; padding: .85rem 1rem; }
	.sm-toc               { padding: 1rem 1.1rem; }
	.sm-toc a             { font-size: .86rem; }
}

/* Small phone (< 420px) ---------------------------------------------------- */
@media (max-width: 420px) {
	.sm-section__title    { font-size: 1.25rem; }
	.sm-hero__title       { font-size: 1.4rem; }
	.sm-page-hero__title  { font-size: 1.3rem; }
	.sm-closing__title    { font-size: 1.2rem !important; }
	.sm-stat__num         { font-size: 1.4rem; }
	.sm-jackpot__value    { font-size: 1.55rem; }
	.sm-insight__banner   { height: 120px; font-size: 1.4rem; }
	.sm-quote::before     { font-size: 2.2rem; }
	.sm-btn               { padding: .68rem 1rem; font-size: .8rem; gap: .4rem; }
}

/* ==========================================================================
   BLOG / ARCHIVE / AUTHOR / SINGLE — Lucky Slots editorial layout
   ========================================================================== */

body.lv-slots-front.sm-shell .sm-blog-main {
	background: var(--sm-bg);
	color: var(--sm-ink);
	padding-bottom: clamp(2.5rem, 6vw, 4.5rem);
}

/* Breadcrumb ---------------------------------------------------------------- */
body.lv-slots-front.sm-shell .sm-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .4rem .55rem;
	font-size: .78rem;
	color: var(--sm-muted);
	margin-bottom: 1.25rem;
	letter-spacing: .02em;
}
body.lv-slots-front.sm-shell .sm-breadcrumb a {
	color: var(--sm-ink-dim);
	text-decoration: none;
	font-weight: 600;
	transition: color .15s ease;
}
body.lv-slots-front.sm-shell .sm-breadcrumb a:hover { color: var(--sm-primary); }
body.lv-slots-front.sm-shell .sm-breadcrumb span[aria-current="page"] {
	color: var(--sm-ink);
	font-weight: 700;
}
body.lv-slots-front.sm-shell .sm-breadcrumb span[aria-hidden="true"] { color: var(--sm-border-str); }

/* Blog hero ----------------------------------------------------------------- */
body.lv-slots-front.sm-shell .sm-blog-hero {
	position: relative;
	padding-block: clamp(2.4rem, 5vw, 4rem) clamp(1.8rem, 4vw, 2.8rem);
	background:
		radial-gradient(900px 420px at 85% -10%, rgba(232, 184, 66, 0.16), transparent 65%),
		radial-gradient(700px 360px at -10% 30%, rgba(109, 40, 217, 0.10), transparent 60%),
		linear-gradient(180deg, #fff 0%, var(--sm-bg) 100%);
	border-bottom: 1px solid var(--sm-border);
}
body.lv-slots-front.sm-shell .sm-blog-hero__kicker {
	display: inline-block;
	padding: .32rem .9rem;
	border-radius: 999px;
	background: var(--sm-primary-soft);
	color: var(--sm-primary);
	font-weight: 700;
	font-size: .7rem;
	letter-spacing: .18em;
	text-transform: uppercase;
	margin-bottom: .85rem;
}
body.lv-slots-front.sm-shell .sm-blog-hero__title {
	font-size: clamp(1.55rem, 3.2vw, 2.3rem);
	line-height: 1.2;
	margin: 0 0 .9rem;
	font-weight: 800;
	letter-spacing: -.02em;
	color: var(--sm-ink);
	max-width: 820px;
}
body.lv-slots-front.sm-shell .sm-blog-hero__lead {
	font-size: clamp(.96rem, 1.25vw, 1.02rem);
	line-height: 1.65;
	color: var(--sm-ink-dim);
	margin: 0;
	max-width: 760px;
}
body.lv-slots-front.sm-shell .sm-blog-hero__lead p { margin: 0 0 .6rem; }
body.lv-slots-front.sm-shell .sm-blog-hero__lead p:last-child { margin-bottom: 0; }
body.lv-slots-front.sm-shell .sm-blog-hero__stats {
	display: flex;
	flex-wrap: wrap;
	gap: .6rem;
	list-style: none;
	margin: 1.4rem 0 0;
	padding: 0;
}
body.lv-slots-front.sm-shell .sm-blog-hero__stats li {
	display: inline-flex;
	flex-direction: column;
	gap: .15rem;
	background: #fff;
	border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius);
	padding: .7rem 1rem;
	min-width: 140px;
	box-shadow: var(--sm-shadow-sm);
}
body.lv-slots-front.sm-shell .sm-blog-hero__stats strong {
	font-size: 1.1rem;
	font-weight: 800;
	color: var(--sm-ink);
	line-height: 1.1;
	letter-spacing: -.01em;
}
body.lv-slots-front.sm-shell .sm-blog-hero__stats span {
	font-size: .72rem;
	color: var(--sm-muted);
	letter-spacing: .05em;
	text-transform: uppercase;
	font-weight: 600;
}

/* Blog body container ------------------------------------------------------- */
body.lv-slots-front.sm-shell .sm-blog-body {
	padding-top: clamp(1.6rem, 3vw, 2.4rem);
}

/* Topic / category chips row ------------------------------------------------ */
body.lv-slots-front.sm-shell .sm-blog-chips {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .55rem .7rem;
	margin-bottom: clamp(1.4rem, 2.6vw, 2rem);
}
body.lv-slots-front.sm-shell .sm-blog-chips__label {
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .16em;
	color: var(--sm-muted);
	text-transform: uppercase;
	margin-right: .25rem;
}
body.lv-slots-front.sm-shell .sm-blog-chips__list {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
body.lv-slots-front.sm-shell .sm-blog-chips__item {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	padding: .45rem .95rem;
	border-radius: 999px;
	background: #fff;
	color: var(--sm-ink-dim);
	border: 1px solid var(--sm-border-str);
	font-weight: 600;
	font-size: .82rem;
	text-decoration: none;
	transition: all .18s ease;
}
body.lv-slots-front.sm-shell .sm-blog-chips__item span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	padding: 0 .4rem;
	height: 20px;
	border-radius: 999px;
	background: var(--sm-bg-soft);
	color: var(--sm-ink);
	font-size: .68rem;
	font-weight: 700;
}
body.lv-slots-front.sm-shell .sm-blog-chips__item:hover,
body.lv-slots-front.sm-shell .sm-blog-chips__item.is-active {
	background: linear-gradient(135deg, var(--sm-primary) 0%, var(--sm-secondary) 100%);
	color: #fff;
	border-color: transparent;
	transform: translateY(-2px);
	box-shadow: 0 10px 22px rgba(14, 159, 110, 0.18);
}
body.lv-slots-front.sm-shell .sm-blog-chips__item:hover span,
body.lv-slots-front.sm-shell .sm-blog-chips__item.is-active span {
	background: rgba(255, 255, 255, 0.24);
	color: #fff;
}

/* Section heading ----------------------------------------------------------- */
body.lv-slots-front.sm-shell .sm-section-heading {
	display: flex;
	flex-direction: column;
	gap: .4rem;
	margin: clamp(1.6rem, 3vw, 2.4rem) 0 clamp(1rem, 2vw, 1.6rem);
	padding-top: clamp(.6rem, 1.5vw, 1rem);
	border-top: 1px dashed var(--sm-border);
}
body.lv-slots-front.sm-shell .sm-section-heading__title {
	font-size: clamp(1.2rem, 2vw, 1.5rem);
	font-weight: 800;
	letter-spacing: -.015em;
	line-height: 1.25;
	margin: 0;
	color: var(--sm-ink);
}
body.lv-slots-front.sm-shell .sm-section-heading__lead {
	font-size: .92rem;
	color: var(--sm-ink-dim);
	margin: 0;
	line-height: 1.6;
	max-width: 720px;
}

/* Featured (home.php) ------------------------------------------------------- */
body.lv-slots-front.sm-shell .sm-blog-featured {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	gap: clamp(1.2rem, 2.4vw, 2rem);
	background: #fff;
	border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius-lg);
	overflow: hidden;
	box-shadow: var(--sm-shadow-md);
	margin-bottom: clamp(1.2rem, 2.5vw, 2rem);
}
body.lv-slots-front.sm-shell .sm-blog-featured__media {
	position: relative;
	display: block;
	overflow: hidden;
	background: linear-gradient(135deg, var(--sm-bg-soft) 0%, var(--sm-bg-tint) 100%);
	aspect-ratio: 16 / 10;
}
body.lv-slots-front.sm-shell .sm-blog-featured__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	transition: transform .6s ease;
}
body.lv-slots-front.sm-shell .sm-blog-featured:hover .sm-blog-featured__img { transform: scale(1.04); }
body.lv-slots-front.sm-shell .sm-blog-featured__fallback {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 30% 30%, rgba(232, 184, 66, 0.35), transparent 60%),
		linear-gradient(135deg, var(--sm-bg-plum) 0%, var(--sm-bg-soft) 100%);
}
body.lv-slots-front.sm-shell .sm-blog-featured__chip {
	position: absolute;
	top: 1rem;
	left: 1rem;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	padding: .38rem .85rem;
	border-radius: 999px;
	background: rgba(11, 31, 23, 0.82);
	backdrop-filter: blur(6px);
	color: #fff;
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}
body.lv-slots-front.sm-shell .sm-blog-featured__body {
	display: flex;
	flex-direction: column;
	gap: .8rem;
	padding: clamp(1.3rem, 2.5vw, 2rem);
	justify-content: center;
}
body.lv-slots-front.sm-shell .sm-blog-featured__kicker {
	display: inline-block;
	align-self: flex-start;
	padding: .25rem .7rem;
	border-radius: 999px;
	background: var(--sm-accent-soft);
	color: var(--sm-accent);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
}
body.lv-slots-front.sm-shell .sm-blog-featured__title {
	font-size: clamp(1.25rem, 2.4vw, 1.7rem);
	font-weight: 800;
	letter-spacing: -.015em;
	line-height: 1.22;
	margin: 0;
}
body.lv-slots-front.sm-shell .sm-blog-featured__title a {
	color: var(--sm-ink);
	text-decoration: none;
	background-image: linear-gradient(var(--sm-primary), var(--sm-primary));
	background-size: 0 2px;
	background-repeat: no-repeat;
	background-position: 0 100%;
	transition: background-size .25s ease, color .15s ease;
}
body.lv-slots-front.sm-shell .sm-blog-featured__title a:hover {
	color: var(--sm-primary);
	background-size: 100% 2px;
}
body.lv-slots-front.sm-shell .sm-blog-featured__excerpt {
	font-size: .95rem;
	line-height: 1.65;
	color: var(--sm-ink-dim);
	margin: 0;
}
body.lv-slots-front.sm-shell .sm-blog-featured__meta {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem 1.2rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
body.lv-slots-front.sm-shell .sm-blog-featured__meta li {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	font-size: .78rem;
	color: var(--sm-muted);
	font-weight: 600;
}
body.lv-slots-front.sm-shell .sm-blog-featured__meta li a {
	color: var(--sm-ink-dim);
	text-decoration: none;
}
body.lv-slots-front.sm-shell .sm-blog-featured__meta li a:hover { color: var(--sm-primary); }
body.lv-slots-front.sm-shell .sm-blog-featured__meta svg { flex-shrink: 0; opacity: .7; }

/* Grid ---------------------------------------------------------------------- */
body.lv-slots-front.sm-shell .sm-blog-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: clamp(1rem, 2vw, 1.6rem);
}

/* Post card ----------------------------------------------------------------- */
body.lv-slots-front.sm-shell .sm-blog-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius-lg);
	overflow: hidden;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
	box-shadow: var(--sm-shadow-sm);
	text-decoration: none;
}
body.lv-slots-front.sm-shell .sm-blog-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--sm-shadow-md);
	border-color: var(--sm-border-str);
}
body.lv-slots-front.sm-shell .sm-blog-card__thumb {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 16 / 10;
	background: linear-gradient(135deg, var(--sm-bg-soft) 0%, var(--sm-bg-tint) 100%);
}
body.lv-slots-front.sm-shell .sm-blog-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	transition: transform .5s ease;
}
body.lv-slots-front.sm-shell .sm-blog-card:hover .sm-blog-card__img { transform: scale(1.05); }
body.lv-slots-front.sm-shell .sm-blog-card__thumb::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 40%;
	background: linear-gradient(180deg, transparent 0%, rgba(11, 31, 23, 0.5) 100%);
	opacity: .55;
	pointer-events: none;
}
body.lv-slots-front.sm-shell .sm-blog-card__thumb-fallback {
	position: absolute;
	inset: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: rgba(11, 31, 23, 0.25);
	background:
		radial-gradient(circle at 30% 30%, rgba(232, 184, 66, 0.3), transparent 60%),
		linear-gradient(135deg, var(--sm-bg-plum) 0%, var(--sm-bg-soft) 100%);
}
body.lv-slots-front.sm-shell .sm-blog-card__chip {
	position: absolute;
	top: .8rem;
	left: .8rem;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	padding: .28rem .75rem;
	border-radius: 999px;
	background: rgba(11, 31, 23, 0.82);
	backdrop-filter: blur(6px);
	color: #fff;
	font-size: .62rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	max-width: calc(100% - 1.6rem);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
body.lv-slots-front.sm-shell .sm-blog-card__body {
	display: flex;
	flex-direction: column;
	gap: .55rem;
	padding: 1.1rem 1.15rem 1.25rem;
	flex-grow: 1;
}
body.lv-slots-front.sm-shell .sm-blog-card__title {
	font-size: 1.06rem;
	font-weight: 800;
	line-height: 1.3;
	margin: 0;
	letter-spacing: -.012em;
	color: var(--sm-ink);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
body.lv-slots-front.sm-shell .sm-blog-card__title a {
	color: inherit;
	text-decoration: none;
	transition: color .15s ease;
}
body.lv-slots-front.sm-shell .sm-blog-card__title a:hover { color: var(--sm-primary); }
body.lv-slots-front.sm-shell .sm-blog-card__excerpt {
	font-size: .88rem;
	line-height: 1.6;
	color: var(--sm-ink-dim);
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
body.lv-slots-front.sm-shell .sm-blog-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem .85rem;
	list-style: none;
	margin: auto 0 0;
	padding-top: .6rem;
	border-top: 1px solid var(--sm-border);
}
body.lv-slots-front.sm-shell .sm-blog-card__meta-item {
	display: inline-flex;
	align-items: center;
	gap: .32rem;
	font-size: .72rem;
	font-weight: 600;
	color: var(--sm-muted);
}
body.lv-slots-front.sm-shell .sm-blog-card__meta-item svg { flex-shrink: 0; opacity: .75; }
body.lv-slots-front.sm-shell .sm-blog-card__meta-item a {
	color: var(--sm-ink-dim);
	text-decoration: none;
	font-weight: 700;
}
body.lv-slots-front.sm-shell .sm-blog-card__meta-item a:hover { color: var(--sm-primary); }
body.lv-slots-front.sm-shell .sm-blog-card__cta {
	display: none; /* Keep the whole card clickable via title/thumbnail; hide extra CTA for a cleaner look. */
}

/* Pagination ---------------------------------------------------------------- */
body.lv-slots-front.sm-shell .sm-pagination {
	margin: clamp(2rem, 4vw, 3rem) 0 0;
	display: flex;
	justify-content: center;
}
body.lv-slots-front.sm-shell .sm-pagination__list {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
	list-style: none;
	margin: 0;
	padding: 0;
	justify-content: center;
}
body.lv-slots-front.sm-shell .sm-pagination__item a,
body.lv-slots-front.sm-shell .sm-pagination__item .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .3rem;
	min-width: 42px;
	height: 42px;
	padding: 0 .85rem;
	border-radius: 999px;
	background: #fff;
	border: 1px solid var(--sm-border-str);
	color: var(--sm-ink-dim);
	font-weight: 700;
	font-size: .88rem;
	text-decoration: none;
	transition: all .18s ease;
}
body.lv-slots-front.sm-shell .sm-pagination__item .page-numbers.current {
	background: linear-gradient(135deg, var(--sm-primary) 0%, var(--sm-secondary) 100%);
	color: #fff;
	border-color: transparent;
	box-shadow: 0 10px 22px rgba(14, 159, 110, 0.22);
}
body.lv-slots-front.sm-shell .sm-pagination__item .page-numbers.dots {
	border-color: transparent;
	background: transparent;
	color: var(--sm-muted);
}
body.lv-slots-front.sm-shell .sm-pagination__item a:hover {
	border-color: var(--sm-primary);
	color: var(--sm-primary);
	transform: translateY(-2px);
}
body.lv-slots-front.sm-shell .sm-pagination__label { font-size: .88rem; }

/* Empty state --------------------------------------------------------------- */
body.lv-slots-front.sm-shell .sm-empty {
	background: #fff;
	border: 1px dashed var(--sm-border-str);
	border-radius: var(--sm-radius-lg);
	padding: clamp(2rem, 4vw, 3.5rem) clamp(1.2rem, 3vw, 2.5rem);
	text-align: center;
	max-width: 680px;
	margin: clamp(1rem, 2vw, 2rem) auto;
}
body.lv-slots-front.sm-shell .sm-empty__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background: var(--sm-primary-soft);
	color: var(--sm-primary);
	margin-bottom: 1rem;
}
body.lv-slots-front.sm-shell .sm-empty__title {
	font-size: clamp(1.15rem, 1.8vw, 1.35rem);
	font-weight: 800;
	margin: 0 0 .6rem;
	color: var(--sm-ink);
}
body.lv-slots-front.sm-shell .sm-empty__lead {
	color: var(--sm-ink-dim);
	font-size: .95rem;
	line-height: 1.6;
	margin: 0 auto 1.3rem;
	max-width: 480px;
}
body.lv-slots-front.sm-shell .sm-empty__search {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	justify-content: center;
	margin-bottom: 1rem;
}
body.lv-slots-front.sm-shell .sm-empty__search input[type="search"] {
	flex: 1 1 260px;
	min-width: 0;
	height: 48px;
	padding: 0 1rem;
	border-radius: 999px;
	border: 1.5px solid var(--sm-border-str);
	background: #fff;
	color: var(--sm-ink);
	font-size: .95rem;
	transition: border-color .18s ease, box-shadow .18s ease;
}
body.lv-slots-front.sm-shell .sm-empty__search input[type="search"]:focus {
	outline: none;
	border-color: var(--sm-primary);
	box-shadow: 0 0 0 4px var(--sm-primary-soft);
}
body.lv-slots-front.sm-shell .sm-empty__search button { height: 48px; padding: 0 1.3rem; }
body.lv-slots-front.sm-shell .sm-empty__links {
	display: flex;
	flex-wrap: wrap;
	gap: .45rem .9rem;
	justify-content: center;
	color: var(--sm-muted);
	font-size: .85rem;
}
body.lv-slots-front.sm-shell .sm-empty__link {
	color: var(--sm-ink-dim);
	font-weight: 600;
	text-decoration: none;
	border-bottom: 1px dashed transparent;
	transition: all .15s ease;
}
body.lv-slots-front.sm-shell .sm-empty__link:hover {
	color: var(--sm-primary);
	border-bottom-color: var(--sm-primary);
}

/* Author hero --------------------------------------------------------------- */
body.lv-slots-front.sm-shell .sm-author-hero {
	padding-block: clamp(2rem, 4.5vw, 3.2rem) clamp(1.6rem, 3.5vw, 2.4rem);
	background:
		radial-gradient(900px 500px at 90% -20%, rgba(109, 40, 217, 0.14), transparent 65%),
		radial-gradient(700px 420px at -10% 40%, rgba(232, 184, 66, 0.16), transparent 60%),
		linear-gradient(180deg, #fff 0%, var(--sm-bg) 100%);
	border-bottom: 1px solid var(--sm-border);
}
body.lv-slots-front.sm-shell .sm-author-hero__card {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: clamp(1.1rem, 2.5vw, 2rem);
	align-items: start;
	background: #fff;
	border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius-lg);
	padding: clamp(1.3rem, 2.8vw, 2.2rem);
	margin-top: 1rem;
	box-shadow: var(--sm-shadow-md);
}
body.lv-slots-front.sm-shell .sm-author-hero__avatar {
	width: clamp(96px, 12vw, 140px);
	height: clamp(96px, 12vw, 140px);
	border-radius: 50%;
	overflow: hidden;
	background: linear-gradient(135deg, var(--sm-primary) 0%, var(--sm-secondary) 100%);
	padding: 3px;
	box-shadow: 0 14px 30px rgba(14, 159, 110, 0.18);
	flex-shrink: 0;
}
body.lv-slots-front.sm-shell .sm-author-hero__avatar > * {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
	background: #fff;
}
body.lv-slots-front.sm-shell .sm-author-hero__info { display: flex; flex-direction: column; gap: .5rem; min-width: 0; }
body.lv-slots-front.sm-shell .sm-author-hero__kicker {
	display: inline-block;
	align-self: flex-start;
	padding: .28rem .8rem;
	border-radius: 999px;
	background: var(--sm-accent-soft);
	color: var(--sm-accent);
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
}
body.lv-slots-front.sm-shell .sm-author-hero__name {
	font-size: clamp(1.55rem, 3vw, 2.2rem);
	font-weight: 800;
	letter-spacing: -.02em;
	line-height: 1.15;
	margin: 0;
	color: var(--sm-ink);
}
body.lv-slots-front.sm-shell .sm-author-hero__role {
	font-size: .95rem;
	color: var(--sm-primary);
	font-weight: 700;
	margin: 0;
	letter-spacing: .02em;
}
body.lv-slots-front.sm-shell .sm-author-hero__bio {
	font-size: .95rem;
	color: var(--sm-ink-dim);
	line-height: 1.65;
	max-width: 620px;
}
body.lv-slots-front.sm-shell .sm-author-hero__bio p { margin: 0 0 .6rem; }
body.lv-slots-front.sm-shell .sm-author-hero__bio p:last-child { margin-bottom: 0; }
body.lv-slots-front.sm-shell .sm-author-hero__badges {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	list-style: none;
	margin: .3rem 0 0;
	padding: 0;
}
body.lv-slots-front.sm-shell .sm-author-hero__badges li {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	padding: .35rem .75rem;
	border-radius: 999px;
	background: var(--sm-bg-soft);
	color: var(--sm-ink-dim);
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .01em;
}
body.lv-slots-front.sm-shell .sm-author-hero__badges svg { color: var(--sm-primary); flex-shrink: 0; }
body.lv-slots-front.sm-shell .sm-author-hero__links {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin-top: .2rem;
}
body.lv-slots-front.sm-shell .sm-author-hero__link {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	padding: .38rem .85rem;
	border-radius: 999px;
	border: 1.5px solid var(--sm-border-str);
	color: var(--sm-ink-dim);
	font-size: .78rem;
	font-weight: 700;
	text-decoration: none;
	transition: all .18s ease;
}
body.lv-slots-front.sm-shell .sm-author-hero__link:hover {
	border-color: var(--sm-primary);
	color: var(--sm-primary);
	transform: translateY(-1px);
}
body.lv-slots-front.sm-shell .sm-author-hero__stats {
	display: flex;
	flex-direction: column;
	gap: .7rem;
	list-style: none;
	margin: 0;
	padding: 0;
	min-width: 190px;
	background: linear-gradient(180deg, rgba(14, 159, 110, 0.06) 0%, rgba(109, 40, 217, 0.05) 100%);
	border-radius: var(--sm-radius);
	padding: 1rem 1.15rem;
	border: 1px solid var(--sm-border);
}
body.lv-slots-front.sm-shell .sm-author-hero__stats li {
	display: flex;
	flex-direction: column;
	gap: .1rem;
}
body.lv-slots-front.sm-shell .sm-author-hero__stats strong {
	font-size: 1.4rem;
	font-weight: 800;
	color: var(--sm-ink);
	line-height: 1.1;
	letter-spacing: -.01em;
}
body.lv-slots-front.sm-shell .sm-author-hero__stats span {
	font-size: .72rem;
	color: var(--sm-muted);
	letter-spacing: .05em;
	text-transform: uppercase;
	font-weight: 600;
}

/* Single post --------------------------------------------------------------- */
body.lv-slots-front.sm-shell .sm-single { display: block; }
body.lv-slots-front.sm-shell .sm-single__hero {
	position: relative;
	padding-block: clamp(2rem, 4.5vw, 3.2rem) clamp(1.6rem, 3vw, 2.4rem);
	background:
		radial-gradient(900px 480px at 85% -20%, rgba(232, 184, 66, 0.16), transparent 65%),
		radial-gradient(700px 420px at -10% 40%, rgba(109, 40, 217, 0.10), transparent 60%),
		linear-gradient(180deg, #fff 0%, var(--sm-bg) 100%);
	border-bottom: 1px solid var(--sm-border);
}
body.lv-slots-front.sm-shell .sm-single__hero-inner { max-width: 920px; margin-inline: auto; }
body.lv-slots-front.sm-shell .sm-single__chip {
	display: inline-flex;
	align-items: center;
	padding: .32rem .9rem;
	border-radius: 999px;
	background: var(--sm-primary-soft);
	color: var(--sm-primary);
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	text-decoration: none;
	margin-bottom: .8rem;
	transition: background .15s ease;
}
body.lv-slots-front.sm-shell .sm-single__chip:hover {
	background: var(--sm-primary);
	color: #fff;
}
body.lv-slots-front.sm-shell .sm-single__title {
	font-size: clamp(1.7rem, 3.8vw, 2.6rem);
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -.02em;
	margin: 0 0 .8rem;
	color: var(--sm-ink);
}
body.lv-slots-front.sm-shell .sm-single__lead {
	font-size: clamp(1rem, 1.3vw, 1.1rem);
	line-height: 1.65;
	color: var(--sm-ink-dim);
	margin: 0 0 1.4rem;
	max-width: 720px;
}
body.lv-slots-front.sm-shell .sm-single__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem 1.6rem;
	padding: 1rem 0;
	margin-bottom: 1.4rem;
	border-top: 1px solid var(--sm-border);
	border-bottom: 1px solid var(--sm-border);
}
body.lv-slots-front.sm-shell .sm-single__meta-author {
	display: flex;
	align-items: center;
	gap: .7rem;
}
body.lv-slots-front.sm-shell .sm-single__avatar {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	overflow: hidden;
	background: linear-gradient(135deg, var(--sm-primary) 0%, var(--sm-secondary) 100%);
	padding: 2px;
	flex-shrink: 0;
}
body.lv-slots-front.sm-shell .sm-single__avatar > * {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 50%;
	background: #fff;
}
body.lv-slots-front.sm-shell .sm-single__meta-text { display: flex; flex-direction: column; gap: 0; }
body.lv-slots-front.sm-shell .sm-single__meta-kicker {
	font-size: .7rem;
	color: var(--sm-muted);
	letter-spacing: .05em;
	text-transform: uppercase;
	font-weight: 600;
}
body.lv-slots-front.sm-shell .sm-single__meta-name {
	font-size: .92rem;
	color: var(--sm-ink);
	font-weight: 800;
	text-decoration: none;
	letter-spacing: -.005em;
	line-height: 1.25;
}
body.lv-slots-front.sm-shell .sm-single__meta-name:hover { color: var(--sm-primary); }
body.lv-slots-front.sm-shell .sm-single__meta-list {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem 1.2rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
body.lv-slots-front.sm-shell .sm-single__meta-list li {
	display: inline-flex;
	align-items: center;
	gap: .38rem;
	font-size: .78rem;
	font-weight: 600;
	color: var(--sm-muted);
}
body.lv-slots-front.sm-shell .sm-single__meta-list svg { flex-shrink: 0; opacity: .75; }
body.lv-slots-front.sm-shell .sm-single__featured {
	margin: 0;
	border-radius: var(--sm-radius-lg);
	overflow: hidden;
	box-shadow: var(--sm-shadow-lg);
	background: linear-gradient(135deg, var(--sm-bg-soft) 0%, var(--sm-bg-tint) 100%);
}
body.lv-slots-front.sm-shell .sm-single__featured-img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 520px;
	object-fit: cover;
}
body.lv-slots-front.sm-shell .sm-single__featured-caption {
	padding: .7rem 1rem;
	font-size: .8rem;
	color: var(--sm-muted);
	font-style: italic;
	background: #fff;
	text-align: center;
}

body.lv-slots-front.sm-shell .sm-single__body {
	max-width: 920px;
	margin-inline: auto;
	padding-top: clamp(1.4rem, 2.8vw, 2.2rem);
	display: grid;
	grid-template-columns: 68px minmax(0, 1fr);
	gap: clamp(1rem, 2vw, 1.6rem);
}
body.lv-slots-front.sm-shell .sm-single__aside {
	position: sticky;
	top: 90px;
	align-self: start;
}
body.lv-slots-front.sm-shell .sm-single__share {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .55rem;
	padding: .9rem .6rem;
	background: #fff;
	border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius);
	box-shadow: var(--sm-shadow-sm);
}
body.lv-slots-front.sm-shell .sm-single__share-label {
	font-size: .62rem;
	font-weight: 700;
	letter-spacing: .18em;
	color: var(--sm-muted);
	text-transform: uppercase;
}
body.lv-slots-front.sm-shell .sm-single__share-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--sm-bg-soft);
	color: var(--sm-ink-dim);
	transition: all .18s ease;
}
body.lv-slots-front.sm-shell .sm-single__share-btn:hover {
	background: linear-gradient(135deg, var(--sm-primary) 0%, var(--sm-secondary) 100%);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(14, 159, 110, 0.28);
}
body.lv-slots-front.sm-shell .sm-single__content { min-width: 0; }
body.lv-slots-front.sm-shell .sm-single__content > *:first-child { margin-top: 0; }
body.lv-slots-front.sm-shell .sm-single__pagebreak {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	align-items: center;
	padding: .9rem 1.1rem;
	margin-top: 1.6rem;
	background: var(--sm-bg-soft);
	border-radius: var(--sm-radius);
	font-size: .88rem;
	font-weight: 600;
	color: var(--sm-ink-dim);
}
body.lv-slots-front.sm-shell .sm-single__pagebreak a,
body.lv-slots-front.sm-shell .sm-single__pagebreak > span:not(:first-child) {
	min-width: 32px;
	height: 32px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 .7rem;
	border-radius: 999px;
	background: #fff;
	border: 1px solid var(--sm-border-str);
	color: var(--sm-ink-dim);
	text-decoration: none;
}
body.lv-slots-front.sm-shell .sm-single__pagebreak a:hover { border-color: var(--sm-primary); color: var(--sm-primary); }

body.lv-slots-front.sm-shell .sm-single__tags {
	grid-column: 1 / -1;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem .75rem;
	padding: 1rem 0;
	margin-top: 1.8rem;
	border-top: 1px solid var(--sm-border);
}
body.lv-slots-front.sm-shell .sm-single__tags-label {
	font-size: .7rem;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--sm-muted);
	font-weight: 800;
}
body.lv-slots-front.sm-shell .sm-single__tags a {
	display: inline-flex;
	align-items: center;
	padding: .35rem .85rem;
	border-radius: 999px;
	background: var(--sm-bg-soft);
	color: var(--sm-ink-dim);
	font-size: .78rem;
	font-weight: 600;
	text-decoration: none;
	transition: all .15s ease;
}
body.lv-slots-front.sm-shell .sm-single__tags a:hover {
	background: var(--sm-primary);
	color: #fff;
	transform: translateY(-1px);
}

/* Author box (inside single post) ------------------------------------------- */
body.lv-slots-front.sm-shell .sm-author-box {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 1.2rem 1.5rem;
	margin-top: 2rem;
	padding: clamp(1.2rem, 2.5vw, 1.8rem);
	background: linear-gradient(135deg, #fff 0%, var(--sm-bg-soft) 100%);
	border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius-lg);
	box-shadow: var(--sm-shadow-sm);
}
body.lv-slots-front.sm-shell .sm-author-box__avatar {
	width: 96px;
	height: 96px;
	border-radius: 50%;
	overflow: hidden;
	background: linear-gradient(135deg, var(--sm-primary) 0%, var(--sm-secondary) 100%);
	padding: 3px;
}
body.lv-slots-front.sm-shell .sm-author-box__avatar > * {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
	background: #fff;
}
body.lv-slots-front.sm-shell .sm-author-box__body { display: flex; flex-direction: column; gap: .45rem; min-width: 0; }
body.lv-slots-front.sm-shell .sm-author-box__kicker {
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--sm-muted);
}
body.lv-slots-front.sm-shell .sm-author-box__name {
	font-size: 1.25rem;
	font-weight: 800;
	margin: 0;
	letter-spacing: -.01em;
}
body.lv-slots-front.sm-shell .sm-author-box__name a {
	color: var(--sm-ink);
	text-decoration: none;
}
body.lv-slots-front.sm-shell .sm-author-box__name a:hover { color: var(--sm-primary); }
body.lv-slots-front.sm-shell .sm-author-box__bio {
	font-size: .92rem;
	line-height: 1.65;
	color: var(--sm-ink-dim);
	margin: 0;
}
body.lv-slots-front.sm-shell .sm-author-box__cta {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	align-self: flex-start;
	margin-top: .3rem;
	padding: .55rem 1rem;
	border-radius: 999px;
	background: var(--sm-ink);
	color: #fff;
	font-size: .82rem;
	font-weight: 700;
	text-decoration: none;
	transition: all .18s ease;
}
body.lv-slots-front.sm-shell .sm-author-box__cta:hover {
	background: linear-gradient(135deg, var(--sm-primary) 0%, var(--sm-secondary) 100%);
	transform: translateY(-2px);
	box-shadow: 0 12px 26px rgba(14, 159, 110, 0.22);
}

/* Related posts ------------------------------------------------------------- */
body.lv-slots-front.sm-shell .sm-related {
	grid-column: 1 / -1;
	margin-top: 2.4rem;
}
body.lv-slots-front.sm-shell .sm-related__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 1rem;
}
body.lv-slots-front.sm-shell .sm-related__card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius);
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
	box-shadow: var(--sm-shadow-sm);
}
body.lv-slots-front.sm-shell .sm-related__card:hover {
	transform: translateY(-3px);
	box-shadow: var(--sm-shadow-md);
	border-color: var(--sm-border-str);
}
body.lv-slots-front.sm-shell .sm-related__thumb {
	position: relative;
	display: block;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: linear-gradient(135deg, var(--sm-bg-soft) 0%, var(--sm-bg-tint) 100%);
}
body.lv-slots-front.sm-shell .sm-related__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s ease;
}
body.lv-slots-front.sm-shell .sm-related__card:hover .sm-related__img { transform: scale(1.05); }
body.lv-slots-front.sm-shell .sm-related__fallback {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 30% 30%, rgba(232, 184, 66, 0.3), transparent 60%),
		linear-gradient(135deg, var(--sm-bg-plum) 0%, var(--sm-bg-soft) 100%);
}
body.lv-slots-front.sm-shell .sm-related__chip {
	position: absolute;
	top: .6rem;
	left: .6rem;
	padding: .24rem .7rem;
	border-radius: 999px;
	background: rgba(11, 31, 23, 0.82);
	backdrop-filter: blur(6px);
	color: #fff;
	font-size: .6rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}
body.lv-slots-front.sm-shell .sm-related__body {
	display: flex;
	flex-direction: column;
	gap: .35rem;
	padding: .9rem 1rem 1rem;
	flex-grow: 1;
}
body.lv-slots-front.sm-shell .sm-related__title {
	font-size: .98rem;
	font-weight: 800;
	letter-spacing: -.01em;
	line-height: 1.3;
	color: var(--sm-ink);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
body.lv-slots-front.sm-shell .sm-related__card:hover .sm-related__title { color: var(--sm-primary); }
body.lv-slots-front.sm-shell .sm-related__meta {
	font-size: .74rem;
	color: var(--sm-muted);
	font-weight: 600;
	margin-top: auto;
}

/* Post nav (prev / next) ---------------------------------------------------- */
body.lv-slots-front.sm-shell .sm-post-nav {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin-top: 2rem;
}
body.lv-slots-front.sm-shell .sm-post-nav__link {
	display: flex;
	flex-direction: column;
	gap: .3rem;
	padding: 1rem 1.2rem;
	background: #fff;
	border: 1px solid var(--sm-border);
	border-radius: var(--sm-radius);
	text-decoration: none;
	color: var(--sm-ink);
	transition: all .18s ease;
	box-shadow: var(--sm-shadow-sm);
	min-width: 0;
}
body.lv-slots-front.sm-shell .sm-post-nav__link:hover {
	border-color: var(--sm-primary);
	transform: translateY(-2px);
	box-shadow: var(--sm-shadow-md);
}
body.lv-slots-front.sm-shell .sm-post-nav__link--next { text-align: right; }
body.lv-slots-front.sm-shell .sm-post-nav__dir {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--sm-primary);
}
body.lv-slots-front.sm-shell .sm-post-nav__link--next .sm-post-nav__dir { justify-content: flex-end; }
body.lv-slots-front.sm-shell .sm-post-nav__title {
	font-size: .95rem;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: -.005em;
	color: var(--sm-ink);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Prose tuning for single post content -------------------------------------- */
body.lv-slots-front.sm-shell .sm-single__content h2,
body.lv-slots-front.sm-shell .sm-single__content h3,
body.lv-slots-front.sm-shell .sm-single__content h4 {
	color: var(--sm-ink);
	font-weight: 800;
	letter-spacing: -.015em;
	margin: 2rem 0 .8rem;
	line-height: 1.28;
}
body.lv-slots-front.sm-shell .sm-single__content h2 { font-size: clamp(1.35rem, 2.2vw, 1.65rem); }
body.lv-slots-front.sm-shell .sm-single__content h3 { font-size: clamp(1.12rem, 1.8vw, 1.32rem); }
body.lv-slots-front.sm-shell .sm-single__content h4 { font-size: 1.05rem; }
body.lv-slots-front.sm-shell .sm-single__content p {
	font-size: 1rem;
	line-height: 1.78;
	color: var(--sm-ink-dim);
	margin: 0 0 1.1rem;
}
body.lv-slots-front.sm-shell .sm-single__content a {
	color: var(--sm-primary);
	font-weight: 700;
	text-decoration: underline;
	text-decoration-color: rgba(14, 159, 110, 0.35);
	text-underline-offset: 3px;
	transition: color .15s ease;
}
body.lv-slots-front.sm-shell .sm-single__content a:hover {
	color: var(--sm-primary-dark);
	text-decoration-color: currentColor;
}
body.lv-slots-front.sm-shell .sm-single__content ul,
body.lv-slots-front.sm-shell .sm-single__content ol {
	margin: 0 0 1.2rem;
	padding-left: 1.4rem;
	color: var(--sm-ink-dim);
}
body.lv-slots-front.sm-shell .sm-single__content li { margin: .35rem 0; line-height: 1.7; }
body.lv-slots-front.sm-shell .sm-single__content blockquote {
	margin: 1.4rem 0;
	padding: 1rem 1.2rem 1rem 1.4rem;
	border-left: 4px solid var(--sm-primary);
	background: var(--sm-primary-soft);
	color: var(--sm-ink);
	font-style: italic;
	border-radius: 0 var(--sm-radius) var(--sm-radius) 0;
}
body.lv-slots-front.sm-shell .sm-single__content blockquote p:last-child { margin-bottom: 0; }
body.lv-slots-front.sm-shell .sm-single__content img,
body.lv-slots-front.sm-shell .sm-single__content figure {
	max-width: 100%;
	height: auto;
	border-radius: var(--sm-radius);
	margin: 1.2rem 0;
}
body.lv-slots-front.sm-shell .sm-single__content pre,
body.lv-slots-front.sm-shell .sm-single__content code {
	background: var(--sm-bg-soft);
	border-radius: 6px;
	font-size: .9em;
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
body.lv-slots-front.sm-shell .sm-single__content code { padding: .1em .4em; color: var(--sm-accent); }
body.lv-slots-front.sm-shell .sm-single__content pre {
	padding: 1rem;
	margin: 1.2rem 0;
	overflow-x: auto;
	border: 1px solid var(--sm-border);
}
body.lv-slots-front.sm-shell .sm-single__content pre code { background: transparent; padding: 0; color: inherit; }
body.lv-slots-front.sm-shell .sm-single__content table {
	width: 100%;
	border-collapse: collapse;
	margin: 1.2rem 0;
	font-size: .92rem;
}
body.lv-slots-front.sm-shell .sm-single__content th,
body.lv-slots-front.sm-shell .sm-single__content td {
	padding: .7rem .9rem;
	border-bottom: 1px solid var(--sm-border);
	text-align: left;
}
body.lv-slots-front.sm-shell .sm-single__content th { background: var(--sm-bg-soft); font-weight: 700; }

/* Blog responsive tuning ---------------------------------------------------- */
@media (max-width: 960px) {
	body.lv-slots-front.sm-shell .sm-blog-featured {
		grid-template-columns: minmax(0, 1fr);
	}
	body.lv-slots-front.sm-shell .sm-author-hero__card {
		grid-template-columns: auto minmax(0, 1fr);
	}
	body.lv-slots-front.sm-shell .sm-author-hero__stats {
		grid-column: 1 / -1;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-around;
		gap: .4rem 1rem;
	}
	body.lv-slots-front.sm-shell .sm-author-hero__stats li { flex: 1 1 30%; }
	body.lv-slots-front.sm-shell .sm-single__body { grid-template-columns: minmax(0, 1fr); }
	body.lv-slots-front.sm-shell .sm-single__aside { position: static; }
	body.lv-slots-front.sm-shell .sm-single__share {
		flex-direction: row;
		justify-content: center;
		gap: .45rem;
	}
	body.lv-slots-front.sm-shell .sm-single__share-label { display: none; }
}

@media (max-width: 640px) {
	body.lv-slots-front.sm-shell .sm-blog-hero__title { font-size: 1.5rem; }
	body.lv-slots-front.sm-shell .sm-blog-hero__lead { font-size: .92rem; }
	body.lv-slots-front.sm-shell .sm-blog-hero__stats li { min-width: 110px; padding: .6rem .8rem; flex: 1 1 45%; }
	body.lv-slots-front.sm-shell .sm-blog-hero__stats strong { font-size: 1rem; }
	body.lv-slots-front.sm-shell .sm-blog-grid { grid-template-columns: 1fr; }
	body.lv-slots-front.sm-shell .sm-blog-card__title { font-size: 1rem; }
	body.lv-slots-front.sm-shell .sm-blog-card__excerpt { font-size: .84rem; -webkit-line-clamp: 2; }
	body.lv-slots-front.sm-shell .sm-blog-card__meta-item { font-size: .7rem; }
	body.lv-slots-front.sm-shell .sm-blog-featured__body { padding: 1.1rem 1.2rem; }
	body.lv-slots-front.sm-shell .sm-blog-featured__title { font-size: 1.22rem; }
	body.lv-slots-front.sm-shell .sm-blog-featured__excerpt { font-size: .88rem; }

	body.lv-slots-front.sm-shell .sm-author-hero__card {
		grid-template-columns: minmax(0, 1fr);
		text-align: center;
	}
	body.lv-slots-front.sm-shell .sm-author-hero__avatar { margin-inline: auto; }
	body.lv-slots-front.sm-shell .sm-author-hero__info { align-items: center; }
	body.lv-slots-front.sm-shell .sm-author-hero__bio { text-align: left; }
	body.lv-slots-front.sm-shell .sm-author-hero__badges,
	body.lv-slots-front.sm-shell .sm-author-hero__links { justify-content: center; }

	body.lv-slots-front.sm-shell .sm-single__title { font-size: 1.5rem; }
	body.lv-slots-front.sm-shell .sm-single__lead { font-size: .95rem; }
	body.lv-slots-front.sm-shell .sm-single__content p { font-size: .95rem; line-height: 1.7; }
	body.lv-slots-front.sm-shell .sm-single__content h2 { font-size: 1.25rem; }
	body.lv-slots-front.sm-shell .sm-single__content h3 { font-size: 1.1rem; }
	body.lv-slots-front.sm-shell .sm-single__meta { gap: .8rem 1.2rem; padding: .9rem 0; }

	body.lv-slots-front.sm-shell .sm-author-box {
		grid-template-columns: minmax(0, 1fr);
		text-align: center;
	}
	body.lv-slots-front.sm-shell .sm-author-box__avatar { margin-inline: auto; width: 84px; height: 84px; }
	body.lv-slots-front.sm-shell .sm-author-box__cta { align-self: center; }

	body.lv-slots-front.sm-shell .sm-post-nav { grid-template-columns: minmax(0, 1fr); }
	body.lv-slots-front.sm-shell .sm-post-nav__link--next { text-align: left; }
	body.lv-slots-front.sm-shell .sm-post-nav__link--next .sm-post-nav__dir { justify-content: flex-start; }
}

@media (max-width: 420px) {
	body.lv-slots-front.sm-shell .sm-blog-hero { padding-block: 1.8rem 1.4rem; }
	body.lv-slots-front.sm-shell .sm-blog-hero__title { font-size: 1.35rem; }
	body.lv-slots-front.sm-shell .sm-single__title { font-size: 1.35rem; }
	body.lv-slots-front.sm-shell .sm-blog-card__body { padding: .9rem 1rem 1.05rem; }
}


