.security-matrix__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.security-list{padding-left:18px;margin:0}
.security-list li{margin:6px 0}
.security-topology__grid{
	display:grid;
	grid-template-columns:1.1fr 1fr;
	gap:24px;
	align-items:center;
}
.security-topology__note{
	background:#fff;
	border:1px solid var(--border);
	border-radius:12px;
	padding:16px;
	box-shadow:var(--shadow);
}
.security-topology__media img{
	width:100%;
	display:block;
	border-radius:12px;
	border:1px solid var(--border);
	box-shadow:var(--shadow);
	margin-top:8px;
}
.security-demos__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.security-demo{
	position:relative;
	aspect-ratio:4/3;
	border-radius:16px;
	overflow:hidden;
	box-shadow:var(--shadow);
	border:1px solid var(--border);
	background:#fff;
}
.security-demo img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
	transition:transform .45s ease, filter .45s ease;
}
.security-demo::after{
	content:"";
	position:absolute;inset:0;
	background:radial-gradient(120% 120% at 80% 0%, rgba(20,110,245,.15), transparent 60%);
	pointer-events:none;
}
.security-demo:hover img{transform:scale(1.06);filter:contrast(1.02) saturate(1.05)}
.security-demo.is-original{aspect-ratio:auto}
.security-demo.is-original img{height:auto}
@media (max-width:960px){
	.security-matrix__grid{grid-template-columns:1fr}
	.security-topology__grid{grid-template-columns:1fr}
	.security-demos__grid{grid-template-columns:1fr}
}
.lighting-overview__grid{
	display:grid;grid-template-columns:1.6fr 1fr;gap:28px;align-items:start
}
.lighting-overview__media img{border-radius:16px;border:1px solid rgba(13,23,54,.08);box-shadow:var(--shadow)}
.lighting-overview__media figcaption{color:var(--muted);font-size:12px;margin-top:8px}
.lighting-bullets{margin:12px 0 0;padding-left:18px}
.lighting-bullets li{margin:6px 0}
.pill{display:inline-block;padding:.2em .6em;border-radius:999px;background:#eef3ff;color:#0b1220}

.lighting-modules h2{margin-top:6px}
.lighting-modules__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.lighting-card{background:#fff;border:1px solid var(--border);border-radius:18px;padding:18px;box-shadow:var(--shadow)}
.lighting-card h3{margin:0 0 8px}
.lighting-card ul{padding-left:18px;margin:0}
.lighting-card li{margin:6px 0}

.lighting-scenarios__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.lighting-scenario{background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px;box-shadow:var(--shadow);text-align:center}
.lighting-scenario span{font-weight:600}

.lighting-specs .spec-table{margin:18px 0 24px}
.spec-scroll{overflow:auto;border:1px solid var(--border);border-radius:12px}
.spec-scroll table{min-width:560px;width:100%;border-collapse:collapse;background:#fff}
.spec-scroll th,.spec-scroll td{padding:10px 12px;border-bottom:1px solid var(--border);text-align:left}
.spec-scroll thead th{background:#f7f9fc;font-weight:600}
.lighting-specs .note{color:var(--muted)}

.lighting-cta__box{background:linear-gradient(180deg,#0f1f52,#0a153a);color:#f5f8ff;border-radius:20px;padding:24px;box-shadow:0 20px 48px rgba(5,10,30,.45);text-align:center}
.lighting-cta__box .button{margin-top:8px}

@media (max-width:960px){
	.lighting-overview__grid{grid-template-columns:1fr}
	.lighting-modules__grid{grid-template-columns:1fr}
	.lighting-scenarios__grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:768px){
	.lighting-scenarios__grid{grid-template-columns:1fr}
}
/* 5G micro base station */
.fiveg-adv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.fiveg-deploy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.fiveg-diagram{margin:12px 0 0}
.fiveg-diagram img{width:100%;border:1px solid var(--border);border-radius:12px}
@media (max-width:960px){
	.fiveg-adv-grid{grid-template-columns:repeat(2,1fr)}
	.fiveg-deploy-grid{grid-template-columns:1fr}
}
/* Base Theme: bright, minimal, tech feel */
:root{
	--bg:#ffffff;
	--text:#0b1220;
	--muted:#5b6b87;
	--border:#e6eaf2;
	--primary:#146ef5;
	--primary-600:#0f56c2;
	--surface:#f7f9fc;
	--shadow:0 6px 24px rgba(16,24,40,.08);
}
*{box-sizing:border-box}
html,body{height:100%}
body{
	margin:0;
	font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Microsoft YaHei",sans-serif;
	color:var(--text);
	background:var(--bg);
	line-height:1.6;
}
a{color:var(--text);text-decoration:none}
img{max-width:100%;display:block}

/* Layout */
.container{width:min(1200px,92%);margin:0 auto}
.site-header{
	position:sticky;top:0;z-index:1000;background:#fff;
	border-bottom:1px solid var(--border);
	backdrop-filter:saturate(140%) blur(6px);
}
.nav-container{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.brand{display:flex;align-items:center;gap:10px;font-weight:700}
.logo{height:52px;width:auto;transition:transform .3s ease}
.brand:hover .logo{transform:translateY(-2px)}
.brand-name{white-space:nowrap}
.site-nav ul{display:flex;align-items:center;gap:20px;margin:0;padding:0;list-style:none}
.site-nav a{padding:10px 12px;border-radius:10px;color:var(--muted)}
.site-nav a:hover{color:var(--text);background:var(--surface)}
.site-nav a.active{color:var(--primary);font-weight:600}
.site-nav a.cta{background:var(--primary);color:#fff}
.site-nav a.cta:hover{background:var(--primary-600);color:#fff}

/* Mobile nav */
.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:8px}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--text);margin:5px 0;border-radius:2px;transition:.2s}
@media (max-width:960px){
	.site-nav{position:absolute;inset:64px 0 auto 0;background:#fff;border-bottom:1px solid var(--border);display:none}
	.site-nav.open{display:block}
	.site-nav ul{flex-direction:column;gap:0}
	.site-nav li{width:100%}
	.site-nav a{display:block;padding:14px 20px;border-radius:0}
	.nav-toggle{display:block}
	.brand-name{font-size:14px}
}

/* Hero (home only) */
.home .hero{
	min-height:74vh;
	position:relative;
	display:flex;align-items:center;
	background:
		linear-gradient(180deg,rgba(10,14,30,.66),rgba(10,14,30,.35)),
		url("../img/hero.jpg") center/cover no-repeat,
		linear-gradient(135deg,#eef3ff,#f7f9ff);
	color:#fff;
}
.hero-overlay{position:absolute;inset:0;background:radial-gradient(60% 60% at 50% 40%,rgba(20,110,245,.25),transparent)}
.hero-content{position:relative;text-align:center;padding:80px 0}
.slogan{font-size:42px;line-height:1.2;margin:0 0 10px}
.subtitle{margin:0 0 24px;color:#e9efff}
.hero-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* Buttons */
.button{display:inline-block;padding:12px 18px;border-radius:12px;border:1px solid var(--border);transition:.2s}
.button.primary{background:var(--primary);border-color:transparent;color:#fff}
.button.primary:hover{background:var(--primary-600)}
.button.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.button.ghost:hover{background:rgba(255,255,255,.08)}

/* Sections */
.page h1{margin:24px 0}
.lead{color:var(--muted);font-size:18px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.scroll-snap{scroll-snap-type:x mandatory;overflow-x:auto;padding-bottom:8px}
.scroll-snap .card{scroll-snap-align:center;min-width:clamp(240px,45vw,360px)}
.scroll-snap::-webkit-scrollbar{height:6px}
.scroll-snap::-webkit-scrollbar-thumb{background:rgba(16,24,40,.2);border-radius:999px}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
@media (max-width:1200px){.grid-4{grid-template-columns:repeat(3,1fr)}}
@media (max-width:960px){
	.grid-3{grid-template-columns:1fr}
	.grid-2{grid-template-columns:1fr}
	.grid-4{grid-template-columns:1fr}
	.scroll-snap{grid-auto-flow:column}
}
.card{
	background:#fff;border:1px solid var(--border);border-radius:16px;padding:18px;
	box-shadow:var(--shadow)
}
.card-link{display:block;height:100%;color:inherit}
.card-link:hover{color:inherit}
.product h3{margin-top:0}
.checklist{padding-left:18px}
.full-bleed{
	width:100vw;
	margin-left:calc(50% - 50vw);
	margin-right:calc(50% - 50vw);
}
.about-wrapper{overflow:hidden}
.hero-panel{
	position:relative;
	min-height:520px;
	display:flex;
	align-items:flex-end;
	color:#fff;
}
.hero-panel img{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	filter:brightness(.6);
}
.panel-inner{
	position:relative;
	padding:96px 0 110px;
	text-align:center;
}
.eyebrow{
	letter-spacing:.28em;
	font-size:12px;
	text-transform:uppercase;
	color:rgba(255,255,255,.8);
}
.hero-panel h1{font-size:46px;margin:8px auto 0;letter-spacing:.05em}

.about-section{
	padding:72px 0;
}
.about-section.muted{
	background:linear-gradient(180deg,#f6f8fc,#e9eef8);
}
.section-header{max-width:720px;margin-bottom:32px}
.section-header h2{margin:6px 0 0;font-size:32px}
.intro-columns{
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:28px;
}
.intro-block{
	background:#fff;
	border-radius:24px;
	padding:32px;
	box-shadow:var(--shadow);
	border:1px solid rgba(13,23,54,.06);
}
.intro-block p{color:var(--muted);margin-top:0}
.intro-block.outline{
	background:linear-gradient(180deg,#091740,#0d1a3f 60%,#101932);
	color:#f6f8ff;
	border:1px solid rgba(75,121,255,.4);
	box-shadow:0 20px 50px rgba(5,10,30,.55);
}
.intro-block.outline p{color:rgba(255,255,255,.8)}
.pill-list{
	list-style:none;
	padding:0;
	margin:24px 0 0;
	display:flex;
	flex-wrap:wrap;
	gap:12px;
}
.pill-list li{
	padding:10px 16px;
	background:#f0f4ff;
	border-radius:999px;
	font-size:14px;
	color:#1a2b5c;
}
.intro-block.outline h3{margin-top:0}
.intro-block.outline .pill-list li{
	background:rgba(255,255,255,.18);
	color:#f5f8ff;
}
.culture-cards{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:20px;
}
.culture-cards article{
	background:#fff;
	border-radius:20px;
	padding:22px;
	box-shadow:var(--shadow);
	min-height:160px;
}
.culture-cards h3{margin-top:0}
.philosophy-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:24px;
}
.philosophy-card{
	background:#f7f9ff;
	border-radius:20px;
	padding:24px;
	border:1px solid rgba(20,110,245,.12);
	min-height:160px;
}
.reveal{opacity:0;transform:translateY(28px);transition:opacity .6s ease,transform .6s ease}
.reveal.in-view{opacity:1;transform:translateY(0)}
@media (max-width:960px){
	.hero-panel h1{font-size:32px}
	.intro-columns{grid-template-columns:1fr}
	.culture-cards{grid-template-columns:repeat(2,1fr)}
	.philosophy-grid{grid-template-columns:1fr}
}
@media (max-width:768px){
	.full-bleed{border-radius:0}
	.culture-cards{grid-template-columns:1fr}
}

/* Cases Grid */
.cases-grid{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:28px;
	margin-top:32px;
}
.case-card{
	background:#fff;
	border:1px solid var(--border);
	border-radius:20px;
	overflow:hidden;
	box-shadow:var(--shadow);
	transition:transform .3s ease, box-shadow .3s ease;
}
.case-card:hover{
	transform:translateY(-4px);
	box-shadow:0 12px 32px rgba(16,24,40,.12);
}
.case-header{
	padding:20px 24px;
	border-bottom:1px solid var(--border);
	background:linear-gradient(180deg,#f7f9fc,#fff);
}
.case-header h3{
	margin:0;
	font-size:20px;
	color:var(--text);
	font-weight:600;
	text-align:center;
}
.case-images{
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:0;
}
.case-image{
	margin:0;
	aspect-ratio:4/3;
	overflow:hidden;
	background:#f7f9fc;
	position:relative;
}
.case-image:first-child{
	border-right:1px solid var(--border);
}
.case-image img{
	width:100%;
	height:100%;
	object-fit:cover;
	transition:transform .45s ease;
}
.case-card:hover .case-image img{
	transform:scale(1.06);
}
@media (max-width:960px){
	.cases-grid{grid-template-columns:1fr}
	.case-images{grid-template-columns:1fr}
	.case-image:first-child{border-right:none;border-bottom:1px solid var(--border)}
}

/* Footer */
.site-footer{border-top:1px solid var(--border);background:#fff;margin-top:40px}
.footer-content{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;flex-wrap:wrap}
.site-footer nav a{color:var(--muted);margin-right:12px}
.site-footer nav a:hover{color:var(--text)}

/* Forms */
.contact-form label{display:block;margin-bottom:12px}
.contact-form input,.contact-form textarea{
	width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:#fff;
}
.contact-form button{margin-top:6px}

/* Contact Info */
.contact-info p{
	margin:16px 0;
	font-size:16px;
	line-height:1.8;
}
.contact-info strong{
	color:var(--text);
	font-weight:600;
	margin-right:8px;
}
.contact-info a{
	color:var(--primary);
	text-decoration:none;
	transition:color .2s ease, text-decoration .2s ease;
}
.contact-info a:hover{
	color:var(--primary-dark);
	text-decoration:underline;
}

/* FAQ */
.faq{
	display:flex;
	flex-direction:column;
	gap:16px;
	margin-top:32px;
}
.faq details.card{
	border:1px solid var(--border);
	border-radius:16px;
	background:#fff;
	box-shadow:var(--shadow);
	overflow:hidden;
	transition:box-shadow .3s ease, transform .3s ease;
}
.faq details.card:hover{
	box-shadow:0 8px 24px rgba(16,24,40,.1);
	transform:translateY(-2px);
}
.faq details.card[open]{
	box-shadow:0 8px 24px rgba(16,24,40,.12);
}
.faq summary{
	padding:20px 24px;
	font-size:18px;
	font-weight:600;
	color:var(--text);
	cursor:pointer;
	list-style:none;
	position:relative;
	user-select:none;
	transition:color .2s ease;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::marker{display:none}
.faq summary::after{
	content:"+";
	position:absolute;
	right:24px;
	top:50%;
	transform:translateY(-50%);
	font-size:24px;
	color:var(--primary);
	font-weight:300;
	transition:transform .3s ease, color .2s ease;
}
.faq details[open] summary::after{
	content:"−";
	transform:translateY(-50%) rotate(0deg);
}
.faq summary:hover{
	color:var(--primary);
}
.faq-answer{
	padding:0 24px 24px;
	color:var(--muted);
	line-height:1.8;
}
.faq-answer p{
	margin:0 0 12px;
}
.faq-answer p:last-child{
	margin-bottom:0;
}
.faq-answer ul{
	margin:12px 0;
	padding-left:24px;
}
.faq-answer li{
	margin:8px 0;
	line-height:1.7;
}
.faq-answer strong{
	color:var(--text);
	font-weight:600;
}
@media (max-width:640px){
	.faq summary{
		padding:16px 20px;
		font-size:16px;
	}
	.faq summary::after{
		right:20px;
		font-size:20px;
	}
	.faq-answer{
		padding:0 20px 20px;
	}
}

/* WeChat QR Code */
.wechat-qrcode{
	text-align:center;
	padding:48px 0;
}
.wechat-qrcode__content{
	max-width:480px;
	margin:0 auto;
}
.wechat-qrcode h2{
	margin:0 0 12px;
	font-size:28px;
	color:var(--text);
}
.wechat-qrcode p{
	color:var(--muted);
	font-size:16px;
	margin:0 0 32px;
	line-height:1.6;
}
.wechat-qrcode__image{
	margin:0 auto;
	display:inline-block;
	background:#fff;
	padding:20px;
	border-radius:16px;
	box-shadow:0 8px 24px rgba(16,24,40,.12);
	border:1px solid var(--border);
}
.wechat-qrcode__image img{
	width:200px;
	height:200px;
	display:block;
	object-fit:contain;
}
.wechat-qrcode__image figcaption{
	margin-top:12px;
	color:var(--muted);
	font-size:14px;
}

.contact-qrcode{
	margin-top:32px;
	padding-top:32px;
	border-top:1px solid var(--border);
	text-align:center;
}
.contact-qrcode h3{
	margin:0 0 16px;
	font-size:18px;
	color:var(--text);
}
.contact-qrcode__image{
	margin:0 auto;
	display:inline-block;
	background:#fff;
	padding:16px;
	border-radius:12px;
	box-shadow:0 4px 12px rgba(16,24,40,.08);
	border:1px solid var(--border);
}
.contact-qrcode__image img{
	width:160px;
	height:160px;
	display:block;
	object-fit:contain;
}
.contact-qrcode__image figcaption{
	margin-top:10px;
	color:var(--muted);
	font-size:13px;
}

@media (max-width:768px){
	.wechat-qrcode{
		padding:36px 0;
	}
	.wechat-qrcode h2{
		font-size:24px;
	}
	.wechat-qrcode__image img{
		width:180px;
		height:180px;
	}
	.contact-qrcode__image img{
		width:140px;
		height:140px;
	}
}


