/* Winshark Casino — structure-81.css | TYPO-10 / SPACE-05 / CONT-02 / BP-03 / GEO-02 / MOTION-08 / NAME-02 */

:root {
	--color-primary: #131620;
	--color-accent: #01cef9;
	--color-accent-pressed: #00acd7;
	--color-bg: #101219;
	--color-bg-elevated: #161a25;
	--color-bg-card: #1a1f2e;
	--color-gradient-light: #f9c902;
	--color-gradient-mid: #202638;
	--color-text: #ffffff;
	--color-text-muted: #bebebe;
	--color-border: rgba(255,255,255,0.08);
	--color-border-strong: rgba(255,255,255,0.16);
	--color-rg-banner: #dc2626;

	--font-display: 'Fira Sans', system-ui, sans-serif;
	--font-body: 'Fira Sans', system-ui, sans-serif;

	--fs-h1: clamp(2.25rem, 4.2vw, 3.4rem);
	--fs-h2: clamp(1.75rem, 3vw, 2.4rem);
	--fs-h3: 1.35rem;
	--fs-body: 1.0625rem;
	--fs-small: 0.9375rem;
	--lh-tight: 1.2;
	--lh-body: 1.65;

	--space-xs: 6px;
	--space-sm: 10px;
	--space-md: 16px;
	--space-lg: 28px;
	--space-xl: 48px;
	--space-2xl: 80px;
	--space-3xl: 120px;

	--container-site: 1320px;
	--container-readable: 720px;
	--container-padding-desktop: 32px;
	--container-padding-mobile: 18px;

	--radius-sm: 6px;
	--radius-md: 12px;
	--radius-lg: 20px;
	--radius-pill: 999px;

	--header-height-desktop: 96px;
	--header-height-mobile: 72px;

	--motion-fast: 140ms cubic-bezier(.4,0,.2,1);
	--motion-base: 220ms cubic-bezier(.4,0,.2,1);

	--shadow-soft: 0 12px 32px rgba(0,0,0,0.35);
	--shadow-accent: 0 8px 24px rgba(1,206,249,0.18);
}

/* ===== Reset / Base ===== */
*, *::before, *::after { box-sizing: border-box; }
html, body { overflow-x: clip; }
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-body);
	-webkit-font-smoothing: antialiased;
}
img, picture, video, svg { max-width: 100%; display: block; height: auto; }
a { color: var(--color-accent); text-decoration: none; transition: color var(--motion-fast); }
a:hover { color: var(--color-accent-pressed); }
button { font-family: inherit; cursor: pointer; }
h1, h2, h3, h4 { font-family: var(--font-display); line-height: var(--lh-tight); margin: 0; letter-spacing: -0.01em; }
p { margin: 0 0 1em; }
ul { margin: 0; padding: 0; list-style: none; }

/* Skip link */
.skip-link {
	position: absolute;
	top: -200px;
	left: var(--space-md);
	background: var(--color-accent);
	color: var(--color-bg);
	padding: 10px 16px;
	border-radius: var(--radius-sm);
	z-index: 1000;
	font-weight: 600;
}
.skip-link:focus { top: 12px; }
.skip-link:not(:focus) { top: -200px !important; }

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

.sr-only {
	position: absolute; width: 1px; height: 1px;
	margin: -1px; border: 0; padding: 0;
	clip: rect(0 0 0 0); overflow: hidden;
}

/* ===== Header — HEAD-02 (single row, logo left, nav center, auth right) ===== */
.hallway {
	background: linear-gradient(180deg, var(--color-primary) 0%, var(--color-bg) 100%);
	border-bottom: 1px solid var(--color-border);
	position: relative;
	z-index: 50;
}
.hallway-inner {
	max-width: 1440px;
	margin: 0 auto;
	padding: 14px var(--container-padding-desktop);
	display: flex;
	align-items: center;
	gap: var(--space-lg);
	min-height: var(--header-height-desktop);
}
.hallway-logo {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
}
.hallway-logo, .hallway-logo img { flex-shrink: 0; }
.hallway-logo-img {
	height: 88px;
	width: auto;
}
.hallway-nav { flex: 1; }
.hallway-nav-list {
	display: flex;
	align-items: center;
	gap: 18px;
	flex-wrap: nowrap;
	justify-content: center;
}
.hallway-nav-link {
	color: var(--color-text);
	font-weight: 500;
	font-size: 0.95rem;
	padding: 8px 4px;
	letter-spacing: 0.01em;
	position: relative;
	white-space: nowrap;
}
.hallway-nav-link:hover { color: var(--color-accent); }
.hallway-nav-link.is-active { color: var(--color-accent); }
.hallway-nav-link.is-active::after {
	content: '';
	position: absolute; left: 4px; right: 4px; bottom: 0;
	height: 2px;
	background: var(--color-accent);
	border-radius: 2px;
}
.hallway-more { position: relative; }
.hallway-more-toggle {
	background: transparent;
	border: none;
	color: var(--color-text);
	font-weight: 500;
	font-size: 0.95rem;
	padding: 8px 12px;
	display: inline-flex;
	align-items: center;
	gap: 4px;
}
.hallway-more-toggle:hover { color: var(--color-accent); }
.hallway-more-toggle[aria-expanded='true'] + .hallway-more-menu { display: block; }
.hallway-more-menu {
	display: none;
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	background: var(--color-bg-elevated);
	border: 1px solid var(--color-border-strong);
	border-radius: var(--radius-md);
	min-width: 180px;
	padding: 8px 0;
	box-shadow: var(--shadow-soft);
}
.hallway-more-menu[hidden] { display: none; }
.hallway-more-menu li { padding: 0; }
.hallway-more-menu .hallway-nav-link {
	display: block;
	padding: 10px 18px;
	font-size: 0.95rem;
}
.hallway-auth {
	display: flex;
	gap: var(--space-sm);
	flex-shrink: 0;
}
.hallway-auth-btn {
	white-space: nowrap;
	flex-shrink: 0;
	padding: 10px var(--space-lg);
	border-radius: var(--radius-pill);
	font-weight: 600;
	font-size: 0.9rem;
	transition: background var(--motion-fast), color var(--motion-fast);
}
.hallway-auth-btn--ghost {
	color: var(--color-text);
	border: 1px solid var(--color-border-strong);
}
.hallway-auth-btn--ghost:hover {
	background: var(--color-bg-elevated);
	color: var(--color-accent);
}
.hallway-auth-btn--solid {
	background: var(--color-accent);
	color: var(--color-bg);
}
.hallway-auth-btn--solid:hover {
	background: var(--color-accent-pressed);
	color: var(--color-bg);
}
.hallway-toggle {
	display: none;
	background: transparent;
	border: none;
	width: 44px;
	height: 44px;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	padding: 0;
	margin-left: auto;
}
.hallway-toggle span {
	display: block;
	height: 2px;
	background: var(--color-text);
	width: 26px;
	margin: 0 auto;
	transition: transform var(--motion-fast);
}
.hallway-mobile { display: none; }
.hallway-mobile[hidden] { display: none; }

@media (max-width: 1100px) {
	.hallway-nav { display: none; }
	.hallway-auth { display: none; }
	.hallway-toggle { display: flex; margin-left: auto !important; }
	.hallway-mobile {
		display: block;
		background: var(--color-bg-elevated);
		border-top: 1px solid var(--color-border);
		padding: var(--space-md) var(--container-padding-mobile);
	}
	.hallway-mobile[hidden] { display: none; }
	.hallway-mobile.is-open { display: block; }
	.hallway-mobile-list {
		display: flex;
		flex-direction: column;
		gap: 6px;
	}
	.hallway-mobile-list .hallway-nav-link {
		display: block;
		padding: 12px 4px;
		border-bottom: 1px solid var(--color-border);
	}
}
@media (max-width: 720px) {
	.hallway-inner {
		padding: 10px var(--container-padding-mobile);
		min-height: var(--header-height-mobile);
	}
	.hallway-logo-img { height: 60px; }
}

/* ===== Hero — HERO-01 (background image + gradient overlay, centered text) ===== */
.mantle {
	position: relative;
	min-height: 600px;
	display: flex;
	align-items: center;
	overflow: hidden;
}
.mantle-bg {
	position: absolute;
	inset: 0;
	z-index: 0;
}
.mantle-bg-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.mantle-bg-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(120deg, rgba(16,18,25,0.92) 0%, rgba(16,18,25,0.65) 55%, rgba(32,38,56,0.55) 100%);
}
.mantle-inner {
	position: relative;
	z-index: 1;
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	width: 100%;
	margin: 0 auto;
	padding: var(--space-2xl) var(--container-padding-desktop);
}
.mantle-eyebrow {
	color: var(--color-accent);
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	font-size: 0.85rem;
	margin: 0 0 var(--space-md);
}
.mantle-h1 {
	font-size: var(--fs-h1);
	font-weight: 700;
	max-width: 16ch;
	margin-bottom: var(--space-md);
}
.mantle-subtitle {
	color: var(--color-text-muted);
	max-width: 580px;
	font-size: 1.1rem;
	margin-bottom: var(--space-lg);
}
.mantle-actions {
	display: flex;
	gap: var(--space-md);
	flex-wrap: wrap;
}
.mantle-btn {
	display: inline-flex;
	align-items: center;
	padding: 14px var(--space-xl);
	border-radius: var(--radius-pill);
	font-weight: 700;
	font-size: 1rem;
	letter-spacing: 0.02em;
	transition: background var(--motion-base), color var(--motion-base), transform var(--motion-fast);
}
.mantle-btn--primary {
	background: var(--color-accent);
	color: var(--color-bg);
	box-shadow: var(--shadow-accent);
}
.mantle-btn--primary:hover {
	background: var(--color-accent-pressed);
	color: var(--color-bg);
	transform: translateY(-1px);
}
.mantle-btn--ghost {
	border: 1.5px solid var(--color-border-strong);
	color: var(--color-text);
}
.mantle-btn--ghost:hover {
	background: var(--color-bg-elevated);
	color: var(--color-accent);
	border-color: var(--color-accent);
}

/* ===== Page header — PHEAD-03 ===== */
.frame {
	background: linear-gradient(180deg, var(--color-primary) 0%, var(--color-bg) 100%);
	padding: var(--space-2xl) 0 var(--space-lg);
	border-bottom: 1px solid var(--color-border);
}
.frame-inner {
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	margin: 0 auto;
	padding: 0 var(--container-padding-desktop);
}
.frame-eyebrow {
	color: var(--color-accent);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	font-size: 0.85rem;
	font-weight: 600;
	margin: 0 0 var(--space-sm);
}
.frame-h1 {
	font-size: var(--fs-h1);
	max-width: 24ch;
}

/* ===== Breadcrumbs — BREAD-02 (chevron separator, muted) ===== */
.pier {
	background: var(--color-bg);
	padding: var(--space-md) 0;
	border-bottom: 1px solid var(--color-border);
}
.pier-inner {
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	margin: 0 auto;
	padding: 0 var(--container-padding-desktop);
}
.pier-list {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	font-size: 0.9rem;
}
.pier-link { color: var(--color-text-muted); }
.pier-link:hover { color: var(--color-accent); }
.pier-sep { color: var(--color-border-strong); }
.pier-item--current { color: var(--color-text); font-weight: 500; }

/* ===== Inline CTA — INLINE-CTA-06 (top placement, accent strip) ===== */
.turret {
	background: linear-gradient(95deg, var(--color-gradient-mid) 0%, rgba(1,206,249,0.08) 100%);
	border-bottom: 1px solid var(--color-border);
}
.turret-inner {
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	margin: 0 auto;
	padding: var(--space-lg) var(--container-padding-desktop);
	display: flex;
	align-items: center;
	gap: var(--space-lg);
	flex-wrap: wrap;
}
.turret-text { flex: 1; min-width: 280px; }
.turret-eyebrow {
	color: var(--color-gradient-light);
	font-size: 0.8rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	font-weight: 700;
	margin: 0 0 6px;
}
.turret-headline {
	color: var(--color-text);
	font-size: 1.15rem;
	font-weight: 500;
	margin: 0;
}
.turret-btn {
	background: var(--color-accent);
	color: var(--color-bg);
	padding: 12px var(--space-xl);
	border-radius: var(--radius-pill);
	font-weight: 700;
	flex-shrink: 0;
}
.turret-btn:hover {
	background: var(--color-accent-pressed);
	color: var(--color-bg);
}

/* ===== Prose — PROSE-06 (article column, generous spacing) ===== */
.filigree { padding: var(--space-2xl) 0; }
.filigree-inner {
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	margin: 0 auto;
	padding: 0 var(--container-padding-desktop);
}
.filigree-h2 {
	font-size: var(--fs-h2);
	margin: var(--space-2xl) 0 var(--space-md);
}
.filigree-h2:first-child { margin-top: 0; }
.filigree-h3 {
	font-size: var(--fs-h3);
	margin: var(--space-lg) 0 var(--space-sm);
}
.filigree-inner p {
	color: var(--color-text-muted);
	font-size: 1.05rem;
	margin: 0 0 var(--space-md);
}
.filigree-inner strong { color: var(--color-text); }
.filigree-inner a {
	color: var(--color-accent);
	border-bottom: 1px solid rgba(1,206,249,0.3);
}
.filigree-inner a:hover {
	color: var(--color-accent-pressed);
	border-bottom-color: var(--color-accent-pressed);
}
.filigree-list {
	margin: 0 0 var(--space-lg);
	padding: 0;
}
.filigree-list li {
	color: var(--color-text-muted);
	padding: 8px 0 8px 28px;
	position: relative;
}
.filigree-list li::before {
	content: '◆';
	color: var(--color-accent);
	position: absolute;
	left: 4px;
	top: 8px;
	font-size: 0.7rem;
}
.filigree-fig { margin: 0 0 var(--space-lg); }
.filigree-fig img {
	border-radius: var(--radius-md);
	max-height: 480px;
	object-fit: cover;
	width: 100%;
	border: 1px solid var(--color-border);
}

/* ===== Items grid — GRID-07 (3-col cards, accent top border on hover) ===== */
.pediment {
	padding: var(--space-2xl) 0;
	background: var(--color-bg-elevated);
}
.pediment-inner {
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	margin: 0 auto;
	padding: 0 var(--container-padding-desktop);
}
.pediment-header {
	text-align: center;
	margin-bottom: var(--space-xl);
}
.pediment-eyebrow {
	color: var(--color-accent);
	letter-spacing: 0.16em;
	text-transform: uppercase;
	font-size: 0.85rem;
	font-weight: 600;
	margin: 0 0 var(--space-sm);
}
.pediment-h {
	font-size: var(--fs-h2);
}
.pediment-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-lg);
}
.pediment-card {
	background: var(--color-bg-card);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	padding: var(--space-lg);
	transition: border-color var(--motion-base), transform var(--motion-base);
	position: relative;
	overflow: hidden;
}
.pediment-card::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--color-accent), var(--color-gradient-light));
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--motion-base);
}
.pediment-card:hover { border-color: var(--color-accent); transform: translateY(-2px); }
.pediment-card:hover::before { transform: scaleX(1); }
.pediment-card-title {
	font-size: 1.15rem;
	margin: 0 0 var(--space-sm);
}
.pediment-card-text {
	color: var(--color-text-muted);
	font-size: 0.98rem;
	margin: 0;
}

/* ===== FAQ — FAQ-07 (accordion with plus icon, dividers) ===== */
.transom {
	padding: var(--space-2xl) 0;
}
.transom-inner {
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	margin: 0 auto;
	padding: 0 var(--container-padding-desktop);
}
.transom-h {
	font-size: var(--fs-h2);
	margin-bottom: var(--space-lg);
}
.transom-list {
	border-top: 1px solid var(--color-border);
}
.transom-item {
	border-bottom: 1px solid var(--color-border);
}
.transom-q {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--space-md);
	padding: var(--space-lg) 0;
	cursor: pointer;
	list-style: none;
	font-weight: 500;
	font-size: 1.05rem;
}
.transom-q::-webkit-details-marker { display: none; }
.transom-q-icon {
	color: var(--color-accent);
	font-size: 1.4rem;
	font-weight: 300;
	width: 24px;
	text-align: center;
	transition: transform var(--motion-base);
	flex-shrink: 0;
}
.transom-item[open] .transom-q-icon { transform: rotate(45deg); }
.transom-a {
	padding: 0 0 var(--space-lg);
	color: var(--color-text-muted);
}
.transom-a p { margin: 0; }

/* ===== Reviews — REV-07 (grid of testimonial cards with stars) ===== */
.court {
	padding: var(--space-2xl) 0;
	background: var(--color-bg-elevated);
}
.court-inner {
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	margin: 0 auto;
	padding: 0 var(--container-padding-desktop);
}
.court-h {
	font-size: var(--fs-h2);
	margin-bottom: var(--space-lg);
}
.court-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-lg);
}
.court-card {
	background: var(--color-bg-card);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	padding: var(--space-lg);
}
.court-rating {
	display: flex;
	align-items: center;
	gap: var(--space-sm);
	margin-bottom: var(--space-sm);
}
.court-stars {
	color: var(--color-gradient-light);
	letter-spacing: 2px;
	font-size: 1.1rem;
}
.court-rating-num {
	color: var(--color-text);
	font-weight: 600;
}
.court-text {
	color: var(--color-text-muted);
	font-size: 1rem;
	margin: 0 0 var(--space-md);
}
.court-foot {
	display: flex;
	justify-content: space-between;
	color: var(--color-text-muted);
	font-size: 0.85rem;
}
.court-author { color: var(--color-text); font-weight: 600; }

/* ===== Data table — TABLE-05 ===== */
.antechamber { padding: var(--space-lg) 0; }
.antechamber-inner {
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	margin: 0 auto;
	padding: 0 var(--container-padding-desktop);
}
.antechamber-scroll {
	overflow-x: auto;
	border-radius: var(--radius-md);
	border: 1px solid var(--color-border);
}
.antechamber-table {
	width: 100%;
	border-collapse: collapse;
	background: var(--color-bg-card);
}
.antechamber-table th, .antechamber-table td {
	padding: 14px 18px;
	text-align: left;
	border-bottom: 1px solid var(--color-border);
}
.antechamber-table th {
	background: var(--color-gradient-mid);
	color: var(--color-text);
	font-weight: 600;
	letter-spacing: 0.02em;
}
.antechamber-table td {
	color: var(--color-text-muted);
}
.antechamber-table tbody tr:last-child td { border-bottom: none; }
.antechamber-table tbody tr:hover { background: rgba(1,206,249,0.04); }

/* ===== CTA block — CTA-05 (centered panel) ===== */
.harbor {
	padding: var(--space-2xl) 0;
}
.harbor-inner {
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	margin: 0 auto;
	padding: var(--space-2xl) var(--container-padding-desktop);
	text-align: center;
	background: linear-gradient(135deg, var(--color-gradient-mid) 0%, rgba(1,206,249,0.12) 100%);
	border: 1px solid var(--color-border-strong);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-soft);
}
.harbor-eyebrow {
	color: var(--color-gradient-light);
	letter-spacing: 0.18em;
	text-transform: uppercase;
	font-size: 0.85rem;
	font-weight: 700;
	margin: 0 0 var(--space-sm);
}
.harbor-h {
	font-size: var(--fs-h2);
	margin-bottom: var(--space-md);
}
.harbor-text {
	color: var(--color-text-muted);
	max-width: 580px;
	margin: 0 auto var(--space-lg);
	font-size: 1.05rem;
}
.harbor-btn {
	background: var(--color-accent);
	color: var(--color-bg);
	padding: 14px var(--space-xl);
	border-radius: var(--radius-pill);
	font-weight: 700;
	font-size: 1rem;
	display: inline-block;
	box-shadow: var(--shadow-accent);
}
.harbor-btn:hover {
	background: var(--color-accent-pressed);
	color: var(--color-bg);
}

/* ===== Author byline — BYLINE-03 (compact card with portrait + dates) ===== */
.vault {
	padding: var(--space-lg) 0 var(--space-2xl);
}
.vault-inner {
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	margin: 0 auto;
	padding: var(--space-lg) var(--container-padding-desktop);
	display: flex;
	align-items: center;
	gap: var(--space-md);
	background: var(--color-bg-elevated);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
}
.vault-portrait {
	width: 72px;
	height: 72px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
	border: 2px solid var(--color-accent);
}
.vault-body { flex: 1; }
.vault-by {
	margin: 0 0 2px;
	font-size: 0.9rem;
	color: var(--color-text-muted);
}
.vault-name { color: var(--color-accent); font-weight: 600; }
.vault-role {
	margin: 0 0 6px;
	font-weight: 500;
	font-size: 0.95rem;
}
.vault-meta {
	color: var(--color-text-muted);
	font-size: 0.85rem;
	display: flex;
	flex-wrap: wrap;
	gap: 4px 12px;
}
.vault-time span { color: var(--color-text); font-weight: 500; }

/* ===== Author card — AUTH-07 (large portrait + bio + articles) ===== */
.credenza { padding: var(--space-2xl) 0; }
.credenza-inner {
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	margin: 0 auto;
	padding: 0 var(--container-padding-desktop);
}
.credenza-card {
	display: grid;
	grid-template-columns: 200px 1fr;
	gap: var(--space-xl);
	background: var(--color-bg-elevated);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: var(--space-xl);
	align-items: start;
}
.credenza-portrait {
	width: 160px;
	height: 160px;
	border-radius: 50%;
	object-fit: cover;
	border: 3px solid var(--color-accent);
}
.credenza-name {
	font-size: 2rem;
	margin: 0 0 var(--space-xs);
}
.credenza-role {
	color: var(--color-accent);
	font-weight: 600;
	margin: 0 0 var(--space-md);
}
.credenza-bio {
	color: var(--color-text-muted);
	margin: 0 0 var(--space-md);
}
.credenza-expertise-h {
	font-size: 1rem;
	color: var(--color-text);
	margin: var(--space-md) 0 var(--space-sm);
}
.credenza-expertise {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.credenza-expertise li {
	background: var(--color-bg-card);
	border: 1px solid var(--color-border);
	color: var(--color-text-muted);
	padding: 6px 14px;
	border-radius: var(--radius-pill);
	font-size: 0.88rem;
}
.credenza-articles {
	margin-top: var(--space-2xl);
}
.credenza-articles-heading {
	font-size: 1.4rem;
	margin: 0 0 var(--space-md);
}
.credenza-articles-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--space-sm);
}
.credenza-articles-list li {
	background: var(--color-bg-card);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	transition: border-color var(--motion-base);
}
.credenza-articles-list li:hover { border-color: var(--color-accent); }
.credenza-articles-list a {
	display: block;
	padding: var(--space-md);
	color: var(--color-text);
}
.credenza-articles-list a:hover { color: var(--color-accent); }

/* ===== Legal — LEGAL-06 ===== */
.armoire { padding: var(--space-2xl) 0; }
.armoire-inner {
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	margin: 0 auto;
	padding: 0 var(--container-padding-desktop);
}
.armoire-section {
	padding: var(--space-lg) 0;
	border-bottom: 1px solid var(--color-border);
}
.armoire-section:last-child { border-bottom: none; }
.armoire-h {
	font-size: 1.6rem;
	margin: 0 0 var(--space-md);
	color: var(--color-accent);
}
.armoire-section p {
	color: var(--color-text-muted);
	margin: 0 0 var(--space-md);
}
.armoire-list {
	margin: var(--space-sm) 0 var(--space-md);
	padding: 0;
}
.armoire-list li {
	color: var(--color-text-muted);
	padding: 6px 0 6px 24px;
	position: relative;
}
.armoire-list li::before {
	content: '•';
	color: var(--color-accent);
	position: absolute;
	left: 6px;
}

/* ===== Contact form — FORM-04 ===== */
.barrow { padding: var(--space-2xl) 0; }
.barrow-inner {
	max-width: 720px;
	margin: 0 auto;
	padding: 0 var(--container-padding-desktop);
}
.barrow-intro {
	color: var(--color-text-muted);
	margin-bottom: var(--space-lg);
	font-size: 1.05rem;
}
.barrow-form {
	background: var(--color-bg-elevated);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-lg);
	padding: var(--space-xl);
	display: grid;
	gap: var(--space-md);
}
.barrow-label {
	display: block;
	font-weight: 600;
	margin-bottom: 6px;
	font-size: 0.95rem;
}
.barrow-input {
	width: 100%;
	background: var(--color-bg-card);
	border: 1px solid var(--color-border-strong);
	color: var(--color-text);
	padding: 12px 14px;
	font-size: 1rem;
	border-radius: var(--radius-sm);
	font-family: inherit;
}
.barrow-input:focus {
	outline: 2px solid var(--color-accent);
	outline-offset: 1px;
	border-color: var(--color-accent);
}
.barrow-textarea { resize: vertical; min-height: 140px; }
.barrow-submit {
	background: var(--color-accent);
	color: var(--color-bg);
	border: none;
	padding: 14px var(--space-xl);
	border-radius: var(--radius-pill);
	font-weight: 700;
	font-size: 1rem;
	justify-self: start;
	transition: background var(--motion-fast), color var(--motion-fast);
}
.barrow-submit:hover {
	background: var(--color-accent-pressed);
	color: var(--color-bg);
}
.barrow-success {
	color: var(--color-accent);
	font-weight: 600;
	padding: var(--space-md);
	background: rgba(1,206,249,0.08);
	border-radius: var(--radius-sm);
	margin: 0;
}

/* ===== 404 — ERR-04 ===== */
.gable {
	padding: var(--space-3xl) 0;
	text-align: center;
}
.gable-inner {
	max-width: 640px;
	margin: 0 auto;
	padding: 0 var(--container-padding-desktop);
}
.gable-code {
	font-size: 6rem;
	font-weight: 800;
	color: var(--color-accent);
	letter-spacing: -0.03em;
	line-height: 1;
	margin: 0 0 var(--space-md);
}
.gable-h1 {
	font-size: var(--fs-h2);
	margin-bottom: var(--space-md);
}
.gable-text {
	color: var(--color-text-muted);
	margin-bottom: var(--space-lg);
}
.gable-btn {
	display: inline-block;
	background: var(--color-accent);
	color: var(--color-bg);
	padding: 14px var(--space-xl);
	border-radius: var(--radius-pill);
	font-weight: 700;
}
.gable-btn:hover {
	background: var(--color-accent-pressed);
	color: var(--color-bg);
}

/* ===== Footer — FOOT-10 (4-region: brand, nav, legal, copy) ===== */
.cartouche {
	background: var(--color-primary);
	border-top: 1px solid var(--color-border);
	margin-top: var(--space-2xl);
}
.cartouche-inner {
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	margin: 0 auto;
	padding: var(--space-2xl) var(--container-padding-desktop);
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	gap: var(--space-xl);
}
.cartouche-brand {}
.cartouche-logo { display: inline-block; margin-bottom: var(--space-md); }
.cartouche-logo, .cartouche-logo img { flex-shrink: 0; }
.cartouche-logo-img {
	height: 72px;
	width: auto;
}
.cartouche-tagline {
	color: var(--color-text-muted);
	margin-bottom: var(--space-md);
	max-width: 360px;
}
.cartouche-rg {
	display: flex;
	align-items: center;
	gap: var(--space-sm);
	background: rgba(220,38,38,0.08);
	border: 1px solid rgba(220,38,38,0.35);
	padding: var(--space-sm) var(--space-md);
	border-radius: var(--radius-sm);
	max-width: 420px;
}
.cartouche-rg-badge {
	background: var(--color-rg-banner);
	color: var(--color-text);
	font-weight: 700;
	padding: 4px 10px;
	border-radius: var(--radius-sm);
	font-size: 0.8rem;
}
.cartouche-rg-text {
	color: var(--color-text-muted);
	font-size: 0.85rem;
	line-height: 1.4;
}
.cartouche-h {
	font-size: 0.9rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-accent);
	margin: 0 0 var(--space-md);
	font-weight: 600;
}
.cartouche-list li { margin-bottom: 8px; }
.cartouche-list a {
	color: var(--color-text-muted);
	font-size: 0.95rem;
}
.cartouche-list a:hover { color: var(--color-accent); }
.cartouche-bottom {
	border-top: 1px solid var(--color-border);
	padding: var(--space-md) var(--container-padding-desktop);
}
.cartouche-copyright {
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	margin: 0 auto;
	color: var(--color-text-muted);
	font-size: 0.85rem;
	text-align: center;
}

/* ===== Cookie banner — COOK-02 (bottom, full width, accept+decline) ===== */
.crochet {
	position: fixed;
	bottom: 0; left: 0; right: 0;
	background: var(--color-bg-elevated);
	border-top: 1px solid var(--color-border-strong);
	z-index: 100;
	box-shadow: 0 -10px 30px rgba(0,0,0,0.4);
}
.crochet[hidden] { display: none; }
.crochet-inner {
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	margin: 0 auto;
	padding: var(--space-md) var(--container-padding-desktop);
	display: flex;
	align-items: center;
	gap: var(--space-lg);
	flex-wrap: wrap;
}
.crochet-message {
	flex: 1;
	margin: 0;
	color: var(--color-text-muted);
	font-size: 0.95rem;
	min-width: 280px;
}
.crochet-actions {
	display: flex;
	gap: var(--space-sm);
}
.crochet-button {
	border: none;
	padding: 10px var(--space-lg);
	border-radius: var(--radius-pill);
	font-weight: 600;
	font-size: 0.9rem;
	transition: background var(--motion-fast), color var(--motion-fast);
}
.crochet-button--accept {
	background: var(--color-accent);
	color: var(--color-bg);
}
.crochet-button--accept:hover {
	background: var(--color-accent-pressed);
	color: var(--color-bg);
}
.crochet-button--decline {
	background: transparent;
	color: var(--color-text-muted);
	border: 1px solid var(--color-border-strong);
}
.crochet-button--decline:hover {
	color: var(--color-text);
	border-color: var(--color-text);
}

/* ===== Mobile / tablet adjustments ===== */
@media (max-width: 980px) {
	.pediment-grid { grid-template-columns: repeat(2, 1fr); }
	.court-grid { grid-template-columns: 1fr; }
	.cartouche-inner { grid-template-columns: 1fr 1fr; }
	.cartouche-brand { grid-column: 1 / -1; }
	.credenza-card { grid-template-columns: 1fr; text-align: left; }
	.credenza-portrait { width: 140px; height: 140px; }
	.credenza-articles-list { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
	:root {
		--space-2xl: 60px;
		--space-3xl: 80px;
		--container-padding-desktop: 18px;
	}
	.mantle { min-height: 480px; }
	.mantle-inner { padding: var(--space-xl) var(--container-padding-mobile); }
	.frame-inner, .pier-inner, .filigree-inner, .pediment-inner, .transom-inner, .court-inner, .harbor-inner, .vault-inner, .credenza-inner, .armoire-inner, .barrow-inner, .turret-inner, .antechamber-inner, .gable-inner, .crochet-inner, .cartouche-inner {
		padding-left: var(--container-padding-mobile);
		padding-right: var(--container-padding-mobile);
	}
	.pediment-grid { grid-template-columns: 1fr; }
	.cartouche-inner { grid-template-columns: 1fr; gap: var(--space-lg); }
	.cartouche-bottom { padding: var(--space-md) var(--container-padding-mobile); }
	.crochet, .crochet-inner {
		padding: 12px 14px !important;
		gap: 8px !important;
		font-size: 13px !important;
		line-height: 1.35 !important;
	}
	.crochet-button {
		padding: 8px 14px !important;
		font-size: 12px !important;
		min-height: 36px !important;
	}
	.harbor-inner { padding: var(--space-xl) var(--container-padding-mobile); }
	.vault-inner { flex-wrap: wrap; padding: var(--space-md) var(--container-padding-mobile); }
}
