/*
 * Nahang Shell 0.4 — managed design tokens and conservative layout controls.
 * Loaded after the locked 0.3 layer so rollback remains a single-file action.
 */

:root {
	--managed-dark-bg: #05070b;
	--managed-dark-surface: #0d1420;
	--managed-dark-text: #f5f7fb;
	--managed-light-bg: #f5f7fb;
	--managed-light-surface: #ffffff;
	--managed-light-text: #08101d;
	--base-font-size: 16px;
	--base-line-height: 1.8;
	--section-space: 112px;
}

body {
	--ink: var(--managed-light-text);
	--paper: var(--managed-light-bg);
	background: var(--managed-light-bg);
	color: var(--managed-light-text);
	font-size: var(--base-font-size);
	line-height: var(--base-line-height);
}

.hero {
	background: radial-gradient(circle at 12% 16%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 28%), linear-gradient(180deg, var(--managed-light-surface), var(--managed-light-bg));
}

.surface-light,
.service-layer,
.request-card {
	background-color: var(--managed-light-surface);
}

.chapter {
	padding-block: clamp(72px, var(--section-space), 160px);
}

body[data-theme="dark"] {
	--ink: var(--managed-dark-text);
	--paper: var(--managed-dark-bg);
	background: var(--managed-dark-bg);
	color: var(--managed-dark-text);
}

body[data-theme="dark"] .hero {
	background: radial-gradient(circle at 12% 16%, color-mix(in srgb, var(--accent) 20%, transparent), transparent 28%), linear-gradient(180deg, var(--managed-dark-bg), var(--managed-dark-surface));
}

body[data-theme="dark"] .surface-light,
body[data-theme="dark"] .service-layer,
body[data-theme="dark"] .request-card,
body[data-theme="dark"] .knowledge-card {
	background-color: var(--managed-dark-surface);
}

.nahang-header-solid .site-header {
	border-bottom-color: color-mix(in srgb, currentColor 10%, transparent);
	background: var(--managed-light-surface);
}

.nahang-header-solid[data-theme="dark"] .site-header {
	background: var(--managed-dark-bg);
}

.nahang-header-minimal .site-header:not(.is-scrolled) {
	background: transparent;
	backdrop-filter: none;
}

.nahang-header-glass .site-header.is-scrolled {
	backdrop-filter: blur(20px) saturate(135%);
}

.nahang-footer-compact .site-footer {
	padding-top: 76px;
}

.site-footer {
	background: color-mix(in srgb, var(--managed-dark-bg) 82%, #000);
}

.nahang-footer-compact .footer-cta {
	padding-bottom: 58px;
}

.nahang-footer-compact .footer-cta h2 {
	font-size: clamp(38px, 5vw, 72px);
}

.nahang-footer-compact .footer-grid {
	padding-block: 48px;
}

.nahang-dock-disabled .deep-dock {
	display: none !important;
}

@media (max-width: 780px) {
	.chapter {
		padding-block: clamp(68px, var(--section-space), 104px);
	}

	.nahang-dock-docked .deep-dock {
		right: 0;
		bottom: 0;
		left: 0;
		height: calc(68px + env(safe-area-inset-bottom));
		padding: 8px 10px env(safe-area-inset-bottom);
		border-width: 1px 0 0;
		border-radius: 0;
	}

	.nahang-dock-disabled .site-footer {
		padding-bottom: 40px;
	}
}

@media (max-width: 480px) {
	:root {
		--base-font-size: max(15px, var(--base-font-size));
	}
}
