/* ===== public/static/home/css/home-purepoint.css ===== */
/* PurePoint 太阳能站 — Hero + 产品条（正式站首页） */
body.pp-homepage {
	font-family: Inter, 'Segoe UI', system-ui, sans-serif;
	background: var(--pp-navy, #0c1424);
	color: #fff;
	-webkit-font-smoothing: antialiased;
}

body.pp-homepage .home-page {
	background: var(--pp-navy, #0c1424);
}

.pp-hero {
	position: relative;
	min-height: 100vh;
	min-height: 100dvh;
	display: flex;
	align-items: center;
	overflow: hidden;
}

.pp-hero__photo {
	position: absolute;
	inset: 0;
	background: center 55% / cover no-repeat;
}

.pp-hero__shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		95deg,
		rgba(8, 14, 28, 0.94) 0%,
		rgba(8, 14, 28, 0.78) 38%,
		rgba(8, 14, 28, 0.35) 62%,
		rgba(8, 14, 28, 0.15) 100%
	);
}

.pp-hero__shade::after {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(
		180deg,
		rgba(8, 14, 28, 0.35) 0%,
		transparent 28%,
		transparent 72%,
		rgba(8, 14, 28, 0.55) 100%
	);
}

.pp-hero__body {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 32px;
	width: 100%;
	padding-top: 100px;
	padding-bottom: 80px;
}

.pp-hero__copy {
	max-width: 560px;
}

.pp-hero__title {
	margin-bottom: 22px;
	font-size: clamp(2.25rem, 4.2vw, 3.5rem);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -0.03em;
	color: #fff;
}

.pp-hero__desc {
	margin-bottom: 36px;
	font-size: 1.0625rem;
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.78);
	max-width: 480px;
}

.pp-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.pp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 32px;
	font-family: inherit;
	font-size: 0.9375rem;
	font-weight: 600;
	text-decoration: none;
	border-radius: 8px;
	transition: transform 0.2s, box-shadow 0.2s, background 0.2s;
}

.pp-btn--gold {
	color: #1a1200;
	background: var(--pp-gold, #f0b429);
	border: none;
}

.pp-btn--gold:hover {
	background: var(--pp-gold-hover, #ffc940);
	box-shadow: 0 8px 28px rgba(240, 180, 41, 0.4);
	transform: translateY(-1px);
}

.pp-btn--outline {
	color: #fff;
	background: transparent;
	border: 1.5px solid rgba(255, 255, 255, 0.65);
}

.pp-btn--outline:hover {
	background: rgba(255, 255, 255, 0.08);
	border-color: #fff;
}

.pp-hero__visual {
	position: relative;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	min-height: 520px;
	padding-bottom: 20px;
}

.pp-hero__glow {
	position: absolute;
	bottom: 8%;
	left: 50%;
	transform: translateX(-50%);
	width: 280px;
	height: 120px;
	background: radial-gradient(ellipse, rgba(240, 180, 41, 0.35) 0%, transparent 70%);
	filter: blur(24px);
	pointer-events: none;
}

.pp-streetlight {
	position: relative;
	width: min(100%, 340px);
	height: auto;
	filter: drop-shadow(0 24px 48px rgba(0, 0, 0, 0.5));
}

.pp-hero-block {
	position: relative;
	background: var(--pp-navy, #0c1424);
}

.pp-products {
	position: relative;
	z-index: 10;
	margin-top: -88px;
	padding-bottom: 56px;
}

.pp-products__grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 14px;
}

.pp-pcard {
	display: flex;
	flex-direction: column;
	background: rgba(16, 26, 44, 0.88);
	backdrop-filter: blur(12px);
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 10px;
	overflow: hidden;
	transition: transform 0.28s ease, border-color 0.28s ease, box-shadow 0.28s ease;
}

.pp-pcard:hover {
	transform: translateY(-5px);
	border-color: rgba(240, 180, 41, 0.35);
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
}

.pp-pcard__img {
	position: relative;
	aspect-ratio: 4/3;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(160deg, #1a2840 0%, #0f1828 100%);
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.pp-pcard__img svg {
	width: 56%;
	height: auto;
	opacity: 0.85;
	color: #8a95a8;
}

.pp-pcard__body {
	flex: 1;
	display: flex;
	flex-direction: column;
	padding: 14px 14px 16px;
}

.pp-pcard__title {
	margin: 0 0 6px;
	font-size: 0.8125rem;
	font-weight: 600;
	line-height: 1.35;
	color: #fff;
}

.pp-pcard__spec {
	flex: 1;
	margin: 0 0 12px;
	font-size: 0.6875rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.52);
}

.pp-pcard__btn {
	align-self: flex-start;
	padding: 5px 12px;
	font-size: 0.6875rem;
	font-weight: 600;
	color: var(--pp-gold, #f0b429);
	text-decoration: none;
	border: 1px solid rgba(240, 180, 41, 0.45);
	border-radius: 4px;
	transition: background 0.2s ease;
}

.pp-pcard__btn:hover {
	background: rgba(240, 180, 41, 0.12);
}

.pp-pcard--chart .pp-pcard__img {
	flex-direction: column;
	gap: 8px;
	padding: 12px;
}

.pp-pcard__chart-label {
	font-size: 0.625rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.45);
}

.pp-chart {
	width: 100%;
	height: auto;
}

.pp-pcard__stat {
	font-size: 0.625rem;
	color: rgba(255, 255, 255, 0.45);
	text-align: center;
}

@media (max-width: 1024px) {
	.pp-hero__body {
		grid-template-columns: 1fr;
		text-align: center;
		padding-top: 120px;
	}
	.pp-hero__copy {
		max-width: none;
		margin-inline: auto;
	}
	.pp-hero__desc {
		margin-inline: auto;
	}
	.pp-hero__actions {
		justify-content: center;
	}
	.pp-hero__visual {
		min-height: 380px;
	}
	.pp-products__grid {
		grid-template-columns: repeat(3, 1fr);
	}
	.pp-products {
		margin-top: -48px;
	}
}

@media (max-width: 640px) {
	.pp-products__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 420px) {
	.pp-products__grid {
		grid-template-columns: 1fr;
	}
}


/* ===== public/static/home/home-shell.css ===== */
/* Legacy home layout tokens — aligns with E:\\purepoint static/shell.css */
.home-page {
	background-color: #fff;
	--site-brand-orange: #e05a00;
	--kh-shell-max: var(--container-max, 1450px);
	--site-container-width: var(--site-container-width, min(100%, var(--kh-shell-max)));
	--home-blue: #1d5198;
	--home-orange: var(--site-brand-orange);
	--home-muted: #5c6470;
	--home-bg: #f4f7fb;
	--home-accent: var(--site-brand-orange);
	--kh-shell-pad-x: max(16px, calc((100vw - var(--site-container-width)) / 2));
}

.home-page .container {
	width: var(--page-shell-width);
	max-width: var(--page-shell-max);
	min-width: 0;
	margin-inline: auto;
	padding-left: var(--page-shell-gutter);
	padding-right: var(--page-shell-gutter);
	box-sizing: border-box;
}

/* 普通链接触继承父级文字色；带 BEM / 按钮 class 的由各自 section CSS 定义 */
.home-page a:not([class*='__']):not(.home-btn):not(.btn-primary):not(.btn-ghost):not(.home-card):not(.home-media-card):not(.home-download-card):not(.mo) {
	color: inherit;
}

.home-page ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

/* Topology marquee — single row (override legacy dual-track) */
.home-page .zSolu-topo__marquee--single .zSolu-topo__track {
	animation: zsolu-topo-marquee-l 56s linear infinite;
}

.home-page .zSolu-topo__marquee--single:hover .zSolu-topo__track {
	animation-play-state: paused;
}

@media (prefers-reduced-motion: reduce) {
	.home-page .zSolu-topo__marquee--single .zSolu-topo__track {
		animation: none;
	}
}

