body { font-family: 'Open Sans', 'Helvetica Neue', Arial, sans-serif; background:#ffffff; color:#333; overflow-x:hidden; }
/* Hide mobile toggle on desktop by default; enabled only on small screens */
.nav-toggle { display: none !important }
/* mobile submenu +/- button (hidden on desktop) */
.mobile-sub-toggle{ display:none; border:0; background:transparent; font-size:18px; line-height:1; padding:0 8px; color:#333 }
.container{ max-width:1280px; margin:28px auto; padding:24px; background:#fff; border-radius:6px; box-shadow:none; }
/* Fixed header to avoid vertical shifting between pages */
header{background:#ffffff;border-bottom:1px solid #eee;position:fixed;top:0;left:0;right:0;z-index:100;height:64px}
header .container{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;height:64px;box-sizing:border-box}
header .nav{list-style:none;margin:0;padding:0;display:flex;align-items:center}
header .nav li{position:relative;margin:0 6px}
header .nav a{color:#333;text-decoration:none;padding:8px 10px;display:block;font-weight:600}
header .nav a:hover{color:#d9534f}
/* Keep the toggle+link row aligned both desktop and mobile */
.mobile-nav-row { display:flex; align-items:center; }
/* Prevent layout shifts when navigating: keep nav links fixed height and
	vertically centered; avoid borders on focus that change layout. */
header .nav a{display:inline-flex;align-items:center;height:64px;padding:0 12px;line-height:1;-webkit-font-smoothing:antialiased}
header .nav a:focus, header .nav a:active{outline:none}

/* Dropdown menu */
header .dropdown{display:none;position:absolute;top:100%;left:0;min-width:180px;background:#fff;border:1px solid #eee;box-shadow:0 6px 18px rgba(0,0,0,.08);padding:6px 0;margin:0;list-style:none;z-index:200}
/* Ensure dropdown list items have no markers or extra spacing (override vendor defaults) */
header .has-dropdown .dropdown,
header .has-dropdown .dropdown li {
	list-style: none;
	margin: 0;
	padding: 0;
}
header .has-dropdown .dropdown li::marker,
header .has-dropdown .dropdown li::before {
	content: none !important;
}
header .dropdown li{margin:0}
header .dropdown a{display:flex;align-items:center;justify-content:flex-start;padding:0 12px;color:#333;border-top:0;border-bottom:1px solid #eee;background-color:#fff;font-size:1.05rem;line-height:1.3;min-height:44px;height:44px}
header .dropdown li:last-child a { border-bottom: none; }
header .dropdown a:hover{background:tan;color:#fff}

/* Show dropdown on hover (desktop) or when .open class is present (touch) */
header .has-dropdown:hover > .dropdown,
header .has-dropdown.open > .dropdown{display:block}
/* Ensure desktop nav remains visible even if vendor CSS overrides it.
   Mobile behavior remains controlled by the existing media queries. */
@media (min-width: 769px) {
	header .nav { display: flex !important; flex-direction: row !important; position: static !important; width: auto !important; background: transparent !important; box-shadow: none !important; z-index: 200 !important; }
	/* hide mobile-only controls on desktop */
	.nav-toggle { display: none !important; }
	.mobile-sub-toggle { display: none !important; }
}

/* Extra-high-specificity desktop overrides to ensure the nav is visible
   even if other styles (including vendor bundles) try to hide or position it. */
@media (min-width: 769px) {
	header, header .container, header nav { position: relative; z-index: 1200; }
	header nav { display: block !important; }
	header .nav { display: flex !important; flex-direction: row !important; position: relative !important; width: auto !important; background: transparent !important; box-shadow: none !important; z-index: 1220 !important; }
	/* Desktop menu font matches legacy site: Microsoft YaHei 14px */
	header .nav a,
	header .has-dropdown .dropdown a {
		color: #222 !important;
		font-family: "Microsoft Yahei", "Helvetica Neue", Arial, sans-serif !important;
		font-size: 14px !important;
		font-weight: 400 !important;
		line-height: 1.2 !important;
	}
	/* Remove debug outline/border around nav for production */
	header .nav { outline: none !important; border: none !important; box-shadow: none !important; }
	 /* Align nav item height with logo: reduce to 36px for tighter alignment
		 and tighten horizontal spacing so items don't wrap. */
	header nav { flex: 1 1 auto !important; }
	/* Reduce gap/padding so items fit on a single line */
	header .nav { gap: 12px !important; justify-content: center !important; white-space: nowrap !important; flex-wrap: nowrap !important; }
	/* Lower height by a small amount (approx. 1.5 characters visually) and tighten padding */
	header .nav a { display: inline-flex !important; align-items: center !important; height: 32px !important; padding: 0 6px !important; font-size: 0.95rem !important; }
	/* Ensure dropdown links fill their container so hover background covers full width */
	header .has-dropdown .dropdown a { display: flex !important; align-items: center !important; justify-content: flex-start !important; width: 100% !important; padding: 0 12px !important; line-height: 1.3 !important; min-height: 44px !important; height: 44px !important; }
	/* Tighter spacing between dropdown items */
	header .has-dropdown .dropdown li + li { margin-top: 0px !important; }
	header .has-dropdown .dropdown a:hover { background: tan !important; color: #fff !important; }
	/* Reduce horizontal container padding to give the nav more room */
	header .container { display: flex !important; align-items: center !important; padding: 8px 16px !important; }
}
/* Footer: dark background, centered links and compact layout */
/* Use the same deep black as the footer image/overlay so the background matches */
h1 a{color:#222;text-decoration:none}

/* Compact footer header spacing */
footer{font-size:13.5px;color:#dcdcdc;margin-top:12px;text-align:center;background:#1a1a1a}
h1 a{color:#222;text-decoration:none}

/* Typography tweaks */
h1,h2,h3,h4,h5,h6 { font-family: 'Montserrat', 'Open Sans', Arial, sans-serif; color:#2c3e50 }
h2 { margin-top:0; font-size:1.6rem }
p { line-height:1.6 }

/* Footer flows with page content (no fixed positioning) */
/* ensure footer container uses the same deep black as the image */
footer { position: static; background: #1a1a1a; border-top: none; padding: 12px 0 8px; margin-top: 12px; z-index: auto; }

/* Make the parallax/footer overlay fully match the deep black background */
.parallax.parallax--footer { background-color: #1a1a1a !important; }
.overlay.overlay--dark { background-color: #1a1a1a !important; opacity: 1 !important; }
footer .container { max-width: 1280px; margin: 0 auto; padding: 0 24px; background: transparent; }

/* Footer inline menu */
.ul--inline.ul--footer { list-style: none; margin: 8px 0 6px; padding: 0; display: flex; justify-content: center; gap: 20px; }
.ul--inline.ul--footer li { margin: 0; padding: 0; }
.ul--inline.ul--footer a { color: #d7d7d7; text-decoration: none; font-weight: 500; opacity: .95; font-size:0.95rem; padding:2px 0; }
.ul--inline.ul--footer a:hover { color: #fff; opacity: 1 }

/* Footer copyright block styling */
.copyright { background: #111; color:#bdbdbd; padding:4px 0 6px; font-size:0.92rem; }
.copyright .container { background: transparent; }
/* Split copyright into stacked centered lines */
.copyright .copyright-lines { text-align: center; }
.copyright .copyright-line { display: block; margin: 0; color: #bdbdbd; font-size: 0.88rem; line-height: 1; padding: 0; }
.copyright .copyright-line a { color: inherit; text-decoration: none; }
.copyright .copyright-line img { vertical-align: middle; max-height: 16px; margin-right: 6px; display:inline-block; }

/* ensure the inner container doesn't add extra vertical space */
.copyright .container { padding-top:0; padding-bottom:0; }

/* tighten footer logo/header spacing further */
footer h1 { margin: 0 0 4px; font-size: 1rem; }

/* Tighten footer logo/header spacing */
footer h1 { margin: 0 0 6px; font-size: 1.05rem; }
main.container { padding-bottom: 0; }

/* Reserve space for fixed header to keep content from jumping */
/* Reduced per design request */
body { padding-top: 14px; }
main.container { margin-top: 0; }

/* About page right-side image group */
.about-side-images { float: right; margin: 0 0 10px 20px; width: 320px; }
.about-side-images img { width: 100%; height: 180px; object-fit: cover; display: block; border-radius:4px; margin-bottom:8px; border:1px solid #eee; background:#fff; padding:6px; box-sizing:border-box }
@media (max-width: 768px) {
	.about-side-images { float: none; width: 100%; margin: 0 0 12px 0; }
	.about-side-images img { height: 160px }
}

.about-body { max-width: 820px; line-height: 1.8; font-size: 1.02rem; color: #444; }
.about-body p { margin: 0 0 14px; }
.about-body .lead { font-size: 1.12rem; font-weight: 600; color: #2c3e50; margin-bottom: 14px; }
.about-body .subheading { font-weight: 700; color: #2c3e50; margin: 6px 0 8px; }
.about-body .emphasis { font-weight: 600; color: #2c3e50; }
.about-body ul { margin: 8px 0 16px 20px; padding: 0; }
.about-body ul li { margin: 4px 0; color: #444; }

/* Make spacing between About sections (Company intro, Enterprise culture, Honors) more roomy */
.about-content { margin-bottom: 40px; }
.about-content ~ h3 { margin-top: 36px; margin-bottom: 10px; }
.about-content ~ h3 + p,
.about-content ~ h3 + ul { margin-top: 8px; }

/* Site-wide hero/banner styles */
.hero-banner { width:100%; }
.hero-image { width:100%; height:208px; background-size:cover; background-position:center center; background-repeat:no-repeat; border-radius:6px; box-shadow:0 6px 18px rgba(0,0,0,.06); position:relative; }
.hero-location { position:absolute; left:28px; top:50%; transform:translateY(-50%); color:#fff; font-family: 'Montserrat', sans-serif; font-size:1.1rem; background:transparent; display:inline-block; padding:8px 12px; border-radius:4px; z-index:5; }

.home-slider { width:100%; max-width:1280px; margin:0 auto; overflow:hidden; border-radius:6px; position:relative; }
.home-slider { width:100%; max-width:1280px; margin:0 auto; margin-top:-24px; overflow:hidden; border-radius:6px; position:relative; }
/* Sliding behavior: use percentage-based transforms and full-width slides to avoid
   horizontal overflow caused by vw units when side drawers or overlays are present. */
.home-slider .slides { position:relative; height:390px; overflow:hidden; }
.home-slider .slide { position:absolute; left:0; top:0; width:100%; height:100%; background-size:cover; background-position:center; background-repeat:no-repeat; transform: translateX(100%); transition: transform .6s ease; }
.home-slider .slide[data-state="active"] { transform: translateX(0); z-index:2; }
.home-slider .slide[data-state="incoming"] { transform: translateX(0); z-index:3; }
.home-slider .slide[data-state="outgoing"] { transform: translateX(100%); z-index:1; }

/* Desktop: keep slider inside the page width to avoid horizontal scrollbars */
@media (min-width: 769px) and (max-width: 1199px) {
	/* tablets / small landscape: keep slider within page container */
	.home-slider {
		position: relative;
		width: 100%;
		max-width: 1100px;
		left: 0;
		margin: 0 auto;
		transform: none;
		border-radius: 6px;
		overflow: hidden;
	}
	.home-slider .slides { overflow: hidden; }
	.home-slider .slide {
		left: 0;
		margin-left: 0;
		width: 100%;
		transform: translateX(100%);
	}
	.home-slider .slide[data-state="active"],
	.home-slider .slide[data-state="incoming"] { transform: translateX(0); }
	.home-slider .slide[data-state="outgoing"] { transform: translateX(100%); }
}

@media (min-width: 1200px) {
	/* desktops: full-bleed slider spanning viewport without horizontal scroll */
	.home-slider {
		position: relative;
		width: 100vw;
		max-width: none;
		left: 50%;
		transform: translateX(-50%);
		border-radius: 6px;
		overflow: hidden;
	}
	.home-slider .slides { overflow: hidden; }
	.home-slider .slide {
		left: calc(50% - 50vw);
		margin-left: 0;
		width: 100vw;
		transform: translateX(100vw);
	}
	.home-slider .slide[data-state="active"],
	.home-slider .slide[data-state="incoming"] { transform: translateX(0); }
	.home-slider .slide[data-state="outgoing"] { transform: translateX(100vw); }
}

/* Tablet-specific: ensure page content is centered and slider stays within container
   to avoid the whole page appearing left-aligned with a blank right gutter. */
@media (min-width: 768px) and (max-width: 999px) {
	.container { max-width: 980px; margin-left: auto; margin-right: auto; }
	/* Keep the slider inside the centered container on tablets */
	.home-slider { width: 100%; max-width: 980px; margin: 0 auto; left: 0; transform: none; }
	.home-slider .slide { left: 0; width: 100%; transform: translateX(100%); }
	.home-slider .slide[data-state="active"],
	.home-slider .slide[data-state="incoming"] { transform: translateX(0); }
	.home-slider .slide[data-state="outgoing"] { transform: translateX(100%); }
}
.home-slider .dots { text-align:center; margin-top:8px; }
.home-slider .dot { display:inline-block; width:9px; height:9px; border-radius:50%; background:rgba(255,255,255,0.25); margin:0 6px; cursor:pointer; border:0; }
.home-slider .dot.active { background:#fff; }

/* Homepage latest products grid: 4 columns on desktop, responsive on smaller screens */
.latest-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; }
@media (max-width: 1000px) {
	.latest-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
	.latest-grid { grid-template-columns: 1fr; }
}

/* Product center grid: 2 per row on desktop */
.prod-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; }
@media (max-width: 520px) {
	.prod-grid { grid-template-columns: 1fr; }
}

/* Product card image wrapper to keep images contained and responsive */
.product-thumb { width: 100%; aspect-ratio: 4 / 3; display: flex; align-items: center; justify-content: center; background: #fafafa; border-radius: 4px; padding: 2px; box-sizing: border-box; overflow: hidden; }
.product-thumb img { width: 100%; height: 100%; object-fit: contain; display: block; }

/* Solutions grid: 3 per row on desktop, responsive */
.solutions-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 12px; align-items: start; }
.solution-card { background: #fff; border: 1px solid #eee; border-radius: 6px; padding: 8px; box-sizing: border-box; }
.solution-card img { width: 100%; height: 220px; object-fit: cover; display: block; border-radius: 4px; }
.solution-title { font-weight: 700; margin-top: 8px; color: #2c3e50; text-align: center; }
.solution-desc { margin-top: 6px; color: #666; font-size: 0.95rem; text-align: center; }
@media (max-width: 1000px) {
	.solutions-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
	.solutions-grid { grid-template-columns: 1fr; row-gap: 22px; }
	.solution-card { margin-bottom: 6px; }
	.solution-card img { height: 180px; }
}

/* 客户现场 grid */
.customer-sites { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; }
.customer-card img { width: 100%; height: 100%; object-fit: cover; display: block; }
.customer-card .caption { font-weight: 600; color: #333; margin-top: 6px; }
.customer-card .meta { color: #999; font-size: 0.85rem; }
@media (max-width: 1000px) {
	.customer-sites { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 520px) {
	.customer-sites { grid-template-columns: 1fr; }
}

/* 荣誉资质 grid: 4 images per row on desktop, responsive to smaller screens */
.honor-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 12px; }
.honor-card img { width: 100%; height: 240px; object-fit: contain; display: block; background: #fff; border: 1px solid #eee; padding: 8px; box-sizing: border-box; }
@media (max-width: 1000px) {
	.honor-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 520px) {
	.honor-grid { grid-template-columns: 1fr; }
	.honor-card img { height: auto; }
}

.honor-caption { text-align: center; margin-top: 8px; color: #555; font-size: 0.95rem; }
.honor-card { display: flex; flex-direction: column; align-items: center; }

/* bottom image styling */
.bottom-image img { box-shadow: none; border: 0; }

@media (max-width:768px){
	.home-slider .slides { height:240px }
	.home-slider { margin:0 auto; margin-top:-16px }
	.home-slider .slide { left: calc(50% - 50vw); }
	/* Mobile fix: prefer percentage-based slide movement to avoid viewport-widrth overflow
	   when side-drawer or other fixed elements change viewport metrics. */
	.home-slider .slide { left: 0; width: 100%; }
	.home-slider .slide { transform: translateX(100%); transition: transform .6s ease; }
	.home-slider .slide[data-state="active"],
	.home-slider .slide[data-state="incoming"] { transform: translateX(0); }
	.home-slider .slide[data-state="outgoing"] { transform: translateX(100%); }
}

/* Product card primary action ("查看详情") styles - rounded beige pill like attachment */
.product-card .btn {
	display: inline-block;
	background: #d4b78f;
	color: #ffffff;
	padding: 10px 36px;
	border-radius: 28px;
	text-decoration: none;
	font-weight: 600;
	border: none;
	box-shadow: none;
	line-height: 1.2;
}
.product-card .btn:hover,
.product-card .btn:focus { background: #caa471; color: #fff; }

@media (max-width: 520px) {
	.product-card .btn { padding: 8px 22px; font-size: 0.95rem; }
}

/* Landscape phones/tablets: keep page content centered even when height is small */
@media (max-width: 1024px) and (orientation: landscape) {
	.hero-banner,
	main.container,
	footer .container,
	.copyright .container {
		max-width: 1100px;
		margin-left: auto;
		margin-right: auto;
		padding-left: 16px;
		padding-right: 16px;
	}
}

/* (hero/banner styles removed — reverted to previous layout) */

/* Sidebar (product categories) styles */
.prod-sidebar .sidebar-list { list-style:none;padding:0;margin:0;border:1px solid #eee;border-radius:4px;overflow:hidden;background:#fff }
.prod-sidebar .sidebar-item { border-bottom:1px solid #eee; }
.prod-sidebar .sidebar-item a { display:block;padding:12px 14px;color:#333;text-decoration:none;transition:background .12s ease,color .12s ease }
.prod-sidebar .sidebar-item:hover a,
.prod-sidebar .sidebar-item.active a { background:#faf5ea;color:#2c3e50 }

/* Mobile-specific navigation: only affects screens <=768px */

@media (max-width: 768px) {
	.nav-toggle {
		display:inline-block !important;
		cursor:pointer;
		/* put hamburger on the left edge of the fixed header */
		position: absolute !important;
		left: 12px !important;
		top: 50% !important;
		transform: translateY(-50%) !important;
		z-index: 1300 !important;
	}
	/* nudge logo to the right so the toggle doesn't overlap it */
	.site-logo-link { margin-left: 44px !important; }
	/* show the submenu toggle on mobile */
	.mobile-sub-toggle { display:inline-flex; align-items:center; justify-content:center }
	/* stack dropdown beneath the trigger row so the drawer width stays stable */
	header .has-dropdown { display:flex; flex-direction:column; align-items:stretch; width:100%; }
	header .has-dropdown .mobile-nav-row { display:flex; align-items:center; width:100%; }
	header .has-dropdown .mobile-nav-row > .mobile-sub-toggle { margin-right:8px; position:static; flex:0 0 auto; }
	header .has-dropdown .mobile-nav-row > a { flex:1 1 auto; }
	/* Stack the header on mobile so the opened nav takes full width below the toggle */
	header .container { flex-direction:column; align-items:flex-start }
	header nav { width:100% }
	/* left-side sliding drawer */
	/* start hidden off-screen and slide in when .open is added */
		header .nav {
			display:flex; /* keep flex layout for list */
			flex-direction:column;
			width:180px; /* narrower portrait width */
			max-width:70%;
			margin:0; padding:0; background:#fff;
			box-shadow:0 6px 18px rgba(0,0,0,.12);
			border-radius:0 6px 6px 0;
		z-index:1400;
		position:fixed;
		top:0; left:0; height:100vh; box-sizing:border-box;
		transform: translateX(-100%);
		transition: transform .28s ease;
		overflow-y: auto;
	}
	/* make every menu item stretch full drawer width for consistent alignment */
	header .nav li { width: 100%; }
	header .nav a { width: 100%; }
	header .nav.open { transform: translateX(0); }
	header .nav li { margin:0; border-top:1px solid #eee }
	/* set a fixed, smaller height for each mobile menu item and center content */
	header .nav a { padding:0 5px; height:10px; display:flex; align-items:center; color:#333; font-size:0.93rem }
	/* dropdown items on mobile should match reduced height */
	header .dropdown a { padding:0 5px; height:20px; display:flex; align-items:center }
	header .has-dropdown .dropdown { position:static; box-shadow:none; border:none; padding:0; display:none }
	header .has-dropdown.open > .dropdown { display:block }
	/* ensure mobile dropdowns match the parent nav width and have no min-width */
	header .has-dropdown .dropdown { min-width: 0; width: 100% }
	/* ensure dropdown list items follow the same fixed height */
	header .has-dropdown .dropdown a { height:32px; align-items:center; display:flex }
	/* allow header to expand vertically on mobile without overlapping content */
	header { position:fixed; height:auto; padding:8px 0; left:0; right:0 }
	/* ensure the header stays above other content when nav opens */
	header { z-index:2002 !important }
	body { padding-top:140px }
	/* overlay that covers the page when drawer is open */
	.nav-overlay { display:none; position:fixed; left:0; top:0; right:0; bottom:0; background:rgba(0,0,0,0.32); z-index:1350; pointer-events: none; }
	.nav-overlay.visible { display:block; pointer-events: auto; }

	/* Ensure the nav drawer sits above any overlays or sliders and links are clickable */
	header .nav { z-index: 2000 !important; }
	header .nav.open { z-index: 2000 !important; }
	.nav-overlay { z-index: 1900 !important; }
	header .nav a { color: #222 !important; pointer-events: auto !important; }
	header .nav * { pointer-events: auto !important; }

	/* Mobile: disable slider functionality — show only the first slide and hide controls */
	.home-slider .slides { height: auto; }
	.home-slider .slide { display: none !important; transform: none !important; position: relative !important; left: 0 !important; width: 100% !important; }
	.home-slider .slide:first-child { display: block !important; }
	.home-slider .dots, .home-slider .dot { display: none !important; }
	.hero-image { height:128px }
	.prod-page { flex-direction:column }
	.prod-sidebar { width:100% }
	.grid { grid-template-columns: 1fr !important }
}

/* Portrait tablets: force hamburger/drawer even if wider than 768px */
@media (orientation: portrait) and (max-width: 2200px) {
	.nav-toggle {
		display:inline-block !important;
		cursor:pointer;
		position: absolute !important;
		left: 12px !important;
		top: 50% !important;
		transform: translateY(-50%) !important;
		z-index: 1300 !important;
	}
	.site-logo-link { margin-left: 44px !important; }
	.mobile-sub-toggle { display:inline-flex; align-items:center; justify-content:center }
	header .has-dropdown { display:flex; flex-direction:column; align-items:stretch; width:100%; }
	header .has-dropdown .mobile-nav-row { display:flex; align-items:center; width:100%; }
	header .has-dropdown .mobile-nav-row > .mobile-sub-toggle { margin-right:8px; position:static; flex:0 0 auto; }
	header .has-dropdown .mobile-nav-row > a { flex:1 1 auto; }
	header .container { flex-direction:column; align-items:flex-start }
	header nav { width:100% }
	header .nav {
		display:flex !important;
		flex-direction:column !important;
		width:180px !important;
		max-width:70% !important;
		margin:0; padding:0; background:#fff !important;
		box-shadow:0 6px 18px rgba(0,0,0,.12);
		border-radius:0 6px 6px 0;
		z-index:1400 !important;
		position:fixed !important;
		top:0 !important; left:0 !important; right:auto !important;
		height:100vh !important; box-sizing:border-box;
		transform: translateX(-100%) !important;
		transition: transform .28s ease;
		overflow-y: auto;
	}
	header .nav li { width: 100%; margin:0; border-top:1px solid #eee }
	header .nav a { width: 100%; padding:0 5px; height:10px; display:flex; align-items:center; color:#333; font-size:0.93rem }
	header .nav.open { transform: translateX(0) !important; }
	header .dropdown a { padding:0 5px; height:20px; display:flex; align-items:center; background:#fff !important; }
	header .has-dropdown .dropdown { position:static; box-shadow:none; border:none; padding:0; display:none; min-width: 0; width: 100% }
	header .has-dropdown.open > .dropdown { display:block }
	header .has-dropdown .dropdown a { height:32px; align-items:center; display:flex }
	header { position:fixed; height:auto; padding:8px 0; left:0; right:0; z-index:2002 !important }
	body { padding-top:140px }
	.nav-overlay { display:none; position:fixed; left:0; top:0; right:0; bottom:0; background:rgba(0,0,0,0.32); z-index:1350; pointer-events: none; }
	.nav-overlay.visible { display:block; pointer-events: auto; }
	header .nav { z-index: 2000 !important; }
	header .nav.open { z-index: 2000 !important; }
	.nav-overlay { z-index: 1900 !important; }
	header .nav a { color: #222 !important; pointer-events: auto !important; }
	header .nav * { pointer-events: auto !important; }
}

/* Mobile landscape: give the drawer more width to fit all menu items */
@media (max-width: 900px) and (orientation: landscape) {
	header .nav {
		width: 100vw;
		max-width: 100vw;
	}
	header .nav a {
			font-size: 0.88rem;
		padding-left: 0.5ch;
		padding-right: 0.7ch;
			white-space: normal;
		line-height: 1.25;
		height: 34px;
		display: flex;
		align-items: center;
	}
	header .nav li { height: 34px; display: flex; align-items: center; }
	header .has-dropdown .mobile-nav-row { height: 34px; align-items: center; }
		header .has-dropdown .mobile-nav-row > .mobile-sub-toggle { margin-right: 6px; }
	/* add breathing room between fixed header and banner in landscape */
	.hero-banner { margin-top: 16px; }
}
