:root {
	--gfd-header-height: 90px;
	--gfd-header-offset: calc(var(--gfd-header-height) + 16px);
	--gfd-teal: #1a6c7a;
	--gfd-deep: #082f3a;
	--gfd-header-background: linear-gradient(110deg, #082f3a, #0d4f5c 58%, #0f766e);
}

/* Root skip target for routes outside the Layout v1 contract. */
:where(body:not(.gfd-layout-v1) #content) { scroll-margin-top: var(--gfd-header-offset); }

:where(#content h2[id], #content h3[id], #content [id]:target) { scroll-margin-top: var(--gfd-header-offset); }

#masthead.gfd-shell-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	width: 100%;
	min-height: var(--gfd-header-height);
	background: var(--gfd-header-background);
	color: #fff;
	box-shadow: 0 2px 12px rgb(0 0 0 / 12%);
}
.gfd-shell-header *, .gfd-shell-footer * { box-sizing: border-box; }
.gfd-shell-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	max-width: 1280px;
	min-height: var(--gfd-header-height);
	margin: auto;
	padding: 12px 24px;
}
.gfd-shell-brand { display: inline-flex; align-items: center; flex: none; color: #fff; text-decoration: none; }
.gfd-shell-brand:hover, .gfd-shell-brand:focus { color: #fff; }
.gfd-shell-brand__image { display: block; width: 59px; height: 59px; object-fit: contain; }
.gfd-shell-brand__words { display: none; }
.gfd-shell-nav { flex: 0 1 auto; }
.gfd-shell-menu, .gfd-shell-menu .sub-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}
.gfd-shell-menu { display: flex; align-items: center; gap: 0; }
.gfd-shell-menu > li { position: relative; }
.gfd-shell-menu a {
	display: block;
	padding: 13px 15px;
	color: #fff;
	font-family: Arial, sans-serif;
	font-size: 16px;
	font-weight: 900;
	line-height: 1.35;
	text-decoration: none;
	white-space: nowrap;
}
.gfd-shell-menu a:hover, .gfd-shell-menu a:focus-visible,
.gfd-shell-menu .current-menu-item > a { color: #fff; text-decoration: underline; text-underline-offset: 6px; }
.gfd-shell-menu .sub-menu {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 220px;
	padding: 8px;
	background: var(--gfd-deep);
	box-shadow: 0 12px 24px rgb(0 0 0 / 20%);
}
.gfd-shell-menu li:hover > .sub-menu, .gfd-shell-menu li:focus-within > .sub-menu { display: block; }
.gfd-shell-menu .sub-menu .sub-menu { top: 0; left: 100%; }
.gfd-shell-submenu-toggle { display: none; }
.gfd-shell-toggle { display: none; }
.gfd-shell-header a:focus-visible, .gfd-shell-header button:focus-visible,
.gfd-shell-footer a:focus-visible {
	outline: 3px solid #fff;
	outline-offset: 3px;
}

#colophon.gfd-shell-footer { background: var(--gfd-teal); color: #fff; }
.gfd-shell-footer__main {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
	gap: clamp(28px, 4vw, 64px);
	max-width: 1280px;
	margin: auto;
	padding: 56px 24px;
}
.gfd-shell-footer__brand { max-width: 350px; }
.gfd-shell-footer__logo { display: block; width: 96px; height: 96px; object-fit: contain; margin-bottom: 12px; }
.gfd-shell-footer__brand p { color: #fff; line-height: 1.7; margin: 0; }
.gfd-shell-footer__column h2 {
	color: #fff;
	font-family: Montserrat, Arial, sans-serif;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
	margin: 0 0 20px;
}
.gfd-shell-footer__links { list-style: none; margin: 0; padding: 0; }
.gfd-shell-footer__links li { margin: 0 0 13px; line-height: 1.65; overflow-wrap: anywhere; }
.gfd-shell-footer__links a, .gfd-shell-footer__address { color: #fff; text-decoration: none; }
.gfd-shell-footer__links a:hover, .gfd-shell-footer__links a:focus-visible { color: #fff; text-decoration: underline; }
.gfd-shell-footer__bottom { background: #fff; color: #3f4b50; text-align: center; padding: 20px 24px; }
.gfd-shell-footer__bottom p { margin: 0; color: inherit; font-size: 14px; }

@media (max-width: 600px) {
	/* Keep Astra's existing scroll-to-top control off the copyright text. */
	.gfd-shell-footer__bottom { padding-bottom: 78px; }
}

@media (max-width: 960px) {
	:root { --gfd-header-height: 66px; }
	#gfd-shell-nav { display: none; }
	.gfd-shell-header__inner { padding: 8px 20px; }
	.gfd-shell-brand__image { display: none; }
	.gfd-shell-brand__words { display: flex; flex-direction: column; gap: 2px; }
	.gfd-shell-brand__name { color: #fff; font-size: 17px; font-weight: 800; line-height: 1.2; }
	.gfd-shell-brand__tagline { color: #fff; font-size: 10px; font-weight: 600; line-height: 1.2; letter-spacing: .04em; }
	.gfd-shell-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex: none;
		width: 48px;
		height: 48px;
		padding: 0;
		border: 1px solid rgb(255 255 255 / 60%);
		border-radius: 6px;
		background: transparent;
		color: #fff;
		cursor: pointer;
	}
	.gfd-shell-toggle__bars { display: flex; flex-direction: column; justify-content: center; gap: 5px; width: 20px; }
	.gfd-shell-toggle__bars span { display: block; width: 100%; height: 2px; background: currentColor; }
	#masthead.gfd-shell-header.is-open #gfd-shell-nav {
		display: block;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		max-height: calc(100vh - var(--gfd-header-height));
		overflow-y: auto;
		padding: 8px 20px 20px;
		background: #082f3a;
		box-shadow: 0 15px 24px rgb(0 0 0 / 22%);
	}
	.gfd-shell-menu { display: block; }
	.gfd-shell-menu > li { border-bottom: 1px solid rgb(255 255 255 / 15%); }
	.gfd-shell-menu a { padding: 14px 4px; white-space: normal; font-size: 16px; }
	.gfd-shell-menu .sub-menu, .gfd-shell-menu li:hover > .sub-menu, .gfd-shell-menu li:focus-within > .sub-menu {
		display: none; position: static; box-shadow: none; padding: 0 0 6px 14px;
	}
	.gfd-shell-menu li.is-submenu-open > .sub-menu { display: block; }
	.gfd-shell-menu .menu-item-has-children { padding-right: 48px; }
	.gfd-shell-submenu-toggle {
		display: block; position: absolute; top: 2px; right: 0; width: 44px; height: 44px;
		border: 0; background: transparent; color: #fff; cursor: pointer;
	}
}
@media (max-width: 480px) {
	:root { --gfd-header-height: 62px; }
	.gfd-shell-header__inner { padding: 7px 16px; }
	.gfd-shell-footer__main { padding: 44px 20px; }
}
@media (max-width: 360px) {
	:root { --gfd-header-height: 58px; }
	.gfd-shell-brand__name { font-size: 15px; }
	.gfd-shell-brand__tagline { font-size: 9px; }
	.gfd-shell-toggle { width: 44px; height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
	.gfd-shell-header *, .gfd-shell-footer * { scroll-behavior: auto; transition-duration: .01ms; animation-duration: .01ms; }
}

/* The legacy manufacturer guide's hero grid must allow its copy to shrink at 320px. */
body.postid-2119 .gfd-mfg-hero-layout > .gfd-mfg-hero-copy { min-width: 0; }

/* Show the heading before the media in the two stacked product Heroes. */
@media (max-width: 980px) {
	body.page-id-2619 .gfd-commercial-page .gfd-hero-grid > .gfd-hero-copy-panel,
	body.page-id-2643 .gfd-industrial-page .gfd-hero-grid > .gfd-hero-copy-panel {
		order: 0;
	}
}

/* These two page-owned margins compensated the former fixed Header.
 * The current sticky Header already occupies normal document flow. */
body.page-id-2619 main.gfd-commercial-page,
body.page-id-2643 main.gfd-industrial-page { margin-top: 0; }
/* Wave8: keep the four document links in two readable rows on narrow case pages. */
@media (max-width: 359px) {
  :is(body.page-id-2153, body.page-id-2229, body.page-id-2231,
      body.page-id-2237, body.page-id-2240, body.page-id-2242,
      body.page-id-2258, body.page-id-2261, body.page-id-2267,
      body.page-id-2269, body.page-id-2272, body.page-id-2274,
      body.page-id-2529, body.page-id-2535)
    .container.two-column > .formula-box .download-docs-grid,
  body.page-id-2276 .cta-docs-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
