/* Slotuna Casino — grid.css */

:root {
	--color-primary: #032836;
	--color-accent: #b4937c;
	--color-accent-pressed: #a98265;
	--color-bg: #011118;
	--color-bg-elevated: #042331;
	--color-gradient-light: #44bcd1;
	--color-gradient-mid: #e3c198;
	--color-text: #FFFFFF;
	--color-text-muted: #bfbebe;

	--font-display: "Roboto Flex", "Helvetica Neue", Arial, sans-serif;
	--font-body: "Cormorant Garamond", "Times New Roman", Georgia, serif;

	--fs-h1: 36px;
	--fs-h2: 26px;
	--fs-h3: 20px;
	--fs-h4: 17px;
	--fs-h5: 14px;
	--fs-h6: 12px;
	--fs-body: 16px;
	--fs-small: 13px;
	--fs-micro: 11px;

	--lh-tight: 1.15;
	--lh-normal: 1.45;
	--lh-loose: 1.6;
	--ls-tight: -0.01em;
	--ls-normal: 0;
	--ls-wide: 0.06em;

	--fw-regular: 400;
	--fw-medium: 500;
	--fw-bold: 700;

	--space-2xs: 6px;
	--space-xs: 14px;
	--space-sm: 20px;
	--space-md: 32px;
	--space-lg: 48px;
	--space-xl: 56px;
	--space-2xl: 48px;
	--space-3xl: 160px;

	--container-site: 1340px;
	--container-padding-mobile: 16px;
	--container-padding-tablet: 32px;
	--container-padding-desktop: 24px;

	--bp-sm: 620px;
	--bp-md: 940px;
	--bp-lg: 1200px;
	--bp-xl: 1620px;

	--radius-xs: 2px;
	--radius-sm: 8px;
	--radius-md: 14px;
	--radius-lg: 22px;
	--radius-pill: 9999px;
	--radius-circle: 50%;

	--shadow-xs: 0 0 0 1px rgba(255,255,255,0.06) inset;
	--shadow-sm: 0 4px 12px rgba(0,0,0,0.15), 0 0 0 1px rgba(255,255,255,0.08) inset;
	--shadow-md: 0 8px 24px rgba(0,0,0,0.20), 0 0 0 1px rgba(255,255,255,0.10) inset;
	--shadow-lg: 0 16px 48px rgba(0,0,0,0.30), 0 0 0 1px rgba(255,255,255,0.12) inset;
	--border-thin: 1px;
	--border-medium: 2px;
	--border-thick: 3px;

	--dur-fast: 150ms;
	--dur-base: 200ms;
	--dur-slow: 300ms;
	--ease-out: cubic-bezier(0.22, 0.61, 0.36, 1.0);
	--ease-in: cubic-bezier(0.55, 0.06, 0.68, 0.19);
	--ease-in-out: cubic-bezier(0.65, 0.05, 0.36, 1.0);
	--ease-spring: cubic-bezier(0.5, 1.4, 0.5, 1.0);

	--header-h: 96px;
	--z-header: 100;
	--z-cookie: 90;
	--z-drawer: 110;
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	background: var(--color-bg);
	color: var(--color-text);
	font-family: var(--font-body);
	font-size: var(--fs-body);
	line-height: var(--lh-normal);
}
body.cookie-visible { padding-bottom: 140px; }
@media (min-width: 620px) {
	body.cookie-visible { padding-bottom: 96px; }
}
img { max-width: 100%; height: auto; display: block; }
figure { margin: 0; }
a { color: var(--color-accent); text-decoration: none; }
a:hover { color: var(--color-accent-pressed); }
ul, ol { margin: 0; padding: 0; }
h1, h2, h3, h4, h5, h6 { margin: 0; font-family: var(--font-display); font-weight: var(--fw-bold); line-height: var(--lh-tight); letter-spacing: var(--ls-tight); }
p { margin: 0 0 var(--space-sm); }

@media (max-width: 619px) {
	:root {
		--fs-h1: 26px;
		--fs-h2: 22px;
		--fs-h3: 18px;
		--fs-h4: 16px;
		--fs-h5: 13px;
		--fs-h6: 11px;
		--fs-body: 15px;
		--fs-small: 12px;
		--fs-micro: 10px;
		--header-h: 80px;
	}
}

/* HEADER .w51 (HEAD-03 compact top + main bar, STICKY-02, AUTH-BOTH) */
.w51 {
	position: sticky;
	top: 0;
	z-index: var(--z-header);
	background: var(--color-bg);
	transition: padding var(--dur-base) var(--ease-out);
}
.w51.is-scrolled {
	background: rgba(1, 17, 24, 0.92);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	box-shadow: var(--shadow-md);
}
.w51-topbar {
	background: var(--color-primary);
	color: var(--color-text);
}
.w51-topbar-inner {
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	margin-inline: auto;
	padding: 6px var(--container-padding-desktop);
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--space-sm);
	min-height: 36px;
}
.w51-info {
	font-size: var(--fs-micro);
	color: var(--color-text-muted);
	letter-spacing: var(--ls-wide);
	text-transform: uppercase;
}
.w51-auth {
	display: flex;
	gap: var(--space-2xs);
	align-items: center;
}
.w51-auth-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 32px;
	padding-inline: var(--space-sm);
	font-family: var(--font-display);
	font-weight: var(--fw-bold);
	font-size: var(--fs-micro);
	text-transform: uppercase;
	letter-spacing: var(--ls-wide);
	border-radius: var(--radius-md);
	border: 1px solid transparent;
	transition: background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
	white-space: nowrap;
}
.w51-auth-btn--login {
	background: transparent;
	border-color: var(--color-text);
	color: var(--color-text);
}
.w51-auth-btn--login:hover {
	background: var(--color-text);
	color: var(--color-primary);
}
.w51-auth-btn--register {
	background: var(--color-accent);
	border-color: var(--color-accent);
	color: var(--color-bg);
}
.w51-auth-btn--register:hover {
	background: var(--color-accent-pressed);
	color: var(--color-bg);
}
.w51-main {
	border-bottom: 1px solid rgba(255,255,255,0.06);
}
.w51-main-inner {
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	margin-inline: auto;
	padding: var(--space-xs) var(--container-padding-desktop);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-md);
	min-height: var(--header-h);
}
.w51-logo {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
}
.w51-logo img {
	height: 80px;
	width: auto;
	display: block;
}
.w51-nav { flex: 1; }
.w51-list {
	list-style: none;
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-end;
	gap: var(--space-lg);
}
.w51-link {
	font-family: var(--font-display);
	font-weight: var(--fw-medium);
	font-size: var(--fs-small);
	color: var(--color-text-muted);
	letter-spacing: var(--ls-wide);
	text-transform: uppercase;
	white-space: nowrap;
	transition: color var(--dur-fast) var(--ease-out);
}
.w51-link:hover { color: var(--color-text); }
body[data-current="/"] .w51-link[data-nav="/"],
body[data-current="/reviewer/"] .w51-link[data-nav="/reviewer/"],
body[data-current="/contact-us/"] .w51-link[data-nav="/contact-us/"] {
	color: var(--color-text);
}
.w51-toggle {
	display: none;
	background: transparent;
	border: 0;
	color: var(--color-text);
	width: 44px;
	height: 44px;
	cursor: pointer;
	padding: 0;
	align-items: center;
	justify-content: center;
}
.w51-toggle svg { width: 24px; height: 24px; }
.w51-mobile {
	display: none;
	position: fixed;
	top: var(--header-h);
	left: 0;
	width: 100vw;
	height: calc(100dvh - var(--header-h));
	background: var(--color-bg);
	z-index: var(--z-drawer);
	padding: var(--space-lg) var(--container-padding-mobile);
	overflow-y: auto;
}
.w51-mobile.is-open { display: block; }
.w51-mobile-list {
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: var(--space-md);
}
.w51-mobile-link {
	font-family: var(--font-display);
	font-weight: var(--fw-bold);
	font-size: var(--fs-h5);
	color: var(--color-text);
	text-transform: uppercase;
	letter-spacing: var(--ls-wide);
}
.w51-mobile-auth {
	display: flex;
	flex-direction: column;
	gap: var(--space-sm);
	margin-top: var(--space-lg);
	padding-top: var(--space-md);
	border-top: 1px solid rgba(255,255,255,0.08);
}
.w51-mobile-auth .w51-auth-btn {
	width: auto;
	height: 44px;
	font-size: var(--fs-small);
	align-self: flex-start;
}

@media (max-width: 1199px) {
	.w51-topbar { display: none; }
	.w51-nav { display: none; }
	.w51-toggle { display: inline-flex; }
}

/* HERO .m90 (HERO-11 compact right image) */
.m90 {
	padding-block: var(--space-2xl);
	background: var(--color-bg);
}
.m90-inner {
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	margin-inline: auto;
	padding-inline: var(--container-padding-desktop);
	display: grid;
	grid-template-columns: 65fr 35fr;
	gap: var(--space-xl);
	align-items: center;
}
.m90-text {
	min-width: 0;
}
.m90-eyebrow {
	font-family: var(--font-display);
	font-weight: var(--fw-medium);
	font-size: var(--fs-small);
	color: var(--color-accent);
	text-transform: uppercase;
	letter-spacing: var(--ls-wide);
	margin-bottom: var(--space-sm);
	display: block;
}
.m90-title {
	font-size: var(--fs-h1);
	color: var(--color-text);
	margin-bottom: var(--space-md);
	letter-spacing: var(--ls-tight);
}
.m90-subtitle {
	font-family: var(--font-body);
	font-size: var(--fs-h5);
	color: var(--color-text-muted);
	line-height: var(--lh-loose);
	margin-bottom: var(--space-lg);
	max-width: 580px;
}
.m90-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 56px;
	padding-inline: var(--space-xl);
	background: var(--color-accent);
	color: var(--color-bg);
	font-family: var(--font-display);
	font-weight: var(--fw-bold);
	font-size: var(--fs-h6);
	text-transform: uppercase;
	letter-spacing: var(--ls-wide);
	border-radius: var(--radius-md);
	transition: background var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);
}
.m90-cta:hover {
	background: var(--color-accent-pressed);
	color: var(--color-bg);
	transform: translateY(-2px);
}
.m90-figure {
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-lg);
}
.m90-figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (max-width: 939px) {
	.m90-inner {
		grid-template-columns: 1fr;
		gap: var(--space-lg);
	}
	.m90-figure { max-height: 320px; }
}

/* PAGE-HEADER .f46 (PHEAD-05 crumb-trail + title) */
.f46 {
	padding-block: var(--space-xl);
	background: var(--color-bg);
}
.f46-inner {
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	margin-inline: auto;
	padding-inline: var(--container-padding-desktop);
}
.f46-title {
	font-size: var(--fs-h1);
	color: var(--color-text);
	margin: 0 0 var(--space-md);
}
.f46-description {
	font-size: var(--fs-h5);
	color: var(--color-text-muted);
	line-height: var(--lh-loose);
	margin: 0;
}
.f46-meta {
	font-family: var(--font-display);
	font-size: var(--fs-micro);
	color: var(--color-text-muted);
	letter-spacing: var(--ls-wide);
	text-transform: uppercase;
	margin-top: var(--space-sm);
}

/* BREADCRUMBS .k42 (BREAD-05 slashed display) */
.k42 {
	padding-block: var(--space-md);
	background: var(--color-bg);
}
.k42-inner {
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	margin-inline: auto;
	padding-inline: var(--container-padding-desktop);
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: var(--space-2xs);
}
.k42-item {
	font-family: var(--font-display);
	font-weight: var(--fw-bold);
	font-size: var(--fs-h5);
	text-transform: uppercase;
	letter-spacing: var(--ls-tight);
	color: var(--color-text-muted);
}
.k42-item a { color: var(--color-text-muted); }
.k42-item a:hover { color: var(--color-text); }
.k42-current {
	color: var(--color-text);
}
.k42-sep {
	font-family: var(--font-display);
	font-weight: var(--fw-bold);
	font-size: var(--fs-h5);
	color: var(--color-accent);
	margin-inline: var(--space-xs);
}

/* ITEMS-GRID .b80 (GRID-10 compact 4-col tile) */
.b80 {
	padding-block: var(--space-2xl);
}
.b80-inner {
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	margin-inline: auto;
	padding-inline: var(--container-padding-desktop);
}
.b80-heading {
	font-size: var(--fs-h2);
	margin-bottom: var(--space-lg);
}
.b80-list {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--space-md);
}
.b80-item {
	background: rgba(3, 40, 54, 0.4);
	border: 1px solid rgba(255,255,255,0.06);
	border-radius: var(--radius-sm);
	padding: var(--space-md);
	min-height: 200px;
	display: flex;
	flex-direction: column;
	gap: var(--space-sm);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}
.b80-num {
	font-family: var(--font-display);
	font-weight: var(--fw-bold);
	font-size: var(--fs-h3);
	color: var(--color-accent);
}
.b80-title {
	font-size: var(--fs-h5);
	font-weight: var(--fw-bold);
	color: var(--color-text);
	line-height: var(--lh-tight);
}
.b80-text {
	font-family: var(--font-body);
	font-size: var(--fs-small);
	color: var(--color-text-muted);
	line-height: var(--lh-normal);
	margin: 0;
}
@media (max-width: 1199px) {
	.b80-list { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 939px) {
	.b80-list { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 619px) {
	.b80-list { grid-template-columns: 1fr; }
}

/* FAQ .y61 (FAQ-09 magazine Q&A) */
.y61 {
	padding-block: var(--space-2xl);
}
.y61-inner {
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	margin-inline: auto;
	padding-inline: var(--container-padding-desktop);
}
.y61-heading {
	font-size: var(--fs-h2);
	margin-bottom: var(--space-lg);
}
.y61-list { display: flex; flex-direction: column; gap: var(--space-md); }
.y61-item {
	padding-block: var(--space-lg);
	border-bottom: 1px solid rgba(255,255,255,0.06);
}
.y61-question, .y61-answer { margin: 0 0 var(--space-sm); }
.y61-prefix {
	font-family: var(--font-display);
	font-weight: var(--fw-bold);
	color: var(--color-accent);
	font-size: var(--fs-h5);
	margin-right: var(--space-xs);
}
.y61-question {
	font-family: var(--font-display);
	font-weight: var(--fw-bold);
	font-size: var(--fs-h5);
	color: var(--color-text);
	font-style: italic;
}
.y61-answer {
	font-family: var(--font-body);
	font-size: var(--fs-body);
	color: var(--color-text-muted);
	line-height: var(--lh-loose);
}

/* REVIEWS .q49 (REV-06 compact list) */
.q49 {
	padding-block: var(--space-2xl);
}
.q49-inner {
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	margin-inline: auto;
	padding-inline: var(--container-padding-desktop);
}
.q49-heading {
	font-size: var(--fs-h2);
	margin-bottom: var(--space-lg);
}
.q49-list { list-style: none; }
.q49-item {
	padding-block: var(--space-md);
	border-bottom: 1px solid rgba(255,255,255,0.06);
	display: grid;
	grid-template-columns: 1fr auto;
	gap: var(--space-sm) var(--space-md);
	align-items: baseline;
}
.q49-author {
	font-family: var(--font-display);
	font-size: var(--fs-body);
	font-weight: var(--fw-bold);
	color: var(--color-text);
}
.q49-rating {
	color: var(--color-accent);
	font-family: var(--font-display);
	font-weight: var(--fw-bold);
	font-size: var(--fs-small);
	margin-left: var(--space-sm);
}
.q49-date {
	font-family: var(--font-display);
	font-size: var(--fs-micro);
	color: var(--color-text-muted);
	letter-spacing: var(--ls-wide);
	text-transform: uppercase;
}
.q49-text {
	grid-column: 1 / -1;
	font-family: var(--font-body);
	font-size: var(--fs-body);
	color: var(--color-text-muted);
	line-height: var(--lh-normal);
	margin: 0;
}

/* CTA-BLOCK .w27 (CTA-01 full-width strip) */
.w27 {
	background: var(--color-accent);
	padding-block: var(--space-2xl);
}
.w27-inner {
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	margin-inline: auto;
	padding-inline: var(--container-padding-desktop);
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: var(--space-lg);
}
.w27-text { flex: 1 1 480px; }
.w27-title {
	font-family: var(--font-display);
	font-weight: var(--fw-bold);
	font-size: var(--fs-h2);
	color: var(--color-bg);
	text-transform: uppercase;
	letter-spacing: var(--ls-tight);
	margin: 0 0 var(--space-sm);
	max-width: 720px;
}
.w27-description {
	font-family: var(--font-body);
	font-size: var(--fs-body);
	color: rgba(1, 17, 24, 0.88);
	line-height: var(--lh-normal);
	margin: 0;
	max-width: 580px;
}
.w27-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	height: 56px;
	min-width: 220px;
	padding-inline: var(--space-xl);
	background: var(--color-bg);
	color: var(--color-accent);
	font-family: var(--font-display);
	font-weight: var(--fw-bold);
	font-size: var(--fs-h6);
	text-transform: uppercase;
	letter-spacing: var(--ls-wide);
	border-radius: var(--radius-md);
	transition: background var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);
}
.w27-button:hover {
	background: var(--color-primary);
	color: var(--color-text);
	transform: translateY(-2px);
}
@media (max-width: 619px) {
	.w27-button { width: 100%; }
}

/* PROSE .w67 (PROSE-07 numbered section headers) */
.w67 {
	padding-block: var(--space-xl);
	counter-reset: section;
}
.w67-inner {
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	margin-inline: auto;
	padding-inline: var(--container-padding-desktop);
}
.w67 h2 {
	font-size: var(--fs-h2);
	color: var(--color-text);
	margin: var(--space-lg) 0 var(--space-md);
}
.w67 h2:first-child { margin-block-start: 0; }
.w67 h2::before {
	counter-increment: section;
	content: counter(section, decimal-leading-zero) ". ";
	color: var(--color-accent);
	font-family: var(--font-display);
	font-weight: var(--fw-bold);
	margin-right: var(--space-sm);
}
.w67 h3 {
	font-size: var(--fs-h3);
	color: var(--color-text);
	margin: var(--space-lg) 0 var(--space-sm);
}
.w67 p {
	font-family: var(--font-body);
	font-size: var(--fs-body);
	color: var(--color-text-muted);
	line-height: var(--lh-loose);
	margin: 0 0 var(--space-md);
}
.w67 a {
	color: var(--color-accent);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.w67 a:hover { color: var(--color-accent-pressed); }
.w67 strong { color: var(--color-text); font-weight: var(--fw-bold); }
.w67 em { font-style: italic; }
.w67 ol, .w67 ul {
	font-family: var(--font-body);
	font-size: var(--fs-body);
	color: var(--color-text-muted);
	line-height: var(--lh-loose);
	margin: 0 0 var(--space-md);
	padding-left: var(--space-lg);
}
.w67 ol li, .w67 ul li { margin-bottom: var(--space-xs); }

/* DATA-TABLE .r53 (TABLE-04 highlighted first column) */
.r53 {
	padding-block: var(--space-2xl);
}
.r53-inner {
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	margin-inline: auto;
	padding-inline: var(--container-padding-desktop);
	overflow-x: auto;
}
.r53-table {
	width: 100%;
	border-collapse: collapse;
	font-family: var(--font-body);
	font-size: var(--fs-body);
}
.r53-table thead { background: var(--color-primary); }
.r53-table th, .r53-table td {
	padding: var(--space-md);
	text-align: left;
	border-bottom: 1px solid rgba(255,255,255,0.06);
}
.r53-table th { color: var(--color-text); font-family: var(--font-display); font-weight: var(--fw-bold); font-size: var(--fs-small); text-transform: uppercase; letter-spacing: var(--ls-wide); }
.r53-table td:first-child { background: var(--color-primary); color: var(--color-text); font-weight: var(--fw-bold); border-right: 4px solid var(--color-accent); }
.r53-table td { color: var(--color-text-muted); }

/* LEGAL-SECTION .f24 (LEGAL-03 two-column sidebar TOC) */
.f24 {
	padding-block: var(--space-xl);
}
.f24-inner {
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	margin-inline: auto;
	padding-inline: var(--container-padding-desktop);
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: var(--space-2xl);
}
.f24-toc {
	position: sticky;
	top: calc(var(--header-h) + var(--space-md));
	align-self: start;
	padding: var(--space-md);
	background: var(--color-bg-elevated);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-xs);
}
.f24-toc h4 {
	font-family: var(--font-display);
	font-size: var(--fs-small);
	text-transform: uppercase;
	letter-spacing: var(--ls-wide);
	color: var(--color-text);
	margin: 0 0 var(--space-sm);
}
.f24-toc ol { list-style: none; padding: 0; }
.f24-toc ol li { margin-bottom: var(--space-xs); }
.f24-toc a {
	font-family: var(--font-body);
	font-size: var(--fs-small);
	color: var(--color-text-muted);
	line-height: var(--lh-normal);
}
.f24-toc a:hover { color: var(--color-accent); }
.f24-intro {
	font-family: var(--font-body);
	font-size: var(--fs-h5);
	color: var(--color-text-muted);
	line-height: var(--lh-loose);
	margin: 0 0 var(--space-lg);
}
.f24-section { margin-bottom: var(--space-xl); }
.f24-section h2 {
	font-size: var(--fs-h2);
	color: var(--color-text);
	margin: 0 0 var(--space-md);
}
.f24-section p {
	font-family: var(--font-body);
	font-size: var(--fs-body);
	color: var(--color-text-muted);
	line-height: var(--lh-loose);
	margin: 0 0 var(--space-md);
}
.f24-support { margin-top: var(--space-xl); padding-top: var(--space-md); border-top: 1px solid rgba(255,255,255,0.08); }
.f24-support h3 { font-size: var(--fs-h4); color: var(--color-text); margin: 0 0 var(--space-sm); }
.f24-support ul { list-style: none; padding: 0; }
.f24-support li {
	font-family: var(--font-body);
	font-size: var(--fs-small);
	color: var(--color-text-muted);
	line-height: var(--lh-normal);
	margin-bottom: var(--space-xs);
}
.f24-disclaimer {
	margin-top: var(--space-lg);
	font-family: var(--font-body);
	font-size: var(--fs-small);
	color: var(--color-text-muted);
	font-style: italic;
	line-height: var(--lh-normal);
}
@media (max-width: 939px) {
	.f24-inner { grid-template-columns: 1fr; gap: var(--space-lg); }
	.f24-toc { position: static; }
}

/* CONTACT-FORM .p18 (FORM-08 asymmetric wide submit) */
.p18 {
	padding-block: var(--space-2xl);
}
.p18-inner {
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	margin-inline: auto;
	padding-inline: var(--container-padding-desktop);
}
.p18-intro {
	font-family: var(--font-body);
	font-size: var(--fs-h5);
	color: var(--color-text-muted);
	line-height: var(--lh-loose);
	margin: 0 0 var(--space-lg);
	max-width: 720px;
}
.p18-form {
	background: var(--color-bg-elevated);
	padding: var(--space-xl);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-sm);
}
.p18-field { margin-bottom: var(--space-md); }
.p18-label {
	display: block;
	font-family: var(--font-display);
	font-size: var(--fs-small);
	color: var(--color-text);
	text-transform: uppercase;
	letter-spacing: var(--ls-wide);
	margin-bottom: var(--space-2xs);
}
.p18-input, .p18-textarea {
	width: 100%;
	background: var(--color-bg);
	border: 1px solid rgba(255,255,255,0.1);
	border-radius: var(--radius-sm);
	padding: var(--space-sm);
	color: var(--color-text);
	font-family: var(--font-body);
	font-size: var(--fs-body);
	line-height: var(--lh-normal);
}
.p18-input:focus, .p18-textarea:focus { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.p18-textarea { min-height: 160px; resize: vertical; }
.p18-submit {
	width: 100%;
	height: 72px;
	background: var(--color-accent);
	color: var(--color-bg);
	border: 0;
	border-radius: var(--radius-md);
	font-family: var(--font-display);
	font-weight: var(--fw-bold);
	font-size: var(--fs-h4);
	text-transform: uppercase;
	letter-spacing: var(--ls-wide);
	cursor: pointer;
	transition: background var(--dur-base) var(--ease-out), color var(--dur-base) var(--ease-out);
}
.p18-submit:hover { background: var(--color-accent-pressed); color: var(--color-bg); }
.p18-success {
	display: none;
	padding: var(--space-md);
	background: rgba(68, 188, 209, 0.1);
	border: 1px solid var(--color-gradient-light);
	border-radius: var(--radius-sm);
	color: var(--color-text);
	margin-bottom: var(--space-md);
}
.p18-success.is-visible { display: block; }

/* AUTHOR-CARD .w38 (AUTH-07 quote-style with portrait) */
.w38 {
	padding-block: var(--space-2xl);
}
.w38-inner {
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	margin-inline: auto;
	padding-inline: var(--container-padding-desktop);
}
.w38-card {
	background: var(--color-bg-elevated);
	padding: var(--space-xl);
	border-radius: var(--radius-md);
	border-left: 4px solid var(--color-accent);
	display: grid;
	grid-template-columns: 100px 1fr;
	gap: var(--space-lg);
	align-items: start;
	box-shadow: var(--shadow-sm);
}
.w38-portrait {
	width: 100px;
	height: 100px;
	border-radius: var(--radius-circle);
	overflow: hidden;
}
.w38-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.w38-quote-mark {
	font-family: var(--font-display);
	font-size: var(--fs-h1);
	color: var(--color-accent);
	line-height: 1;
	display: block;
	margin-bottom: var(--space-sm);
}
.w38-bio {
	font-family: var(--font-body);
	font-size: var(--fs-h5);
	font-style: italic;
	line-height: var(--lh-loose);
	color: var(--color-text);
	margin: 0 0 var(--space-md);
}
.w38-attr {
	font-family: var(--font-display);
	font-size: var(--fs-small);
	letter-spacing: var(--ls-wide);
	color: var(--color-text-muted);
	text-transform: uppercase;
}
.w38-articles { margin-top: var(--space-xl); }
.w38-articles-heading {
	font-size: var(--fs-h4);
	margin-bottom: var(--space-md);
	color: var(--color-text);
}
.w38-articles-list { list-style: none; }
.w38-articles-item { padding-block: var(--space-sm); border-bottom: 1px solid rgba(255,255,255,0.06); }
.w38-articles-item a {
	font-family: var(--font-body);
	font-size: var(--fs-body);
	color: var(--color-accent);
}
.w38-articles-item a:hover { color: var(--color-accent-pressed); text-decoration: underline; }
@media (max-width: 619px) {
	.w38-card { grid-template-columns: 1fr; }
	.w38-portrait { width: 84px; height: 84px; }
}

/* AUTHOR-BYLINE .e44 (BYLINE-02 card bordered) */
.e44 {
	padding-block: var(--space-lg);
}
.e44-inner {
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	margin-inline: auto;
	padding-inline: var(--container-padding-desktop);
}
.e44-card {
	background: var(--color-bg-elevated);
	border: 1px solid rgba(255,255,255,0.08);
	border-radius: var(--radius-md);
	padding: var(--space-lg);
	display: flex;
	gap: var(--space-md);
	align-items: flex-start;
}
.e44-portrait {
	width: 64px;
	height: 64px;
	border-radius: var(--radius-circle);
	overflow: hidden;
	flex-shrink: 0;
	display: block;
}
.e44-portrait img { width: 100%; height: 100%; object-fit: cover; object-position: center top; }
.e44-body { flex: 1; }
.e44-label {
	font-family: var(--font-display);
	font-size: var(--fs-micro);
	color: var(--color-text-muted);
	text-transform: uppercase;
	letter-spacing: var(--ls-wide);
	display: block;
	margin-bottom: var(--space-2xs);
}
.e44-name {
	font-size: var(--fs-h4);
	margin: 0 0 var(--space-2xs);
}
.e44-name a { color: var(--color-text); }
.e44-name a:hover { color: var(--color-accent); text-decoration: underline; }
.e44-role {
	font-family: var(--font-body);
	font-size: var(--fs-small);
	color: var(--color-text-muted);
	margin: 0 0 var(--space-sm);
}
.e44-bio {
	font-family: var(--font-body);
	font-size: var(--fs-body);
	color: var(--color-text-muted);
	line-height: var(--lh-normal);
	margin: 0 0 var(--space-sm);
}
.e44-dates {
	font-family: var(--font-display);
	font-size: var(--fs-micro);
	color: var(--color-text-muted);
	letter-spacing: var(--ls-wide);
	text-transform: uppercase;
	display: block;
	margin-bottom: var(--space-2xs);
}
.e44-link {
	font-family: var(--font-display);
	font-size: var(--fs-small);
	color: var(--color-accent);
	text-transform: uppercase;
	letter-spacing: var(--ls-wide);
}
.e44-link:hover { color: var(--color-accent-pressed); }
@media (max-width: 619px) {
	.e44-card { flex-direction: column; }
}

/* INLINE-CTA .j75 (INLINE-CTA-03 inline text hook) */
.j75 {
	padding-block: var(--space-md);
}
.j75-inner {
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	margin-inline: auto;
	padding-inline: var(--container-padding-desktop);
	text-align: center;
}
.j75-line {
	font-family: var(--font-body);
	font-size: var(--fs-h6);
	line-height: var(--lh-normal);
	margin: 0;
}
.j75-line strong { color: var(--color-text); font-weight: var(--fw-bold); }
.j75-link {
	color: var(--color-accent);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.j75-link:hover { color: var(--color-accent-pressed); text-decoration-thickness: 2px; }

/* ERROR-BLOCK .y94 (ERR-03 minimal no-drama) */
.y94 {
	padding-block: var(--space-2xl);
}
.y94-inner {
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	margin-inline: auto;
	padding-inline: var(--container-padding-desktop);
	text-align: center;
}
.y94-title {
	font-size: var(--fs-h2);
	color: var(--color-text);
	margin: 0 0 var(--space-md);
}
.y94-text {
	font-family: var(--font-body);
	font-size: var(--fs-body);
	color: var(--color-text-muted);
	line-height: var(--lh-loose);
	margin: 0 0 var(--space-lg);
}
.y94-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 44px;
	padding-inline: var(--space-xl);
	background: var(--color-accent);
	color: var(--color-bg);
	font-family: var(--font-display);
	font-weight: var(--fw-bold);
	font-size: var(--fs-small);
	text-transform: uppercase;
	letter-spacing: var(--ls-wide);
	border-radius: var(--radius-md);
}
.y94-button:hover { background: var(--color-accent-pressed); color: var(--color-bg); }

/* COOKIE-BANNER .n93 (COOK-01 bottom floating pill) */
.n93 {
	display: none;
	position: fixed;
	inset-block-end: var(--space-md);
	inset-inline: var(--space-md);
	max-width: 720px;
	margin-inline: auto;
	z-index: var(--z-cookie);
	background: var(--color-bg-elevated);
	border: 1px solid rgba(255,255,255,0.12);
	border-radius: var(--radius-md);
	padding: var(--space-md);
	box-shadow: var(--shadow-md);
	flex-wrap: wrap;
	gap: var(--space-md);
	align-items: center;
}
.n93.is-visible { display: flex; }
.n93-message {
	flex: 1 1 280px;
	font-family: var(--font-body);
	font-size: var(--fs-small);
	color: var(--color-text-muted);
	line-height: var(--lh-normal);
	margin: 0;
}
.n93-actions { display: flex; gap: var(--space-sm); flex-wrap: wrap; }
.n93-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 36px;
	padding-inline: var(--space-md);
	border-radius: var(--radius-md);
	font-family: var(--font-display);
	font-weight: var(--fw-bold);
	font-size: var(--fs-micro);
	text-transform: uppercase;
	letter-spacing: var(--ls-wide);
	cursor: pointer;
	border: 1px solid transparent;
	transition: background var(--dur-fast) var(--ease-out), color var(--dur-fast) var(--ease-out);
}
.n93-btn--accept { background: var(--color-accent); color: var(--color-bg); }
.n93-btn--accept:hover { background: var(--color-accent-pressed); color: var(--color-bg); }
.n93-btn--decline { background: transparent; border-color: rgba(255,255,255,0.15); color: var(--color-text); }
.n93-btn--decline:hover { background: rgba(255,255,255,0.04); color: var(--color-text); }
@media (max-width: 619px) {
	.n93 { flex-direction: column; align-items: stretch; }
	.n93-actions { justify-content: stretch; }
	.n93-btn { flex: 1; }
}

/* FOOTER .s48 (FOOT-05 four-column information-dense) */
.s48 {
	background: var(--color-primary);
	padding-block: var(--space-2xl) var(--space-lg);
	margin-top: var(--space-xl);
}
.s48-inner {
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	margin-inline: auto;
	padding-inline: var(--container-padding-desktop);
}
.s48-grid {
	display: grid;
	grid-template-columns: 1.5fr 1fr 1fr 1fr;
	gap: var(--space-xl);
	margin-bottom: var(--space-xl);
}
.s48-brand {
	display: flex;
	flex-direction: column;
	gap: var(--space-md);
}
.s48-logo img { height: 80px; width: auto; display: block; }
.s48-tagline {
	font-family: var(--font-body);
	font-size: var(--fs-small);
	color: var(--color-text-muted);
	line-height: var(--lh-normal);
	margin: 0;
	max-width: 320px;
}
.s48-heading {
	font-family: var(--font-display);
	font-weight: var(--fw-bold);
	font-size: var(--fs-small);
	color: var(--color-text);
	text-transform: uppercase;
	letter-spacing: var(--ls-wide);
	margin: 0 0 var(--space-md);
}
.s48-list { list-style: none; display: flex; flex-direction: column; gap: var(--space-2xs); }
.s48-link {
	font-family: var(--font-body);
	font-size: var(--fs-small);
	color: var(--color-text-muted);
}
.s48-link:hover { color: var(--color-accent); }
.s48-bottom {
	border-top: 1px solid rgba(255,255,255,0.1);
	padding-top: var(--space-md);
	text-align: center;
}
.s48-copyright {
	font-family: var(--font-body);
	font-size: var(--fs-micro);
	color: var(--color-text-muted);
	margin: 0;
}
@media (max-width: 1199px) {
	.s48-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 619px) {
	.s48-grid { grid-template-columns: 1fr; gap: var(--space-lg); }
}
