/*
 * GVG Hangar skin for Baumeister.
 *
 * Loaded last (priority 999). Baumeister's theme options, WPBakery custom CSS
 * and page-builder inline styles set colors with high specificity or inline
 * style attributes, so some rules below need !important to win. Each one is
 * there because something upstream sets the same property inline.
 */

@font-face {
	font-family: "Archivo";
	src: url("../fonts/Archivo-Variable.woff2") format("woff2");
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "Archivo Narrow";
	src: url("../fonts/ArchivoNarrow-Variable.woff2") format("woff2");
	font-weight: 400 700;
	font-style: normal;
	font-display: swap;
}

:root {
	--gvg-base: #0f1011;
	--gvg-surface: #1a1b1d;
	--gvg-surface-hover: #25272a;
	--gvg-contrast: #ecebe7;
	--gvg-soft: #d6d5d0;
	--gvg-body: #c9c8c3;
	--gvg-muted: #8a8984;
	--gvg-line: #2a2b2e;
	--gvg-field-line: #3a3b3e;
	--gvg-amber: #f2b33d;
	--gvg-sans: "Archivo", "Helvetica Neue", Arial, sans-serif;
	--gvg-narrow: "Archivo Narrow", "Arial Narrow", Arial, sans-serif;
	--gvg-pad: clamp(20px, 3vw, 40px);
	--gvg-max: 1440px;
}

/* ---------- Base ---------- */

body.gvg-hangar,
.gvg-hangar .mkd-wrapper,
.gvg-hangar .mkd-content,
.gvg-hangar .mkd-content .mkd-content-inner > .mkd-container,
.gvg-hangar .mkd-content .mkd-content-inner > .mkd-full-width {
	background-color: var(--gvg-base);
	color: var(--gvg-body);
	font-family: var(--gvg-sans);
	-webkit-font-smoothing: antialiased;
}

.gvg-hangar p,
.gvg-hangar li,
.gvg-hangar td {
	font-family: var(--gvg-sans);
	color: var(--gvg-body);
}

.gvg-hangar p {
	font-size: 17px;
	line-height: 1.7;
	text-wrap: pretty;
}

.gvg-hangar h1,
.gvg-hangar h2,
.gvg-hangar h3,
.gvg-hangar h4,
.gvg-hangar h5,
.gvg-hangar h6 {
	font-family: var(--gvg-sans);
	color: var(--gvg-contrast);
}

.gvg-hangar a {
	color: var(--gvg-contrast);
	transition: color 0.15s, background-color 0.15s;
}

.gvg-hangar a:hover,
.gvg-hangar h1 a:hover,
.gvg-hangar h2 a:hover,
.gvg-hangar h3 a:hover,
.gvg-hangar p a:hover {
	color: var(--gvg-amber);
}

.gvg-hangar h4 {
	letter-spacing: 0.08em;
}

.gvg-hangar strong {
	color: var(--gvg-contrast);
}

.gvg-hangar ::selection {
	background: var(--gvg-amber);
	color: var(--gvg-base);
}

.gvg-hangar :where(a, button, input, textarea, select):focus-visible {
	outline: 2px solid var(--gvg-amber);
	outline-offset: 2px;
}

.gvg-hangar hr {
	border: 0;
	border-top: 1px solid var(--gvg-line);
}

/* Wider grid, like the Hangar layout (Baumeister's default is 1100px). */
.gvg-hangar .mkd-grid,
.gvg-hangar .mkd-row-grid-section,
.gvg-hangar .mkd-container-inner {
	width: auto;
	max-width: var(--gvg-max);
	padding-left: var(--gvg-pad);
	padding-right: var(--gvg-pad);
	box-sizing: border-box;
}

/* Rows nested in a grid section already get the side padding. */
.gvg-hangar .mkd-row-grid-section .mkd-grid,
.gvg-hangar .mkd-container-inner .mkd-row-grid-section {
	padding-left: 0;
	padding-right: 0;
}

/* ---------- Top bar ---------- */

.gvg-hangar .mkd-top-bar,
.gvg-hangar .mkd-top-bar .mkd-grid .mkd-vertical-align-containers {
	background-color: var(--gvg-base);
}

.gvg-hangar .mkd-top-bar {
	height: 40px;
	border-bottom: 1px solid var(--gvg-line);
}

/* Phone and email sit on the right in the Hangar header. */
.gvg-hangar .mkd-top-bar .mkd-position-left {
	float: right;
}

.gvg-hangar .mkd-top-bar .mkd-position-left-inner {
	display: inline-flex;
	vertical-align: middle;
	align-items: center;
	gap: 28px;
}

.gvg-hangar .mkd-top-bar .mkd-icon-widget-holder {
	margin: 0 !important;
}

.gvg-hangar .mkd-top-bar .mkd-separator-widget {
	display: none;
}

.gvg-hangar .mkd-top-bar .mkd-icon-text {
	font-family: var(--gvg-sans);
	color: var(--gvg-muted) !important;
}

.gvg-hangar .mkd-top-bar .mkd-icon-text::before {
	display: none;
}

.gvg-hangar .mkd-top-bar .mkd-icon-text-inner {
	font-family: var(--gvg-sans);
	font-size: 13px;
	letter-spacing: 0.02em;
	color: #b9b8b3 !important;
}

.gvg-hangar .mkd-top-bar a:hover .mkd-icon-text-inner {
	color: var(--gvg-amber) !important;
}

/* ---------- Header ---------- */

.gvg-hangar .mkd-page-header .mkd-menu-area,
.gvg-hangar .mkd-page-header .mkd-menu-area .mkd-grid .mkd-vertical-align-containers,
.gvg-hangar .mkd-page-header .mkd-sticky-header .mkd-sticky-holder {
	background-color: var(--gvg-base) !important;
	box-shadow: none !important;
}

.gvg-hangar .mkd-page-header .mkd-menu-area {
	height: 88px;
	border-bottom: 1px solid var(--gvg-line);
}

.gvg-hangar .mkd-page-header .mkd-sticky-header {
	height: 72px;
}

.gvg-hangar .mkd-page-header .mkd-sticky-header .mkd-sticky-holder {
	border-bottom: 3px solid var(--gvg-amber);
}

/* White GVG logo (GVG_logo_white.png) straight on the dark header. */
.gvg-hangar .mkd-logo-wrapper a,
.gvg-hangar .mkd-mobile-logo-wrapper a {
	display: inline-flex !important;
	align-items: center;
	height: auto !important;
	padding: 0;
	background: none;
}

.gvg-hangar .mkd-logo-wrapper a img,
.gvg-hangar .mkd-mobile-logo-wrapper a img {
	position: static !important;
	height: 40px !important;
	width: auto !important;
	max-height: none;
	transform: none !important;
}

.gvg-hangar .mkd-logo-wrapper a .mkd-dark-logo,
.gvg-hangar .mkd-logo-wrapper a .mkd-light-logo {
	display: none !important;
}

.gvg-hangar .mkd-logo-wrapper a .mkd-normal-logo {
	opacity: 1 !important;
}

/* Main menu */
.gvg-hangar .mkd-main-menu > ul > li > a {
	padding: 0 16px;
	font-family: var(--gvg-narrow);
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--gvg-contrast);
}

.gvg-hangar .mkd-main-menu > ul > li > a .item_outer {
	padding: 0;
}

.gvg-hangar .mkd-main-menu > ul > li > a .item_outer::before,
.gvg-hangar .mkd-main-menu > ul > li > a .item_outer::after,
.gvg-hangar .mkd-main-menu > ul > li > a .plus {
	display: none;
}

.gvg-hangar .mkd-main-menu > ul > li > a:hover,
.gvg-hangar .mkd-main-menu > ul > li.mkd-active-item > a,
.gvg-hangar .mkd-main-menu > ul > li.current-menu-ancestor > a {
	color: var(--gvg-amber);
}

.gvg-hangar .mkd-main-menu .mkd-menu-arrow {
	display: none;
}

.gvg-hangar .mkd-main-menu > ul > li.has_sub > a .item_text::after {
	content: " +";
}

/* Contact Us is the outlined call to action, as in the design. */
.gvg-hangar .mkd-main-menu > ul > li > a[href*="/contact-us"] {
	margin-left: 32px;
	padding: 0;
	text-align: center;
	color: var(--gvg-amber);
}

.gvg-hangar .mkd-main-menu > ul > li > a[href*="/contact-us"] .item_outer {
	padding: 12px 28px;
	border: 1px solid var(--gvg-amber);
	line-height: 1.3;
	transition: background-color 0.15s, color 0.15s;
}

.gvg-hangar .mkd-main-menu > ul > li > a[href*="/contact-us"]:hover .item_outer {
	background: var(--gvg-amber);
	color: var(--gvg-base);
}

/* An empty custom menu item (no link) left over in the main menu. */
.gvg-hangar .mkd-main-menu > ul > li:not(:has(> a)),
.gvg-hangar .mkd-mobile-nav ul > li:not(:has(> a)) {
	display: none;
}

/* Dropdown */
.gvg-hangar .mkd-drop-down .second {
	top: 100%;
}

.gvg-hangar .mkd-drop-down .narrow .second .inner ul,
.gvg-hangar .mkd-drop-down .wide .second .inner {
	min-width: 280px;
	padding: 8px 0;
	background-color: var(--gvg-surface);
	border-top: 3px solid var(--gvg-amber);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45);
}

.gvg-hangar .mkd-drop-down .second .inner ul li a {
	padding: 12px 20px;
	font-family: var(--gvg-narrow);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--gvg-contrast);
}

.gvg-hangar .mkd-drop-down .second .inner ul li a::before {
	display: none;
}

.gvg-hangar .mkd-drop-down .second .inner ul li a:hover,
.gvg-hangar .mkd-drop-down .second .inner ul li.current-menu-item > a {
	background: var(--gvg-surface-hover);
	color: var(--gvg-amber);
}

.gvg-hangar .mkd-drop-down .second .inner ul li a .item_outer,
.gvg-hangar .mkd-drop-down .second .inner ul li a .item_text {
	padding: 0;
	transform: none;
}

/* Search cover (if enabled in theme options) */
.gvg-hangar .mkd-search-cover {
	background-color: var(--gvg-base);
}

.gvg-hangar .mkd-search-cover input {
	font-family: var(--gvg-narrow);
	color: var(--gvg-contrast);
}

/*
 * Header over the hero, as in the design. Desktop only (the mobile header is
 * a separate element), and only on pages that start with an image: the home
 * slider or an inner-page banner. The sticky header stays solid.
 */
@media only screen and (min-width: 1025px) {
	.gvg-hangar .mkd-wrapper-inner {
		position: relative;
	}

	:is(.gvg-hangar.home, .gvg-hangar:has(.mkd-content-inner > .mkd-title-holder)) .mkd-top-bar {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		background-color: transparent;
		border-bottom: 0;
	}

	:is(.gvg-hangar.home, .gvg-hangar:has(.mkd-content-inner > .mkd-title-holder)) .mkd-top-bar .mkd-grid .mkd-vertical-align-containers {
		background-color: transparent;
	}

	:is(.gvg-hangar.home, .gvg-hangar:has(.mkd-content-inner > .mkd-title-holder)) .mkd-page-header {
		position: absolute;
		top: 40px;
		left: 0;
		right: 0;
	}

	:is(.gvg-hangar.home, .gvg-hangar:has(.mkd-content-inner > .mkd-title-holder)) .mkd-page-header .mkd-menu-area,
	:is(.gvg-hangar.home, .gvg-hangar:has(.mkd-content-inner > .mkd-title-holder)) .mkd-page-header .mkd-menu-area .mkd-grid .mkd-vertical-align-containers {
		background-color: transparent !important;
		border-bottom: 0;
	}

	/* Light text over the photo needs a little help on bright images. */
	:is(.gvg-hangar.home, .gvg-hangar:has(.mkd-content-inner > .mkd-title-holder)) .mkd-menu-area .mkd-main-menu > ul > li > a,
	:is(.gvg-hangar.home, .gvg-hangar:has(.mkd-content-inner > .mkd-title-holder)) .mkd-top-bar .mkd-icon-text-inner {
		text-shadow: 0 1px 12px rgba(0, 0, 0, 0.45);
	}

	/* The banner now runs under the 128px header, so it is taller. */
	body.gvg-hangar .mkd-title-holder {
		height: 640px !important;
	}
}

/* ---------- Mobile header ---------- */

.gvg-hangar .mkd-mobile-header .mkd-mobile-header-inner,
.gvg-hangar .mkd-mobile-header .mkd-mobile-nav {
	background-color: var(--gvg-base);
	border-bottom: 1px solid var(--gvg-line);
}

.gvg-hangar .mkd-mobile-header .mkd-mobile-menu-opener a,
.gvg-hangar .mkd-mobile-header .mkd-mobile-menu-icon {
	color: var(--gvg-contrast);
}

.gvg-hangar .mkd-mobile-header .mkd-mobile-menu-opener.mkd-mobile-menu-opened a {
	color: var(--gvg-amber);
}

.gvg-hangar .mkd-mobile-header .mkd-mobile-nav ul li a,
.gvg-hangar .mkd-mobile-header .mkd-mobile-nav ul li h6 {
	padding: 14px 0;
	border-bottom: 1px solid var(--gvg-line);
	font-family: var(--gvg-narrow);
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--gvg-contrast);
}

.gvg-hangar .mkd-mobile-header .mkd-mobile-nav ul ul li a {
	padding-left: 16px;
	font-size: 15px;
	color: var(--gvg-soft);
}

.gvg-hangar .mkd-mobile-header .mkd-mobile-nav ul li a:hover,
.gvg-hangar .mkd-mobile-header .mkd-mobile-nav .mkd-grid > ul > li.mkd-active-item > a,
.gvg-hangar .mkd-mobile-header .mkd-mobile-nav ul ul li.current-menu-item > a {
	color: var(--gvg-amber);
}

.gvg-hangar .mkd-mobile-header .mkd-mobile-nav .mobile_arrow {
	color: var(--gvg-contrast);
}

.gvg-hangar .mkd-mobile-header .mkd-mobile-nav ul li:has(> a[href*="/contact-us"]) > a {
	color: var(--gvg-amber);
}

/* ---------- Home hero (Revolution Slider) ---------- */

.gvg-hangar .rev_slider_wrapper {
	background: #000 !important;
}

/* Dark gradient over each slide image, as in the design. */
.gvg-hangar .rev_slider .slotholder::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(180deg, rgba(15, 16, 17, 0.7) 0%, rgba(15, 16, 17, 0.15) 35%, rgba(15, 16, 17, 0.85) 100%);
	pointer-events: none;
}

/*
 * Hero caption: one HTML layer per slide, aligned Left / Bottom at 0 / 0,
 * containing:
 *   <div class="gvg-hero">
 *     <h1 class="gvg-hero__title">Line one<br><span>Line two</span></h1>
 *     <p class="gvg-hero__sub">Subtitle</p>
 *   </div>
 * Revolution Slider writes font sizes and white-space inline on the layer,
 * hence the !important rules.
 */
.gvg-hangar .rev_slider .tp-caption:has(.gvg-hero) {
	white-space: normal !important;
}

.gvg-hangar .gvg-hero {
	box-sizing: border-box;
	width: 100vw;
	max-width: var(--gvg-max);
	padding: 0 var(--gvg-pad) 56px;
	white-space: normal;
	text-align: left;
}

.gvg-hangar .gvg-hero .gvg-hero__title {
	margin: 0 !important;
	font-family: var(--gvg-narrow) !important;
	font-size: clamp(36px, 7vw, 92px) !important;
	font-weight: 700 !important;
	line-height: 0.92 !important;
	letter-spacing: -0.01em !important;
	text-transform: uppercase;
	color: var(--gvg-contrast) !important;
}

.gvg-hangar .gvg-hero .gvg-hero__title span {
	color: var(--gvg-amber) !important;
}

.gvg-hangar .gvg-hero .gvg-hero__sub {
	margin: 32px 0 0 !important;
	/* Room on the right for the 01 02 03 slide numbers. */
	padding: 24px 180px 0 0 !important;
	border-top: 1px solid rgba(236, 235, 231, 0.25);
	font-family: var(--gvg-sans) !important;
	font-size: 21px !important;
	font-weight: 300 !important;
	line-height: 1.25 !important;
	color: var(--gvg-soft) !important;
}

/* Old two-layer captions, until the slides are switched to .gvg-hero. */
.gvg-hangar .rev_slider .tp-caption[id$="-layer-1"]:not(:has(.gvg-hero)) {
	font-family: var(--gvg-narrow) !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	letter-spacing: -0.01em !important;
	line-height: 0.92 !important;
	color: var(--gvg-contrast) !important;
}

.gvg-hangar .rev_slider .tp-caption[id$="-layer-2"]:not(:has(.gvg-hero)) {
	font-family: var(--gvg-sans) !important;
	font-weight: 400 !important;
	color: var(--gvg-soft) !important;
}

/* Each title line stays on one line where there is room for it. */
@media only screen and (min-width: 681px) {
	.gvg-hangar .gvg-hero .gvg-hero__title {
		white-space: nowrap;
	}
}

/* Phones: lift the text clear of the 01 02 03 numbers and the screen edge. */
@media only screen and (max-width: 680px) {
	.gvg-hangar .gvg-hero {
		padding-bottom: 100px;
	}

	.gvg-hangar .gvg-hero .gvg-hero__sub {
		margin-top: 24px !important;
		padding-right: 0 !important;
		padding-top: 18px !important;
		font-size: 20px !important;
	}
}

/* Slide numbers (01 02 03) instead of round bullets, as in the design. */
.gvg-hangar .tp-bullets {
	counter-reset: gvg-slide;
}

.gvg-hangar .tp-bullets .tp-bullet {
	width: auto;
	height: auto;
	border: 0;
	border-radius: 0;
	background: none !important;
	box-shadow: none;
	font-family: var(--gvg-narrow);
	font-size: 15px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.08em;
	color: var(--gvg-muted);
	cursor: pointer;
	transition: color 0.15s;
}

.gvg-hangar .tp-bullets .tp-bullet::before {
	counter-increment: gvg-slide;
	content: "0" counter(gvg-slide);
}

/* Bullet styles (uranus, hesperiden...) draw their own dots. */
.gvg-hangar .tp-bullets .tp-bullet::after,
.gvg-hangar .tp-bullets .tp-bullet .tp-bullet-inner,
.gvg-hangar .tp-bullets .tp-bullet .tp-bullet-image,
.gvg-hangar .tp-bullets .tp-bullet .tp-bullet-title {
	display: none !important;
}

.gvg-hangar .tp-bullets .tp-bullet.selected,
.gvg-hangar .tp-bullets .tp-bullet:hover {
	color: var(--gvg-amber);
}

/* ---------- Home intro + section cards ---------- */

.gvg-hangar.home .vc_custom_heading:is(h4, h5) {
	margin: 0 0 28px;
	font-family: var(--gvg-narrow);
	font-size: 14px !important;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-align: left !important;
	color: var(--gvg-amber) !important;
}

.gvg-hangar.home .mkd-content-aligment-center .wpb_column {
	width: 100%;
	margin-left: 0;
}

.gvg-hangar.home .mkd-content-aligment-center .vc_row {
	padding-top: clamp(64px, 9vw, 120px) !important;
	padding-bottom: clamp(40px, 6vw, 80px) !important;
	text-align: left;
}

.gvg-hangar.home .mkd-section-title-holder .mkd-st-title {
	max-width: 1100px;
	margin: 0;
	font-family: var(--gvg-sans);
	font-size: clamp(34px, 5vw, 72px);
	font-weight: 500;
	line-height: 1.02;
	letter-spacing: -0.025em;
	text-transform: none;
	text-wrap: pretty;
}

.gvg-hangar.home .mkd-section-title-holder .mkd-st-title br {
	display: none;
}

/* The three image cards: full-bleed photo, gradient, title at the bottom. */
.gvg-hangar.home .vc_row-o-equal-height {
	margin-bottom: clamp(64px, 9vw, 120px) !important;
}

.gvg-hangar.home .vc_row-o-equal-height > .vc_col-has-fill {
	padding-left: 2px;
	padding-right: 2px;
}

.gvg-hangar.home .vc_row-o-equal-height > .vc_col-has-fill > .vc_column-inner {
	position: relative;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	padding: 0 !important;
	background-color: var(--gvg-surface) !important;
}

.gvg-hangar.home .vc_row-o-equal-height > .vc_col-has-fill > .vc_column-inner > .wpb_wrapper {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 12px;
	padding: 32px;
}

.gvg-hangar.home .vc_col-has-fill .mkd-single-image-holder {
	position: absolute;
	inset: 0;
	margin: 0;
	box-shadow: none;
}

.gvg-hangar.home .vc_col-has-fill .mkd-single-image-holder::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(15, 16, 17, 0) 35%, rgba(15, 16, 17, 0.92) 100%);
	pointer-events: none;
}

.gvg-hangar.home .vc_col-has-fill .mkd-si-inner,
.gvg-hangar.home .vc_col-has-fill .mkd-si-inner a {
	display: block;
	width: 100%;
	height: 100%;
	background-image: none !important;
}

.gvg-hangar.home .vc_col-has-fill .mkd-si-inner img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s;
}

.gvg-hangar.home .vc_col-has-fill > .vc_column-inner:hover .mkd-si-inner img {
	transform: scale(1.05);
}

.gvg-hangar.home .vc_col-has-fill .vc_custom_heading,
.gvg-hangar.home .vc_col-has-fill .wpb_text_column {
	position: relative;
	z-index: 1;
	margin: 0;
}

.gvg-hangar.home .vc_col-has-fill h3.vc_custom_heading {
	font-family: var(--gvg-narrow);
	font-size: 40px !important;
	font-weight: 700;
	line-height: 1 !important;
	text-transform: uppercase;
}

.gvg-hangar.home .vc_col-has-fill h3.vc_custom_heading a {
	color: var(--gvg-contrast);
}

.gvg-hangar.home .vc_col-has-fill h3.vc_custom_heading a::after {
	/* Makes the whole card clickable through the title link. */
	content: "";
	position: absolute;
	inset: -1000px;
}

.gvg-hangar.home .vc_col-has-fill .wpb_text_column p {
	margin: 0;
	font-size: 15px;
	line-height: 1.55;
	color: var(--gvg-soft);
}

.gvg-hangar.home .vc_col-has-fill .vc_empty_space {
	display: none;
}

/* "Terms and Conditions" link row under the cards. */
.gvg-hangar .wpb_text_column a[href*="Purchasing-terms"] {
	font-family: var(--gvg-narrow);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--gvg-amber) !important;
}

.gvg-hangar .wpb_text_column span:has(> a[href*="Purchasing-terms"]) {
	color: var(--gvg-amber) !important;
	text-decoration: none !important;
}

/* ---------- Products band + contact footer (child footer template) ---------- */

.gvg-shell {
	max-width: var(--gvg-max);
	margin: 0 auto;
	padding-left: var(--gvg-pad);
	padding-right: var(--gvg-pad);
	box-sizing: border-box;
}

.gvg-hangar .gvg-display {
	margin: 0;
	font-family: var(--gvg-narrow);
	font-size: clamp(40px, 6vw, 88px);
	font-weight: 700;
	line-height: 0.9;
	letter-spacing: 0;
	text-transform: uppercase;
}

.gvg-products-band {
	background: var(--gvg-amber);
	color: var(--gvg-base);
}

.gvg-products-band .gvg-shell {
	padding-top: 80px;
	padding-bottom: 80px;
}

.gvg-products-band__head {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 24px;
	margin-bottom: 40px;
}

.gvg-hangar .gvg-products-band .gvg-display {
	color: var(--gvg-base);
}

.gvg-hangar .gvg-products-band .gvg-display a {
	color: inherit;
	text-decoration: none;
}

.gvg-hangar .gvg-products-band .gvg-display a:hover {
	color: var(--gvg-contrast);
}

.gvg-products-band__certs {
	font-family: var(--gvg-narrow);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.gvg-products-band__list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
	column-gap: 32px;
	border-top: 2px solid var(--gvg-base);
}

.gvg-hangar .gvg-products-band__list a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	padding: 24px 4px;
	border-bottom: 1px solid rgba(15, 16, 17, 0.35);
	font-family: var(--gvg-sans);
	font-size: 22px;
	font-weight: 600;
	color: var(--gvg-base);
	transition: padding 0.2s;
}

.gvg-products-band__list a span {
	font-family: var(--gvg-sans);
	font-variant-emoji: text;
}

.gvg-hangar .gvg-products-band__list a:hover {
	padding-left: 12px;
	color: var(--gvg-base);
}

/* ---------- Contact Us footer ----------
 * Markup: footer.php (.gvg-contact-footer > .gvg-shell > h2, __grid, __copy).
 */
.gvg-hangar .gvg-contact-footer {
	background: var(--gvg-base);
	color: var(--gvg-contrast);
}

.gvg-hangar .gvg-contact-footer .gvg-shell {
	padding-top: 80px;
	padding-bottom: 40px;
}

.gvg-hangar .gvg-contact-footer .gvg-display {
	margin-bottom: 56px;
	color: var(--gvg-contrast);
}

.gvg-hangar .gvg-contact-footer__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
	gap: 40px;
	padding-bottom: 64px;
	font-size: 17px;
	line-height: 1.6;
	color: var(--gvg-contrast);
}

.gvg-hangar .gvg-contact-footer__grid > div {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.gvg-hangar .gvg-contact-footer__grid a {
	color: var(--gvg-contrast);
	text-decoration: none;
}

.gvg-hangar .gvg-contact-footer__grid a:hover {
	color: var(--gvg-amber);
}

.gvg-hangar .gvg-contact-footer__label {
	margin-bottom: 8px;
	font-size: 13px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gvg-muted);
}

.gvg-hangar .gvg-contact-footer__grid a.gvg-contact-footer__doc {
	color: var(--gvg-amber);
}

.gvg-hangar .gvg-contact-footer__grid a.gvg-contact-footer__doc:hover {
	color: var(--gvg-contrast);
}

/* Copyright row at the very bottom, with extra room below it. */
.gvg-hangar .gvg-contact-footer__copy {
	padding: 24px 0 64px;
	border-top: 1px solid var(--gvg-line);
	font-size: 13px;
	color: var(--gvg-muted);
}

/* Baumeister's footer bottom becomes the thin copyright row. */
.gvg-hangar .mkd-page-footer,
.gvg-hangar .mkd-page-footer .mkd-footer-top-holder,
.gvg-hangar .mkd-page-footer .mkd-footer-bottom-holder {
	background-color: var(--gvg-base);
}

.gvg-hangar .mkd-page-footer .mkd-footer-bottom-holder {
	text-align: left;
}

.gvg-hangar .mkd-page-footer .mkd-footer-bottom-holder .mkd-footer-bottom-inner.mkd-grid {
	padding: 0 var(--gvg-pad) 40px;
}

.gvg-hangar .mkd-page-footer .mkd-footer-bottom-inner > .mkd-grid-row {
	margin-left: 0;
	margin-right: 0;
	padding-top: 24px;
	border-top: 1px solid var(--gvg-line);
}

.gvg-hangar .mkd-page-footer .widget p,
.gvg-hangar .mkd-page-footer .widget p span {
	margin: 0;
	font-size: 13px;
	line-height: 1.6;
	color: var(--gvg-muted) !important;
}

.gvg-hangar .mkd-page-footer .mkd-footer-bottom-column-2 {
	text-align: right;
}

.gvg-hangar .mkd-page-footer .widget a {
	color: var(--gvg-soft);
}

.gvg-hangar .mkd-page-footer .widget a:hover {
	color: var(--gvg-amber);
}

/* ---------- Inner page banner (Baumeister title area) ---------- */

.gvg-hangar .mkd-title-holder {
	position: relative;
	height: clamp(380px, calc(52vh + 20px), 750px) !important;
	background-color: #000 !important;
	background-size: cover;
	background-position: center !important;
}

.gvg-hangar .mkd-title-holder::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(15, 16, 17, 0.78) 0%, rgba(15, 16, 17, 0.25) 45%, var(--gvg-base) 100%);
	pointer-events: none;
}

.gvg-hangar .mkd-title-holder .mkd-title-image {
	display: none;
}

.gvg-hangar .mkd-title-holder .mkd-title-wrapper {
	position: relative;
	z-index: 1;
	height: 100% !important;
	padding-top: 0 !important;
}

.gvg-hangar .mkd-title-holder .mkd-title-inner {
	vertical-align: bottom;
	padding-bottom: 48px;
}

/* Breadcrumb above the title, both left-aligned (Baumeister centers them). */
.gvg-hangar .mkd-title-holder .mkd-title-inner > .mkd-grid {
	display: flex;
	flex-direction: column-reverse;
	align-items: flex-start;
	gap: 20px;
	text-align: left;
}

.gvg-hangar .mkd-title-holder .mkd-title-info {
	width: 100%;
}

.gvg-hangar .mkd-title-holder .mkd-page-title {
	margin: 0;
	font-family: var(--gvg-narrow);
	font-size: clamp(56px, 9vw, 115px);
	font-weight: 700;
	line-height: 0.88;
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--gvg-contrast) !important;
}

.gvg-hangar .mkd-title-holder .mkd-breadcrumbs-info {
	margin: 0;
}

.gvg-hangar .mkd-title-holder .mkd-breadcrumbs {
	font-family: var(--gvg-narrow);
	font-size: 20px;
	font-weight: 480;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gvg-soft) !important;
}

.gvg-hangar .mkd-title-holder .mkd-breadcrumbs a {
	color: var(--gvg-amber) !important;
}

.gvg-hangar .mkd-title-holder .mkd-breadcrumbs a:hover {
	color: var(--gvg-contrast) !important;
}

.gvg-hangar .mkd-title-holder .mkd-breadcrumbs .mkd-current {
	color: var(--gvg-soft);
}

/* Per-page banner focus, for photos whose subject is not centered.
   Markets (page 3626): markets-hero.jpg, keep the wings and engines in frame. */
body.gvg-hangar.page-id-3626 .mkd-title-holder {
	background-position: center 84% !important;
}

body.gvg-hangar.page-id-3626 .mkd-title-holder .mkd-title-image img {
	object-position: center 84%;
}

/* ---------- Page content (WPBakery) ---------- */

.gvg-hangar .mkd-content .mkd-content-inner > .mkd-full-width > .mkd-full-width-inner,
.gvg-hangar .mkd-content .mkd-content-inner > .mkd-container > .mkd-container-inner {
	padding-top: clamp(56px, 7vw, 96px);
	padding-bottom: clamp(56px, 7vw, 112px);
}

.gvg-hangar.home .mkd-content .mkd-content-inner > .mkd-full-width > .mkd-full-width-inner {
	padding-top: 0;
	padding-bottom: 0;
}

.gvg-hangar .vc_row.vc_column-gap-30 {
	margin-bottom: clamp(56px, 7vw, 96px) !important;
}

/* Section titles: Hangar's condensed uppercase display type. */
.gvg-hangar .mkd-section-title-holder h2.mkd-st-title {
	margin: 0 0 20px;
	font-family: var(--gvg-narrow);
	font-size: clamp(36px, 5vw, 68px);
	font-weight: 700;
	line-height: 0.92;
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--gvg-contrast) !important;
}

.gvg-hangar .mkd-section-title-holder h3.mkd-st-title {
	margin: 0 0 12px;
	padding-top: 20px;
	border-top: 3px solid var(--gvg-amber);
	font-family: var(--gvg-narrow);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--gvg-contrast) !important;
}

.gvg-hangar .mkd-section-title-holder h3.mkd-st-title br {
	display: none;
}

/* Lead paragraphs set as h4 (About Us intro). */
.gvg-hangar:not(.home) h4.vc_custom_heading {
	font-family: var(--gvg-sans);
	font-size: clamp(21px, 2.3vw, 30px) !important;
	font-weight: 500;
	line-height: 1.3 !important;
	letter-spacing: -0.015em;
	color: var(--gvg-contrast);
	text-wrap: pretty;
}

.gvg-hangar .vc_custom_heading:not(h4) {
	color: var(--gvg-contrast) !important;
}

/* Images: square edges, no frames. */
.gvg-hangar .vc_single_image-wrapper,
.gvg-hangar .vc_single_image-wrapper.vc_box_border_grey,
.gvg-hangar .vc_single_image-wrapper.vc_box_outline {
	padding: 0;
	border: 0 !important;
	border-radius: 0;
	background: transparent;
}

.gvg-hangar .vc_single_image-img {
	display: block;
	border-radius: 0;
}

/* Linked images (the AS9120B certificate) get the amber-topped card. */
.gvg-hangar a.vc_single_image-wrapper {
	padding: 16px;
	background: var(--gvg-surface);
	border-top: 3px solid var(--gvg-amber) !important;
}

.gvg-hangar a.vc_single_image-wrapper:hover {
	opacity: 0.9;
}

.gvg-hangar .vc_separator .vc_sep_line {
	border-color: var(--gvg-line) !important;
}

.gvg-hangar .mkd-single-image-holder.mkd-has-shadow .mkd-si-inner {
	box-shadow: none;
}

/*
 * ---------- Page sections (WPBakery rows with Hangar classes) ----------
 * Row classes: gvg-split (two columns; gvg-about is the same, kept for the
 * About Us content), gvg-split--center, gvg-band (full-width amber band).
 * Column classes: gvg-col-wide, gvg-col-wider. See content/*.wpbakery.txt.
 */

.gvg-hangar .gvg-eyebrow,
.gvg-hangar :is(.gvg-about, .gvg-split, .gvg-band) p.gvg-eyebrow {
	margin: 0 0 28px;
	font-family: var(--gvg-narrow);
	font-size: clamp(18px, 2vw, 26px);
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--gvg-amber);
}

.gvg-hangar .vc_row:is(.gvg-about, .gvg-split) {
	display: flex;
	flex-wrap: wrap;
	gap: 56px;
	margin: 0 0 clamp(56px, 7vw, 112px) !important;
}

.gvg-hangar .vc_row:is(.gvg-about, .gvg-split)::before,
.gvg-hangar .vc_row:is(.gvg-about, .gvg-split)::after {
	display: none;
}

.gvg-hangar .vc_row:is(.gvg-about, .gvg-split) > .wpb_column {
	flex: 1 1 380px;
	width: auto;
	float: none;
	padding: 0;
}

.gvg-hangar .vc_row:is(.gvg-about, .gvg-split) > .wpb_column > .vc_column-inner {
	padding: 0;
}

.gvg-hangar :is(.gvg-about, .gvg-split, .gvg-band) .wpb_content_element {
	margin-bottom: 0;
}

.gvg-hangar :is(.gvg-about, .gvg-split, .gvg-band) .wpb_wrapper > * + * {
	margin-top: 28px;
}

.gvg-hangar :is(.gvg-about, .gvg-split, .gvg-band) h2.gvg-lead {
	margin: 0;
	font-family: var(--gvg-sans);
	font-size: clamp(21px, 2.3vw, 28px);
	font-weight: 300;
	line-height: 1.3;
	letter-spacing: -0.015em;
	text-transform: none;
	color: var(--gvg-contrast);
	text-wrap: pretty;
}

.gvg-hangar :is(.gvg-about, .gvg-split, .gvg-band) .gvg-about__img .vc_single_image-wrapper,
.gvg-hangar :is(.gvg-about, .gvg-split, .gvg-band) .gvg-about__img figure {
	display: block;
	width: 100%;
	margin: 0;
}

.gvg-hangar :is(.gvg-about, .gvg-split, .gvg-band) .gvg-about__img img {
	display: block;
	width: 100%;
	margin-right: 35px;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.gvg-hangar :is(.gvg-about, .gvg-split, .gvg-band) p {
	margin: 0;
	font-size: 17px;
	line-height: 1.7;
	color: var(--gvg-body);
}

.gvg-hangar :is(.gvg-about, .gvg-split, .gvg-band) p + p {
	margin-top: 24px;
}

/* Certificate card */
.gvg-hangar :is(.gvg-about, .gvg-split, .gvg-band) a.gvg-cert {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 16px;
	background: var(--gvg-surface);
	border-top: 3px solid var(--gvg-amber);
	color: var(--gvg-contrast);
	transition: opacity 0.15s;
}

.gvg-hangar :is(.gvg-about, .gvg-split, .gvg-band) a.gvg-cert:hover {
	opacity: 0.9;
	color: var(--gvg-contrast);
}

.gvg-hangar :is(.gvg-about, .gvg-split, .gvg-band) a.gvg-cert img {
	flex: none;
	width: 88px;
	height: 120px;
	object-fit: contain;
}

.gvg-hangar :is(.gvg-about, .gvg-split, .gvg-band) .gvg-cert__text {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-size: 17px;
}

.gvg-hangar :is(.gvg-about, .gvg-split, .gvg-band) .gvg-cert__text .gvg-eyebrow {
	margin: 0;
}

.gvg-hangar .vc_row.gvg-split--center {
	align-items: center;
}

/* Right column first once the columns stack (tablet/phone). wrap-reverse only
   changes the order of wrapped lines, so the side-by-side layout is untouched. */
.gvg-hangar .vc_row.gvg-split--mobile-reverse {
	flex-wrap: wrap-reverse;
}

.gvg-hangar .vc_row:is(.gvg-about, .gvg-split) > .wpb_column.gvg-col-wide {
	flex: 1.3 1 440px;
}

.gvg-hangar .vc_row:is(.gvg-about, .gvg-split) > .wpb_column.gvg-col-wider {
	flex: 1.4 1 440px;
}

/* Condensed section heading inside page sections. */
.gvg-hangar :is(.gvg-about, .gvg-split, .gvg-band) h2.gvg-h2 {
	margin: 0;
	font-family: var(--gvg-narrow);
	font-size: clamp(36px, 5vw, 68px);
	font-weight: 700;
	line-height: 0.92;
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--gvg-contrast);
}

.gvg-hangar :is(.gvg-about, .gvg-split, .gvg-band) h2.gvg-h2 + p {
	margin-top: 24px;
}

.gvg-hangar :is(.gvg-about, .gvg-split) h2.gvg-h2 + .gvg-cards {
	margin-top: 40px;
}

/* Photos */
.gvg-hangar .gvg-img .vc_single_image-wrapper,
.gvg-hangar .gvg-img figure {
	display: block;
	width: 100%;
	margin: 0;
}

.gvg-hangar .gvg-img img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.gvg-hangar .gvg-img--4x5 img {
	aspect-ratio: 4 / 5;
}

.gvg-hangar .gvg-img--wide img {
	aspect-ratio: 3 / 2;
}

/* Amber rule between a section title and its description. */
.gvg-hangar :is(.gvg-about, .gvg-split) h2.gvg-h2--rule::after {
	content: "";
	display: block;
	width: 96px;
	height: 4px;
	margin-top: 28px;
	background: var(--gvg-amber);
}

.gvg-hangar :is(.gvg-about, .gvg-split) h2.gvg-h2--rule + p {
	margin-top: 28px;
}

.gvg-hangar .gvg-pair {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.gvg-hangar .gvg-pair img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 4;
	object-fit: cover;
}

/* Dark cards with an amber top edge */
.gvg-hangar .gvg-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
	gap: 16px;
	margin-top: 8px;
}

.gvg-hangar .gvg-card {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 24px;
	background: var(--gvg-surface);
	border-top: 3px solid var(--gvg-amber);
}

.gvg-hangar .gvg-card h3,
.gvg-hangar .gvg-step h3 {
	margin: 0;
	font-family: var(--gvg-narrow);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--gvg-contrast);
}

.gvg-hangar :is(.gvg-about, .gvg-split, .gvg-band) .gvg-card p {
	font-size: 15px;
	line-height: 1.6;
}

/* Full-width amber band. The shadow + clip-path paint the amber edge to edge
   without breaking out of Baumeister's grid wrappers. */
.gvg-hangar .vc_row.gvg-band {
	margin: 0 !important;
	padding: 96px 0 104px;
	background: var(--gvg-amber);
	box-shadow: 0 0 0 100vmax var(--gvg-amber);
	clip-path: inset(0 -100vmax);
	color: var(--gvg-base);
}

.gvg-hangar .vc_row.gvg-band > .wpb_column > .vc_column-inner {
	padding: 0;
}

.gvg-hangar .gvg-band .wpb_content_element {
	margin-bottom: 0;
}

.gvg-hangar .gvg-band h2.gvg-h2,
.gvg-hangar .gvg-band .gvg-step h3,
.gvg-hangar .gvg-band .gvg-step__n {
	color: var(--gvg-base);
}

.gvg-hangar .gvg-steps {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
	gap: 48px 32px;
	margin-top: 48px;
}

.gvg-hangar .gvg-step {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding-top: 20px;
	border-top: 1px solid rgba(15, 16, 17, 0.4);
}

.gvg-hangar .gvg-step__n {
	font-family: var(--gvg-narrow);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.08em;
}

.gvg-hangar :is(.gvg-about, .gvg-split, .gvg-band) .gvg-step p {
	font-size: 15px;
	line-height: 1.65;
	color: #2b2a26;
}

.gvg-hangar .vc_row:is(.gvg-about, .gvg-split) > .wpb_column.gvg-col-widest {
	flex: 1.5 1 460px;
}

/* Contact details list (Contact Us) */
.gvg-hangar .gvg-info {
	display: flex;
	flex-direction: column;
	gap: 32px;
	margin: 0;
}

.gvg-hangar .gvg-info > div {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.gvg-hangar .gvg-info dt {
	font-family: var(--gvg-narrow);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--gvg-amber);
}

.gvg-hangar .gvg-info dd {
	margin: 0;
	font-size: 17px;
	line-height: 1.55;
	color: var(--gvg-contrast);
}

.gvg-hangar .gvg-info a {
	color: var(--gvg-contrast);
}

.gvg-hangar .gvg-info a:hover {
	color: var(--gvg-amber);
}

/* Undo the home page's amber treatment of the Terms link. */
.gvg-hangar .gvg-info a[href*="Purchasing-terms"] {
	font-family: var(--gvg-sans);
	font-size: 17px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	color: var(--gvg-contrast) !important;
}

.gvg-hangar .gvg-info a[href*="Purchasing-terms"]:hover {
	color: var(--gvg-amber) !important;
}

/* Contact Form 7 layout from the form template in content/contact-form-7.txt.
   CF7 may wrap lines in <p> or add <br>, so both are neutralised. */
.gvg-hangar .gvg-form {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
	gap: 20px;
}

.gvg-hangar .gvg-form > p {
	display: contents;
}

.gvg-hangar .gvg-form br {
	display: none;
}

.gvg-hangar .gvg-form label {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	font-family: var(--gvg-sans);
	font-size: 13px;
	line-height: 1.3;
	color: var(--gvg-body);
}

.gvg-hangar .gvg-form .gvg-form__full {
	grid-column: 1 / -1;
}

.gvg-hangar .gvg-form .wpcf7-form-control-wrap {
	display: block;
}

.gvg-hangar .gvg-form input.wpcf7-form-control:not(.wpcf7-submit),
.gvg-hangar .gvg-form textarea.wpcf7-form-control {
	width: 100%;
	box-sizing: border-box;
	margin: 0;
}

.gvg-hangar .gvg-form textarea.wpcf7-form-control {
	height: auto;
	min-height: 140px;
	resize: vertical;
}

.gvg-hangar .gvg-form .wpcf7-spinner {
	vertical-align: middle;
}

.gvg-hangar .vc_row:is(.gvg-about, .gvg-split) > .wpb_column.gvg-col-narrow {
	flex: 1 1 300px;
}

.gvg-hangar .vc_row:is(.gvg-about, .gvg-split) > .wpb_column.gvg-col-double {
	flex: 2 1 520px;
}

/* Amber button */
.gvg-hangar a.gvg-btn {
	display: inline-flex;
	align-items: center;
	padding: 14px 26px;
	background: var(--gvg-amber);
	font-family: var(--gvg-narrow);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--gvg-base);
	transition: background-color 0.15s;
}

.gvg-hangar a.gvg-btn:hover {
	background: var(--gvg-contrast);
	color: var(--gvg-base);
}

/* Numbered category list (Products) */
.gvg-hangar .gvg-plist {
	display: flex;
	flex-direction: column;
	border-top: 1px solid var(--gvg-contrast);
}

.gvg-hangar .gvg-plist > a,
.gvg-hangar .gvg-plist summary {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr) auto;
	align-items: center;
	gap: 16px;
	padding: 24px 0;
	border-bottom: 1px solid var(--gvg-line);
	font-family: var(--gvg-sans);
	font-size: 22px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--gvg-contrast);
}

.gvg-hangar .gvg-plist > a:hover,
.gvg-hangar .gvg-plist summary:hover,
.gvg-hangar .gvg-plist details[open] > summary {
	color: var(--gvg-amber);
}

/* Accordion rows (<details>): the row opens its detail below it. */
.gvg-hangar .gvg-plist summary {
	cursor: pointer;
	list-style: none;
	transition: color 0.15s;
}

.gvg-hangar .gvg-plist summary::-webkit-details-marker {
	display: none;
}

.gvg-hangar .gvg-plist summary:focus-visible {
	outline: 2px solid var(--gvg-amber);
	outline-offset: 4px;
}

.gvg-hangar .gvg-plist details[open] > summary {
	border-bottom-color: transparent;
}

.gvg-hangar .gvg-plist .gvg-when-open,
.gvg-hangar .gvg-plist details[open] .gvg-when-closed {
	display: none;
}

.gvg-hangar .gvg-plist details[open] .gvg-when-open {
	display: inline;
}

.gvg-hangar .gvg-pdetail {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
	gap: 28px 32px;
	padding: 0 0 40px 72px;
	border-bottom: 1px solid var(--gvg-line);
	animation: gvg-reveal 0.25s ease-out;
}

@keyframes gvg-reveal {
	from {
		opacity: 0;
		transform: translateY(-6px);
	}
}

.gvg-hangar .gvg-pdetail__item {
	padding-top: 16px;
	border-top: 1px solid var(--gvg-line);
}

.gvg-hangar .gvg-pdetail__item h4 {
	margin: 0 0 10px;
	font-family: var(--gvg-narrow);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--gvg-contrast);
}

.gvg-hangar :is(.gvg-about, .gvg-split) .gvg-pdetail p {
	font-size: 15px;
	line-height: 1.65;
}

.gvg-hangar .gvg-pdetail ul {
	margin: 10px 0 0;
	padding-left: 18px;
	font-size: 15px;
	line-height: 1.6;
	color: var(--gvg-body);
}

.gvg-hangar :is(.gvg-about, .gvg-split) .gvg-pdetail .gvg-pdetail__group {
	grid-column: 1 / -1;
	margin: 12px 0 -12px;
	font-family: var(--gvg-narrow);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--gvg-amber);
}

.gvg-hangar :is(.gvg-about, .gvg-split) .gvg-pdetail .gvg-pdetail__more {
	grid-column: 1 / -1;
	margin: 0;
}

.gvg-hangar .gvg-pdetail__more a {
	font-family: var(--gvg-narrow);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--gvg-amber);
}

.gvg-hangar .gvg-pdetail__more a:hover {
	color: var(--gvg-contrast);
}

@media (prefers-reduced-motion: reduce) {
	.gvg-hangar .gvg-pdetail {
		animation: none;
	}
}

.gvg-hangar .gvg-plist__n {
	font-family: var(--gvg-narrow);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: var(--gvg-muted);
}

.gvg-hangar .gvg-plist__cta {
	font-family: var(--gvg-narrow);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--gvg-amber);
}

@media only screen and (max-width: 680px) {
	.gvg-hangar .gvg-plist > a,
	.gvg-hangar .gvg-plist summary {
		grid-template-columns: 40px minmax(0, 1fr) auto;
		font-size: 18px;
	}

	.gvg-hangar .gvg-pdetail {
		padding-left: 0;
	}
}

/* A page set to a sidebar layout with no widgets in the sidebar: drop the
   empty column so the content takes the full width and stays centered. */
.gvg-hangar .mkd-grid-row:has(> .mkd-sidebar-holder):not(:has(> .mkd-sidebar-holder .widget)) > .mkd-sidebar-holder {
	display: none;
}

.gvg-hangar .mkd-grid-row:has(> .mkd-sidebar-holder):not(:has(> .mkd-sidebar-holder .widget)) > .mkd-page-content-holder {
	width: 100%;
	float: none;
}

/* "Full Width" page template: rows sit edge to edge unless the row is set to
   grid in WPBakery, so the Hangar rows add the grid themselves. */
.gvg-hangar .mkd-full-width-inner > .mkd-grid-row > .mkd-page-content-holder > .vc_row:is(.gvg-about, .gvg-split, .gvg-band, .gvg-section) {
	box-sizing: border-box;
	max-width: var(--gvg-max);
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: var(--gvg-pad);
	padding-right: var(--gvg-pad);
}

/* Plain one-column row for a full-width section (row class "gvg-section"). */
.gvg-hangar .vc_row.gvg-section {
	margin: 0 0 clamp(56px, 7vw, 112px) !important;
}

.gvg-hangar .vc_row.gvg-section > .wpb_column > .vc_column-inner {
	padding: 0;
}

.gvg-hangar .vc_row.gvg-section .wpb_content_element {
	margin-bottom: 0;
}

/* [gvg_visit_office] – Visit our office (Contact Us) */
.gvg-hangar .gvg-visit {
	display: flex;
	flex-direction: column;
	gap: 28px;
}

.gvg-hangar .gvg-visit__head {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 16px;
	padding-top: 40px;
	border-top: 1px solid var(--gvg-line);
}

.gvg-hangar .gvg-visit__head h2 {
	margin: 0;
	font-family: var(--gvg-narrow);
	font-size: clamp(36px, 5vw, 68px);
	font-weight: 700;
	line-height: 0.92;
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--gvg-contrast);
}

.gvg-hangar a.gvg-visit__dir {
	font-family: var(--gvg-narrow);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--gvg-amber);
}

.gvg-hangar a.gvg-visit__dir:hover {
	color: var(--gvg-contrast);
}

.gvg-hangar .gvg-visit__grid {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
}

.gvg-hangar .gvg-visit__map {
	flex: 1 1 100%;
	min-height: 560px;
	background: var(--gvg-surface);
}

.gvg-hangar .gvg-visit__map iframe {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 560px;
	border: 0;
}

@media only screen and (max-width: 680px) {
	.gvg-hangar .gvg-visit__map,
	.gvg-hangar .gvg-visit__map iframe {
		min-height: 360px;
	}
}

/* Contact Us banner: taller, with a lighter overlay so the building shows. */
body.gvg-hangar:has(.gvg-info) .mkd-title-holder {
	height: clamp(480px, calc(78vh + 20px), 800px) !important;
}

body.gvg-hangar:has(.gvg-info) .mkd-title-holder::after {
	background: linear-gradient(180deg, rgba(15, 16, 17, 0.45) 0%, rgba(15, 16, 17, 0) 40%, rgba(15, 16, 17, 0) 70%, var(--gvg-base) 100%);
}

/* Desktop: every banner, Contact Us included, is 640px. */
@media only screen and (min-width: 1025px) {
	body.gvg-hangar:has(.gvg-info) .mkd-title-holder {
		height: 640px !important;
	}
}

/* A band at the end of the page meets the footer without a dark gap. */
.gvg-hangar .mkd-full-width-inner:has(.vc_row.gvg-band) {
	padding-bottom: 0 !important;
}

/* ---------- Product category sidebar (Bellows menu) ---------- */

.gvg-hangar .bellows.bellows-skin-grey-material {
	background: transparent;
	border-top: 1px solid var(--gvg-contrast);
	box-shadow: none;
}

.gvg-hangar .bellows.bellows-skin-grey-material .bellows-nav .bellows-target {
	padding: 18px 0;
	background: transparent;
	border-bottom: 1px solid var(--gvg-line);
	font-family: var(--gvg-narrow);
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--gvg-contrast);
}

.gvg-hangar .bellows.bellows-skin-grey-material .bellows-nav .bellows-target:hover,
.gvg-hangar .bellows.bellows-skin-grey-material .bellows-nav .bellows-current-menu-item > .bellows-target {
	background: transparent;
	color: var(--gvg-amber);
}

.gvg-hangar .bellows.bellows-skin-grey-material .bellows-nav .bellows-current-menu-item > .bellows-target {
	padding-left: 14px;
	box-shadow: inset 3px 0 0 var(--gvg-amber);
}

/* ---------- Contact page ---------- */

.gvg-hangar .mkd-iwt .mkd-icon-element {
	color: var(--gvg-amber) !important;
}

.gvg-hangar .mkd-iwt .mkd-iwt-text {
	font-size: 17px;
	line-height: 1.55;
	color: var(--gvg-contrast) !important;
}

.gvg-hangar .wpb_wrapper:has(> .wpcf7) {
	padding: 36px;
	background: var(--gvg-surface);
	border-top: 3px solid var(--gvg-amber);
}

.gvg-hangar .wpcf7 input.wpcf7-form-control:not(.wpcf7-submit),
.gvg-hangar .wpcf7 textarea.wpcf7-form-control,
.gvg-hangar .wpcf7 select.wpcf7-form-control {
	padding: 14px;
	border: 1px solid var(--gvg-field-line) !important;
	border-radius: 0;
	background-color: var(--gvg-base) !important;
	font-family: var(--gvg-sans);
	font-size: 15px;
	color: var(--gvg-contrast) !important;
}

.gvg-hangar .wpcf7 input.wpcf7-form-control:not(.wpcf7-submit):focus,
.gvg-hangar .wpcf7 textarea.wpcf7-form-control:focus {
	border-color: var(--gvg-amber) !important;
}

.gvg-hangar .wpcf7 ::placeholder {
	color: var(--gvg-muted);
	opacity: 1;
}

.gvg-hangar .wpcf7 p {
	color: var(--gvg-body);
}

.gvg-hangar input.wpcf7-form-control.wpcf7-submit,
.gvg-hangar input[type="submit"],
.gvg-hangar .mkd-btn.mkd-btn-solid {
	width: auto;
	height: auto;
	padding: 14px 26px;
	line-height: 1.3;
	border: 0 !important;
	border-radius: 0;
	background-color: var(--gvg-amber) !important;
	font-family: var(--gvg-narrow);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--gvg-base) !important;
	cursor: pointer;
}

.gvg-hangar input.wpcf7-form-control.wpcf7-submit:not([disabled]):hover,
.gvg-hangar input[type="submit"]:hover,
.gvg-hangar .mkd-btn.mkd-btn-solid:hover {
	background-color: var(--gvg-contrast) !important;
	color: var(--gvg-base) !important;
}

.gvg-hangar .wpcf7-response-output {
	border-color: var(--gvg-amber) !important;
	color: var(--gvg-contrast);
}

.gvg-hangar .wpcf7-not-valid-tip {
	color: #ff8a7a;
}

/* Google map: muted to sit in the dark palette. */
.gvg-hangar .wpb_gmaps_widget .wpb_wrapper {
	padding: 0;
	background: transparent;
}

.gvg-hangar .wpb_gmaps_widget iframe {
	display: block;
	filter: grayscale(1) invert(0.92) contrast(0.9);
}

/* ---------- Misc ---------- */

.gvg-hangar #mkd-back-to-top > span {
	border-radius: 0;
	background-color: var(--gvg-amber);
	color: var(--gvg-base);
}

.gvg-hangar .mkd-404-page .mkd-content {
	background-color: var(--gvg-base);
}

.gvg-hangar .mkd-page-content-holder > .mkd-404-page,
.gvg-hangar .mkd-blog-holder article {
	color: var(--gvg-body);
}

/* ---------- Responsive ---------- */

@media only screen and (max-width: 1024px) {
	.gvg-hangar .mkd-content .mkd-content-inner > .mkd-container > .mkd-container-inner,
	.gvg-hangar .mkd-content .mkd-content-inner > .mkd-full-width > .mkd-full-width-inner {
		padding-top: 48px !important;
	}

	.gvg-hangar.home .mkd-content .mkd-content-inner > .mkd-full-width > .mkd-full-width-inner {
		padding-top: 0 !important;
	}

	.gvg-hangar .mkd-mobile-header .mkd-mobile-logo-wrapper a {
		height: auto !important;
		padding: 0;
	}

	.gvg-hangar .mkd-mobile-logo-wrapper a img {
		height: 30px !important;
	}

	.gvg-hangar .mkd-title-holder {
		height: 360px !important;
	}

	/* Baumeister swaps the background for this <img> on smaller screens. */
	.gvg-hangar .mkd-title-holder .mkd-title-image {
		display: block;
		position: absolute;
		inset: 0;
	}

	.gvg-hangar .mkd-title-holder .mkd-title-image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.gvg-hangar.home .vc_row-o-equal-height > .vc_col-has-fill {
		margin-bottom: 4px;
	}
}

@media only screen and (max-width: 768px) {
	.gvg-hangar .mkd-top-bar {
		display: none;
	}

	.gvg-hangar.home .vc_row-o-equal-height > .vc_col-has-fill > .vc_column-inner {
		aspect-ratio: 4 / 3;
	}

	.gvg-hangar .wpb_wrapper:has(> .wpcf7) {
		padding: 24px;
	}

	.gvg-hangar .mkd-page-footer .mkd-footer-bottom-column-2 {
		text-align: left;
	}

	.gvg-hangar .gvg-products-band__list a {
		font-size: 19px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.gvg-hangar *,
	.gvg-hangar *::before,
	.gvg-hangar *::after {
		transition-duration: 0.01ms !important;
	}
}

/* ---------- Services: grouped layout ----------
 * Row class gvg-group; columns gvg-group__side (number, title, photo) and
 * gvg-group__main (lead paragraph + gvg-items grid). See content/services-grouped.wpbakery.txt.
 */
.gvg-hangar .vc_row.gvg-group {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	align-items: flex-start;
	margin: 0 0 clamp(48px, 6vw, 72px) !important;
	padding-top: 32px;
	border-top: 3px solid var(--gvg-amber);
}

.gvg-hangar .vc_row.gvg-group::before,
.gvg-hangar .vc_row.gvg-group::after {
	display: none;
}

.gvg-hangar .vc_row.gvg-group > .wpb_column {
	float: none;
	width: auto;
	padding: 0;
}

.gvg-hangar .vc_row.gvg-group > .wpb_column > .vc_column-inner {
	padding: 0;
}

.gvg-hangar .vc_row.gvg-group > .gvg-group__side {
	flex: 1 1 320px;
}

.gvg-hangar .vc_row.gvg-group > .gvg-group__main {
	flex: 2 1 520px;
}

.gvg-hangar .gvg-group__side .wpb_content_element {
	margin-bottom: 20px;
}

.gvg-hangar .gvg-group__n,
.gvg-hangar .gvg-item__n {
	display: block;
	font-family: var(--gvg-narrow);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.16em;
	color: var(--gvg-amber);
}

.gvg-hangar .gvg-item__n {
	letter-spacing: 0;
	color: var(--gvg-muted);
}

.gvg-hangar h3.gvg-group__t {
	margin: 20px 0 0;
	font-family: var(--gvg-narrow);
	font-size: clamp(30px, 3vw, 44px);
	font-weight: 700;
	line-height: 0.95;
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--gvg-contrast);
}

.gvg-hangar .gvg-group .gvg-img img {
	aspect-ratio: 4 / 3;
}

.gvg-hangar p.gvg-group__lead {
	margin: 0 0 24px;
	font-size: 17px;
	line-height: 1.7;
	color: var(--gvg-body);
}

.gvg-hangar .gvg-items {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
	gap: 1px;
	background: var(--gvg-line);
	border: 1px solid var(--gvg-line);
}

.gvg-hangar .gvg-item {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 28px;
	background: var(--gvg-base);
}

.gvg-hangar .gvg-item h4 {
	margin: 0;
	font-family: var(--gvg-narrow);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: 0;
	text-transform: uppercase;
	color: var(--gvg-contrast);
}

.gvg-hangar .gvg-item p {
	margin: 0;
	font-size: 15px;
	line-height: 1.7;
	color: var(--gvg-body);
}
