/*
Theme Name: Soundfix
Version: 999
Tested up to: 6.9
Requires at least: 4.4
Requires PHP: 5.2.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: one-column, two-columns, right-sidebar, accessibility-ready, custom-background, custom-colors, custom-header, custom-menu, editor-style, featured-images, flexible-header, microformats, post-formats, rtl-language-support, sticky-post, threaded-comments, translation-ready, blog, block-patterns
Text Domain: twentysixteen

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/


/**
 * Table of Contents
 *
 * 1.0 - Normalize
 * 2.0 - Genericons
 * 3.0 - Typography
 * 4.0 - Elements
 * 5.0 - Forms
 * 6.0 - Navigation
 *   6.1 - Links
 *   6.2 - Menus
 * 7.0 - Accessibility
 * 8.0 - Alignments
 * 9.0 - Clearings
 * 10.0 - Widgets
 * 11.0 - Content
 *    11.1 - Header
 *    11.2 - Posts and pages
 *    11.3 - Post Formats
 *    11.4 - Comments
 *    11.5 - Sidebar
 *    11.6 - Footer
 * 12.0 - Media
 *    12.1 - Captions
 *    12.2 - Galleries
 * 13.0 - Multisite
 * 14.0 - Media Queries
 *    14.1 - >= 710px
 *    14.2 - >= 783px
 *    14.3 - >= 910px
 *    14.4 - >= 985px
 *    14.5 - >= 1200px
 * 15.0 - Print
 */

/**
 * Satoshi Font Family
 * Loaded from Fontshare CDN
 */
@import url('https://api.fontshare.com/v2/css?f[]=satoshi@400,500,700,900&display=swap');

/**
 * Design Tokens - Common variables for consistent styling
 * Use these throughout the theme instead of hardcoded values
 */
:root {
	/* Font families */
	--font-primary: 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	--font-satoshi: var(--font-primary);
	--font-sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
	--font-body: Merriweather, Georgia, serif;
	--font-mono: Inconsolata, monospace;

	/* Colors - Brand & UI */
	--color-text: #1a1a1a;
	--color-text-muted: #555;
	--color-text-light: #666;
	--color-text-lighter: #686868;
	--color-text-placeholder: #999;
	--color-accent: #474cf1;
	--color-link: #007acc;
	--color-link-hover: #0066cc;
	--color-white: #fff;
	--color-bg: #fff;
	--color-bg-alt: #f8f8f8;
	--color-bg-input: #f5f5f5;
	--color-bg-orange: #F47A20;

	/* Borders */
	--color-border: #d1d1d1;
	--color-border-light: #e5e5e5;
	--color-border-dark: #1a1a1a;

	/* Layout */
	--container-max: 1200px;
	--section-padding: 2rem;
	--content-padding-lg:4rem;
	--section-padding-sm: 2.5rem;
	--content-padding: 2rem;
	--content-padding-sm: 1.25rem;
	--top-section-padding: 3.8rem;
	--gap: 1rem;
	--gap-lg: 2rem;
	--gap-xl: 3rem;

	/* Border radius */
	--radius-sm: 8px;
	--radius-md: 12px;
	--radius-lg: 16px;
	--radius-pill: 50px;

	/* Shadows */
	--shadow-sm: 0 1px 4px rgba(0, 0, 0, 0.06);
	--shadow-md: 0 2px 12px rgba(0, 0, 0, 0.08);
	--shadow-lg: 0 2px 16px rgba(0, 0, 0, 0.06);
}

/**
 * Common / Shared utilities
 * Use these classes for consistent layout and typography
 */
.container {
	max-width: var(--container-max);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--content-padding);
	padding-right: var(--content-padding);
}

.font-primary { font-family: var(--font-primary); }
.font-sans { font-family: var(--font-sans); }
.font-body { font-family: var(--font-body); }

.text-muted { color: var(--color-text-muted); }
.text-accent { color: var(--color-accent); }

.card {
	background: var(--color-bg);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-md);
}

/**
 * 1.0 - Normalize
 *
 * Normalizing styles have been helped along thanks to the fine work of
 * Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/
 */

 html {
	font-family: sans-serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}

body {
	margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
	display: block;
}

audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

[hidden],
template {
	display: none;
}

a {
	background-color: transparent;
}

abbr[title] {
	border-bottom: 1px dotted;
}

b,
strong {
	font-weight: 700;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

img {
	border: 0;
}

svg:not(:root) {
	overflow: hidden;
}

figure {
	margin: 0;
}

hr {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}

code,
kbd,
pre,
samp {
	font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
	color: inherit;
	font: inherit;
	margin: 0;
}

select {
	text-transform: none;
}

button {
	overflow: visible;
}

button,
input,
select,
textarea {
	max-width: 100%;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
}

button[disabled],
html input[disabled] {
	cursor: default;
	opacity: .5;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input[type="checkbox"],
input[type="radio"] {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin-right: 0.4375em;
	padding: 0;
}

input[type="date"]::-webkit-inner-spin-button,
input[type="date"]::-webkit-outer-spin-button,
input[type="time"]::-webkit-inner-spin-button,
input[type="time"]::-webkit-outer-spin-button,
input[type="datetime-local"]::-webkit-inner-spin-button,
input[type="datetime-local"]::-webkit-outer-spin-button,
input[type="week"]::-webkit-inner-spin-button,
input[type="week"]::-webkit-outer-spin-button,
input[type="month"]::-webkit-inner-spin-button,
input[type="month"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

input[type="search"] {
	-webkit-appearance: textfield;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

fieldset {
	border: 1px solid #d1d1d1;
	margin: 0 0 1.75em;
	min-width: inherit;
	padding: 0.875em;
}

fieldset > :last-child {
	margin-bottom: 0;
}

legend {
	border: 0;
	padding: 0;
}

textarea {
	overflow: auto;
	vertical-align: top;
}

optgroup {
	font-weight: bold;
}


/**
 * 2.0 - Genericons
 */

.menu-item-has-children a:after,
.social-navigation a:before,
.dropdown-toggle:after,
.bypostauthor > article .fn:after,
.comment-reply-title small a:before,
.pagination .prev:before,
.pagination .next:before,
.pagination .nav-links:before,
.pagination .nav-links:after,
.search-submit:before {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	display: inline-block;
	font-family: "Genericons";
	font-size: 16px;
	font-style: normal;
	font-variant: normal;
	font-weight: normal;
	line-height: 1;
	speak: never;
	text-align: center;
	text-decoration: inherit;
	text-transform: none;
	vertical-align: top;
}


/**
 * 3.0 - Typography
 */

body,
button,
input,
select,
textarea {
	color: var(--color-text);
	font-family: var(--font-body);
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.75;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
	font-weight: 700;
	margin: 0;
	text-rendering: optimizeLegibility;
}

p {
	margin: 0 0 1.75em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	border: 0 solid #1a1a1a;
	border-left-width: 4px;
	color: var(--color-text-lighter);
	font-size: 19px;
	font-size: 1.1875rem;
	font-style: italic;
	line-height: 1.4736842105;
	margin: 0 0 1.4736842105em;
	overflow: hidden;
	padding: 0 0 0 1.263157895em;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: "";
}

blockquote p {
	margin-bottom: 1.4736842105em;
}

blockquote cite,
blockquote small {
	color: var(--color-text);
	display: block;
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.75;
}

blockquote cite:before,
blockquote small:before {
	content: "\2014\00a0";
}

blockquote em,
blockquote i,
blockquote cite {
	font-style: normal;
}

blockquote strong,
blockquote b {
	font-weight: 400;
}

blockquote > :last-child {
	margin-bottom: 0;
}

address {
	font-style: italic;
	margin: 0 0 1.75em;
}

code,
kbd,
tt,
var,
samp,
pre {
	font-family: Inconsolata, monospace;
}

pre {
	border: 1px solid #d1d1d1;
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.3125;
	margin: 0 0 1.75em;
	max-width: 100%;
	overflow: auto;
	padding: 1.75em;
	white-space: pre;
	white-space: pre-wrap;
	word-wrap: break-word;
}

code {
	background-color: #d1d1d1;
	padding: 0.125em 0.25em;
}

abbr,
acronym {
	border-bottom: 1px dotted #d1d1d1;
	cursor: help;
}

mark,
ins {
	background: #007acc;
	color: var(--color-white);
	padding: 0.125em 0.25em;
	text-decoration: none;
}

big {
	font-size: 125%;
}


/**
 * 4.0 - Elements
 */

html {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

*,
*:before,
*:after {
	/* Inherit box-sizing to make it easier to change the property for components that leverage other behavior; see http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
	-webkit-box-sizing: inherit;
	-moz-box-sizing: inherit;
	box-sizing: inherit;
}

/* body { */
	/* background: var(--color-text); */
	/* Fallback for when there is no custom background color defined. */
/* } */

hr {
	background-color: var(--color-border);
	border: 0;
	height: 1px;
	margin: 0 0 1.75em;
}

ul,
ol {
	margin: 0 0 1.75em 1.25em;
	padding: 0;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
	margin-left: 1.5em;
}

li > ul,
li > ol {
	margin-bottom: 0;
}

dl {
	margin: 0 0 1.75em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 0 1.75em;
}

img {
	height: auto;
	/* Make sure images are scaled correctly. */
	max-width: 100%;
	/* Adhere to container width. */
	vertical-align: middle;
}

del {
	opacity: 0.8;
}

table,
th,
td {
	border: 1px solid #d1d1d1;
}

table {
	border-collapse: separate;
	border-spacing: 0;
	border-width: 1px 0 0 1px;
	margin: 0 0 1.75em;
	table-layout: fixed;
	/* Prevents HTML tables from becoming too wide */
	width: 100%;
}

caption,
th,
td {
	font-weight: normal;
	text-align: left;
}

th {
	border-width: 0 1px 1px 0;
	font-weight: 700;
}

td {
	border-width: 0 1px 1px 0;
}

th,
td {
	padding: 0.4375em;
}

/* Placeholder text color -- selectors need to be separate to work. */
::-webkit-input-placeholder {
	color: var(--color-text-lighter);
	font-family: var(--font-primary);
}

:-moz-placeholder {
	color: var(--color-text-lighter);
	font-family: var(--font-primary);
}

::-moz-placeholder {
	color: var(--color-text-lighter);
	font-family: var(--font-primary);
	opacity: 1;
	/* Since FF19 lowers the opacity of the placeholder by default */
}

:-ms-input-placeholder {
	color: var(--color-text-lighter);
	font-family: var(--font-primary);
}


/**
 * 5.0 - Forms
 */

input {
	line-height: normal;
}

button,
button[disabled]:hover,
button[disabled]:focus,
input[type="button"],
input[type="button"][disabled]:hover,
input[type="button"][disabled]:focus,
input[type="reset"],
input[type="reset"][disabled]:hover,
input[type="reset"][disabled]:focus,
input[type="submit"],
input[type="submit"][disabled]:hover,
input[type="submit"][disabled]:focus {
	background: #1a1a1a;
	border: 0;
	border-radius: 2px;
	color: var(--color-white);
	font-family: var(--font-primary);
	font-weight: 700;
	letter-spacing: 0.046875em;
	line-height: 1;
	padding: 0.84375em 0.875em 0.78125em;
	text-transform: uppercase;
}

button:hover,
button:focus,
input[type="button"]:hover,
input[type="button"]:focus,
input[type="reset"]:hover,
input[type="reset"]:focus,
input[type="submit"]:hover,
input[type="submit"]:focus {
	background: #007acc;
}

button:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus {
	outline: thin dotted;
	outline-offset: -4px;
}

input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="week"],
input[type="month"],
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="number"],
textarea {
	background: #f7f7f7;
	background-image: -webkit-linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0));
	border: 1px solid #d1d1d1;
	border-radius: 2px;
	color: var(--color-text-lighter);
	padding: 0.625em 0.4375em;
	width: 100%;
}

input[type="date"]:focus,
input[type="time"]:focus,
input[type="datetime-local"]:focus,
input[type="week"]:focus,
input[type="month"]:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
textarea:focus {
	background-color: var(--color-white);
	border-color: var(--color-link);
	color: var(--color-text);
	outline: 0;
}

.post-password-form {
	margin-bottom: 1.75em;
}

.post-password-form label {
	color: var(--color-text-lighter);
	display: block;
	font-family: var(--font-primary);
	font-size: 13px;
	font-size: 0.8125rem;
	letter-spacing: 0.076923077em;
	line-height: 1.6153846154;
	margin-bottom: 1.75em;
	text-transform: uppercase;
}

.post-password-form input[type="password"] {
	margin-top: 0.4375em;
}

.post-password-form > :last-child {
	margin-bottom: 0;
}

.search-form {
	position: relative;
}

input[type="search"].search-field {
	border-radius: 2px 0 0 2px;
	width: -webkit-calc(100% - 42px);
	width: calc(100% - 42px);
}

.search-submit:before {
	content: "\f400";
	font-size: 24px;
	left: 2px;
	line-height: 42px;
	position: relative;
	width: 40px;
}

.search-submit {
	border-radius: 0 2px 2px 0;
	bottom: 0;
	overflow: hidden;
	padding: 0;
	position: absolute;
	right: 0;
	top: 0;
	width: 42px;
}


/**
 * 6.0 - Navigation
 */

/**
 * 6.1 - Links
 */

a {
	color: var(--color-link);
	text-decoration: none;
}

a:hover,
a:focus,
a:active {
	color: var(--color-text-lighter);
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

.entry-content a,
.entry-summary a,
.taxonomy-description a,
.logged-in-as a,
.comment-content a,
.pingback .comment-body > a,
.textwidget a,
.entry-footer a:hover,
.site-info a:hover {
	box-shadow: 0 1px 0 0 currentColor;
}

.entry-content a:hover,
.entry-content a:focus,
.entry-summary a:hover,
.entry-summary a:focus,
.taxonomy-description a:hover,
.taxonomy-description a:focus,
.logged-in-as a:hover,
.logged-in-as a:focus,
.comment-content a:hover,
.comment-content a:focus,
.pingback .comment-body > a:hover,
.pingback .comment-body > a:focus,
.textwidget a:hover,
.textwidget a:focus {
	box-shadow: none;
}


/**
 * 6.2 - Menus
 */

/* Figma: Nav hidden on mobile, shown when toggled */
.site-header-menu {
	display: none;
	flex: 1 1 100%;
	width: 100%;
	margin: 0;
	order: 4;
	justify-content: flex-end;
}

.site-header-menu.toggled-on,
.no-js .site-header-menu {
	display: block;
}

.main-navigation {
	font-family: var(--font-sans);
}

.site-footer .main-navigation {
	margin-bottom: 1.75em;
}

.main-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.main-navigation li {
	border-top: 1px solid #e5e5e5;
	position: relative;
}

.main-navigation a {
	color: var(--color-text);
	display: block;
	line-height: 1.3125;
	outline-offset: -1px;
	padding: 0.75rem 0;
	font-size: 1rem;
	font-weight: 400;
}

.main-navigation a:hover,
.main-navigation a:focus {
	/* color: var(--color-accent); */
	border-bottom: 1px solid var(--color-text);
}

.main-navigation .current-menu-item > a,
.main-navigation .current-menu-ancestor > a {
	font-weight: 700;
	/* color: var(--color-accent); */
	font-family: var(--font-primary);
}
.main-navigation li:hover > a[href*="contact"],
.main-navigation li.focus > a[href*="contact"],
.current-menu-ancestor a[href*="contact"],
.current-menu-item a[href*="contact"]{
	/* border: 1px solid var(--color-accent) !important; */
	

}

.main-navigation ul ul {
	display: none;
	margin-left: 0.875em;
}

.no-js .main-navigation ul ul {
	display: block;
}

.main-navigation ul .toggled-on {
	display: block;
}

.main-navigation .primary-menu {
	border-bottom: none;
}

/* Contact Us - pill button style (Figma, desktop only) */
.primary-menu .menu-item a[href*="contact"] {
	display: inline-flex;
	align-items: center;
	gap: 1rem;
	width: fit-content;
	white-space: nowrap;
	background-color: transparent;
	border: 1px solid var(--color-border-dark);
	border-radius: var(--radius-pill);
	padding: 12px 24px;
	font-size: 1.2rem;
	font-weight: 400;
}

.primary-menu .menu-item a[href*="contact"] {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 0.8rem;
  }
  
  .primary-menu .menu-item a[href*="contact"]::after {
	content: "›";
	font-size: 18px;
	line-height: 1;
	font-weight: 500;
	transition: transform 0.3s ease;
  }
  
  .primary-menu .menu-item a[href*="contact"]:hover::after {
	transform: translateX(4px);
  }
/*   
.primary-menu .menu-item a[href*="contact"]::after {
	content: "\003E";
	font-size: 16px;
	line-height: 1;
} */

/* Mobile: Contact Us same as other menu items (no border, no pill) */
@media screen and (max-width: 63.999em) {
	.primary-menu .menu-item a[href*="contact"] {
		display: block;
		width: auto;
		border: none;
		border-radius: 0;
		padding: 0.75rem 0;
		color: var(--color-text);
		display: block;
		line-height: 1.3125;
		outline-offset: -1px;
		font-size: 1rem !important;
		font-weight: 400;
	}
	.primary-menu .menu-item a[href*="contact"]::after {
		content: none;
	}
}

.main-navigation .menu-item-has-children > a {
	margin-right: 56px;
}

.menu-item-has-children{
	width: auto;
    min-width: 8.5rem;
}
.dropdown-toggle {
	background-color: transparent;
	border: 0;
	border-radius: 0;
	color: var(--color-text);
	content: "";
	height: 48px;
	padding: 0;
	position: absolute;
	right: 0;
	text-transform: none;
	top: 0;
	width: 48px;
}

.dropdown-toggle:after {
	border: 0 solid #d1d1d1;
	border-left-width: 1px;
	content: "\f431";
	font-size: 24px;
	left: 1px;
	position: relative;
	width: 48px;
}

.dropdown-toggle:hover,
.dropdown-toggle:focus {
	background-color: transparent;
	color: var(--color-link);
}

.dropdown-toggle:focus {
	outline: thin dotted;
	outline-offset: -1px;
}

.dropdown-toggle:focus:after {
	border-color: transparent;
}

.dropdown-toggle.toggled-on:after {
	content: "\f432";
}

.site-header .main-navigation + .social-navigation {
	margin-top: 1.75em;
}

.site-footer .social-navigation {
	margin-bottom: -0.5em;
}

.social-navigation ul {
	list-style: none;
	margin: 0 0 -0.4375em;
}

.social-navigation li {
	float: left;
	margin: 0 0.4375em 0.4375em 0;
}

.social-navigation a {
	border: 1px solid #d1d1d1;
	border-radius: 50%;
	color: var(--color-text);
	display: block;
	height: 35px;
	position: relative;
	width: 35px;
}

.social-navigation a:before {
	content: "\f415";
	height: 33px;
	line-height: 33px;
	text-align: center;
	width: 33px;
}

.social-navigation a:hover:before,
.social-navigation a:focus:before {
	color: var(--color-link);
}

.social-navigation a[href*="codepen.io"]:before {
	content: "\f216";
}

.social-navigation a[href*="digg.com"]:before {
	content: "\f221";
}

.social-navigation a[href*="dribbble.com"]:before {
	content: "\f201";
}

.social-navigation a[href*="dropbox.com"]:before {
	content: "\f225";
}

.social-navigation a[href*="facebook.com"]:before {
	content: "\f203";
}

.social-navigation a[href*="flickr.com"]:before {
	content: "\f211";
}

.social-navigation a[href*="foursquare.com"]:before {
	content: "\f226";
}

.social-navigation a[href*="plus.google.com"]:before {
	content: "\f206";
}

.social-navigation a[href*="github.com"]:before {
	content: "\f200";
}

.social-navigation a[href*="instagram.com"]:before {
	content: "\f215";
}

.social-navigation a[href*="linkedin.com"]:before {
	content: "\f208";
}

.social-navigation a[href*="path.com"]:before {
	content: "\f219";
}

.social-navigation a[href*="pinterest.com"]:before {
	content: "\f210";
}

.social-navigation a[href*="getpocket.com"]:before {
	content: "\f224";
}

.social-navigation a[href*="polldaddy.com"]:before {
	content: "\f217";
}

.social-navigation a[href*="reddit.com"]:before {
	content: "\f222";
}

.social-navigation a[href*="skype.com"]:before {
	content: "\f220";
}

.social-navigation a[href*="stumbleupon.com"]:before {
	content: "\f223";
}

.social-navigation a[href*="tumblr.com"]:before {
	content: "\f214";
}

.social-navigation a[href*="twitter.com"]:before {
	content: "\f202";
}

.social-navigation a[href*="vimeo.com"]:before {
	content: "\f212";
}

.social-navigation a[href*="wordpress.com"]:before,
.social-navigation a[href*="wordpress.org"]:before {
	content: "\f205";
}

.social-navigation a[href*="youtube.com"]:before {
	content: "\f213";
}

.social-navigation a[href^="mailto:"]:before {
	content: "\f410";
}

.social-navigation a[href*="spotify.com"]:before {
	content: "\f515";
}

.social-navigation a[href*="twitch.tv"]:before {
	content: "\f516";
}

.social-navigation a[href$="/feed/"]:before {
	content: "\f413";
}

.post-navigation {
	border-top: 4px solid #1a1a1a;
	border-bottom: 4px solid #1a1a1a;
	clear: both;
	font-family: var(--font-primary);
	margin: 0 7.6923% 3.5em;
}

.post-navigation a {
	color: var(--color-text);
	display: block;
	padding: 1.75em 0;
}

.post-navigation span {
	display: block;
}

.post-navigation .meta-nav {
	color: var(--color-text-lighter);
	font-size: 13px;
	font-size: 0.8125rem;
	letter-spacing: 0.076923077em;
	line-height: 1.6153846154;
	margin-bottom: 0.5384615385em;
	text-transform: uppercase;
}

.post-navigation .post-title {
	display: inline;
	font-family: var(--font-primary);
	font-size: 23px;
	font-size: 1.4375rem;
	font-weight: 700;
	line-height: 1.2173913043;
	text-rendering: optimizeLegibility;
}

.post-navigation a:hover .post-title,
.post-navigation a:focus .post-title {
	color: var(--color-link);
}

.post-navigation div + div {
	border-top: 4px solid #1a1a1a;
}

.pagination {
	border-top: 4px solid #1a1a1a;
	font-family: var(--font-primary);
	font-size: 19px;
	font-size: 1.1875rem;
	margin: 0 7.6923% 2.947368421em;
	min-height: 56px;
	position: relative;
}

.pagination:before,
.pagination:after {
	background-color: var(--color-text);
	content: "";
	height: 52px;
	position: absolute;
	top:0;
	width: 52px;
	z-index: 0;
}

.pagination:before {
	right: 0;
}

.pagination:after {
	right: 54px;
}

.pagination a:hover,
.pagination a:focus {
	color: var(--color-text);
}

.pagination .nav-links {
	padding-right: 106px;
	position: relative;
}

.pagination .nav-links:before,
.pagination .nav-links:after {
	color: var(--color-white);
	font-size: 32px;
	line-height: 51px;
	opacity: 0.3;
	position: absolute;
	width: 52px;
	z-index: 1;
}

.pagination .nav-links:before {
	content: "\f429";
	right: -1px;
}

.pagination .nav-links:after {
	content: "\f430";
	right: 55px;
}

/* reset screen-reader-text */
.pagination .current .screen-reader-text {
	position: static !important;
}

.pagination .page-numbers {
	display: none;
	letter-spacing: 0.013157895em;
	line-height: 1;
	margin: 0 0.7368421053em 0 -0.7368421053em;
	padding: 0.8157894737em 0.7368421053em 0.3947368421em;
	text-transform: uppercase;
}

.pagination .current {
	display: inline-block;
	font-weight: 700;
}

.pagination .prev,
.pagination .next {
	background-color: var(--color-text);
	color: var(--color-white);
	display: inline-block;
	height: 52px;
	margin: 0;
	overflow: hidden;
	padding: 0;
	position: absolute;
	top: 0;
	width: 52px;
	z-index: 2;
}

.pagination .prev:before,
.pagination .next:before {
	font-size: 32px;
	height: 53px;
	line-height: 52px;
	position: relative;
	width: 53px;
}

.pagination .prev:hover,
.pagination .prev:focus,
.pagination .next:hover,
.pagination .next:focus {
	background-color: var(--color-link);
	color: var(--color-white);
}

.pagination .prev:focus,
.pagination .next:focus {
	outline: 0;
}

.pagination .prev {
	right: 54px;
}

.pagination .prev:before {
	content: "\f430";
	left: -1px;
	top: -1px;
}

.pagination .next {
	right: 0;
}

.pagination .next:before {
	content: "\f429";
	right: -1px;
	top: -1px;
}

.image-navigation,
.comment-navigation {
	border-top: 1px solid #d1d1d1;
	border-bottom: 1px solid #d1d1d1;
	color: var(--color-text-lighter);
	font-family: var(--font-primary);
	font-size: 13px;
	font-size: 0.8125rem;
	line-height: 1.6153846154;
	margin: 0 7.6923% 2.1538461538em;
	padding: 1.0769230769em 0;
}

.comment-navigation {
	margin-right: 0;
	margin-left: 0;
}

.comments-title + .comment-navigation {
	border-bottom: 0;
	margin-bottom: 0;
}

.image-navigation .nav-previous:not(:empty),
.image-navigation .nav-next:not(:empty),
.comment-navigation .nav-previous:not(:empty),
.comment-navigation .nav-next:not(:empty) {
	display: inline-block;
}

.image-navigation .nav-previous:not(:empty) + .nav-next:not(:empty):before,
.comment-navigation .nav-previous:not(:empty) + .nav-next:not(:empty):before {
	content: "\002f";
	display: inline-block;
	opacity: 0.7;
	padding: 0 0.538461538em;
}


/**
 * 7.0 - Accessibility
 */

/* Text meant only for screen readers */
.says,
.screen-reader-text {
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
	/* many screen reader and browser combinations announce broken words as they would appear visually */
	word-wrap: normal !important;
}

/* must have higher specificity than alternative color schemes inline styles */
.site .skip-link {
	background-color: #f1f1f1;
	box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.2);
	color: #21759b;
	display: block;
	font-family: var(--font-primary);
	font-size: 14px;
	font-weight: 700;
	left: -9999em;
	outline: none;
	padding: 15px 23px 14px;
	text-decoration: none;
	text-transform: none;
	top: -9999em;
}

.logged-in .site .skip-link {
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.2);
	font-family: "Open Sans", sans-serif;
}

.site .skip-link:focus {
	clip-path: none;
	height: auto;
	left: 6px;
	top: 7px;
	width: auto;
	z-index: 100000;
}


/**
 * 8.0 - Alignments
 */

.alignleft {
	float: left;
	margin: 0.375em 1.75em 1.75em 0;
}

.alignright {
	float: right;
	margin: 0.375em 0 1.75em 1.75em;
}

.aligncenter {
	clear: both;
	display: block;
	margin: 0 auto 1.75em;
}

blockquote.alignleft {
	margin: 0.3157894737em 1.4736842105em 1.473684211em 0;
}

blockquote.alignright {
	margin: 0.3157894737em 0 1.473684211em 1.4736842105em;
}

blockquote.aligncenter {
	margin-bottom: 1.473684211em;
}


/**
 * 9.0 - Clearings
 */

.clear:before,
.clear:after,
blockquote:before,
blockquote:after,
.entry-content:before,
.entry-content:after,
.entry-summary:before,
.entry-summary:after,
.comment-content:before,
.comment-content:after,
.site-content:before,
.site-content:after,
.site-main > article:before,
.site-main > article:after,
.primary-menu:before,
.primary-menu:after,
.social-links-menu:before,
.social-links-menu:after,
.textwidget:before,
.textwidget:after,
.content-bottom-widgets:before,
.content-bottom-widgets:after {
	content: "";
	display: table;
}

.clear:after,
blockquote:after,
.entry-content:after,
.entry-summary:after,
.comment-content:after,
.site-content:after,
.site-main > article:after,
.primary-menu:after,
.social-links-menu:after,
.textwidget:after,
.content-bottom-widgets:after {
	clear: both;
}


/**
 * 10.0 - Widgets
 */

.widget {
	border-top: 4px solid #1a1a1a;
	margin-bottom: 3.5em;
	padding-top: 1.75em;
}

.widget-area > :last-child,
.widget > :last-child,
.widget > nav > :last-child {
	margin-bottom: 0;
}

.widget .widget-title {
	font-family: var(--font-primary);
	font-size: 16px;
	font-size: 1rem;
	letter-spacing: 0.046875em;
	line-height: 1.3125;
	margin: 0 0 1.75em;
	text-transform: uppercase;
}

.widget .widget-title:empty {
	margin-bottom: 0;
}

.widget-title a {
	color: var(--color-text);
}

/* Calendar widget */
.widget.widget_calendar table {
	margin: 0;
}

.widget_calendar .wp-calendar-nav {
	display: table;
	width: 100%;
}

.widget_calendar .wp-calendar-nav span {
	display: table-cell;
}

.widget_calendar .wp-calendar-nav-prev,
.widget_calendar .wp-calendar-nav-next {
	width: 40%;
}

.widget_calendar td,
.widget_calendar th,
.widget_calendar .wp-calendar-nav span {
	line-height: 2.5625;
	padding: 0;
	text-align: center;
}

.widget_calendar caption {
	font-weight: 900;
	margin-bottom: 1.75em;
}

.widget_calendar tbody a {
	background-color: var(--color-link);
	color: var(--color-white);
	display: block;
	font-weight: 700;
}

.widget_calendar tbody a:hover,
.widget_calendar tbody a:focus {
	background-color: var(--color-text-lighter);
	color: var(--color-white);
}

/* Recent Posts widget */
.widget_recent_entries .post-date {
	color: var(--color-text-lighter);
	display: block;
	font-family: var(--font-primary);
	font-size: 13px;
	font-size: 0.8125rem;
	line-height: 1.615384615;
	margin-bottom: 0.538461538em;
}

.widget_recent_entries li:last-child .post-date {
	margin-bottom: 0;
}

/* RSS widget */
.widget_rss .rsswidget img {
	margin-top: -0.375em;
}

.widget_rss .rss-date,
.widget_rss cite {
	color: var(--color-text-lighter);
	display: block;
	font-family: var(--font-primary);
	font-size: 13px;
	font-size: 0.8125rem;
	font-style: normal;
	line-height: 1.615384615;
	margin-bottom: 0.538461538em;
}

.widget_rss .rssSummary:last-child {
	margin-bottom: 2.1538461538em;
}

.widget_rss li:last-child :last-child {
	margin-bottom: 0;
}

/* Tag Cloud widget */
.tagcloud a {
	border: 1px solid #d1d1d1;
	border-radius: 2px;
	display: inline-block;
	font-family: var(--font-primary);
	line-height: 1;
	margin: 0 0.1875em 0.4375em 0;
	padding: 0.5625em 0.4375em 0.5em;
}

.tagcloud ul {
	list-style-type: none;
	margin-left: 0;
}

.tagcloud ul li {
	display: inline-block;
}

.tagcloud a:hover,
.tagcloud a:focus {
	border-color: var(--color-link);
	color: var(--color-link);
	outline: 0;
}


/**
 * 11.0 - Content
 */

.site {
	background-color: var(--color-white);
}

.site-inner {
	margin: 0 auto;
	max-width: none;
	position: relative;
}

.site-content section {
	word-wrap: break-word;
	padding: 7.5rem 2rem 7.5rem 2rem;
}

.site-content .page-product-intro,
.site-content .page-product-specs,
.site-content .page-product-measurement,
.site-content .page-product-gallery {
	background: var(--color-bg-input);
	padding: 1.5rem 2rem 1.5rem 2rem;
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
	outline: 0;
}

.site-main {
	margin-bottom: 3.5em;
}

.site-main > :last-child {
	margin-bottom: 0;
}


/**
 * 11.1 - Header (Figma Desktop V2)
 * Styles existing .site-header, .site-header-main, .site-branding, .menu-toggle, .main-navigation
 */

/* Light grey background, white bar wrapper */
.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background-color: #e5e5e5;
	z-index: 1000 !important;
}

/* White header bar - centered, max-width for large screens */
.site-header-main {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 1rem;
	background-color: #ffffff;
	margin: 0 auto;
	padding: 1.25rem 2rem;
	width: 100%;
	max-width: 1350px;
	box-sizing: border-box;
}

/* Logo block - left; prevent overlap with nav */
.site-branding {
	margin: 0;
	max-width: 100%;
	min-width: 0;
	flex-shrink: 0;
	position: relative;
	z-index: 2;
}

.custom-logo-link {
	display: block;
}

.custom-logo {
	max-width: 220px;
	height: auto;
}

/* Site title - bold black */
.site-title {
	font-family: var(--font-sans);
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.2;
	margin: 0;
	color: var(--color-text);
}

.site-branding .site-title a {
	color: var(--color-text);
}

.site-branding .site-title a:hover,
.site-branding .site-title a:focus {
	color: var(--color-accent);
}

.wp-custom-logo .site-title {
	margin-top: 0.5em;
}

/* Tagline - smaller grey */
.site-description {
	display: block;
	color: var(--color-text-lighter);
	font-family: var(--font-sans);
	font-size: 0.75rem;
	font-weight: 400;
	line-height: 1.3;
	margin: 0.25rem 0 0;
}

/* Menu toggle - hamburger icon (3 horizontal lines) per Figma */
.menu-toggle {
	position: relative;
	background-color: transparent;
	border: none;
	color: transparent;
	font-size: 0;
	line-height: 0;
	text-indent: -9999px;
	overflow: hidden;
	margin: 0;
	padding: 0;
	width: 44px;
	height: 44px;
}

.menu-toggle::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 35%;
	transform: translate(-50%, -50%);
	width: 24px;
	height: 2px;
	background-color: var(--color-text);
	box-shadow: 0 8px 0 0 #1a1a1a, 0 16px 0 0 #1a1a1a;
}

.menu-toggle.toggled-on::before,
.menu-toggle.toggled-on:hover::before,
.menu-toggle.toggled-on:focus::before {
	background-color: var(--color-white);
	box-shadow: 0 8px 0 0 #fff, 0 16px 0 0 #fff;
}

.no-js .menu-toggle {
	display: none;
}

.menu-toggle:hover,
.menu-toggle:focus {
	background-color: transparent;
}

.menu-toggle.toggled-on,
.menu-toggle.toggled-on:hover,
.menu-toggle.toggled-on:focus {
	background-color: var(--color-text);
}

.menu-toggle:focus {
	outline: 0;
}

.menu-toggle.toggled-on:focus {
	outline: thin dotted;
}

/* Header responsive - tablet and mobile */
@media screen and (max-width: 1023px) {
	.site-header-main {
		padding: 1rem 1.25rem;
		gap: 0.75rem;
	}

	.site-header-menu.toggled-on {
		order: 4;
		width: 100%;
		flex: 1 1 100%;
		border-top: 1px solid #e5e5e5;
		margin-top: 0.5rem;
		padding-top: 1rem;
	}
}

@media screen and (max-width: 767px) {
	.site-header-main {
		padding: 0.875rem 1rem;
		gap: 0.5rem;
		min-height: 56px;
		align-items: center;
	}

	.site-header-main .site-branding {
		max-width: calc(100% - 52px);
	}

	.custom-logo {
		max-width: 180px;
	}
}

/* Header: extra padding on large viewports (> 1335px) */
@media screen and (min-width: 83.5em) {
	.site-header-main {
		padding: 1.75rem 3rem !important;
	}
}

.header-image {
	clear: both;
	margin: 0.875em 0;
}

.header-image a {
	display: block;
}

.header-image a:hover img,
.header-image a:focus img {
	opacity: 0.85;
}

/**
 * 11.2 - Posts and pages
 */

.site-main > article {
	margin-bottom: 3.5em;
	position: relative;
}

.entry-header,
.entry-summary,
.entry-content,
.entry-footer,
.page-content {
	margin-right: 7.6923%;
	margin-left: 7.6923%;
}

.entry-title {
	font-family: var(--font-primary);
	font-size: 28px;
	font-size: 1.75rem;
	font-weight: 700;
	line-height: 1.25;
	margin-bottom: 1em;
}

.entry-title a {
	color: var(--color-text);
}

.entry-title a:hover,
.entry-title a:focus {
	color: var(--color-link);
}

.post-thumbnail {
	display: block;
	margin: 0 7.6923% 1.75em;
}

.post-thumbnail img {
	display: block;
}

.no-sidebar .post-thumbnail img {
	margin: 0 auto;
}

a.post-thumbnail:hover,
a.post-thumbnail:focus {
	opacity: 0.85;
}

.entry-content,
.entry-summary {
	border-color: #d1d1d1;
}

.entry-content h1,
.entry-summary h1,
.comment-content h1,
.textwidget h1 {
	font-size: 28px;
	font-size: 1.75rem;
	line-height: 1.25;
	margin-top: 2em;
	margin-bottom: 1em;
}

.entry-content h2,
.entry-summary h2,
.comment-content h2,
.textwidget h2 {
	font-size: 23px;
	font-size: 1.4375rem;
	line-height: 1.2173913043;
	margin-top: 2.4347826087em;
	margin-bottom: 1.2173913043em;
}

.entry-content h3,
.entry-summary h3,
.comment-content h3,
.textwidget h3 {
	font-size: 19px;
	font-size: 1.1875rem;
	line-height: 1.1052631579;
	margin-top: 2.9473684211em;
	margin-bottom: 1.4736842105em;
}

.entry-content h4,
.entry-content h5,
.entry-content h6,
.entry-summary h4,
.entry-summary h5,
.entry-summary h6,
.comment-content h4,
.comment-content h5,
.comment-content h6,
.textwidget h4,
.textwidget h5,
.textwidget h6 {
	font-size: 16px;
	font-size: 1rem;
	line-height: 1.3125;
	margin-top: 3.5em;
	margin-bottom: 1.75em;
}

.entry-content h4,
.entry-summary h4,
.comment-content h4,
.textwidget h4 {
	letter-spacing: 0.140625em;
	text-transform: uppercase;
}

.entry-content h6,
.entry-summary h6,
.comment-content h6,
.textwidget h6 {
	font-style: italic;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6,
.entry-summary h1,
.entry-summary h2,
.entry-summary h3,
.entry-summary h4,
.entry-summary h5,
.entry-summary h6,
.comment-content h1,
.comment-content h2,
.comment-content h3,
.comment-content h4,
.comment-content h5,
.comment-content h6,
.textwidget h1,
.textwidget h2,
.textwidget h3,
.textwidget h4,
.textwidget h5,
.textwidget h6 {
	font-weight: 900;
}

.entry-content h1:first-child,
.entry-content h2:first-child,
.entry-content h3:first-child,
.entry-content h4:first-child,
.entry-content h5:first-child,
.entry-content h6:first-child,
.entry-summary h1:first-child,
.entry-summary h2:first-child,
.entry-summary h3:first-child,
.entry-summary h4:first-child,
.entry-summary h5:first-child,
.entry-summary h6:first-child,
.comment-content h1:first-child,
.comment-content h2:first-child,
.comment-content h3:first-child,
.comment-content h4:first-child,
.comment-content h5:first-child,
.comment-content h6:first-child,
.textwidget h1:first-child,
.textwidget h2:first-child,
.textwidget h3:first-child,
.textwidget h4:first-child,
.textwidget h5:first-child,
.textwidget h6:first-child {
	margin-top: 0;
}

.post-navigation .post-title,
.entry-title,
.comments-title {
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	-ms-hyphens: auto;
	hyphens: auto;
}

body:not(.search-results) .entry-summary {
	color: var(--color-text-lighter);
	font-size: 19px;
	font-size: 1.1875rem;
	line-height: 1.4736842105;
	margin-bottom: 1.4736842105em;
}

body:not(.search-results) .entry-header + .entry-summary {
	margin-top: -0.736842105em;
}

body:not(.search-results) .entry-summary p,
body:not(.search-results) .entry-summary address,
body:not(.search-results) .entry-summary hr,
body:not(.search-results) .entry-summary ul,
body:not(.search-results) .entry-summary ol,
body:not(.search-results) .entry-summary dl,
body:not(.search-results) .entry-summary dd,
body:not(.search-results) .entry-summary table {
	margin-bottom: 1.4736842105em;
}

body:not(.search-results) .entry-summary li > ul,
body:not(.search-results) .entry-summary li > ol {
	margin-bottom: 0;
}

body:not(.search-results) .entry-summary th,
body:not(.search-results) .entry-summary td {
	padding: 0.3684210526em;
}

body:not(.search-results) .entry-summary fieldset {
	margin-bottom: 1.4736842105em;
	padding: 0.3684210526em;
}

body:not(.search-results) .entry-summary blockquote {
	border-color: currentColor;
}

body:not(.search-results) .entry-summary blockquote > :last-child {
	margin-bottom: 0;
}

body:not(.search-results) .entry-summary .alignleft {
	margin: 0.2631578947em 1.4736842105em 1.4736842105em 0;
}

body:not(.search-results) .entry-summary .alignright {
	margin: 0.2631578947em 0 1.4736842105em 1.4736842105em;
}

body:not(.search-results) .entry-summary .aligncenter {
	margin-bottom: 1.4736842105em;
}

.entry-content > :last-child,
.entry-summary > :last-child,
body:not(.search-results) .entry-summary > :last-child,
.page-content > :last-child,
.comment-content > :last-child,
.textwidget > :last-child {
	margin-bottom: 0;
}

.more-link {
	white-space: nowrap;
}

.author-info {
	border-color: inherit;
	border-style: solid;
	border-width: 1px 0 1px 0;
	clear: both;
	padding-top: 1.75em;
	padding-bottom: 1.75em;
}

.author-avatar .avatar {
	float: left;
	height: 42px;
	margin: 0 1.75em 1.75em 0;
	width: 42px;
}

.author-description > :last-child {
	margin-bottom: 0;
}

.entry-content .author-title {
	clear: none;
	font-size: 16px;
	font-size: 1rem;
	font-weight: 900;
	line-height: 1.75;
	margin: 0;
}

.author-bio {
	color: var(--color-text-lighter);
	font-size: 13px;
	font-size: 0.8125rem;
	line-height: 1.6153846154;
	margin-bottom: 1.6153846154em;
	overflow: hidden;
}

.author-link {
	white-space: nowrap;
}

.entry-footer {
	color: var(--color-text-lighter);
	font-family: var(--font-primary);
	font-size: 13px;
	font-size: 0.8125rem;
	line-height: 1.6153846154;
	margin-top: 2.1538461538em;
}

.entry-footer:empty {
	margin: 0;
}

.entry-footer a {
	color: var(--color-text-lighter);
}

.entry-footer a:hover,
.entry-footer a:focus {
	color: var(--color-link);
}

.entry-footer > span:not(:last-child):after {
	content: "\002f";
	display: inline-block;
	opacity: 0.7;
	padding: 0 0.538461538em;
}

.entry-footer .avatar {
	height: 21px;
	margin: -0.1538461538em 0.5384615385em 0 0;
	width: 21px;
}

.sticky-post {
	color: var(--color-text-lighter);
	display: block;
	font-family: var(--font-primary);
	font-size: 13px;
	font-size: 0.8125rem;
	letter-spacing: 0.076923077em;
	line-height: 1.6153846154;
	margin-bottom: 0.5384615385em;
	text-transform: uppercase;
}

/**
 * IE8 and earlier will drop any block with CSS3 selectors.
 * Do not combine these styles with the next block.
 */
.updated:not(.published) {
	display: none;
}

.sticky .posted-on,
.byline {
	display: none;
}

.single .byline,
.group-blog .byline {
	display: inline;
}

.page-header {
	border-top: 4px solid #1a1a1a;
	margin: 0 7.6923% 3.5em;
	padding-top: 1.75em;
}

body.error404 .page-header,
body.search-no-results .page-header {
	border-top: 0;
	padding-top: 0;
}

.page-title {
	font-family: var(--font-primary);
	font-size: 23px;
	font-size: 1.4375rem;
	line-height: 1.2173913043;
}

.taxonomy-description {
	color: var(--color-text-lighter);
	font-size: 13px;
	font-size: 0.8125rem;
	line-height: 1.6153846154;
}

.taxonomy-description p {
	margin: 0.5384615385em 0 1.6153846154em;
}

.taxonomy-description > :last-child {
	margin-bottom: 0;
}

.page-links {
	clear: both;
	font-family: var(--font-primary);
	margin: 0 0 1.75em;
}

.page-links a,
.page-links > span {
	border: 1px solid #d1d1d1;
	border-radius: 2px;
	display: inline-block;
	font-size: 13px;
	font-size: 0.8125rem;
	height: 1.8461538462em;
	line-height: 1.6923076923em;
	margin-right: 0.3076923077em;
	text-align: center;
	width: 1.8461538462em;
}

.page-links a {
	background-color: var(--color-text);
	border-color: var(--color-text);
	color: var(--color-white);
}

.page-links a:hover,
.page-links a:focus {
	background-color: var(--color-link);
	border-color: transparent;
	color: var(--color-white);
}

.page-links > .page-links-title {
	border: 0;
	color: var(--color-text);
	height: auto;
	margin: 0;
	padding-right: 0.6153846154em;
	width: auto;
}

.entry-attachment {
	margin-bottom: 1.75em;
}

.entry-caption {
	color: var(--color-text-lighter);
	font-size: 13px;
	font-size: 0.8125rem;
	font-style: italic;
	line-height: 1.6153846154;
	padding-top: 1.0769230769em;
}

.entry-caption > :last-child {
	margin-bottom: 0;
}

.content-bottom-widgets {
	margin: 0 7.6923%;
}

.content-bottom-widgets .widget-area {
	margin-bottom: 3.5em;
}


/**
 * 11.3 - Post Formats
 */

.format-aside .entry-title,
.format-image .entry-title,
.format-video .entry-title,
.format-quote .entry-title,
.format-gallery .entry-title,
.format-status .entry-title,
.format-link .entry-title,
.format-audio .entry-title,
.format-chat .entry-title {
	font-size: 19px;
	font-size: 1.1875rem;
	line-height: 1.473684211;
	margin-bottom: 1.473684211em;
}

.blog .format-status .entry-title,
.archive .format-status .entry-title {
	display: none;
}


/**
 * 11.4 - Comments
 */

.comments-area {
	margin: 0 7.6923% 3.5em;
}

.comment-list + .comment-respond,
.comment-navigation + .comment-respond {
	padding-top: 1.75em;
}

.comments-title,
.comment-reply-title {
	border-top: 4px solid #1a1a1a;
	font-family: var(--font-primary);
	font-size: 23px;
	font-size: 1.4375rem;
	font-weight: 700;
	line-height: 1.3125;
	padding-top: 1.217391304em;
}

.comments-title {
	margin-bottom: 1.217391304em;
}

.comment-list {
	list-style: none;
	margin: 0;
}

.comment-list article,
.comment-list .pingback,
.comment-list .trackback {
	border-top: 1px solid #d1d1d1;
	padding: 1.75em 0;
}

.comment-list .children {
	list-style: none;
	margin: 0;
}

.comment-list .children > li {
	padding-left: 0.875em;
}

.comment-author {
	color: var(--color-text);
	margin-bottom: 0.4375em;
}

.comment-author .avatar {
	float: left;
	height: 28px;
	margin-right: 0.875em;
	position: relative;
	width: 28px;
}

.bypostauthor > article .fn:after {
	content: "\f304";
	left: 3px;
	position: relative;
	top: 5px;
}

.comment-metadata,
.pingback .edit-link {
	color: var(--color-text-lighter);
	font-family: var(--font-primary);
	font-size: 13px;
	font-size: 0.8125rem;
	line-height: 1.6153846154;
}

.comment-metadata {
	margin-bottom: 2.1538461538em;
}

.comment-metadata a,
.pingback .comment-edit-link {
	color: var(--color-text-lighter);
}

.comment-metadata a:hover,
.comment-metadata a:focus,
.pingback .comment-edit-link:hover,
.pingback .comment-edit-link:focus {
	color: var(--color-link);
}

.comment-metadata .edit-link,
.pingback .edit-link {
	display: inline-block;
}

.comment-metadata .edit-link:before,
.pingback .edit-link:before {
	content: "\002f";
	display: inline-block;
	opacity: 0.7;
	padding: 0 0.538461538em;
}

.comment-content ul,
.comment-content ol {
	margin: 0 0 1.5em 1.25em;
}

.comment-content li > ul,
.comment-content li > ol {
	margin-bottom: 0;
}

.comment-reply-link {
	border: 1px solid #d1d1d1;
	border-radius: 2px;
	color: var(--color-link);
	display: inline-block;
	font-family: var(--font-primary);
	font-size: 13px;
	font-size: 0.8125rem;
	line-height: 1;
	margin-top: 2.1538461538em;
	padding: 0.5384615385em 0.5384615385em 0.4615384615em;
}

.comment-reply-link:hover,
.comment-reply-link:focus {
	border-color: currentColor;
	color: var(--color-link);
	outline: 0;
}

.comment-form {
	padding-top: 1.75em;
}

.comment-form label {
	color: var(--color-text-lighter);
	display: block;
	font-family: var(--font-primary);
	font-size: 13px;
	font-size: 0.8125rem;
	letter-spacing: 0.076923077em;
	line-height: 1.6153846154;
	margin-bottom: 0.5384615385em;
	text-transform: uppercase;
}

.comment-list .comment-form {
	padding-bottom: 1.75em;
}

.comment-notes,
.comment-awaiting-moderation,
.logged-in-as,
.form-allowed-tags {
	color: var(--color-text-lighter);
	font-size: 13px;
	font-size: 0.8125rem;
	line-height: 1.6153846154;
	margin-bottom: 2.1538461538em;
}

.no-comments {
	border-top: 1px solid #d1d1d1;
	font-family: var(--font-primary);
	font-weight: 700;
	margin: 0;
	padding-top: 1.75em;
}

.comment-navigation + .no-comments {
	border-top: 0;
	padding-top: 0;
}

.form-allowed-tags code {
	font-family: Inconsolata, monospace;
}

.form-submit {
	margin-bottom: 0;
}

.required {
	color: var(--color-link);
	font-family: Merriweather, Georgia, serif;
}

.comment-reply-title small {
	font-size: 100%;
}

.comment-reply-title small a {
	border: 0;
	float: right;
	height: 32px;
	overflow: hidden;
	width: 26px;
}

.comment-reply-title small a:hover,
.comment-reply-title small a:focus {
	color: var(--color-text);
}

.comment-reply-title small a:before {
	content: "\f405";
	font-size: 32px;
	position: relative;
	top: -5px;
}

.comment-form #wp-comment-cookies-consent {
	margin: 0 10px 0 0;
}

.comment-form .comment-form-cookies-consent label {
	display: inline;
	font-family: Merriweather, Georgia, serif;
	letter-spacing: 0;
	text-transform: none;
}

/**
 * 11.5 - Sidebar
 */

.sidebar {
	margin-bottom: 3.5em;
	padding: 0 7.6923%;
}


/**
 * 11.5 - Home Hero Section (Figma)
 * Font: Montserrat / Helvetica Neue - Match Figma sizes
 */

.home-hero {
	padding-top: var(--top-section-padding);
	background-color: var(--color-white);
}

.home-hero__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 5rem;
	max-width: var(--container-max);
	margin: 0 auto;
}

.home-hero__images {
	flex: 1 1 500px;
	min-width: 0;
}
.home-hero__image.image-1,
.home-hero__image.image-3 {
    margin-top: 25px;
}

/* Figma: 2x2 grid with dotted blue border and softly rounded corners */
.home-hero__image-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 0.25rem 1.25rem;
	padding: 4px;
	border-radius: var(--radius-md);
	background-color: var(--color-white);
}

.home-hero__image {
	aspect-ratio: 1;
	overflow: hidden;
	border-radius: var(--radius-sm);
}

.home-hero__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.home-hero__content {
	flex: 1 1 400px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/* Main header - 36-48px, bold, italic */
.home-hero__title {
	font-family: var(--font-primary);
	font-size: 3.5rem;
	font-weight: 500;
	font-style: italic;
	line-height: 1.2;
	color: var(--color-text);
	margin: 0 0 1.25rem;
}

/* Sub-header - 20-24px, italic */
.home-hero__subtitle {
	font-family: var(--font-primary);
	font-size: 1.75rem;
	font-weight: 400;
	font-style: italic;
	line-height: 1;
	color: var(--color-text);
	margin: 0 0 1rem;
}

.home-hero__text {
	margin-bottom: 2rem;
}

/* Body - 16-18px, regular, generous line height */
.home-hero__text p {
	font-family: var(--font-primary);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.7;
	color: var(--color-text);
	margin: 0 0 1.25rem;
}

.home-hero__text p:last-child {
	margin-bottom: 0;
}

/* CTA button - 16-18px, rounded, thin black border */
.home-hero__cta {
	display: inline-flex;
	align-items: center;
	gap: 1rem;
	font-family: var(--font-primary);
	font-size: 1.0625rem;
	font-weight: 400;
	color: var(--color-text);
	text-decoration: none;
	background-color: var(--color-white);
	border: 1px solid var(--color-border-dark);
	border-radius: var(--radius-pill);
	padding: 0.5rem 1.5rem;
	width: fit-content;
}


.home-hero__cta-icon {
	font-size: 1rem;
	line-height: 1;
}

@media screen and (max-width: 767px) {
	.home-hero {
		padding-top: var(--section-padding-sm) !important;
	}

	.home-hero__inner {
		flex-direction: column;
		gap: 2rem;
		padding: 0 var(--content-padding-sm);
	}

	.home-hero__images {
		order: 1;
		flex: 0 1 auto;
	}

	.home-hero__content {
		order: 2;
		flex: 0 1 auto;
	}

	.home-hero__title {
		font-size: 2rem;
	}

	.home-hero__subtitle {
		font-size: 1.125rem;
	}

	.home-hero__text p {
		font-size: 1rem;
	}
}

/**
 * Home Section - Common (Services, Products)
 * Shared intro block + CTA for sections with left intro and right card grid
 */

.home-services,
.home-products {
	background-color: var(--color-white);
}
.home-services{
	background-color: var(--color-bg-input);
}
.home-services__inner,
.home-products__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 2rem;
	max-width: var(--container-max);
	margin: 0 auto;
}

.home-services__intro {
    padding: 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.home-services__intro,
.home-products__intro {
	flex: 0 1 320px;
	min-width: 0;
}
.home-impact-banner__title,
.home-testimonials__title,
.home-services__title,
.home-products__title {
	font-family: var(--font-primary);
    font-size: 2.63rem;
    font-weight: 500;
    font-style: italic;
    line-height: 1.2;
    color: var(--color-text);
    margin: 1rem 1rem 1.25rem 0;
}

.home-services__description,
.home-products__description {
	font-family: var(--font-primary);
	font-size: 1.125rem;
	font-weight: 400;
	line-height: 1.6;
	color: var(--color-text-light);
	margin: 0 0 1.5rem;
}

.home-services__cta,
.home-products__cta {
	
	display: inline-flex;
	align-items: center;
	gap: 1rem;
	font-family: var(--font-primary);
	font-size: 1.0625rem;
	font-weight: 400;
	color: var(--color-text);
	text-decoration: none;
	border-radius: var(--radius-pill);
	padding: 0.5rem 1.5rem;
	width: fit-content;
	background-color: transparent;
    border: 1px solid var(--color-border-dark);
}
.home-impact-banner__cta:hover,
 .home-impact-banner__cta:focus,
.home-testimonials__cta:hover,
.home-testimonials__cta:focus,
.home-hero__cta:hover, 
.home-hero__cta:focus,
.home-services__cta:hover,
.home-services__cta:focus,
.home-products__cta:hover,
.home-products__cta:focus {
	border: 1px solid #fff !important;
    background-color: var(--color-bg-orange) !important;
    color: #ffffff;
}

.home-services__cta-icon,
.home-products__cta-icon {
	font-size: 1.5rem;
	line-height: 1;
}

/**
 * Home Section - Common card base (Services, Products)
 * White bg, rounded corners, subtle shadow
 */

.home-services__card,
.home-products__card {
	background-color: var(--color-white);
	border-radius: var(--radius-md);
	overflow: hidden;
	/* box-shadow: var(--shadow-md); */
	border: 1px solid #D6DEF1;
}


.home-services__card-image img,
.home-products__card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.home-services__card-title,
.home-products__card-title {
	font-family: var(--font-primary);
	font-size: 1.05rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--color-text);
}
.home-products__card-title{
	font-size: 1.5rem;
    font-weight: 500;

}

/**
 * Home Services Section
 * Figma: two-column layout, left intro + right 2x2 card grid (horizontal image-left cards)
 */

.home-services__grid {
	flex: 1 1 550px;
	min-width: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2rem;
}

/* Services: horizontal card (image left, content right) */
.home-services__card {
	display: flex;
	flex-direction: row;
	border-radius: var(--radius-lg);
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.08);
	width: 35rem;
    max-height: 18rem;
    padding: 5px;
}

.home-services__card-image {
	flex: 0 0 auto;
    width: auto;
    min-height: auto;
}

.home-services__card-image img {
	border-radius: 20px;
    padding: 12px;
}

.home-services__card-content {
	flex: 1;
	min-width: 0;
	padding: 1.5rem 0.5rem 1.5rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.home-services__card-title {
	margin: 0 0 0.5rem;
	word-wrap: break-word;
}

.home-services__card-description {
	font-family: var(--font-primary);
	font-size: 1.0625rem;
	font-weight: 400;
	line-height: 1.6;
	color: var(--color-text-muted);
	margin: 0;
}

@media screen and (max-width: 1023px) {
	.home-services__grid {
		grid-template-columns: 1fr;
	}
}

@media screen and (max-width: 767px) {
	
	.site-content section {
		word-wrap: break-word;
		padding: var(--section-padding-sm) 0 !important;
	}
	.home-services__card{
		max-height: max-content;
	}
	.home-services {
		padding: var(--section-padding-sm) 0;
	}
	.home-contact__image.home-contact__image--1 {
		margin-top: -20px !important;
	}
	.home-contact__image--1::before {
		height: 67% !important;
		top: 0% !important;
	}
	.home-contact__image.home-contact__image--2 {
		margin-bottom: 88px !important;
		aspect-ratio: 4 / 4.4;
	}
	.home-contact__image--3::after, .home-contact__image--2::before {
		height: 40% !important;
	}
	.home-contact__image.home-contact__image--3 {
		margin-top: -178px !important;
		aspect-ratio: 4 / 4.4;
	}
	.home-testimonials__card{
		order: 1;
        flex: 1 1 auto
	}
	.home-services__inner {
		
		flex-direction: column;
		gap: 2rem;
		padding: 0 var(--content-padding-sm);
	}

	.home-services__intro {
		order: 0;
	}

	.home-services__grid {
		order: 2;
	}

	.home-services__title {
		font-size: 2.25rem;
	}

	.home-services__description {
		font-size: 1rem;
	}

	.home-services__card {
		flex-direction: column;
		width: 100%;
        height: auto;
	}

	.home-services__card-image {
		flex: none;
		width: 100%;
		height: 20rem;
	}


	.home-services__card-content {
		padding: 1.25rem;
		justify-content: flex-start;
	}

	.home-services__card-title {
		font-size: 1.375rem;
	}
}

/**
 * Home Impact Banner Section
 * Full-width background image with dark semi-transparent overlay box on right
 */

.home-impact-banner {
	position: relative;
	min-height: 580px;
	background-image: var(--impact-bg, linear-gradient(135deg, #2d2d2d 0%, #1a1a1a 100%));
	background-size: cover;
	background-position: center;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.home-impact-banner__inner {
	width: 100%;
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 3rem 2rem;
}

.home-impact-banner__overlay {
	max-width: 503px;
	margin-left: auto;
	padding: 2.5rem;
	background-color: rgba(0, 0, 0, 0.6);
	border-radius: var(--radius-md);
}

.home-impact-banner__title {
	font-family: var(--font-primary);
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.25;
	color: var(--color-white);
	margin: 0 0 1rem;
}

.home-impact-banner__description {
	font-family: var(--font-primary);
	font-size: 1.0625rem;
	font-weight: 400;
	line-height: 1.6;
	color: var(--color-white);
	margin: 0 0 1.5rem;
}

.home-impact-banner__cta {
	display: inline-flex;
	align-items: center;
	gap: 1rem;
	font-family: var(--font-primary);
	font-size: 1.0625rem;
	font-weight: 400;
	color: var(--color-white);
	text-decoration: none;
	background-color: transparent;
	border: 1px solid var(--color-white);
	border-radius: var(--radius-pill);
	padding: 0.75em 1.5em;
	width: fit-content;
}

/* .home-impact-banner__cta:hover,
.home-impact-banner__cta:focus {
	background-color: rgba(255, 255, 255, 0.15);
	color: var(--color-white);
} */

.home-impact-banner__cta-icon {
	font-size: 1rem;
	line-height: 1;
}

@media screen and (max-width: 767px) {
	.home-impact-banner {
		min-height: 480px;
		justify-content: center;
	}

	.home-impact-banner__inner {
		padding: 2rem 1.25rem;
	}

	.home-impact-banner__overlay {
		margin-left: 0;
		max-width: 100%;
		padding: 1.75rem;
	}

	.home-impact-banner__title {
		font-size: 1.5rem;
	}

	.home-impact-banner__description {
		font-size: 1rem;
	}
}

/**
 * Home Testimonials / Verified Feedback Section
 * Figma: two-column layout, left intro + right stacked testimonial cards
 */

.home-testimonials {
	padding: var(--section-padding) 0;
	background-color: var(--color-white);
}

.home-testimonials__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 2rem;
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 var(--content-padding);
}

.home-testimonials__intro {
	flex: 0 1 500px;
	min-width: 0;
	padding: 1.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.home-testimonials__title {
	font-family: var(--font-primary);
	font-size: 2.25rem;
	font-weight: 400;
	line-height: 1.3;
	color: var(--color-text);
	margin: 0 0 1.5rem;
}

.home-testimonials__title-line1 {
	display: block;
}

.home-testimonials__title-line2 {
	display: block;
	font-style: italic;
	font-weight: 600;
}

.home-testimonials__description {
	font-family: var(--font-primary);
	font-size: 1.0625rem;
	font-weight: 400;
	line-height: 1.6;
	color: var(--color-text-light);
	margin: 0 0 1rem;
}

.home-testimonials__description:last-of-type {
	margin-bottom: 1.5rem;
}

.home-testimonials__cta {
	display: inline-flex;
	align-items: center;
	gap: 1rem;
	font-family: var(--font-primary);
	font-size: 1.0625rem;
	font-weight: 400;
	color: var(--color-text);
	text-decoration: none;
	background-color: var(--color-white);
	border: 1px solid #333;
	border-radius: 25px;
	padding: 0.625rem 1.25rem;
	width: fit-content;
}


.home-testimonials__cta-icon {
	font-size: 1.5rem;
	line-height: 1;
}

.home-testimonials__cards {
	flex: 1 1 400px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}
.home-testimonials .home-services__grid .home-testimonials__card:first-of-type {
    margin-top: 7rem;
}

.home-testimonials__card {
	background-color: var(--color-white);
	border-radius: var(--radius-md);
	padding: 1.5rem;
	/* box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06); */
	border: 1px solid #D6DEF1;
	height: auto;
    min-height: auto;
    max-height: max-content;
}


.home-testimonials__card-name {
	font-family: var(--font-primary);
	font-size: 1.125rem;
	font-weight: 600;
	color: var(--color-text);
	margin: 0 0 0.5rem;
}

.home-testimonials__card-text {
	font-family: var(--font-primary);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.6;
	color: var(--color-text-light);
	margin: 0;
}

@media screen and (max-width: 767px) {
	.home-testimonials {
		padding: var(--section-padding-sm) 0;
	}

	.home-testimonials__inner {
		flex-direction: column;
		gap: 2rem;
		padding: 0 var(--content-padding-sm);
	}

	.home-testimonials__intro {
		order: 1;
	}

	.home-testimonials__cards {
		order: 2;
	}

	.home-testimonials__title {
		font-size: 1.75rem;
	}

	.home-testimonials__description {
		font-size: 1rem;
	}

	.home-testimonials__card {
		padding: 1.25rem;
	}
}

/**
 * Home Contact Us Section
 * Figma: left CTA (heading, subtext, button) + right staggered 4-image grid
 */

.home-contact {
	padding: var(--section-padding) 0;
	background-color: var(--color-white);
}

.home-contact__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 2rem;
	max-width: var(--container-max);
	margin: 0 auto;
	overflow: hidden;
    border-radius: var(--radius-lg);
}

.home-contact__content {
	flex: 0 1 500px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.home-contact__title {
	font-family: var(--font-primary);
    font-size: 3rem;
    font-weight: 500;
    font-style: italic;
    line-height: 1.2;
    color: var(--color-text);
    margin: 1rem 1rem 1.25rem 0;
}

.home-contact__subtext {
	font-family: var(--font-primary);
	font-size: 1.125rem;
	font-weight: 400;
	line-height: 1.5;
	color: var(--color-text);
	margin: 0 0 1.5rem;
}

.home-contact__cta {
	display: inline-flex;
	align-items: center;
	gap: 1rem;
	font-family: var(--font-primary);
	font-size: 1.0625rem;
	font-weight: 400;
	color: var(--color-text);
	text-decoration: none;
	background-color: var(--color-white);
	border: 1px solid var(--color-border-dark);
	border-radius: var(--radius-pill);
	padding: 0.875rem 1.75rem;
	width: 180px;
    height: 48px;
}

.home-contact__cta:hover,
.home-contact__cta:focus {
	border: 1px solid #fff !important;
    background-color: var(--color-bg-orange) !important;
    color: #ffffff;
}

.home-contact__cta-icon {
	font-size: 1.5rem;
	line-height: 1;
}
.home-contact__image.home-contact__image--1 {
    margin-top: -75px;
}
.home-contact__image.home-contact__image--2 {
    margin-bottom: 88px;
    aspect-ratio: 4 / 4.4;
}
.home-contact__image.home-contact__image--4 {
    margin-bottom: -145px;
    margin-top: -85px;
}

.home-contact__images {
	flex: 1 1 400px;
	min-width: 0;
}

.home-contact__image-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}

.home-contact__image {
	position: relative;
	border-radius: 16px;
	overflow: hidden;
	aspect-ratio: 4 / 3;
}

.home-contact__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
/* TOP fade effect on lower images */
.home-contact__image--1::before,
.home-contact__image--2::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 156%;
	background: linear-gradient( to bottom, rgba(255, 255, 255, 1.95), transparent );
	pointer-events: none;
}
.home-contact__image--1::before{
	height: 70%;
	top: 30%;
}
.home-contact__image--3::after,
 .home-contact__image--2::before{
	height: 40%;
 }
 .home-contact__image--4::after{
	bottom: 30% !important;
	height: 60% !important;
 }
section.home-contact {
    overflow: hidden;
	padding: 0;
}
.home-contact__image.home-contact__image--2 {
    border-radius: 0 0 16px 16px;
}
.home-contact__image.home-contact__image--3 {
	margin-top: -275px;
    aspect-ratio: 4 / 4.4;
}
/* Bottom fade effect on lower images */
.home-contact__image--3::after,
.home-contact__image--4::after {
	content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 114%;
    background: linear-gradient(to top, rgba(255, 255, 255, 1.95), transparent );
    pointer-events: none
}

@media screen and (max-width: 767px) {
	.home-contact {
		padding: var(--section-padding-sm) 0;
	}

	.home-contact__inner {
		flex-direction: column;
        gap: 10rem;
        padding: 0 var(--content-padding-sm);
	}

	.home-contact__content {
		order: 1;
		flex: 0 1 auto;
	}

	.home-contact__images {
		order: 2;
		flex: 0 1 auto;
	}

	.home-contact__title {
		font-size: 2rem;
	}

	.home-contact__subtext {
		font-size: 1rem;
	}

	.home-contact__image--3::after,
	.home-contact__image--4::after {
		display: none;
	}
}

/**
 * Home Products Section
 * Same layout as Services: left intro + right cards; 1 card top-right, 2 cards bottom
 */

.home-products__grid {
	flex: 1 1 500px;
	min-width: 0;
	display: grid;
	grid-template-columns: 1.8fr 1fr 1fr;
	grid-template-rows: auto auto;
	gap: 2rem;
}

.home-products__intro {
	grid-column: 1;
	grid-row: 1 / -1;
}

.home-products__card:nth-child(2) {
	grid-column: 2 / -1;
	grid-row: 1;
}

.home-products__card:nth-child(3) {
	grid-column: 2;
	grid-row: 2;
}

.home-products__card:nth-child(4) {
	grid-row: 2;
}

/* Products: vertical card (image top, title only) */
.home-products__card {
	display: flex;
	flex-direction: column;
}

.home-products__card-image {
	width: 100%;
	border-radius: var(--radius-md);
    background: transparent;
}

.home-products__card-image img {
	border-radius: 12px 12px 0 0;
}

.home-products__card-content {
	flex: 1;
	padding: 0.75rem;
}

.home-products__card-title {
	margin: 0;
}

@media screen and (max-width: 1023px) {
	.home-products__grid {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
	}

	.home-products__intro,
	.home-products__card:nth-child(2),
	.home-products__card:nth-child(3),
	.home-products__card:nth-child(4) {
		grid-column: auto;
		grid-row: auto;
	}
}

@media screen and (max-width: 767px) {
	.home-products {
		padding: var(--section-padding-sm) 0;
	}

	.home-products__inner {
		flex-direction: column;
		gap: 2rem;
		padding: 0 var(--content-padding-sm);
	}

	.home-products__intro {
		order: 0;
	}

	.home-products__grid {
		order: 2;
	}

	.home-products__title {
		font-size: 2.25rem;
	}

	.home-products__description {
		font-size: 1rem;
	}

	.home-products__card {
		flex-direction: column;
	}

	.home-products__card-image {
		width: 100%;
	}

	.home-products__card-content {
		padding: 1rem;
	}
}

/**
 * Home Acoustic Solutions for Real Environments Section
 * Figma: centered title + intro, 3x2 card grid, image-on-top cards with See More link
 */

.home-environments {
	padding-bottom: 1rem !important;
	background-color: var(--color-white);
}

.home-environments__inner {
	max-width: var(--container-max);
	margin: 0 auto;
	/* padding: 0 var(--content-padding); */
}

.home-environments__title {
	font-family: var(--font-primary);
    font-size: 2.63rem;
    font-weight: 500;
    font-style: italic;
    line-height: 1.2;
    color: var(--color-text);
    text-align: center;
	max-width: 500px;
    margin: 0px auto 1.25rem;
}

.home-environments__intro {
	font-family: var(--font-primary);
	font-size: 1.125rem;
	font-weight: 400;
	line-height: 1.6;
	color: var(--color-text-light);
	text-align: center;
	max-width: 720px;
	margin: 0 auto 3rem;
}

.home-environments__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
}

.home-environments__card {
	display: flex;
	flex-direction: column;
	background-color: var(--color-white);
	border-radius: var(--radius-lg);
	overflow: hidden;
	/* box-shadow: var(--shadow-md); */
	border: 1px solid #D6DEF1;
}

.home-environments__card-image {
	position: relative;
	width: 100%;
	height: auto;
    min-height: 15rem;
    padding: 1rem 1rem 0rem;
}

.home-environments__card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border-radius: var(--radius-md);
}

.home-environments__card-content {
	flex: 1;
	padding: 1.4rem;
	display: flex;
	flex-direction: column;
}

.home-environments__card-title {
	font-family: var(--font-primary);
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.3;
	color: #333333;
	/* margin: 0 1rem 1rem; */
}

.home-environments__card-text {
	margin: 1rem 0;
}

.home-environments__card-text p {
	font-family: var(--font-primary);
	font-size: 1.0625rem;
	font-weight: 400;
	line-height: 1.6;
	color: #555555;
	margin: 0 0 0.75rem;
}

.home-environments__card-text p:last-child {
	margin-bottom: 0;
}

.home-environments__card-link {
	font-family: var(--font-primary);
	font-size: 1rem;
	font-weight: 500;
	color: #000;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	margin-top: auto;
	padding-top: 1.25rem;
	border-top: 1px solid #e5e5e5;
	position: relative;
    display: inline-flex;
    align-items: center;
    float: left;
}

.home-environments__card-link:hover,
.home-environments__card-link:focus {
	color: var(--color-link-hover);
}

.home-environments__card-link-icon {
	font-size: 1.5rem;
	line-height: 1;
    right: 0;
    position: absolute;
    font-weight: 700;
}

@media screen and (max-width: 1023px) {
	.home-environments__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (max-width: 767px) {
	.home-environments {
		padding: var(--section-padding-sm) 0;
	}

	.home-environments__inner {
		padding: 0 var(--content-padding-sm);
	}

	.home-environments__title {
		font-size: 2rem;
	}

	.home-environments__intro {
		font-size: 1rem;
		margin-bottom: 2rem;
	}

	.home-environments__grid {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	.home-environments__card-content {
		padding: 1.25rem;
	}
}

/**
 * 11.6 - Footer (Figma)
 * Font: Helvetica Neue, Arial, sans-serif
 * Hierarchy: Company name (largest) > Column headers (bold) > Body (regular)
 */

.site-footer {
	background-color: var(--color-bg-input);
	padding: 2rem 3rem;
	font-family: var(--font-sans);
}

span.site-footer__logo-secondary{
	display: none;
}

.site-footer__inner {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 3rem 0 2rem;
}

.site-footer__top {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem 3rem;
	margin-bottom: 2rem;
}

/* Left column - logo (largest), description & contact (body size) */
.site-footer__brand {
	flex: 1 1 280px;
	min-width: 0;
}

.site-footer__brand .widget {
	border-top: none;
}

.site-footer__brand .widget-title {
	display: none;
}

.site-footer__logo-text {
	display: none;
	flex-direction: column;
	font-family: var(--font-sans);
	font-weight: 700;
	font-size: 1.5rem;
	line-height: 1.2;
	color: var(--color-text);
	margin-bottom: 1rem;
}

.site-footer__logo-primary {
	font-size: 1.5rem;
	line-height: 1.2;
	border-bottom: 1px solid #1a1a1a;
	display: inline-block;
	width: fit-content;
}

.site-footer__logo-secondary {
	font-size: 1.25rem;
	line-height: 1.2;
	margin-top: 0.25rem;
	border-bottom: 1px solid #1a1a1a;
	display: inline-block;
	width: fit-content;
}

.site-footer__brand-content .textwidget,
.site-footer__brand-content p {
	font-family: var(--font-sans);
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.6;
	color: var(--color-text);
	margin: 0 0 0.5rem;
}

/* Link columns - headers (bold), list items (body) */
.site-footer__links-wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem 3rem;
	flex: 1 1 auto;
	min-width: 0;
	justify-content: space-around;
}

.site-footer__links-wrap .widget {
	flex: 0 1 auto;
	min-width: 140px;
	margin-bottom: 0;
	border-top: none;
}

.site-footer__links-wrap .widget-title {
	font-family: var(--font-sans);
	font-size: 1rem;
	font-weight: 700;
	color: var(--color-text);
	margin: 0 0 1rem;
	text-transform: none;
	letter-spacing: normal;
	border: none;
	padding: 0;
}

.site-footer__links-wrap ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-footer__links-wrap li {
	margin: 0;
	padding: 0;
}

.site-footer__links-wrap a {
	display: block;
	font-family: var(--font-sans);
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.6;
	color: var(--color-text);
	text-decoration: none;
	padding: 0.125rem 0;
}

.site-footer__links-wrap a:hover,
.site-footer__links-wrap a:focus {
	color: var(--color-accent);
}

.site-footer__brand-content .widget {
	margin-bottom: 0;
}

.site-footer__brand-content a {
	color: var(--color-text);
	text-decoration: none;
}

.site-footer__brand-content a:hover,
.site-footer__brand-content a:focus {
	color: var(--color-accent);
}

/* Bottom bar - Follow us on | Copyright */
.site-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-top: 1.5rem;
	border-top: 1px solid #d1d1d1;
}

/* Follow us on Facebook Instagram Twitter - same line */
.site-footer__social {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 0 1rem;
	white-space: nowrap;
}

.site-footer__social .social-navigation {
	display: inline-flex;
}

.site-footer__social-label {
	font-family: var(--font-sans);
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--color-text);
	display: inline;
}

.site-footer__social .social-navigation a {
	border: none;
	border-radius: 0;
	height: auto;
	width: auto;
	display: inline;
	padding: 0;
}

.site-footer__social .social-navigation a::before {
	content: none;
}

.site-footer__social-menu,
.site-footer__social .social-navigation ul {
	display: inline-flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0 1rem;
	list-style: none;
	margin: 0;
	padding: 0;
	float: none;
}

.site-footer__social-menu li {
	display: inline;
	white-space: nowrap;
}

.site-footer__social-menu a,
.site-footer__social .social-navigation a {
	font-family: var(--font-sans);
    font-size: 0.875rem;
    font-weight: 400;
    color: var(--color-text-muted);
    text-decoration: none;
}

.site-footer__social-menu a:hover,
.site-footer__social-menu a:focus,
.site-footer__social .social-navigation a:hover,
.site-footer__social .social-navigation a:focus {
	color: var(--color-accent);
}

.site-footer__copyright {
	font-family: var(--font-sans);
	font-size: 0.875rem;
	color: var(--color-text);
    font-weight: 500;
    display: inline;
}

/* Responsive - center all footer text on tablet and mobile */
@media screen and (max-width: 1023px) {
	.site-footer__inner {
		text-align: center;
		padding: 2rem var(--content-padding-sm);
	}

	.site-footer__top {
		flex-direction: column;
		gap: 2rem;
		align-items: center;
	}

	.site-footer__brand {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.site-footer__logo-text {
		align-items: center;
	}

	.site-footer__logo-primary,
	.site-footer__logo-secondary {
		margin-left: auto;
		margin-right: auto;
	}

	.site-footer__brand-content,
	.site-footer__brand-content .textwidget,
	.site-footer__brand-content p,
	.site-footer__brand-content a {
		text-align: center;
	}

	.site-footer__links-wrap {
		justify-content: center;
		width: 100%;
	}

	.site-footer__links-wrap .widget {
		text-align: center;
	}

	.site-footer__links-wrap .widget-title {
		text-align: center;
	}

	.site-footer__links-wrap ul {
		text-align: center;
	}

	.site-footer__links-wrap li {
		text-align: center;
	}

	.site-footer__links-wrap a {
		text-align: center;
	}

	.site-footer__bottom {
		flex-direction: column;
		align-items: center;
		justify-content: center;
		text-align: center;
	}

	.site-footer__social {
		justify-content: center;
		flex-wrap: wrap;
	}

	.site-footer__social-label {
		display: block;
		width: 100%;
		text-align: center;
		margin-bottom: 0.5rem;
	}

	.site-footer__social-menu,
	.site-footer__social .social-navigation ul {
		justify-content: center;
	}

	.site-footer__copyright {
		text-align: center;
	}
}

@media screen and (max-width: 767px) {
	.site-footer__top {
		flex-direction: column;
		gap: 2rem;
	}

	.site-footer__bottom {
		flex-direction: column;
		align-items: center;
	}
}

/* Legacy .site-info for backward compatibility */
.site-info {
	color: var(--color-text-lighter);
	font-size: 13px;
	line-height: 1.6;
}

.site-info a {
	color: var(--color-text-lighter);
}

.site-info a:hover,
.site-info a:focus {
	color: var(--color-link);
}


/**
 * 12.0 - Media
 */

.site .avatar {
	border-radius: 50%;
}

.entry-content .wp-smiley,
.entry-summary .wp-smiley,
.comment-content .wp-smiley,
.textwidget .wp-smiley {
	border: none;
	margin-top: 0;
	margin-bottom: 0;
	padding: 0;
}

.entry-content a img,
.entry-summary a img,
.comment-content a img,
.textwidget a img {
	display: block;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object,
video {
	margin-bottom: 1.75em;
	max-width: 100%;
	vertical-align: middle;
}

p > embed,
p > iframe,
p > object,
p > video {
	margin-bottom: 0;
}

.entry-content .wp-audio-shortcode a,
.entry-content .wp-playlist a {
	box-shadow: none;
}

.wp-audio-shortcode,
.wp-video,
.wp-playlist.wp-audio-playlist {
	margin-top: 0;
	margin-bottom: 1.75em;
}

.wp-playlist.wp-audio-playlist {
	padding-bottom: 0;
}

.wp-playlist .wp-playlist-tracks {
	margin-top: 0;
}

.wp-playlist-item .wp-playlist-caption {
	border-bottom: 0;
	padding: 0.7142857143em 0;
}

.wp-playlist-item .wp-playlist-item-length {
	top: 0.7142857143em;
}


/**
 * 12.1 - Captions
 */

.wp-caption {
	margin-bottom: 1.75em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin: 0;
}

.wp-caption .wp-caption-text {
	color: var(--color-text-lighter);
	font-size: 13px;
	font-size: 0.8125rem;
	font-style: italic;
	line-height: 1.6153846154;
	padding-top: 0.5384615385em;
}


/**
 * 12.2 - Galleries
 */

.gallery {
	margin: 0 -1.1666667% 1.75em;
}

.gallery-item {
	display: inline-block;
	max-width: 33.33%;
	padding: 0 1.1400652% 2.2801304%;
	text-align: center;
	vertical-align: top;
	width: 100%;
}

.gallery-columns-1 .gallery-item {
	max-width: 100%;
}

.gallery-columns-2 .gallery-item {
	max-width: 50%;
}

.gallery-columns-4 .gallery-item {
	max-width: 25%;
}

.gallery-columns-5 .gallery-item {
	max-width: 20%;
}

.gallery-columns-6 .gallery-item {
	max-width: 16.66%;
}

.gallery-columns-7 .gallery-item {
	max-width: 14.28%;
}

.gallery-columns-8 .gallery-item {
	max-width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	max-width: 11.11%;
}

.gallery-icon img {
	margin: 0 auto;
}

.gallery-caption {
	color: var(--color-text-lighter);
	display: block;
	font-size: 13px;
	font-size: 0.8125rem;
	font-style: italic;
	line-height: 1.6153846154;
	padding-top: 0.5384615385em;
}

.gallery-columns-6 .gallery-caption,
.gallery-columns-7 .gallery-caption,
.gallery-columns-8 .gallery-caption,
.gallery-columns-9 .gallery-caption {
	display: none;
}


/**
 * 13.0 - Multisites
 */

.widecolumn {
	margin-bottom: 3.5em;
	padding: 0 7.6923%;
}

.widecolumn .mu_register {
	width: auto;
}

.widecolumn .mu_register .mu_alert {
	background: transparent;
	border-color: #d1d1d1;
	color: inherit;
	margin-bottom: 3.5em;
	padding: 1.75em;
}

.widecolumn form,
.widecolumn .mu_register form {
	margin-top: 0;
}

.widecolumn h2 {
	font-size: 23px;
	font-size: 1.4375rem;
	font-weight: 900;
	line-height: 1.2173913043;
	margin-bottom: 1.2173913043em;
}

.widecolumn p {
	margin: 1.75em 0;
}

.widecolumn p + h2 {
	margin-top: 2.4347826087em;
}

.widecolumn label,
.widecolumn .mu_register label {
	color: var(--color-text-lighter);
	font-family: var(--font-primary);
	font-size: 13px;
	font-size: 0.8125rem;
	font-weight: 400;
	letter-spacing: 0.076923077em;
	line-height: 1.6153846154;
	text-transform: uppercase;
}

.widecolumn .mu_register label {
	margin: 2.1538461538em 0.7692307692em 0.5384615385em 0;
}

.widecolumn .mu_register label strong {
	font-weight: 400;
}

.widecolumn #key,
.widecolumn .mu_register #blog_title,
.widecolumn .mu_register #user_email,
.widecolumn .mu_register #blogname,
.widecolumn .mu_register #user_name {
	font-size: 16px;
	font-size: 1rem;
	width: 100%;
}

.widecolumn .mu_register #blogname {
	margin: 0;
}

.widecolumn .mu_register #blog_title,
.widecolumn .mu_register #user_email,
.widecolumn .mu_register #user_name {
	margin: 0 0 0.375em;
}

.widecolumn #submit,
.widecolumn .mu_register input[type="submit"] {
	font-size: 16px;
	font-size: 1rem;
	margin: 0;
	width: auto;
}

.widecolumn .mu_register .prefix_address,
.widecolumn .mu_register .suffix_address {
	font-size: inherit;
}

.widecolumn .mu_register > :last-child,
.widecolumn form > :last-child {
	margin-bottom: 0;
}


/**
 * 14.0 - Media Queries
 */

/**
 * Does the same thing as <meta name="viewport" content="width=device-width">,
 * but in the future W3C standard way. -ms- prefix is required for IE10+ to
 * render responsive styling in Windows 8 "snapped" views; IE10+ does not honor
 * the meta tag. See https://core.trac.wordpress.org/ticket/25888.
 */
@-ms-viewport {
	width: device-width;
}

@viewport {
	width: device-width;
}


/**
 * 14.1 - >= 710px
 */

@media screen and (min-width: 44.375em) {
	html {
		scroll-padding-top: calc( var(--wp-admin--admin-bar--height, 0px) + 21px );
	}

	body:not(.custom-background-image):before,
	body:not(.custom-background-image):after {
		background: inherit;
		content: "";
		display: block;
		height: 21px;
		left: 0;
		position: fixed;
		width: 100%;
		z-index: 99;
	}

	body:not(.custom-background-image):before {
		top: 0;
	}

	body:not(.custom-background-image).admin-bar:before {
		top: 46px;
	}

	body:not(.custom-background-image):after {
		bottom: 0;
	}

	/* .site {
		margin: 21px;
	} */

	.site-main {
		margin-bottom: 5.25em;
	}



	.custom-logo {
		max-width: 210px;
	}

	.site-title {
		font-size: 1.5rem;
	}

	.menu-toggle {
		padding: 0;
	}

	.site-header .main-navigation + .social-navigation {
		margin-top: 2.625em;
	}

	.header-image {
		margin: 1.3125em 0;
	}

	.pagination {
		margin: 0 23.0769% 4.421052632em 7.6923%
	}

	.post-navigation {
		margin-bottom: 5.25em;
	}

	.post-navigation .post-title {
		font-size: 28px;
		font-size: 1.75rem;
		line-height: 1.25;
	}

	/* restore screen-reader-text */
	.pagination .current .screen-reader-text {
		position: absolute !important;
	}

	.pagination .page-numbers {
		display: inline-block;
	}

	.site-main > article {
		margin-bottom: 5.25em;
	}

	.entry-header,
	.post-thumbnail,
	.entry-content,
	.entry-summary,
	.entry-footer,
	.comments-area,
	.image-navigation,
	.post-navigation,
	.page-header,
	.page-content,
	.content-bottom-widgets {
		margin-right: 23.0769%;
	}

	.entry-title {
		font-size: 33px;
		font-size: 2.0625rem;
		line-height: 1.2727272727;
		margin-bottom: 0.8484848485em;
	}

	.entry-content blockquote.alignleft,
	.entry-content blockquote.alignright {
		border-width: 4px 0 0 0;
		padding: 0.9473684211em 0 0;
		width: -webkit-calc(50% - 0.736842105em);
		width: calc(50% - 0.736842105em);
	}

	.entry-content blockquote:not(.alignleft):not(.alignright),
	.entry-summary blockquote,
	.comment-content blockquote {
		margin-left: -1.473684211em;
	}

	.entry-content blockquote blockquote:not(.alignleft):not(.alignright),
	.entry-summary blockquote blockquote,
	.comment-content blockquote blockquote {
		margin-left: 0;
	}

	.entry-content ul,
	.entry-summary ul,
	.comment-content ul,
	.entry-content ol,
	.entry-summary ol,
	.comment-content ol {
		margin-left: 0;
	}

	.entry-content li > ul,
	.entry-summary li > ul,
	.comment-content li > ul,
	.entry-content blockquote > ul,
	.entry-summary blockquote > ul,
	.comment-content blockquote > ul {
		margin-left: 1.25em;
	}

	.entry-content li > ol,
	.entry-summary li > ol,
	.comment-content li > ol,
	.entry-content blockquote > ol,
	.entry-summary blockquote > ol,
	.comment-content blockquote > ol {
		margin-left: 1.5em;
	}

	.comment-author {
		margin-bottom: 0;
	}

	.comment-author .avatar {
		height: 42px;
		position: relative;
		top: 0.25em;
		width: 42px;
	}

	.comment-list .children > li {
		padding-left: 1.75em;
	}

	.comment-list + .comment-respond,
	.comment-navigation + .comment-respond {
		padding-top: 3.5em;
	}

	.comments-area,
	.widget,
	.content-bottom-widgets .widget-area {
		margin-bottom: 5.25em;
	}

	.sidebar,
	.widecolumn {
		margin-bottom: 5.25em;
		padding-right: 23.0769%;
	}

	body:not(.search-results) .entry-summary li > ul,
	body:not(.search-results) .entry-summary blockquote > ul {
		margin-left: 1.157894737em;
	}

	body:not(.search-results) .entry-summary li > ol,
	body:not(.search-results) .entry-summary blockquote > ol {
		margin-left: 1.473684211em;
	}
}


/**
 * 14.2 - >= 783px
 */

@media screen and (min-width: 48.9375em) {
	body:not(.custom-background-image).admin-bar:before {
		top: 32px;
	}
}



@media screen and (min-width: 64em) {

	.site-header-main {
		align-items: center;
		flex-wrap: wrap;
	}

	/* Prevent logo from taking too much space so nav doesn't overlap */
	.site-header-main .site-branding {
		max-width: min(320px, 38%);
		flex-shrink: 0;
	}

	/* Hide hamburger when horizontal nav is shown */
	.site-header-main .menu-toggle {
		display: none;
	}

	/* Figma: Nav visible, centered, horizontal - single line when space allows */
	.site-header-menu {
		display: flex;
		flex: 1 1 400px;
		order: 0;
		width: auto;
		min-width: 280px;
	}

	.main-navigation {
		margin: 0;
	}

	.main-navigation .primary-menu,
	.main-navigation .primary-menu > li {
		border: 0;
	}

	.main-navigation .primary-menu {
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: center;
		gap: 0 1.5rem;
		width: 100%;
	}

	/* Push Contact Us to far right on desktop */
	.primary-menu > .menu-item:last-child {
		margin-left: 2rem;
	}

	.main-navigation .primary-menu > li {
		float: none;
		border-top: none;
		flex-shrink: 0;
	}

	.main-navigation a {
		outline-offset: -8px;
		padding: 0.25rem 0;
		white-space: nowrap;
		font-size: 1.2rem;
		font-family: var(--font-primary);
	}

	.main-navigation li:hover > a,
	.main-navigation li.focus > a {
		/* color: var(--color-accent); */
		border-bottom: 1px solid var(--color-text);
	}

	.main-navigation ul ul {
		display: block;
		left: 0;
		margin: 0;
		padding: 0;
		position: absolute;
		top: 100%;
		z-index: 99999;
		min-width: 14rem;
		background: #fff;
		border-radius: 8px;
		box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1), 0 2px 8px rgba(0, 0, 0, 0.06);
		border: 1px solid rgba(0, 0, 0, 0.08);
		opacity: 0;
		visibility: hidden;
		transform: translateY(-10px);
		transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
	}

	.main-navigation ul ul ul {
		top: 0;
		left: 100%;
		margin-left: 0.25rem;
	}

	.main-navigation ul ul ul:before,
	.main-navigation ul ul ul:after {
		border: 0;
	}

	.main-navigation ul ul li {
		background-color: transparent;
		border: none;
		border-bottom: 1px solid rgba(0, 0, 0, 0.06);
		transition: background-color 0.2s ease;
	}

	.main-navigation ul ul li:last-child {
		border-bottom: none;
	}

	.main-navigation ul ul li:hover {
		background-color: #f5f5f5;
	}

	.main-navigation ul ul a {
		white-space: nowrap;
		width: auto;
		padding: 0.75rem 1rem 0.75rem 0.5rem;
		font-size: 0.9375rem;
		font-weight: 500;
		color: var(--color-text);
		transition: color 0.2s ease, background-color 0.2s ease;
	}

	.main-navigation ul ul li:hover > a,
	.main-navigation ul ul li.focus > a {
		color: var(--color-text);
	}

	.main-navigation ul ul:before,
	.main-navigation ul ul:after {
		display: none;
	}

	.main-navigation li:hover > ul,
	.main-navigation li.focus > ul {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}

	.main-navigation ul ul li:hover > ul,
	.main-navigation ul ul li.focus > ul {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
		left: 100%;
		right: auto;
	}

	.main-navigation .menu-item-has-children > a {
		margin: 0;
		padding-right: 1.25em;
		position: relative;
	}

	.main-navigation .menu-item-has-children > a:after {
		font-size: 1.2rem;
        content: "\f431";
        position: absolute;
        right: 0.25em;
        top: 0.5125em;
        font-weight: 700;
	}

	.main-navigation ul ul .menu-item-has-children > a {
		padding-right: 2.0625em;
	}

	.main-navigation ul ul .menu-item-has-children > a:after {
		right: 0.5625em;
		top: 0.875em;
		-webkit-transform: rotate(90deg);
		-moz-transform: rotate(90deg);
		-ms-transform: rotate(90deg);
		transform: rotate(90deg);
	}

	.dropdown-toggle,
	.main-navigation ul .dropdown-toggle.toggled-on,
	.menu-toggle,
	.site-header .social-navigation,
	.site-footer .main-navigation {
		display: none;
	}

	.content-area {
		float: left;
		margin-right: -100%;
		width: 70%;
	}

	.entry-header,
	.post-thumbnail,
	.entry-content,
	.entry-summary,
	.entry-footer,
	.comments-area,
	.image-navigation,
	.post-navigation,
	.pagination,
	.page-header,
	.page-content,
	.content-bottom-widgets {
		margin-right: 0;
		margin-left: 0;
	}

	.sidebar {
		float: left;
		margin-left: 75%;
		padding: 0;
		width: 25%;
	}

	.widget {
		font-size: 13px;
		font-size: 0.8125rem;
		line-height: 1.6153846154;
		margin-bottom: 3.230769231em;
		padding-top: 1.615384615em;
	}

	.widget .widget-title {
		margin-bottom: 1.3125em;
	}

	.widget p,
	.widget address,
	.widget hr,
	.widget ul,
	.widget ol,
	.widget dl,
	.widget dd,
	.widget table {
		margin-bottom: 1.6153846154em;
	}

	.widget li > ul,
	.widget li > ol {
		margin-bottom: 0;
	}

	.widget blockquote {
		font-size: 16px;
		font-size: 1rem;
		line-height: 1.3125;
		margin-bottom: 1.3125em;
		padding-left: 1.0625em;
	}

	.widget blockquote cite,
	.widget blockquote small {
		font-size: 13px;
		font-size: 0.8125rem;
		line-height: 1.6153846154;
	}

	.widget th,
	.widget td {
		padding: 0.5384615385em;
	}

	.widget pre {
		font-size: 13px;
		font-size: 0.8125rem;
		line-height: 1.6153846154;
		margin-bottom: 1.6153846154em;
		padding: 0.5384615385em;
	}

	.widget fieldset {
		margin-bottom: 1.6153846154em;
		padding: 0.5384615385em;
	}

	.widget button,
	.widget input,
	.widget select,
	.widget textarea {
		font-size: 13px;
		font-size: 0.8125rem;
		line-height: 1.6153846154;
	}

	.widget button,
	.widget input[type="button"],
	.widget input[type="reset"],
	.widget input[type="submit"] {
		line-height: 1;
		padding: 0.846153846em;
	}

	.widget input[type="date"],
	.widget input[type="time"],
	.widget input[type="datetime-local"],
	.widget input[type="week"],
	.widget input[type="month"],
	.widget input[type="text"],
	.widget input[type="email"],
	.widget input[type="url"],
	.widget input[type="password"],
	.widget input[type="search"],
	.widget input[type="tel"],
	.widget input[type="number"],
	.widget textarea {
		padding: 0.4615384615em 0.5384615385em;
	}

	.widget h1 {
		font-size: 23px;
		font-size: 1.4375rem;
		line-height: 1.2173913043;
		margin-bottom: 0.9130434783em;
	}

	.widget h2 {
		font-size: 19px;
		font-size: 1.1875rem;
		line-height: 1.1052631579;
		margin-bottom: 1.1052631579em;
	}

	.widget h3 {
		font-size: 16px;
		font-size: 1rem;
		line-height: 1.3125;
		margin-bottom: 1.3125em;
	}

	.widget h4,
	.widget h5,
	.widget h6 {
		font-size: 13px;
		font-size: 0.8125rem;
		line-height: 1.6153846154;
		margin-bottom: 0.9130434783em;
	}

	.widget .alignleft {
		margin: 0.2307692308em 1.6153846154em 1.6153846154em 0;
	}

	.widget .alignright {
		margin: 0.2307692308em 0 1.6153846154em 1.6153846154em;
	}

	.widget .aligncenter {
		margin-bottom: 1.6153846154em;
	}

	.widget_calendar td,
	.widget_calendar th,
	.widget_calendar .wp-calendar-nav span {
		line-height: 2.6923076923;
		padding: 0;
	}

	.widget_rss .rssSummary:last-child {
		margin-bottom: 1.615384615em;
	}

	.widget input[type="search"].search-field {
		width: -webkit-calc(100% - 35px);
		width: calc(100% - 35px);
	}

	.widget .search-submit:before {
		font-size: 16px;
		left: 1px;
		line-height: 35px;
		width: 34px;
	}

	.widget button.search-submit {
		padding: 0;
		width: 35px;
	}

	.tagcloud a {
		margin: 0 0.2307692308em 0.5384615385em 0;
		padding: 0.5384615385em 0.4615384615em 0.4615384615em;
	}

	.textwidget h1 {
		margin-top: 1.8260869565em;
	}

	.textwidget h2 {
		margin-top: 2.2105263158em;
	}

	.textwidget h3 {
		margin-top: 2.625em;
	}

	.textwidget h4 {
		letter-spacing: 0.153846154em;
	}

	.textwidget h4,
	.textwidget h5,
	.textwidget h6 {
		margin-top: 3.2307692308em;
	}

	.content-bottom-widgets .widget-area:nth-child(1):nth-last-child(2),
	.content-bottom-widgets .widget-area:nth-child(2):nth-last-child(1) {
		float: left;
		margin-right: 7.1428571%;
		width: 46.42857145%;
	}

	.content-bottom-widgets .widget-area:nth-child(2):nth-last-child(1):last-of-type {
		margin-right: 0;
	}

	.site-footer__inner {
		padding: 3rem 0 2rem;
	}

	.no-sidebar .content-area {
		float: none;
		margin: 0;
		width: 100%;
	}

	.no-sidebar .entry-header,
	.no-sidebar .entry-content,
	.no-sidebar .entry-summary,
	.no-sidebar .entry-footer,
	.no-sidebar .comments-area,
	.no-sidebar .image-navigation,
	.no-sidebar .post-navigation,
	.no-sidebar .pagination,
	.no-sidebar .page-header,
	.no-sidebar .page-content,
	.no-sidebar .content-bottom-widgets {
		margin-right: 15%;
		margin-left: 15%;
	}

	.widecolumn {
		padding-right: 15%;
		padding-left: 15%;
	}
}


/**
 * 14.4 - >= 985px
 */

@media screen and (min-width: 61.5625em) {
	.site-main {
		margin-bottom: 7.0em;
	}

	.site-header-main {
		padding: 1.75rem 2rem;
	}

	.custom-logo {
		max-width: 240px;
	}

	.header-image {
		margin-top: 1.75em;
		margin-bottom: 1.75em;
	}

	.image-navigation {
		margin-bottom: 3.230769231em;
	}

	.post-navigation {
		margin-bottom: 7.0em;
	}

	.pagination {
		margin-bottom: 5.894736842em;
	}

	.widget {
		margin-bottom: 4.307692308em;
	}

	.site-main > article {
		margin-bottom: 7.0em;
	}

	.entry-title {
		font-size: 40px;
		font-size: 2.5rem;
		line-height: 1.225;
		margin-bottom: 1.05em;
	}

	.format-aside .entry-title,
	.format-image .entry-title,
	.format-video .entry-title,
	.format-quote .entry-title,
	.format-gallery .entry-title,
	.format-status .entry-title,
	.format-link .entry-title,
	.format-audio .entry-title,
	.format-chat .entry-title {
		font-size: 23px;
		font-size: 1.4375em;
		line-height: 1.304347826;
		margin-bottom: 1.826086957em;
	}

	.post-thumbnail {
		margin-bottom: 2.625em;
	}

	.entry-content h1,
	.entry-summary h1,
	.comment-content h1 {
		font-size: 33px;
		font-size: 2.0625rem;
		line-height: 1.2727272727;
		margin-top: 1.696969697em;
		margin-bottom: 0.8484848485em;
	}

	.entry-content h2,
	.entry-summary h2,
	.comment-content h2 {
		font-size: 28px;
		font-size: 1.75rem;
		line-height: 1.25;
		margin-top: 2em;
		margin-bottom: 1em;
	}

	.entry-content h3,
	.entry-summary h3,
	.comment-content h3 {
		font-size: 23px;
		font-size: 1.4375rem;
		line-height: 1.2173913043;
		margin-top: 2.4347826087em;
		margin-bottom: 1.2173913043em;
	}

	.entry-content h4,
	.entry-summary h4,
	.entry-intro h4,
	.comment-content h4 {
		letter-spacing: 0.131578947em;
	}

	.entry-content h4,
	.entry-content h5,
	.entry-content h6,
	.entry-summary h4,
	.entry-summary h5,
	.entry-summary h6,
	.comment-content h4,
	.comment-content h5,
	.comment-content h6 {
		font-size: 19px;
		font-size: 1.1875rem;
		line-height: 1.1052631579;
		margin-top: 2.9473684211em;
		margin-bottom: 1.473684211em;
	}

	.author-info {
		border-bottom-width: 0;
		padding-bottom: 0;
	}

	.comment-list + .comment-respond,
	.comment-navigation + .comment-respond {
		padding-top: 5.25em;
	}

	.comments-area,
	.sidebar,
	.content-bottom-widgets .widget-area,
	.widecolumn {
		margin-bottom: 7.0em;
	}

	body:not(.search-results) .entry-summary {
		margin-bottom: 2.210526316em;
	}

	body:not(.search-results) .entry-header + .entry-summary {
		margin-top: -1.105263158em;
	}

	body:not(.search-results) article:not(.type-page) .entry-content {
		float: right;
		width: 71.42857144%;
	}

	body:not(.search-results) article:not(.type-page) .entry-content > blockquote.alignleft.below-entry-meta {
		margin-left: -40%;
		width: -webkit-calc(60% - 1.4736842105em);
		width: calc(60% - 1.4736842105em);
	}

	body:not(.search-results) article:not(.type-page) img.below-entry-meta,
	body:not(.search-results) article:not(.type-page) figure.below-entry-meta {
		clear: both;
		display: block;
		float: none;
		margin-right: 0;
		margin-left: -40%;
		max-width: 140%;
	}

	body:not(.search-results) article:not(.type-page) .gallery-item img.below-entry-meta,
	body:not(.search-results) article:not(.type-page) figure.below-entry-meta img.below-entry-meta,
	body:not(.search-results) article:not(.type-page) table figure.below-entry-meta,
	body:not(.search-results) article:not(.type-page) table img.below-entry-meta {
		margin: 0;
		max-width: 100%;
	}

	body:not(.search-results) article:not(.type-page) .entry-footer {
		float: left;
		margin-top: 0.1538461538em;
		width: 21.42857143%;
	}

	body:not(.search-results) article:not(.type-page) .entry-footer > span:not(:last-child):after {
		display: none;
	}

	.single .byline,
	.full-size-link,
	body:not(.search-results).group-blog .byline,
	body:not(.search-results) .entry-format,
	body:not(.search-results) .cat-links,
	body:not(.search-results) .tags-links,
	body:not(.search-results) article:not(.sticky) .posted-on,
	body:not(.search-results) article:not(.type-page) .comments-link,
	body:not(.search-results) article:not(.type-page) .entry-footer .edit-link {
		display: block;
		margin-bottom: 0.5384615385em;
	}

	body:not(.search-results) article:not(.type-page) .entry-footer > span:last-child {
		margin-bottom: 0;
	}

	body:not(.search-results) article:not(.type-page) .entry-footer .avatar {
		display: block;
		height: auto;
		margin: 0 0 0.5384615385em;
		width: 49px;
	}

	body.no-sidebar:not(.search-results) article:not(.type-page) .entry-content {
		float: left;
		margin-right: -100%;
		margin-left: 34.99999999%;
		width: 50.00000001%;
	}

	body.no-sidebar:not(.search-results) article:not(.type-page) .entry-footer {
		margin-right: -100%;
		margin-left: 15%;
		width: 15%;
	}
}


/**
 * 14.5 - >= 1200px
 */

@media screen and (min-width: 75em) {
	body:not(.search-results) .entry-summary {
		font-size: 23px;
		font-size: 1.4375rem;
		line-height: 1.5217391304;
		margin-bottom: 1.826086957em;
	}

	body:not(.search-results) .entry-header + .entry-summary {
		margin-top: -0.913043478em;
	}

	body:not(.search-results) .entry-summary p,
	body:not(.search-results) .entry-summary address,
	body:not(.search-results) .entry-summary hr,
	body:not(.search-results) .entry-summary ul,
	body:not(.search-results) .entry-summary ol,
	body:not(.search-results) .entry-summary dl,
	body:not(.search-results) .entry-summary dd,
	body:not(.search-results) .entry-summary table {
		margin-bottom: 1.5217391304em;
	}

	body:not(.search-results) .entry-summary li > ul,
	body:not(.search-results) .entry-summary blockquote > ul {
		margin-left: 0.956521739em;
	}

	body:not(.search-results) .entry-summary li > ol,
	body:not(.search-results) .entry-summary blockquote > ol {
		margin-left: 1.52173913em;
	}

	body:not(.search-results) .entry-summary blockquote {
		font-size: 23px;
		font-size: 1.4375rem;
		line-height: 1.5217391304;
		margin: 0 0 1.5217391304em;
		padding-left: 1.347826087em;
	}

	body:not(.search-results) .entry-summary blockquote:not(.alignleft):not(.alignright) {
		margin-left: -1.52173913em;
	}

	body:not(.search-results) .entry-summary blockquote blockquote:not(.alignleft):not(.alignright) {
		margin-left: 0;
	}

	body:not(.search-results) .entry-summary blockquote cite,
	body:not(.search-results) .entry-summary blockquote small {
		font-size: 19px;
		font-size: 1.1875rem;
		line-height: 1.8421052632;
	}

	body:not(.search-results) .entry-summary th,
	body:not(.search-results) .entry-summary td {
		padding: 0.3043478261em;
	}

	body:not(.search-results) .entry-summary pre {
		font-size: 16px;
		font-size: 1rem;
		line-height: 1.75;
		margin-bottom: 1.75em;
		padding: 1.75em;
	}

	body:not(.search-results) .entry-summary fieldset {
		margin-bottom: 1.5217391304em;
		padding: 0.3043478261em;
	}

	body:not(.search-results) .entry-summary h1 {
		margin-top: 2.121212121em;
		margin-bottom: 1.060606061em;
	}

	body:not(.search-results) .entry-summary h2 {
		margin-top: 2.5em;
		margin-bottom: 1.25em;
	}

	body:not(.search-results) .entry-summary h3 {
		margin-top: 3.043478261em;
		margin-bottom: 1.52173913em;
	}

	body:not(.search-results) .entry-summary h4,
	body:not(.search-results) .entry-summary h5,
	body:not(.search-results) .entry-summary h6 {
		margin-top: 3.684210526em;
		margin-bottom: 1.842105263em;
	}

	body:not(.search-results) .entry-summary h1:first-child,
	body:not(.search-results) .entry-summary h2:first-child,
	body:not(.search-results) .entry-summary h3:first-child,
	body:not(.search-results) .entry-summary h4:first-child,
	body:not(.search-results) .entry-summary h5:first-child,
	body:not(.search-results) .entry-summary h6:first-child {
		margin-top: 0;
	}

	body:not(.search-results) .entry-summary .alignleft {
		margin: 0.2608695652em 1.5217391304em 1.5217391304em 0;
	}

	body:not(.search-results) .entry-summary .alignright {
		margin: 0.2608695652em 0 1.5217391304em 1.5217391304em;
	}

	body:not(.search-results) .entry-summary .aligncenter {
		margin-bottom: 1.5217391304em;
	}
}


/**
 * Soundfix - Site Header (Figma Desktop V2)
 * Light grey bg, white bar, logo left, nav center, pill CTA right
 */

.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background-color: #fff;
}

.site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 1rem;
	background-color: #ffffff;
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 1.25rem 2rem;
}

.site-header__branding {
	flex-shrink: 0;
}

.site-header__logo {
	display: flex;
	align-items: center;
	text-decoration: none;
	color: var(--color-text);
}

.site-header__logo:focus-visible {
	outline: 2px solid #474cf1;
	outline-offset: 2px;
}

.site-header__logo img {
	display: block;
	height: auto;
	width: auto;
	max-width: 220px;
	object-fit: contain;
}

.site-header__logo-text {
	display: flex;
	flex-direction: column;
	font-family: var(--font-sans);
	font-weight: 700;
	line-height: 1.2;
	color: var(--color-text);
}

.site-header__logo-line--primary {
	font-size: 1.5rem;
}

.site-header__logo-line--secondary {
	font-size: 1.25rem;
}

/* Blue accent - waveform SVG */
.site-header__logo-mark svg {
	stroke: #474cf1;
}

.site-header__tagline {
	margin: 0.25rem 0 0;
	font-family: var(--font-sans);
	font-size: 0.75rem;
	font-weight: 400;
	color: var(--color-text-lighter);
	line-height: 1.3;
}

.site-header__menu-toggle {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 5px;
	width: 44px;
	height: 44px;
	padding: 0.5rem 0.75rem;
	background: transparent;
	border: 1px solid var(--color-border-dark);
	color: var(--color-text);
	cursor: pointer;
}

.site-header__menu-toggle:focus-visible {
	outline: 2px solid #474cf1;
	outline-offset: 2px;
}

.site-header__menu-toggle[aria-expanded="true"] .site-header__menu-toggle-bar:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}

.site-header__menu-toggle[aria-expanded="true"] .site-header__menu-toggle-bar:nth-child(2) {
	opacity: 0;
}

.site-header__menu-toggle[aria-expanded="true"] .site-header__menu-toggle-bar:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

.site-header__menu-toggle-bar {
	display: block;
	width: 22px;
	height: 2px;
	background-color: var(--color-text);
}

.site-header__nav {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #ffffff;
	overflow-y: auto;
	transform: translateX(100%);
	transition: transform 0.25s ease;
	z-index: 99;
}

.site-header__nav.is-open {
	transform: translateX(0);
}

body.menu-open {
	overflow: hidden;
}

.site-header__menu-wrapper {
	padding: 24px 16px;
}

.site-header__menu {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-header__menu .menu-item {
	margin: 0;
	border-bottom: 1px solid #e5e5e5;
}

.site-header__menu .menu-item a {
	display: block;
	padding: 16px;
	font-family: var(--font-sans);
	font-size: 1rem;
	font-weight: 400;
	color: var(--color-text);
	text-decoration: none;
}

.site-header__menu .menu-item a:focus-visible {
	outline: 2px solid #474cf1;
	outline-offset: -2px;
}

.site-header__cta {
	padding: 24px 16px;
	border-top: 1px solid #e5e5e5;
}

/* Pill-shaped CTA button - white bg, black border */
.site-header__cta-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	width: 100%;
	padding: 0.5rem 1.25rem;
	font-family: var(--font-sans);
	font-size: 1rem;
	font-weight: 400;
	color: var(--color-text);
	text-decoration: none;
	background-color: #ffffff;
	border: 1px solid var(--color-border-dark);
	border-radius: var(--radius-pill);
}

.site-header__cta-btn:focus-visible {
	outline: 2px solid #474cf1;
	outline-offset: 2px;
}

.site-header__cta-icon {
	flex-shrink: 0;
}

/* Responsive - desktop: horizontal nav, nav center, pill CTA */
@media screen and (min-width: 992px) {
	.site-header__menu-toggle {
		display: none;
	}

	.site-header__nav {
		position: static;
		display: flex;
		align-items: center;
		justify-content: center;
		flex: 1;
		transform: none;
		overflow: visible;
		background: transparent;
		min-width: 0;
	}

	.site-header__menu-wrapper {
		padding: 0;
	}

	.site-header__menu {
		flex-direction: row;
		justify-content: center;
		gap: 0 1.5rem;
	}

	.site-header__menu .menu-item {
		border-bottom: none;
	}

	.site-header__menu .menu-item a {
		padding: 0.25rem 0;
		font-size: 1rem;
	}

	.site-header__cta {
		padding: 0;
		border-top: none;
		flex-shrink: 0;
	}

	.site-header__cta-btn {
		width: auto;
		padding: 0.5rem 1.25rem;
		font-size: 1rem;
	}
}

@media screen and (max-width: 991px) {
	.site-header__nav {
		top: 0;
	}
}

@media screen and (max-width: 767px) {
	.site-header__inner {
		padding: 1rem 1.25rem;
	}

	.site-header__logo img {
		max-width: 160px;
	}
}


/**
 * Services Page
 * Figma: Hero, Our Process, Project showcase, CTA
 */

/* Services Hero Section - two columns: text left, image right */
.page-services-hero {
	padding-top: var(--top-section-padding) !important;
	background-color: var(--color-white);
	padding-bottom: 1rem !important;
}

.page-services-hero__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 3rem 6rem;
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 var(--content-padding);
}

.page-services-hero__content {
	flex: 0 1 500px;
	min-width: 0;
}
.page-services-process__title,
.page-services-hero__title {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 3.5rem;
	font-weight: 500;
	line-height: 1.2;
	color: var(--color-text);
	margin: 0 0 1.25rem;
	font-style: italic;
}

.page-services-process__title {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 3rem;
	font-weight: 700;
	line-height: 1.2;
	color: #333333;
	margin: 0 0 0.75rem;
}

.page-services-process__title-light {
	font-weight: 400;
	color: var(--color-text);
}

.page-services-process__title-bold {
	font-weight: 700;
	font-style: italic;
	color: #000;
}

.page-services-hero__description {
	font-family: var(--font-primary);
	font-size: 1.0625rem;
	font-weight: 400;
	line-height: 1.6;
	color: var(--color-text);
	margin: 0;
}

.page-services-hero__image {
	flex: 1 1 400px;
	min-width: 0;
	border-radius: var(--radius-md);
	overflow: hidden;
}

.page-services-hero__image img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

/* Our Process Section - images left, process steps right */
.page-services-process {
	padding: var(--section-padding) 0;
	background-color: var(--color-white);
}

.page-services-process__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 3rem 5rem;
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 var(--content-padding);
}

.page-services-process__images {
	flex: 0 1 500px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.page-services-process__image {
	border-radius: var(--radius-md);
	overflow: hidden;
}

.page-services-process__image img {
	width: 100%;
	height: 23rem;
	display: block;
	object-fit: cover;
}

.page-services-process__content {
	flex: 1 1 400px;
	min-width: 0;
}

.page-services-process__subtitle {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 1.0625rem;
	font-weight: 400;
	line-height: 1.6;
	color: #555555;
	margin: 0 0 2rem;
}

/* Process steps - actual markup (.process-wrapper, .process-item) */
.page-services-process .process-wrapper {
	list-style: none;
	margin: 0;
	padding: 0;
}

.page-services-process .process-item {
	display: flex;
	align-items: flex-start;
	gap: 1.25rem;
	margin-bottom: 2.5rem;
}

.page-services-process .process-item__content {
	flex: 1;
	min-width: 0;
}

.page-services-process .process-item:last-child {
	margin-bottom: 0;
}

.page-services-process .process-icon {
	flex-shrink: 0;
	width: 90px;
    height: 90px;
    min-width: 90px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #F7F7F7;
	border-radius: 12px;
}

.page-services-process .process-icon img {
	max-width: 90px;
	max-height: 90px;
	width: auto;
	height: auto;
	object-fit: contain;
}

.page-services-process .process-item h3,
.page-services-process .process-item__content h3 {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.3;
	color: #333333;
	margin: 0 0 0.5rem;
}

.page-services-process .process-item p,
.page-services-process .process-item__content p {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 1.0625rem;
	font-weight: 400;
	line-height: 1.6;
	color: #555555;
	margin: 0;
}

.page-services-process .process-item p + p,
.page-services-process .process-item__content p + p {
	margin-top: 0.75rem;
}

.page-services-process__steps {
	list-style: none;
	margin: 0;
	padding: 0;
}

.page-services-process__step {
	display: flex;
	align-items: flex-start;
	gap: 1.5rem;
	margin-bottom: 4rem;
}

.page-services-process__step:last-child {
	margin-bottom: 0;
}

.page-services-process__step-icon {
	flex-shrink: 0;
	width: 56px;
	height: 56px;
	min-width: 56px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--color-bg-alt);
	border-radius: var(--radius-md);
	color: #000;
}

.page-services-process__step-icon svg {
	width: 24px;
	height: 24px;
}

.page-services-process__step-title {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.3;
	color: #000;
	margin: 0 0 0.5rem;
}

.page-services-process__step-desc {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.6;
	color: var(--color-text);
	margin: 0;
}

/* Project Section - Coffs Harbour TAFE */
.page-services-project {
	padding-top: var(--top-section-padding) !important;
	background-color: var(--color-white);
}

.page-services-project__inner {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 var(--content-padding);
}

.page-services-project__header {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
	margin-bottom: 2rem;
}

.page-services-project__title {
	font-family: var(--font-primary);
	font-size: 2.3rem; 
	font-weight: 500;
	line-height: 1.3;
	color: var(--color-text);
	text-transform: uppercase;
	margin: 0;
	flex: 0 1 550px;
	font-style: italic;
}

.page-services-project__description {
	font-family: var(--font-primary);
	font-size: 1.125rem;
	font-weight: 400;
	line-height: 1.6;
	color: var(--color-text);
	margin: 0;
	flex: 1 1 300px;
}

.page-services-project__gallery {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem;
}

.page-services-project__item {
	margin: 0;
}

.page-services-project__item img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: var(--radius-md);
	object-fit: cover;
}

.page-services-project__caption {
	font-family: var(--font-primary);
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.5;
	color: var(--color-text);
	margin: 0.75rem 0 0;
}

/* CTA Section - Ready to Improve */
.page-services-cta {
	padding: var(--section-padding) 0;
	background-color: var(--color-white);
}

.page-services-cta__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 3rem 4rem;
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 var(--content-padding);
}

.page-services-cta__content {
	flex: 0 1 400px;
	min-width: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.page-services-cta__title {
	font-family: var(--font-primary);
	font-size: 2.75rem;
	font-weight: 700;
	font-style: italic;
	line-height: 1.2;
	color: var(--color-text);
	margin: 0 0 1rem;
}

.page-services-cta__subtext {
	font-family: var(--font-primary);
	font-size: 1.125rem;
	font-weight: 400;
	line-height: 1.5;
	color: var(--color-text);
	margin: 0 0 1.5rem;
}

.page-services-cta__button {
	display: inline-flex;
	align-items: center;
	gap: 1rem;
	font-family: var(--font-primary);
	font-size: 1.0625rem;
	font-weight: 400;
	color: var(--color-text);
	text-decoration: none;
	background-color: var(--color-white);
	border: 1px solid var(--color-border-dark);
	border-radius: var(--radius-sm);
	padding: 0.625rem 1.25rem;
	width: fit-content;
}

.page-services-cta__button:hover,
.page-services-cta__button:focus {
	color: var(--color-link-hover);
	border-color: var(--color-link-hover);
}

.page-services-cta__icon {
	font-size: 1rem;
	line-height: 1;
}

.page-services-cta__images {
	flex: 1 1 400px;
	min-width: 0;
}

.page-services-cta__image-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}

.page-services-cta__image {
	border-radius: var(--radius-md);
	overflow: hidden;
	aspect-ratio: 1;
}

.page-services-cta__image img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}
@media screen and (max-width: 1150px) {

	.page-services-hero__content,
	.page-services-process__content {
		order: 1;
		flex: 0 1 auto;
	}

	.page-services-hero__image,
	.page-services-process__images {
		order: 2;
		flex: 1 1 auto;
	}

}
/* Services Page - Responsive */
@media screen and (max-width: 767px) {
	.home-services__card{
		width: auto;
		height: auto;	
	}
	.page-services-hero,
	.page-services-process,
	.page-services-project,
	.page-services-cta {
		padding: var(--section-padding-sm) 0;
	}

	.page-services-hero__inner,
	.page-services-process__inner,
	.page-services-cta__inner {
		flex-direction: column;
		padding: 0 var(--content-padding-sm);
	}

	.page-services-hero__content,
	.page-services-process__content {
		order: 1;
		flex: 0 1 auto;
	}

	.page-services-hero__image,
	.page-services-process__images {
		order: 2;
		flex: 0 1 auto;
	}

	.page-services-hero__title,
	.page-services-process__title {
		font-size: 2rem;
	}

	.page-services-process .process-item {
		gap: 1rem;
	}

	.page-services-process .process-icon {
		width: 90px;
		height: 90px;
		min-width: 90px;
	}

	.page-services-project__inner {
		padding: 0 var(--content-padding-sm);
	}

	/* .page-services-project__header {
		flex-direction: column;
	} */

	.page-services-project__gallery {
		grid-template-columns: 1fr;
	}

	.page-services-cta__title {
		font-size: 2rem;
	}

	.page-services-cta__subtext {
		font-size: 1rem;
	}
}

/**
 * Hear The Difference Page
 * Figma: Hero (image left, text right) + Reverberation before/after comparison
 */

/* Hear The Difference Hero Section */
.page-hear-hero {
	padding: var(--section-padding) 0;
	background-color: var(--color-white);
}

.page-hear-hero__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 3rem 4rem;
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 var(--content-padding);
}

.page-hear-hero__image {
	flex: 1 1 400px;
	min-width: 0;
	border-radius: var(--radius-md);
	overflow: hidden;
}

.page-hear-hero__image img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

.page-hear-hero__content {
	flex: 1 1 400px;
	min-width: 0;
}

.page-hear-hero__title {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 2.75rem;
	font-weight: 700;
	font-style: italic;
	line-height: 1.2;
	color: var(--color-text);
	margin: 0 0 1.25rem;
}

.page-hear-hero__description {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 1.0625rem;
	font-weight: 400;
	line-height: 1.6;
	color: var(--color-text);
	margin: 0;
}

/* Reverberation Comparison Section */
.page-hear-comparison {
	padding-top: 1rem !important;
	background-color: var(--color-white);
}

.page-hear-comparison__inner {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 var(--content-padding);
}

.page-hear-comparison__box {
	display: flex;
	flex-direction: column;
	align-items: center;
	grid-template-columns: 1fr 1fr;
    border-radius: 16px;
    overflow: hidden;
    padding: 16px;
	border: 1px solid #D6DEF1;
    border-radius: var(--radius-md);
}

/* Center video in Hear The Difference section */
.page-hear-comparison__box video {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}

/* Buttons: 2 per row, centered */
.page-hear-comparison__box .buttons {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem;
	margin-top: 1.5rem;
	width: 100%;
	max-width: 560px;
	margin-left: auto;
	margin-right: auto;
}

.page-hear-comparison__half {
	position: relative;
	min-height: 360px;
	display: flex;
	flex-direction: column;
}

.page-hear-comparison__before {
	background-color: var(--color-white);
}
.page-hear-comparison__label {
	position: absolute;
    top: 1rem;
    z-index: 2;
    padding: 0.5rem 1rem;
    border-radius: var(--radius-sm);
    font-family: var(--font-primary);
    font-size: 1.2rem;
    /* font-weight: 600; */
    border-radius: 25px;
	z-index: 500;
}

.page-hear-comparison__label--before {
	left: 1rem;
    background-color: var(--color-white);
    color: var(--color-text);
}

.page-hear-comparison__label--after {
	right: 1rem;
	background-color: var(--color-white);
    color: var(--color-text);
}

.page-hear-comparison__image-wrap {
	flex: 1;
	position: relative;
	min-height: 280px;
}

.page-hear-comparison__image-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.page-hear-comparison__overlay {
	position: absolute;
	bottom: 1rem;
	right: 1rem;
	padding: 0.5rem 0.75rem;
	background-color: rgba(0, 0, 0, 0.5);
	color: var(--color-white);
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 0.875rem;
}

.page-hear-comparison__meter {
	height: 24px;
	background: linear-gradient( to right, #4ade80, #22c55e );
	border-radius: 0 0 0 4px;
	overflow: hidden;
}

.page-hear-comparison__after .page-hear-comparison__meter {
	border-radius: 0;
}

.page-hear-comparison__meter-bar {
	display: block;
	height: 100%;
	background-color: #000;
	float: right;
}

.page-hear-comparison__meter--high .page-hear-comparison__meter-bar {
	width: 85%;
}

.page-hear-comparison__meter--low .page-hear-comparison__meter-bar {
	width: 25%;
}

.page-hear-comparison__after-visual {
	flex: 1;
	min-height: 280px;
	background-color: #c00;
	background-image: repeating-linear-gradient( 0deg, transparent, transparent 10px, rgba(0, 0, 0, 0.03) 10px, rgba(0, 0, 0, 0.03) 11px ), repeating-linear-gradient( 90deg, transparent, transparent 10px, rgba(0, 0, 0, 0.03) 10px, rgba(0, 0, 0, 0.03) 11px );
}

.page-hear-comparison__caption {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	color: var(--color-text);
	text-align: center;
	margin: 1.5rem 0 0;
}

/* Hear The Difference - Responsive */
@media screen and (max-width: 767px) {
	.home-services__card{
		width: auto;
		height: auto;	
	}
	.page-hear-hero {
		padding: var(--section-padding-sm) 0;
	}

	.page-hear-hero__inner {
		flex-direction: column;
		padding: 0 var(--content-padding-sm);
	}

	.page-hear-hero__image {
		order: 1;
	}

	.page-hear-hero__content {
		order: 2;
	}

	.page-hear-hero__title {
		font-size: 2rem;
	}

	.page-hear-comparison {
		padding: 0 0 2.5rem;
	}

	.page-hear-comparison__inner {
		padding: 0 var(--content-padding-sm);
	}

	.page-hear-comparison__box {
		grid-template-columns: 1fr;
	}

	.page-hear-comparison__box .buttons {
		grid-template-columns: 1fr;
		max-width: 100%;
	}

	.page-hear-comparison__half {
		min-height: 280px;
	}

	.page-hear-comparison__image-wrap {
		min-height: 200px;
	}

	.page-hear-comparison__after-visual {
		min-height: 200px;
	}
}

/**
 * Testimonials Page
 * Figma: Hero (image left, text right) + Testimonial cards (2 + 1 wide + 2)
 */

/* Testimonials Hero Section */
.page-testimonials-hero {
	padding-top: var(--top-section-padding) !important;
    background-color: var(--color-white);
}

.page-testimonials-hero__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 3rem 4rem;
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 var(--content-padding);
}

.page-testimonials-hero__image {
	flex: 1 1 400px;
	min-width: 0;
	border-radius: var(--radius-md);
	overflow: hidden;
	/* aspect-ratio: 4 / 3; */
}

.page-testimonials-hero__image img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
}

.page-testimonials-hero__content {
	flex: 1 1 400px;
	min-width: 0;
}

.page-testimonials-hero__title {
	font-family: var(--font-primary);
	font-size: 2.75rem;
	font-weight: 500;
	font-style: italic;
	line-height: 1.2;
	color: var(--color-text);
	margin: 0 5rem 1.25rem 0;
}

.page-testimonials-hero__description {
	font-family: var(--font-primary);
	font-size: 1.0625rem;
	font-weight: 400;
	line-height: 1.6;
	color: var(--color-text-muted);
	margin: 0;
	margin-bottom: 1.5rem;
}

/* Testimonials Grid - 2 col, 1 full, 2 col */
.page-testimonials-grid {
    background-color: var(--color-bg-input);
}

.page-testimonials-grid__inner {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.5rem;
	max-width: var(--container-max);
	margin: 0 auto;
}

.page-testimonials-card {
	background-color: var(--color-white);
	border-radius: var(--radius-md);
	padding: 2rem;
	border: 1px solid #D6DEF1;
    border-radius: var(--radius-md);
}

.page-testimonials-card--wide {
	grid-column: 1 / -1;
}

.page-testimonials-card__header {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 1.125rem;
	font-weight: 400;
	line-height: 1.4;
	color: var(--color-text);
	margin: 0 0 1rem;
}

.page-testimonials-card__client {
	font-weight: 700;
	color: var(--color-text);
}

.page-testimonials-card__reviewer cite {
	font-style: italic;
	font-weight: 400;
}

.page-testimonials-card__quote {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.65;
	color: var(--color-text-muted);
	margin: 0;
}

.page-testimonials-card__quote p {
	margin: 0;
}


/* Testimonials Page - Responsive */
@media screen and (max-width: 767px) {
	.page-testimonials-hero {
		padding: var(--section-padding-sm) 0;
	}

	.page-testimonials-hero__inner {
		padding: 0 var(--content-padding-sm);
	}

	.page-testimonials-hero__image {
		order: 2;
        flex: 1 1 auto;
	}

	.page-testimonials-hero__content {
		order: 1;
        flex: 1 1 auto;
	}

	.page-testimonials-hero__title {
		font-size: 2rem;
	}

	.page-testimonials-grid {
		padding: var(--section-padding-sm) 0;
	}

	.page-testimonials-grid__inner {
		grid-template-columns: 1fr;
		padding: 0 var(--content-padding-sm);
	}

	.page-testimonials-card--wide {
		grid-column: auto;
	}

	.page-testimonials-card {
		padding: 1.5rem;
	}
}

/**
 * Product Page - Ceilings & High Wall Panels
 * Hero, specs card, measurement table/graph, photo gallery
 */

.page-product-intro {
	padding-top: var(--top-section-padding) !important;
	background-color: var(--color-white);
	padding-bottom: 1rem !important;
}

.page-product-intro__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 3rem 4rem;
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 var(--content-padding);
}

.page-product-intro__content {
	flex: 1 1 480px;
	min-width: 0;
}

.page-product-intro__title {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 2.65rem;
    font-weight: 500;
    line-height: 1.2;
    color: var(--color-text);
    margin: 0 0 1rem;
    font-style: italic;
}

.page-product-intro__description {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 1.0625rem;
	font-weight: 400;
	line-height: 1.6;
	color: var(--color-text-muted);
	margin: 0;
}

.page-product-intro__diagram {
	flex: 1 1 500px;
	min-width: 0;
	margin: 0;
}

.page-product-intro__diagram-box {
	background: #e8e8e8;
	border: 1px solid #ccc;
	border-radius: var(--radius-md);
	padding: 1.5rem;
}

.page-product-intro__diagram-svg {
	width: 100%;
	max-width: 200px;
	height: auto;
	display: block;
	margin: 0 auto;
}

.page-product-intro__caption {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.5;
	color: var(--color-text-muted);
	margin: 0.75rem 0 0;
}

/* Specifications & Installation */
.page-product-specs {
	padding: 2rem 0;
	background-color: var(--color-white);
}

.page-product-specs__inner {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 var(--content-padding);
}
.page-product-measurement__card, 
.page-product-specs__card {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 2rem;
	background: #fff;
	border-radius: var(--radius-md);
	padding: 2rem;
	border: 1px solid #D6DEF1;
}

.page-product-specs__content {
	flex: 1 1 400px;
	min-width: 0;
}

.page-product-specs__heading {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--color-text);
	margin: 0 0 1.25rem;
}

.page-product-specs__list {
	margin: 0;
}

.page-product-specs__list dt {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--color-text);
	margin: 0.75rem 0 0.25rem;
}

.page-product-specs__list dt:first-child {
	margin-top: 0;
}

.page-product-specs__list dd {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 0.9375rem;
	font-weight: 400;
	line-height: 1.5;
	color: var(--color-text-muted);
	margin: 0 0 0.5rem;
}

.page-product-specs__list ul {
	margin: 0.25rem 0 0.5rem;
	padding-left: 1.25rem;
}

.page-product-specs__list li {
	margin: 0.125rem 0;
}

.page-product-specs__image {
	flex: 0 1 520px;
	min-width: 0;
	margin: 0;
}

.page-product-specs__image img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: var(--radius-sm);
	background: #ebebeb;
}

.page-product-specs__image figcaption {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 0.8125rem;
	font-weight: 400;
	line-height: 1.5;
	color: var(--color-text-light);
	margin: 0.5rem 0 0;
}

/* Measurement Details & Results */
.page-product-measurement {
	padding: 3rem 0;
	background-color: #fafafa;
}

.page-product-measurement__inner {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 var(--content-padding);
}

.page-product-measurement__heading {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--color-text);
	margin: 0 0 1.5rem;
}

.page-product-measurement__content {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;
	margin-bottom: 2rem;
}

.page-product-measurement__table-wrap {
	flex: 1 1 400px;
	min-width: 0;
	overflow-x: auto;
}

.page-product-measurement__table {
	width: 100%;
	border-collapse: collapse;
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 0.8125rem;
	background: #fff;
	border-radius: var(--radius-sm);
	box-shadow: 0 1px 6px rgba(0, 0, 0, 0.06);
}

.page-product-measurement__table th,
.page-product-measurement__table td {
	padding: 0.5rem 0.75rem;
	border: 1px solid #e5e5e5;
	text-align: left;
}

.page-product-measurement__table th {
	font-weight: 700;
	background: #f5f5f5;
	color: var(--color-text);
}

.page-product-measurement__table td {
	color: var(--color-text);
}

.page-product-measurement__graph {
	flex: 0 1 360px;
	min-width: 0;
}

.page-product-measurement__graph-placeholder {
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: var(--radius-sm);
	height: 220px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	box-shadow: 0 1px 6px rgba(0, 0, 0, 0.06);
}

.page-product-measurement__graph-placeholder span {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--color-text-light);
}

.page-product-measurement__graph-placeholder p {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 0.75rem;
	color: #999;
	margin: 0;
}

.page-product-measurement__footer {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 2rem;
}

.page-product-measurement__col h3 {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 1rem;
	font-weight: 700;
	color: var(--color-text);
	margin: 0 0 0.75rem;
}

.page-product-measurement__col p {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.5;
	color: var(--color-text-muted);
	margin: 0 0 0.5rem;
}

.page-product-measurement__col p:last-child {
	margin-bottom: 0;
}

/* Measurement card: single graph image (uses gallery__item in product.php) – screen 2 style */
.page-product-measurement__card {
	background: var(--color-white);
	padding: 1.75rem 2rem;
	min-width: 0;
	overflow: visible;
}
.page-product-measurement__card > .page-product-specs__heading {
	flex: 1 1 100%;
	text-align: center;
	margin-bottom: 1.25rem;
}
.page-product-measurement__card .page-product-gallery__item {
	flex: 1 1 100%;
	min-width: 0;
	margin: 0;
	max-width: 100%;
	overflow: visible;
}
.page-product-measurement__card .page-product-gallery__item img {
	width: auto;
	height: auto;
	max-width: 100%;
	object-fit: contain;
	display: block;
	border-radius: var(--radius-sm);
	background: #fff;
	border: 1px solid var(--color-border-light);
}
.page-product-measurement__card .page-product-gallery__item figcaption {
	font-family: var(--font-primary);
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.5;
	color: var(--color-text-light);
	margin: 1rem 0 0;
	padding: 0;
	white-space: normal;
	overflow: visible;
}

section.page-product-gallery {
    padding-bottom: 5rem !important;
}
/* Photo Gallery */
.page-product-pet-specs{
	padding-bottom: 20px !important;
	padding-top: 20px !important;
	background-color: var(--color-white);
}

.page-product-gallery__inner {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 var(--content-padding);
}

.page-product-gallery__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem;
}

/* Common: Product page animated card image gallery only – transition on hover */
.page-product-gallery__grid .page-product-gallery__item,
.page-product-pet-gallery__grid .page-product-gallery__item {
	margin: 0;
	width: 260px !important;
	transition: width 0.5s ease, opacity 0.5s ease, transform 0.4s ease, box-shadow 0.4s ease;
}

/* .page-product-gallery__grid .page-product-gallery__item:hover,
.page-product-gallery__grid .page-product-gallery__item:focus-within,
.page-product-pet-gallery__grid .page-product-gallery__item:hover,
.page-product-pet-gallery__grid .page-product-gallery__item:focus-within {
	width: auto !important;
	min-width: auto !important;
}

.page-product-gallery__grid .page-product-gallery__item:hover img,
.page-product-gallery__grid .page-product-gallery__item:focus-within img,
.page-product-pet-gallery__grid .page-product-gallery__item:hover img,
.page-product-pet-gallery__grid .page-product-gallery__item:focus-within img {
	min-width: 25rem;
} */

/* LIFT EFFECT */
.page-product-gallery__grid .page-product-gallery__item:hover,
 .page-product-pet-gallery__grid .page-product-gallery__item:hover {
    transform: translateY(-12px);
    box-shadow: 0 30px 60px rgba(0,0,0,0.25);
}

/* IMAGE ZOOM */
.page-product-gallery__grid .page-product-gallery__item:hover img {
    transform: scale(1.08);
}
.page-product-pet-gallery__grid .page-product-gallery__item:hover img {
    transform: scale(1.15);
}

.page-product-gallery__grid .page-product-gallery__item img,
.page-product-pet-gallery__grid .page-product-gallery__item img {
	transition: min-width 0.5s ease, transform 0.4s ease;
	width: 100%;
	object-fit: cover;
	display: block;
	border-radius: var(--radius-sm);
	background: #ebebeb;
}

.page-product-pet-gallery__grid .page-product-gallery__item img, 
.page-product-gallery__grid .page-product-gallery__item img {
	height: 200px;
	min-height: 25rem;
}


@media screen and (max-width: 1023px) {
	.page-product-gallery__grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.page-testimonials-hero__image {
		order: 2;
        flex: 1 1 auto;
	}

	.page-testimonials-hero__content {
		order: 1;
        flex: 1 1 auto;
	}
	
}

@media screen and (max-width: 767px) {
	.page-product-intro {
		padding: var(--section-padding-sm) 0;
	}
	.page-testimonials-hero__image {
		order: 2;
        flex: 1 1 auto;
	}

	.page-testimonials-hero__content {
		order: 1;
        flex: 1 1 auto;
	}

	.page-product-intro__inner {
		flex-direction: column;
		gap: 2rem;
		padding: 0 var(--content-padding-sm);
	}

	.page-product-intro__title {
		font-size: 2rem;
	}

	.page-product-specs__inner,
	.page-product-measurement__inner,
	.page-product-gallery__inner {
		padding: 0 var(--content-padding-sm);
	}

	.page-product-specs__card {
		padding: 1.5rem;
	}

	.page-product-measurement__card {
		padding: 1.25rem 1.25rem;
	}

	.page-product-measurement__content {
		flex-direction: column;
	}

	.page-product-measurement__footer {
		grid-template-columns: 1fr;
	}

	.page-product-pet-gallery__grid,
	.page-product-gallery__grid {
		grid-template-columns: 1fr 1fr;
	}

	.page-product-gallery__grid .page-product-gallery__item img,
	.page-product-pet-gallery__grid .page-product-gallery__item img {
		height: 180px;
		min-height: 0;
	}
}

/**
 * Product Page - Acoustic Wall Panels PET Section
 * Hero with product visual + key specs, specs + color swatches, gallery
 */

.page-product-pet {
	padding-bottom: 1rem !important;
	background-color: var(--color-white);
}

.page-product-pet__inner {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 var(--content-padding);
}

.page-product-pet__hero {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 2rem 3rem;
}

.page-product-pet__content {
	min-width: 0;
}

.page-product-pet__title {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 2.5rem;
	font-weight: 700;
	font-style: italic;
	line-height: 1.2;
	color: var(--color-text);
	margin: 0 0 1rem;
}

.page-product-pet__description {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 1.0625rem;
	font-weight: 400;
	line-height: 1.6;
	color: var(--color-text-muted);
	margin: 0;
	max-width: 40rem;
}

.page-product-pet__visual {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 1.5rem;
}

.page-product-pet__image-wrap {
	position: relative;
	margin: 0;
	flex: 1 1 320px;
	min-width: 0;
}

.page-product-pet__image-wrap img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: var(--radius-sm);
	background: #e8e8e8;
}

.page-product-pet__inset {
	position: absolute;
	left: 0;
	bottom: 1rem;
	margin: 0;
	padding: 0.75rem 1rem;
	background: rgba(255, 255, 255, 0.95);
	border-radius: var(--radius-sm);
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.page-product-pet__inset-label {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--color-text);
}

.page-product-pet__inset-tag {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 0.75rem;
	font-weight: 400;
	color: var(--color-text-light);
}

.page-product-pet__specs-highlight {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	flex-shrink: 0;
}

.page-product-pet__spec-item {
	display: flex;
	flex-direction: column;
}

.page-product-pet__spec-value {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.1;
	color: var(--color-text);
}

.page-product-pet__spec-label {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 0.875rem;
	font-weight: 400;
	color: var(--color-text-light);
}

/* PET Specifications & Color Options – screen 2: card on light grey background */

.page-product-pet-specs__inner {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 var(--content-padding);
}

.page-product-pet-specs__card {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 2rem;
	background: var(--color-white);
	border-radius: var(--radius-md);
	border: none;
	padding: 2rem;
	border: 1px solid #D6DEF1;
}

.page-product-pet-specs__content {
	flex: 1 1 400px;
	min-width: 0;
}

.page-product-pet-specs__heading {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 1.25rem;
	font-weight: 700;
	color: var(--color-text);
	margin: 0 0 1.25rem;
}

.page-product-pet-specs__list {
	margin: 0;
}

.page-product-pet-specs__list dt {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 0.9375rem;
	font-weight: 700;
	color: var(--color-text);
	margin: 0.75rem 0 0.25rem;
}

.page-product-pet-specs__list dt:first-child {
	margin-top: 0;
}

.page-product-pet-specs__list dd {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 0.9375rem;
	font-weight: 400;
	line-height: 1.5;
	color: var(--color-text);
	margin: 0 0 0.5rem;
}

.page-product-pet-specs__colors {
	flex: 1 1 500px;
	min-width: 0;
}

.page-product-pet-specs__swatches {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin-bottom: 1rem;
}

.page-product-pet-specs__swatch {
	width: 64px;
	height: 64px;
	border-radius: var(--radius-sm);
	border: 2px solid rgba(0, 0, 0, 0.1);
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
	display: flex;
	align-items: flex-end;
	justify-content: center;
	padding-bottom: 0.25rem;
}

.page-product-pet-specs__swatch span {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 0.625rem;
	font-weight: 600;
	color: rgba(0, 0, 0, 0.5);
}

.page-product-pet-specs__caption {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.5;
	color: var(--color-text);
	margin: 0;
}

/* PET Photo Gallery */
.page-product-pet-gallery {
	padding-top: 20px !important;
	background-color: var(--color-white);
}

.page-product-pet-gallery__inner {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 var(--content-padding);
}

.page-product-pet-gallery__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2rem;
}

.page-product-pet-gallery__item {
	margin: 0;
}

.page-product-pet-gallery__item img {
	width: 100%;
	height: 220px;
	object-fit: cover;
	display: block;
	border-radius: var(--radius-sm);
	background: #ebebeb;
}

@media screen and (max-width: 1023px) {
	.page-product-pet-gallery__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (max-width: 767px) {
	.page-product-pet {
		padding: var(--section-padding-sm) 0;
	}

	.page-product-pet__inner,
	.page-product-pet-specs__inner,
	.page-product-pet-gallery__inner {
		padding: 0 var(--content-padding-sm);
	}

	.page-product-pet__hero {
		flex-direction: column;
	}

	.page-product-pet__title {
		font-size: 2rem;
	}

	.page-product-pet__visual {
		flex-direction: column;
		align-items: stretch;
	}

	.page-product-pet__specs-highlight {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 1.5rem;
	}

	.page-product-pet-specs__card {
		flex-direction: column;
		padding: 1.5rem;
	}

	.page-product-pet-specs__swatches {
		justify-content: flex-start;
	}

	.page-product-pet-gallery__grid {
		grid-template-columns: 1fr 1fr;
	}
}

/**
 * Product Page - Acoustic Desk Dividers Section
 * Header with 2-col intro, grid of white cards (images + specs + captions)
 */

.page-product-dividers {
	padding: var(--section-padding) 0;
	background-color: var(--color-bg-alt);
}

.page-product-dividers__inner {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 var(--content-padding);
}

.page-product-dividers__header {
	margin-bottom: 2.5rem;
}

.page-product-dividers__title {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 2.7rem;
	font-weight: 500;
	line-height: 1.2;
	color: var(--color-text);
	margin: 0 0 1.5rem;
	font-style: italic;
}

.page-product-dividers__intro {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2rem 3rem;
}

.page-product-dividers__intro-col {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.6;
	color: var(--color-text);
	margin: 0;
}

.page-product-dividers__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.5rem;
}

.page-product-dividers__card {
	background: #fff;
	border-radius: var(--radius-md);
	border: 1px solid rgba(0, 0, 0, 0.04);
	overflow: hidden;
	font-family: var(--font-satoshi);
	border: 1px solid #D6DEF1;
}

.page-product-dividers__card-figure {
	margin: 0;
	padding: 1.25rem;
}

.page-product-dividers__card-figure img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: var(--radius-sm);
	background: #ebebeb;
}

.page-product-dividers__card-caption {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.5;
	color: var(--color-text-muted);
	margin: 0.75rem 0 0;
	padding: 0;
}

.page-product-dividers__card-content {
	padding: 1.5rem;
}

.page-product-dividers__card-title {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--color-text);
	margin: 0 0 1rem;
}

.page-product-dividers__spec-list {
	margin: 0;
}

.page-product-dividers__spec-list dt {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--color-text);
	margin: 0.75rem 0 0.25rem;
}

.page-product-dividers__spec-list dt:first-child {
	margin-top: 0;
}

.page-product-dividers__spec-list dd {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.6;
	color: var(--color-text-muted);
	margin: 0 0 0.5rem;
}

@media screen and (max-width: 767px) {
	.page-product-dividers {
		padding: var(--section-padding-sm) 0;
	}

	.page-product-dividers__inner {
		padding: 0 var(--content-padding-sm);
	}

	.page-product-dividers__title {
		font-size: 2rem;
	}

	.page-product-dividers__intro {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.page-product-dividers__grid {
		grid-template-columns: 1fr;
		gap: 1.25rem;
	}

	.page-product-dividers__card-figure,
	.page-product-dividers__card-content {
		padding: 1rem;
	}
}

/**
 * Application Page - Case Studies / Installations
 * Hero image + caption, then two-column grid of image+caption pairs
 */

.page-application {
	padding-top: 1rem !important;
	background-color: var(--color-white);
}

.page-application__inner {
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 var(--content-padding);
}

.page-application__hero {
	margin: 2rem 0;
    border-radius: var(--radius-md);
    padding: 1.5rem;
    border: 1px solid #D6DEF1;
}

.page-application__hero img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: var(--radius-md);
	background: #ebebeb;
}

.page-application__hero .page-application__caption {
	margin-top: 1rem;
}

.page-application__caption {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 0.9375rem;
	font-weight: 400;
	line-height: 1.6;
	color: var(--color-text-muted);
	margin: 0.75rem 0 0;
}

.page-application__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2rem;
}

.page-application__item {
	margin: 0;
    border-radius: var(--radius-md);
    padding: 1.5rem;
    border: 1px solid #D6DEF1;
}

.page-application__item img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: var(--radius-md);
	background: #ebebeb;
}

.page-application__item .page-application__caption {
	margin-top: 0.875rem;
}

@media screen and (max-width: 767px) {
	.page-application {
		padding: var(--section-padding-sm) 0;
	}

	.page-application__inner {
		padding: 0 var(--content-padding-sm);
	}

	.page-application__hero {
		margin-bottom: 2rem;
	}

	.page-application__grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
}

/**
 * Contact Page - Figma Screen 1
 * Two-column: form card (left) + contact info cards (right)
 */

.page-contact {
	padding-top: 1rem !important;
	background-color: var(--color-white);
}

.page-contact__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 2rem 3rem;
	max-width: var(--container-max);
	margin: 0 auto;
	padding: 0 var(--content-padding);
}

/* Form card - wider column */
.page-contact__form-card {
	flex: 1 1 55%;
	min-width: 0;
	background: #fff;
	border-radius: var(--radius-md);
	padding: 2rem;
	border: 1px solid #D6DEF1;
}

/* CF7 form styling to match Figma */
.page-contact__form-card .wpcf7-form p {
	margin: 0;
}

.wpcf7-submit {
    position: relative;
    padding-right: 2.5rem;
    background-color: #000;
    color: #fff;
    border: none;
    cursor: pointer;
}

/* Arrow using SVG */
/* .wpcf7-submit {
	background-image: url(/wp-content/uploads/2026/02/Vector.svg) !important;
    background-repeat: no-repeat !important;
    background-position: right 18px center !important;
    background-size: 0.4rem !important;
}

.wpcf7-submit:hover,
.wpcf7-submit:focus {
	background-image:url(/wp-content/uploads/2026/02/whiteedited.svg) !important;
	background-repeat: no-repeat !important;
    background-position: right 15px center !important;
    background-size: 0.8rem !important;
} */

.page-contact__form-card .wpcf7-form {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.page-contact__form-card .wpcf7-form-control-wrap {
	display: block;
}

.page-contact__form-card label {
	display: block;
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 0.9375rem;
	font-weight: 500;
	color: var(--color-text);
	margin-bottom: 0.375rem;
}

.page-contact__form-card input[type="text"],
.page-contact__form-card input[type="email"],
.page-contact__form-card input[type="tel"],
.page-contact__form-card input[type="number"],
.page-contact__form-card textarea {
	width: 100%;
	padding: 0.75rem 1rem;
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 1rem;
	line-height: 1.5;
	color: var(--color-text);
	background: #f5f5f5;
	border: 1px solid #e5e5e5;
	border-radius: var(--radius-sm);
}

.page-contact__form-card input:focus,
.page-contact__form-card textarea:focus {
	outline: 0;
	border-color: var(--color-link);
	box-shadow: 0 0 0 2px rgba(0, 122, 204, 0.2);
}

.page-contact__form-card input::placeholder,
.page-contact__form-card textarea::placeholder {
	color: #999;
}

.page-contact__form-card textarea {
	min-height: 120px;
	resize: vertical;
}

.page-contact__form-card input[type="file"] {
	width: 100%;
	padding: 0.75rem 1rem;
	font-family: var(--font-primary);
	font-size: 0.9375rem;
	background: #f5f5f5;
	border: 1px solid #e5e5e5;
	border-radius: var(--radius-sm);
}

.page-contact__form-card .wpcf7-submit {
	align-self: center;
	margin-top: 0.5rem;
	font-family: var(--font-primary);
	font-size: 1rem;
	font-weight: 400;
	color: var(--color-text);
	background: #fff;
	border: 1px solid var(--color-border-dark);
	border-radius: var(--radius-pill);
	padding: 0.875rem 1.75rem;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
	cursor: pointer;
	text-transform: capitalize;
}
.page-contact__form-card p:has(.wpcf7-submit) {
    text-align: center;
}

.page-contact__form-card .wpcf7-submit::after {
    content: "›";
    font-size: 18px;
    line-height: 1;
    font-weight: 500;
    transition: transform 0.3s ease;
}


.primary-menu .menu-item a[href*="contact"]:hover,
.primary-menu .menu-item a[href*="contact"]:focus,
.main-navigation li:hover > a[href*="contact"],
.main-navigation li.focus > a[href*="contact"],
.current-menu-ancestor a[href*="contact"],
.current-menu-item a[href*="contact"] {
	border: 1px solid #fff !important;
    background-color: var(--color-bg-orange) !important;
    color: #ffffff;
}
.page-contact__form-card .wpcf7-submit:hover,
.page-contact__form-card .wpcf7-submit:focus {
	border: 1px solid #fff !important;
    background-color: var(--color-bg-orange) !important;
    color: #ffff;
}

/* Contact info column - narrower */
.page-contact__info {
	flex: 0 1 29.5%;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.page-contact__card {
	background: #fff;
	border-radius: var(--radius-md);
	border: 1px solid #D6DEF1;
	padding: 1.5rem;
}

.page-contact__card-title {
	font-family: var(--font-primary);
	font-size: 1.5rem;
    font-weight: 700;
    color: var(--color-text);
    margin: 0 0 1rem;
    line-height: 2rem;
}

.page-contact__details {
	margin: 0;
}

.page-contact__details dt {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 0.75rem;
	font-weight: 500;
	color: #999;
	letter-spacing: 0.05em;
	margin: 1.5rem 0 0.125rem;
}

.page-contact__details dt:first-child {
	margin-top: 0;
}

.page-contact__details dd {
	font-family: var(--font-satoshi), 'Satoshi', Montserrat, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 0.9375rem;
	font-weight: 400;
	line-height: 1.5;
	color: var(--color-text);
	margin: 0;
}

.page-contact__details a {
	color: var(--color-text);
}

.page-contact__details a:hover,
.page-contact__details a:focus {
	color: var(--color-link);
}

@media screen and (max-width: 767px) {
	.page-contact {
		padding: var(--section-padding-sm) 0;
	}
	.page-product-pet__content,
	.page-product-pet-specs__content,
	.page-product-intro__content,
	.page-contact__form-card {
		order: 1;
		padding: 1.5rem;
		flex: auto;
		margin-bottom: 1rem;
	}
	.page-product-pet__visual,
	.page-product-pet-specs__colors,
	.page-product-intro__diagram,
	.page-contact__info {
		order: 2;
		flex: 1 1 100%;
	}
	.site-footer{
		padding: 1rem;
	}
}

/**
 * 15.0 - Print
 */

@media print {
	form,
	button,
	input,
	select,
	textarea,
	.navigation,
	.main-navigation,
	.social-navigation,
	.sidebar,
	.content-bottom-widgets,
	.header-image,
	.page-links,
	.edit-link,
	.comment-respond,
	.comment-edit-link,
	.comment-reply-link,
	.comment-metadata .edit-link,
	.pingback .edit-link {
		display: none;
	}

	body,
	blockquote cite,
	blockquote small,
	pre,
	.entry-content h4,
	.entry-content h5,
	.entry-content h6,
	.entry-summary h4,
	.entry-summary h5,
	.entry-summary h6,
	.comment-content h4,
	.comment-content h5,
	.comment-content h6,
	.entry-content .author-title {
		font-size: 12pt;
	}

	blockquote {
		font-size: 14.25pt;
	}

	.site-title,
	.page-title,
	.comments-title,
	.entry-content h2,
	.entry-summary h2,
	.comment-content h2,
	.widecolumn h2 {
		font-size: 17.25pt;
	}

	.site-description {
		display: block;
	}

	.entry-title {
		font-size: 24.75pt;
		line-height: 1.2727272727;
		margin-bottom: 1.696969697em;
	}

	.format-aside .entry-title,
	.format-image .entry-title,
	.format-video .entry-title,
	.format-quote .entry-title,
	.format-gallery .entry-title,
	.format-status .entry-title,
	.format-link .entry-title,
	.format-audio .entry-title,
	.format-chat .entry-title {
		font-size: 17.25pt;
		line-height: 1.304347826;
		margin-bottom: 1.826086957em;
	}

	.entry-content h1,
	.entry-summary h1,
	.comment-content h1 {
		font-size: 21pt;
	}

	.entry-content h3,
	.entry-summary h3,
	.comment-content h3,
	body:not(.search-results) .entry-summary {
		font-size: 14.25pt;
	}

	.site-description,
	.author-bio,
	.entry-footer,
	.sticky-post,
	.taxonomy-description,
	.entry-caption,
	.comment-metadata,
	.comment-notes,
	.comment-awaiting-moderation,
	.site-info,
	.wp-caption .wp-caption-text,
	.gallery-caption {
		font-size: 9.75pt;
	}

	body,
	.site {
		background: none !important; /* Brute force since user agents all print differently. */
	}

	body,
	blockquote cite,
	blockquote small,
	.site-branding .site-title a,
	.entry-title a,
	.comment-author {
		color: #1a1a1a !important; /* Make sure color schemes don't affect to print */
	}

	blockquote,
	.page-header,
	.comments-title {
		border-color: #1a1a1a !important; /* Make sure color schemes don't affect to print */
	}

	blockquote,
	.site-description,
	body:not(.search-results) .entry-summary,
	body:not(.search-results) .entry-summary blockquote,
	.author-bio,
	.entry-footer,
	.entry-footer a,
	.sticky-post,
	.taxonomy-description,
	.entry-caption,
	.comment-author,
	.comment-metadata a,
	.comment-notes,
	.comment-awaiting-moderation,
	.site-info,
	.site-info a,
	.wp-caption .wp-caption-text,
	.gallery-caption {
		color: #686868 !important; /* Make sure color schemes don't affect to print */
	}

	code,
	hr {
		background-color: #d1d1d1 !important; /* Make sure color schemes don't affect to print */
	}

	pre,
	abbr,
	acronym,
	table,
	th,
	td,
	.author-info,
	.comment-list article,
	.comment-list .pingback,
	.comment-list .trackback,
	.no-comments {
		border-color: #d1d1d1 !important; /* Make sure color schemes don't affect to print */
	}

	a {
		color: #007acc !important; /* Make sure color schemes don't affect to print */
	}

	.entry-content a,
	.entry-summary a,
	.taxonomy-description a,
	.comment-content a,
	.pingback .comment-body > a {
		box-shadow: none;
		border-bottom: 1px solid #007acc !important; /* Make sure color schemes don't affect to print */
	}

	.site {
		margin: 5%;
	}

	.site-inner {
		max-width: none;
	}


	.site-branding {
		margin-top: 0;
		margin-bottom: 1.75em;
	}

	.site-main {
		margin-bottom: 3.5em;
	}

	.entry-header,
	.entry-footer,
	.page-header,
	.page-content,
	.entry-content,
	.entry-summary,
	.post-thumbnail,
	.comments-area {
		margin-right: 0;
		margin-left: 0;
	}

	.post-thumbnail,
	.site-main > article {
		margin-bottom: 3.5em;
	}

	.entry-content blockquote.alignleft,
	.entry-content blockquote.alignright {
		border-width: 4px 0 0 0;
		padding: 0.9473684211em 0 0;
		width: -webkit-calc(50% - 0.736842105em);
		width: calc(50% - 0.736842105em);
	}

	body:not(.search-results) .entry-header + .entry-summary {
		margin-top: -1.473684211em;
	}

	.site-footer,
	.widecolumn {
		padding: 0;
	}
}

.page-product-gallery__grid .page-product-gallery__item:hover,
.page-product-gallery__grid .page-product-gallery__item:focus-within {
	transform: none;
	box-shadow: none;
}



@media (max-width: 768px) {
	.page-product-gallery__grid .page-product-gallery__item:hover,
	.page-product-gallery__grid .page-product-gallery__item:focus-within {
		transform: none;
		box-shadow: none;
	}
}
/* before afetr */


        .slider-container {
            position: relative;
            width: 100%;
            border-radius: 8px;
            overflow: hidden;
			border: 1px solid #D6DEF1;
			border-radius: var(--radius-md);
        }

        .slider-image {
            display: block;
            width: 100%;
            height: auto;
            user-select: none;
        }

        .before-image {
            position: absolute;
            top: 0;
            left: 0;
            width: 50%;
            height: 100%;
            overflow: hidden;
        }

        .before-image img {
            height: 100%;
            object-fit: cover;
        }

        .slider-handle {
            position: absolute;
            top: 0;
            left: 50%;
            width: 4px;
            height: 100%;
            background-color: white;
            cursor: ew-resize;
            z-index: 10;
            transform: translateX(-50%);
            transition: background-color 0.2s;
        }

        .slider-handle:hover {
            background-color: #ddd;
        }

        .slider-handle::before {
            content: "";
            position: absolute;
            top: 50%;
            left: 50%;
            width: 40px;
            height: 40px;
            background-color: white;
            border-radius: 50%;
            transform: translate(-50%, -50%);
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
        }

        .slider-handle::after {
            content: "↔";
            position: absolute;
            top: 50%;
            left: 50%;
            font-size: 16px;
            color: #333;
            transform: translate(-50%, -50%);
        }

        .label {
            position: absolute;
            top: 20px;
            padding: 8px 15px;
            background-color: rgba(0, 0, 0, 0.6);
            color: white;
            border-radius: 4px;
            font-weight: bold;
            z-index: 5;
            pointer-events: none;
        }

        .label-before {
            left: 20px;
        }

        .label-after {
            right: 20px;
        }

        @media (max-width: 600px) {
            .label {
                font-size: 14px;
                padding: 5px 10px;
                top: 10px;
            }
            
            .label-before {
                left: 10px;
            }
            
            .label-after {
                right: 10px;
            }
        }

.application-list section.home-environments {
    padding-top: 1rem !important;
    padding-bottom: 8rem !important;
}
@media screen and (max-width: 767px) {
	.page-product-gallery__grid .page-product-gallery__item, 
	.page-product-pet-gallery__grid .page-product-gallery__item{
		width: auto !important;
	}
	.page-contact__inner{
		padding: 1rem;
	}
	.page-product-pet__image-wrap{
		flex: 1 1 auto;
	}
	.current-menu-item a[href*="contact"]{
		border: none !important;
		background-color: transparent !important;
		color: var(--color-text) !important;
		font-weight: 700 !important;
	}

	.primary-menu .menu-item a[href*="contact"]:hover,
	.primary-menu .menu-item a[href*="contact"]:focus {
		border: none !important;
		border-bottom: 1px solid var(--color-text) !important;
		background-color: transparent !important;
		color: var(--color-text) !important;
		font-weight: 700 !important;
	}
	.page-hear-comparison__label{
		font-size: 0.5rem;
	}
	.home-testimonials .home-services__grid .home-testimonials__card:first-of-type{
		margin-top: 0 !important;
	}
}