/**
 * Retatrutide Lab — 设计系统与全站样式
 * 干净简约科研风 · 低饱和蓝灰白 · 移动端优先
 */

/* ==========================================================================
   1. 设计令牌
   ========================================================================== */
:root {
	/* 主色 */
	--rl-navy: #0a3556;
	--rl-navy-600: #0e4468;
	--rl-navy-800: #072741;
	--rl-blue: #1a6ba8;
	--rl-blue-600: #155c92;
	--rl-blue-tint: #eff5fa;
	--rl-blue-tint-2: #dceaf5;

	/* 中性色 */
	--rl-ink: #16232e;
	--rl-ink-2: #3d4f5e;
	--rl-slate: #6b7c8c;
	--rl-slate-light: #97a5b2;
	--rl-line: #e2e8ee;
	--rl-line-soft: #eef2f6;
	--rl-bg: #ffffff;
	--rl-bg-alt: #f7fafc;

	/* 语义色（克制使用） */
	--rl-green: #2e7d5b;
	--rl-green-tint: #eef7f2;
	--rl-amber: #a86a1f;
	--rl-amber-tint: #fdf6ec;

	/* 字体 */
	--rl-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--rl-font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;

	/* 字号 */
	--rl-fs-xs: 0.8125rem;
	--rl-fs-sm: 0.875rem;
	--rl-fs-base: 1rem;
	--rl-fs-lg: 1.125rem;
	--rl-fs-h4: 1.125rem;
	--rl-fs-h3: 1.375rem;
	--rl-fs-h2: clamp(1.5rem, 1.15rem + 1.4vw, 2.125rem);
	--rl-fs-h1: clamp(1.875rem, 1.35rem + 2.2vw, 3rem);

	/* 间距 */
	--rl-s1: 8px;
	--rl-s2: 16px;
	--rl-s3: 24px;
	--rl-s4: 32px;
	--rl-s5: 48px;
	--rl-s6: 64px;
	--rl-s7: 96px;

	/* 布局 */
	--rl-container: 1200px;
	--rl-radius-sm: 3px;
	--rl-radius: 6px;
	--rl-radius-lg: 10px;

	/* 阴影（极轻） */
	--rl-shadow-xs: 0 1px 2px rgba(10, 53, 86, 0.05);
	--rl-shadow-sm: 0 2px 8px rgba(10, 53, 86, 0.06);
	--rl-shadow-md: 0 8px 28px rgba(10, 53, 86, 0.09);
	--rl-shadow-lg: 0 18px 48px rgba(10, 53, 86, 0.12);

	/* 动效 */
	--rl-ease: cubic-bezier(0.4, 0.2, 0.2, 1);
	--rl-t-fast: 0.16s var(--rl-ease);
	--rl-t: 0.26s var(--rl-ease);

	--rl-header-h: 68px;
}

/* ==========================================================================
   2. 基础重置
   ========================================================================== */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--rl-header-h) + 24px);
}

body {
	margin: 0;
	background: var(--rl-bg);
	color: var(--rl-ink);
	font-family: var(--rl-font);
	font-size: var(--rl-fs-base);
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6 {
	margin: 0 0 var(--rl-s2);
	color: var(--rl-navy);
	font-weight: 650;
	line-height: 1.25;
	letter-spacing: -0.015em;
}

h1 { font-size: var(--rl-fs-h1); }
h2 { font-size: var(--rl-fs-h2); }
h3 { font-size: var(--rl-fs-h3); }
h4 { font-size: var(--rl-fs-h4); }

p { margin: 0 0 var(--rl-s2); }

a {
	color: var(--rl-blue-600);
	text-decoration: none;
	transition: color var(--rl-t-fast);
}

a:hover { color: var(--rl-navy); }

ul, ol { margin: 0 0 var(--rl-s2); padding-left: 1.25em; }
li { margin-bottom: 0.35em; }

img { max-width: 100%; height: auto; display: block; }

hr {
	border: 0;
	border-top: 1px solid var(--rl-line);
	margin: var(--rl-s4) 0;
}

code, pre { font-family: var(--rl-font-mono); font-size: 0.9em; }

:focus-visible {
	outline: 2px solid var(--rl-blue);
	outline-offset: 2px;
	border-radius: var(--rl-radius-sm);
}

/* ==========================================================================
   3. 布局工具
   ========================================================================== */
.rl-container {
	width: 100%;
	max-width: var(--rl-container);
	margin-inline: auto;
	padding-inline: 20px;
}

.rl-container--narrow { max-width: 860px; }
.rl-container--wide { max-width: 1340px; }

.rl-section { padding-block: var(--rl-s6); }
.rl-section--tight { padding-block: var(--rl-s5); }
.rl-section--alt { background: var(--rl-bg-alt); }
.rl-section--tint { background: var(--rl-blue-tint); }
.rl-section--navy {
	background: var(--rl-navy);
	color: #dce7f0;
}
.rl-section--navy h2,
.rl-section--navy h3 { color: #fff; }

.rl-grid { display: grid; gap: var(--rl-s3); }
.rl-grid--2 { grid-template-columns: 1fr; }
.rl-grid--3 { grid-template-columns: 1fr; }
.rl-grid--4 { grid-template-columns: 1fr; }

.rl-stack > * + * { margin-top: var(--rl-s3); }

.rl-section__head {
	max-width: 720px;
	margin-bottom: var(--rl-s4);
}

.rl-section__head--center {
	margin-inline: auto;
	text-align: center;
}

.rl-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: var(--rl-s2);
	color: var(--rl-blue);
	font-size: var(--rl-fs-xs);
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.rl-eyebrow::before {
	content: "";
	width: 22px;
	height: 1px;
	background: currentColor;
	opacity: 0.6;
}

.rl-lead {
	color: var(--rl-ink-2);
	font-size: var(--rl-fs-lg);
	line-height: 1.65;
}

.rl-muted { color: var(--rl-slate); }
.rl-text-center { text-align: center; }
.rl-mt-0 { margin-top: 0; }
.rl-mb-0 { margin-bottom: 0; }

.rl-skip {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 999;
	padding: 10px 16px;
	background: var(--rl-navy);
	color: #fff;
}
.rl-skip:focus { left: 8px; top: 8px; color: #fff; }

/* 屏幕阅读器专用文本（不再依赖 WordPress 默认样式表） */
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.screen-reader-text:focus {
	left: 8px;
	top: 8px;
	z-index: 100000;
	width: auto;
	height: auto;
	clip: auto;
	padding: 12px 18px;
	background: var(--rl-navy);
	color: #fff;
	font-size: var(--rl-fs-sm);
	border-radius: var(--rl-radius-sm);
}

/* 分页 */
.rl-pagination {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px;
}

.rl-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	border: 1px solid var(--rl-line);
	border-radius: var(--rl-radius);
	color: var(--rl-ink-2);
	font-size: var(--rl-fs-sm);
	font-weight: 550;
}

.rl-pagination .page-numbers:hover { border-color: var(--rl-blue-tint-2); color: var(--rl-navy); }

.rl-pagination .page-numbers.current {
	background: var(--rl-navy);
	border-color: var(--rl-navy);
	color: #fff;
}

.rl-pagination li { margin: 0; }

/* 小工具 */
.rl-widget {
	margin-bottom: var(--rl-s4);
	padding: var(--rl-s3);
	background: #fff;
	border: 1px solid var(--rl-line);
	border-radius: var(--rl-radius-lg);
}

.rl-widget__title {
	margin-bottom: var(--rl-s2);
	font-size: var(--rl-fs-h4);
}

.rl-widget ul { margin: 0; padding: 0; list-style: none; }
.rl-widget li { margin-bottom: 9px; font-size: var(--rl-fs-sm); }
.rl-widget li:last-child { margin-bottom: 0; }

/* ==========================================================================
   4. 按钮
   ========================================================================== */
.rl-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 13px 26px;
	border: 1px solid transparent;
	border-radius: var(--rl-radius);
	background: var(--rl-navy);
	color: #fff;
	font-family: inherit;
	font-size: var(--rl-fs-sm);
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 1.2;
	text-align: center;
	cursor: pointer;
	transition: background var(--rl-t-fast), border-color var(--rl-t-fast), color var(--rl-t-fast), transform var(--rl-t-fast);
}

.rl-btn:hover {
	background: var(--rl-navy-600);
	color: #fff;
	transform: translateY(-1px);
}

.rl-btn:active { transform: translateY(0); }

.rl-btn--primary { background: var(--rl-blue); }
.rl-btn--primary:hover { background: var(--rl-blue-600); }

.rl-btn--outline {
	background: transparent;
	border-color: var(--rl-line);
	color: var(--rl-navy);
}
.rl-btn--outline:hover {
	background: var(--rl-blue-tint);
	border-color: var(--rl-blue-tint-2);
	color: var(--rl-navy);
}

.rl-btn--ghost {
	background: transparent;
	color: var(--rl-blue-600);
	padding-inline: 0;
}
.rl-btn--ghost:hover { background: transparent; color: var(--rl-navy); }

.rl-btn--light {
	background: #fff;
	color: var(--rl-navy);
}
.rl-btn--light:hover { background: #eef4f9; color: var(--rl-navy); }

.rl-btn--sm { padding: 9px 18px; font-size: var(--rl-fs-xs); }
.rl-btn--lg { padding: 16px 34px; font-size: var(--rl-fs-base); }
.rl-btn--block { width: 100%; }

/* ==========================================================================
   5. 顶部免责声明条
   ========================================================================== */
.rl-disclaimer-bar {
	background: var(--rl-navy-800);
	color: #c8d8e6;
	font-size: var(--rl-fs-xs);
	line-height: 1.5;
	text-align: center;
	letter-spacing: 0.01em;
}

.rl-disclaimer-bar .rl-container {
	padding-block: 9px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.rl-disclaimer-bar strong {
	color: #fff;
	font-weight: 600;
}

.rl-disclaimer-bar__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 15px;
	height: 15px;
	border: 1px solid currentColor;
	border-radius: 50%;
	font-size: 10px;
	line-height: 1;
}

/* ==========================================================================
   6. 页头与导航
   ========================================================================== */
.rl-header {
	position: sticky;
	top: 0;
	z-index: 60;
	background: rgba(255, 255, 255, 0.94);
	backdrop-filter: saturate(180%) blur(10px);
	border-bottom: 1px solid var(--rl-line);
	transition: box-shadow var(--rl-t);
}

.rl-header.is-stuck { box-shadow: var(--rl-shadow-sm); }

.rl-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--rl-s3);
	min-height: var(--rl-header-h);
}

.rl-brand { display: flex; align-items: center; }

.rl-brand a {
	display: flex;
	align-items: center;
	gap: 11px;
	color: var(--rl-navy);
}

.rl-brand__mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	flex: 0 0 auto;
	border-radius: var(--rl-radius-sm);
	background: var(--rl-navy);
	color: #fff;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.04em;
}

.rl-brand__text { display: flex; flex-direction: column; line-height: 1.15; }
.rl-brand__text strong { font-size: 1rem; font-weight: 650; letter-spacing: -0.01em; }
.rl-brand__text small {
	color: var(--rl-slate);
	font-size: 0.6875rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.rl-nav { flex: 1 1 auto; display: flex; justify-content: flex-end; }

.rl-menu {
	display: flex;
	align-items: center;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.rl-menu li { margin: 0; position: relative; }

.rl-menu a {
	display: block;
	padding: 9px 13px;
	border-radius: var(--rl-radius-sm);
	color: var(--rl-ink-2);
	font-size: var(--rl-fs-sm);
	font-weight: 500;
	white-space: nowrap;
	transition: background var(--rl-t-fast), color var(--rl-t-fast);
}

.rl-menu a:hover { background: var(--rl-blue-tint); color: var(--rl-navy); }

.rl-menu .current-menu-item > a,
.rl-menu .current_page_item > a,
.rl-menu .current-menu-parent > a {
	color: var(--rl-navy);
	font-weight: 600;
	background: var(--rl-blue-tint);
}

/* 二级菜单 */
.rl-menu .sub-menu {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	min-width: 230px;
	margin: 0;
	padding: 8px;
	list-style: none;
	background: #fff;
	border: 1px solid var(--rl-line);
	border-radius: var(--rl-radius);
	box-shadow: var(--rl-shadow-md);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-4px);
	transition: opacity var(--rl-t-fast), transform var(--rl-t-fast), visibility var(--rl-t-fast);
}

.rl-menu li:hover > .sub-menu,
.rl-menu li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.rl-menu .sub-menu a { padding: 8px 12px; }

.rl-header__actions {
	display: flex;
	align-items: center;
	gap: 10px;
	flex: 0 0 auto;
}

/* 汉堡按钮 */
.rl-burger {
	display: none;
	flex-direction: column;
	justify-content: center;
	gap: 4px;
	width: 40px;
	height: 40px;
	padding: 0 9px;
	border: 1px solid var(--rl-line);
	border-radius: var(--rl-radius-sm);
	background: #fff;
	cursor: pointer;
}

.rl-burger span {
	display: block;
	height: 1.5px;
	width: 100%;
	background: var(--rl-navy);
	transition: transform var(--rl-t-fast), opacity var(--rl-t-fast);
}

.rl-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(5.5px) rotate(45deg); }
.rl-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.rl-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-5.5px) rotate(-45deg); }

/* 语言切换 */
.rl-lang {
	position: relative;
}

.rl-lang__toggle {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 11px;
	border: 1px solid var(--rl-line);
	border-radius: var(--rl-radius-sm);
	background: #fff;
	color: var(--rl-ink-2);
	font-family: inherit;
	font-size: var(--rl-fs-xs);
	font-weight: 600;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	cursor: pointer;
	transition: border-color var(--rl-t-fast), color var(--rl-t-fast);
}

.rl-lang__toggle:hover { border-color: var(--rl-blue-tint-2); color: var(--rl-navy); }

.rl-lang__caret {
	width: 0;
	height: 0;
	border-left: 3.5px solid transparent;
	border-right: 3.5px solid transparent;
	border-top: 4px solid currentColor;
	opacity: 0.65;
}

.rl-lang__list {
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	min-width: 172px;
	margin: 0;
	padding: 6px;
	list-style: none;
	background: #fff;
	border: 1px solid var(--rl-line);
	border-radius: var(--rl-radius);
	box-shadow: var(--rl-shadow-md);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-4px);
	transition: opacity var(--rl-t-fast), transform var(--rl-t-fast), visibility var(--rl-t-fast);
	z-index: 70;
}

.rl-lang.is-open .rl-lang__list {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.rl-lang__list li { margin: 0; }

.rl-lang__list a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 8px 11px;
	border-radius: var(--rl-radius-sm);
	color: var(--rl-ink-2);
	font-size: var(--rl-fs-sm);
}

.rl-lang__list a:hover { background: var(--rl-blue-tint); color: var(--rl-navy); }
.rl-lang__list .is-current { background: var(--rl-blue-tint); color: var(--rl-navy); font-weight: 600; }

.rl-lang__code {
	color: var(--rl-slate-light);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

/* ==========================================================================
   7. 卡片与内容组件
   ========================================================================== */
.rl-card {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: var(--rl-s3);
	background: #fff;
	border: 1px solid var(--rl-line);
	border-radius: var(--rl-radius-lg);
	transition: border-color var(--rl-t), box-shadow var(--rl-t), transform var(--rl-t);
}

.rl-card:hover {
	border-color: var(--rl-blue-tint-2);
	box-shadow: var(--rl-shadow-sm);
	transform: translateY(-2px);
}

.rl-card__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	margin-bottom: var(--rl-s2);
	border-radius: var(--rl-radius);
	background: var(--rl-blue-tint);
	color: var(--rl-blue);
}

.rl-card__icon svg { width: 21px; height: 21px; }

.rl-card h3 { font-size: var(--rl-fs-h4); margin-bottom: 8px; }
.rl-card p { margin-bottom: 0; color: var(--rl-ink-2); font-size: var(--rl-fs-sm); line-height: 1.65; }
.rl-card p + p { margin-top: 8px; }

.rl-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 10px;
	border-radius: 100px;
	background: var(--rl-blue-tint);
	color: var(--rl-blue-600);
	font-size: var(--rl-fs-xs);
	font-weight: 600;
	letter-spacing: 0.02em;
}

.rl-badge--green { background: var(--rl-green-tint); color: var(--rl-green); }
.rl-badge--amber { background: var(--rl-amber-tint); color: var(--rl-amber); }
.rl-badge--line { background: transparent; border: 1px solid var(--rl-line); color: var(--rl-ink-2); }

/* ==========================================================================
   8. 首页 Hero
   ========================================================================== */
.rl-hero {
	position: relative;
	padding-block: var(--rl-s6) var(--rl-s5);
	background:
		linear-gradient(180deg, var(--rl-bg-alt) 0%, #fff 100%);
	border-bottom: 1px solid var(--rl-line-soft);
	overflow: hidden;
}

.rl-hero__grid {
	display: grid;
	gap: var(--rl-s5);
	align-items: center;
}

.rl-hero__title { margin-bottom: var(--rl-s3); }

.rl-hero__title .rl-hero__accent {
	color: var(--rl-blue);
}

.rl-hero__text { max-width: 560px; }

.rl-hero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: var(--rl-s3);
}

.rl-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: var(--rl-s4);
}

.rl-hero__visual {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
}

.rl-hero__frame {
	position: relative;
	width: 100%;
	max-width: 460px;
	padding: var(--rl-s3);
	background: #fff;
	border: 1px solid var(--rl-line);
	border-radius: var(--rl-radius-lg);
	box-shadow: var(--rl-shadow-md);
}

.rl-hero__frame img { border-radius: var(--rl-radius); width: 100%; }

.rl-hero__frame::after {
	content: "";
	position: absolute;
	inset: 14px -14px -14px 14px;
	z-index: -1;
	border: 1px solid var(--rl-blue-tint-2);
	border-radius: var(--rl-radius-lg);
}

.rl-hero__note {
	margin-top: var(--rl-s3);
	padding: 12px 15px;
	border-left: 3px solid var(--rl-blue);
	background: var(--rl-blue-tint);
	border-radius: 0 var(--rl-radius) var(--rl-radius) 0;
	color: var(--rl-ink-2);
	font-size: var(--rl-fs-xs);
	line-height: 1.6;
}

/* ==========================================================================
   9. 数据条 / 信任徽章
   ========================================================================== */
.rl-stats {
	display: grid;
	gap: 1px;
	background: var(--rl-line);
	border: 1px solid var(--rl-line);
	border-radius: var(--rl-radius-lg);
	overflow: hidden;
}

.rl-stat {
	padding: var(--rl-s3) var(--rl-s2);
	background: #fff;
	text-align: center;
}

.rl-stat__value {
	display: block;
	color: var(--rl-navy);
	font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.02em;
}

.rl-stat__label {
	display: block;
	margin-top: 6px;
	color: var(--rl-slate);
	font-size: var(--rl-fs-xs);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

/* ==========================================================================
   10. 产品卡片
   ========================================================================== */
.rl-products { display: grid; gap: var(--rl-s3); }

.rl-product-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--rl-line);
	border-radius: var(--rl-radius-lg);
	overflow: hidden;
	transition: border-color var(--rl-t), box-shadow var(--rl-t), transform var(--rl-t);
}

.rl-product-card:hover {
	border-color: var(--rl-blue-tint-2);
	box-shadow: var(--rl-shadow-md);
	transform: translateY(-3px);
}

.rl-product-card__media {
	position: relative;
	aspect-ratio: 4 / 3;
	background: var(--rl-bg-alt);
	overflow: hidden;
}

.rl-product-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--rl-t);
}

.rl-product-card:hover .rl-product-card__media img { transform: scale(1.03); }

.rl-product-card__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	color: var(--rl-slate-light);
	font-size: var(--rl-fs-sm);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.rl-product-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding: var(--rl-s3);
}

.rl-product-card__title { font-size: var(--rl-fs-h4); margin-bottom: 6px; }
.rl-product-card__title a { color: var(--rl-navy); }

.rl-product-card__desc {
	margin-bottom: var(--rl-s2);
	color: var(--rl-ink-2);
	font-size: var(--rl-fs-sm);
	line-height: 1.6;
}

.rl-product-card__specs {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: var(--rl-s3);
}

.rl-product-card__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto;
	padding-top: var(--rl-s2);
	border-top: 1px solid var(--rl-line-soft);
}

/* ==========================================================================
   11. 产品详情页
   ========================================================================== */
.rl-product-hero { padding-block: var(--rl-s4) var(--rl-s5); }

.rl-product-hero__grid { display: grid; gap: var(--rl-s5); }

.rl-product-gallery {
	position: relative;
	padding: var(--rl-s3);
	background: #fff;
	border: 1px solid var(--rl-line);
	border-radius: var(--rl-radius-lg);
}

.rl-product-gallery img { width: 100%; border-radius: var(--rl-radius); }

.rl-product-summary h1 { margin-bottom: var(--rl-s2); }

.rl-spec-list {
	margin: 0 0 var(--rl-s3);
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--rl-line);
}

.rl-spec-list li {
	display: flex;
	justify-content: space-between;
	gap: var(--rl-s3);
	margin: 0;
	padding: 11px 0;
	border-bottom: 1px solid var(--rl-line-soft);
	font-size: var(--rl-fs-sm);
}

.rl-spec-list__key {
	flex: 0 0 auto;
	color: var(--rl-slate);
}

.rl-spec-list__val {
	color: var(--rl-ink);
	font-weight: 550;
	text-align: right;
}

/* 规格选择 */
.rl-variants { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: var(--rl-s3); }

.rl-variant {
	padding: 9px 16px;
	border: 1px solid var(--rl-line);
	border-radius: var(--rl-radius);
	background: #fff;
	color: var(--rl-ink-2);
	font-size: var(--rl-fs-sm);
	font-weight: 550;
}

.rl-variant.is-active {
	border-color: var(--rl-blue);
	background: var(--rl-blue-tint);
	color: var(--rl-navy);
}

/* COA 表格 */
.rl-table-wrap { overflow-x: auto; }

.rl-table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--rl-fs-sm);
}

.rl-table th,
.rl-table td {
	padding: 13px 16px;
	text-align: left;
	border-bottom: 1px solid var(--rl-line);
	vertical-align: middle;
}

.rl-table th {
	background: var(--rl-bg-alt);
	color: var(--rl-navy);
	font-size: var(--rl-fs-xs);
	font-weight: 650;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	white-space: nowrap;
}

.rl-table tbody tr:hover { background: var(--rl-bg-alt); }

.rl-table__actions { display: flex; gap: 8px; white-space: nowrap; }

.rl-table__mono {
	font-family: var(--rl-font-mono);
	font-size: 0.8125rem;
	color: var(--rl-ink);
}

/* PDF 预览弹层 */
.rl-modal {
	position: fixed;
	inset: 0;
	z-index: 200;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgba(7, 39, 65, 0.72);
}

.rl-modal.is-open { display: flex; }

.rl-modal__dialog {
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: 980px;
	height: 100%;
	max-height: 90vh;
	background: #fff;
	border-radius: var(--rl-radius-lg);
	overflow: hidden;
	box-shadow: var(--rl-shadow-lg);
}

.rl-modal__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--rl-s2);
	padding: 14px 20px;
	border-bottom: 1px solid var(--rl-line);
}

.rl-modal__title { margin: 0; font-size: var(--rl-fs-base); }

.rl-modal__body { flex: 1 1 auto; background: var(--rl-bg-alt); }

.rl-modal__body iframe { width: 100%; height: 100%; border: 0; }

.rl-modal__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: 1px solid var(--rl-line);
	border-radius: var(--rl-radius-sm);
	background: #fff;
	color: var(--rl-ink-2);
	font-size: 1.1rem;
	line-height: 1;
	cursor: pointer;
}

.rl-modal__close:hover { background: var(--rl-bg-alt); color: var(--rl-navy); }

/* ==========================================================================
   12. 表格 / 清单 / FAQ
   ========================================================================== */
.rl-checklist {
	margin: 0;
	padding: 0;
	list-style: none;
}

.rl-checklist li {
	position: relative;
	margin: 0 0 10px;
	padding-left: 26px;
	color: var(--rl-ink-2);
	font-size: var(--rl-fs-sm);
	line-height: 1.6;
}

.rl-checklist li::before {
	content: "";
	position: absolute;
	left: 3px;
	top: 8px;
	width: 10px;
	height: 5px;
	border-left: 1.6px solid var(--rl-blue);
	border-bottom: 1.6px solid var(--rl-blue);
	transform: rotate(-45deg);
}

.rl-checklist li:last-child { margin-bottom: 0; }

/* FAQ 手风琴 */
.rl-faq {
	border: 1px solid var(--rl-line);
	border-radius: var(--rl-radius-lg);
	background: #fff;
	overflow: hidden;
}

.rl-faq__item + .rl-faq__item { border-top: 1px solid var(--rl-line); }

.rl-faq__q {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: var(--rl-s2);
	width: 100%;
	margin: 0;
	padding: 18px 22px;
	border: 0;
	background: transparent;
	color: var(--rl-navy);
	font-family: inherit;
	font-size: var(--rl-fs-base);
	font-weight: 600;
	line-height: 1.5;
	text-align: left;
	cursor: pointer;
	transition: background var(--rl-t-fast);
}

.rl-faq__q:hover { background: var(--rl-bg-alt); }

.rl-faq__sign {
	position: relative;
	flex: 0 0 auto;
	width: 15px;
	height: 15px;
	margin-top: 5px;
	color: var(--rl-blue);
}

.rl-faq__sign::before,
.rl-faq__sign::after {
	content: "";
	position: absolute;
	background: currentColor;
	transition: transform var(--rl-t), opacity var(--rl-t);
}

.rl-faq__sign::before { top: 7px; left: 0; width: 15px; height: 1.6px; }
.rl-faq__sign::after { left: 7px; top: 0; width: 1.6px; height: 15px; }

.rl-faq__item.is-open .rl-faq__sign::after { transform: rotate(90deg); opacity: 0; }

.rl-faq__a {
	overflow: hidden;
	height: 0;
	transition: height var(--rl-t);
}

.rl-faq__a-inner {
	padding: 0 22px 20px;
	color: var(--rl-ink-2);
	font-size: var(--rl-fs-sm);
	line-height: 1.7;
}

.rl-faq__a-inner > *:last-child { margin-bottom: 0; }

/* ==========================================================================
   13. 文献引用 / 知识库
   ========================================================================== */
.rl-literature { margin: 0; padding: 0; list-style: none; counter-reset: lit; }

.rl-literature li {
	position: relative;
	margin: 0 0 var(--rl-s2);
	padding: 0 0 0 40px;
	color: var(--rl-ink-2);
	font-size: var(--rl-fs-sm);
	line-height: 1.65;
	counter-increment: lit;
}

.rl-literature li::before {
	content: counter(lit, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: 1px;
	color: var(--rl-blue);
	font-size: var(--rl-fs-xs);
	font-weight: 700;
	letter-spacing: 0.04em;
}

.rl-literature cite { color: var(--rl-slate); font-style: normal; }

.rl-post-card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--rl-line);
	border-radius: var(--rl-radius-lg);
	overflow: hidden;
	transition: border-color var(--rl-t), box-shadow var(--rl-t), transform var(--rl-t);
}

.rl-post-card:hover {
	border-color: var(--rl-blue-tint-2);
	box-shadow: var(--rl-shadow-sm);
	transform: translateY(-2px);
}

.rl-post-card__media { aspect-ratio: 16 / 9; background: var(--rl-bg-alt); overflow: hidden; }
.rl-post-card__media img { width: 100%; height: 100%; object-fit: cover; }

.rl-post-card__body { display: flex; flex-direction: column; flex: 1 1 auto; padding: var(--rl-s3); }

.rl-post-card__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
	color: var(--rl-slate);
	font-size: var(--rl-fs-xs);
}

.rl-post-card__title { font-size: var(--rl-fs-h4); margin-bottom: 8px; line-height: 1.4; }
.rl-post-card__title a { color: var(--rl-navy); }
.rl-post-card__excerpt { color: var(--rl-ink-2); font-size: var(--rl-fs-sm); line-height: 1.65; }

/* ==========================================================================
   14. 询盘表单
   ========================================================================== */
.rl-inquiry {
	padding: var(--rl-s4);
	background: #fff;
	border: 1px solid var(--rl-line);
	border-radius: var(--rl-radius-lg);
	box-shadow: var(--rl-shadow-xs);
}

.rl-inquiry--tint { background: var(--rl-bg-alt); box-shadow: none; }

.rl-inquiry__head { margin-bottom: var(--rl-s3); }

.rl-form-grid { display: grid; gap: var(--rl-s2); }

.rl-field { display: flex; flex-direction: column; gap: 6px; }

.rl-field > label {
	color: var(--rl-navy);
	font-size: var(--rl-fs-sm);
	font-weight: 600;
}

.rl-field .rl-req { color: var(--rl-amber); }

.rl-field input[type="text"],
.rl-field input[type="email"],
.rl-field input[type="tel"],
.rl-field input[type="number"],
.rl-field select,
.rl-field textarea {
	width: 100%;
	padding: 11px 14px;
	border: 1px solid var(--rl-line);
	border-radius: var(--rl-radius);
	background: #fff;
	color: var(--rl-ink);
	font-family: inherit;
	font-size: var(--rl-fs-sm);
	line-height: 1.5;
	transition: border-color var(--rl-t-fast), box-shadow var(--rl-t-fast);
}

.rl-field input:focus,
.rl-field select:focus,
.rl-field textarea:focus {
	outline: none;
	border-color: var(--rl-blue);
	box-shadow: 0 0 0 3px rgba(26, 107, 168, 0.12);
}

.rl-field textarea { min-height: 118px; resize: vertical; }

.rl-field__hint { color: var(--rl-slate); font-size: var(--rl-fs-xs); }

/* 采购类型单选 */
.rl-radio-group { display: flex; flex-wrap: wrap; gap: 10px; }

.rl-radio {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 18px;
	border: 1px solid var(--rl-line);
	border-radius: var(--rl-radius);
	background: #fff;
	color: var(--rl-ink-2);
	font-size: var(--rl-fs-sm);
	font-weight: 550;
	cursor: pointer;
	transition: border-color var(--rl-t-fast), background var(--rl-t-fast), color var(--rl-t-fast);
}

.rl-radio:hover { border-color: var(--rl-blue-tint-2); }

.rl-radio input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.rl-radio__dot {
	position: relative;
	flex: 0 0 auto;
	width: 15px;
	height: 15px;
	border: 1.5px solid var(--rl-slate-light);
	border-radius: 50%;
	transition: border-color var(--rl-t-fast);
}

.rl-radio__dot::after {
	content: "";
	position: absolute;
	inset: 3px;
	border-radius: 50%;
	background: var(--rl-blue);
	transform: scale(0);
	transition: transform var(--rl-t-fast);
}

.rl-radio:has(input:checked) {
	border-color: var(--rl-blue);
	background: var(--rl-blue-tint);
	color: var(--rl-navy);
}

.rl-radio:has(input:checked) .rl-radio__dot { border-color: var(--rl-blue); }
.rl-radio:has(input:checked) .rl-radio__dot::after { transform: scale(1); }

/* 蜜罐字段：对用户不可见，机器人会填 */
.rl-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* 表单反馈 */
.rl-form-msg {
	display: none;
	margin-bottom: var(--rl-s2);
	padding: 12px 16px;
	border-radius: var(--rl-radius);
	font-size: var(--rl-fs-sm);
	line-height: 1.6;
}

.rl-form-msg.is-visible { display: block; }
.rl-form-msg--ok { background: var(--rl-green-tint); color: var(--rl-green); }
.rl-form-msg--err { background: #fdf0ef; color: #b4453a; }

.rl-form__consent {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	color: var(--rl-slate);
	font-size: var(--rl-fs-xs);
	line-height: 1.6;
}

.rl-form__consent input { flex: 0 0 auto; margin-top: 3px; }

.rl-form__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; }

.rl-form__note { color: var(--rl-slate); font-size: var(--rl-fs-xs); }

/* ==========================================================================
   15. 悬浮入口（询盘 + WhatsApp）
   ========================================================================== */
.rl-float {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 90;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 12px;
}

.rl-float__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	height: 52px;
	padding: 0 20px;
	border: 0;
	border-radius: 100px;
	background: var(--rl-navy);
	color: #fff;
	font-family: inherit;
	font-size: var(--rl-fs-sm);
	font-weight: 600;
	cursor: pointer;
	box-shadow: var(--rl-shadow-md);
	transition: transform var(--rl-t-fast), background var(--rl-t-fast);
}

.rl-float__btn:hover { background: var(--rl-navy-600); color: #fff; transform: translateY(-2px); }

.rl-float__btn svg { width: 20px; height: 20px; flex: 0 0 auto; }

.rl-float__btn--wa {
	width: 52px;
	padding: 0;
	background: #25d366;
}
.rl-float__btn--wa:hover { background: #1fb457; }

.rl-float__label { white-space: nowrap; }

/* ==========================================================================
   16. Cookie 同意
   ========================================================================== */
.rl-cookie {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 150;
	display: none;
	padding: var(--rl-s3) 0;
	background: #fff;
	border-top: 1px solid var(--rl-line);
	box-shadow: 0 -6px 28px rgba(10, 53, 86, 0.1);
}

.rl-cookie.is-open { display: block; }

.rl-cookie__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--rl-s2);
}

.rl-cookie__text {
	max-width: 680px;
	margin: 0;
	color: var(--rl-ink-2);
	font-size: var(--rl-fs-sm);
	line-height: 1.6;
}

.rl-cookie__actions { display: flex; flex-wrap: wrap; gap: 10px; }

/* ==========================================================================
   17. 页面头部 / 面包屑
   ========================================================================== */
.rl-page-head {
	padding-block: var(--rl-s5) var(--rl-s4);
	background: var(--rl-bg-alt);
	border-bottom: 1px solid var(--rl-line-soft);
}

.rl-page-head h1 { margin-bottom: var(--rl-s2); }

.rl-breadcrumb {
	margin-bottom: var(--rl-s2);
	color: var(--rl-slate);
	font-size: var(--rl-fs-xs);
	line-height: 1.6;
}

.rl-breadcrumb a { color: var(--rl-slate); }
.rl-breadcrumb a:hover { color: var(--rl-blue); }
.rl-breadcrumb__sep { margin-inline: 7px; opacity: 0.55; }

/* ==========================================================================
   18. 文章正文排版
   ========================================================================== */
.rl-content { color: var(--rl-ink-2); font-size: var(--rl-fs-base); line-height: 1.75; }
.rl-content > * + * { margin-top: var(--rl-s3); }

.rl-content h2 {
	margin-top: var(--rl-s5);
	padding-bottom: 10px;
	border-bottom: 1px solid var(--rl-line-soft);
	font-size: clamp(1.375rem, 1.2rem + 0.8vw, 1.75rem);
}

.rl-content h3 { margin-top: var(--rl-s4); font-size: var(--rl-fs-h3); }
.rl-content h4 { margin-top: var(--rl-s3); }

.rl-content ul,
.rl-content ol { padding-left: 1.35em; }
.rl-content li { margin-bottom: 0.5em; }

.rl-content blockquote {
	margin: var(--rl-s4) 0;
	padding: 18px 22px;
	border-left: 3px solid var(--rl-blue);
	background: var(--rl-blue-tint);
	border-radius: 0 var(--rl-radius) var(--rl-radius) 0;
	color: var(--rl-ink);
	font-size: var(--rl-fs-base);
}

.rl-content blockquote > *:last-child { margin-bottom: 0; }

.rl-content table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--rl-fs-sm);
}

.rl-content table th,
.rl-content table td {
	padding: 11px 14px;
	border: 1px solid var(--rl-line);
	text-align: left;
}

.rl-content table th { background: var(--rl-bg-alt); color: var(--rl-navy); }

.rl-content img { border-radius: var(--rl-radius); }

.rl-content figure { margin: var(--rl-s4) 0; }
.rl-content figcaption {
	margin-top: 8px;
	color: var(--rl-slate);
	font-size: var(--rl-fs-xs);
	text-align: center;
}

/* 文章内免责声明 */
.rl-post-disclaimer {
	margin-top: var(--rl-s5);
	padding: 16px 20px;
	border: 1px solid var(--rl-line);
	border-radius: var(--rl-radius);
	background: var(--rl-bg-alt);
	color: var(--rl-slate);
	font-size: var(--rl-fs-xs);
	line-height: 1.7;
}

/* ==========================================================================
   19. 页脚
   ========================================================================== */
.rl-footer {
	padding-top: var(--rl-s6);
	background: var(--rl-navy);
	color: #b9cbd9;
	font-size: var(--rl-fs-sm);
}

.rl-footer a { color: #b9cbd9; }
.rl-footer a:hover { color: #fff; }

.rl-footer__grid {
	display: grid;
	gap: var(--rl-s4);
	padding-bottom: var(--rl-s5);
}

.rl-footer__brand .rl-brand a { color: #fff; }
.rl-footer__brand .rl-brand__mark { background: rgba(255, 255, 255, 0.12); }
.rl-footer__brand .rl-brand__text small { color: #8fa5b6; }

.rl-footer__about {
	max-width: 340px;
	margin-top: var(--rl-s2);
	color: #9fb4c4;
	font-size: var(--rl-fs-sm);
	line-height: 1.7;
}

.rl-footer__title {
	margin-bottom: var(--rl-s2);
	color: #fff;
	font-size: var(--rl-fs-xs);
	font-weight: 650;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.rl-footer__list { margin: 0; padding: 0; list-style: none; }
.rl-footer__list li { margin-bottom: 9px; }
.rl-footer__list a { font-size: var(--rl-fs-sm); }

.rl-footer__contact li {
	display: flex;
	gap: 9px;
	margin-bottom: 11px;
	color: #9fb4c4;
	font-size: var(--rl-fs-sm);
	line-height: 1.6;
}

.rl-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--rl-s2);
	padding-block: var(--rl-s3);
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	color: #8fa5b6;
	font-size: var(--rl-fs-xs);
}

.rl-footer__legal { display: flex; flex-wrap: wrap; gap: 16px; }
.rl-footer__legal a { font-size: var(--rl-fs-xs); }

/* 页脚免责声明 */
.rl-footer__disclaimer {
	padding: var(--rl-s3) 0;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	color: #8fa5b6;
	font-size: var(--rl-fs-xs);
	line-height: 1.7;
}

.rl-footer__disclaimer strong { color: #fff; font-weight: 600; }
.rl-footer__disclaimer p { margin-bottom: 8px; }
.rl-footer__disclaimer p:last-child { margin-bottom: 0; }

/* ==========================================================================
   20. 滚动淡入（轻量，尊重系统偏好）
   ========================================================================== */
.rl-reveal {
	opacity: 0;
	transform: translateY(14px);
	transition: opacity 0.5s var(--rl-ease), transform 0.5s var(--rl-ease);
	will-change: opacity, transform;
}

.rl-reveal.is-in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after {
		animation-duration: 0.001ms !important;
		transition-duration: 0.001ms !important;
	}
	.rl-reveal { opacity: 1; transform: none; }
}

/* ==========================================================================
   21. 营销落地页
   ========================================================================== */
/* 落地页保留主导航，仅调整页头对齐方式 */
.rl-landing .rl-header__inner { justify-content: space-between; }

.rl-landing-hero {
	padding-block: var(--rl-s5) var(--rl-s4);
	background: linear-gradient(180deg, var(--rl-bg-alt) 0%, #fff 100%);
	border-bottom: 1px solid var(--rl-line-soft);
}

.rl-landing-hero__grid {
	display: grid;
	gap: var(--rl-s5);
	align-items: start;
}

.rl-landing-hero h1 { margin-bottom: var(--rl-s3); }

.rl-landing-hero__media {
	margin-bottom: var(--rl-s3);
	padding: var(--rl-s3);
	background: #fff;
	border: 1px solid var(--rl-line);
	border-radius: var(--rl-radius-lg);
	box-shadow: var(--rl-shadow-sm);
}

.rl-landing-hero__media img { width: 100%; border-radius: var(--rl-radius); }

.rl-landing-specs { margin-bottom: 0; }

.rl-landing-cta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--rl-s3);
	margin-bottom: var(--rl-s3);
	padding: var(--rl-s3);
	background: #fff;
	border: 1px solid var(--rl-line);
	border-radius: var(--rl-radius-lg);
}

.rl-landing .rl-float { bottom: 20px; }

@media (min-width: 900px) {
	.rl-landing-hero { padding-block: var(--rl-s6) var(--rl-s5); }
	.rl-landing-hero__grid { grid-template-columns: 1.1fr 0.9fr; gap: var(--rl-s6); }
}

/* ==========================================================================
   22. WhatsApp 联系入口
   ========================================================================== */
.rl-wa-cta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--rl-s4);
	padding: var(--rl-s4);
	background: #fff;
	border: 1px solid var(--rl-line);
	border-radius: var(--rl-radius-lg);
	box-shadow: var(--rl-shadow-xs);
}

.rl-wa-cta__title {
	margin-bottom: 8px;
	font-size: 1.375rem;
}

.rl-wa-cta__text {
	max-width: 640px;
	margin: 0;
	color: var(--rl-ink-2);
	font-size: var(--rl-fs-sm);
	line-height: 1.65;
}

.rl-wa-cta__action {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	flex: 0 0 auto;
}

/* 深色区块内的 WhatsApp 入口 */
.rl-section--navy .rl-wa-cta {
	background: rgba(255, 255, 255, 0.08);
	border-color: rgba(255, 255, 255, 0.16);
	box-shadow: none;
}

.rl-section--navy .rl-wa-cta__title { color: #fff; }
.rl-section--navy .rl-wa-cta__text { color: #c3d5e3; }

/* 内联 WhatsApp 按钮（用于 CTA 并排场景） */
.rl-btn--whatsapp {
	background: #25d366;
	color: #fff;
}

.rl-btn--whatsapp:hover {
	background: #1fb457;
	color: #fff;
}

@media (max-width: 700px) {
	.rl-wa-cta {
		flex-direction: column;
		align-items: stretch;
		text-align: center;
	}

	.rl-wa-cta__action { align-items: stretch; }
	.rl-wa-cta__text { max-width: none; }
}

/* ==========================================================================
   23. 404 与空状态
   ========================================================================== */
.rl-404 { padding-block: var(--rl-s7); text-align: center; }
.rl-404__code {
	color: var(--rl-blue-tint-2);
	font-size: clamp(4rem, 3rem + 6vw, 7rem);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.04em;
}

/* ==========================================================================
   22. 响应式
   ========================================================================== */
@media (min-width: 640px) {
	.rl-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rl-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rl-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rl-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rl-products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rl-form-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rl-form-grid__full { grid-column: 1 / -1; }
}

@media (min-width: 900px) {
	:root { --rl-header-h: 76px; }
	.rl-section { padding-block: var(--rl-s7); }
	.rl-hero { padding-block: var(--rl-s7) var(--rl-s6); }
	.rl-hero__grid { grid-template-columns: 1.05fr 0.95fr; gap: var(--rl-s6); }
	.rl-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.rl-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.rl-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.rl-products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.rl-product-hero__grid { grid-template-columns: 0.95fr 1.05fr; gap: var(--rl-s6); }
	.rl-footer__grid { grid-template-columns: 1.5fr 1fr 1fr 1.2fr; }
	.rl-sidebar-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: var(--rl-s5); }
}

@media (max-width: 899px) {
	.rl-burger { display: flex; }

	.rl-nav {
		position: fixed;
		top: 0;
		right: 0;
		z-index: 80;
		width: min(320px, 86vw);
		height: 100vh;
		height: 100dvh;
		padding: 84px 20px 32px;
		background: #fff;
		border-left: 1px solid var(--rl-line);
		box-shadow: var(--rl-shadow-lg);
		transform: translateX(102%);
		transition: transform var(--rl-t);
		overflow-y: auto;
		justify-content: flex-start;
	}

	.rl-nav.is-open { transform: translateX(0); }

	.rl-menu {
		flex-direction: column;
		align-items: stretch;
		gap: 2px;
		width: 100%;
	}

	.rl-menu a {
		padding: 13px 12px;
		border-radius: var(--rl-radius);
		font-size: var(--rl-fs-base);
		white-space: normal;
	}

	.rl-menu .sub-menu {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		box-shadow: none;
		border: 0;
		border-left: 2px solid var(--rl-line);
		border-radius: 0;
		margin: 2px 0 6px 12px;
		padding: 0;
		background: transparent;
	}

	.rl-nav-backdrop {
		position: fixed;
		inset: 0;
		z-index: 70;
		display: none;
		background: rgba(7, 39, 65, 0.4);
	}

	.rl-nav-backdrop.is-open { display: block; }

	body.rl-nav-locked { overflow: hidden; }

	.rl-header__actions .rl-btn { display: none; }

	.rl-hero__frame::after { display: none; }

	.rl-float { right: 14px; bottom: 14px; }
	.rl-float__label { display: none; }
	.rl-float__btn { width: 52px; padding: 0; }
	.rl-float__btn--wa { width: 52px; }

	.rl-cookie__inner { flex-direction: column; align-items: stretch; }
	.rl-cookie__actions .rl-btn { flex: 1 1 auto; }
}

@media (max-width: 560px) {
	.rl-container { padding-inline: 16px; }
	.rl-inquiry { padding: var(--rl-s3); }
	.rl-disclaimer-bar .rl-container { padding-block: 8px; font-size: 0.75rem; }
	.rl-brand__text small { display: none; }
}

/* ==========================================================================
   23. 打印
   ========================================================================== */
@media print {
	.rl-header, .rl-footer, .rl-float, .rl-cookie, .rl-disclaimer-bar { display: none !important; }
	body { color: #000; }
}
