/* Grand Rush Casino AU — render.css
   TYPO-06 · SPACE-07 · CONT-01(1200) · BP-10 · GEO-01 · MOTION-05 */

:root {
	/* colors (final, ±2% shifted) */
	--theme-theme-brand: #ffd30b;
	--theme-theme-accent-color: #c89630;
	--theme-theme-canvas: #000000;
	--theme-theme-surface-raised: #141414;
	--theme-theme-accent-active: #ad852c;
	--theme-theme-gradient-start: #e5cd9a;
	--theme-theme-gradient-mid: #d8ad58;
	--theme-theme-text: #ffffff;
	--theme-theme-text-muted: #c0bebe;
	--theme-theme-warning-bg: #dc2626;

	/* fonts (display=Fredoka chunky headings, body=Rubik readable — swap of local Rubik/Fredoka One) */
	--theme-theme-font-heading: 'Fredoka', system-ui, sans-serif;
	--theme-theme-font-base: 'Rubik', system-ui, -apple-system, sans-serif;
	--theme-theme-font-medium: 500;
	--theme-theme-weight-bold: 700;

	/* typography TYPO-06 desktop */
	--theme-theme-size-h1: 36px;
	--theme-theme-text-h2: 26px;
	--theme-theme-fs-h3: 20px;
	--theme-theme-type-h4: 17px;
	--theme-theme-size-h5: 14px;
	--theme-theme-text-h6: 12px;
	--theme-theme-type-body: 14px;
	--theme-theme-fs-small: 12px;
	--theme-theme-text-xs: 11px;
	--theme-theme-lh-tight: 1.15;
	--theme-theme-line-normal: 1.45;
	--theme-theme-leading-loose: 1.6;
	--theme-theme-ls-tight: -0.01em;
	--theme-theme-tracking-wide: 0.08em;

	/* spacing SPACE-07 fibonacci */
	--theme-theme-gutter-2xs: 3px;
	--theme-theme-spacing-xs: 8px;
	--theme-theme-gutter-sm: 13px;
	--theme-theme-spacing-md: 21px;
	--theme-theme-spacing-lg: 34px;
	--theme-theme-gutter-xl: 55px;
	--theme-theme-gap-2xl: 89px;
	--theme-theme-gap-3xl: 144px;
	--theme-theme-sec-y: 48px;

	/* container CONT-01 (spec override 1200/720) */
	--theme-theme-shell-width: 1200px;
	--theme-theme-readable-width: 720px;
	--theme-theme-edge-mobile: 16px;
	--theme-theme-container-padding-tablet: 32px;
	--theme-theme-edge-desktop: 48px;

	/* breakpoints BP-10 */
	--theme-theme-bp-sm: 488px;
	--theme-theme-bp-md: 832px;
	--theme-theme-bp-lg: 1136px;
	--theme-theme-bp-xl: 1488px;

	/* geometry GEO-01 sharp industrial */
	--theme-theme-corner-xs: 0;
	--theme-theme-radius-sm: 0;
	--theme-theme-radius-md: 0;
	--theme-theme-corner-lg: 0;
	--theme-theme-pill: 0;
	--theme-theme-circle: 50%;
	--theme-theme-shadow-xs: none;
	--theme-theme-depth-sm: 0 1px 0 rgba(0,0,0,0.08);
	--theme-theme-shade-md: 0 2px 0 rgba(0,0,0,0.12);
	--theme-theme-shade-lg: 0 4px 0 rgba(0,0,0,0.16);
	--theme-theme-border-width: 1px;
	--theme-theme-border-medium: 2px;
	--theme-theme-border-thick: 4px;

	/* motion MOTION-05 cinematic */
	--theme-theme-speed-fast: 250ms;
	--theme-theme-speed-base: 400ms;
	--theme-theme-duration-slow: 700ms;
	--theme-theme-easing: cubic-bezier(0.25, 0.46, 0.45, 0.94);
	--theme-theme-ease-in-out: cubic-bezier(0.645, 0.045, 0.355, 1);
}

/* reset / base */
*, *::before, *::after { box-sizing: border-box; }
html, body { overflow-x: clip; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	font-family: var(--theme-theme-font-base);
	font-size: var(--theme-theme-type-body);
	line-height: var(--theme-theme-line-normal);
	color: var(--theme-theme-text);
	background: var(--theme-theme-canvas);
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--theme-theme-accent-color); }
h1, h2, h3 { font-family: var(--theme-theme-font-heading); line-height: var(--theme-theme-lh-tight); font-weight: var(--theme-theme-weight-bold); }
ul { margin: 0; padding: 0; }

/* a11y */
.skip-link {
	position: fixed; left: var(--theme-theme-spacing-md); top: var(--theme-theme-spacing-md);
	z-index: 200; background: var(--theme-theme-brand); color: var(--theme-theme-canvas);
	padding: var(--theme-theme-spacing-xs) var(--theme-theme-spacing-md); font-weight: var(--theme-theme-weight-bold);
}
.skip-link:not(:focus) { top: -200px !important; }
.sr-only {
	position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}
@media (prefers-reduced-motion: reduce) {
	* { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

.main { display: block; }

/* responsible-gaming banner (static, above sticky header) */
.rg-banner {
	margin: 0; padding: 6px var(--theme-theme-edge-mobile);
	background: var(--theme-theme-warning-bg); color: #ffffff;
	font-size: var(--theme-theme-text-xs); text-align: center; letter-spacing: var(--theme-theme-tracking-wide);
}

/* ============ HEADER — HEAD-13 Big Logo Banner ============ */
.y80 {
	position: sticky; top: 0; z-index: 100;
	background: var(--theme-theme-canvas);
	transition: padding var(--theme-theme-speed-base) var(--theme-theme-easing);
}
.y80-bar {
	display: flex; align-items: center; gap: var(--theme-theme-spacing-lg);
	max-width: 1440px; margin-inline: auto;
	padding: var(--theme-theme-spacing-md) var(--theme-theme-edge-desktop);
	min-height: 120px;
}
.y80-logo { flex-shrink: 0; display: inline-flex; align-items: center; }
.y80-logo, .y80-logo-img { flex-shrink: 0; }
.y80-logo-img { height: 96px; width: auto; transition: height var(--theme-theme-speed-base) var(--theme-theme-easing); }
.y80.is-shrunk { padding-block: var(--theme-theme-gutter-2xs); }
.y80.is-shrunk .y80-logo-img { height: 76px; }

.y80-nav { margin-left: auto; }
.y80-nav-list {
	display: flex; flex-wrap: nowrap; align-items: center;
	gap: var(--theme-theme-spacing-md); list-style: none;
}
.y80-nav-item { position: relative; list-style: none; }
.y80-nav-item--more { position: relative; }
.y80-link {
	font-family: var(--theme-theme-font-base); font-weight: var(--theme-theme-font-medium);
	font-size: var(--theme-theme-fs-small); text-transform: uppercase; letter-spacing: var(--theme-theme-tracking-wide);
	color: var(--theme-theme-text); text-decoration: none; white-space: nowrap;
	transition: color var(--theme-theme-speed-fast) var(--theme-theme-easing);
}
.y80-link:hover, .y80-link[aria-current='page'] { color: var(--theme-theme-brand); }
.y80-more-toggle {
	display: inline-flex; align-items: center; gap: var(--theme-theme-gutter-2xs);
	background: transparent; border: 0; cursor: pointer; padding: 0;
}
.y80-more-chevron { transition: transform var(--theme-theme-speed-fast) var(--theme-theme-easing); }
.y80-more-toggle[aria-expanded='true'] .y80-more-chevron { transform: rotate(180deg); }
.y80-more-menu {
	position: absolute; top: 100%; right: 0; margin-top: var(--theme-theme-gutter-sm);
	padding: var(--theme-theme-spacing-xs) 0; list-style: none;
	background: var(--theme-theme-surface-raised); border: var(--theme-theme-border-width) solid rgba(255,255,255,0.12);
	box-shadow: var(--theme-theme-shade-md); min-width: 210px; z-index: 110;
}
.y80-more-menu[hidden] { display: none; }
.y80-more-menu.is-open { display: block; }
.y80-more-link {
	display: block; padding: var(--theme-theme-spacing-xs) var(--theme-theme-spacing-md);
	color: var(--theme-theme-text); text-decoration: none; white-space: nowrap;
	font-size: var(--theme-theme-fs-small); text-transform: uppercase; letter-spacing: var(--theme-theme-tracking-wide);
}
.y80-more-link:hover, .y80-more-link:focus { background: rgba(255,255,255,0.08); color: var(--theme-theme-brand); }

.y80-auth-btn {
	flex-shrink: 0; white-space: nowrap;
	padding: var(--theme-theme-spacing-xs) var(--theme-theme-spacing-lg);
	background: var(--theme-theme-brand); color: var(--theme-theme-canvas);
	font-family: var(--theme-theme-font-heading); font-weight: var(--theme-theme-weight-bold);
	font-size: var(--theme-theme-fs-small); text-transform: uppercase; letter-spacing: var(--theme-theme-tracking-wide);
	text-decoration: none; border: var(--theme-theme-border-width) solid var(--theme-theme-brand);
	transition: background var(--theme-theme-speed-base) var(--theme-theme-easing), color var(--theme-theme-speed-base) var(--theme-theme-easing);
}
.y80-auth-btn:hover { background: var(--theme-theme-canvas); color: var(--theme-theme-brand); }

.y80-toggle {
	display: none; margin-left: auto; flex-direction: column; gap: 5px;
	background: transparent; border: 0; cursor: pointer; padding: var(--theme-theme-spacing-xs);
}
.y80-toggle-bar { display: block; width: 26px; height: 3px; background: var(--theme-theme-text); }

.y80-drawer {
	position: fixed; top: 0; right: 0; bottom: 0; width: min(84vw, 340px);
	background: var(--theme-theme-surface-raised); border-left: var(--theme-theme-border-width) solid rgba(255,255,255,0.12);
	padding: calc(120px + var(--theme-theme-spacing-md)) var(--theme-theme-spacing-lg) var(--theme-theme-spacing-lg);
	z-index: 150; display: none; overflow-y: auto;
}
.y80-drawer.is-open { display: block; }
.y80-drawer-list { list-style: none; display: flex; flex-direction: column; gap: var(--theme-theme-gutter-sm); }
.y80-drawer-item { list-style: none; }
.y80-drawer-link {
	display: block; padding: var(--theme-theme-gutter-sm) 0;
	color: var(--theme-theme-text); text-decoration: none;
	font-family: var(--theme-theme-font-heading); font-size: var(--theme-theme-size-h5);
	text-transform: uppercase; letter-spacing: var(--theme-theme-tracking-wide);
	border-bottom: var(--theme-theme-border-width) solid rgba(255,255,255,0.08);
}
.y80-drawer-link:hover, .y80-drawer-link[aria-current='page'] { color: var(--theme-theme-brand); }

/* ============ HERO — HERO-06 Asymmetric Tilted ============ */
.v51 { position: relative; overflow: hidden; background: var(--theme-theme-canvas); }
.v51-inner {
	position: relative;
	max-width: calc(var(--theme-theme-shell-width) + 2 * var(--theme-theme-edge-desktop));
	margin-inline: auto; padding-inline: var(--theme-theme-edge-desktop);
	min-height: 560px; display: flex; align-items: center;
}
.v51-content { position: relative; z-index: 2; width: 52%; padding-block: var(--theme-theme-gap-2xl); }
.v51-eyebrow {
	font-family: var(--theme-theme-font-base); font-size: var(--theme-theme-fs-small); text-transform: uppercase;
	letter-spacing: var(--theme-theme-tracking-wide); color: var(--theme-theme-accent-color); margin: 0 0 var(--theme-theme-gutter-sm);
}
.v51-title { font-size: clamp(2rem, 4.4vw, 3rem); color: var(--theme-theme-text); margin: 0 0 var(--theme-theme-spacing-md); }
.v51-subtitle { font-size: var(--theme-theme-size-h5); line-height: var(--theme-theme-line-normal); color: var(--theme-theme-text-muted); margin: 0 0 var(--theme-theme-spacing-lg); max-width: 480px; }
.v51-cta {
	display: inline-block; padding: var(--theme-theme-gutter-sm) var(--theme-theme-gutter-xl);
	background: var(--theme-theme-accent-color); color: var(--theme-theme-canvas);
	font-family: var(--theme-theme-font-heading); font-weight: var(--theme-theme-weight-bold);
	text-transform: uppercase; letter-spacing: var(--theme-theme-tracking-wide); text-decoration: none;
	transition: background var(--theme-theme-speed-base) var(--theme-theme-easing), color var(--theme-theme-speed-base) var(--theme-theme-easing), transform var(--theme-theme-speed-base) var(--theme-theme-easing);
}
.v51-cta:hover { background: var(--theme-theme-accent-active); color: var(--theme-theme-canvas); transform: scale(1.03); }
.v51-figure {
	position: absolute; right: 0; top: -40px; width: 56%; height: calc(100% + 80px);
	margin: 0; box-shadow: var(--theme-theme-shade-lg); transform: rotate(2deg);
	transition: transform var(--theme-theme-duration-slow) var(--theme-theme-easing);
}
.v51-figure img { width: 100%; height: 100%; object-fit: cover; }
.v51-figure:hover { transform: rotate(0deg) scale(1.02); }

/* ============ PAGE HEADER — PHEAD-04 Two-Column ============ */
.h67 { background: var(--theme-theme-canvas); }
.h67-inner {
	max-width: calc(var(--theme-theme-shell-width) + 2 * var(--theme-theme-edge-desktop));
	margin-inline: auto; padding: var(--theme-theme-sec-y) var(--theme-theme-edge-desktop);
	display: grid; grid-template-columns: 1.2fr 1fr; gap: var(--theme-theme-gap-2xl); align-items: end;
}
.h67-eyebrow { font-size: var(--theme-theme-fs-small); text-transform: uppercase; letter-spacing: var(--theme-theme-tracking-wide); color: var(--theme-theme-accent-color); margin: 0 0 var(--theme-theme-gutter-sm); }
.h67-title { font-size: var(--theme-theme-size-h1); color: var(--theme-theme-text); margin: 0; }
.h67-description { font-size: var(--theme-theme-size-h5); line-height: var(--theme-theme-line-normal); color: var(--theme-theme-text-muted); margin: 0; }
.h67-meta { font-size: var(--theme-theme-fs-small); color: var(--theme-theme-text-muted); }

/* ============ PROSE — PROSE-01 Long-Read ============ */
.y81 { background: var(--theme-theme-canvas); }
.y81-inner {
	max-width: calc(var(--theme-theme-shell-width) + 2 * var(--theme-theme-edge-desktop));
	margin-inline: auto; padding: var(--theme-theme-sec-y) var(--theme-theme-edge-desktop);
}
.y81-inner > * { max-width: var(--theme-theme-readable-width); margin-inline: auto; }
.y81-inner h2 { font-size: var(--theme-theme-text-h2); color: var(--theme-theme-text); margin: var(--theme-theme-gutter-xl) auto var(--theme-theme-spacing-md); }
.y81-inner h2:first-child { margin-top: 0; }
.y81-inner p { font-size: var(--theme-theme-type-body); line-height: var(--theme-theme-leading-loose); color: var(--theme-theme-text); margin: 0 auto var(--theme-theme-spacing-md); }
.y81-inner ul { list-style: disc; padding-left: var(--theme-theme-spacing-lg); margin: 0 auto var(--theme-theme-spacing-md); max-width: var(--theme-theme-readable-width); }
.y81-inner li { margin-bottom: var(--theme-theme-spacing-xs); line-height: var(--theme-theme-leading-loose); }
.y81-inner a { color: var(--theme-theme-accent-color); text-decoration: underline; text-underline-offset: 3px; }
.y81-inner a:hover { text-decoration-thickness: 2px; }
.y81-inner strong { font-weight: var(--theme-theme-weight-bold); color: var(--theme-theme-text); }
.y81-inner em { font-style: italic; }

/* ============ ITEMS GRID — GRID-04 Icon-Decorated ============ */
.t20 { background: var(--theme-theme-canvas); }
.t20-inner {
	max-width: calc(var(--theme-theme-shell-width) + 2 * var(--theme-theme-edge-desktop));
	margin-inline: auto; padding: var(--theme-theme-sec-y) var(--theme-theme-edge-desktop);
}
.t20-head { font-size: var(--theme-theme-text-h2); color: var(--theme-theme-text); margin: 0 0 var(--theme-theme-gutter-xl); }
.t20-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--theme-theme-spacing-lg); }
.t20-card { padding: var(--theme-theme-spacing-lg); border: var(--theme-theme-border-width) solid rgba(255,255,255,0.14); background: var(--theme-theme-surface-raised); }
.t20-badge {
	width: 56px; height: 56px; border-radius: var(--theme-theme-circle);
	background: var(--theme-theme-accent-color); color: var(--theme-theme-canvas);
	font-family: var(--theme-theme-font-heading); font-weight: var(--theme-theme-weight-bold); font-size: var(--theme-theme-type-h4);
	display: flex; align-items: center; justify-content: center; margin-bottom: var(--theme-theme-spacing-md);
}
.t20-card-title { font-size: var(--theme-theme-type-h4); font-weight: var(--theme-theme-weight-bold); color: var(--theme-theme-text); margin: 0 0 var(--theme-theme-gutter-sm); }
.t20-card-text { font-size: var(--theme-theme-type-body); line-height: var(--theme-theme-line-normal); color: var(--theme-theme-text-muted); margin: 0; }

/* ============ FAQ — FAQ-06 Anchored Linked List ============ */
.q02 { background: var(--theme-theme-canvas); }
.q02-inner {
	max-width: calc(var(--theme-theme-shell-width) + 2 * var(--theme-theme-edge-desktop));
	margin-inline: auto; padding: var(--theme-theme-sec-y) var(--theme-theme-edge-desktop);
}
.q02-head { font-size: var(--theme-theme-text-h2); color: var(--theme-theme-text); margin: 0 0 var(--theme-theme-spacing-lg); }
.q02-toc { padding: var(--theme-theme-spacing-lg); background: rgba(255,211,11,0.06); margin-bottom: var(--theme-theme-gap-2xl); }
.q02-toc-list { padding-left: var(--theme-theme-spacing-lg); }
.q02-toc-item { margin-bottom: var(--theme-theme-spacing-xs); }
.q02-toc-link { font-size: var(--theme-theme-type-body); color: var(--theme-theme-text-muted); text-decoration: none; }
.q02-toc-link:hover { color: var(--theme-theme-text); }
.q02-list { margin: 0; }
.q02-term { font-family: var(--theme-theme-font-heading); font-weight: var(--theme-theme-weight-bold); font-size: var(--theme-theme-type-h4); color: var(--theme-theme-text); margin-top: var(--theme-theme-spacing-lg); scroll-margin-top: 140px; }
.q02-def { margin: var(--theme-theme-spacing-xs) 0 var(--theme-theme-spacing-md); }
.q02-def p { font-size: var(--theme-theme-type-body); line-height: var(--theme-theme-leading-loose); color: var(--theme-theme-text-muted); margin: 0; }

/* ============ REVIEWS — REV-03 Carousel Strip ============ */
.d05 { background: var(--theme-theme-canvas); }
.d05-inner {
	max-width: calc(var(--theme-theme-shell-width) + 2 * var(--theme-theme-edge-desktop));
	margin-inline: auto; padding: var(--theme-theme-sec-y) var(--theme-theme-edge-desktop);
}
.d05-head { font-size: var(--theme-theme-text-h2); color: var(--theme-theme-text); margin: 0 0 var(--theme-theme-spacing-lg); }
.d05-rail { display: flex; gap: var(--theme-theme-spacing-md); overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: var(--theme-theme-gutter-sm); }
.d05-card {
	flex: 0 0 340px; scroll-snap-align: start; min-height: 220px;
	padding: var(--theme-theme-spacing-lg); background: var(--theme-theme-surface-raised);
	border: var(--theme-theme-border-width) solid rgba(255,255,255,0.14);
	display: flex; flex-direction: column; gap: var(--theme-theme-gutter-sm);
}
.d05-card-head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--theme-theme-gutter-sm); }
.d05-author { font-family: var(--theme-theme-font-heading); font-weight: var(--theme-theme-weight-bold); color: var(--theme-theme-text); font-size: var(--theme-theme-size-h5); }
.d05-date { font-size: var(--theme-theme-text-xs); color: var(--theme-theme-text-muted); }
.d05-rating { font-size: var(--theme-theme-fs-small); color: var(--theme-theme-accent-color); font-weight: var(--theme-theme-weight-bold); }
.d05-bar { height: 4px; width: 60%; background: rgba(255,255,255,0.2); margin-top: var(--theme-theme-gutter-2xs); }
.d05-bar-fill { display: block; height: 100%; background: var(--theme-theme-accent-color); }
.d05-text { font-size: var(--theme-theme-type-body); line-height: var(--theme-theme-line-normal); color: var(--theme-theme-text-muted); margin: 0; }
.d05-dots { display: flex; gap: var(--theme-theme-spacing-xs); justify-content: center; margin-top: var(--theme-theme-spacing-md); }
.d05-dot { width: 8px; height: 8px; border-radius: var(--theme-theme-circle); background: rgba(192,190,190,0.3); }

/* ============ TABLE — TABLE-02 Borderless Editorial ============ */
.z96 { background: var(--theme-theme-canvas); }
.z96-inner {
	max-width: calc(var(--theme-theme-shell-width) + 2 * var(--theme-theme-edge-desktop));
	margin-inline: auto; padding: var(--theme-theme-sec-y) var(--theme-theme-edge-desktop);
}
.z96-table { width: 100%; border-collapse: collapse; }
.z96-th {
	text-align: left; padding-block: var(--theme-theme-spacing-md); padding-inline: var(--theme-theme-spacing-md);
	font-family: var(--theme-theme-font-heading); font-weight: var(--theme-theme-weight-bold); font-size: var(--theme-theme-fs-small);
	text-transform: uppercase; letter-spacing: var(--theme-theme-tracking-wide); color: var(--theme-theme-text);
	border-bottom: var(--theme-theme-border-medium) solid var(--theme-theme-accent-color);
}
.z96-td { padding: var(--theme-theme-spacing-md); font-size: var(--theme-theme-type-body); color: var(--theme-theme-text-muted); border-bottom: var(--theme-theme-border-width) solid rgba(255,255,255,0.08); }
.z96-td:first-child { color: var(--theme-theme-text); font-weight: var(--theme-theme-font-medium); }
.z96-table tbody tr:last-child .z96-td { border-bottom: none; }

/* ============ CTA — CTA-01 Full-Width Strip ============ */
.a05 { background: var(--theme-theme-accent-color); }
.a05-inner {
	max-width: calc(var(--theme-theme-shell-width) + 2 * var(--theme-theme-edge-desktop));
	margin-inline: auto; padding: var(--theme-theme-sec-y) var(--theme-theme-edge-desktop);
	display: flex; justify-content: space-between; align-items: center; gap: var(--theme-theme-gutter-xl); flex-wrap: wrap;
}
.a05-text { flex: 1 1 auto; }
.a05-title { font-size: var(--theme-theme-text-h2); text-transform: uppercase; letter-spacing: var(--theme-theme-ls-tight); color: var(--theme-theme-canvas); margin: 0; max-width: 720px; }
.a05-description { font-size: var(--theme-theme-type-body); line-height: var(--theme-theme-line-normal); color: rgba(0,0,0,0.82); margin: var(--theme-theme-gutter-sm) 0 0; max-width: 580px; }
.a05-button {
	flex-shrink: 0; display: inline-block; padding: var(--theme-theme-spacing-md) var(--theme-theme-gap-2xl);
	background: var(--theme-theme-canvas); color: var(--theme-theme-brand);
	font-family: var(--theme-theme-font-heading); font-weight: var(--theme-theme-weight-bold);
	text-transform: uppercase; letter-spacing: var(--theme-theme-tracking-wide); text-decoration: none;
	transition: background var(--theme-theme-speed-base) var(--theme-theme-easing), color var(--theme-theme-speed-base) var(--theme-theme-easing);
}
.a05-button:hover { background: #1a1a1a; color: var(--theme-theme-brand); }

/* ============ INLINE CTA — INLINE-CTA-07 Icon-Headlined ============ */
.w36 { background: var(--theme-theme-canvas); }
.w36-box {
	max-width: 540px; margin-inline: auto; padding-block: var(--theme-theme-sec-y); padding-inline: var(--theme-theme-edge-desktop);
	text-align: center; display: flex; flex-direction: column; align-items: center;
}
.w36-icon { font-size: var(--theme-theme-size-h1); color: var(--theme-theme-accent-color); margin-bottom: var(--theme-theme-spacing-md); line-height: 1; }
.w36-heading { font-size: var(--theme-theme-fs-h3); color: var(--theme-theme-text); margin: 0 0 var(--theme-theme-gutter-sm); }
.w36-subtext { font-size: var(--theme-theme-type-body); color: var(--theme-theme-text-muted); margin: 0 0 var(--theme-theme-spacing-lg); }
.w36-btn {
	display: inline-block; padding: var(--theme-theme-spacing-md) var(--theme-theme-gap-2xl);
	background: var(--theme-theme-accent-color); color: var(--theme-theme-canvas);
	font-family: var(--theme-theme-font-heading); font-weight: var(--theme-theme-weight-bold);
	text-transform: uppercase; letter-spacing: var(--theme-theme-tracking-wide); text-decoration: none;
	transition: background var(--theme-theme-speed-base) var(--theme-theme-easing), color var(--theme-theme-speed-base) var(--theme-theme-easing);
}
.w36-btn:hover { background: var(--theme-theme-accent-active); color: var(--theme-theme-canvas); }

/* ============ PAGE MEDIA (per-page images) ============ */
.page-media { background: var(--theme-theme-canvas); }
.page-media-inner {
	max-width: calc(var(--theme-theme-shell-width) + 2 * var(--theme-theme-edge-desktop));
	margin-inline: auto; padding: var(--theme-theme-sec-y) var(--theme-theme-edge-desktop);
}
.page-media-figure { margin: 0; }
.page-media-figure img { width: 100%; }
.page-media-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--theme-theme-spacing-lg); }

/* ============ LEGAL — LEGAL-04 Bordered Article Box ============ */
.f90 { background: var(--theme-theme-canvas); }
.f90-inner {
	max-width: calc(var(--theme-theme-shell-width) + 2 * var(--theme-theme-edge-desktop));
	margin-inline: auto; padding: var(--theme-theme-sec-y) var(--theme-theme-edge-desktop);
}
.f90-box {
	position: relative; max-width: var(--theme-theme-readable-width); margin-inline: auto;
	background: var(--theme-theme-surface-raised); padding: var(--theme-theme-gap-2xl);
	border: var(--theme-theme-border-width) solid rgba(255,255,255,0.1); box-shadow: var(--theme-theme-depth-sm);
}
.f90-box h1 { font-size: var(--theme-theme-size-h1); color: var(--theme-theme-text); margin: 0 0 var(--theme-theme-spacing-md); }
.f90-intro { font-size: var(--theme-theme-size-h5); line-height: var(--theme-theme-line-normal); color: var(--theme-theme-text-muted); margin: 0 0 var(--theme-theme-spacing-lg); }
.f90-section { margin-bottom: var(--theme-theme-spacing-lg); }
.f90-heading { font-size: var(--theme-theme-fs-h3); color: var(--theme-theme-text); margin: var(--theme-theme-spacing-lg) 0 var(--theme-theme-gutter-sm); }
.f90-text { font-size: var(--theme-theme-type-body); line-height: var(--theme-theme-leading-loose); color: var(--theme-theme-text-muted); margin: 0 0 var(--theme-theme-gutter-sm); }
.f90-contacts { list-style: none; padding: 0; margin: var(--theme-theme-spacing-md) 0; }
.f90-contact { font-size: var(--theme-theme-type-body); line-height: var(--theme-theme-line-normal); color: var(--theme-theme-text-muted); padding: var(--theme-theme-spacing-xs) 0; border-bottom: var(--theme-theme-border-width) solid rgba(255,255,255,0.06); }
.f90-disclaimer { font-size: var(--theme-theme-fs-small); color: var(--theme-theme-text-muted); margin: var(--theme-theme-spacing-lg) 0 0; font-style: italic; }
.f90-updated { position: absolute; top: var(--theme-theme-spacing-md); right: var(--theme-theme-spacing-md); font-size: var(--theme-theme-text-xs); color: var(--theme-theme-text-muted); }

/* ============ FORM — FORM-03 Compact ============ */
.n40 { background: var(--theme-theme-canvas); }
.n40-inner {
	max-width: calc(var(--theme-theme-shell-width) + 2 * var(--theme-theme-edge-desktop));
	margin-inline: auto; padding: var(--theme-theme-sec-y) var(--theme-theme-edge-desktop);
}
.n40-intro { font-size: var(--theme-theme-type-body); color: var(--theme-theme-text-muted); max-width: 540px; margin: 0 auto var(--theme-theme-spacing-lg); text-align: center; }
.n40-form { max-width: 540px; margin-inline: auto; display: flex; flex-direction: column; gap: var(--theme-theme-spacing-md); }
.n40-field { display: flex; flex-direction: column; gap: var(--theme-theme-gutter-2xs); }
.n40-label { font-size: var(--theme-theme-fs-small); font-weight: var(--theme-theme-font-medium); color: var(--theme-theme-text); }
.n40-input, .n40-textarea {
	width: 100%; padding: var(--theme-theme-gutter-sm) var(--theme-theme-spacing-md);
	background: var(--theme-theme-surface-raised); color: var(--theme-theme-text);
	border: var(--theme-theme-border-width) solid rgba(255,255,255,0.18); font: inherit;
}
.n40-input:focus, .n40-textarea:focus { outline: 2px solid var(--theme-theme-accent-color); }
.n40-textarea { resize: vertical; }
.n40-submit {
	width: 100%; height: 52px; margin-top: var(--theme-theme-gutter-sm);
	background: var(--theme-theme-brand); color: var(--theme-theme-canvas);
	font-family: var(--theme-theme-font-heading); font-weight: var(--theme-theme-weight-bold);
	text-transform: uppercase; letter-spacing: var(--theme-theme-tracking-wide); border: 0; cursor: pointer;
	transition: background var(--theme-theme-speed-base) var(--theme-theme-easing), color var(--theme-theme-speed-base) var(--theme-theme-easing);
}
.n40-submit:hover { background: var(--theme-theme-accent-color); color: var(--theme-theme-canvas); }
.n40-success { max-width: 540px; margin: var(--theme-theme-spacing-md) auto 0; padding: var(--theme-theme-spacing-md); background: rgba(255,211,11,0.1); color: var(--theme-theme-text); text-align: center; }

/* ============ AUTHOR CARD — AUTH-06 Full-Hero ============ */
.u39 { background: linear-gradient(135deg, var(--theme-theme-brand), var(--theme-theme-canvas)); }
.u39-inner {
	max-width: calc(var(--theme-theme-shell-width) + 2 * var(--theme-theme-edge-desktop));
	margin-inline: auto; padding: var(--theme-theme-sec-y) var(--theme-theme-edge-desktop);
	display: grid; grid-template-columns: 280px 1fr; gap: var(--theme-theme-gap-2xl); align-items: start;
}
.u39-portrait { width: 280px; aspect-ratio: 4/5; object-fit: cover; box-shadow: var(--theme-theme-shade-lg); }
.u39-body { max-width: 640px; }
.u39-eyebrow { font-size: var(--theme-theme-fs-small); text-transform: uppercase; letter-spacing: var(--theme-theme-tracking-wide); color: var(--theme-theme-canvas); margin: 0 0 var(--theme-theme-gutter-sm); font-weight: var(--theme-theme-weight-bold); }
.u39-name { font-size: clamp(40px, 6vw, 60px); color: var(--theme-theme-canvas); margin: 0 0 var(--theme-theme-spacing-md); }
.u39-bio { font-size: var(--theme-theme-size-h5); line-height: var(--theme-theme-line-normal); color: var(--theme-theme-canvas); margin: 0 0 var(--theme-theme-spacing-md); max-width: 540px; }
.u39-expertise { list-style: none; padding: 0; margin: 0 0 var(--theme-theme-spacing-lg); display: flex; flex-wrap: wrap; gap: var(--theme-theme-spacing-xs); }
.u39-exp-item { font-size: var(--theme-theme-text-xs); text-transform: uppercase; letter-spacing: var(--theme-theme-tracking-wide); color: var(--theme-theme-brand); background: var(--theme-theme-canvas); padding: var(--theme-theme-gutter-2xs) var(--theme-theme-gutter-sm); }
.u39-prose { margin-bottom: var(--theme-theme-spacing-lg); }
.u39-prose h2 { font-size: var(--theme-theme-type-h4); color: var(--theme-theme-canvas); margin: var(--theme-theme-spacing-md) 0 var(--theme-theme-spacing-xs); }
.u39-prose p { font-size: var(--theme-theme-type-body); line-height: var(--theme-theme-line-normal); color: var(--theme-theme-canvas); margin: 0 0 var(--theme-theme-gutter-sm); }
.u39-prose a { color: var(--theme-theme-canvas); text-decoration: underline; }
.u39-articles { border-top: var(--theme-theme-border-width) solid rgba(0,0,0,0.2); padding-top: var(--theme-theme-spacing-md); }
.u39-articles-heading { font-size: var(--theme-theme-type-h4); color: var(--theme-theme-canvas); margin: 0 0 var(--theme-theme-gutter-sm); }
.u39-articles-list { list-style: none; padding: 0; margin: 0; }
.u39-articles-item { margin-bottom: var(--theme-theme-spacing-xs); }
.u39-articles-link { font-size: var(--theme-theme-type-body); color: var(--theme-theme-canvas); text-decoration: underline; text-underline-offset: 2px; }
.u39-articles-link:hover { text-decoration-thickness: 2px; }

/* ============ AUTHOR BYLINE — BYLINE-05 Horizontal Bar ============ */
.e43 { background: var(--theme-theme-brand); }
.e43-inner {
	max-width: calc(var(--theme-theme-shell-width) + 2 * var(--theme-theme-edge-desktop));
	margin-inline: auto; padding: var(--theme-theme-spacing-lg) var(--theme-theme-edge-desktop);
	display: flex; justify-content: space-between; align-items: center; gap: var(--theme-theme-spacing-md); flex-wrap: wrap;
}
.e43-author-info { display: flex; align-items: center; gap: var(--theme-theme-spacing-md); }
.e43-portrait { width: 56px; height: 56px; border-radius: var(--theme-theme-circle); object-fit: cover; }
.e43-text { display: flex; flex-direction: column; }
.e43-name { margin: 0; font-family: var(--theme-theme-font-heading); font-weight: var(--theme-theme-weight-bold); font-size: var(--theme-theme-size-h5); }
.e43-name a { color: var(--theme-theme-canvas); text-decoration: none; }
.e43-name a:hover { text-decoration: underline; }
.e43-role { margin: 0; font-size: var(--theme-theme-fs-small); color: var(--theme-theme-canvas); }
.e43-date { font-size: var(--theme-theme-text-xs); color: var(--theme-theme-canvas); opacity: 0.8; }
.e43-cta {
	flex-shrink: 0; padding: var(--theme-theme-spacing-xs) var(--theme-theme-spacing-md);
	background: var(--theme-theme-canvas); color: var(--theme-theme-brand);
	font-size: var(--theme-theme-fs-small); font-weight: var(--theme-theme-weight-bold); text-decoration: none;
	transition: background var(--theme-theme-speed-base) var(--theme-theme-easing), color var(--theme-theme-speed-base) var(--theme-theme-easing);
}
.e43-cta:hover { background: #1a1a1a; color: var(--theme-theme-brand); }

/* ============ COOKIE — COOK-06 Detailed w/ Preferences ============ */
.s40 {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 160;
	background: var(--theme-theme-surface-raised); border-top: var(--theme-theme-border-medium) solid var(--theme-theme-accent-color);
}
.s40.is-hidden { display: none; }
.s40-inner {
	max-width: calc(var(--theme-theme-shell-width) + 2 * var(--theme-theme-edge-desktop));
	margin-inline: auto; padding: var(--theme-theme-spacing-md) var(--theme-theme-edge-desktop);
	display: flex; align-items: center; gap: var(--theme-theme-spacing-lg); flex-wrap: wrap;
}
.s40-message { flex: 1 1 320px; margin: 0; font-size: var(--theme-theme-fs-small); color: var(--theme-theme-text-muted); line-height: var(--theme-theme-line-normal); }
.s40-actions { display: flex; align-items: center; gap: var(--theme-theme-gutter-sm); flex-wrap: wrap; }
.s40-pref { font-size: var(--theme-theme-fs-small); color: var(--theme-theme-accent-color); text-decoration: underline; align-self: center; }
.s40-pref:hover { color: var(--theme-theme-brand); }
.s40-decline {
	padding: var(--theme-theme-spacing-xs) var(--theme-theme-spacing-md); background: var(--theme-theme-surface-raised);
	color: var(--theme-theme-text); border: var(--theme-theme-border-width) solid rgba(255,255,255,0.4);
	font: inherit; font-size: var(--theme-theme-fs-small); cursor: pointer;
	transition: background var(--theme-theme-speed-base) var(--theme-theme-easing), color var(--theme-theme-speed-base) var(--theme-theme-easing);
}
.s40-decline:hover { background: rgba(255,255,255,0.14); color: var(--theme-theme-text); }
.s40-accept {
	padding: var(--theme-theme-spacing-xs) var(--theme-theme-spacing-lg); background: var(--theme-theme-brand);
	color: var(--theme-theme-canvas); border: 0; font: inherit; font-weight: var(--theme-theme-weight-bold);
	font-size: var(--theme-theme-fs-small); cursor: pointer;
	transition: background var(--theme-theme-speed-base) var(--theme-theme-easing), color var(--theme-theme-speed-base) var(--theme-theme-easing);
}
.s40-accept:hover { background: var(--theme-theme-accent-color); color: var(--theme-theme-canvas); }

/* ============ ERROR — ERR-01 Centered Hero ============ */
.r69 { background: var(--theme-theme-canvas); }
.r69-inner {
	max-width: calc(var(--theme-theme-shell-width) + 2 * var(--theme-theme-edge-desktop));
	margin-inline: auto; padding-block: var(--theme-theme-gap-2xl); padding-inline: var(--theme-theme-edge-desktop);
	display: flex; flex-direction: column; align-items: center; text-align: center; gap: var(--theme-theme-spacing-lg);
}
.r69-code { font-family: var(--theme-theme-font-heading); font-weight: var(--theme-theme-weight-bold); font-size: clamp(80px, 18vw, 200px); line-height: var(--theme-theme-lh-tight); color: var(--theme-theme-accent-color); }
.r69-title { font-size: var(--theme-theme-size-h1); color: var(--theme-theme-text); max-width: 720px; margin: 0; }
.r69-text { font-size: var(--theme-theme-size-h5); line-height: var(--theme-theme-line-normal); color: var(--theme-theme-text-muted); max-width: 600px; margin: 0; }
.r69-button {
	height: 52px; display: inline-flex; align-items: center; padding-inline: var(--theme-theme-gutter-xl);
	background: var(--theme-theme-accent-color); color: var(--theme-theme-canvas);
	font-family: var(--theme-theme-font-heading); font-weight: var(--theme-theme-weight-bold);
	text-transform: uppercase; letter-spacing: var(--theme-theme-tracking-wide); text-decoration: none;
	transition: background var(--theme-theme-speed-base) var(--theme-theme-easing), color var(--theme-theme-speed-base) var(--theme-theme-easing);
}
.r69-button:hover { background: var(--theme-theme-accent-active); color: var(--theme-theme-canvas); }

/* ============ FOOTER — FOOT-04 Sticky Mini ============ */
.p25 {
	position: sticky; bottom: 0; z-index: 80;
	background: rgba(0,0,0,0.95); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
	border-top: var(--theme-theme-border-width) solid rgba(255,255,255,0.1);
}
.p25-inner {
	max-width: calc(var(--theme-theme-shell-width) + 2 * var(--theme-theme-edge-desktop));
	margin-inline: auto; padding: var(--theme-theme-gutter-sm) var(--theme-theme-edge-desktop);
	min-height: 64px; display: flex; justify-content: space-between; align-items: center; gap: var(--theme-theme-spacing-md); flex-wrap: wrap;
}
.p25-copy { font-size: var(--theme-theme-text-xs); color: var(--theme-theme-text-muted); }
.p25-nav { display: flex; align-items: center; gap: var(--theme-theme-gutter-sm); flex-wrap: wrap; }
.p25-nav a {
	font-size: var(--theme-theme-text-xs); text-transform: uppercase; letter-spacing: var(--theme-theme-tracking-wide);
	color: var(--theme-theme-text-muted); text-decoration: none; padding-left: var(--theme-theme-gutter-sm);
	border-left: var(--theme-theme-border-width) solid rgba(255,255,255,0.2);
}
.p25-nav a:first-child { border-left: 0; padding-left: 0; }
.p25-nav a:hover { color: var(--theme-theme-text); }

/* ============ MOBILE ============ */
@media (max-width: 1439px) {
	.y80-nav, .y80-auth-btn { display: none; }
	.y80-toggle { display: flex; }
}
@media (max-width: 831px) {
	:root {
		--theme-theme-size-h1: 26px; --theme-theme-text-h2: 22px; --theme-theme-fs-h3: 18px; --theme-theme-type-h4: 16px;
		--theme-theme-size-h5: 13px; --theme-theme-text-h6: 11px; --theme-theme-text-xs: 10px;
		--theme-theme-sec-y: 40px;
	}
	.y80-bar { padding-inline: var(--theme-theme-edge-mobile); min-height: 80px; }
	.y80-logo-img { height: 76px; }
	.y80-drawer { padding-top: calc(80px + var(--theme-theme-spacing-md)); }
	.rg-banner { padding-inline: var(--theme-theme-edge-mobile); }
	.h67-inner, .v51-inner, .y81-inner, .t20-inner, .q02-inner, .d05-inner, .z96-inner,
	.a05-inner, .f90-inner, .n40-inner, .u39-inner, .e43-inner, .r69-inner, .p25-inner,
	.s40-inner, .page-media-inner { padding-inline: var(--theme-theme-edge-mobile); }
	.v51-inner { display: block; min-height: 0; }
	.v51-content { width: 100%; padding-block: var(--theme-theme-gutter-xl); }
	.v51-figure { position: relative; right: auto; top: auto; width: 100%; height: 240px; transform: none; margin-top: var(--theme-theme-spacing-md); }
	.h67-inner { grid-template-columns: 1fr; gap: var(--theme-theme-spacing-md); }
	.t20-grid { grid-template-columns: 1fr; }
	.u39-inner { grid-template-columns: 1fr; gap: var(--theme-theme-spacing-lg); }
	.u39-portrait { width: 200px; }
	.page-media-grid { grid-template-columns: 1fr; }
	.a05-inner { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 720px) {
	.s40-inner { padding: 12px 14px; gap: 10px; }
	.s40-message { font-size: 13px; }
	.s40-actions { width: 100%; }
	.s40-accept, .s40-decline { padding: 8px 14px; font-size: 12px; min-height: 36px; }
	.p25-inner { flex-direction: column; align-items: flex-start; min-height: 80px; }
}

