@charset "UTF-8";
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
@import url("https://fonts.googleapis.com/css2?family=Libre+Franklin:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=VT323&display=swap");
html {
  font-family: sans-serif; /* 1 */
  -ms-text-size-adjust: 100%; /* 2 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/**
 * Remove default margin.
 */
body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit; /* 1 */
  font: inherit; /* 2 */
  margin: 0; /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type=button],
input[type=reset],
input[type=submit] {
  -webkit-appearance: button; /* 2 */
  cursor: pointer; /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type=checkbox],
input[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type=search] {
  -webkit-appearance: textfield; /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box; /* 2 */
  box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold;
}

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

/*
  Fonts

  Any @font-face or third party font imports should go in this file

*/
/* Google Fonts */
/* @MINIONPRO
================================================== */
@font-face {
  font-family: "MinionPro";
  font-weight: 400;
  font-display: swap;
  src: url("../../fonts/MinionPro-Regular.woff") format("woff"), url("../../fonts/MinionPro-Regular.ttf") format("truetype");
}
@font-face {
  font-family: "MinionPro";
  font-weight: 400;
  font-style: italic;
  font-display: swap;
  src: url("../../fonts/MinionPro-Italic.woff") format("woff"), url("../../fonts/MinionPro-Italic.ttf") format("truetype");
}
@font-face {
  font-family: "MinionDisplay";
  font-weight: 400;
  font-display: swap;
  src: url("../../fonts/MinionPro-Disp.woff") format("woff"), url("../../fonts/MinionPro-Disp.ttf") format("truetype");
}
/* Mixins
/* + + + + + + + + + + + + + + + + + + + + + + + + + + + */
/* Font Awesome
/* + + + + + + + + + + + + + + + + + + + + + + + + + + + */
/* Variables
/* + + + + + + + + + + + + + + + + + + + + + + + + + + + */
/*

	THESE ARE JUST DEFAULTS and should be changed to suit the needs of your project.

	Note:
		+ Mixin names should describe what things ARE, not what they look like.
		+ As much as it kills me, colour is spelled the American way to be consistant
		  with colour declarations in css.

	For example, the following are good variable names:
	$font-base, $font-header, $color-brand, $color-accent, $breakpoint-midsize, $breakpoint-small

	These are bad variable names:
	$blue, $orange, $helvetica, $ipad, $iphone

	On naming conventions, a good convention is to use underscores for spaces, and dashes to indicate
	a subsidiary relationship. All punctuation is meaningful, and this allows you to easily group
	variables by type.

	The following are good examples of variable groups named with a dash to indicate descendency:

	$font-x
	$font-weight-x
	$color-x
	$icon-x
	$breakpoint-x

*/
/* The following variables are needed by some of our mixins and can be adjust to meet
   the needs of the site.
*/
.u-clearfix {
  zoom: 1;
}
.u-clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

.u-reverse {
  color: #fff;
}
.u-reverse * {
  color: inherit;
}
.u-reverse a {
  text-decoration: underline;
}
.u-reverse a:hover,
.u-reverse a:focus {
  color: inherit;
}

.u-screen-reader {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.u-canvas-alt {
  background: #fff;
  color: #fff;
}

/*
	Layout goes in this file.
	Layout classes should be prefixed `.l-`
*/
.l-container {
  position: relative;
  margin: 0px auto;
  padding: 0px 20px;
  max-width: 1420px;
  width: 100%;
  box-sizing: border-box;
  zoom: 1;
}
.l-container:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.l-container--no-list {
  padding: 0px 20px;
}
@media (max-width: 479px) {
  .l-container {
    padding: 0 15px;
  }
}

.l-sidebar {
  width: 27.5%;
  float: left;
  display: inline-block;
  zoom: 1;
}
.l-sidebar:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.l-sidebar {
  box-sizing: border-box;
}
@media (max-width: 900px) {
  .l-sidebar {
    width: 100%;
    float: none;
    display: block;
  }
}

.l-body {
  width: 100%;
  display: block;
  margin: 0px auto;
  zoom: 1;
}
.l-body:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.l-body {
  box-sizing: border-box;
}
.page-parent .l-body, .page-child .l-body {
  width: 66.66%;
  display: inline-block;
  float: left;
}
@media (max-width: 900px) {
  .page-parent .l-body, .page-child .l-body {
    width: 100%;
    display: block;
    float: none;
  }
}

.l-body p {
  line-height: 23px;
}

@-webkit-keyframes circle {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-moz-keyframes circle {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-ms-keyframes circle {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes circle {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes reveal {
  0% {
    opacity: 0;
    transform: translateY(40%);
    transform: translateY(calc(40% + 20px));
  }
  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}
@-moz-keyframes reveal {
  0% {
    opacity: 0;
    transform: translateY(40%);
    transform: translateY(calc(40% + 20px));
  }
  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}
@-ms-keyframes reveal {
  0% {
    opacity: 0;
    transform: translateY(40%);
    transform: translateY(calc(40% + 20px));
  }
  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}
@keyframes reveal {
  0% {
    opacity: 0;
    transform: translateY(40%);
    transform: translateY(calc(40% + 20px));
  }
  100% {
    opacity: 1;
    transform: translateY(0px);
  }
}
@-webkit-keyframes reveal-fixed {
  0% {
    opacity: 0;
    transform: translate(-50%, 40px);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, 0px);
  }
}
@-moz-keyframes reveal-fixed {
  0% {
    opacity: 0;
    transform: translate(-50%, 40px);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, 0px);
  }
}
@-ms-keyframes reveal-fixed {
  0% {
    opacity: 0;
    transform: translate(-50%, 40px);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, 0px);
  }
}
@keyframes reveal-fixed {
  0% {
    opacity: 0;
    transform: translate(-50%, 40px);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, 0px);
  }
}
.animate-reveal,
.page-introduction {
  opacity: 0;
}
.fontsloaded .animate-reveal,
.fontsloaded .page-introduction {
  -webkit-animation: reveal 1s cubic-bezier(0, 1, 0.5, 1) 1 normal forwards 0.3s;
  -moz-animation: reveal 1s ease-in 1 normal forwards 0.3s;
  -o-animation: reveal 1s cubic-bezier(0, 1, 0.5, 1) 1 normal forwards 0.3s;
  animation: reveal 1s cubic-bezier(0, 1, 0.5, 1) 1 normal forwards 0.3s;
}
.fontsloaded .animate-reveal--fixed,
.fontsloaded .page-introduction--fixed {
  -webkit-animation: reveal-fixed 2s cubic-bezier(0, 1, 0.5, 1) 1 normal forwards 0.3s;
  -moz-animation: reveal-fixed 2s ease-in 1 normal forwards 0.3s;
  -o-animation: reveal-fixed 2s cubic-bezier(0, 1, 0.5, 1) 1 normal forwards 0.3s;
  animation: reveal-fixed 2s cubic-bezier(0, 1, 0.5, 1) 1 normal forwards 0.3s;
}
@media (max-width: 1440px) {
  .fontsloaded .animate-reveal--fixed,
  .fontsloaded .page-introduction--fixed {
    -webkit-animation: reveal 1s cubic-bezier(0, 1, 0.5, 1) 1 normal forwards 0.3s;
    -moz-animation: reveal 1s ease-in 1 normal forwards 0.3s;
    -o-animation: reveal 1s cubic-bezier(0, 1, 0.5, 1) 1 normal forwards 0.3s;
    animation: reveal 1s cubic-bezier(0, 1, 0.5, 1) 1 normal forwards 0.3s;
  }
}

.fontsloaded .animate-reveal--second {
  -webkit-animation-delay: 0.5s;
  -moz-animation-delay: 0.5s;
  -o-animation-delay: 0.5s;
  animation-delay: 0.5s;
}

.fontsloaded .animate-reveal--third {
  -webkit-animation-delay: 0.6s;
  -moz-animation-delay: 0.6s;
  -o-animation-delay: 0.6s;
  animation-delay: 0.6s;
}

.fontsloaded .animate-reveal--fourth {
  -webkit-animation-delay: 0.7s;
  -moz-animation-delay: 0.7s;
  -o-animation-delay: 0.7s;
  animation-delay: 0.7s;
}

html .animate-scroll-reveal {
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
  will-change: opacity, transform;
}

html .animate-scroll-reveal:not(.scroll-revealed) {
  opacity: 0;
  transform: translateY(30px);
}

html .animate-scroll-reveal.scroll-revealed {
  opacity: 1;
  transform: translateY(0);
}

/*
  Static Sprite Mixin

  Replaces the Compass sprite-map() system with hardcoded positions
  extracted from the compiled CSS output. Positions and dimensions
  match the existing sprite sheets exactly.

  Sprite sheets:
    1x: ../../images/sprites/common-1x-s615f0f521c.png
    2x: ../../images/sprites/common-2x-s1b692b96af.png (retina, background-size: 381px 210px)
*/
html {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: none;
  -moz-osx-font-smoothing: grayscale;
  scrollbar-gutter: stable;
}
html.admin-bar #wpadminbar {
  display: none !important;
}

*,
*:after,
*:before {
  box-sizing: inherit;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: none;
  -moz-osx-font-smoothing: grayscale;
  outline: 0;
}

body {
  font-family: "Times New Roman", Times, serif;
  font-size: 18px;
  color: #c4c4c4;
  background-color: #2D2D2D;
  overflow-x: hidden;
  text-align: left;
}
.fontsloaded body {
  font-family: "MinionPro", "Helvetica Neue", Arial, sans-serif;
}

.screen-reader-text {
  visibility: hidden;
  opacity: 0;
}

ul:first-of-type, ol:first-of-type {
  margin-top: 0;
}
ul:last-of-type, ol:last-of-type {
  margin-bottom: 0;
}

.novecento,
.novecento * {
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-weight: 400 !important;
  font-size: 14px !important;
  letter-spacing: 1px !important;
  line-height: 22px !important;
}
.fontsloaded .novecento,
.fontsloaded .novecento * {
  font-family: "Novecentowide", "Helvetica Neue", Arial, sans-serif !important;
}

h1 {
  font-weight: 400;
  font-size: 40px;
  line-height: 52px;
  letter-spacing: 2.4px;
  margin: 20px 0px;
  padding: 0px;
  max-width: 920px;
}
@media (max-width: 920px) {
  h1 br {
    display: none;
  }
}
@media (max-height: 650px) {
  h1 {
    font-size: 36px;
    line-height: 46px;
  }
}
@media (max-width: 768px) {
  h1 {
    font-size: 36px;
    line-height: 46px;
  }
}
@media (max-height: 525px) {
  h1 {
    font-size: 28px;
    line-height: 38px;
  }
}
@media (max-width: 480px) {
  h1 {
    font-size: 28px;
    line-height: 38px;
  }
}
@media (max-width: 450px) and (max-height: 620px) {
  h1 {
    font-size: 24px;
    line-height: 32px;
  }
}
@media (max-width: 680px) and (max-height: 375px) {
  h1 {
    font-size: 24px;
    line-height: 32px;
  }
}

.page-introduction {
  padding: 267px 0px 100px 0px;
}
@media (max-width: 1023px) {
  .page-introduction {
    padding: 220px 0px 80px 0px;
  }
}

.home .page-introduction {
  padding: 277px 0px 100px 0px;
}
@media (max-width: 1023px) {
  .home .page-introduction {
    padding: 227px 0px 80px 0px;
  }
}

.post_name-team .page-introduction,
.post_name-awards .page-introduction {
  padding-bottom: 50px;
}
@media (max-width: 1023px) {
  .post_name-team .page-introduction,
  .post_name-awards .page-introduction {
    padding-bottom: 40px;
  }
}

@media (max-width: 767px) {
  .page-introduction {
    padding-bottom: 50px;
    padding-top: 180px;
    padding-right: 2px;
  }
}
@media (max-width: 479px) {
  .page-introduction {
    padding-top: 150px;
    padding-bottom: 40px;
  }
}
.page-introduction + .section {
  padding-top: 0px;
}
@media (max-height: 525px) {
  .page-introduction *:not(.section-introduction) h1 {
    font-size: 36px;
    line-height: 46px;
  }
}
@media (max-width: 480px) {
  .page-introduction *:not(.section-introduction) h1 {
    font-size: 36px;
    line-height: 46px;
  }
}
@media (max-width: 450px) and (max-height: 620px) {
  .page-introduction *:not(.section-introduction) h1 {
    font-size: 36px;
    line-height: 46px;
  }
}

h2 {
  font-weight: 400;
  font-size: 29px;
  line-height: 32px;
  letter-spacing: 2.4px;
  margin: 0px 0px 20px 0px;
  padding-right: 40px;
  clear: both;
  max-width: 720px;
}
@media (max-height: 525px) {
  h2 {
    font-size: 24px;
    line-height: 28px;
    padding-right: 2px;
  }
}
@media (max-width: 480px) {
  h2 {
    font-size: 24px;
    line-height: 28px;
    padding-right: 2px;
  }
}
@media (max-width: 450px) and (max-height: 620px) {
  h2 {
    font-size: 21px;
    line-height: 26px;
  }
}

h4,
.section-title {
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-weight: 700;
  font-size: 12px;
  line-height: 15px;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin: 20px 0px 25px 0px;
  padding-right: 42px;
  clear: both;
}
@media (max-width: 767px) {
  h4,
  .section-title {
    padding-right: 2px;
  }
}
h4--enclosed,
.section-title--enclosed {
  margin: 0px;
}
h4--hidden,
.section-title--hidden {
  pointer-events: hidden;
  opacity: 0;
}
.fontsloaded h4,
.fontsloaded .section-title {
  font-family: "Novecentowide", "Helvetica Neue", Arial, sans-serif !important;
}

h5,
.content-title {
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-weight: 700;
  font-size: 12px;
  line-height: 15px;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin: 0px;
  padding-right: 40px;
  clear: both;
}
@media (max-width: 767px) {
  h5,
  .content-title {
    padding-right: 2px;
  }
}

p {
  margin-top: 10px;
  margin-bottom: 25px;
  font-size: 18px;
  line-height: 26px;
  padding-right: 40px;
  clear: both;
}
@media (max-width: 767px) {
  p {
    padding-right: 2px;
  }
}

a {
  color: #c4c4c4;
  font-size: inherit;
  line-height: inherit;
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}
a[href$=".pdf"]:before {
  content: "\f1c1";
  font-family: "FontAwesome";
  display: inline-block;
  padding-right: 5px;
}
a[href$=".doc"]:before {
  content: "\f1c2";
  font-family: "FontAwesome";
  display: inline-block;
  padding-right: 5px;
}
a[href$=".mp3"]:before {
  content: "\f1c7";
  font-family: "FontAwesome";
  display: inline-block;
  padding-right: 5px;
}
a[href$=".mov"]:before {
  content: "\f1c8";
  font-family: "FontAwesome";
  display: inline-block;
  padding-right: 5px;
}
a:hover {
  transition: all 0.3s ease-in-out;
}

img {
  max-width: 100%;
  height: auto;
}
.ie8 img {
  width: auto;
}
img {
  display: block;
  margin: 0px auto;
  width: 100%;
  max-height: none !important;
}

.videowrapper {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
}
.videowrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

button,
.button,
.wysiwyg .button {
  color: #fff;
  border: 0px solid #fff;
  text-align: center;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  text-decoration: none;
  letter-spacing: 2px;
  border-radius: 0px;
  min-width: 180px;
  padding: 13px 10px 13px 10px;
  background-color: #2D2D2D;
  position: relative;
  display: inline-block;
  transition: all 0.3s ease-in-out;
}
button:hover,
.button:hover,
.wysiwyg .button:hover {
  background-color: #fff;
  color: #2D2D2D;
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}
button--section,
.button--section,
.wysiwyg .button--section {
  margin: 40px auto 0px auto;
}

blockquote {
  border-left: 0px solid #c4c4c4;
  padding: 0px;
  margin: 20px auto 20px auto;
}
blockquote:before {
  content: "";
}
blockquote p {
  color: #c4c4c4;
}

hr {
  background: #c4c4c4;
  margin: 0px;
  height: 1px;
  padding: 0px;
  border: 0px solid #c4c4c4;
}

figure {
  margin: 0px;
  max-width: 100%;
}

input, textarea {
  background: transparent;
  border: none;
  outline: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  border: 1px solid #c4c4c4;
  color: #c4c4c4;
  width: 100%;
  margin-top: 10px;
}

::-webkit-input-placeholder {
  font-style: italic !important;
  color: #c4c4c4 !important;
}

::-moz-placeholder {
  font-style: italic !important;
  color: #c4c4c4 !important;
}

:-ms-input-placeholder {
  font-style: italic !important;
  color: #c4c4c4 !important;
}

:-moz-placeholder {
  font-style: italic !important;
  color: #c4c4c4 !important;
}

#about-awards .section-column--third p {
  margin-top: 25px;
}

.post_name-contact .section-introduction__heading {
  width: 945px;
}

.contact p {
  padding: 0;
}
.contact__location {
  text-align: center;
  padding: 0px 2px;
  margin-bottom: 30px;
  margin-top: 80px;
  zoom: 1;
}
.contact__location:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.contact__location__map:before {
  content: "";
  background-repeat: no-repeat;
  display: block;
  background-image: url("../../images/sprites/common-1x-s615f0f521c.png");
  background-position: 0 0;
  height: 20px;
  width: 14px;
}
@media (-webkit-min-device-pixel-ratio: 2), (-o-min-device-pixel-ratio: 3/2), (min-device-pixel-ratio: 2) {
  .contact__location__map:before {
    background-image: url("../../images/sprites/common-2x-s1b692b96af.png");
    background-size: 381px 210px;
  }
}
.contact__location__map:before {
  margin-right: 5px;
  display: inline-block;
}
.contact__location .section-introduction__heading {
  width: 990px;
  max-width: 100%;
}
.contact__location .section-introduction__heading * {
  width: 990px;
  max-width: 100%;
  margin: 50px auto 0 auto;
  font-size: 56px;
  line-height: 63px;
  padding: 0;
}
@media (max-width: 1080px) {
  .contact__location .section-introduction__heading * {
    font-size: 48px;
    line-height: 58px;
  }
}
@media (max-width: 900px) {
  .contact__location .section-introduction__heading * {
    font-size: 40px;
    line-height: 48px;
  }
}
@media (max-width: 768px) {
  .contact__location .section-introduction__heading * {
    font-size: 36px;
    line-height: 48px;
    margin-top: 40px;
  }
}
@media (max-width: 650px) {
  .contact__location .section-introduction__heading * {
    font-size: 30px;
    line-height: 40px;
  }
}
@media (max-width: 560px) {
  .contact__location .section-introduction__heading * {
    margin-top: 30px;
  }
  .contact__location .section-introduction__heading * br {
    display: none;
  }
}
.contact__business {
  text-align: center;
  padding: 0px 2px;
  margin-bottom: 30px;
  margin-top: 110px;
  zoom: 1;
}
.contact__business:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
@media (max-width: 600px) {
  .contact__business {
    margin-top: 60px;
  }
}
.contact__business h2 {
  font-weight: 700;
  font-size: 24px;
  line-height: 24px;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  margin: 0px auto 50px auto;
  padding: 0;
}
.fontsloaded .contact__business h2 {
  font-family: "Novecentowide", "Helvetica Neue", Arial, sans-serif;
}
@media (max-width: 768px) {
  .contact__business h2 {
    font-size: 20px;
    line-height: 26px;
    margin: 0px auto 40px auto;
  }
}
@media (max-width: 560px) {
  .contact__business h2 {
    font-size: 18px;
    margin: 0px auto 30px auto;
  }
}
@media (max-width: 500px) {
  .contact__business h2 {
    font-size: 16px;
  }
}
.contact__business img {
  margin: 50px auto 30px auto;
  max-width: 640px;
}
.contact__press {
  text-align: center;
  padding: 0px 2px;
  margin-bottom: 30px;
  margin-top: 110px;
  zoom: 1;
}
.contact__press:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.contact__press h2 {
  font-weight: 700;
  font-size: 24px;
  line-height: 24px;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  margin: 0px auto 50px auto;
  padding: 0;
}
.fontsloaded .contact__press h2 {
  font-family: "Novecentowide", "Helvetica Neue", Arial, sans-serif;
}
@media (max-width: 768px) {
  .contact__press h2 {
    font-size: 20px;
    line-height: 26px;
    margin: 0px auto 40px auto;
  }
}
@media (max-width: 560px) {
  .contact__press h2 {
    font-size: 18px;
    margin: 0px auto 30px auto;
  }
}
@media (max-width: 500px) {
  .contact__press h2 {
    font-size: 16px;
  }
}
.contact__press img {
  margin: 50px auto 30px auto;
  max-width: 640px;
}
.contact__form {
  clear: left;
  width: 66.66%;
  float: left;
  display: inline-block;
  padding: 0px 2px 0px 2px;
  margin-bottom: 100px;
  zoom: 1;
}
.contact__form:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
@media (max-width: 750px) {
  .contact__form {
    width: 100%;
    float: none;
    display: block;
  }
}
.contact__form h5 {
  width: 100%;
  margin-bottom: 16px;
}
.contact__talent {
  width: 33.33%;
  float: left;
  display: inline-block;
  padding: 0px 2px;
  margin-bottom: 50px;
  zoom: 1;
}
.contact__talent:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.contact__talent.contact__touch {
  margin-bottom: 50px;
}
.contact__talent p {
  max-width: 355px;
  padding-right: 0px;
}
.contact__talent a {
  color: #c4c4c4;
  border: 1px solid #c4c4c4;
  text-align: center;
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-weight: 700;
  font-size: 12px;
  line-height: 15px;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 0px;
  min-width: 100px;
  margin: 0px;
  padding: 14px 10px 16px 10px;
  background-color: transparent;
  position: relative;
  display: inline-block;
}
.contact__talent a:hover {
  color: #2D2D2D;
  background-color: #c4c4c4;
}
.fontsloaded .contact__talent a {
  font-family: "Novecentowide", "Helvetica Neue", Arial, sans-serif;
}
@media (max-width: 750px) {
  .contact__talent {
    width: 50%;
  }
  .contact__talent p {
    padding-right: 40px;
  }
}
@media (max-width: 600px) {
  .contact__talent {
    width: 100%;
    float: none;
    display: block;
  }
  .contact__talent p {
    max-width: none;
  }
}
.contact__trade {
  text-align: center;
  padding: 0px 2px;
  margin-bottom: 30px;
  margin-top: 170px;
  width: 1350px;
  margin-left: auto;
  margin-right: auto;
  max-width: 100%;
  zoom: 1;
}
.contact__trade:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.contact__trade {
  border-bottom: 1px solid #c4c4c4;
  padding-bottom: 70px;
}
@media (max-width: 800px) {
  .contact__trade {
    margin-top: 110px;
  }
}
@media (max-width: 600px) {
  .contact__trade {
    margin-top: 60px;
  }
}
.contact__trade h2 {
  font-weight: 700;
  font-size: 24px;
  line-height: 24px;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  margin: 0px auto 50px auto;
  padding: 0;
}
.fontsloaded .contact__trade h2 {
  font-family: "Novecentowide", "Helvetica Neue", Arial, sans-serif;
}
@media (max-width: 768px) {
  .contact__trade h2 {
    font-size: 20px;
    line-height: 26px;
    margin: 0px auto 40px auto;
  }
}
@media (max-width: 560px) {
  .contact__trade h2 {
    font-size: 18px;
    margin: 0px auto 30px auto;
  }
}
@media (max-width: 500px) {
  .contact__trade h2 {
    font-size: 16px;
  }
}
.contact__trade img {
  margin: 50px auto 30px auto;
  max-width: 640px;
}
.contact__touch {
  text-align: center;
  padding: 0px 2px;
  margin-bottom: 110px;
  zoom: 1;
}
.contact__touch:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.contact__touch .novecento {
  clear: both;
  margin-top: 15px;
  margin-bottom: 5px;
  font-size: 10px !important;
  line-height: 16px !important;
}
.contact__touch .novecento b {
  font-weight: 700 !important;
  font-size: 10px !important;
  line-height: 16px !important;
}
.contact__touch #mc_embed_signup .email {
  max-width: none;
}
.contact__social {
  text-align: center;
  zoom: 1;
}
.contact__social:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.contact__social a {
  display: inline-block;
  margin-right: 10px;
  clear: none;
}
.contact__social--linkedin {
  clear: both;
  width: 28px;
  height: 28px;
}
.contact__social--facebook {
  clear: both;
  width: 28px;
  height: 28px;
}
.contact__social--twitter {
  clear: both;
  width: 28px;
  height: 28px;
}
.contact__social--instagram {
  clear: both;
  width: 28px;
  height: 28px;
}

.contact-form__recaptcha-notice {
  display: none;
  margin: 12px 0 0;
  font-size: 11px;
  line-height: 1.4;
}
.contact-form__recaptcha-notice a {
  text-decoration: underline;
}
@media (max-width: 767px) {
  .contact-form__recaptcha-notice {
    display: block;
  }
}

@media (max-width: 767px) {
  .grecaptcha-badge {
    visibility: hidden !important;
  }
}
.dotted-grid {
  min-width: 100%;
  min-height: 100%;
  background: transparent;
  border: 0px solid #2D2D2D;
  position: relative;
  left: -30px;
  top: -7px;
  opacity: 0;
  transition: all 0.6s ease-in-out;
}
.fontsloaded .dotted-grid {
  opacity: 1;
  transition: all 0.6s ease-in-out 1.5s;
}
.dotted-grid__foreground {
  position: absolute;
  max-width: 1030px;
  z-index: -1;
  top: -30px;
  left: -30px;
  padding-left: 30px;
  height: 100%;
  width: 100%;
  height: calc(100% + 50px);
  width: calc(100% + 20px);
  background: #2D2D2D;
  transition: all 0s ease-in-out 0.6s;
}
@media (max-width: 950px) {
  .dotted-grid__foreground {
    left: 0px;
  }
}
.fixed-introduction--active .dotted-grid__foreground {
  opacity: 0;
  transition: all 0s ease-in-out;
}
.dotted-grid__container {
  height: 100%;
  width: 100%;
  padding: 0px 20px;
  position: fixed;
  z-index: 1;
  top: 0px;
  overflow: hidden;
  transition: all 0.6s ease-in-out 0.6s;
}
.dotted-grid__container.fixed-introduction--active {
  opacity: 0;
  transition: all 0s ease-in-out;
}

.all-about-chaos {
  min-height: 0px !important;
}

.chaos-contact {
  font-size: 200px !important;
  line-height: 200px !important;
}
@media (max-width: 980px) {
  .chaos-contact {
    font-size: 100px !important;
    line-height: 100px !important;
  }
}
@media (max-width: 980px) {
  .chaos-contact {
    font-size: 50px !important;
    line-height: 50px !important;
    margin: 100px 0px !important;
    display: inline-block;
  }
}

@media (max-width: 980px) {
  .chaos-new {
    max-width: 480px !important;
  }
}

.fixed-ghost {
  position: relative;
  padding-bottom: 40px;
  height: 100vh;
  max-height: 100vh;
  max-height: 100vh;
  box-sizing: content-box;
}
.single-journal .fixed-ghost {
  background: rgba(35, 33, 34, 0.8);
  z-index: 2;
}
.home .fixed-ghost {
  padding-bottom: 0px;
}
.fixed-ghost .l-container {
  height: 100%;
  width: 100%;
}
.fixed-ghost h1 {
  position: absolute;
  bottom: 10%;
  left: 0px;
  max-width: 780px;
  padding: 0px 18px;
  font-size: 70px;
  line-height: 80px;
}
@media (max-height: 650px) {
  .fixed-ghost h1 {
    font-size: 36px;
    line-height: 46px;
  }
}
@media (max-width: 800px) {
  .fixed-ghost h1 {
    font-size: 36px;
    line-height: 46px;
  }
}
@media (max-height: 525px) {
  .fixed-ghost h1 {
    font-size: 28px;
    line-height: 38px;
  }
}
@media (max-width: 650px) {
  .fixed-ghost h1 {
    font-size: 28px;
    line-height: 38px;
  }
}
@media (max-width: 450px) and (max-height: 620px) {
  .fixed-ghost h1 {
    font-size: 24px;
    line-height: 32px;
  }
}
@media (max-width: 680px) and (max-height: 375px) {
  .fixed-ghost h1 {
    font-size: 24px;
    line-height: 32px;
  }
}

.fixed-introduction {
  position: fixed;
  top: 0;
  left: 50%;
  z-index: 2;
  opacity: 0;
  margin: 0px auto !important;
  padding-top: 0px !important;
  padding: 0px 20px;
  padding-right: 500px;
  max-width: 1420px;
  width: 100%;
  transform: translateX(-50%);
  box-sizing: border-box;
  zoom: 1;
}
.fixed-introduction:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
@media (max-width: 1420px) {
  .fixed-introduction {
    padding-right: 18px;
    max-width: 950px;
    left: 0px;
    transform: translateX(0%);
  }
}
@media (min-height: 883px) {
  .fixed-introduction {
    top: 19%;
  }
}
@media (max-height: 760px) {
  .fixed-introduction {
    top: 160px;
  }
}
@media (max-width: 900px) {
  .fixed-introduction {
    top: 200px;
  }
}
@media (max-width: 700px) {
  .fixed-introduction {
    top: 120px;
  }
}
@media (max-width: 600px) {
  .fixed-introduction {
    top: 100px;
  }
}
@media (max-width: 560px) {
  .fixed-introduction {
    top: 80px;
  }
}
@media (max-height: 420px) {
  .fixed-introduction {
    top: 120px;
  }
}
@media (max-width: 800px) and (max-height: 340px) {
  .fixed-introduction {
    top: 100px;
  }
}
@media (max-width: 740px) and (max-height: 420px) {
  .fixed-introduction {
    top: 80px;
  }
}
.fixed-introduction__content {
  opacity: 1;
  max-width: none;
  transition: all 0.3s ease-in-out;
}
@media (max-width: 900px) {
  .fixed-introduction__content {
    font-size: 36px;
    line-height: 46px;
    margin: 0px;
  }
}
@media (max-width: 745px) {
  .fixed-introduction__content {
    min-height: 350px;
  }
}
@media (max-width: 670px) {
  .fixed-introduction__content {
    min-height: 0px;
  }
}
@media (max-height: 800px) {
  .fixed-introduction__content {
    font-size: 40px;
    line-height: 52px;
  }
}
@media (max-height: 660px) {
  .fixed-introduction__content {
    font-size: 32px;
    line-height: 42px;
  }
}
@media (max-height: 575px) {
  .fixed-introduction__content {
    font-size: 28px;
    line-height: 38px;
  }
}
@media (max-width: 650px) {
  .fixed-introduction__content {
    font-size: 28px;
    line-height: 38px;
  }
}
@media (max-width: 500px) and (max-height: 450px) {
  .fixed-introduction__content {
    font-size: 24px;
    line-height: 32px;
  }
}
@media (max-width: 450px) and (max-height: 620px) {
  .fixed-introduction__content {
    font-size: 24px;
    line-height: 32px;
  }
}
@media (max-width: 680px) and (max-height: 375px) {
  .fixed-introduction__content {
    font-size: 24px;
    line-height: 32px;
  }
}
.fixed-introduction--active .fixed-introduction__content {
  opacity: 0 !important;
  transition: all 0.3s ease-in-out;
}
.fixed-introduction--active a {
  opacity: 0 !important;
  transition: all 0.3s ease-in-out;
}
.fixed-introduction__cta {
  position: relative;
  zoom: 1;
}
.fixed-introduction__cta:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.fixed-introduction__cta {
  padding-bottom: 20px;
  transition: all 0s ease-in-out 0.6s;
}
.fixed-introduction--active .fixed-introduction__cta {
  background: transparent;
  transition: all 0s ease-in-out 0s;
}
@media (max-width: 670px) {
  .fixed-introduction__cta {
    display: none !important;
  }
}
.fixed-introduction .fixed-introduction__icon--websites {
  display: block;
  float: left;
  width: 130px;
  margin-top: 10px;
  font-size: 12px !important;
  line-height: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: #c4c4c4 !important;
  text-align: center;
  position: relative;
  left: 41px;
}
@media (max-width: 950px) {
  .fixed-introduction .fixed-introduction__icon--websites {
    left: -22px;
  }
}
.fixed-introduction .fixed-introduction__icon--websites:before {
  content: "";
  background-repeat: no-repeat;
  display: block;
  background-image: url("../../images/sprites/common-1x-s615f0f521c.png");
  background-position: -242px -175px;
  height: 34px;
  width: 34px;
}
@media (-webkit-min-device-pixel-ratio: 2), (-o-min-device-pixel-ratio: 3/2), (min-device-pixel-ratio: 2) {
  .fixed-introduction .fixed-introduction__icon--websites:before {
    background-image: url("../../images/sprites/common-2x-s1b692b96af.png");
    background-size: 381px 210px;
  }
}
.fixed-introduction .fixed-introduction__icon--websites:before {
  text-align: center;
  margin: 0px auto 15px auto;
  background-color: #2D2D2D;
  transition: all 0s ease-in-out 0.6s;
}
.fixed-introduction .fixed-introduction__icon--websites:after {
  content: "";
  width: 100%;
  position: absolute;
  background-color: #2D2D2D;
  bottom: -10px;
  height: 35px;
  left: 0px;
  z-index: -1;
  transition: all 0s ease-in-out 0.6s;
}
.fixed-introduction .fixed-introduction__icon--branding {
  display: block;
  float: left;
  width: 130px;
  margin-top: 10px;
  margin-left: -20px;
  font-size: 12px !important;
  line-height: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: #c4c4c4 !important;
  text-align: center;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
@media (max-width: 950px) {
  .fixed-introduction .fixed-introduction__icon--branding {
    left: 170px;
    transform: translateX(0%);
  }
}
.fixed-introduction .fixed-introduction__icon--branding:before {
  content: "";
  background-repeat: no-repeat;
  display: block;
  background-image: url("../../images/sprites/common-1x-s615f0f521c.png");
  background-position: -174px -175px;
  height: 34px;
  width: 34px;
}
@media (-webkit-min-device-pixel-ratio: 2), (-o-min-device-pixel-ratio: 3/2), (min-device-pixel-ratio: 2) {
  .fixed-introduction .fixed-introduction__icon--branding:before {
    background-image: url("../../images/sprites/common-2x-s1b692b96af.png");
    background-size: 381px 210px;
  }
}
.fixed-introduction .fixed-introduction__icon--branding:before {
  text-align: center;
  margin: 0px auto 15px auto;
  background-color: #2D2D2D;
  transition: all 0s ease-in-out 0.6s;
}
.fixed-introduction .fixed-introduction__icon--branding:after {
  content: "";
  width: 100%;
  position: absolute;
  background-color: #2D2D2D;
  bottom: -10px;
  height: 35px;
  left: 0px;
  z-index: -1;
  transition: all 0s ease-in-out 0.6s;
}
.fixed-introduction .fixed-introduction__icon--packaging {
  display: block;
  float: right;
  width: 130px;
  margin-top: 10px;
  font-size: 12px !important;
  line-height: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: #c4c4c4 !important;
  text-align: center;
  position: absolute;
  right: 81px;
}
@media (max-width: 950px) {
  .fixed-introduction .fixed-introduction__icon--packaging {
    right: auto;
    left: 330px;
  }
}
.fixed-introduction .fixed-introduction__icon--packaging:before {
  content: "";
  background-repeat: no-repeat;
  display: block;
  background-image: url("../../images/sprites/common-1x-s615f0f521c.png");
  background-position: -208px -175px;
  height: 34px;
  width: 34px;
}
@media (-webkit-min-device-pixel-ratio: 2), (-o-min-device-pixel-ratio: 3/2), (min-device-pixel-ratio: 2) {
  .fixed-introduction .fixed-introduction__icon--packaging:before {
    background-image: url("../../images/sprites/common-2x-s1b692b96af.png");
    background-size: 381px 210px;
  }
}
.fixed-introduction .fixed-introduction__icon--packaging:before {
  text-align: center;
  margin: 0px auto 15px auto;
  background-color: #2D2D2D;
  transition: all 0s ease-in-out 0.6s;
}
.fixed-introduction .fixed-introduction__icon--packaging:after {
  content: "";
  width: 100%;
  position: absolute;
  background-color: #2D2D2D;
  bottom: -10px;
  height: 35px;
  left: 0px;
  z-index: -1;
  transition: all 0s ease-in-out 0.6s;
}
.fixed-introduction--active .fixed-introduction__cta a:before {
  background-color: transparent !important;
  transition: all 0s ease-in-out 0s;
}
.fixed-introduction--active .fixed-introduction__cta a:after {
  opacity: 0;
  transition: all 0s ease-in-out 0s;
}
.fixed-introduction a {
  cursor: pointer;
  font-size: inherit;
  padding: 5px 0px 0px 0px;
  background-color: transparent;
  color: #FFF400;
  position: relative;
}
.fixed-introduction a:hover {
  opacity: 1 !important;
  z-index: 4;
  background-color: transparent;
  color: #FFF400;
}

.fixed-image {
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: auto;
  min-width: 100%;
  min-height: 100%;
  min-height: 100vh;
  object-fit: cover;
  z-index: 1;
  opacity: 0;
  transition: all 0.6s ease-in-out;
}
.fixed-image--home {
  height: 100%;
  opacity: 0;
}
.fixed-image--home img {
  opacity: 0 !important;
  max-width: none;
  position: fixed;
  top: 50%;
  left: 50%;
  object-fit: cover;
  height: 100vh;
  width: 100vw;
  transform: translate(-50%, -50%);
  transition: all 0.6s ease-in-out;
}
.fixed-image--project {
  opacity: 1;
}
.fixed-image--active {
  opacity: 1;
  transition: all 0.4s ease-in-out;
}
.fixed-image--active img {
  opacity: 1 !important;
  transition: all 0.6s ease-in-out;
}
.fixed-image__wrapper {
  position: fixed;
  top: 0;
  left: 0px;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.fixed-image__wrapper.compat-object-fit {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}
.fixed-image__wrapper.compat-object-fit img {
  display: none;
}
.fixed-image__wrapper.compat-object-fit:before {
  display: none;
}
.single-project .fixed-image__wrapper {
  position: relative;
  top: 0;
  padding: 0;
  overflow: hidden;
}
@media (max-width: 700px) {
  .single-project .fixed-image__wrapper {
    margin-top: -30px;
  }
}
.fixed-image__wrapper .fixed-image--project {
  top: 0;
  left: 0%;
  min-width: 100%;
  width: auto;
  height: auto;
}
.single-project .fixed-image__wrapper .fixed-image--project {
  position: relative;
  will-change: transform;
  transition: opacity 0.6s ease-in-out;
}
.fixed-image__wrapper:after {
  content: "";
  position: absolute;
  top: 0%;
  left: 0%;
  width: 100%;
  height: 100%;
  z-index: 10;
  background: rgb(221, 225, 223);
  transition: all 0.4s ease-in-out;
}
.single-project .fixed-image__wrapper:after {
  display: none;
}
.fixed-image__wrapper--initiating:before {
  content: "";
  width: 20px;
  height: 20px;
  border-radius: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  background: #fff;
  opacity: 1;
  z-index: 10;
  transform: translate(-50%, -50%);
  animation: circle 1s linear infinite;
}
.fixed-image__wrapper--initiating:after {
  transform: translateY(100%);
  transition: all 0.6s ease-in-out;
}
.fixed-image__wrapper--initiated:before {
  opacity: 0 !important;
  animation: none;
  transition: all 0.4s ease-in-out;
}
.fixed-image__wrapper--initiated:after {
  transform: translateY(100%);
  transition: all 0.6s ease-in-out;
}

.home-hero {
  padding-top: 225px !important;
}
@media (max-width: 920px) {
  .home-hero {
    padding-top: 215px !important;
  }
}
@media (max-width: 767px) {
  .home-hero {
    padding-top: 60px !important;
  }
}
@media (max-width: 479px) {
  .home-hero {
    padding-top: 30px !important;
  }
}
.home-hero__video {
  width: 100%;
  max-width: 100%;
  margin: -70px 0px 0px 0px;
  padding-bottom: 40px;
  object-fit: contain;
  height: auto;
}
@media (max-width: 920px) {
  .home-hero__video {
    margin: -60px 0px 0px 0px;
  }
}
.home-hero .video_play {
  pointer-events: none;
  position: absolute;
  bottom: 40%;
  left: 50%;
  cursor: pointer;
  transform: translate(-50%);
}
@media (max-width: 767px) {
  .home-hero .video_play {
    bottom: 33%;
  }
}
@media (max-width: 479px) {
  .home-hero .video_play {
    bottom: 28%;
  }
}
.home-hero .video_play.pause {
  opacity: 0;
}
html.touch .home-hero .video_play, html.touchevents .home-hero .video_play {
  display: none !important;
}

/*
  Homepage Additions

  Styles that were manually appended to the compiled style.css (lines 5657-5979).
  Ported into SCSS source so they compile properly with Dart Sass.
*/
/* Custom spacing for home-projects section */
.home-projects {
  margin-top: 90px;
}
@media (max-width: 900px) {
  .home-projects {
    margin-top: 0;
  }
}

/* Home page: 112px gap between hero image and l-container
   hero image padding-bottom (5px) + margin-top (107px) = 112px */
.post_name-home .home-projects {
  margin-top: 107px;
}
@media (max-width: 900px) {
  .post_name-home .home-projects {
    margin-top: 0;
  }
}

.service-paragraph {
  font-family: "MinionPro";
  font-weight: 400;
  color: #C4C4C4;
  font-size: 48px;
  line-height: 60px;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 10px;
  text-align: center;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .service-paragraph {
    text-align: left;
    margin-top: 30px;
    font-size: 36px;
    line-height: 44px;
  }
}
@media (max-width: 479px) {
  .service-paragraph {
    font-size: 28px;
    line-height: 36px;
  }
}

/* Specific h3 styling for services-introduction section */
.services-introduction h3.service-paragraph {
  font-family: "MinionPro";
  font-size: 48px;
  line-height: 60px;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
  /* Override default h3 styles */
  margin-top: 10px;
  margin-bottom: 25px;
  font-weight: normal;
  text-transform: none;
  text-align: center;
}
@media (max-width: 767px) {
  .services-introduction h3.service-paragraph {
    max-width: 100%;
    text-align: left;
    margin-left: 0;
    margin-right: 0;
    font-size: 36px;
    line-height: 44px;
  }
}
@media (max-width: 479px) {
  .services-introduction h3.service-paragraph {
    font-size: 28px;
    line-height: 36px;
    margin-top: 6px;
  }
}

.services-introduction {
  color: #C4C4C4;
  text-align: center;
  margin: 100px 0;
}
@media (max-width: 1023px) {
  .services-introduction {
    margin: 70px 0;
  }
}
@media (max-width: 767px) {
  .services-introduction {
    margin: 50px 0;
    text-align: left;
  }
}
@media (max-width: 479px) {
  .services-introduction {
    margin: 40px 0;
  }
}
.services-introduction h2 {
  font-family: "VT323", monospace;
  font-weight: 400;
  font-style: normal;
  font-size: 32px;
  line-height: 32px;
  letter-spacing: 0.15em;
  text-align: center;
  text-transform: uppercase;
  margin: 0 auto;
  margin-bottom: 65px;
  padding: 0;
  max-width: none;
}
@media (max-width: 767px) {
  .services-introduction h2 {
    font-size: 32px;
    line-height: 28px;
  }
}
@media (max-width: 479px) {
  .services-introduction h2 {
    font-size: 24px;
    line-height: 24px;
    text-align: left;
    margin-bottom: 40px;
  }
}

.post_name-home .services-introduction {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}

.post_name-home .services-introduction h2 {
  letter-spacing: 4.8px;
}

.post_name-home .services-introduction h3.service-paragraph {
  margin-top: 50px;
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .post_name-home .services-introduction h3.service-paragraph {
    margin-top: 30px;
  }
}
@media (max-width: 479px) {
  .post_name-home .services-introduction h3.service-paragraph {
    margin-top: 30px;
  }
}

@media (max-width: 479px) {
  .post_name-home .section-introduction {
    margin: 40px 0;
  }
  .post_name-home .section-introduction h1.new-page__title {
    text-align: left;
    margin-bottom: 40px;
  }
  .post_name-home .section-introduction .new-page__tagline {
    margin-top: 30px;
  }
}
.scroll-pin {
  --anim-converge-start: 0.20s;
  --anim-converge-dur: 1.50s;
  --anim-strategy-start: 1.85s;
  --anim-strategy-dur: 0.50s;
  --anim-data-start: 1.85s;
  --anim-data-dur: 0.50s;
  --anim-frames-start: 2.45s;
  --anim-frames-dur: 1.00s;
  --anim-label-out-start: 1.00s;
  --anim-label-out-dur: 2.45s;
  --anim-crosshair-start: 3.50s;
  --anim-crosshair-dur: 0.30s;
  --anim-total: 3.80s;
  --anim-time: 0s;
  --off-x: 100vw;
  --off-y: 100vh;
  --frame-line-length: 450;
  --label-tl-inner-x: 429px;
  --label-tr-inner-x: -370px;
  --label-bl-inner-x: 409px;
  --label-br-inner-x: -448px;
  --c-design: #E8A0B5;
  --c-marketing: #C8C5C0;
  --c-digital: #E8DDC9;
  --c-brand: #C19E2A;
  --c-paper: #FAF7F2;
  --c-mark: #B8B4AD;
  --c-label: #1a1a1a;
  height: calc(250vh + 150px);
  position: relative;
  margin: 20px 0 100px 0;
}
@media (max-width: 900px) {
  .scroll-pin {
    margin: 60px 0 50px 0;
  }
}

.scroll-pin__inner {
  position: sticky;
  top: 0;
  width: 100%;
  height: 100vh;
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  transform: translateY(calc(var(--exit-progress, 0) * -40px));
}

.scroll-pin .circle-anim {
  width: 100%;
  max-width: calc((100vh - 48px) * 1000 / 1140);
  height: auto;
  margin: 0 auto;
  display: block;
  isolation: isolate;
  overflow: visible;
  will-change: transform;
  transform: translateY(30px);
  text-rendering: geometricPrecision;
}

.circle-anim-mobile {
  display: none;
  width: 100%;
  max-width: 480px;
  height: auto;
  margin: 0 auto;
}

@media (max-width: 767px) {
  .scroll-pin {
    height: auto;
    margin: 70px 0 75px;
  }
  .scroll-pin__inner {
    position: static;
    height: auto;
    min-height: 0;
    padding: 0 24px;
    display: block;
    transform: none;
  }
  .scroll-pin .circle-anim {
    display: none;
  }
  .scroll-pin .circle-anim-mobile {
    display: block;
  }
}
body.post_name-home,
body.post_name-services {
  overflow-x: clip;
}

.circle-anim .ring--tl {
  transform: translate(calc(var(--off-x) * -1), calc(var(--off-y) * -1));
}
.circle-anim .ring--tr {
  transform: translate(var(--off-x), calc(var(--off-y) * -1));
}
.circle-anim .ring--bl {
  transform: translate(calc(var(--off-x) * -1), var(--off-y));
}
.circle-anim .ring--br {
  transform: translate(var(--off-x), var(--off-y));
}
.circle-anim .svc-label--tl {
  transform: translate(var(--label-tl-inner-x), 0);
}
.circle-anim .svc-label--tr {
  transform: translate(var(--label-tr-inner-x), 0);
}
.circle-anim .svc-label--bl {
  transform: translate(var(--label-bl-inner-x), 0);
}
.circle-anim .svc-label--br {
  transform: translate(var(--label-br-inner-x), 0);
}
.circle-anim .strategy {
  opacity: 0.001;
}
.circle-anim .data-label {
  opacity: 0.001;
}
.circle-anim .frame-line {
  stroke-dasharray: var(--frame-line-length);
  stroke-dashoffset: var(--frame-line-length);
}
.circle-anim .crosshair {
  opacity: 0.001;
}
.circle-anim .ring--tl,
.circle-anim .ring--tr,
.circle-anim .ring--bl,
.circle-anim .ring--br {
  animation-duration: var(--anim-converge-dur);
  animation-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
  animation-delay: calc(var(--anim-converge-start) - var(--anim-time));
  animation-fill-mode: both;
  animation-play-state: paused;
}
.circle-anim .ring--tl {
  animation-name: converge-tl;
}
.circle-anim .ring--tr {
  animation-name: converge-tr;
}
.circle-anim .ring--bl {
  animation-name: converge-bl;
}
.circle-anim .ring--br {
  animation-name: converge-br;
}
.circle-anim .strategy {
  animation: fadeIn var(--anim-strategy-dur) ease-out calc(var(--anim-strategy-start) - var(--anim-time)) both;
  animation-play-state: paused;
  will-change: opacity;
}
.circle-anim .data-label {
  animation: fadeIn var(--anim-data-dur) ease-out calc(var(--anim-data-start) - var(--anim-time)) both;
  animation-play-state: paused;
  will-change: opacity;
}
.circle-anim .frame-line {
  animation: drawFrame var(--anim-frames-dur) cubic-bezier(0.5, 0, 0.5, 1) calc(var(--anim-frames-start) - var(--anim-time)) both;
  animation-play-state: paused;
  will-change: stroke-dashoffset;
}
.circle-anim .svc-label--tl,
.circle-anim .svc-label--tr,
.circle-anim .svc-label--bl,
.circle-anim .svc-label--br {
  animation-duration: var(--anim-label-out-dur);
  animation-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
  animation-delay: calc(var(--anim-label-out-start) - var(--anim-time));
  animation-fill-mode: both;
  animation-play-state: paused;
  will-change: transform;
}
.circle-anim .svc-label--tl {
  animation-name: labelOut-tl;
}
.circle-anim .svc-label--tr {
  animation-name: labelOut-tr;
}
.circle-anim .svc-label--bl {
  animation-name: labelOut-bl;
}
.circle-anim .svc-label--br {
  animation-name: labelOut-br;
}
.circle-anim .crosshair {
  animation: crosshairFadeIn var(--anim-crosshair-dur) ease-out calc(var(--anim-crosshair-start) - var(--anim-time)) both;
  animation-play-state: paused;
}

@keyframes fadeIn {
  from {
    opacity: 0.001;
  }
  to {
    opacity: 1;
  }
}
@keyframes crosshairFadeIn {
  from {
    opacity: 0.001;
  }
  to {
    opacity: 1;
  }
}
@keyframes drawFrame {
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes converge-tl {
  from {
    transform: translate(calc(var(--off-x) * -1), calc(var(--off-y) * -1));
  }
  to {
    transform: translate(0, 0);
  }
}
@keyframes converge-tr {
  from {
    transform: translate(var(--off-x), calc(var(--off-y) * -1));
  }
  to {
    transform: translate(0, 0);
  }
}
@keyframes converge-bl {
  from {
    transform: translate(calc(var(--off-x) * -1), var(--off-y));
  }
  to {
    transform: translate(0, 0);
  }
}
@keyframes converge-br {
  from {
    transform: translate(var(--off-x), var(--off-y));
  }
  to {
    transform: translate(0, 0);
  }
}
@keyframes labelOut-tl {
  from {
    transform: translate(var(--label-tl-inner-x), 0);
  }
  to {
    transform: translate(0, 0);
  }
}
@keyframes labelOut-tr {
  from {
    transform: translate(var(--label-tr-inner-x), 0);
  }
  to {
    transform: translate(0, 0);
  }
}
@keyframes labelOut-bl {
  from {
    transform: translate(var(--label-bl-inner-x), 0);
  }
  to {
    transform: translate(0, 0);
  }
}
@keyframes labelOut-br {
  from {
    transform: translate(var(--label-br-inner-x), 0);
  }
  to {
    transform: translate(0, 0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .scroll-pin {
    height: auto;
  }
  .scroll-pin__inner {
    position: static;
    height: auto;
    padding: 60px 24px;
  }
  .circle-anim .ring--tl,
  .circle-anim .ring--tr,
  .circle-anim .ring--bl,
  .circle-anim .ring--br,
  .circle-anim .svc-label--tl,
  .circle-anim .svc-label--tr,
  .circle-anim .svc-label--bl,
  .circle-anim .svc-label--br {
    transform: translate(0, 0);
    animation: none;
  }
  .circle-anim .strategy,
  .circle-anim .data-label,
  .circle-anim .crosshair {
    opacity: 1;
    animation: none;
  }
  .circle-anim .frame-line {
    stroke-dashoffset: 0;
    animation: none;
  }
}
/* Homepage-specific article title styling — scoped to .home-articles grid only */
.home-articles .homepage-article-grid-title {
  font-family: "MinionPro", "Helvetica Neue", Arial, sans-serif;
  margin: 23px 0 15px 0 !important;
  font-size: 40px;
  font-weight: normal;
  color: #C4C4C4;
  line-height: 1.25;
  text-align: left;
}
@media (max-width: 767px) {
  .home-articles .homepage-article-grid-title {
    font-size: 32px;
    margin: 14px 0 0 0 !important;
  }
}
@media (max-width: 479px) {
  .home-articles .homepage-article-grid-title {
    font-size: 28px;
    margin: 10px 0 0 0 !important;
  }
}

.articles-grid-title h2 {
  font-family: "MinionPro", "Helvetica Neue", Arial, sans-serif;
  margin: 25px auto 0 auto;
  max-width: none;
  padding-right: 0;
  font-size: 40px;
  line-height: 1.2;
  letter-spacing: 0em;
  font-weight: normal;
  text-transform: none;
  text-align: center;
}
@media (max-width: 767px) {
  .articles-grid-title h2 {
    font-size: 32px;
  }
}
@media (max-width: 479px) {
  .articles-grid-title h2 {
    font-size: 28px;
  }
}

.home-articles .homepage-article-blurb p {
  font-family: "Libre Franklin", "Helvetica Neue", Arial, sans-serif;
  color: #C4C4C4;
  text-align: left;
  font-size: 20px;
  margin-top: 18px;
  line-height: 32px;
}
@media (max-width: 767px) {
  .home-articles .homepage-article-blurb p {
    margin-top: 12px;
    margin-bottom: 0;
  }
}
@media (max-width: 479px) {
  .home-articles .homepage-article-blurb p {
    font-size: 16px;
    line-height: 26px;
    margin-top: 8px;
  }
}

/* "Read More" label — Figma: VT323 20px, letter-spacing 2px, uppercase */
.home-articles .read-more-label {
  display: block;
  font-family: "VT323", "Courier New", monospace;
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #C4C4C4;
}
@media (max-width: 767px) {
  .home-articles .read-more-label {
    margin-top: 10px;
  }
}
@media (max-width: 479px) {
  .home-articles .read-more-label {
    margin-top: 6px;
  }
}

.home-articles .project-item:hover .read-more-label {
  text-decoration: underline;
}

.home-articles .project-item__thumbnail {
  overflow: hidden;
}
.home-articles .project-item__thumbnail img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.5s ease-out;
  will-change: transform;
}

.home-articles .project-item:hover .project-item__thumbnail img {
  transform: scale(1.1);
}

.home-articles__more {
  display: flex;
  justify-content: flex-end;
  align-self: stretch;
  width: 100%;
}
.home-articles__more[hidden] {
  display: none;
}
@media (max-width: 479px) {
  .home-articles__more {
    margin-top: 0px;
  }
}

.home .recent-posts-grid .article-item {
  flex: 0 0 calc(50% - 10px);
  max-width: calc(50% - 10px);
}
@media (max-width: 900px) {
  .home .recent-posts-grid .article-item {
    flex: 0 0 calc(50% - 7.5px);
    max-width: calc(50% - 7.5px);
  }
}
@media (max-width: 479px) {
  .home .recent-posts-grid .article-item {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

.home-articles__more-btn {
  color: #c4c4c4;
  background: transparent;
  border: 1px solid #c4c4c4;
  padding: 10px 20px;
  font-family: "VT323", monospace;
  font-size: 20px;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 2px;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.3s ease;
}
.home-articles__more-btn:hover, .home-articles__more-btn:focus-visible {
  background-color: #c4c4c4;
  color: #3D2B2A;
}

.home #project-items {
  display: flex !important;
  flex-wrap: wrap;
}

.home #project-items .project-item {
  float: none !important;
  flex-basis: 33.33% !important;
  min-width: 33.33% !important;
  max-width: 33.33% !important;
}
@media (max-width: 1023px) {
  .home #project-items .project-item {
    flex-basis: 50% !important;
    min-width: 50% !important;
    max-width: 50% !important;
  }
}
@media (max-width: 479px) {
  .home #project-items .project-item {
    flex-basis: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
  }
}

.home-projects__more {
  display: flex;
  justify-content: flex-end;
  margin-top: 20px;
}
.home-projects__more[hidden] {
  display: none;
}
@media (max-width: 479px) {
  .home-projects__more {
    margin: 5px 0 70px 0;
  }
}

.home-projects__more-btn {
  color: #c4c4c4;
  background: transparent;
  border: 1px solid #c4c4c4;
  padding: 10px 20px;
  font-family: "VT323", monospace;
  font-size: 20px;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 2px;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.3s ease;
}
.home-projects__more-btn:hover, .home-projects__more-btn:focus-visible {
  background-color: #c4c4c4;
  color: #3D2B2A;
}

.hero-tagline-spacer {
  height: 100vh;
  padding: 0 !important;
  pointer-events: none;
}
@media (max-width: 767px) {
  .hero-tagline-spacer {
    height: 60vh;
  }
}
@media (max-width: 479px) {
  .hero-tagline-spacer {
    height: 45vh;
  }
}

@media (max-width: 920px) {
  .post_name-home .header__logo__svg {
    padding-top: 70px;
  }
}
@media (max-width: 767px) {
  .post_name-home .header__logo__svg {
    padding-top: 100px;
  }
  .post_name-home .header__logo__svg svg {
    height: 76px;
    width: auto;
  }
}
@media (max-width: 479px) {
  .post_name-home .header__logo__svg {
    padding-top: 70px;
  }
  .post_name-home .header__logo__svg svg {
    height: 44px;
    width: auto;
  }
}

@media (max-width: 767px) {
  .post_name-home .header--shrink .header__logo svg {
    height: 45px;
  }
}
@media (max-width: 479px) {
  .post_name-home .header--shrink .header__logo svg {
    height: 30px;
  }
}

@media (max-width: 767px) {
  .post_name-home .header--shrink .header__logo__svg {
    padding-top: 73px;
  }
}
@media (max-width: 479px) {
  .post_name-home .header--shrink .header__logo__svg {
    padding-top: 48px;
  }
}

.hero-tagline {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 101;
  pointer-events: none;
  will-change: transform, opacity;
  opacity: 0;
}
.hero-tagline svg {
  display: block;
  height: auto;
  width: 100%;
  position: relative;
  z-index: 0;
}

body.hero-tagline-docked.post_name-home .header__logo__svg {
  padding-top: 0;
}
body.hero-tagline-docked.post_name-home .header {
  padding-top: 15px;
}
body.hero-tagline-docked.post_name-home .header--shrink .header__logo svg {
  height: 46px;
}
@media (max-width: 920px) {
  body.hero-tagline-docked.post_name-home .header--shrink .header__logo svg {
    height: 50px;
  }
}
@media (max-width: 479px) {
  body.hero-tagline-docked.post_name-home .header--shrink .header__logo svg {
    height: 32px;
  }
}

.journal {
  padding: 60px 0px;
  max-width: 660px;
  margin-left: 0px;
}
.journal__container {
  position: relative;
  z-index: 3;
  background: #2D2D2D;
  width: 100%;
  zoom: 1;
}
.journal__container:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.journal blockquote {
  font-size: 36px;
  line-height: 40px;
  margin: 50px 0px;
  font-style: italic;
}
.journal blockquote p {
  font-size: 36px;
  line-height: 40px;
  margin: 50px 0px;
  font-style: italic;
}
@media (max-height: 525px) {
  .journal blockquote p {
    font-size: 24px;
    line-height: 28px;
  }
}
@media (max-width: 650px) {
  .journal blockquote p {
    font-size: 24px;
    line-height: 28px;
  }
}
@media (max-width: 450px) and (max-height: 620px) {
  .journal blockquote p {
    font-size: 21px;
    line-height: 26px;
  }
}
.journal__author {
  padding-top: 60px;
  zoom: 1;
}
.journal__author:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.journal__author__logo {
  display: inline-block;
  float: left;
  width: 15%;
  width: 100px;
}
@media (max-width: 420px) {
  .journal__author__logo {
    width: 100%;
    display: block;
    float: none;
    margin-bottom: 30px;
  }
  .journal__author__logo img {
    width: 100px;
    margin-left: 0px;
  }
}
.journal__author__bio {
  display: inline-block;
  float: left;
  width: 85%;
  width: calc(100% - 100px);
  padding-left: 40px;
  position: relative;
  top: -5px;
}
@media (max-width: 420px) {
  .journal__author__bio {
    top: 0px;
    width: 100%;
    padding-left: 0px;
  }
}
.journal__author__bio__title {
  font-family: "Novecentowide", "Helvetica Neue", Arial, sans-serif;
  text-transform: uppercase;
  margin: 0px;
  font-weight: 400;
  letter-spacing: 0.87px;
  font-size: 13px;
  line-height: 16px;
}
.journal__author__bio__link {
  text-decoration: underline;
  font-size: 24px;
  line-height: 26px;
  margin: 10px 0px 0px 0px;
  display: inline-block;
}
.journal__author__bio__desc {
  font-size: 18px;
  line-height: 26px;
}
.journal__related {
  background: #D8D8D8;
  padding: 35px 0px 0px 0px;
  zoom: 1;
}
.journal__related:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.journal__related__title {
  padding: 0px 20px;
  color: #2D2D2D;
  font-size: 30px;
  line-height: 40px;
  margin: 0px 0px 30px 0px;
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-height: 525px) {
  .journal__related__title {
    font-size: 24px;
    line-height: 28px;
  }
}
@media (max-width: 650px) {
  .journal__related__title {
    font-size: 24px;
    line-height: 28px;
  }
}
@media (max-width: 450px) and (max-height: 620px) {
  .journal__related__title {
    font-size: 21px;
    line-height: 26px;
  }
}
.journal__related .journal-item {
  width: 33.33%;
}
.journal__related .journal-item:nth-child(2n+1) {
  clear: none;
}
.journal__related .journal-item__title {
  color: #2D2D2D;
  margin-top: 30px;
}
@media (max-width: 900px) {
  .journal__related .journal-item {
    width: 50%;
  }
  .journal__related .journal-item:nth-child(3) {
    display: none;
  }
}
@media (max-width: 720px) {
  .journal__related .journal-item {
    display: inline-block;
    float: left;
  }
}
@media (max-width: 550px) {
  .journal__related .journal-item {
    display: block;
    float: none;
    width: 100%;
  }
}

.journal-items {
  padding: 0px;
  margin: 0px;
  list-style-type: none;
  position: relative;
  margin: 0px auto;
  padding: 0px;
  max-width: 1420px;
  width: 100%;
  box-sizing: border-box;
  zoom: 1;
}
.journal-items:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

.relative-content--journal h2 {
  max-width: 500px;
}
.relative-content--journal h2 a {
  text-decoration: underline;
}
.relative-content--journal h2 #mailc {
  text-decoration: underline;
  cursor: pointer;
}

.journal-item {
  width: 50%;
  padding: 0px 20px;
  margin-bottom: 100px;
  display: inline-block;
  float: left;
}
.journal-item:nth-child(2n+1) {
  clear: left;
}
@media (max-width: 720px) {
  .journal-item {
    width: 100%;
    display: block;
    float: none;
    margin-bottom: 50px;
  }
}
.journal-item a {
  display: block;
}
.journal-item__title {
  font-size: 29px;
  line-height: 32px;
  margin: 40px 0px 25px 0px;
  padding: 0px;
}
@media (max-height: 525px) {
  .journal-item__title {
    font-size: 24px;
    line-height: 28px;
  }
}
@media (max-width: 650px) {
  .journal-item__title {
    font-size: 24px;
    line-height: 28px;
  }
}
@media (max-width: 450px) and (max-height: 620px) {
  .journal-item__title {
    font-size: 21px;
    line-height: 26px;
  }
}
.journal-item__blurb {
  margin: 0px;
  padding: 0px;
}
.journal-item__cta {
  margin: 25px 0px 0px 0px;
  font-family: "Novecentowide", "Helvetica Neue", Arial, sans-serif;
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: 0.87px;
  font-size: 12px;
  padding: 0px;
}

.page-id-1909 .page-introduction h1 em, .page-id-1909 .page-introduction h1 i {
  font-size: 30px;
  display: block;
  line-height: 45px;
}
.page-id-1909 .page-introduction h1 em {
  font-size: 30px;
  display: block;
  line-height: 45px;
}
.page-id-1909 .section .section-column--half:first-child {
  padding-right: 20px;
}
@media (max-width: 900px) {
  .page-id-1909 .section .section-column--half:first-child {
    padding-right: 2px;
  }
}
.page-id-1909 .section .section-column--half:last-child {
  padding-left: 20px;
}
@media (max-width: 900px) {
  .page-id-1909 .section .section-column--half:last-child {
    padding-left: 2px;
  }
}
.page-id-1909 #idea-set_one {
  margin-top: 100px;
}
@media (max-width: 900px) {
  .page-id-1909 #idea-set_one {
    margin-top: 0px;
  }
}
.page-id-1909 #idea-set_one:before {
  content: "Recent Projects";
  font-family: "Novecentowide", "Helvetica Neue", Arial, sans-serif;
  font-weight: 700;
  font-size: 12px;
  line-height: 15px;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin: 0px 0px 10px 0px;
  padding-right: 40px;
  clear: both;
  display: block;
}
.page-id-1909 #idea-set_one, .page-id-1909 #idea-set_two {
  margin-bottom: 60px;
}
@media (max-width: 900px) {
  .page-id-1909 #idea-set_one, .page-id-1909 #idea-set_two {
    margin-bottom: 0px;
    padding: 0px;
  }
}
.page-id-1909 #idea-set_one h5, .page-id-1909 #idea-set_two h5 {
  font-size: 9px;
  line-height: 25px;
  margin-top: 15px;
}
.page-id-1909 #idea-set_one h1, .page-id-1909 #idea-set_two h1 {
  font-size: 50px;
  margin-top: 45px;
}
@media (max-width: 900px) {
  .page-id-1909 #idea-set_one h1, .page-id-1909 #idea-set_two h1 {
    margin-top: -30px;
  }
}
.page-id-1909 #idea-set_one h1 em, .page-id-1909 #idea-set_one h1 i, .page-id-1909 #idea-set_two h1 em, .page-id-1909 #idea-set_two h1 i {
  font-size: 30px;
  margin-bottom: 48px;
  display: block;
  line-height: 45px;
}

@media (max-width: 900px) {
  #idea-introduction .section-column--half {
    margin-bottom: 40px;
  }
}
.lazyload {
  opacity: 0;
  background: transparent url("../../images/loader.gif") repeat;
  transition: all 0.6s ease-in-out;
}
.lazyload.lazypreload {
  opacity: 1;
}

.lazyloading {
  opacity: 0;
  background: transparent url("../../images/loader.gif") repeat;
}
.lazyloading.lazypreload {
  opacity: 1;
}

html .lazyloaded {
  opacity: 1;
  transition: all 0.6s ease-in-out;
}

#mc-embedded-subscribe-form input[type=checkbox] {
  display: inline;
  width: auto;
  margin-right: 10px;
}

#mergeRow-gdpr {
  margin-top: 20px;
}

#mc-embedded-subscribe-form .mc_fieldset {
  border: none;
  min-height: 0px;
  padding-bottom: 0px;
}

/* CUSTOM */
#mailchimp-button {
  cursor: pointer;
}
#mailchimp-button:hover {
  text-decoration: underline;
  cursor: pointer;
}

#mc_embed_signup {
  clear: both;
  opacity: 0;
  pointer-events: none;
  overflow: hidden;
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  z-index: 100;
  background: rgba(0, 0, 0, 0.7);
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.mailchimp-active #mc_embed_signup {
  opacity: 1 !important;
  pointer-events: visible;
  transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.post_name-contact #mc_embed_signup {
  opacity: 1;
  pointer-events: visible;
  position: relative;
  width: auto;
  height: auto;
  background: transparent;
}

#mc_embed_signup form {
  position: absolute;
  left: 50%;
  top: 10%;
  padding: 50px 30px;
  width: 100%;
  max-width: 720px;
  height: 100%;
  max-height: 80%;
  margin: 0px auto;
  background: #2D2D2D;
  overflow: scroll;
  -webkit-overflow-scrolling: touch;
  transform: translateX(-50%);
}
@media (max-width: 750px) {
  #mc_embed_signup form {
    max-width: calc(100% - 60px);
  }
}
.post_name-contact #mc_embed_signup form {
  position: relative;
  left: 0px;
  top: 0px;
  padding: 0px;
  max-width: 100%;
  height: auto;
  max-height: none;
  margin: 0px;
  overflow: visible;
  background: transparent;
  transform: translateX(0%);
}
#mc_embed_signup form h2 {
  margin: 0px 0px 30px 0px;
  font-size: 30px;
  line-height: 30px;
  letter-spacing: 0.3px;
}
#mc_embed_signup form .mc-field-group {
  margin-bottom: 7px;
}
#mc_embed_signup form .mc-field-group input {
  padding: 8px 12px 6px 12px;
  height: 46px;
  background: transparent;
  border: none;
  outline: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  border-radius: 0px;
  border: 1px solid #c4c4c4;
  color: #c4c4c4;
  width: 100%;
  max-width: none;
  margin: 0px;
}
@media (max-width: 750px) {
  #mc_embed_signup form .mc-field-group input {
    width: 100%;
  }
}
#mc_embed_signup form .content__gdpr {
  padding: 30px 0px 10px 0px;
  margin-top: 30px;
  border-bottom: 1px solid #c4c4c4;
}
#mc_embed_signup form .content__gdpr label {
  display: block;
  font-family: "Novecentowide", "Helvetica Neue", Arial, sans-serif !important;
  color: #c4c4c4;
  font-weight: 700;
  padding-top: 4px;
  border-top: 1px solid #c4c4c4;
  margin-bottom: 16px;
  width: 100%;
  font-size: 12px;
  line-height: 15px;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin: 0px;
  padding-right: 40px;
  clear: both;
}
@media (max-width: 650px) {
  #mc_embed_signup form .content__gdpr label {
    padding-right: 2px;
  }
}
#mc_embed_signup form .content__gdpr .mc_fieldset {
  padding: 0px;
  margin: 0px;
}
#mc_embed_signup form .content__gdpr fieldset label {
  clear: both;
  display: block;
  margin-bottom: 10px;
  color: #c4c4c4;
  border: 0px solid #c4c4c4;
}
#mc_embed_signup form .content__gdpr .checkbox input {
  width: auto;
  height: auto;
  margin-right: 10px;
}
#mc_embed_signup form .content__gdpr label span {
  text-transform: none;
  font-weight: 400;
  color: #c4c4c4;
}
#mc_embed_signup form #mc-embedded-subscribe {
  opacity: 1;
  width: 100%;
  height: auto;
  margin-top: 10px;
  color: #2D2D2D;
  border: 0px solid #c4c4c4;
  text-align: center;
  font-family: "Novecentowide", "Helvetica Neue", Arial, sans-serif;
  font-weight: 700;
  font-size: 12px;
  line-height: 15px;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 0px;
  min-width: 150px;
  padding: 14px 10px 16px 10px;
  background-color: #c4c4c4;
  position: relative;
  display: inline-block;
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0);
  transition: all 0.3s ease-in-out;
}
#mc_embed_signup form #mc-embedded-subscribe:hover {
  background-color: #c4c4c4;
  color: #2D2D2D;
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}
#mc_embed_signup form .content__gdprLegal p {
  font-size: 13px;
  line-height: 20px;
}
#mc_embed_signup form .content__gdprLegal p a {
  text-decoration: underline;
}

.mailchimp-close {
  position: fixed;
  top: 30px;
  right: 30px;
  z-index: 101;
  font-size: 1px;
  font-size: 0px;
  opacity: 0;
  pointer-events: none;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
}
.mailchimp-close:before {
  content: "";
  background-repeat: no-repeat;
  display: block;
  background-image: url("../../images/sprites/common-1x-s615f0f521c.png");
  background-position: -144px -175px;
  height: 30px;
  width: 30px;
}
@media (-webkit-min-device-pixel-ratio: 2), (-o-min-device-pixel-ratio: 3/2), (min-device-pixel-ratio: 2) {
  .mailchimp-close:before {
    background-image: url("../../images/sprites/common-2x-s1b692b96af.png");
    background-size: 381px 210px;
  }
}
.mailchimp-active .mailchimp-close {
  opacity: 1;
  pointer-events: visible;
  transition: all 0.3s ease-in-out;
}

body.mailchimp-active {
  overflow: hidden;
  height: 100%;
  position: relative;
}

#members {
  border-top: 1px solid #c4c4c4;
  padding-top: 40px;
  zoom: 1;
}
#members:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

.member {
  position: relative;
  width: 50%;
  float: left;
  display: inline-block;
  padding: 0px 2px;
  margin-top: 50px;
}
.member:nth-child(1), .member:nth-child(2) {
  margin-top: 0px;
}
.member:nth-child(2n+1) {
  clear: left;
}
@media (max-width: 767px) {
  .member {
    width: 100%;
  }
  .member:nth-child(1) {
    margin-top: 50px;
  }
}
.member a {
  text-decoration: underline;
}
.member__thumbnail {
  transition: all 0.5s ease-in-out;
}
.member__thumbnail__container {
  position: relative;
}
.member__thumbnail__container:hover .member__thumbnail__hover {
  opacity: 1 !important;
  transition: all 0.5s ease-in-out;
}
.member__thumbnail__hover {
  position: absolute;
  top: 0px;
  left: 0px;
  max-width: 100%;
  opacity: 0 !important;
  transition: all 0.5s ease-in-out;
}
.member__name {
  margin-top: 20px;
  font-size: 40px;
  line-height: 40px;
  padding-top: 10px;
  display: inline-block;
  font-weight: 400;
}
.fontsloaded .member__name {
  font-family: "MinionPro", "Helvetica Neue", Arial, sans-serif !important;
  text-transform: none;
  letter-spacing: 0px;
}
@media (max-width: 600px) {
  .member__name {
    font-size: 30px;
    line-height: 30px;
  }
}
@media (max-width: 500px) {
  .member__name {
    font-size: 24px;
    line-height: 24px;
  }
}
.member__position {
  font-size: 16px;
  line-height: 22px;
  max-width: 370px;
  margin: 5px 0px 15px 0px;
}
.member__email {
  display: inline-block;
  margin-bottom: 10px;
  font-size: 16px;
  line-height: 22px;
  max-width: 370px;
  font-style: italic;
}
.member .novecento * {
  font-size: 12px !important;
}
.member p {
  max-width: 500px;
  margin-bottom: 13px;
}

.owl-carousel {
  position: relative;
  padding: 0px 0px 20px 0px;
}

.owl-nav {
  display: none !important;
}

.post_name-about .owl-carousel img {
  width: auto !important;
  max-height: 840px;
}
.post_name-about .owl-carousel .owl-nav {
  display: none !important;
}

.post_name-about {
  color: #c4c4c4;
}
.post_name-about a {
  color: #c4c4c4;
}
.post_name-about .header svg path {
  fill: #fff;
}
.post_name-about .footer {
  color: #c4c4c4;
}
.post_name-about .footer .footer__logo {
  border-color: #c4c4c4;
}
.post_name-about .footer .footer__logo svg path {
  fill: #c4c4c4;
}
.post_name-about .footer .footer__subscribe {
  border-color: #c4c4c4;
}
.post_name-about .footer .footer__business {
  border-color: #c4c4c4;
}
.post_name-about .footer .footer__social .footer__social--linkedin path {
  fill: #c4c4c4;
}
.post_name-about #mc_embed_signup form {
  background: #fc5c5c;
}
.post_name-about #mc_embed_signup form .mc-field-group input {
  border-color: #fff;
  color: #c4c4c4;
}
.post_name-about #mc_embed_signup form .content__gdpr label {
  border-color: #fff;
  color: #c4c4c4;
}
.post_name-about #mc_embed_signup form .content__gdpr label span {
  color: #c4c4c4;
}
.post_name-about #mc_embed_signup form .content__gdpr {
  border-color: #fff;
}
.post_name-about #mc_embed_signup form #mc-embedded-subscribe {
  background: #fff;
  color: #fc5c5c;
}

/* About Page Styles - extracted from page-about.php */
/* About page animation styles - custom CSS for the animation effect */
.about-page-item__link.about-animation--selected {
  top: 0px !important;
  left: 0px !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 100 !important;
  transition: top 0.4s cubic-bezier(0.645, 0.045, 0.355, 1) 0.05s, left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0.4s, width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0.4s, height 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0.15s;
}

.about-page-item__link.about-animation--background {
  background: #EAE9E4 !important;
}

.about-page-item__link.about-animation--selected .about-page-item__content {
  background: #d6d6c7 !important;
}

.about-page-item__link.about-animation--selected .about-page-item__title {
  opacity: 0 !important;
  transition: opacity 0.2s ease-in-out;
}

.about-page-item__link.about-animation--selected .about-page-item__description {
  opacity: 0 !important;
  transition: opacity 0.2s ease-in-out;
}

.about-page-item__link.about-animation--selected img {
  opacity: 0 !important;
  transition: opacity 0.2s ease-in-out;
}

@media (max-width: 464px) {
  .about-page-item__link.about-animation--selected {
    transition: top 0.4s cubic-bezier(0.645, 0.045, 0.355, 1) 0.35s, left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0.05s, width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0.05s, height 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0.35s;
  }
}
/* Testimonials Section Container - Same width as section class with borders */
.testimonials-section {
  width: 1440px;
  max-width: 100%;
  margin: 60px auto;
  padding: 90px 0 40px 0;
  border-top: 1px solid #c4c4c4;
  /* border-bottom: 1px solid #c4c4c4; */
  position: relative;
}

/* DEDICATED TESTIMONIAL SLIDER STYLES - NO JQUERY DEPENDENCY */
.testimonials-container {
  position: relative;
  max-width: 1110px;
  margin: 0px auto;
  padding: 20px 40px;
  text-align: center;
  cursor: default;
}

.testimonials-container:hover {
  cursor: pointer;
}

/* Testimonials Navigation - EXACT MATCH to Member Carousel Implementation */
.testimonials-slider-wrapper {
  position: relative;
  width: 100%;
  min-height: 250px;
  overflow: hidden;
  display: flex;
  align-items: center;
}

.testimonials-track {
  position: relative;
  width: 100%;
  flex: 1;
}

.testimonial-slide {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  transform: translateX(30px) translateY(-50%);
  opacity: 0;
  visibility: hidden;
  transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  padding: 20px;
  box-sizing: border-box;
}

.testimonial-slide.is-active {
  opacity: 1;
  visibility: visible;
  transform: translateX(0) translateY(-50%);
}

.testimonial-slide.is-prev {
  transform: translateX(-30px) translateY(-50%);
}

.testimonial-slide.is-next {
  transform: translateX(30px) translateY(-50%);
}

.testimonial-content {
  font-family: "MinionPro", serif;
  font-size: 44px;
  line-height: 56px;
  color: #C4C4C4;
  margin-bottom: 80px;
  font-style: italic;
}

.testimonial-content p {
  font-size: 32px;
}

.testimonial-author {
  font-family: "Libre Franklin", Arial, sans-serif;
  font-size: 18px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: #C4C4C4;
  margin-bottom: 8px;
}

.testimonial-position p {
  font-family: "VT323", monospace !important;
  color: #c4c4c4;
  font-size: 20px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

/* Testimonials Heading - Span Element for "What our clients will tell you" */
.testimonials-heading {
  font-family: "VT323", monospace !important;
  font-size: 26px !important;
  text-align: center !important;
  color: #C4C4C4 !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.15em !important;
  margin-bottom: 40px !important;
  display: block !important;
  width: 100% !important;
}

/* Testimonials Section Paragraph Styling */
.testimonials-section p {
  line-height: 40px;
  margin-top: 10px;
  margin-bottom: 25px;
  clear: both;
  font-style: normal;
  padding-right: 0;
}

/* Navigation Controls - REMOVED */
/* Testimonials Progress Bar - Road with Moving Segment (Matching Member Carousel Design) */
.testimonials-progress {
  position: absolute !important;
  bottom: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 1440px !important;
  max-width: 100% !important;
  height: 1px !important;
  background: rgba(255, 255, 255, 0.3) !important;
  z-index: 20 !important;
  overflow: visible !important;
  opacity: 1 !important;
}

/* Moving segment bar - dynamic width based on number of testimonials */
.testimonials-progress::after {
  content: "" !important;
  position: absolute !important;
  top: -3px !important;
  left: var(--progress, 0%) !important;
  width: var(--segment-width, 25%) !important;
  height: 4px !important;
  background: #c4c4c4 !important;
  transform: translateX(0) !important;
  transition: left 0.6s ease !important;
}

/* Responsive Design */
@media (max-width: 1024px) {
  .testimonials-section {
    margin: 50px auto;
    padding: 70px 0 30px 0;
  }
}
@media (max-width: 768px) {
  .testimonials-section {
    margin: 40px auto;
    padding: 50px 0 25px 0;
  }
  .testimonials-container {
    padding: 20px 20px;
  }
  .testimonials-heading {
    margin-bottom: 24px !important;
  }
  /* Let wrapper size to active content — kills dead space from fixed 250px min-height */
  .testimonials-slider-wrapper {
    min-height: 0;
    display: block;
  }
  /* Active slide flows in document so wrapper auto-sizes; inactive stay absolute for crossfade */
  .testimonial-slide {
    top: 0;
    transform: translateX(30px);
  }
  .testimonial-slide.is-active {
    position: relative;
    transform: translateX(0);
  }
  .testimonial-slide.is-prev {
    transform: translateX(-30px);
  }
  .testimonial-slide.is-next {
    transform: translateX(30px);
  }
  .testimonial-content {
    font-size: 20px;
    line-height: 30px;
    margin-bottom: 32px;
  }
  .testimonial-content p {
    font-size: 20px;
    line-height: 30px;
  }
  .testimonial-author {
    font-size: 16px;
    letter-spacing: 1px;
    font-weight: bold !important;
  }
}
@media (max-width: 480px) {
  .testimonials-section {
    margin: 30px auto;
    padding: 30px 0 20px 0;
  }
  .testimonials-container {
    padding: 15px 15px;
  }
  .testimonials-heading {
    margin-bottom: 20px !important;
  }
  .testimonial-slide {
    padding: 15px;
  }
  .testimonial-content {
    font-size: 18px;
    line-height: 28px;
    margin-bottom: 24px;
  }
  .testimonial-content p {
    font-size: 18px;
    line-height: 28px;
  }
  .testimonial-author {
    font-size: 14px;
  }
}
/* Gap normalization: 115px target
   page-introduction pb (100px) + section pt (15px) = 115px
   Overrides global .section { padding: 20px 0px } */
article .section:first-child {
  padding-top: 15px;
}

@media (max-width: 700px) {
  article .section:first-child {
    padding-top: 65px; /* page-introduction pb drops to 50px; 50px + 65px = 115px */
  }
}
@media (max-width: 480px) {
  article .section:first-child {
    padding-top: 50px;
  }
}
/*
  Page Articles
  Styles for the articles listing page (Template: Articles Custom)
  Template: page-articles-with-recent-posts.php
*/
.page-template-page-articles-with-recent-posts .page-introduction {
  padding-bottom: 5px;
}

/* Recent posts section layout */
.recent-posts-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 0;
}
@media (max-width: 900px) {
  .recent-posts-section {
    margin-top: 60px;
  }
}
@media (max-width: 650px) {
  .recent-posts-section {
    margin-top: 50px;
  }
}

/* Recent Posts Grid — 3 columns, Figma spec: 20px column gap, 60px row gap */
.recent-posts-grid {
  display: flex;
  flex-wrap: wrap;
  column-gap: 20px;
  padding: 0;
  margin: 0 auto;
  width: 100%;
  list-style-type: none;
  zoom: 1;
}
.recent-posts-grid:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.recent-posts-grid .project-item {
  flex: 0 0 calc(33.333% - 14px);
  max-width: calc(33.333% - 14px);
}
@media (max-width: 900px) {
  .recent-posts-grid {
    column-gap: 15px;
    row-gap: 40px;
  }
  .recent-posts-grid .project-item {
    flex: 0 0 calc(50% - 7.5px);
    max-width: calc(50% - 7.5px);
  }
}
@media (max-width: 650px) {
  .recent-posts-grid {
    row-gap: 30px;
  }
  .recent-posts-grid .project-item {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

#recent-post-items.recent-posts-grid {
  row-gap: 32px;
}

/* Override inherited .project-item styles for the articles grid */
#recent-post-items.recent-posts-grid .project-item {
  overflow: visible;
  padding: 0;
  margin-bottom: 0;
  float: none;
}

#recent-post-items.recent-posts-grid .project-item a {
  text-decoration: none;
}

.article-item:hover a:not(.project-item--selected):before {
  opacity: 0 !important;
  transform: translateY(-100%) !important;
}

.article-item:hover a:not(.project-item--selected) .project-item__blurb {
  background: transparent !important;
}

.article-item:hover a:not(.project-item--selected) .project-item__blurb__title {
  opacity: 0 !important;
  transform: translateY(-20px) !important;
}

.article-item:hover a:not(.project-item--selected) .project-item__blurb__content {
  opacity: 0 !important;
  transform: translateY(-20px) !important;
}

.recent-posts-section .project-item__thumbnail {
  overflow: hidden;
}
.recent-posts-section .project-item__thumbnail img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.5s ease-out;
  will-change: transform;
}

.recent-posts-section .project-item:hover .project-item__thumbnail img {
  transform: scale(1.1);
}

/* Article card typography — Figma: MinionPro 48px / line-height 56px */
.recentarticle-item__title {
  font-family: "MinionPro", Georgia, serif;
  font-size: 40px;
  font-weight: normal;
  line-height: 50px;
  color: #c4c4c4;
  margin: 24px 0 0;
}
@media (max-width: 900px) {
  .recentarticle-item__title {
    font-size: 36px;
    line-height: 44px;
  }
}
@media (max-width: 650px) {
  .recentarticle-item__title {
    font-size: 28px;
    line-height: 36px;
  }
}

/* Article blurb — Libre Franklin, matching homepage blurb style */
.page-template-page-articles-with-recent-posts .homepage-article-blurb p {
  font-family: "Libre Franklin", "Helvetica Neue", Arial, sans-serif;
  color: #c4c4c4;
  text-align: left;
  font-size: 20px;
  margin-top: 18px;
  line-height: 32px;
}

/* "Read Article" label — Figma: VT323 20px, letter-spacing 2px, uppercase */
.read-article-label {
  display: block;
  font-family: "VT323", "Courier New", monospace;
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #c4c4c4;
  margin-top: 10px;
  text-decoration: none;
}

/* Underline the "Read Article" label on card hover — matches the
   .read-more-label hover behaviour on the single-page related articles. */
.recent-posts-section .project-item:hover .read-article-label {
  text-decoration: underline;
}

/* Article filter buttons — pill style matching project-filters */
.article-filters {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding: 20px 0 0;
  margin-top: 20px;
  margin-bottom: 50px;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
}
@media (max-width: 768px) {
  .article-filters {
    flex-wrap: wrap;
    justify-content: center;
    overflow-x: visible;
    padding-bottom: 0;
    gap: 10px 10px;
    margin-bottom: 25px;
  }
}

.article-filters__btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 11px 20px;
  margin: 0 5px 10px;
  height: 42px;
  min-width: auto;
  background: #3B1F1F;
  border-radius: 100px;
  border: none;
  font-family: "VT323", "Courier New", monospace;
  font-weight: 400;
  font-size: 20px;
  line-height: 20px;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  text-align: center;
  color: #c4c4c4;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
}
.article-filters__btn:hover {
  background: #4A2828;
  color: #FFFFFF;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
  text-decoration: none;
}
.article-filters__btn-active, .article-filters__btn.mixitup-control-active, .article-filters__btn.active {
  background: #c4c4c4;
  color: #3B1F1F;
  text-decoration: none;
  transform: none;
  box-shadow: none;
}
.article-filters__btn-active:hover, .article-filters__btn.mixitup-control-active:hover, .article-filters__btn.active:hover {
  background: #c4c4c4;
  color: #3B1F1F;
  transform: none;
  box-shadow: none;
}
@media (max-width: 768px) {
  .article-filters__btn {
    flex: 0 0 auto;
    white-space: nowrap;
    margin: 0;
  }
}

.fontsloaded .article-filters,
.fontsloaded .article-filters__btn {
  visibility: visible;
  opacity: 1;
}

.post_name-contact {
  background-color: #240C0C;
  color: #c4c4c4;
}
.post_name-contact a {
  color: #c4c4c4;
}
.post_name-contact .header svg path {
  fill: #c4c4c4;
}
.post_name-contact .footer-new,
.post_name-contact .footer-cta {
  background-color: #240C0C;
}

.post_name-contact .page-introduction {
  text-align: center;
  padding-right: 2px;
}
.post_name-contact .page-introduction .breadcrumb-container {
  margin-bottom: 60px;
}
.post_name-contact .page-introduction .breadcrumb-container a {
  color: rgba(196, 196, 196, 0.5);
}
.post_name-contact .page-introduction .breadcrumb-container span[aria-hidden] {
  color: rgba(196, 196, 196, 0.5);
  margin: 0 6px;
}
.post_name-contact .page-introduction .breadcrumb-container span[aria-current] {
  color: #c4c4c4;
}
.post_name-contact .page-introduction h2,
.post_name-contact .page-introduction .new-page__title {
  font-family: "VT323", monospace;
  font-size: 32px;
  line-height: 32px;
  letter-spacing: 4.8px;
  text-transform: uppercase;
  color: #c4c4c4;
  font-weight: 400;
  max-width: none;
  padding-right: 0;
  margin-bottom: 30px;
}
.post_name-contact .page-introduction h1 {
  font-family: "MinionPro", "Helvetica Neue", Arial, sans-serif, serif;
  font-size: 48px;
  line-height: 60px;
  font-weight: 400;
  color: #c4c4c4;
  max-width: 1040px;
  margin: 0 auto;
}

.contact-page__content {
  display: flex;
  flex-direction: column;
  gap: 60px;
  padding-bottom: 20px;
}

.contact-page__rule {
  border: none;
  border-top: 1px solid #c4c4c4;
  margin: 0;
  width: 100%;
  flex-shrink: 0;
  height: 0px !important;
}

.contact-page__info-label {
  font-family: "VT323", monospace;
  font-size: 24px;
  line-height: 32px;
  letter-spacing: 3.6px;
  text-transform: uppercase;
  color: #c4c4c4;
  font-weight: 400;
  margin: 0 0 30px 0;
}

.contact-page__inner {
  max-width: 1180px;
  display: flex;
  flex-direction: column;
}

.contact-page__contact-intro {
  max-width: 1180px;
  text-align: left;
}
.contact-page__contact-intro p {
  font-family: "MinionPro", "Helvetica Neue", Arial, sans-serif, serif;
  font-size: 48px;
  font-style: normal;
  font-weight: 400;
  line-height: 60px;
  color: var(--CHDL-Gray, #C4C4C4);
  margin: 0;
}

.contact-page__intro-body p {
  font-family: "MinionPro", "Helvetica Neue", Arial, sans-serif, serif;
  font-size: 48px;
  line-height: 60px;
  font-weight: 400;
  color: #c4c4c4;
  margin: 0;
}

.contact-page__info-columns {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}

.contact-page__info-col {
  flex: 0 0 460px;
}
.contact-page__info-col p {
  font-family: "Libre Franklin", Arial, sans-serif;
  font-size: 24px;
  line-height: 36px;
  color: #c4c4c4;
  margin: 0;
}
.contact-page__info-col a {
  color: #c4c4c4;
  text-decoration: underline;
}
.contact-page__info-col a:hover {
  text-decoration: none;
}

.contact-page__form-section {
  display: flex;
  gap: 20px;
  align-items: flex-start;
}

.contact-page__form-left {
  flex: 0 0 461px;
  display: flex;
  flex-direction: column;
  gap: 60px;
}
.contact-page__form-left .contact-page__info-label {
  margin-bottom: 0;
}

.contact-page__form-subheading {
  font-family: "MinionPro", "Helvetica Neue", Arial, sans-serif, serif;
  font-size: 48px;
  line-height: 56px;
  color: #c4c4c4;
  font-weight: 400;
  max-width: 420px;
  margin: 0;
}

.contact-page__form-right {
  flex: 1;
}

.contact-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.contact-form__row--split {
  display: flex;
  gap: 20px;
}
.contact-form__row--split .contact-form__field {
  flex: 1;
  min-width: 0;
}
.contact-form__field {
  position: relative;
  border: 1px solid #c4c4c4;
  height: 76px;
}
.contact-form__input {
  width: 100%;
  height: 100%;
  background: transparent;
  border: 0;
  outline: none;
  color: #c4c4c4;
  font-family: "MinionPro", "Helvetica Neue", Arial, sans-serif, serif;
  font-size: 28px;
  line-height: 1.4;
  padding: 30px 24px 14px 24px;
  box-sizing: border-box;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
  caret-color: #c4c4c4;
}
.contact-form__input:-webkit-autofill, .contact-form__input:-webkit-autofill:hover, .contact-form__input:-webkit-autofill:focus {
  -webkit-text-fill-color: #c4c4c4;
  -webkit-box-shadow: 0 0 0 1000px transparent inset;
  transition: background-color 9999s ease-in-out 0s;
}
.contact-form__label {
  position: absolute;
  top: 50%;
  left: 24px;
  transform: translateY(-50%);
  font-family: "Libre Franklin", Arial, sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 2.8px;
  text-transform: uppercase;
  color: #c4c4c4;
  pointer-events: none;
  transform-origin: left top;
  transition: top 0.18s ease, transform 0.18s ease, font-size 0.18s ease, letter-spacing 0.18s ease, opacity 0.18s ease;
}
.contact-form__input:focus + .contact-form__label, .contact-form__input:not(:placeholder-shown) + .contact-form__label {
  top: 12px;
  transform: translateY(0);
  font-size: 12px;
  letter-spacing: 1.8px;
  opacity: 0.65;
}
.contact-form__required {
  margin-left: 2px;
}
.contact-form__consent {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 8px 0;
}
.contact-form__checkbox {
  appearance: none;
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border: 1px solid #c4c4c4;
  background: transparent;
  margin: 2px 0 0 0;
  flex-shrink: 0;
  cursor: pointer;
  position: relative;
  border-radius: 0;
}
.contact-form__checkbox:checked::after {
  content: "";
  position: absolute;
  inset: 3px;
  background: #c4c4c4;
}
.contact-form__checkbox:focus-visible {
  outline: 1px dashed #c4c4c4;
  outline-offset: 3px;
}
.contact-form__consent-label {
  font-family: "Libre Franklin", Arial, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: #c4c4c4;
  cursor: pointer;
}
.contact-form__consent-label a {
  color: #c4c4c4;
  text-decoration: underline;
}
.contact-form__consent-label a:hover {
  text-decoration: none;
}
.contact-form__honeypot {
  position: absolute !important;
  left: -10000px !important;
  top: auto !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}
.contact-form__actions {
  display: flex;
  justify-content: flex-end;
  padding-top: 8px;
}
.contact-form__submit {
  background: transparent;
  border: 1px solid #c4c4c4;
  padding: 14px 28px;
  margin: 0;
  cursor: pointer;
  font-family: "VT323", monospace;
  font-size: 20px;
  line-height: 1;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #c4c4c4;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.contact-form__submit:hover {
  background: #c4c4c4;
  color: #240C0C;
}
.contact-form__submit:focus-visible {
  outline: 1px dashed #c4c4c4;
  outline-offset: 3px;
}
.contact-form__submit[disabled] {
  opacity: 0.4;
  cursor: wait;
}
.contact-form__status {
  margin-top: 16px;
  min-height: 1.5em;
  font-family: "Libre Franklin", Arial, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  color: #c4c4c4;
}
.contact-form__status.is-error {
  color: #ff8a8a;
}
.contact-form__status.is-success {
  color: #8de0a4;
}

.contact-page__address-map {
  display: flex;
  gap: 20px;
  align-items: flex-end;
}

.contact-page__address-left {
  flex: 0 0 460px;
}

.contact-page__address-text {
  font-family: "VT323", monospace;
  font-size: 24px;
  line-height: 32px;
  letter-spacing: 3.6px;
  text-transform: uppercase;
  color: #c4c4c4;
  margin: 0;
}

.contact-page__map {
  flex: 1;
  position: relative;
  overflow: hidden;
  min-height: 500px;
}
.contact-page__map #chdl-map {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.contact-page__map::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #240C0C;
  mix-blend-mode: color;
  pointer-events: none;
}

.contact-page__full-image {
  max-width: 1420px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
  overflow: hidden;
}
.contact-page__full-image-carousel .owl-item img {
  width: 100%;
  height: auto;
  display: block;
  max-height: 875px;
  object-fit: cover;
  object-position: center;
}

.contact-page__space {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 20px;
  min-height: 875px;
  max-width: 1420px;
  margin: 40px auto;
  padding: 0 20px;
  box-sizing: border-box;
}

.contact-page__space-image {
  overflow: hidden;
  position: relative;
}
.contact-page__space-image-carousel, .contact-page__space-image-carousel .owl-stage-outer, .contact-page__space-image-carousel .owl-stage, .contact-page__space-image-carousel .owl-item {
  height: 100%;
}
.contact-page__space-image-carousel .owl-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.contact-page__space-content {
  padding: 120px;
  display: flex;
  flex-direction: column;
  gap: 60px;
  justify-content: flex-end;
}
.contact-page__space-content .contact-page__info-label {
  margin-bottom: 0;
}

.contact-page__space-heading {
  font-family: "MinionPro", "Helvetica Neue", Arial, sans-serif, serif;
  font-size: 48px;
  font-style: normal;
  font-weight: 400;
  line-height: 56px;
  color: var(--CHDL-Gray, #C4C4C4);
  margin: 0;
  padding-right: 0;
  max-width: none;
}

.contact-page__space-body {
  font-family: "Libre Franklin", Arial, sans-serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 36px;
  color: var(--CHDL-Gray, #C4C4C4);
}
.contact-page__space-body p {
  margin: 0 0 20px 0;
}
.contact-page__space-body p:last-child {
  margin-bottom: 0;
}

@media (max-width: 1200px) {
  .contact-page__info-col {
    flex: 1;
  }
  .contact-page__form-left {
    flex: 0 0 320px;
  }
  .contact-page__address-left {
    flex: 0 0 320px;
  }
}
@media (max-width: 900px) {
  .post_name-contact .page-introduction h1 {
    font-size: 36px;
    line-height: 48px;
  }
  .contact-page__inner {
    gap: 80px;
  }
  .contact-page__intro-body p {
    font-size: 36px;
    line-height: 48px;
  }
  .contact-page__form-left {
    gap: 40px;
  }
  .contact-page__form-subheading {
    font-size: 36px;
    line-height: 44px;
  }
  .contact-page__space-content {
    padding: 80px 60px;
  }
}
@media (max-width: 768px) {
  .post_name-contact .page-introduction h1 {
    font-size: 28px;
    line-height: 40px;
  }
  .contact-page__content {
    gap: 40px;
  }
  .contact-page__inner {
    gap: 50px;
  }
  .contact-page__intro-body p {
    font-size: 28px;
    line-height: 40px;
  }
  .contact-page__info-columns {
    flex-direction: column;
    gap: 40px;
  }
  .contact-page__info-col {
    flex: none;
    width: 100%;
  }
  .contact-page__form-section {
    flex-direction: column;
  }
  .contact-page__form-left {
    flex: none;
    width: 100%;
  }
  .contact-page__form-subheading {
    max-width: none;
  }
  .contact-form__row--split {
    flex-direction: column;
    gap: 0;
  }
  .contact-page__address-map {
    flex-direction: column-reverse;
    align-items: flex-start;
  }
  .contact-page__address-left {
    flex: none;
    width: 100%;
  }
  .contact-page__map {
    flex: none;
    width: 100%;
  }
  .contact-page__space {
    grid-template-columns: 1fr;
  }
  .contact-page__space-image {
    min-height: 400px;
  }
  .contact-page__space-content {
    padding: 60px 30px;
    justify-content: flex-start;
  }
  .contact-page__space-heading {
    font-size: 36px;
    line-height: 44px;
  }
}
@media (max-width: 480px) {
  .post_name-contact .page-introduction h2 {
    font-size: 24px;
    line-height: 24px;
  }
  .post_name-contact .page-introduction h1 {
    font-size: 24px;
    line-height: 24px;
  }
  .contact-page__intro-body p {
    font-size: 22px;
    line-height: 32px;
  }
  .contact-page__info-col p,
  .contact-page__address-text {
    font-size: 20px;
    line-height: 28px;
  }
  .contact-page__form-subheading {
    font-size: 28px;
    line-height: 38px;
  }
  .contact-page__space-content {
    padding: 40px 20px;
  }
  .contact-page__space-heading {
    font-size: 28px;
    line-height: 38px;
  }
  .contact-page__space-body {
    font-size: 20px;
    line-height: 30px;
  }
}
.post_name-home {
  background: #0081FF;
  color: #c4c4c4;
}
.post_name-home a {
  color: #c4c4c4;
}
.post_name-home .header svg path {
  fill: #fff;
}
.post_name-home .footer {
  background: #240c0c;
  color: #c4c4c4;
}
.post_name-home .footer .footer__social .footer__social--linkedin path {
  fill: #c4c4c4;
}
.post_name-home #mc_embed_signup form {
  background: #240c0c;
}
.post_name-home #mc_embed_signup form .mc-field-group input {
  border-color: #fff;
  color: #c4c4c4;
}
.post_name-home #mc_embed_signup form .content__gdpr label {
  border-color: #fff;
  color: #c4c4c4;
}
.post_name-home #mc_embed_signup form .content__gdpr label span {
  color: #c4c4c4;
}
.post_name-home #mc_embed_signup form .content__gdpr {
  border-color: #fff;
}
.post_name-home #mc_embed_signup form #mc-embedded-subscribe {
  background: #fff;
  color: #240c0c;
}
.post_name-home .home-hero__video {
  border-color: #fff;
}

.page-template-page-how-we-work .page-introduction {
  text-align: center;
}
.page-template-page-how-we-work .page-introduction .breadcrumb-container {
  margin-bottom: 60px;
}
.page-template-page-how-we-work .page-introduction h1, .page-template-page-how-we-work .page-introduction h2, .page-template-page-how-we-work .page-introduction h3, .page-template-page-how-we-work .page-introduction p {
  margin-top: 0;
  margin-bottom: 30px;
}
.page-template-page-how-we-work .page-introduction h1:last-child, .page-template-page-how-we-work .page-introduction h2:last-child, .page-template-page-how-we-work .page-introduction h3:last-child, .page-template-page-how-we-work .page-introduction p:last-child {
  margin-bottom: 0;
}

.how-we-work-intro {
  text-align: center;
  margin: 50px auto 80px auto;
  padding: 0 20px;
}
.how-we-work-intro h1 {
  font-family: "VT323", monospace;
  font-size: 18px;
  line-height: 24px;
  color: #c4c4c4;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  margin: 0 0 20px 0;
  font-weight: normal;
}
.how-we-work-intro h2 {
  font-family: "MinionPro", "Helvetica Neue", Arial, sans-serif, serif;
  font-size: 48px;
  line-height: 75px;
  color: #c4c4c4;
  font-weight: 100;
  max-width: 940px;
  margin: 0 auto;
}

.phase-section {
  display: flex;
  align-items: flex-start;
  padding: 60px 0;
  border-top: 1px solid #c4c4c4;
  gap: 60px;
}
.phase-section:last-child {
  border-bottom: 1px solid #c4c4c4;
  margin-bottom: 70px;
}

.phase-number-container {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  width: 22%;
  flex-shrink: 0;
}

.phase-number {
  font-family: "MinionPro", "Helvetica Neue", Arial, sans-serif, serif;
  font-size: 48px;
  line-height: 1;
  color: #c4c4c4;
  font-weight: 100;
}

.phase-title {
  font-family: "VT323", monospace;
  font-size: 24px;
  font-weight: 400;
  line-height: 32px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #c4c4c4;
  margin-top: 4px;
}

.phase-content {
  width: 70%;
}
.phase-content h3 {
  font-family: "MinionPro", "Helvetica Neue", Arial, sans-serif, serif;
  font-size: 48px;
  line-height: 56px;
  color: #c4c4c4;
  margin: 0 0 60px 0;
  font-weight: 100;
}
.phase-content h3 .phase-content__h3-tagline {
  font-style: italic;
}
.phase-content p {
  font-family: "Libre Franklin", Arial, sans-serif;
  font-size: 24px;
  line-height: 36px;
  color: #c4c4c4;
  margin: 0 0 20px 0;
}
.phase-content p:last-child {
  margin-bottom: 0;
}

@media (max-width: 1024px) {
  .phase-section {
    gap: 40px;
  }
}
@media (max-width: 768px) {
  .how-we-work-intro h1 {
    font-size: 16px;
    line-height: 20px;
  }
  .how-we-work-intro h2 {
    font-size: 32px;
    line-height: 48px;
  }
  .phase-section {
    flex-direction: column;
    gap: 20px;
    padding: 30px 0;
  }
  .phase-number-container {
    width: 100%;
    flex-shrink: unset;
  }
  .phase-content {
    width: 100%;
  }
  .phase-content h3 {
    font-size: 36px;
    line-height: 44px;
    margin-bottom: 40px;
  }
  .phase-content p {
    font-size: 20px;
    line-height: 32px;
  }
}
@media (max-width: 480px) {
  .how-we-work-intro {
    margin: 30px auto 50px auto;
  }
  .how-we-work-intro h1 {
    font-size: 14px;
    margin-bottom: 15px;
  }
  .how-we-work-intro h2 {
    font-size: 24px;
    line-height: 38px;
  }
  .phase-number {
    font-size: 40px;
  }
  .phase-title {
    font-size: 16px;
    letter-spacing: 0.25em;
  }
  .phase-content h3 {
    font-size: 28px;
    line-height: 38px;
    margin-bottom: 30px;
  }
  .phase-content p {
    font-size: 18px;
    line-height: 28px;
  }
}
#services-items .about-page-item__title {
  font-size: 48px;
}
@media (max-width: 1024px) {
  #services-items .about-page-item__title {
    font-size: 40px;
  }
}
@media (max-width: 768px) {
  #services-items .about-page-item__title {
    font-size: 30px;
  }
}

#services-items {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin: 0px;
  padding: 0px;
  list-style-type: none;
  zoom: 1;
}
#services-items:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
#services-items .about-page-item {
  width: calc(50% - 10px);
}
@media (max-width: 464px) {
  #services-items .about-page-item {
    width: 100%;
  }
}

.about-page-item__thumbnail__container {
  position: relative;
}
.about-page-item__thumbnail__container:hover .about-page-item__thumbnail__hover {
  opacity: 1 !important;
  transition: all 0.5s ease-in-out;
}

#services-items .about-page-item__thumbnail {
  transition: all 0.5s ease-in-out;
  width: 100%;
  height: auto;
  z-index: 1;
}

#services-items .about-page-item__thumbnail__hover {
  position: absolute;
  top: 0px;
  left: 0px;
  max-width: 100%;
  width: 100%;
  height: auto;
  opacity: 0 !important;
  transition: all 0.5s ease-in-out;
  z-index: 1;
}

.about-page-item__link.about-animation--selected {
  top: 0px !important;
  left: 0px !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 100 !important;
  transition: top 0.4s cubic-bezier(0.645, 0.045, 0.355, 1) 0.05s, left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0.4s, width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0.4s, height 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0.15s;
}

.about-page-item__link.about-animation--background {
  background: #EAE9E4 !important;
}

.about-page-item__link.about-animation--selected .about-page-item__content {
  background: #d6d6c7 !important;
  position: relative;
  z-index: 20;
}
.about-page-item__link.about-animation--selected .about-page-item__title {
  opacity: 0 !important;
  transition: opacity 0.2s ease-in-out;
}
.about-page-item__link.about-animation--selected .about-page-item__description {
  opacity: 0 !important;
  transition: opacity 0.2s ease-in-out;
}
.about-page-item__link.about-animation--selected img {
  opacity: 0 !important;
  transition: opacity 0.2s ease-in-out;
}

.post_name-studio {
  background: #fc5c5c;
  color: #c4c4c4;
}
.post_name-studio a {
  color: #c4c4c4;
}
.post_name-studio .header svg path {
  fill: #fff;
}
.post_name-studio .footer {
  background: #fc5c5c;
  color: #c4c4c4;
}
.post_name-studio .footer .footer__logo {
  border-color: #c4c4c4;
}
.post_name-studio .footer .footer__logo svg path {
  fill: #c4c4c4;
}
.post_name-studio .footer .footer__subscribe {
  border-color: #c4c4c4;
}
.post_name-studio .footer .footer__business {
  border-color: #c4c4c4;
}
.post_name-studio .footer .footer__social .footer__social--linkedin path {
  fill: #c4c4c4;
}
.post_name-studio #mc_embed_signup form {
  background: #fc5c5c;
}
.post_name-studio #mc_embed_signup form .mc-field-group input {
  border-color: #fff;
  color: #c4c4c4;
}
.post_name-studio #mc_embed_signup form .content__gdpr label {
  border-color: #fff;
  color: #c4c4c4;
}
.post_name-studio #mc_embed_signup form .content__gdpr label span {
  color: #c4c4c4;
}
.post_name-studio #mc_embed_signup form .content__gdpr {
  border-color: #fff;
}
.post_name-studio #mc_embed_signup form #mc-embedded-subscribe {
  background: #fff;
  color: #fc5c5c;
}
.post_name-studio article .section:nth-child(1) {
  padding: 40px 0px 100px 0px;
  border-top: 1px solid #fff;
}
@media (max-width: 700px) {
  .post_name-studio article .section:nth-child(1) {
    padding-bottom: 50px;
  }
}
.post_name-studio article .section:nth-child(2) {
  padding: 40px 0px 20px 0px;
  border-top: 1px solid #fff;
}
.post_name-studio article .section:nth-child(3) {
  padding: 0px 0px 100px 0px;
}
@media (max-width: 700px) {
  .post_name-studio article .section:nth-child(3) {
    padding-bottom: 50px;
  }
}
.post_name-studio article .section:nth-child(4) {
  padding: 40px 0px 100px 0px;
  border-top: 1px solid #fff;
}
@media (max-width: 700px) {
  .post_name-studio article .section:nth-child(4) {
    padding-bottom: 50px;
  }
}
.post_name-studio article .section:nth-child(5) {
  padding: 40px 0px 20px 0px;
  border-top: 1px solid #fff;
}

.podcasts .member .brag__content {
  text-align: left;
  max-width: 90%;
  margin-left: 0;
  margin-bottom: 30px;
}
.podcasts .member .button {
  margin-top: 20px;
  margin-bottom: 40px;
  margin-right: 10px;
  text-decoration: none;
  background: transparent;
  color: #c4c4c4;
  border: 1px solid white;
}
.podcasts .member .button:hover {
  background: white;
  color: #fc5c5c;
}

.project__information {
  padding: 120px 0px 0px 0px;
  min-height: 600px;
  zoom: 1;
}
.project__information:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.project__information p ~ ul {
  margin-top: 30px !important;
  margin-bottom: 40px !important;
}
.project__information h2 {
  font-family: "VT323", monospace;
  font-weight: 100;
  font-size: 13px;
  line-height: 15px;
  text-transform: uppercase;
}
.fontsloaded .project__information h2 {
  font-family: "VT323", monospace;
}
.project__intro {
  display: inline-block;
  float: left;
  width: 70%;
}
@media (max-width: 700px) {
  .project__intro {
    display: block;
    float: none;
    width: 100%;
  }
}
.project__intro__title {
  color: var(--CHDL-Gray, #C4C4C4);
  font-family: "VT323", monospace;
  font-size: 32px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 5.94px;
  text-transform: uppercase;
  margin: 10px 0 50px 0;
  padding: 0;
}
@media (max-width: 768px) {
  .project__intro__title {
    font-size: 40px;
    letter-spacing: 4px;
    margin: 0px auto 40px auto;
  }
}
@media (max-width: 560px) {
  .project__intro__title {
    font-size: 32px;
    margin: 0px auto 30px auto;
  }
}
@media (max-width: 500px) {
  .project__intro__title {
    font-size: 28px;
  }
}
.project__intro__details {
  display: block;
  padding-right: 58px;
}
@media (max-width: 700px) {
  .project__intro__details {
    padding-right: 0px;
  }
}
.project__intro__details a {
  text-decoration: underline;
}
.project__intro__details p {
  margin-top: 15px;
  margin-bottom: 30px;
}
.project__intro__details p,
.project__intro__details h2,
.project__intro__details ul li {
  padding: 0;
  font-size: 42px;
  line-height: 58px;
}
@media (max-width: 1080px) {
  .project__intro__details p,
  .project__intro__details h2,
  .project__intro__details ul li {
    font-size: 38px;
    line-height: 46px;
  }
}
@media (max-width: 900px) {
  .project__intro__details p,
  .project__intro__details h2,
  .project__intro__details ul li {
    font-size: 32px;
    line-height: 40px;
  }
}
@media (max-width: 768px) {
  .project__intro__details p,
  .project__intro__details h2,
  .project__intro__details ul li {
    font-size: 28px;
    line-height: 36px;
  }
}
@media (max-width: 650px) {
  .project__intro__details p,
  .project__intro__details h2,
  .project__intro__details ul li {
    font-size: 24px;
    line-height: 32px;
  }
}
@media (max-width: 560px) {
  .project__intro__details p,
  .project__intro__details h2,
  .project__intro__details ul li {
    font-size: 20px;
    line-height: 28px;
  }
}
@media (max-width: 500px) {
  .project__intro__details p,
  .project__intro__details h2,
  .project__intro__details ul li {
    font-size: 18px;
  }
}
.project__intro__details ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.project__intro__details ul li {
  position: relative;
  padding-left: 56px;
  margin: 0 0 24px 0;
}
.project__intro__details ul li:last-child {
  margin-bottom: 0;
}
.project__intro__details ul li::before {
  content: "—"; /* em dash */
  position: absolute;
  left: 0;
  top: 0;
  padding-right: 10px;
}
@media (max-width: 700px) {
  .project__intro__details ul li {
    padding-left: 48px;
  }
}
.project__intro__details h2 {
  font-family: "VT323", monospace;
  font-weight: normal;
  letter-spacing: 11%;
  margin-top: 60px;
  margin-bottom: 50px;
  font-size: 54px;
  line-height: 63px;
}
@media (max-width: 1080px) {
  .project__intro__details h2 {
    font-size: 48px;
    line-height: 58px;
  }
}
@media (max-width: 900px) {
  .project__intro__details h2 {
    font-size: 40px;
    line-height: 48px;
  }
}
@media (max-width: 768px) {
  .project__intro__details h2 {
    font-size: 36px;
    line-height: 48px;
  }
}
@media (max-width: 650px) {
  .project__intro__details h2 {
    font-size: 30px;
    line-height: 40px;
  }
}
@media (max-width: 560px) {
  .project__intro__details h2 {
    font-size: 26px;
    line-height: 36px;
  }
}
@media (max-width: 500px) {
  .project__intro__details h2 {
    font-size: 24px;
  }
}
.project__services {
  display: inline-block;
  float: right;
  width: 30%;
  text-align: left;
  overflow: hidden;
  border-top: 1px solid rgb(196, 196, 196);
  border-bottom: 1px solid rgb(196, 196, 196);
  padding: 55px 0 40px 0;
  margin: 75px 0 35px 0;
  font-family: "MinionPro", serif;
  font-size: 24pt;
  line-height: 1.4;
  color: #C4C4C4;
}
@media (max-width: 700px) {
  .project__services {
    display: block;
    float: none;
    width: 100%;
    margin-top: 40px;
  }
}
.project__services__title {
  color: var(--CHDL-Gray, #C4C4C4);
  font-family: "VT323", monospace;
  font-size: 25px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 5.04px;
  text-transform: uppercase;
  margin-bottom: 35px;
}
.project__services__items p {
  color: var(--CHDL-Gray, #C4C4C4);
  font-family: "MinionPro", serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 500;
  line-height: 200%;
  margin: 0;
  text-transform: uppercase;
}
.project__services a {
  text-decoration: none;
}
.project__services a:hover {
  transition: opacity 0.3s ease-in-out;
  text-decoration: underline;
  opacity: 0.7;
}
.project__following-launch {
  clear: both;
  width: calc(70% - 58px);
  box-sizing: border-box;
  border-top: 1px solid rgb(196, 196, 196);
  border-bottom: 1px solid rgb(196, 196, 196);
  padding-top: 55px;
  padding-bottom: 55px;
  margin: 30px 0 60px 0;
  color: #C4C4C4;
}
@media (max-width: 700px) {
  .project__following-launch {
    width: 100%;
  }
}
.project__following-launch__title {
  color: var(--CHDL-Gray, #C4C4C4);
  font-family: "VT323", monospace;
  font-size: 25px;
  line-height: normal;
  letter-spacing: 5.04px;
  text-transform: uppercase;
  margin: 0 0 35px 0;
  padding: 0;
}
.project__following-launch__list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.project__following-launch__item {
  position: relative;
  padding-left: 36px;
  margin: 0 0 24px 0;
  font-family: "MinionPro", serif;
  font-size: 24px;
  line-height: 1.4;
  color: #C4C4C4;
}
.project__following-launch__item:last-child {
  margin-bottom: 0;
}
.project__following-launch__item::before {
  content: "—"; /* em dash */
  position: absolute;
  left: 0;
  top: 0;
  color: #C4C4C4;
}
@media (max-width: 700px) {
  .project__following-launch__item {
    font-size: 20px;
    padding-left: 28px;
  }
}
@media (max-width: 500px) {
  .project__following-launch__item {
    font-size: 18px;
  }
}
.project__image {
  margin-bottom: 10px;
  transition: all 0.5s ease-in-out;
}
.project__image__caption {
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-weight: 400;
  font-size: 13px;
  line-height: 22px;
  text-transform: uppercase;
  margin: 100px 0px 2px 0px;
}
.fontsloaded .project__image__caption {
  font-family: "Novecentowide", "Helvetica Neue", Arial, sans-serif;
}
.project__ctas {
  position: relative;
  margin: 10px auto 0px auto;
  padding: 0px 20px;
  max-width: 1420px;
  width: 100%;
  box-sizing: border-box;
  zoom: 1;
}
.project__ctas:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.project__cta {
  display: inline-block;
  float: left;
  width: 50%;
  padding: 0px 2px;
  text-align: center;
}
.project__cta a {
  border: 1px solid #c4c4c4;
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-weight: 700;
  font-size: 13px;
  line-height: 15px;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin: 0px;
  display: block;
  padding: 15px 0px;
}
@media (max-width: 390px) {
  .project__cta a {
    font-size: 12px;
  }
}
@media (max-width: 365px) {
  .project__cta a {
    font-size: 10px;
  }
}
.project__cta a span {
  font-size: 10px;
  clear: both;
  display: block;
  margin-top: 4px;
}
@media (max-width: 365px) {
  .project__cta a span {
    font-size: 8px;
  }
}
.project__cta a:hover {
  background-color: #c4c4c4;
  color: #2D2D2D;
}
.fontsloaded .project__cta a {
  font-family: "Novecentowide", "Helvetica Neue", Arial, sans-serif;
}

.project-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  justify-content: center;
  padding: 20px 0 0;
  margin-top: 20px;
  margin-bottom: 50px;
  opacity: 1;
}
.project-filters__btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 11px 20px;
  margin: 0;
  height: 42px;
  min-width: auto;
  background: #3B1F1F;
  border-radius: 100px;
  border: none;
  font-family: "VT323", "Courier New", monospace;
  font-weight: 400;
  font-size: 20px;
  line-height: 20px;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  text-align: center;
  color: #c4c4c4;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
}
.project-filters__btn:hover {
  background: #4A2828;
  color: #FFFFFF;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
  text-decoration: none;
}
.project-filters__btn-active, .project-filters__btn.mixitup-control-active, .project-filters__btn.active {
  background: #c4c4c4;
  color: #3B1F1F;
  text-decoration: none;
  transform: none;
  box-shadow: none;
}
.project-filters__btn-active:hover, .project-filters__btn.mixitup-control-active:hover, .project-filters__btn.active:hover {
  background: #c4c4c4;
  color: #3B1F1F;
  transform: none;
  box-shadow: none;
}
@media (max-width: 767px) {
  .project-filters {
    flex-wrap: wrap;
    justify-content: center;
    overflow-x: visible;
    padding-bottom: 0;
    gap: 10px 10px;
    margin-bottom: 25px;
  }
  .project-filters__btn {
    flex: 0 0 auto;
    white-space: nowrap;
    margin: 0;
  }
}
@media (max-width: 479px) {
  .project-filters {
    margin-top: 12px;
    padding-top: 12px;
  }
}

#project-items {
  margin: 0 -10px;
  padding: 0px;
  list-style-type: none;
  zoom: 1;
}
#project-items:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

.project-item {
  position: relative;
  display: inline-block;
  float: left;
  overflow: hidden;
  padding: 0px 10px;
  margin-bottom: 20px;
  width: 33.33%;
}
@media (max-width: 820px) {
  .project-item {
    width: 50%;
  }
}
@media (max-width: 464px) {
  .project-item {
    width: 100%;
  }
}
.project-item a {
  position: relative;
  display: block;
  overflow: hidden;
  line-height: 0px;
  zoom: 1;
}
.project-item a:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.project-item a:before {
  content: "";
  position: absolute;
  z-index: 2;
  opacity: 0;
  height: 100%;
  width: 100%;
  top: 0px;
  display: block;
  background: #c4c4c4;
  transform: translateY(-100%);
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.project-item a.project-item--selected {
  top: 0px !important;
  left: 0px !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 100;
  transition: top 0.4s cubic-bezier(0.645, 0.045, 0.355, 1) 0.05s, left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0.4s, width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0.4s, height 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0.15s;
}
@media (max-width: 464px) {
  .project-item a.project-item--selected {
    transition: top 0.4s cubic-bezier(0.645, 0.045, 0.355, 1) 0.35s, left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0.05s, width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0.05s, height 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0.35s;
  }
}
.project-item a.project-item--selected .project-item__blurb {
  background: #c4c4c4;
}
.project-item a.project-item--selected .project-item__blurb__title {
  opacity: 0 !important;
  top: 50%;
  left: 50%;
  transform: translateY(0px);
  transition: transform 0.4s ease-in-out, opacity 0.2s ease-in-out, top 0.2s ease-in-out 0.4s, left 0.2s ease-in-out 0.4s;
}
.project-item a.project-item--selected .project-item__blurb__content {
  opacity: 0 !important;
  transform: translateY(15px);
  transition: all 0.2s ease-in-out;
}
.project-item a.project-item--selected img {
  position: fixed;
  top: 0%;
  left: 0%;
  min-width: 100%;
  width: auto;
  height: auto;
  opacity: 0;
  transition: all 0s ease-in-out;
}
.project-item a.project-item--background {
  background: #c4c4c4;
}
.project-item img {
  display: inline-block;
  opacity: 0;
  transform: translateY(-10px);
}
.project-item img.lazyloaded {
  opacity: 1;
  transform: translateY(0px);
  transition: opacity 0.6s cubic-bezier(0.645, 0.045, 0.355, 1), filter 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0s, transform 0.6s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.project-item__blurb {
  position: absolute;
  top: 0px;
  left: 0px;
  height: 100%;
  width: 100%;
  z-index: 2;
  text-align: left;
  background: rgba(196, 196, 196, 0);
  transition: all 0s ease-in-out;
}
.project-item__blurb__title {
  opacity: 0;
  color: #2D2D2D;
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-weight: 700;
  font-size: 12px;
  line-height: 15px;
  letter-spacing: 1px;
  text-transform: uppercase;
  margin: 15px 0px 25px 15px;
  transform: translateY(-20px);
  transition: all 0.4s ease-in-out;
}
@media (max-width: 620px) {
  .project-item__blurb__title {
    margin-bottom: 15px;
  }
}
@media (max-width: 550px) {
  .project-item__blurb__title {
    margin-bottom: 8px;
    margin-top: 8px;
  }
}
@media (max-width: 464px) {
  .project-item__blurb__title {
    margin-bottom: 25px;
    margin-top: 15px;
  }
}
.fontsloaded .project-item__blurb__title {
  font-family: "Novecentowide", "Helvetica Neue", Arial, sans-serif;
}
.project-item__blurb__content {
  opacity: 0;
  display: block;
  color: #2D2D2D;
  margin: 0px 0px 0px 15px;
  max-width: 70%;
  transform: translateY(-20px);
  transition: all 0.3s ease-in-out;
}
@media (max-width: 1120px) {
  .project-item__blurb__content {
    max-width: 85%;
  }
}
@media (max-width: 800px) {
  .project-item__blurb__content {
    max-width: 100%;
    padding-right: 15px;
  }
}
@media (max-width: 620px) {
  .project-item__blurb__content {
    max-width: 100%;
  }
}
@media (max-width: 464px) {
  .project-item__blurb__content {
    max-width: 80%;
  }
}
.project-item__blurb__content, .project-item__blurb__content * {
  font-weight: 400;
  font-size: 24px;
  line-height: 26px;
  padding-right: 0px;
}
@media (max-width: 1120px) {
  .project-item__blurb__content, .project-item__blurb__content * {
    font-size: 20px;
    line-height: 24px;
  }
}
@media (max-width: 900px) {
  .project-item__blurb__content, .project-item__blurb__content * {
    font-size: 18px;
    line-height: 20px;
  }
}
@media (max-width: 820px) {
  .project-item__blurb__content, .project-item__blurb__content * {
    font-size: 24px;
    line-height: 27px;
  }
}
@media (max-width: 720px) {
  .project-item__blurb__content, .project-item__blurb__content * {
    font-size: 22px;
    line-height: 24px;
  }
}
@media (max-width: 620px) {
  .project-item__blurb__content, .project-item__blurb__content * {
    font-size: 18px;
    line-height: 20px;
  }
}
@media (max-width: 550px) {
  .project-item__blurb__content, .project-item__blurb__content * {
    font-size: 16px;
    line-height: 18px;
  }
}
@media (max-width: 464px) {
  .project-item__blurb__content, .project-item__blurb__content * {
    font-size: 24px;
    line-height: 26px;
  }
}
@media (max-width: 384px) {
  .project-item__blurb__content, .project-item__blurb__content * {
    font-size: 24px;
    line-height: 25px;
  }
}
@media (max-width: 370px) {
  .project-item__blurb__content, .project-item__blurb__content * {
    font-size: 22px;
    line-height: 24px;
  }
}
@media (max-width: 345px) {
  .project-item__blurb__content, .project-item__blurb__content * {
    font-size: 18px;
    line-height: 20px;
  }
}
.project-item:hover a:before {
  opacity: 1;
  transform: translateY(0px);
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.project-item:hover .project-item__blurb {
  background: #c4c4c4;
  transition: background 0s ease-in-out 0.4s;
}
.project-item:hover .project-item__blurb__title {
  opacity: 1;
  transform: translateY(0px);
  transition: all 0.3s ease-in-out 0.1s;
}
.project-item:hover .project-item__blurb__content {
  opacity: 1;
  transform: translateY(0px);
  transition: all 0.3s ease-in-out 0.1s;
}
.project-item:hover img {
  transition: all 0.4s ease-in-out;
}

.relative-content {
  position: relative;
  z-index: 5;
  background-color: #2D2D2D;
}
.home .relative-content {
  box-shadow: 0px -12px 16px -6px rgba(0, 0, 0, 0.3);
}
.relative-content__more {
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 1px;
  text-align: center;
  margin: 0px auto;
  display: block;
  width: 100%;
}
@media (max-width: 670px) {
  .relative-content__more {
    display: none;
  }
}
.relative-content__more:after {
  content: "";
  background-repeat: no-repeat;
  display: block;
  background-image: url("../../images/sprites/common-1x-s615f0f521c.png");
  background-position: 0 -56px;
  height: 5px;
  width: 8px;
}
@media (-webkit-min-device-pixel-ratio: 2), (-o-min-device-pixel-ratio: 3/2), (min-device-pixel-ratio: 2) {
  .relative-content__more:after {
    background-image: url("../../images/sprites/common-2x-s1b692b96af.png");
    background-size: 381px 210px;
  }
}
.relative-content__more:after {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: 60px;
  transform: translateY(-50%);
}
.relative-content__more:hover {
  background-color: transparent;
  color: #c4c4c4;
}
.fontsloaded .relative-content__more {
  font-family: "Novecentowide", "Helvetica Neue", Arial, sans-serif;
}

.section {
  padding: 20px 0px;
  zoom: 1;
}
.section:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.section--standard {
  padding: 20px 2px;
}
.section__introduction {
  width: 33.33%;
  float: left;
  display: inline-block;
  padding: 0px 2px;
}
@media (max-width: 1000px) {
  .section__introduction {
    width: 100%;
    display: block;
    float: none;
    margin-bottom: 40px;
  }
}
.section__content {
  width: 33.33%;
  float: left;
  display: inline-block;
  padding: 0px 2px;
}
@media (max-width: 1000px) {
  .section__content {
    width: 50%;
  }
}
@media (max-width: 650px) {
  .section__content {
    width: 100%;
    display: block;
    float: none;
  }
}
.section .section-column--half {
  width: 50%;
  float: left;
  display: inline-block;
}
@media (max-width: 900px) {
  .section .section-column--half {
    width: 100%;
    display: block;
    float: none;
  }
}

.section-introduction--secondary .section-introduction__heading {
  width: 900px;
  max-width: 100%;
}

.post_name-studio article .section:nth-child(3) .section-introduction--secondary .section-introduction__heading {
  width: 760px;
}

.partial_client_list {
  text-align: center;
  padding: 80px 0px 50px 0px;
}
.partial_client_list__title {
  font-weight: 700;
  font-size: 18px;
  line-height: 24px;
  letter-spacing: 3.6px;
  text-transform: uppercase;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 30px;
  padding: 0;
}
.fontsloaded .partial_client_list__title {
  font-family: "Novecentowide", "Helvetica Neue", Arial, sans-serif;
}
.partial_client_list__content {
  font-size: 24px;
  line-height: 40px;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
}

.reach {
  border-bottom: 1px solid #fff;
  text-align: center;
  padding: 0px 0px 70px 0px;
}
.reach__title {
  font-weight: 700;
  font-size: 18px;
  line-height: 24px;
  letter-spacing: 3.6px;
  text-transform: uppercase;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 30px;
  padding: 0;
}
.fontsloaded .reach__title {
  font-family: "Novecentowide", "Helvetica Neue", Arial, sans-serif;
}
.reach__content {
  font-size: 18px;
  line-height: 30px;
  letter-spacing: 3.6px;
  text-transform: uppercase;
  max-width: 750px;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
}
.fontsloaded .reach__content {
  font-family: "Novecentowide", "Helvetica Neue", Arial, sans-serif;
}

.brag {
  text-align: center;
  padding: 50px 0px 0px 0px;
}
.brag__content {
  font-size: 24px;
  line-height: 40px;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  padding: 0;
}

.section-introduction {
  text-align: center;
  margin: 0 auto;
  padding: 0;
}
.section-introduction--secondary {
  margin-top: 60px;
}
.section-introduction__tagline {
  font-weight: 700;
  font-size: 24px;
  line-height: 24px;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  margin: 0 auto 50px;
  padding: 0;
}
.fontsloaded .section-introduction__tagline {
  font-family: "Novecentowide", "Helvetica Neue", Arial, sans-serif;
}
@media (max-width: 767px) {
  .section-introduction__tagline {
    font-size: 20px;
    line-height: 26px;
    margin-bottom: 40px;
  }
}
@media (max-width: 479px) {
  .section-introduction__tagline {
    font-size: 16px;
    margin-bottom: 30px;
  }
}
.section-introduction__heading {
  width: 900px;
  max-width: 100%;
  margin: 50px auto 0;
  font-size: 48px;
  line-height: 60px;
  padding: 0 10px;
  box-sizing: border-box;
}
.post_name-home .section-introduction__heading {
  width: 900px;
}
@media (max-width: 767px) {
  .section-introduction__heading {
    margin-top: 40px;
    margin-left: 0;
    margin-right: 0;
  }
}
@media (max-width: 479px) {
  .section-introduction__heading {
    margin-top: 30px;
    font-size: 30px;
    line-height: 40px;
  }
  .section-introduction__heading br {
    display: none;
  }
}
@media (max-width: 767px) {
  .section-introduction {
    text-align: left;
    margin: 50px auto 0;
  }
  .section-introduction--secondary {
    margin-top: 10px;
  }
}

.social {
  padding: 0;
  margin: 0;
  display: inline-block;
}
.social li {
  display: inline-block;
}
.social__item {
  display: block;
  font-size: 1px;
  font-size: 0px;
  margin: 0px 10px 0px 0px;
  color: #c4c4c4;
  background: transparent;
  position: relative;
}
.social__item:hover, .social__item:focus {
  color: #f7f7f7;
}
.social__item:after {
  font-family: "FontAwesome";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 16px;
  color: #c4c4c4;
}
.social__item--facebook:after {
  content: "\f09a";
}
.social__item--twitter:after {
  content: "\f099";
}
.social__item--google_plus:after {
  content: "\f0d5";
}
.social__item--linkedin:after {
  content: "\f0e1";
}
.social__item--pinterest:after {
  content: "\f0d2";
}
.social__item--flickr:after {
  content: "\f16e";
}
.social__item--instagram:after {
  content: "\f16d";
}
.social__item--youtube:after {
  content: "\f167";
}
.social__item--vimeo:after {
  content: "\f194";
}
.social--square .social__item--facebook:after {
  content: "\f082";
}
.social--square .social__item--twitter:after {
  content: "\f081";
}
.social--square .social__item--google_plus:after {
  content: "\f0d4";
}
.social--square .social__item--linkedin:after {
  content: "\f08c";
}
.social--square .social__item--pinterest:after {
  content: "\f0d3";
}
.social--square .social__item--flickr:after {
  content: "\f16e";
}
.social--square .social__item--instagram:after {
  content: "\f16d";
}
.social--square .social__item--youtube:after {
  content: "\f166";
}
.social--square .social__item--vimeo:after {
  content: "\f194";
}

.testimonial {
  width: 33.33%;
  float: left;
  display: inline-block;
  margin-bottom: 50px;
  padding: 0px 2px;
}
.testimonial:nth-child(3n+1) {
  clear: left;
}
@media (max-width: 1000px) {
  .testimonial {
    width: 50%;
  }
  .testimonial:nth-child(3n+1) {
    clear: none;
  }
  .testimonial:nth-child(2n+1) {
    clear: left;
  }
}
@media (max-width: 650px) {
  .testimonial {
    width: 100%;
    display: block;
    float: none;
  }
}
.testimonial i * {
  font-size: 16px;
  line-height: 22px;
  margin-top: 5px;
  max-width: 370px;
}

html.touch .header__nav {
  position: fixed;
  bottom: 0px;
  left: 0px;
  display: block;
  width: 100%;
}
html.touch .header__nav .primary-nav__item {
  margin: 0px;
  width: 33.33%;
  text-align: center;
}
html.touch .header__nav .primary-nav__item a {
  padding: 25px 0px;
  display: block;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
  border-left: 1px solid #fff;
  color: #c4c4c4 !important;
  background: #2D2D2D;
  font-size: 14px;
  line-height: 14px;
  letter-spacing: 1.5px;
}
@media (max-width: 440px) {
  html.touch .header__nav .primary-nav__item a {
    font-size: 13px;
    line-height: 13px;
  }
}
html.touch .header__nav .primary-nav__item a:hover, html.touch .header__nav .primary-nav__item a:active {
  background: #c4c4c4;
  color: #2D2D2D !important;
}
html.touch .header__nav .primary-nav__item:first-child a {
  border-left: 0px solid #fff;
}
html.touch .header {
  position: relative;
  top: auto;
  left: auto;
  width: auto;
  padding: 0px;
  transform: none;
}

@media (max-width: 700px) {
  html .header__nav {
    position: fixed;
    bottom: 0px;
    left: 0px;
    display: block;
    width: 100%;
    background: #2D2D2D;
  }
  html .header__nav .primary-nav__item {
    margin: 0px;
    width: 33.33%;
    text-align: center;
  }
  html .header__nav .primary-nav__item a {
    padding: 25px 0px;
    display: block;
    border-top: 1px solid #c4c4c4;
    border-bottom: 1px solid #c4c4c4;
    border-left: 1px solid #c4c4c4;
    color: #c4c4c4 !important;
    font-size: 14px;
    line-height: 14px;
    letter-spacing: 1.5px;
  }
  html .header__nav .primary-nav__item a:hover, html .header__nav .primary-nav__item a:active {
    background: #c4c4c4;
    color: #2D2D2D !important;
  }
  html .header__nav .primary-nav__item:first-child a {
    border-left: 0px solid #c4c4c4;
  }
}
.post_name-home .header__nav {
  background: #0081FF;
}

.post_name-about .header__nav,
.post_name-studio .header__nav {
  background: #EA5960;
}

.post_name-contact .header__nav {
  background: #32053E;
}

@media (max-width: 440px) {
  html .header__nav .primary-nav__item a {
    font-size: 12px;
    line-height: 12px;
    letter-spacing: 1.5px;
  }
}
@media (max-width: 420px) {
  html .header__nav .primary-nav__item a {
    letter-spacing: 0px;
  }
}
.vfbp-form {
  background-color: transparent;
  zoom: 1;
}
.vfbp-form:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.vfbp-form * {
  text-align: left;
  padding: 0px;
}
.vfbp-form .vfb-form-group {
  margin-bottom: 7px;
}
.vfbp-form .vfb-fieldType-instructions {
  max-width: 350px;
}
.vfbp-form .vfb-control-label {
  display: none;
}
.vfbp-form .vfb-help-block {
  margin: 0px;
}
.vfbp-form .vfb-form-control {
  font-size: 20px;
  line-height: 24px;
  padding: 8px 12px 6px 12px;
  height: 46px;
  background: transparent;
  border: none;
  outline: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  border-radius: 0px;
  border: 1px solid #c4c4c4;
  color: #c4c4c4;
  width: 90%;
  margin: 0px;
}
@media (max-width: 750px) {
  .vfbp-form .vfb-form-control {
    width: 100%;
  }
}
.vfbp-form .vfb-fieldType-submit .btn {
  margin-top: 10px;
  color: #2D2D2D;
  border: 0px solid #c4c4c4;
  text-align: center;
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-weight: 700;
  font-size: 12px;
  line-height: 15px;
  letter-spacing: 1px;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 0px;
  min-width: 150px;
  padding: 14px 10px 16px 10px;
  background-color: #c4c4c4;
  position: relative;
  display: inline-block;
  box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0);
  transition: all 0.3s ease-in-out;
}
.vfbp-form .vfb-fieldType-submit .btn:hover {
  background-color: #c4c4c4;
  color: #2D2D2D;
  text-decoration: none;
  transition: all 0.3s ease-in-out;
}
.fontsloaded .vfbp-form .vfb-fieldType-submit .btn {
  font-family: "Novecentowide", "Helvetica Neue", Arial, sans-serif;
}
.vfbp-form .parsley-required {
  display: none;
}
.vfbp-form .vfb-has-error .vfb-form-control {
  border-color: #ff00ff;
  background-color: transparent;
}
.vfbp-form .vfb-has-error .vfb-form-control:focus {
  border-color: #ff00ff;
}
.vfbp-form .vfb-has-error .vfb-form-control:focus {
  box-shadow: none;
}
.vfbp-form .vfb-has-success .vfb-form-control {
  border: 1px solid #c4c4c4;
}

#mc_embed_signup .mailchimp-label,
#mc_embed_signup #mc-embedded-subscribe {
  opacity: 0;
  width: 0px;
  height: 0px;
  float: left;
  overflow: hidden;
  min-width: 0px;
  border: 1px solid black;
  background: black;
}
#mc_embed_signup .email {
  background: transparent;
  border: none;
  outline: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  border-bottom: 1px solid #c4c4c4;
  color: #c4c4c4;
  width: 100%;
  max-width: 300px;
  margin-top: 10px;
}

.header {
  padding: 30px 0px 30px 0px;
  text-align: center;
  position: fixed;
  top: 0px;
  left: 50%;
  width: 100%;
  z-index: 100;
  margin: 0px auto;
  zoom: 1;
}
.header:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.header {
  transform: translateX(-50%);
  transition: all 0.3s ease-in-out;
}
@media (max-width: 700px) {
  .header {
    padding: 20px 20px 0px 20px;
    pointer-events: none;
  }
}
@media (max-width: 740px) and (max-height: 420px) {
  .header {
    padding: 20px 20px 0px 20px;
  }
}
.header__logo {
  display: inline-block;
  vertical-align: top;
  text-align: center;
}
@media (max-width: 700px) {
  .header__logo {
    display: block;
  }
}
.header__logo__svg {
  pointer-events: visible;
  display: block;
  transition: all 0.3s cubic-bezier(0.65, 0, 0.35, 1);
  padding-top: 100px;
}
.header__logo__svg svg {
  height: 100px;
  width: auto;
  transition: all 0.3s cubic-bezier(0.65, 0, 0.35, 1);
}
@media (max-width: 920px) {
  .header__logo__svg {
    padding-top: 15px;
  }
  .header__logo__svg svg {
    height: 60px;
  }
}
.header__logo * {
  margin: 0px;
}
.header__logo h1 {
  font-family: "MinionPro", "Helvetica Neue", Arial, sans-serif;
  font-size: 18px;
  line-height: 22px;
  font-weight: 500;
  margin: 0 auto 50px auto;
  max-width: 450px;
  max-height: 80px;
  overflow: hidden;
  opacity: 1;
  transition: all 0.3s ease-in-out;
}
.header--shrink .header__logo h1 {
  opacity: 0;
  max-height: 0px;
  transition: all 0.3s ease-in-out;
}
@media (max-width: 920px) {
  .header__logo h1 {
    margin: 0 auto 20px auto;
  }
}
@media (max-width: 870px) {
  .header__logo h1 {
    font-size: 16px;
    line-height: 20px;
  }
}
@media (max-width: 830px) {
  .header__logo h1 {
    max-width: 300px;
  }
  .header__logo h1 br {
    display: none;
  }
}
@media (max-width: 700px) {
  .header__logo h1 {
    width: 450px;
    max-width: 100%;
  }
}
.header__tagline {
  display: block;
  max-width: 450px;
  margin: 0 auto 15px auto;
  opacity: 1;
  max-height: 70px;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.65, 0, 0.35, 1);
}
.header__tagline svg {
  display: block;
  width: 248px;
  height: 67.355px;
  margin: 0 auto;
}
.header--shrink .header__tagline {
  opacity: 0;
  max-height: 0;
  margin-bottom: 0;
  transition: all 0.3s cubic-bezier(0.65, 0, 0.35, 1);
}
@media (max-width: 768px) {
  .header__tagline {
    max-height: 57px;
  }
  .header__tagline svg {
    width: 200px;
    height: 55px;
  }
}
@media (max-width: 479px) {
  .header__tagline {
    max-height: 46px;
  }
  .header__tagline svg {
    width: 160px;
    height: 44px;
  }
}
@media (max-width: 425px) {
  .header__tagline {
    margin: 0 auto 5px auto;
  }
}
.header__logo--inner-page {
  margin-top: 5px;
}
.header__logo--inner-page .header__logo__svg {
  padding-top: 0;
  transition: all 0.3s cubic-bezier(0.65, 0, 0.35, 1);
}
.header__logo--inner-page .header__logo__svg svg {
  height: 68px;
  transition: all 0.3s cubic-bezier(0.65, 0, 0.35, 1);
}
.header--shrink .header__logo--inner-page .header__logo__svg {
  padding-top: 0px;
}
.header--shrink .header__logo--inner-page .header__logo__svg svg {
  height: 46px;
}
@media (max-width: 920px) {
  .header__logo--inner-page .header__logo__svg {
    padding-top: 0;
  }
  .header__logo--inner-page .header__logo__svg svg {
    height: 50px;
    width: auto;
  }
}
@media (max-width: 479px) {
  .header__logo--inner-page .header__logo__svg svg {
    height: 40px;
  }
  .header--shrink .header__logo--inner-page .header__logo__svg svg {
    height: 32px;
  }
}
@media (max-width: 425px) {
  .header__logo--inner-page {
    margin-top: 7px;
  }
  .header--shrink .header__logo--inner-page .header__logo__svg {
    padding-top: 7px;
  }
}
.header__nav {
  display: none;
  pointer-events: visible;
}
.header__custom-nav {
  font-size: 36px;
  line-height: 36px;
  letter-spacing: 2.4px;
  text-transform: uppercase;
  color: #c4c4c4;
  font-weight: lighter;
  font-family: "VT323", monospace;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}
.fontsloaded .header__custom-nav {
  opacity: 1;
}
.header__custom-nav:hover {
  text-decoration: underline;
}
.header__custom-nav--work {
  position: absolute;
  left: 20px;
  top: 10px;
  display: inline-block;
}
.header__custom-nav--menu {
  position: absolute;
  right: 17px;
  top: 10px;
  display: inline-block;
}
@media (max-width: 700px) {
  .header__custom-nav {
    display: none;
  }
}
.header + * {
  padding-top: 50px;
}
@media (max-width: 700px) {
  .header + * {
    padding-top: 0px;
  }
}
.header--shrink {
  padding: 10px 0px 10px 0px;
  transition: all 0.3s cubic-bezier(0.65, 0, 0.35, 1);
}
.header--shrink .header__logo h1 {
  margin-bottom: 0;
  transition: all 0.3s cubic-bezier(0.65, 0, 0.35, 1);
}
.header--shrink .header__logo svg {
  height: 67px;
  transition: all 0.3s cubic-bezier(0.65, 0, 0.35, 1);
}

body .header {
  transition: all 0.3s cubic-bezier(0.65, 0, 0.35, 1);
}

.primary-nav__items {
  list-style-type: none;
  padding: 0px;
  margin: 0px;
}
.primary-nav__item {
  float: left;
  display: inline-block;
  margin-left: 40px;
}
.post-type-archive-project .primary-nav__item--work a {
  font-weight: 700;
}
.primary-nav__item.is-active a {
  font-weight: 700;
}
.primary-nav__item a {
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-weight: 400;
  font-size: 15px;
  line-height: 18px;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin: 0px;
}
.fontsloaded .primary-nav__item a {
  font-family: "Novecentowide", "Helvetica Neue", Arial, sans-serif;
}

body.mobile-on,
html.mobile-on {
  overflow: hidden !important;
  position: fixed;
  height: 100%;
  width: 100%;
}

body.mobile-on .mobile-button {
  position: fixed;
  top: 0px;
  right: 0px;
}

body.mobile-on #wpadminbar {
  opacity: 0;
  pointer-events: none;
}

.mobile-button {
  display: none;
  z-index: 250;
  position: relative;
  float: left;
  margin: 0;
  padding: 0;
  min-width: 0px;
  width: 25%;
  height: 80px;
  font-size: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-shadow: none;
  border: none;
  cursor: pointer;
  background: transparent;
  border-radius: 0px;
  transition: all 0.3s ease-in-out;
}
.mobile-button__name {
  display: block;
  font-size: 8.5px;
  color: #2D2D2D;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: 15px;
  margin-left: 3px;
  transform: translate(-50%, -50%);
}
.mobile-button__name:after {
  content: "Close";
  color: #2D2D2D;
  font-weight: 700;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-size: 0px;
}
@media (max-width: 640px) {
  .mobile-button {
    display: block;
  }
}
.mobile-button:hover {
  background-color: transparent;
  color: #c4c4c4;
  border: 0px solid transparent;
}
.mobile-button:focus {
  outline: 0;
}
.mobile-button span {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -6px;
  background: #2D2D2D;
  width: 25px;
  height: 3px;
  transform: translate(-50%, -50%);
  transition: all 0.3s ease-in-out;
}
.mobile-button span:before, .mobile-button span:after {
  position: absolute;
  display: block;
  left: 0;
  width: 25px;
  height: 3px;
  background-color: #2D2D2D;
  content: "";
  transition: all 0.3s ease-in-out;
}
.mobile-button span:before {
  top: -8px;
}
.mobile-button span:after {
  top: 8px;
}
.mobile-button--close span {
  transition: background 0s 0.3s;
}
.mobile-button--close span:before {
  transition-duration: 0.3s, 0.3s;
  transition-delay: 0.3s, 0s;
  transition-property: top, transform;
}
.mobile-button--close span:after {
  transition-property: top, transform;
  transition-duration: 0.3s, 0.3s;
  transition-delay: 0.3s, 0s;
}
.mobile-button--close.is-active span {
  background: transparent;
}
.mobile-button--close.is-active span:before {
  top: 0px;
  background-color: #2D2D2D;
  transform: rotate(45deg);
  transition-delay: 0s, 0.3s;
  width: 28px;
}
.mobile-button--close.is-active span:after {
  top: 0px;
  background-color: #2D2D2D;
  transform: rotate(-45deg);
  transition-delay: 0s, 0.3s;
  width: 28px;
}
.mobile-button--close.is-active .mobile-button__name {
  font-size: 0px;
}
.mobile-button--close.is-active .mobile-button__name:after {
  font-size: 8.5px;
  margin-left: -5px;
}

.mobile-menu {
  position: fixed;
  z-index: 249;
  top: 0px;
  right: -110%;
  width: 100%;
  height: 100%;
  opacity: 0;
  background: #2D2D2D;
  transition: opacity 0.5s ease-in-out, right 0s ease-in-out 0.5s;
  box-sizing: border-box;
}
.mobile-menu--active {
  right: 0px;
  opacity: 1;
  transition: opacity 0.5s ease-in-out;
}
.mobile-menu-overlay {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0px;
  left: -100%;
  z-index: 248;
  opacity: 0;
  background: rgba(0, 0, 0, 0.8);
  cursor: pointer;
  transition: opacity 0.25s ease-in-out, left 0.5s ease-in-out 0.25s;
}
.mobile-menu-overlay--active {
  left: 0px;
  opacity: 1;
  transition: opacity 0.5s ease-in-out;
}

.mobile-nav {
  overflow-y: scroll;
}
.mobile-nav__items {
  margin: 0px;
  padding: 0px;
  list-style-type: none;
}
.mobile-nav__item a {
  color: #2D2D2D;
  display: block;
  width: 100%;
  border-bottom: 1px solid #c4c4c4;
  text-align: left;
  text-decoration: none;
  text-transform: none;
  padding: 30px 20px 30px 20px;
  margin: 0px auto;
  font-weight: 600;
  font-size: 14px;
  line-height: 20px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.mobile-nav__item:first-child {
  border-top: 0px solid #c4c4c4;
}

.mobile-search {
  margin-top: 80px;
  border-top: 1px solid #c4c4c4;
}
.mobile-search .cool-search__form {
  padding: 18px 20px 18px 20px;
}
.mobile-search .cool-search__form:after {
  content: "\f002";
  font-family: "FontAwesome";
  color: #2D2D2D;
  right: 25px;
  left: auto;
  top: 49%;
  bottom: auto;
  font-size: 18px;
  transform: translate(-50%, -50%);
}
.mobile-search .cool-search input {
  width: 100%;
}
.mobile-search .cool-search__results-list {
  background: #2D2D2D;
  position: fixed;
  height: 100%;
  width: 100%;
  padding-bottom: 200px;
  padding-left: 20px;
  padding-right: 20px;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}
.mobile-search .cool-search__list-item {
  padding: 0px 0px;
}

/**
 * Owl Carousel v2.2.0
 * Copyright 2013-2016 David Deutsch
 * Licensed under MIT (https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE)
 */
.owl-carousel, .owl-carousel .owl-item {
  -webkit-tap-highlight-color: transparent;
  position: relative;
}

.owl-carousel {
  display: none;
  width: 100%;
  z-index: 1;
}

.owl-carousel .owl-stage {
  position: relative;
  -ms-touch-action: pan-Y;
}

.owl-carousel .owl-stage:after {
  content: ".";
  display: block;
  clear: both;
  visibility: hidden;
  line-height: 0;
  height: 0;
}

.owl-carousel .owl-stage-outer {
  position: relative;
  overflow: hidden;
  -webkit-transform: translate3d(0, 0, 0);
}

.owl-carousel .owl-item {
  min-height: 1px;
  float: left;
  -webkit-backface-visibility: hidden;
  -webkit-touch-callout: none;
}

.owl-carousel .owl-item img {
  display: block;
  width: 100%;
  -webkit-transform-style: preserve-3d;
}

.owl-carousel .owl-dots.disabled, .owl-carousel .owl-nav.disabled {
  display: none;
}

.no-js .owl-carousel, .owl-carousel.owl-loaded {
  display: block;
}

.owl-carousel .owl-dot, .owl-carousel .owl-nav .owl-next, .owl-carousel .owl-nav .owl-prev {
  cursor: pointer;
  cursor: hand;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.owl-carousel.owl-loading {
  opacity: 0;
  display: block;
}

.owl-carousel.owl-hidden {
  opacity: 0;
}

.owl-carousel.owl-refresh .owl-item {
  visibility: hidden;
}

.owl-carousel.owl-drag .owl-item {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.owl-carousel.owl-grab {
  cursor: move;
  cursor: grab;
}

.owl-carousel.owl-rtl {
  direction: rtl;
}

.owl-carousel.owl-rtl .owl-item {
  float: right;
}

.owl-carousel .animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.owl-carousel .owl-animated-in {
  z-index: 0;
}

.owl-carousel .owl-animated-out {
  z-index: 1;
}

.owl-carousel .fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut;
}

@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.owl-height {
  transition: height 0.5s ease-in-out;
}

.owl-carousel .owl-item .owl-lazy {
  opacity: 0;
  transition: opacity 0.4s ease;
}

.owl-carousel .owl-item img.owl-lazy {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.owl-carousel .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #000;
}

.owl-carousel .owl-video-play-icon {
  position: absolute;
  height: 80px;
  width: 80px;
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
  background: url(owl.video.play.png) no-repeat;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  transition: -webkit-transform 0.1s ease;
  transition: transform 0.1s ease;
}

.owl-carousel .owl-video-play-icon:hover {
  -webkit-transform: scale(1.3, 1.3);
  -ms-transform: scale(1.3, 1.3);
  transform: scale(1.3, 1.3);
}

.owl-carousel .owl-video-playing .owl-video-play-icon, .owl-carousel .owl-video-playing .owl-video-tn {
  display: none;
}

.owl-carousel .owl-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: opacity 0.4s ease;
}

.owl-carousel .owl-video-frame {
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%;
}

.owl-theme .owl-dots, .owl-theme .owl-nav {
  text-align: center;
  -webkit-tap-highlight-color: transparent;
}

.owl-theme .owl-nav {
  margin-top: 10px;
}

.owl-theme .owl-nav [class*=owl-] {
  color: #FFF;
  font-size: 14px;
  margin: 5px;
  padding: 4px 7px;
  background: #D6D6D6;
  display: inline-block;
  cursor: pointer;
  border-radius: 3px;
}

.owl-theme .owl-nav [class*=owl-]:hover {
  background: #869791;
  color: #FFF;
  text-decoration: none;
}

.owl-theme .owl-nav .disabled {
  opacity: 0.5;
  cursor: default;
}

.owl-theme .owl-nav.disabled + .owl-dots {
  margin-top: 10px;
}

.owl-theme .owl-dots .owl-dot {
  display: inline-block;
  zoom: 1;
}

.owl-theme .owl-dots .owl-dot span {
  width: 10px;
  height: 10px;
  margin: 5px 7px;
  background: #D6D6D6;
  display: block;
  -webkit-backface-visibility: visible;
  transition: opacity 0.2s ease;
  border-radius: 30px;
}

.owl-theme .owl-dots .owl-dot.active span, .owl-theme .owl-dots .owl-dot:hover span {
  background: #869791;
}

.footer-cta {
  background-color: #240C0C;
  border: 1px solid #C4C4C4;
  padding: 40px 0;
  margin-bottom: 0;
  max-width: 100%;
  margin: 60px auto;
}
.footer-cta__content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 45px;
}
.footer-cta__text {
  color: #C4C4C4;
  font-family: "MinionPro", serif;
  font-size: 30px;
  font-weight: 400;
  margin: 0;
  line-height: 1.4;
}
.footer-cta__button {
  color: #c4c4c4;
  border: 1px solid #c4c4c4;
  padding: 10px 20px;
  text-decoration: none;
  font-family: "VT323", monospace;
  font-size: 20px;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 2px;
  text-transform: uppercase;
  transition: all 0.3s ease;
}
.footer-cta__button:hover {
  background-color: #c4c4c4;
  color: #3D2B2A;
}

.footer {
  background-color: #3D2B2A;
  color: #c4c4c4;
  padding-bottom: 60px;
  font-family: "Libre Franklin", sans-serif;
}
.footer .l-container {
  max-width: 1420px;
  margin: 0 auto;
}
.footer__main {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr auto;
  grid-template-rows: auto auto auto;
  gap: 10px 60px;
  align-items: start;
  border-top: 1px solid #c4c4c4;
  padding-top: 30px;
}
.footer__acknowledgment {
  grid-column: 2/-1;
  padding: 30px 0 0 0;
  margin: 0;
}
.footer__acknowledgment p {
  color: #C4C4C4;
  font-family: "Georgia", serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 130%;
  margin: 0;
}
.footer__acknowledgment a {
  color: #c4c4c4;
  text-decoration: underline;
  transition: opacity 0.3s ease;
}
.footer__acknowledgment a:hover {
  opacity: 0.7;
}
.footer__logo-section {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.footer__logo svg {
  width: 163px;
  height: 31px;
}
.footer__tagline {
  margin: 0;
}
.footer__tagline p {
  color: #c4c4c4;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.2;
  margin: 0;
  letter-spacing: 0.5px;
}
.footer__tagline sup {
  font-size: 10px;
  vertical-align: super;
}
.footer__section-title {
  font-family: "VT323" !important;
  font-weight: lighter;
  color: #c4c4c4;
  font-size: 16px !important;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin: 0 0 20px 0 !important;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
}
.footer__subscribe p {
  margin: 0 0 8px 0;
  font-size: 14px;
  line-height: 1.4;
}
.footer__subscribe a {
  color: #c4c4c4;
  text-decoration: none;
  transition: opacity 0.3s ease;
  line-height: 130%;
  font-size: 18px;
  font-family: "MinionPro";
}
.footer__subscribe a:hover {
  opacity: 0.7;
}
.footer__subscribe p:first-of-type {
  cursor: pointer;
  transition: opacity 0.3s ease;
}
.footer__subscribe p:first-of-type:hover {
  opacity: 0.7;
}
.footer__business p {
  margin: 0 0 8px 0;
  font-size: 18px;
  line-height: 130%;
  font-family: "MinionPro";
}
.footer__business a {
  color: #c4c4c4;
  text-decoration: none;
  transition: opacity 0.3s ease;
  line-height: 130%;
  font-size: 18px;
  font-family: "MinionPro";
}
.footer__business a:hover {
  opacity: 0.7;
}
.footer__social {
  display: flex;
  flex-direction: column;
  gap: 5px;
  align-items: flex-start;
}
.footer__social a {
  display: block;
  color: #c4c4c4;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
.footer__social a:hover {
  opacity: 0.7;
}
.footer__social svg {
  width: 23px;
  height: 23px;
}

.fontsloaded .footer__section-title {
  visibility: visible;
  opacity: 1;
}

#mc_embed_signup {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(61, 43, 42, 0.95);
  z-index: 9999;
  display: none;
  opacity: 0;
  transition: opacity 0.3s ease;
}
#mc_embed_signup.show {
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
}
#mc_embed_signup form * {
  pointer-events: auto !important;
}
#mc_embed_signup form #mc_embed_signup_scroll {
  max-height: none !important;
  overflow: visible !important;
}

.mailchimp-close {
  position: fixed;
  top: 20px;
  right: 20px;
  color: #c4c4c4;
  cursor: pointer;
  font-size: 16px;
  padding: 10px;
  background: none;
  border: 1px solid #c4c4c4;
  transition: all 0.3s ease;
  z-index: 102;
  pointer-events: auto;
}
.mailchimp-close:hover {
  background-color: #c4c4c4;
  color: #3D2B2A;
}

.mailchimp-active #mc_embed_signup {
  pointer-events: auto !important;
}
.mailchimp-active #mc_embed_signup form {
  pointer-events: auto !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

@media (max-width: 1023px) {
  .footer__main {
    grid-template-columns: 1fr 1fr;
    gap: 40px;
  }
  .footer__social {
    flex-direction: row;
    gap: 20px;
  }
  .footer__acknowledgment {
    grid-column: 1/-1;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .footer-cta__content {
    gap: 30px;
  }
  .footer-cta__button {
    text-align: center;
  }
}
@media (max-width: 767px) {
  .footer__acknowledgment {
    grid-column: 1/-1;
  }
  .footer-cta__content {
    flex-direction: column;
    gap: 20px;
    text-align: center;
  }
  .footer-cta__text {
    font-size: 20px;
  }
  .footer__main {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  #mc_embed_signup form {
    top: 5% !important;
    max-height: 90% !important;
    padding: 30px 20px !important;
  }
  .mailchimp-close {
    top: 10px !important;
    right: 10px !important;
    padding: 8px !important;
    font-size: 14px !important;
  }
}
@media (max-width: 479px) {
  .footer {
    padding: 0px 0px 30px 0;
  }
  .footer-cta {
    padding: 30px 0;
    margin: 30px auto;
  }
  .footer-cta__text {
    font-size: 28px;
  }
  .footer__acknowledgment {
    padding: 20px 0;
  }
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

.about-page-item {
  position: relative;
}

.about-page-item__link {
  position: relative;
  display: block;
  overflow: hidden;
}
.about-page-item__link:before {
  content: "";
  position: absolute;
  z-index: 2;
  opacity: 0;
  height: 100%;
  width: 100%;
  top: 0px;
  display: block;
  background: #c4c4c4;
  transform: translateY(-100%);
  transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1);
}
.about-page-item__link.project-item--selected:before {
  opacity: 1 !important;
  transform: translateY(0px) !important;
}
.about-page-item__link.project-item--selected {
  top: 0px !important;
  left: 0px !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 100;
  transition: top 0.4s cubic-bezier(0.645, 0.045, 0.355, 1) 0.05s, left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0.4s, width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0.4s, height 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0.15s;
}
@media (max-width: 464px) {
  .about-page-item__link.project-item--selected {
    transition: top 0.4s cubic-bezier(0.645, 0.045, 0.355, 1) 0.35s, left 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0.05s, width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0.05s, height 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) 0.35s;
  }
}
.about-page-item__link.project-item--background {
  background: #c4c4c4;
}
.about-page-item__link.project-item--selected .about-page-item__content, .about-page-item__link.project-item--selected .about-page-item__thumbnail__container, .about-page-item__link.project-item--selected img {
  opacity: 0 !important;
  transform: translateY(15px);
  transition: all 0.2s ease-in-out;
}

.header__logo__svg svg path {
  fill: #c4c4c4 !important;
}

.home-hero__slider {
  width: 100%;
  padding-bottom: 65px;
  overflow: hidden;
  position: relative;
  z-index: 1;
  clear: both;
}

nav.breadcrumb-container {
  color: #c4c4c4;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  padding: 0 0 60px;
  gap: 12px;
  font-family: "VT323", monospace;
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 16px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 30px;
}

.breadcrumb-home:hover {
  opacity: 1 !important;
  text-decoration: underline;
  letter-spacing: 0.1em;
}

.breadcrumb-container a,
.approach-breadcrumb-container a,
.member-breadcrumb-container a {
  text-transform: uppercase;
  letter-spacing: 0.1em;
  text-decoration: none;
  transition: all 0.3s ease;
}

.breadcrumb-container a:not([aria-current=page]):hover,
.approach-breadcrumb-container a:hover,
.member-breadcrumb-container a:hover {
  opacity: 0.7 !important;
  text-decoration: underline;
}

.breadcrumb-container [aria-current=page],
.approach-breadcrumb__current,
.member-breadcrumb__current {
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-weight: 700;
}

.breadcrumb-container span[aria-hidden=true],
.approach-breadcrumb__separator,
.member-breadcrumb__separator {
  opacity: 0.5;
  margin: 0 4px;
}

.breadcrumb-container .breadcrumb-home,
.approach-breadcrumb__home,
.member-breadcrumb__home {
  opacity: 0.5;
}

.member-breadcrumb-container {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 12px;
  font-family: "VT323", monospace;
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 16px;
  color: #C4C4C4;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.member-breadcrumb__link {
  color: #C4C4C4;
  text-decoration: none;
  transition: all 0.3s ease;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.member-breadcrumb__link:hover {
  opacity: 0.7 !important;
  text-decoration: underline;
}

.new-page__title,
.new-page__subcontent h2 {
  font-family: "VT323", Arial, sans-serif;
  color: #C4C4C4;
  font-weight: lighter;
  font-size: 32px;
  line-height: 32px;
  letter-spacing: 0.15em;
  margin: 0px auto 20px auto;
  padding: 0px;
  clear: both;
  text-align: center;
  text-transform: uppercase;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
}

.fontsloaded .new-page__title,
.fontsloaded .new-page__subcontent h2 {
  visibility: visible;
  opacity: 1;
}

.new-page__tagline {
  font-family: "MinionPro";
  font-weight: 400;
  color: #C4C4C4;
  width: 100%;
  max-width: 900px;
  margin: 50px auto 0 auto;
  font-size: 48px;
  line-height: 60px;
  padding: 0 10px;
  text-align: center;
  box-sizing: border-box;
}
.new-page__tagline p {
  font-size: inherit;
  line-height: inherit;
  font-family: inherit;
  color: inherit;
  margin: 0;
}

.new-page__intro h2 {
  font-family: "MinionPro";
  font-size: 30px;
  line-height: 35px;
  width: 100%;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 10px;
  margin-top: 10px;
  margin-bottom: 25px;
  font-weight: normal;
  text-transform: none;
  letter-spacing: 0px;
  box-sizing: border-box;
}

.new-page__tagline,
.new-page__intro p {
  font-family: "MinionPro";
  font-weight: 400;
  color: #C4C4C4;
  width: 100%;
  max-width: 900px;
  margin: 50px auto 0 auto;
  font-size: 48px;
  line-height: 60px;
  padding: 0 10px;
  text-align: center;
  box-sizing: border-box;
}

.new-page__subheading {
  font-family: "MinionPro";
  font-weight: 400;
  color: #C4C4C4;
  font-size: 30px;
  line-height: 40px;
  width: 100%;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  padding: 30px 10px 0 10px;
  text-align: center;
  box-sizing: border-box;
}
.new-page__subheading p {
  font-family: "MinionPro";
  font-weight: 400;
  color: #C4C4C4;
  font-size: 30px;
  line-height: 40px;
  text-align: center;
  margin: 0 0 20px 0;
  padding-right: 0;
}
.new-page__subheading p:last-child {
  margin-bottom: 0;
  padding-right: 0;
}
.new-page__subheading h2 {
  font-family: "MinionPro";
  font-weight: normal;
  color: #C4C4C4;
  font-size: 30px;
  line-height: 35px;
  width: 100%;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 10px;
  text-align: center;
  text-transform: none;
  letter-spacing: 0px;
  box-sizing: border-box;
}

.new-page__subcontent {
  margin-top: 80px !important;
  width: 100%;
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 10px;
  box-sizing: border-box;
}

.new-page__content {
  opacity: 0;
}
.new-page__content h3,
.new-page__content h2 {
  font-family: "MinionPro";
  font-weight: normal;
  width: 100%;
  max-width: 900px;
  color: #C4C4C4;
  font-size: 30px;
  line-height: 40px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 10px;
  letter-spacing: 0px;
  text-transform: none;
  text-align: center;
  box-sizing: border-box;
}
.new-page__content p {
  width: 100%;
  max-width: 900px;
  font-family: "MinionPro";
  font-weight: normal;
  color: #C4C4C4;
  font-size: 30px;
  line-height: 40px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 10px;
  text-align: center;
  box-sizing: border-box;
}

.fontsloaded .new-page__content {
  animation: reveal 1s cubic-bezier(0, 1, 0.5, 1) 1 normal forwards 0.3s;
}

.post_name-about .new-page__tagline,
.post_name-about .new-page__intro p,
.post_name-about .new-page__subheading,
.post_name-about .new-page__subheading h2,
.post_name-about .new-page__subcontent,
.post_name-awards .new-page__tagline,
.post_name-awards .new-page__intro p,
.post_name-awards .new-page__subheading,
.post_name-awards .new-page__subheading h2,
.post_name-awards .new-page__subcontent,
.post_name-how-we-work .new-page__tagline,
.post_name-how-we-work .new-page__intro p,
.post_name-how-we-work .new-page__subheading,
.post_name-how-we-work .new-page__subheading h2,
.post_name-how-we-work .new-page__subcontent,
.post_name-team .new-page__tagline,
.post_name-team .new-page__intro p,
.post_name-team .new-page__subheading,
.post_name-team .new-page__subheading h2,
.post_name-team .new-page__subcontent {
  max-width: 940px;
}

.contact__location .section-introduction__heading * {
  font-size: 45px;
}
@media (max-width: 1024px) {
  .contact__location .section-introduction__heading * {
    font-size: 36px;
  }
}
@media (max-width: 768px) {
  .contact__location .section-introduction__heading * {
    font-size: 28px;
  }
}
@media (max-width: 425px) {
  .contact__location .section-introduction__heading * {
    font-size: 22px;
  }
}

.territory-acknowledgment {
  margin: 30px auto 0;
  text-align: center;
  line-height: 1.4;
}

.header__logo h1 {
  width: 600px;
  max-width: 100%;
  padding-top: 0;
  margin-bottom: 40px !important;
}

@font-face {
  font-family: "BC Sans";
  src: url("https://carter-hales-v3-august.local/wp-content/themes/Theme/fonts/2023_01_01_BCSans-Regular_2f.woff2") format("woff2"), url("https://carter-hales-v3-august.local/wp-content/themes/Theme/fonts/2023_01_01_BCSans-Regular_2f.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "BC Sans";
  src: url("https://carter-hales-v3-august.local/wp-content/themes/Theme/fonts/2023_01_01_BCSans-Bold_2f.woff2") format("woff2"), url("https://carter-hales-v3-august.local/wp-content/themes/Theme/fonts/2023_01_01_BCSans-Bold_2f.woff") format("woff");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}
.indigenous-name {
  font-family: "BC Sans", sans-serif !important;
  font-weight: 400 !important;
  display: inline !important;
  font-size: 0.8em !important;
  text-transform: none !important;
  white-space: nowrap !important;
  letter-spacing: normal !important;
}

.post_name-articles,
.post_name-articles .header__nav {
  background: #240c0c;
  color: #fff;
}

.post_name-articles .footer {
  background: #240c0c;
  color: #c4c4c4;
}

.post_name-services,
.post_name-services .header__nav {
  background: #240c0c;
  color: #fff;
}

.post_name-services .footer {
  background: #240c0c;
  color: #c4c4c4;
}

.post_type-member,
.post_type-member .footer {
  background: #240c0c;
}

.post_type-project,
.post_type-project .footer {
  background: #240c0c;
}

#articles-chdl a {
  text-decoration: underline;
}

#articles-chdl a.btn,
#articles-chdl a.button,
#articles-chdl .nav a,
#articles-chdl .pagination a,
#articles-chdl .social-links a {
  text-decoration: none;
}

body.search-results .l-body {
  margin-top: 200px;
}

#members {
  border-top: none;
  margin-top: 120px;
}

.right-hamburger-menu {
  position: fixed;
  right: 10px;
  top: 20px;
  z-index: 9999;
}

.hidemenuitem {
  display: none;
}

.menu.burgerbutton {
  position: relative;
  width: 60px;
  height: 60px;
  transition: 0.5s;
  cursor: pointer;
  z-index: 10000;
  border-radius: 4px;
}
.menu.burgerbutton:not(.open):hover {
  background-color: rgba(0, 0, 0, 0.6);
}
.menu.burgerbutton.open:hover {
  background-color: rgba(51, 51, 51, 0.9);
}
.menu.burgerbutton .icon,
.menu.burgerbutton .icon:before,
.menu.burgerbutton .icon:after {
  transition: 0.5s;
  height: 4px;
  background-color: #c4c4c4;
  border-radius: 4px;
}
.menu.burgerbutton .icon {
  position: absolute;
  width: 30px;
  top: 30px;
  left: 15px;
}
.menu.burgerbutton .icon:before, .menu.burgerbutton .icon:after {
  position: absolute;
  width: 30px;
  content: "";
}
.menu.burgerbutton .icon:before {
  top: -10px;
}
.menu.burgerbutton .icon:after {
  top: 10px;
}
.menu.burgerbutton.open .icon {
  background: transparent;
}
.menu.burgerbutton.open .icon:before, .menu.burgerbutton.open .icon:after {
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: #240C0C;
}
.menu.burgerbutton.open .icon:before {
  transform: translate(-50%, -50%) rotate(45deg) scaleX(1.25);
}
.menu.burgerbutton.open .icon:after {
  transform: translate(-50%, -50%) rotate(-45deg) scaleX(1.25);
}

.right-side-menu {
  background-color: #F28AAB;
  height: 100vh;
  width: 100vw;
  max-width: 100% !important;
  overflow-y: auto;
  position: fixed;
  right: -101%;
  top: 0;
  transition: right 0.4s ease-in-out;
  z-index: 9998;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 40px 0 30px;
  box-sizing: border-box;
}
.right-side-menu.open {
  right: 0;
}
.right-side-menu .desktop-close-button {
  display: none;
}

.right-nav-menu {
  list-style: none;
  margin: 0 auto;
  padding: 0 20px 0 10px;
  box-sizing: border-box;
  text-align: left;
  width: 100%;
  max-width: 1420px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.right-nav-menu > li {
  width: 100%;
  margin-bottom: 0;
  border-bottom: 1px solid #240C0C;
  position: relative;
  padding: 20px 0 5px 0;
}
.right-nav-menu > li:first-child {
  border-top: none;
}
.right-nav-menu > li:last-child {
  border-bottom: none;
}
.right-nav-menu a {
  display: inline-block;
  position: relative;
  font-size: 130px;
  line-height: 1;
  text-decoration: none;
  font-family: "MinionDisplay", serif;
  font-weight: 400;
  letter-spacing: 0;
  color: #240C0C;
  transition: color 0.2s ease;
}
@media (hover: hover) and (pointer: fine) {
  .right-nav-menu a::before {
    content: attr(data-text);
    position: absolute;
    left: 0;
    font-family: "MinionPro", serif;
    font-style: italic;
    font-size: inherit;
    line-height: 1;
    color: #240C0C;
    text-indent: -0.02em;
    opacity: 0;
    transition: opacity 0.2s ease;
    pointer-events: none;
    white-space: nowrap;
  }
  .right-nav-menu a:hover {
    color: transparent;
  }
  .right-nav-menu a:hover::before {
    opacity: 1;
  }
}
.right-nav-menu > li > a {
  display: inline-block;
}
.right-nav-menu > li.has-children {
  cursor: pointer;
}
.right-nav-menu > li.has-children > a {
  display: inline-block;
}
.right-nav-menu > li.has-children::after {
  content: "";
  position: absolute;
  top: 10px;
  right: 4px;
  width: 20px;
  height: 20px;
  border-right: 2px solid #240C0C;
  border-bottom: 2px solid #240C0C;
  margin-top: 55px;
  transform: rotate(45deg);
  transition: transform 0.3s ease;
}
.right-nav-menu > li.has-children.submenu-open::after {
  transform: rotate(-135deg);
}
.right-nav-menu .primary-nav__children {
  list-style: none;
  margin: 0;
  padding: 0;
  display: none;
  width: 100%;
}
.right-nav-menu .primary-nav__children li {
  border-bottom: none;
  width: 100%;
  padding: 5px 0;
}
.right-nav-menu > li.submenu-open > .primary-nav__children {
  display: block;
}

.menu-overlay {
  display: none;
}

a[href$=".pdf"]:before {
  display: none;
}

nav.primary-nav {
  display: none;
}

li.primary-nav__item.primary-nav__item--contact {
  border-right: 1px solid #fff;
}

.kongzilla-countdown-wrapper {
  width: 100%;
  height: auto;
  margin: 15px auto;
  text-align: center;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}

.kongzilla-countdown-container,
[id^=ghl-cdt-container] {
  width: 70% !important;
  margin: 0 auto;
  display: flex;
  justify-content: center;
}

@media (min-width: 1024px) {
  .new-page__tagline,
  .new-page__intro p,
  .new-page__content p,
  .new-page__intro h2,
  .new-page__subheading,
  .new-page__subheading h2,
  .new-page__subcontent,
  .new-page__content h2,
  .new-page__content h3 {
    text-align: center;
  }
  .new-page__tagline {
    margin-bottom: 36px;
  }
}
@media (max-width: 480px) {
  article .section:first-child {
    /* padding-top: 50px; */
  }
}
@media (max-width: 700px) {
  article .section:first-child {
    /* padding-top: 65px; */
  }
}
article .section:first-child {
  padding-top: 15px;
}

@media (max-width: 768px) {
  .new-page__tagline,
  .new-page__intro p,
  .new-page__content p,
  .new-page__intro h2,
  .new-page__subheading,
  .new-page__subheading h2,
  .new-page__subcontent,
  .new-page__content h2,
  .new-page__content h3 {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    padding: 0;
    font-size: 48px;
  }
  h1.new-page__title {
    text-align: left;
    line-height: 30px;
  }
  .new-page__tagline {
    text-align: left;
    line-height: 60px;
    font-size: 48px;
  }
  .new-page__content h2,
  .new-page__content h3 {
    text-align: left;
  }
  .new-page__content p {
    font-size: 48px;
    text-align: left;
  }
  .indigenous-name {
    font-size: 26px !important;
  }
  [id^=ghl-cdt-container] {
    width: 90% !important;
  }
}
@media (max-width: 425px) {
  .new-page__tagline,
  .new-page__content p {
    font-size: 30px;
    line-height: 40px;
    text-align: left;
    margin-top: 30px;
    padding: 0;
  }
}
@media (min-width: 426px) and (max-width: 1024px) {
  .right-hamburger-menu {
    top: 5px;
  }
}
@media (min-width: 768px) and (max-width: 1023px) {
  .page-introduction nav.breadcrumb-container {
    justify-content: center;
  }
  .page-introduction h1.new-page__title {
    text-align: center;
    font-size: 26px;
    line-height: 32px;
  }
  .page-introduction .new-page__tagline {
    text-align: center;
    font-size: 38px;
    line-height: 50px;
    margin: 40px auto 17px auto;
    padding: 0 20px;
    max-width: 680px;
  }
  .page-introduction .new-page__subheading {
    text-align: center;
    font-size: 24px;
    line-height: 34px;
    padding: 20px 20px 0 20px;
    margin: 0 auto;
    max-width: 680px;
  }
  .page-introduction .new-page__subheading p {
    text-align: center;
    font-size: 24px;
    line-height: 34px;
  }
}
@media (max-width: 767px) {
  .page-introduction nav.breadcrumb-container {
    justify-content: flex-start;
  }
  .page-introduction h1.new-page__title {
    text-align: left;
    font-size: 22px;
    line-height: 26px;
  }
  .page-introduction .new-page__tagline {
    text-align: left;
    font-size: 30px;
    line-height: 40px;
    margin: 20px 0 0 0;
    padding: 0;
    max-width: none;
  }
  .page-introduction .new-page__subheading {
    text-align: left;
    font-size: 20px;
    line-height: 30px;
    padding: 15px 0 0 0;
    margin: 0;
    max-width: none;
  }
  .page-introduction .new-page__subheading p {
    text-align: left;
    font-size: 20px;
    line-height: 30px;
  }
}
@media (max-width: 425px) {
  h1.new-page__title,
  .page-introduction h1.new-page__title {
    font-size: 24px;
    line-height: 24px;
  }
}
@media (min-width: 701px) {
  .menu.burgerbutton {
    display: none;
  }
  .right-side-menu .desktop-close-button {
    display: block;
    position: absolute;
    top: 30px;
    right: 20px;
    width: 30px;
    height: 30px;
    cursor: pointer;
    z-index: 10001;
    background: none;
    transition: opacity 0.3s ease;
  }
  .right-side-menu .desktop-close-button:hover {
    opacity: 0.6;
  }
  .right-side-menu .desktop-close-button::before, .right-side-menu .desktop-close-button::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 30px;
    height: 2px;
    background: #240C0C;
  }
  .right-side-menu .desktop-close-button::before {
    transform: translate(-50%, -50%) rotate(45deg);
  }
  .right-side-menu .desktop-close-button::after {
    transform: translate(-50%, -50%) rotate(-45deg);
  }
}
@media (min-width: 1460px) {
  .right-side-menu .desktop-close-button {
    right: calc((100vw - 1420px) / 2 + 20px);
  }
}
@media (max-width: 768px) {
  .coreservice-content {
    width: 100%;
    font-size: 1.25rem;
  }
  .new-page__content h3,
  .new-page__content h2 {
    font-size: 25px;
    text-align: left;
  }
  .new-page__content p {
    margin-top: 40px;
    font-size: 25px;
    text-align: left;
  }
  .territory-acknowledgment {
    font-size: 28px;
    line-height: 1.2;
    text-align: left;
    margin-left: 0;
    margin-right: 0;
  }
  .service-introduction,
  .service-introduction__tagline,
  .contact__business,
  .contact__trade {
    margin-left: 0;
    margin-right: 0;
    text-align: left;
  }
  .right-nav-menu {
    height: 70vh;
  }
  .right-nav-menu > li {
    padding: 12px 0;
  }
  .right-nav-menu > li.has-children::after {
    top: 12px;
    margin-top: 55px;
  }
  .right-nav-menu .primary-nav__children li {
    padding: 12px 0;
  }
  .contact__location .section-introduction__heading p,
  .territory-acknowledgment .indigenous-name {
    line-height: inherit;
  }
  [id^=ghl-cdt-container] {
    width: 75% !important;
  }
}
@media (max-width: 767px) {
  html .header__nav .primary-nav__item {
    margin: 0;
    width: 25%;
    text-align: center;
  }
  .home-hero {
    position: relative;
    overflow: hidden;
  }
  .header__logo h1 {
    width: 315px;
    max-width: 100%;
  }
}
@media (max-width: 425px) {
  .right-hamburger-menu {
    right: 5px;
    top: 10px;
  }
  .menu.burgerbutton {
    width: 50px;
    height: 50px;
    background-color: transparent;
  }
  .menu.burgerbutton:not(.open):hover, .menu.burgerbutton.open, .menu.burgerbutton.open:hover {
    background-color: transparent;
  }
  .menu.burgerbutton .icon {
    width: 25px;
    top: 25px;
    left: 12.5px;
  }
  .menu.burgerbutton .icon:before, .menu.burgerbutton .icon:after {
    width: 25px;
  }
  .right-nav-menu {
    height: 90vh !important;
    justify-content: flex-start;
    align-items: center;
    margin: 0;
    padding: 10vh 15px 0 15px;
    position: relative;
    top: 0;
  }
  .right-nav-menu a {
    font-size: 12vmin;
  }
  .right-nav-menu > li {
    margin: 2vh 0;
    padding: 0;
    flex-grow: 0;
    flex-shrink: 0;
    height: auto;
  }
  .right-nav-menu .primary-nav__children li {
    margin: 2vh 0;
    padding: 0;
  }
  .right-nav-menu > li.has-children::after {
    top: 5px;
    margin-top: 0px;
  }
  .header__logo h1 {
    max-width: 100%;
    width: 300px !important;
    margin-bottom: 15px !important;
  }
  .post_name-contact em a {
    font-size: 28px;
  }
  [id^=ghl-cdt-container] {
    width: 85% !important;
  }
}
.home-hero__text-overlay {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
}

.home-hero__text-overlay-svg {
  width: 100%;
  height: auto;
  max-width: 60%;
  object-fit: contain;
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

.home-hero__slider:hover .home-hero__text-overlay-svg {
  opacity: 1;
  animation: vibrantColorCycle 4s infinite linear;
}

.home-hero__slider:not(:hover) .home-hero__text-overlay-svg {
  opacity: 0;
  animation: none;
}

@keyframes vibrantColorCycle {
  0% {
    filter: brightness(0) saturate(100%) invert(27%) sepia(97%) saturate(7471%) hue-rotate(356deg) brightness(91%) contrast(135%);
  }
  8% {
    filter: brightness(0) saturate(100%) invert(48%) sepia(96%) saturate(1237%) hue-rotate(13deg) brightness(100%) contrast(119%);
  }
  16% {
    filter: brightness(0) saturate(100%) invert(84%) sepia(78%) saturate(2476%) hue-rotate(2deg) brightness(101%) contrast(107%);
  }
  24% {
    filter: brightness(0) saturate(100%) invert(69%) sepia(56%) saturate(6045%) hue-rotate(92deg) brightness(96%) contrast(106%);
  }
  32% {
    filter: brightness(0) saturate(100%) invert(90%) sepia(96%) saturate(4306%) hue-rotate(162deg) brightness(100%) contrast(119%);
  }
  40% {
    filter: brightness(0) saturate(100%) invert(30%) sepia(100%) saturate(4504%) hue-rotate(210deg) brightness(100%) contrast(143%);
  }
  48% {
    filter: brightness(0) saturate(100%) invert(16%) sepia(99%) saturate(7404%) hue-rotate(253deg) brightness(87%) contrast(135%);
  }
  56% {
    filter: brightness(0) saturate(100%) invert(18%) sepia(95%) saturate(7258%) hue-rotate(295deg) brightness(95%) contrast(138%);
  }
  64% {
    filter: brightness(0) saturate(100%) invert(8%) sepia(100%) saturate(7440%) hue-rotate(316deg) brightness(97%) contrast(143%);
  }
  72% {
    filter: brightness(0) saturate(100%) invert(45%) sepia(100%) saturate(1795%) hue-rotate(266deg) brightness(118%) contrast(200%);
  }
  80% {
    filter: brightness(0) saturate(100%) invert(71%) sepia(100%) saturate(2000%) hue-rotate(45deg) brightness(118%) contrast(200%);
  }
  88% {
    filter: brightness(0) saturate(100%) invert(26%) sepia(100%) saturate(6815%) hue-rotate(2deg) brightness(106%) contrast(143%);
  }
  96% {
    filter: brightness(0) saturate(100%) invert(27%) sepia(97%) saturate(7471%) hue-rotate(356deg) brightness(91%) contrast(135%);
  }
  100% {
    filter: brightness(0) saturate(100%) invert(27%) sepia(97%) saturate(7471%) hue-rotate(356deg) brightness(91%) contrast(135%);
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 0.9;
  }
}
@media (max-width: 1024px) {
  .home-hero__text-overlay-svg {
    max-width: 50%;
  }
}
@media (max-width: 768px) {
  .home-hero__text-overlay-svg {
    max-width: 60%;
  }
}
@media (max-width: 480px) {
  .home-hero__text-overlay-svg {
    max-width: 80%;
  }
}
@media (max-width: 920px) {
  html.admin-bar .home-hero {
    padding-top: 193px !important;
  }
}
@media (max-width: 767px) {
  html.admin-bar .home-hero {
    padding-top: 28px !important;
  }
}
@media (max-width: 479px) {
  html.admin-bar .home-hero {
    padding-top: 0 !important;
  }
}
.home-hero__video,
.home-hero__image {
  margin: 0px auto 0px auto;
  padding-bottom: 5px;
  object-fit: cover;
  height: auto;
  display: block;
}

.home-hero__slides {
  position: relative;
  width: 100%;
  height: auto;
}

.home-hero__slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  opacity: 0;
  z-index: 1;
}
.home-hero__slide.active {
  position: relative;
  opacity: 1;
  z-index: 2;
}
.home-hero__slide--small {
  clip-path: inset(0 25% 0 25%);
}
.home-hero__slide img {
  width: 100%;
  height: auto;
  display: block;
}

.home-hero__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  display: flex;
  justify-content: space-between;
  padding: 0 20px;
  z-index: 10;
}

.home-hero__prev,
.home-hero__next {
  background: rgba(0, 0, 0, 0.5);
  color: white;
  border: none;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  font-size: 24px;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: auto;
}
.home-hero__prev:hover,
.home-hero__next:hover {
  background: rgba(0, 0, 0, 0.8);
  transform: scale(1.1);
}

.home-hero__caption {
  position: absolute;
  bottom: 60px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.7);
  color: white;
  padding: 10px 20px;
  border-radius: 5px;
  font-size: 16px;
  text-align: center;
  max-width: 80%;
}

@media (max-width: 920px) {
  .home-hero__video,
  .home-hero__image,
  .home-hero__slider {
    margin: 0px auto 0px auto;
  }
}
@media (max-width: 767px) {
  .home-hero__video,
  .home-hero__image {
    margin: -30px 0 0;
    width: 100%;
    height: auto;
    object-fit: cover;
  }
  .home-hero__slider {
    margin: -30px 0 0;
    width: 100%;
  }
  .home-hero__slide img {
    width: 100%;
    height: auto;
  }
  .home-hero__slide.home-hero__slide--small {
    clip-path: none;
  }
  .home-hero__nav {
    display: none;
  }
  .home-hero__caption {
    bottom: 80px;
    font-size: 14px;
    padding: 8px 15px;
  }
}
.home-hero .video_play {
  pointer-events: none;
  position: absolute;
  bottom: 40%;
  left: 50%;
  cursor: pointer;
  transform: translate(-50%);
}
@media (max-width: 767px) {
  .home-hero .video_play {
    bottom: 33%;
  }
}
@media (max-width: 479px) {
  .home-hero .video_play {
    bottom: 28%;
  }
}
.home-hero .video_play.pause {
  opacity: 0;
}
html.touch .home-hero .video_play, html.touchevents .home-hero .video_play {
  display: none !important;
}

.post_name-home .home-hero__video {
  border-color: #fff;
}

#new-about {
  border-top: none;
  zoom: 1;
}
#new-about:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}

.home-projects .section-introduction {
  margin-bottom: 100px;
}
.home-projects .section-introduction h2 {
  font-family: "MinionPro", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 48px;
  line-height: 60px;
  letter-spacing: 0;
  text-align: center;
  text-transform: none;
  margin: 0 auto;
  padding: 0;
}
@media (max-width: 1024px) {
  .home-projects .section-introduction {
    margin-bottom: 100px;
  }
}
@media (max-width: 768px) {
  .home-projects .section-introduction {
    margin-bottom: 80px;
  }
  .home-projects .section-introduction h2 {
    font-size: 38px;
    line-height: 48px;
  }
}
@media (max-width: 480px) {
  .home-projects .section-introduction {
    margin-bottom: 60px;
  }
  .home-projects .section-introduction h2 {
    font-size: 32px;
    line-height: 42px;
  }
}

.post_name-home .home-hero__slider {
  padding-bottom: 0 !important;
}

.post_name-home .home-projects .section-introduction {
  margin-top: 0;
}
@media (max-width: 768px) {
  .post_name-home .home-projects .section-introduction {
    margin-top: 75px;
  }
}
@media (max-width: 425px) {
  .post_name-home .home-projects .section-introduction {
    margin-top: 50px;
  }
}

.post_name-home .home-projects .project-filters {
  margin-top: 0;
  padding-top: 0;
}

.post_name-home .home-projects .section-introduction h2 {
  font-family: "VT323", monospace;
  font-size: 32px;
  font-style: normal;
  font-weight: 400;
  line-height: 32px;
  letter-spacing: 4.8px;
  text-transform: uppercase;
}
@media (max-width: 768px) {
  .post_name-home .home-projects .section-introduction h2 {
    font-size: 28px;
    line-height: 28px;
  }
}
@media (max-width: 480px) {
  .post_name-home .home-projects .section-introduction h2 {
    font-size: 24px;
    line-height: 24px;
  }
}

.home-projects .section-introduction__content p {
  font-family: "MinionPro", serif;
  font-weight: normal;
  color: #C4C4C4;
  font-size: 30px;
  line-height: 40px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 10px;
  text-align: center;
  max-width: 65%;
}
@media (max-width: 768px) {
  .home-projects .section-introduction__content p {
    font-size: 26px;
    line-height: 36px;
  }
}
@media (max-width: 480px) {
  .home-projects .section-introduction__content p {
    font-size: 24px;
    line-height: 34px;
  }
}

.about-page-item {
  position: relative;
  width: 50%;
  float: left;
  padding: 0px;
  margin-top: 22px;
}
.about-page-item:nth-child(1), .about-page-item:nth-child(2) {
  margin-top: 0px;
}
.about-page-item:nth-child(2n+1) {
  clear: left;
  padding-right: 10px;
}
.about-page-item:nth-child(2n) {
  padding-left: 10px;
}
@media (max-width: 700px) {
  .about-page-item {
    width: 100%;
  }
  .about-page-item:nth-child(1) {
    margin-top: 50px;
  }
  .about-page-item:nth-child(2n) {
    padding-left: 0px;
  }
}
@media (max-width: 425px) {
  .about-page-item:nth-child(1) {
    margin-top: 50px;
  }
  .about-page-item:nth-child(2n+1) {
    margin-bottom: 25px;
  }
}

@media (max-width: 425px) {
  .post_name-about .page-introduction {
    padding-bottom: 0 !important;
  }
  .post_name-about .page-introduction > *:last-child {
    margin-bottom: 0 !important;
  }
  .post_name-about .page-introduction > p:last-of-type {
    margin-bottom: 0 !important;
  }
  .post_name-about article > .section:first-of-type {
    padding-top: 0 !important;
  }
}
.about-page-item__link {
  display: block;
  text-decoration: none;
  color: inherit;
  transition: all 0.3s ease-in-out;
}
.about-page-item__link:hover {
  text-decoration: none;
  color: inherit;
}

.about-page-item__thumbnail__container {
  position: relative;
  overflow: hidden;
}
.about-page-item__thumbnail__container:hover .about-page-item__thumbnail__hover {
  opacity: 1 !important;
  transition: all 0.5s ease-in-out;
}

.about-page-item__thumbnail {
  transition: opacity 0.5s ease-in-out, transform 0.5s ease-out;
  width: 100%;
  height: auto;
}

.about-page-item__thumbnail__hover {
  position: absolute;
  top: 0px;
  left: 0px;
  max-width: 100%;
  width: 100%;
  height: auto;
  opacity: 0 !important;
  transition: opacity 0.5s ease-in-out, transform 0.5s ease-out;
}

.about-page-item:hover .about-page-item__thumbnail,
.about-page-item:hover .about-page-item__thumbnail__hover {
  transform: scale(1.1);
}

.about-page-item__content {
  padding-top: 5px;
}

.about-page-item__title {
  font-family: "MinionPro", "Helvetica Neue", Arial, sans-serif;
  margin: 10px 0 0 0;
  font-size: 48px;
  font-weight: normal;
  color: #C4C4C4;
  line-height: 1.3;
  text-align: left;
  text-transform: none;
  letter-spacing: 0;
  display: inline-block;
}

@media (max-width: 1024px) {
  .about-page-item__title {
    font-size: 40px;
  }
}
@media (max-width: 768px) {
  .about-page-item__title {
    font-size: 30px;
    line-height: 30px;
  }
}
@media (max-width: 500px) {
  .about-page-item__title {
    font-size: 24px;
    line-height: 24px;
  }
}
.about-page-item__description {
  font-family: "Libre Franklin", "Helvetica Neue", Arial, sans-serif;
  color: #C4C4C4;
  text-align: left;
  font-size: 20px;
  margin-top: 0px;
  line-height: 32px;
}

.home-hero__prev,
.home-hero__next {
  display: none !important;
}

.featured-case-studies {
  width: 100%;
}

.featured-case-studies__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 0 0 120px 0 !important;
}

.featured-case-study-item {
  width: 100% !important;
  margin-bottom: 0 !important;
}

@media (max-width: 1024px) {
  .featured-case-studies__grid {
    margin: 0 0 100px 0 !important;
  }
}
@media (max-width: 820px) {
  .featured-case-studies__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    margin: 0 0 80px 0 !important;
  }
  .featured-case-study-item:nth-child(3) {
    display: none;
  }
}
@media (max-width: 464px) {
  .featured-case-studies__grid {
    grid-template-columns: 1fr;
    gap: 10px;
    margin: 0 0 60px 0 !important;
  }
  .featured-case-study-item:nth-child(2),
  .featured-case-study-item:nth-child(3) {
    display: none;
  }
}
#project-items .project-item {
  flex-shrink: 0 !important;
  flex-grow: 0 !important;
  flex-basis: calc(33.33% - 14px) !important;
  min-width: calc(33.33% - 14px) !important;
}
@media (max-width: 820px) {
  #project-items .project-item {
    flex-basis: calc(50% - 10px) !important;
    min-width: calc(50% - 10px) !important;
  }
}
@media (max-width: 464px) {
  #project-items .project-item {
    flex-basis: 100% !important;
    min-width: 100% !important;
  }
}

.single-servicepage .servicepage-hero-image-container {
  width: 100vw;
  height: auto;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  margin-top: -50px;
  margin-bottom: 80px;
  overflow: hidden;
  display: block;
}
.single-servicepage .servicepage-hero-image {
  width: 100%;
  height: auto;
  max-width: none;
  display: block;
  object-fit: cover;
  object-position: center;
  aspect-ratio: 1620/875;
  will-change: transform;
}
.single-servicepage .servicepage-content-wrapper {
  display: grid;
  grid-template-columns: 80% 20%;
  gap: 60px;
  max-width: 1440px;
  margin: 0 20px 80px auto;
  align-items: start;
}
.single-servicepage .servicepage-main-column {
  width: 100%;
  min-width: 0;
}
.single-servicepage .servicepage-breadcrumb-container {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  gap: 12px;
  font-family: "VT323", monospace;
  font-weight: 400;
  font-size: 16px;
  line-height: 16px;
  color: #C4C4C4;
  margin-bottom: 100px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.single-servicepage .servicepage-breadcrumb__link {
  color: #C4C4C4;
  text-decoration: none;
  transition: all 0.3s ease;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.single-servicepage .servicepage-breadcrumb__link:hover {
  opacity: 0.7;
  text-decoration: underline;
}
.single-servicepage .servicepage-breadcrumb__home {
  opacity: 0.5;
}
.single-servicepage .servicepage-breadcrumb__separator {
  opacity: 0.5;
  margin: 0 4px;
}
.single-servicepage .servicepage-breadcrumb__current {
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}
.single-servicepage .servicepage-details {
  text-align: left;
  margin-bottom: 40px;
}
.single-servicepage .servicepage-details__title {
  font-family: "VT323", monospace;
  font-size: 32px;
  line-height: 32px;
  letter-spacing: 4.8px;
  color: #C4C4C4;
  font-weight: normal;
  margin: 0 0 10px 0;
  text-transform: uppercase;
}
.single-servicepage .servicepage-details__tagline {
  font-family: "MinionPro", serif;
  font-size: 48px;
  line-height: 60px;
  color: #C4C4C4;
  margin: 20px 0 0 0;
  padding: 0;
  font-weight: normal;
  text-align: left;
  text-transform: none;
  letter-spacing: 0;
}
.single-servicepage .servicepage-page-introduction {
  font-family: "MinionPro", serif;
  font-size: 48px;
  line-height: 60px;
  color: #C4C4C4;
  margin-bottom: 40px;
  padding-bottom: 30px;
}
.single-servicepage .servicepage-page-introduction p {
  font-family: "MinionPro", serif;
  font-size: 48px;
  line-height: 60px;
  color: #C4C4C4;
  margin-bottom: 40px;
}
.single-servicepage .servicepage-page-introduction p:last-child {
  margin-bottom: 0;
}
.single-servicepage .servicepage-main-content {
  font-family: "MinionPro", serif;
  font-size: 48px;
  line-height: 60px;
  color: #C4C4C4;
  margin-bottom: 25px;
}
.single-servicepage .servicepage-main-content p {
  font-size: 48px;
  line-height: 60px;
  margin-bottom: 40px;
}
.single-servicepage .servicepage-main-content p:last-child {
  margin-bottom: 0;
}
.single-servicepage .servicepage-main-content h1, .single-servicepage .servicepage-main-content h2, .single-servicepage .servicepage-main-content h3, .single-servicepage .servicepage-main-content h4, .single-servicepage .servicepage-main-content h5, .single-servicepage .servicepage-main-content h6 {
  font-family: "Libre Franklin", Arial, sans-serif;
  font-weight: 400;
  margin-top: 40px;
  margin-bottom: 20px;
  color: #C4C4C4;
}
.single-servicepage .servicepage-main-content ul, .single-servicepage .servicepage-main-content ol {
  font-family: "MinionPro", serif;
  font-size: 24px;
  line-height: 36px;
  color: #C4C4C4;
  margin-bottom: 25px;
  padding-left: 30px;
}
.single-servicepage .servicepage-main-content li {
  margin-bottom: 10px;
}
.single-servicepage .servicepage-sidebar-column {
  width: 100%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.single-servicepage .servicepage-sidebar-content {
  width: 100%;
  overflow: hidden;
  background: rgba(196, 196, 196, 0.05);
  border: 1px solid #c4c4c4;
  padding: 0;
}
.single-servicepage .servicepage-sidebar-text {
  font-family: "VT323", monospace;
  font-size: 16px;
  line-height: 24px;
  color: #C4C4C4;
  padding: 20px;
}
.single-servicepage .servicepage-sidebar-text p {
  margin-bottom: 15px;
}
.single-servicepage .servicepage-sidebar-text p:last-child {
  margin-bottom: 0;
}
.single-servicepage .servicepage-sidebar-image-wrapper {
  padding: 0;
}
.single-servicepage .servicepage-sidebar-image {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.3s ease;
  object-fit: cover;
}
.single-servicepage .servicepage-sidebar-image:hover {
  transform: scale(1.05);
}
.single-servicepage .servicepage__footer {
  margin-top: 60px;
  padding-top: 30px;
  border-top: 1px solid #c4c4c4;
}
.single-servicepage .servicepage__back-link {
  color: #c4c4c4;
  text-decoration: none;
  font-size: 16px;
  transition: color 0.3s ease;
}
.single-servicepage .servicepage__back-link:hover {
  color: #000;
}
.single-servicepage .servicepage-related-projects {
  max-width: 1420px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 20px;
  padding-right: 20px;
  box-sizing: border-box;
}
@media (max-width: 479px) {
  .single-servicepage .servicepage-related-projects {
    padding-left: 15px;
    padding-right: 15px;
  }
}
.single-servicepage #servicepage-related-projects-items {
  row-gap: 40px;
}
.single-servicepage #servicepage-related-projects-items .project-item {
  flex: 0 0 calc(50% - 10px);
  max-width: calc(50% - 10px);
  padding: 0;
}
.single-servicepage .servicepage-related-projects .project-item {
  position: relative;
  top: 20px;
  opacity: 0;
  transition: opacity 0.6s ease-out, top 0.6s ease-out;
  transition-delay: calc(var(--i, 1) * 80ms);
}
.single-servicepage .servicepage-related-projects.is-revealed .project-item {
  top: 0;
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  .single-servicepage .servicepage-related-projects .project-item {
    top: 0;
    opacity: 1;
    transition: none;
  }
}
.single-servicepage .servicepage-related-projects-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 60px;
  border-top: 1px solid #c4c4c4;
  padding-top: 44px;
}
.single-servicepage .servicepage-related-projects-header h2 {
  font-family: "VT323", monospace;
  font-size: 32px;
  line-height: 32px;
  color: #C4C4C4;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 4.8px;
  font-weight: normal;
}
.single-servicepage .servicepage-view-all-btn {
  font-family: "VT323", monospace;
  font-size: 20px;
  line-height: normal;
  color: #C4C4C4;
  background: none;
  border: 1px solid #c4c4c4;
  padding: 10px 20px;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 2px;
  transition: all 0.3s ease;
}
.single-servicepage .servicepage-view-all-btn:hover {
  background-color: #c4c4c4;
  color: #3D2B2A;
}
.single-servicepage .servicepage-project-title {
  font-family: "MinionPro", serif;
  font-size: 48px;
  line-height: 56px;
  color: #C4C4C4;
  margin: 10px 0 0 0;
  padding: 0;
  font-weight: normal;
  letter-spacing: 0;
}
@media (max-width: 1024px) {
  .single-servicepage .servicepage-content-wrapper {
    gap: 30px;
  }
}
@media (max-width: 768px) {
  .single-servicepage .servicepage-hero-image-container {
    margin-top: 200px;
  }
  .single-servicepage .servicepage-hero-image {
    aspect-ratio: 1620/875;
  }
  .single-servicepage .servicepage-content-wrapper {
    grid-template-columns: 1fr;
    gap: 50px;
    margin: 40px auto;
  }
  .single-servicepage .servicepage-details__title {
    font-size: 32px;
    line-height: 32px;
  }
  .single-servicepage .servicepage-details__tagline {
    font-size: 32px;
    line-height: 44px;
  }
  .single-servicepage .servicepage-page-introduction {
    font-size: 32px;
    line-height: 44px;
    margin-bottom: 30px;
    padding-bottom: 20px;
  }
  .single-servicepage .servicepage-page-introduction p {
    font-size: 32px;
    line-height: 44px;
  }
  .single-servicepage .servicepage-main-content {
    font-size: 32px;
    line-height: 44px;
  }
  .single-servicepage .servicepage-main-content p {
    font-size: 32px;
    line-height: 44px;
    margin-bottom: 25px;
  }
  .single-servicepage .servicepage-main-content h1, .single-servicepage .servicepage-main-content h2, .single-servicepage .servicepage-main-content h3, .single-servicepage .servicepage-main-content h4, .single-servicepage .servicepage-main-content h5, .single-servicepage .servicepage-main-content h6 {
    font-size: 32px;
    margin-top: 25px;
    margin-bottom: 15px;
  }
  .single-servicepage .servicepage-main-content ul, .single-servicepage .servicepage-main-content ol {
    font-size: 32px;
    line-height: 44px;
    margin-bottom: 15px;
    padding-left: 20px;
  }
  .single-servicepage .servicepage-main-content li {
    margin-bottom: 8px;
  }
  .single-servicepage .servicepage-sidebar-content {
    font-size: 14px;
    line-height: 20px;
  }
  .single-servicepage .servicepage-breadcrumb-container {
    font-size: 12px;
    line-height: 14px;
    margin-bottom: 15px;
    padding-bottom: 15px;
  }
  .single-servicepage .servicepage-project-title {
    font-size: 24px;
    line-height: 36px;
    margin: 8px 0 0 0;
  }
}
@media (max-width: 650px) {
  .single-servicepage #servicepage-related-projects-items .project-item {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
@media (max-width: 480px) {
  .single-servicepage .servicepage-content-wrapper {
    margin: 30px auto;
  }
  .single-servicepage .servicepage-details__title {
    font-size: 30px;
    line-height: 30px;
  }
  .single-servicepage .servicepage-details__tagline {
    font-size: 30px;
    line-height: 42px;
  }
  .single-servicepage .servicepage-page-introduction {
    font-size: 30px;
    line-height: 42px;
  }
  .single-servicepage .servicepage-page-introduction p {
    font-size: 30px;
    line-height: 42px;
  }
  .single-servicepage .servicepage-main-content {
    font-size: 30px;
    line-height: 42px;
  }
  .single-servicepage .servicepage-main-content p {
    font-size: 30px;
    line-height: 42px;
    margin-bottom: 20px;
  }
  .single-servicepage .servicepage-main-content h1, .single-servicepage .servicepage-main-content h2, .single-servicepage .servicepage-main-content h3, .single-servicepage .servicepage-main-content h4, .single-servicepage .servicepage-main-content h5, .single-servicepage .servicepage-main-content h6 {
    font-size: 30px;
    margin-top: 20px;
    margin-bottom: 12px;
  }
  .single-servicepage .servicepage-main-content ul, .single-servicepage .servicepage-main-content ol {
    font-size: 30px;
    line-height: 42px;
    margin-bottom: 12px;
    padding-left: 15px;
  }
  .single-servicepage .servicepage-main-content li {
    margin-bottom: 6px;
  }
  .single-servicepage .servicepage-sidebar-content {
    font-size: 12px;
    line-height: 18px;
    padding: 15px;
  }
  .single-servicepage .servicepage-breadcrumb-container {
    font-size: 10px;
    line-height: 12px;
    margin-bottom: 10px;
    padding-bottom: 10px;
    gap: 6px;
  }
  .single-servicepage .servicepage-breadcrumb__separator {
    margin: 0 2px;
  }
  .single-servicepage .servicepage-related-projects-header {
    margin-bottom: 40px;
  }
  .single-servicepage .servicepage-related-projects-header h2 {
    font-size: 18px;
    line-height: 18px;
    letter-spacing: 2.7px;
  }
  .single-servicepage .servicepage-view-all-btn {
    font-size: 14px;
    padding: 7px 14px;
    letter-spacing: 1.5px;
  }
}
@media (max-width: 464px) {
  .single-servicepage .servicepage-project-title {
    font-size: 20px;
    line-height: 30px;
    margin: 6px 0 0 0;
  }
}
@media (max-width: 480px) {
  .single-servicepage .servicepage-hero-image-container {
    margin-top: 140px;
  }
}
@media (max-width: 425px) {
  .single-servicepage .servicepage-content-wrapper {
    padding: 0;
  }
  .single-servicepage .servicepage-view-all-btn {
    min-width: auto;
    width: auto;
  }
}
@media (prefers-reduced-motion: reduce) {
  .single-servicepage .servicepage-hero-image {
    transform: none;
  }
}

/* 
 * MEMBER INDIVIDUAL PAGE STYLES
 * Complete layout system for single member pages
 * Responsive design with full-width sections and precise layouts
 */
/* ==========================================================================
   MEMBER INDIVIDUAL PAGE CONTAINER
   ========================================================================== */
.member-individual-page {
  width: 100%;
  margin: 0;
  padding: 0;
  overflow-x: hidden; /* Prevent horizontal scroll from full-width sections */
}

/* ==========================================================================
   HERO SECTION - FULL WIDTH
   ========================================================================== */
.member-hero {
  width: 100vw;
  height: auto;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  margin-top: -50px;
  margin-bottom: 80px;
  overflow: hidden;
  display: block;
}

.member-hero__image {
  width: 100%;
  height: auto;
  max-width: none;
  display: block;
  object-fit: cover;
  object-position: center;
  /* Maintain aspect ratio for hero images */
  min-height: 600px;
}

/* ==========================================================================
   MEMBER BREADCRUMB NAVIGATION
   ========================================================================== */
.member-breadcrumb-container {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  padding: 0 0 30px 0;
  gap: 12px;
  font-family: "VT323", monospace;
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 16px;
  color: #C4C4C4;
  margin-bottom: 20px;
}

.member-breadcrumb__link {
  color: #C4C4C4;
  text-decoration: none;
  transition: all 0.3s ease;
}

.member-breadcrumb__link:hover {
  opacity: 0.7;
  text-decoration: underline;
}

.member-breadcrumb__home {
  opacity: 0.5;
}

.member-breadcrumb__separator {
  opacity: 0.5;
  margin: 0 4px;
}

.member-breadcrumb__current {
  font-weight: 700;
  opacity: 1;
}

/* ==========================================================================
   CONTENT ROW 1 - 2/3 + 1/3 LAYOUT
   ========================================================================== */
.member-content-row-1 {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 60px;
  max-width: 1420px;
  margin: 0 auto 80px auto;
  padding: 0 20px;
  align-items: start;
}

.member-content-row-1__main {
  /* 2/3 column main content */
  width: 100%;
  /* Typography styling for content */
  font-family: "MinionPro", serif;
  font-size: 30px;
  line-height: 35px;
  color: #C4C4C4;
}

.member-content-row-1__main h2,
.member-content-row-1__main h3,
.member-content-row-1__main h4,
.member-content-row-1__main h5,
.member-content-row-1__main h6 {
  font-family: VT323, monospace;
  color: #C4C4C4;
  font-size: 24px;
  font-weight: normal;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  text-align: left;
}

/* ACF Main Content Styling */
.member-main-content__acf-content {
  /* Reduced height to align bottom with sidebar content */
  height: 440px; /* Reduced from 540px to align with sidebar */
  display: flex;
  flex-direction: column;
  justify-content: flex-end; /* Aligns content to bottom */
  overflow: hidden; /* Prevents text overflow if extremely long */
  margin-bottom: 25px;
}

.member-main-content__acf-content p {
  font-size: 48px;
  line-height: 60px;
  color: #C4C4C4;
  margin-bottom: 0; /* Remove margin since container handles spacing */
}

/* Existing Post Content Styling */
.member-main-content__existing-content p {
  font-family: "Libre Franklin", "Helvetica Neue", Arial, sans-serif;
  font-size: 20px;
  line-height: 35px;
  color: #C4C4C4;
  margin-bottom: 25px;
}

.member-main-content__existing-content {
  /* Existing member post content styling */
  margin-top: 58px;
}

.member-main-content__existing-content h1,
.member-main-content__existing-content h2,
.member-main-content__existing-content h3,
.member-main-content__existing-content h4,
.member-main-content__existing-content h5,
.member-main-content__existing-content h6 {
  font-family: "MinionPro", serif;
  color: #C4C4C4;
  font-weight: normal;
  text-transform: none;
  letter-spacing: 0;
  margin-bottom: 20px;
}

.member-main-content__existing-content ul,
.member-main-content__existing-content ol {
  font-family: "MinionPro", serif;
  font-size: 30px;
  line-height: 35px;
  color: #C4C4C4;
  margin-bottom: 25px;
  padding-left: 30px;
}

.member-main-content__existing-content li {
  margin-bottom: 10px;
}

.member-content-row-1__sidebar {
  /* 1/3 column sidebar */
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.member-content-row-1__featured-image {
  /* 460x605 member featured image */
  width: 460px;
  height: 605px;
  object-fit: cover;
  object-position: center;
  margin-bottom: 30px;
  border-radius: 0;
  box-shadow: none;
}

/* Career Milestones Section */
.member-content-row-1__milestones {
  width: 100%;
  max-width: 460px;
  margin: 60px 0;
  padding: 0;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 55px;
}

/* Vector 34 / Vector 35 — horizontal divider lines */
.member-milestones__rule {
  width: 100%;
  height: 0;
  border: none;
  border-top: 1px solid #c4c4c4;
  margin: 0;
  flex-shrink: 0;
}

.member-milestones__heading {
  font-family: "VT323", monospace;
  font-size: 25px;
  font-weight: 700;
  line-height: auto;
  margin: 0px;
  text-transform: uppercase;
  color: #C4C4C4;
  font-weight: bold;
  letter-spacing: 0.28em;
}

.member-milestones__list {
  width: 100%;
}

.member-milestone__item {
  font-family: "MinionPro", serif;
  font-size: 24px;
  line-height: 36px;
  color: #C4C4C4;
  margin-bottom: 15px;
  font-weight: normal;
}

.member-milestone__item:last-child {
  margin-bottom: 0;
}

.member-content-row-1__details {
  /* Member details below image */
  text-align: left;
}

.member-details__name {
  font-family: "MinionPro", serif;
  font-size: 48px;
  line-height: 56px;
  color: #C4C4C4;
  font-weight: normal;
  margin: 0 0 0 0;
  text-transform: none;
  letter-spacing: 0;
}

.member-content-row-1__details .member-details__position {
  font-family: "VT323", monospace;
  font-size: 24px;
  line-height: 20px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #C4C4C4;
  margin: 0 0 5px 0;
  font-weight: normal;
}

.member-content-row-1__details .member-details__position p {
  font-family: "MinionPro", serif;
  font-size: 24px;
  line-height: 32px;
  letter-spacing: 0;
  text-transform: none;
  color: #C4C4C4;
  margin: 0;
  font-weight: normal;
}

.member-details__email {
  font-family: "VT323", monospace;
  font-size: 20px;
  line-height: 24px;
  color: #C4C4C4;
  text-decoration: none;
  display: inline-block;
}

.member-details__email:hover {
  color: #c4c4c4;
  text-decoration: underline;
}

/* Member details in main content column styling */
.member-content-row-1__main .member-details {
  margin-bottom: 40px;
  padding-bottom: 30px;
  border-bottom: 1px solid #c4c4c4;
}

/* Member main content wrapper styling */
.member-main_content {
  width: 100%;
  margin: 0;
  padding: 0;
  /* width: calc(100% + 12px); Extend to true left edge */
}

/* ==========================================================================
   CONTENT ROW 2 - CSS GRID: IMAGE + INTERESTING FACT
   2 equal columns, 20px gap, 875px height — matches Figma Subpage-Grid-1-Img-Quote
   ========================================================================== */
.member-content-row-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 20px;
  height: 875px;
  width: 100%;
  max-width: 1420px;
  margin: 80px auto;
  padding: 0 20px;
  box-sizing: border-box;
  overflow: hidden;
}

.member-content-row-2__image-column {
  position: relative;
  overflow: hidden;
}

.member-content-row-2__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.member-content-row-2__text-column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 0 60px 0 120px; /* ~15% left inset matches Figma text offset within column */
  gap: 60px;
}

.member-content-row-2__fact-heading {
  font-family: "VT323", monospace;
  font-weight: 400;
  font-size: 32px;
  line-height: 32px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #C4C4C4;
  margin: 0;
}

.member-content-row-2__fact-content {
  max-width: 580px;
}

.member-content-row-2__fact-content p {
  font-family: "MinionPro", serif;
  font-weight: 400;
  font-size: 36px;
  font-style: italic;
  line-height: 60px;
  color: #C4C4C4;
  margin: 0;
}

/* No full-width image: collapse the 2-col grid + fixed 875px height so the
   interesting-fact text isn't trapped in the left half of an empty box.
   Compound-class specificity (0,2,0) is used deliberately so these win over
   the single-class rules in the @media (max-width: 1024px/768px) blocks.
   This file is intentionally !important-free (cleanup complete 2026-05-17) —
   keep it that way; do not add !important to new rules here. */
.member-content-row-2.member-content-row-2--no-image {
  grid-template-columns: 1fr;
  height: auto;
}

.member-content-row-2--no-image .member-content-row-2__text-column {
  /* zero the 120px in-column inset — the row's own `padding: 0 20px`
     gutter now aligns the text to the same left edge as the breadcrumb,
     name, and .l-container content above it */
  padding: 0;
}

/* Desktop: match the fun-fact column width to the body copy above it.
   Mirror row-1's `2fr 1fr` grid + 60px gap (same 1420 max-width / 20px
   gutter) so the text tracks .member-content-row-1__main pixel-for-pixel
   and fluidly — not a hardcoded width that drifts below 1420px. */
@media (min-width: 1025px) {
  .member-content-row-2.member-content-row-2--no-image {
    grid-template-columns: 2fr 1fr;
    column-gap: 60px;
  }
  .member-content-row-2--no-image .member-content-row-2__fact-content {
    max-width: none; /* fill the 2fr track; base 580px clamp would shrink it */
  }
}
/* ==========================================================================
   MEMBER CAROUSEL SECTION - FOUC PREVENTION
   ========================================================================== */
/* ==========================================================================
   MEMBER CAROUSEL SECTION
   ========================================================================== */
/* Section is full-width; overflow: hidden clips both left bleed and right peek
   at the viewport edges — the advancing slide intentionally bleeds left
   (mirrors the right-side peek of the next slide). */
.member-carousel-section {
  margin: 50px 0;
  padding: 0;
  overflow: hidden;
}

/* Rule and heading live inside .l-container in the template, so they
   automatically align with WORK / MENU (l-container inner content edge). */
.member-carousel__rule {
  width: 100%;
  margin-bottom: 40px;
}

.member-carousel-title {
  font-family: "VT323", monospace;
  font-size: 28px;
  line-height: 32px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #C4C4C4;
  text-align: left;
  margin: 0 0 40px;
}

/* Carousel container — left edge aligns with l-container inner content edge
   (same position as WORK / MENU / footer CTA).
   opacity/visibility hidden until Swiper initialises (FOUC prevention). */
.member-carousel {
  position: relative;
  margin-left: max(20px, (100% - 1420px) / 2 + 20px);
  padding-bottom: 55px; /* 20px functional clearance + 15px visual gap + 20px for removed min-height */
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease-in-out;
}

/* Reveal once Swiper has applied its class.
   overflow: visible lets the exiting slide bleed off the left edge
   (mirrors right-side peek); the section provides the viewport clip. */
.member-carousel.swiper {
  opacity: 1;
  visibility: visible;
  overflow: visible;
}

/* ---- Pre-Swiper FOUC fallback track ---- */
.member-carousel__track {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  min-height: 760px; /* 588px image + ~172px content */
}

.member-carousel__track::-webkit-scrollbar {
  display: none;
}

/* Pre-Swiper slide dimensions — only constrain on desktop (slidesPerView: 'auto').
   At ≤1024 Swiper computes slide widths from container/slidesPerView; flex-basis
   must NOT pin 447px or Swiper's inline width is overridden in flex layout. */
.member-carousel__slide {
  scroll-snap-align: start;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

@media (min-width: 1025px) {
  .member-carousel__slide {
    flex: 0 0 447px;
    width: 447px;
  }
}
/* Swiper slide / wrapper easing */
.member-carousel .swiper-slide {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.member-carousel .swiper-wrapper {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* FOUC min-height overrides for smaller screens */
@media (max-width: 1024px) {
  .member-carousel__track {
    min-height: 620px;
    gap: 15px;
  }
  /* Bound the carousel to .l-container content edges on tablet/mobile so
     slides exactly fit the viewport (no left/right peek). Overrides the
     desktop overflow: visible peek pattern. */
  .member-carousel {
    margin-right: max(20px, (100% - 1420px) / 2 + 20px);
  }
  .member-carousel.swiper {
    overflow: hidden;
  }
}
@media (max-width: 768px) {
  .member-carousel__track {
    min-height: 575px;
    gap: 10px;
  }
}
@media (max-width: 480px) {
  /* Match .l-container's 15px mobile padding so the carousel aligns
     with the rest of the page chrome at small viewports. */
  .member-carousel {
    margin-left: 15px;
    margin-right: 15px;
  }
}
/* Loading spinner (shown before Swiper initialises) */
.member-carousel::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 40px;
  height: 40px;
  border: 3px solid rgba(196, 196, 196, 0.3);
  border-top: 3px solid #C4C4C4;
  border-radius: 50%;
  animation: carousel-loading 1s linear infinite;
  z-index: 10;
}

.member-carousel.swiper::before {
  display: none;
}

@keyframes carousel-loading {
  0% {
    transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    transform: translate(-50%, -50%) rotate(360deg);
  }
}
/* ---- Card styling (desktop 447 × 588 px) ---- */
/* Card width = (l-container content width − 2 × gap) / 3
   = (1380 − 40) / 3 ≈ 447 px; aligns right edge of 3rd card with MENU. */
.member-carousel .member-item {
  width: 447px;
  flex: 0 0 447px;
}

.member-carousel .member-item__link {
  width: 447px;
  display: block;
  text-decoration: none;
  color: inherit;
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease-in-out;
}

.member-carousel .member-item__thumbnail__container {
  width: 447px;
  height: 588px;
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
  background: rgba(196, 196, 196, 0.1);
}

.member-carousel .member-item__thumbnail,
.member-carousel .member-item__thumbnail__hover {
  width: 447px;
  height: 588px;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
  object-position: center;
  transition: opacity 0.5s ease-in-out;
}

.member-carousel .member-item__thumbnail__hover {
  opacity: 0;
}

.member-carousel .member-item__thumbnail__container:hover .member-item__thumbnail__hover {
  opacity: 1;
}

.member-carousel .member-item__content {
  width: 447px;
  padding: 20px 0 0;
}

.member-carousel .member-item__title {
  font-family: "MinionPro", serif;
  font-size: 40px;
  line-height: 56px;
  color: #C4C4C4;
  font-weight: normal;
  margin: 10px 0 0;
  text-transform: none;
  letter-spacing: 0;
  text-align: left;
}

.member-carousel .member-item__position {
  font-family: "VT323", monospace;
  font-size: 24px;
  line-height: 32px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #C4C4C4;
  margin: 0;
  padding: 0;
}

/* ---- Prev / Next carousel navigation — right-aligned below the carousel ---- */
.member-carousel__nav {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  /* 45px + 10px left-padding of next + 10px right-padding of prev = 65px between SVG chevrons */
  gap: 45px;
  margin-top: 30px;
}

.member-carousel__prev,
.member-carousel__next {
  background: transparent;
  border: none;
  padding: 10px;
  cursor: pointer;
  line-height: 0;
  min-width: auto; /* override theme button defaults */
}

.member-carousel__prev svg,
.member-carousel__next svg {
  display: block;
  transition: transform 0.2s ease;
  transform-origin: center;
}

.member-carousel__prev svg path,
.member-carousel__next svg path {
  transition: stroke-opacity 0.2s ease;
}

.member-carousel__prev:hover svg path,
.member-carousel__next:hover svg path {
  stroke-opacity: 1;
}

/* Suppress the theme-wide button:hover background in _base.scss — hover
   effect is a 10% chevron scale, not a background flood. */
.member-carousel__prev:hover,
.member-carousel__next:hover {
  background: transparent;
  color: inherit;
}

.member-carousel__prev:hover svg {
  transform: translateX(-3px) scale(1.1);
}

.member-carousel__next:hover svg {
  transform: translateX(3px) scale(1.1);
}

.member-carousel__prev:focus-visible,
.member-carousel__next:focus-visible {
  outline: 2px solid rgba(196, 196, 196, 0.8);
  outline-offset: 2px;
}

/* Swiper disabled state — only applies when loop is off; with loop: true this
   rarely triggers, but keep it so the visual remains coherent if loop changes. */
.member-carousel__prev.swiper-button-disabled,
.member-carousel__next.swiper-button-disabled {
  cursor: default;
}

.member-carousel__prev.swiper-button-disabled svg path,
.member-carousel__next.swiper-button-disabled svg path {
  stroke-opacity: 0.3;
}

/* ==========================================================================
   RESPONSIVE DESIGN
   ========================================================================== */
@media (max-width: 1024px) {
  .member-content-row-1 {
    grid-template-columns: 2fr 1fr; /* Keep 2-column layout */
    gap: 40px;
    padding: 0 30px;
  }
  .member-content-row-1__featured-image {
    width: 320px;
    height: 420px;
  }
  /* Tablet career milestones styling */
  .member-content-row-1__milestones {
    max-width: 320px;
  }
  .member-milestones__heading {
    font-size: 22px;
    line-height: 30px;
  }
  .member-milestone__item {
    font-size: 22px;
    line-height: 34px;
  }
  .member-content-row-1__main p {
    font-size: 36px;
    line-height: 40px;
  }
  .member-main-content__acf-content {
    /* Desktop uses fixed height + flex-end to align bio bottom with featured image.
       At <=1024 that alignment is wasted vertical space, so let the container size to
       content and use margin-top for an explicit gap below the name/title/email block. */
    height: auto;
    justify-content: flex-start;
    margin-top: 50px;
  }
  .member-main-content__existing-content {
    margin-top: 30px;
    padding-top: 30px;
  }
  .member-main-content__existing-content p,
  .member-main-content__existing-content ul,
  .member-main-content__existing-content ol {
    font-size: 24px;
    line-height: 30px;
  }
  .member-content-row-2 {
    height: 600px;
    margin: 60px auto;
  }
  .member-content-row-2__text-column {
    padding: 0 40px 0 60px;
    gap: 40px;
  }
  .member-content-row-2__fact-heading {
    font-size: 28px;
    line-height: 28px;
  }
  .member-content-row-2__fact-content p {
    font-size: 36px;
    line-height: 55px;
  }
  /* Tablet Carousel — Swiper controls slide widths (slidesPerView: 2) */
  .member-carousel .member-item {
    width: 100%;
    flex: 0 0 auto;
    min-width: unset;
  }
  .member-carousel .member-item__link {
    width: 100%;
  }
  .member-carousel .member-item__thumbnail__container {
    width: 100%;
    height: auto;
    aspect-ratio: 460/605;
  }
  .member-carousel .member-item__thumbnail,
  .member-carousel .member-item__thumbnail__hover {
    width: 100%;
    height: 100%;
    object-position: center top;
  }
  .member-carousel .member-item__content {
    width: 100%;
    min-height: 100px;
  }
}
@media (max-width: 768px) {
  .member-hero {
    margin-top: 200px;
    margin-bottom: 60px;
  }
  .member-hero__image {
    min-height: 300px;
    max-height: 400px;
  }
  /* Tablet breadcrumb styling */
  .member-breadcrumb-container {
    font-size: 14px;
    line-height: 14px;
    padding: 0 0 20px 0;
    margin-bottom: 15px;
    gap: 10px;
  }
  /* Tablet: scale gap below the details block proportionally to 1024 */
  .member-main-content__acf-content {
    height: auto;
    justify-content: flex-start;
    margin-top: 40px;
  }
  .member-content-row-1 {
    grid-template-columns: 1fr; /* Collapse to single column at tablet */
    gap: 30px;
    padding: 0 20px;
    margin-bottom: 60px;
  }
  .member-content-row-1__featured-image {
    width: 100%;
    max-width: 320px;
    height: auto;
    aspect-ratio: 460/605;
    object-fit: contain;
    margin: 0 auto;
  }
  /* Mobile career milestones styling */
  .member-content-row-1__milestones {
    max-width: 100%;
  }
  .member-milestones__heading {
    font-size: 20px;
    line-height: 28px;
    margin-bottom: 15px;
  }
  .member-milestone__item {
    font-size: 20px;
    line-height: 30px;
    margin-bottom: 12px;
  }
  .member-content-row-1__main p {
    font-size: 32px;
    line-height: 32px;
  }
  .member-main-content__existing-content {
    margin-top: 25px;
    padding-top: 25px;
  }
  .member-main-content__existing-content p,
  .member-main-content__existing-content ul,
  .member-main-content__existing-content ol {
    font-size: 20px;
    line-height: 26px;
  }
  .member-details__name {
    font-size: 28px;
    line-height: 36px;
  }
  .member-details__position {
    font-size: 18px;
    line-height: 24px;
  }
  /* Mobile member details in main content */
  .member-content-row-1__main .member-details {
    margin-bottom: 25px;
    padding-bottom: 20px;
  }
  /* Mobile member main content - remove large top margin */
  .member-main_content {
    margin-top: 0;
  }
  .member-content-row-2 {
    grid-template-columns: 1fr;
    height: auto;
    margin: 50px auto;
  }
  .member-content-row-2__image-column {
    height: auto;
  }
  .member-content-row-2__image {
    height: auto;
    object-fit: contain;
  }
  .member-content-row-2__text-column {
    justify-content: flex-start;
    padding: 0; /* outer .member-content-row-2 supplies the 20px gutter — don't double-pad */
    gap: 30px;
  }
  .member-content-row-2__fact-heading {
    font-size: 24px;
    line-height: 24px;
    text-align: left;
  }
  .member-content-row-2__fact-content {
    max-width: 100%;
    margin-top: 15px;
  }
  .member-content-row-2__fact-content p {
    font-size: 28px;
    line-height: 40px;
    text-align: left;
  }
  .member-carousel-section {
    margin: 80px 0;
  }
  /* Mobile Carousel — Swiper controls slide widths (slidesPerView: 1) */
  .member-carousel .member-item {
    width: 100%;
    flex: 0 0 auto;
    min-width: unset;
  }
  .member-carousel .member-item__link {
    width: 100%;
  }
  .member-carousel .member-item__thumbnail__container {
    width: 100%;
    height: auto;
    aspect-ratio: 460/605;
  }
  .member-carousel .member-item__thumbnail,
  .member-carousel .member-item__thumbnail__hover {
    width: 100%;
    height: 100%;
    object-position: center top;
  }
  .member-carousel .member-item__content {
    width: 100%;
    min-height: 90px;
  }
}
/* Tablet-only (481–768): place Highlights LEFT and featured image RIGHT on the same row
   inside .member-content-row-1__sidebar. Reduces vertical scrolling by collapsing two
   stacked blocks (image-row ~420px + highlights-row) into a single side-by-side row.
   Lives AFTER the @media (max-width: 768px) block so its grid declarations win the
   source-order tiebreaker; the @media (max-width: 480px) block below resets to stack. */
@media (min-width: 481px) and (max-width: 768px) {
  .member-content-row-1__sidebar {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 30px;
    align-items: start;
  }
  .member-content-row-1__milestones {
    grid-column: 1;
    grid-row: 1; /* Pin to row 1; sparse auto-flow would otherwise drop it to row 2 because the image (DOM-first) is placed at col 2 and the placement cursor only moves forward. */
    align-self: stretch; /* Match the row's height (= image's 320×~421) so the top/bottom HRs anchor to the image's top and bottom edges. */
    max-width: 100%;
    margin: 0;
    gap: 15px; /* desktop 55px is too sparse at tablet width */
  }
  /* Top HR sits at the top of the stretched flex column naturally; bottom HR uses
     margin-top: auto to absorb leftover space and lock to the bottom edge — keeps
     alignment with image bottom regardless of how few or many highlights items exist. */
  .member-content-row-1__milestones .member-milestones__rule--bottom {
    margin-top: auto;
  }
  .member-content-row-1__featured-image {
    grid-column: 2;
    grid-row: 1;
    width: 320px;
    max-width: 320px;
    height: auto;
    aspect-ratio: 460/605;
    margin: 0;
  }
}
@media (max-width: 480px) {
  .member-hero {
    margin-top: 140px;
    margin-bottom: 40px;
  }
  .member-hero__image {
    min-height: 250px;
    max-height: 350px;
  }
  /* Mobile breadcrumb styling */
  .member-breadcrumb-container {
    font-size: 12px;
    line-height: 12px;
    padding: 0 0 15px 0;
    margin-bottom: 10px;
    gap: 8px;
  }
  .member-breadcrumb__separator {
    margin: 0 2px;
  }
  /* Mobile: smallest gap below the details block */
  .member-main-content__acf-content {
    height: auto;
    justify-content: flex-start;
    margin-top: 30px;
  }
  .member-content-row-1 {
    gap: 20px;
    padding: 0 15px;
    margin-bottom: 40px;
  }
  .member-content-row-1__featured-image {
    width: 100%;
    max-width: 280px;
    height: auto;
    aspect-ratio: 460/605;
    object-fit: contain;
    margin: 0 auto;
  }
  .member-content-row-1__main p {
    font-size: 32px;
    line-height: 32px;
  }
  .member-main-content__existing-content {
    margin-top: 20px;
    padding-top: 20px;
  }
  .member-main-content__existing-content p,
  .member-main-content__existing-content ul,
  .member-main-content__existing-content ol {
    font-size: 18px;
    line-height: 24px;
  }
  .member-details__name {
    font-size: 24px;
    line-height: 30px;
  }
  .member-details__position {
    font-size: 16px;
    line-height: 20px;
  }
  /* Tablet member details in main content */
  .member-content-row-1__main .member-details {
    margin-bottom: 30px;
    padding-bottom: 25px;
  }
  .member-content-row-2 {
    margin: 40px auto;
  }
  .member-content-row-2__text-column {
    padding: 0;
    gap: 20px;
  }
  .member-content-row-2__fact-heading {
    font-size: 20px;
    line-height: 20px;
  }
  .member-content-row-2__fact-content p {
    font-size: 24px;
    line-height: 35px;
  }
}
@media (max-width: 425px) {
  .member-content-row-1 {
    grid-template-columns: 1fr; /* Stack vertically */
    gap: 30px;
    padding: 0 15px;
    text-align: left; /* Left-align all row-1 content on mobile */
  }
  .member-content-row-1__main {
    width: 100%;
    order: 1; /* Move main content first */
  }
  .member-content-row-1__sidebar {
    width: 100%;
    order: 2; /* Move sidebar after main content */
    align-items: center;
  }
  .member-content-row-1__featured-image {
    width: 100%;
    max-width: 100%; /* Fill sidebar width — left/right edges align with breadcrumb, name, body copy */
    height: auto;
    aspect-ratio: 460/605; /* Maintain original proportions */
  }
  /* Mobile career milestones styling */
  .member-content-row-1__milestones {
    max-width: 100%;
    width: 100%;
    text-align: left; /* Keep milestones left-aligned */
  }
  .member-details__name {
    font-size: 22px;
    line-height: 28px;
    text-align: left;
  }
  .member-details__position {
    font-size: 14px;
    line-height: 18px;
    text-align: left;
    padding-right: 0;
  }
  .member-details__email {
    font-size: 16px;
    line-height: 20px;
    text-align: left;
    display: block;
    margin: 10px 0; /* No auto-center, anchor to left edge */
  }
  /* Mobile member details in main content */
  .member-content-row-1__main .member-details {
    text-align: left;
    margin-bottom: 25px;
    padding-bottom: 20px;
  }
  /* Match the ≤480 acf-content fix (this block lives later in source order, so it must
     repeat the height: auto + flex-start + margin-top pattern or the 200px gap returns). */
  .member-main-content__acf-content {
    height: auto;
    justify-content: flex-start;
    margin-top: 30px;
    text-align: left;
  }
  .member-main-content__acf-content p {
    font-size: 28px;
    line-height: 40px;
  }
  .member-content-row-1__main p {
    font-size: 28px;
    line-height: 32px;
    text-align: left;
  }
  .member-main-content__existing-content {
    text-align: left;
    margin-top: 15px;
    padding-top: 15px;
  }
  .member-main-content__existing-content p,
  .member-main-content__existing-content ul,
  .member-main-content__existing-content ol {
    font-size: 16px;
    line-height: 22px;
  }
  /* Match row-1's 15px gutter so the interesting-fact text left-edge aligns
     with the breadcrumb / name / details above. Row-2 still sets background
     (or rather, lets the page canvas show through) full-bleed because there's
     no background-color on the element itself. */
  .member-content-row-2 {
    padding: 0 15px;
  }
}
/* ==========================================================================
   NO-HERO VARIANT — extra top spacing when ACF hero_image is empty
   so the fixed header doesn't overlap the member name/body content.
   ========================================================================== */
.member-individual-page--no-hero .member-content-row-1 {
  margin-top: 260px;
}

@media (max-width: 1024px) {
  .member-individual-page--no-hero .member-content-row-1 {
    margin-top: 220px;
  }
}
@media (max-width: 768px) {
  .member-individual-page--no-hero .member-content-row-1 {
    margin-top: 180px;
  }
}
@media (max-width: 480px) {
  .member-individual-page--no-hero .member-content-row-1 {
    margin-top: 140px;
  }
}
/* Team Page Styles - extracted from page-team.php */
/* Team Header Image - Full Width Responsive */
.team-header-image-container {
  width: 100vw !important;
  height: auto !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  margin-top: 15px !important;
  margin-bottom: 0px !important;
  overflow: hidden !important;
  display: block !important;
}

.team-header-image {
  width: 98% !important;
  height: auto !important;
  max-width: none !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
  /* Base aspect ratio from your specs: 1620px × 875px = 1.85:1 */
  aspect-ratio: 1620/875 !important;
}

/* Responsive adjustments for team header image
 *
 * Gap between hero image and members grid = team-header-image-container margin-bottom (0) + members-grid margin-top (117px)
 * Target gap: 117px (Figma spec) at desktop
 * _base.scss: page-introduction padding-bottom is 100px above 700px, drops to 50px at ≤700px
 */
@media (max-width: 1024px) {
  .team-header-image-container {
    /* margin-top stays at base 15px — do not override */
    margin-bottom: 40px !important;
  }
}
@media (max-width: 768px) {
  .team-header-image-container {
    /* margin-top stays at base 15px — do not override */
    margin-bottom: 30px !important;
  }
  .team-header-image {
    /* Maintain aspect ratio on mobile */
    aspect-ratio: 1620/875 !important;
  }
  .member-item {
    margin-bottom: 20px;
  }
}
/* ≤700px: page-introduction padding-bottom drops from 100px → 50px (_base.scss).
   Compensate so gap stays ~115px: 50 + 65 = 115px */
@media (max-width: 700px) {
  .team-header-image-container {
    margin-top: 65px !important;
  }
}
@media (max-width: 480px) {
  .team-header-image-container {
    margin-top: 50px !important;
    margin-bottom: 20px !important;
  }
}
/* CLEANED UP - Page transition animation removed for custom 2-step animation implementation */
/*
 * Members Grid System
 * CSS Grid filling l-container content area — edges align with WORK/MENU nav and footer.
 * Columns: repeat(3, 1fr) with 20px gaps. At the standard 1420px l-container
 * (1380px content area), each column is ~447px wide.
 */
/* Members grid — width: 100% fills the l-container content area exactly */
body.page-template-page-team #members-grid,
body.page-template-page-team.page-id-2018 #members-grid,
html body.page #members-grid,
.page-team #members-grid,
#members-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  width: 100%;
  padding: 0;
  border: none;
  border-top: none;
  zoom: 1;
  float: none;
  clear: both;
  box-sizing: border-box;
}

/* Member item containers */
body.page-template-page-team #members-grid .member-item,
body.page-template-page-team.page-id-2018 #members-grid .member-item,
html body.page #members-grid .member-item,
.page-team #members-grid .member-item,
#members-grid .member-item {
  width: 100%;
  height: auto;
  display: block;
  position: relative;
  margin: 0 0 60px 0;
  padding: 0;
  flex: none;
  flex-direction: initial;
  align-items: initial;
  gap: initial;
}

/* Member item links */
body.page-template-page-team #members-grid .member-item__link,
body.page-template-page-team.page-id-2018 #members-grid .member-item__link,
html body.page #members-grid .member-item__link,
.page-team #members-grid .member-item__link,
#members-grid .member-item__link {
  display: block;
  width: 100%;
  height: auto;
  text-decoration: none;
  color: inherit;
  position: relative !important;
  overflow: hidden !important;
  transition: all 0.3s ease-in-out !important;
}

/* Image container — aspect ratio preserves 460×605 proportions at any column width */
body.page-template-page-team #members-grid .member-item__thumbnail__container,
body.page-template-page-team.page-id-2018 #members-grid .member-item__thumbnail__container,
html body.page #members-grid .member-item__thumbnail__container,
.page-team #members-grid .member-item__thumbnail__container,
#members-grid .member-item__thumbnail__container {
  width: 100%;
  height: auto;
  aspect-ratio: 460/605;
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
  flex: none;
  order: initial;
  flex-grow: 0;
}

/* Primary images */
body.page-template-page-team #members-grid .member-item__thumbnail,
body.page-template-page-team.page-id-2018 #members-grid .member-item__thumbnail,
html body.page #members-grid .member-item__thumbnail,
.page-team #members-grid .member-item__thumbnail,
#members-grid .member-item__thumbnail,
body.page-template-page-team #members-grid .member__thumbnail,
html body.page #members-grid .member__thumbnail {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
  object-position: center;
  transition: all 0.5s ease-in-out;
}

/* Hover images */
body.page-template-page-team #members-grid .member-item__thumbnail__hover,
body.page-template-page-team.page-id-2018 #members-grid .member-item__thumbnail__hover,
html body.page #members-grid .member-item__thumbnail__hover,
.page-team #members-grid .member-item__thumbnail__hover,
#members-grid .member-item__thumbnail__hover,
body.page-template-page-team #members-grid .member__thumbnail__hover,
html body.page #members-grid .member__thumbnail__hover {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
  object-position: center;
  opacity: 0;
  transition: all 0.5s ease-in-out;
}

/* Hover effect */
body.page-template-page-team #members-grid .member-item__thumbnail__container:hover .member-item__thumbnail__hover,
body.page-template-page-team.page-id-2018 #members-grid .member-item__thumbnail__container:hover .member-item__thumbnail__hover,
html body.page #members-grid .member-item__thumbnail__container:hover .member-item__thumbnail__hover,
.page-team #members-grid .member-item__thumbnail__container:hover .member-item__thumbnail__hover,
#members-grid .member-item__thumbnail__container:hover .member-item__thumbnail__hover {
  opacity: 1 !important;
}

/* Legacy support */
body.page-template-page-team #members-grid .member__thumbnail__container:hover .member__thumbnail__hover,
html body.page #members-grid .member__thumbnail__container:hover .member__thumbnail__hover {
  opacity: 1 !important;
}

/* Content area below images */
body.page-template-page-team #members-grid .member-item__content,
body.page-template-page-team.page-id-2018 #members-grid .member-item__content,
html body.page #members-grid .member-item__content,
.page-team #members-grid .member-item__content,
#members-grid .member-item__content {
  width: 100%;
  height: auto;
  display: block;
  padding: 20px 0 0 0;
  margin: 0;
  flex: none;
  order: initial;
  align-self: initial;
  flex-grow: 0;
  gap: initial;
  flex-direction: initial;
  align-items: initial;
}

/* Member title */
body.page-template-page-team #members-grid .member-item__title,
body.page-template-page-team.page-id-2018 #members-grid .member-item__title,
html body.page #members-grid .member-item__title,
.page-team #members-grid .member-item__title,
#members-grid .member-item__title {
  font-family: "MinionPro", "Times New Roman", serif !important;
  font-style: normal;
  font-weight: 400;
  font-size: 40px;
  line-height: 56px;
  color: #C4C4C4;
  text-transform: none;
  width: 100%;
  height: auto;
  padding: 0;
  flex: none;
  order: initial;
  align-self: initial;
  flex-grow: 0;
}

/* Member position */
body.page-template-page-team #members-grid .member-item__position,
body.page-template-page-team.page-id-2018 #members-grid .member-item__position,
html body.page #members-grid .member-item__position,
.page-team #members-grid .member-item__position,
#members-grid .member-item__position {
  font-family: "VT323", monospace;
  font-style: normal;
  font-weight: 400;
  font-size: 24px;
  line-height: 32px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #C4C4C4;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  flex: none;
  order: initial;
  align-self: initial;
  flex-grow: 0;
}

/* REMOVED: Duplicate animation overlay - replaced with proper implementation above */
/* Reset margin overrides for first row */
body.page-template-page-team #members-grid .member-item:nth-child(1),
body.page-template-page-team #members-grid .member-item:nth-child(2),
body.page-template-page-team #members-grid .member-item:nth-child(3),
html body.page #members-grid .member-item:nth-child(1),
html body.page #members-grid .member-item:nth-child(2),
html body.page #members-grid .member-item:nth-child(3) {
  margin-top: 0;
}

/* Reset any nth-child styling that might interfere */
body.page-template-page-team #members-grid .member-item:nth-child(2n+1),
html body.page #members-grid .member-item:nth-child(2n+1) {
  margin-left: 0;
  float: none;
}

/* Responsive Design */
@media (max-width: 1280px) {
  body.page-template-page-team #members-grid,
  html body.page #members-grid,
  .page-team #members-grid,
  #members-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    width: 100%;
    margin: 80px 0 0 0;
  }
  body.page-template-page-team #members-grid .member-item__title,
  html body.page #members-grid .member-item__title {
    font-size: clamp(28px, 3vw, 36px);
    line-height: clamp(36px, 4vw, 48px);
  }
  body.page-template-page-team #members-grid .member-item__position,
  html body.page #members-grid .member-item__position {
    font-size: clamp(16px, 1.8vw, 20px);
    line-height: clamp(22px, 2.4vw, 28px);
  }
}
@media (max-width: 1024px) {
  body.page-template-page-team #members-grid,
  html body.page #members-grid,
  .page-team #members-grid,
  #members-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    width: 100%;
    margin: 60px 0 0 0;
  }
  body.page-template-page-team #members-grid .member-item,
  html body.page #members-grid .member-item {
    margin-bottom: 40px;
  }
  body.page-template-page-team #members-grid .member-item__title,
  html body.page #members-grid .member-item__title {
    font-size: clamp(24px, 2.8vw, 32px);
    line-height: clamp(32px, 3.6vw, 42px);
  }
  body.page-template-page-team #members-grid .member-item__position,
  html body.page #members-grid .member-item__position {
    font-size: clamp(14px, 1.6vw, 18px);
    line-height: clamp(20px, 2.2vw, 26px);
  }
}
@media (max-width: 768px) {
  body.page-template-page-team #members-grid,
  html body.page #members-grid,
  .page-team #members-grid,
  #members-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    width: 100%;
    padding: 0;
    margin: 50px 0 0 0;
  }
  body.page-template-page-team #members-grid .member-item,
  html body.page #members-grid .member-item {
    margin-bottom: 20px;
  }
  body.page-template-page-team #members-grid .member-item__title,
  html body.page #members-grid .member-item__title {
    font-size: clamp(20px, 3.5vw, 28px);
    line-height: clamp(28px, 4.5vw, 36px);
  }
  body.page-template-page-team #members-grid .member-item__position,
  html body.page #members-grid .member-item__position {
    font-size: clamp(14px, 2.2vw, 18px);
    line-height: clamp(20px, 3vw, 24px);
  }
}
@media (max-width: 480px) {
  body.page-template-page-team #members-grid,
  html body.page #members-grid,
  .page-team #members-grid,
  #members-grid {
    grid-template-columns: 1fr !important;
    gap: 15px !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 30px 0 0 0 !important;
  }
  body.page-template-page-team #members-grid .member-item,
  body.page-template-page-team #members-grid .member-item__link,
  body.page-template-page-team #members-grid .member-item__thumbnail__container,
  body.page-template-page-team #members-grid .member-item__content,
  body.page-template-page-team #members-grid .member-item__title,
  body.page-template-page-team #members-grid .member-item__position,
  html body.page #members-grid .member-item,
  html body.page #members-grid .member-item__link,
  html body.page #members-grid .member-item__thumbnail__container,
  html body.page #members-grid .member-item__content,
  html body.page #members-grid .member-item__title,
  html body.page #members-grid .member-item__position {
    width: 100% !important;
  }
  body.page-template-page-team #members-grid .member-item__thumbnail__container,
  html body.page #members-grid .member-item__thumbnail__container {
    aspect-ratio: 460/605 !important;
    height: auto !important;
  }
  body.page-template-page-team #members-grid .member-item__thumbnail,
  body.page-template-page-team #members-grid .member-item__thumbnail__hover,
  html body.page #members-grid .member-item__thumbnail,
  html body.page #members-grid .member-item__thumbnail__hover {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    min-width: auto !important;
    min-height: auto !important;
  }
}
/* CLEANED UP - JavaScript animation system removed for custom 2-step animation implementation */
/* Team page now uses INDEPENDENT overlay animation system */
/* No CSS classes needed - animation creates separate overlay elements */
/* Work Page Styles - extracted from page-work.php */
/* ========================================
   PROJECT GRID LAYOUT — flex-wrap to prevent float hangover
   ----------------------------------------
   The legacy layout floats .project-item left, which causes a
   later row's first item to snag on a taller earlier item and
   leave a blank cell. Switching to flex-wrap makes each row
   independent of the rows above it, so items always pack 3-per-row
   regardless of individual image heights.
   ======================================== */
#project-items {
  display: flex !important;
  flex-wrap: wrap;
}

#project-items .project-item {
  float: none !important;
  flex-basis: 33.33% !important;
  min-width: 33.33% !important;
  max-width: 33.33% !important;
}

@media (max-width: 820px) {
  #project-items .project-item {
    flex-basis: 50% !important;
    min-width: 50% !important;
    max-width: 50% !important;
  }
}
@media (max-width: 464px) {
  #project-items .project-item {
    flex-basis: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
  }
}
/* ========================================
   MORE PROJECTS BUTTON — mirrors .home-articles__more
   ======================================== */
.home-projects__more {
  display: flex;
  justify-content: flex-end;
  margin-top: 20px;
}

.home-projects__more[hidden] {
  display: none;
}

@media (max-width: 650px) {
  .home-projects__more {
    margin-top: 30px;
  }
}
.home-projects__more-btn {
  color: #c4c4c4;
  background: transparent;
  border: 1px solid #c4c4c4;
  padding: 10px 20px;
  font-family: "VT323", monospace;
  font-size: 20px;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 2px;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.3s ease;
}

.home-projects__more-btn:hover,
.home-projects__more-btn:focus-visible {
  background-color: #c4c4c4;
  color: #3D2B2A;
}

/* ========================================
   WORK PAGE HERO CAROUSEL - INDEPENDENT SYSTEM
   ======================================== */
/* Carousel container - full width */
.work-hero-carousel-container {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  margin-bottom: 30px;
  overflow: hidden;
}

/* Slider wrapper */
.work-hero__slider {
  position: relative;
  width: 98%;
  margin: 0 auto;
}

/* Slides container */
.work-hero__slides {
  position: relative;
  width: 100%;
  height: auto;
  min-height: 400px;
  overflow: hidden;
  /* Parallax target — single-article-parallax.js writes translate3d here. */
  will-change: transform;
}

/* Individual slides - absolutely positioned */
.work-hero__slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  opacity: 0;
  transition: opacity 0.6s ease-in-out;
  z-index: 1;
}

/* The first slide stays in flow so .work-hero__slides gets its height from
   a single, stable child. When .active moves to a different slide, only
   opacity/z-index change — no reflow, no layout flash. All slide images
   share the same aspect-ratio (1620/875) and width, so the wrapper height
   driven by slide 1 fits any other slide stacked on top. */
.work-hero__slide:first-child {
  position: relative;
}

/* Active slide */
.work-hero__slide.active {
  opacity: 1;
  z-index: 2;
}

/* The first slide ships from PHP with .is-loading-image so its opacity is
   pinned to 0 until the <img> reports load. Specificity 0,3,0 beats
   .work-hero__slide.active (0,2,0). When JS strips the class, the base
   .work-hero__slide opacity transition (0.6s) runs as a fade-in tied to
   image readiness — replacing the old "image pops in once bytes arrive"
   behavior with a smooth reveal. */
.work-hero__slide.active.is-loading-image {
  opacity: 0;
}

/* Hero images - EXACT SPECIFICATIONS */
.work-hero__image {
  width: 98% !important;
  height: auto !important;
  max-width: none !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
  aspect-ratio: 1620/875 !important;
  margin: 0 auto;
}

/* Navigation controls */
.work-hero__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  display: flex;
  justify-content: space-between;
  padding: 0 20px;
  z-index: 10;
  pointer-events: none;
}

/* Work Hero Navigation — REMOVED (BugHerd Phase 2: Row 27) */
.work-hero__prev,
.work-hero__next {
  display: none !important;
}

/* Hover effects for buttons */
.work-hero__prev:hover,
.work-hero__next:hover {
  background: rgba(0, 0, 0, 0.8) !important;
  transform: translateY(-50%) scale(1.1) !important;
}

/* Responsive adjustments */
@media (max-width: 1024px) {
  .work-hero-carousel-container {
    margin-top: 40px;
    margin-bottom: 20px;
  }
}
@media (max-width: 768px) {
  .work-hero-carousel-container {
    margin-top: 30px;
    margin-bottom: 15px;
  }
  .work-hero__slides {
    min-height: 280px;
  }
  .work-hero__nav {
    padding: 0 10px;
  }
  .work-hero__prev {
    left: 10px !important;
  }
  .work-hero__next {
    right: 10px !important;
  }
}
@media (max-width: 480px) {
  .work-hero-carousel-container {
    margin-top: 20px;
    margin-bottom: 10px;
  }
  .work-hero__slides {
    min-height: 160px;
  }
  .work-hero__prev {
    left: 5px !important;
  }
  .work-hero__next {
    right: 5px !important;
  }
}
/* ========================================
   INDUSTRIES SERVED SECTION
   ======================================== */
.industries-served-section {
  width: 100%;
  max-width: 1420px;
  margin: 120px auto;
  padding: 120px 0;
  border-top: 1px solid #C4C4C4;
  border-bottom: 1px solid #C4C4C4;
}

.industries-served-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 60px;
  width: 55%;
  margin: 0 auto;
  padding: 0;
}

.industries-served__title {
  width: 100%;
  font-family: "VT323", monospace;
  font-style: normal;
  font-weight: 400;
  font-size: 32px;
  line-height: 32px;
  text-align: center;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: #C4C4C4;
  margin: 0;
  padding-right: 0;
}

.industries-served__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 40px;
  width: 100%;
}

.industries-served__heading {
  width: 100%;
  font-family: "MinionPro", serif;
  font-style: normal;
  font-weight: 400;
  font-size: 48px;
  line-height: 56px;
  text-align: center;
  color: #C4C4C4;
  margin: 0;
}

.industries-served__text {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
}

.industries-served__text p {
  max-width: 1045px;
  font-family: "MinionPro", serif;
  font-style: normal;
  font-weight: 400;
  font-size: 30px;
  line-height: 40px;
  text-align: center;
  leading-trim: both;
  text-edge: cap;
  color: var(--CHDL-Gray, #C4C4C4);
  margin: 0;
  padding-right: 0;
}

/* Responsive adjustments */
@media (max-width: 1024px) {
  .industries-served-section {
    margin: 80px auto;
    padding: 80px 0;
  }
  .industries-served-container {
    gap: 50px;
  }
  .industries-served__heading {
    font-size: 38px;
    line-height: 48px;
  }
  .industries-served__text p {
    font-size: 26px;
    line-height: 36px;
  }
}
@media (max-width: 768px) {
  .industries-served-section {
    margin: 60px auto;
    padding: 60px 0;
  }
  .industries-served-container {
    width: 85%;
    gap: 40px;
    padding: 0;
  }
  .industries-served__title {
    font-size: 28px;
    line-height: 28px;
  }
  .industries-served__heading {
    font-size: 32px;
    line-height: 42px;
  }
  .industries-served__text p {
    font-size: 22px;
    line-height: 32px;
  }
}
@media (max-width: 480px) {
  .industries-served-section {
    margin: 40px auto;
    padding: 40px 0;
  }
  .industries-served-container {
    width: 92%;
    gap: 30px;
    padding: 0;
  }
  .industries-served__title {
    font-size: 24px;
    line-height: 24px;
  }
  .industries-served__heading {
    font-size: 28px;
    line-height: 36px;
  }
  .industries-served__text p {
    font-size: 20px;
    line-height: 28px;
  }
}
/* ========================================
   PARTIAL CLIENT LIST SECTION
   ======================================== */
.partial-client-list-section {
  width: 100%;
  max-width: 1420px;
  margin: 0 auto 120px;
  padding: 0;
}

.partial-client-list-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 60px;
  width: 100%;
}

.partial-client-list__heading {
  width: 100%;
  font-family: "MinionPro", serif;
  font-style: normal;
  font-weight: 400;
  font-size: 48px;
  line-height: 60px;
  letter-spacing: 0;
  text-align: center;
  text-transform: none;
  color: #C4C4C4;
  margin: 0;
  padding-right: 0;
}

.partial-client-list__image-container {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.partial-client-list__image-container img {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
}

/* Responsive adjustments */
@media (max-width: 1024px) {
  .partial-client-list-section {
    margin-bottom: 80px;
  }
  .partial-client-list-container {
    gap: 50px;
  }
}
@media (max-width: 768px) {
  .partial-client-list-section {
    margin-bottom: 60px;
  }
  .partial-client-list-container {
    gap: 40px;
    padding: 0 30px;
  }
  .partial-client-list__heading {
    font-size: 36px;
    line-height: 54px;
  }
}
@media (max-width: 480px) {
  .partial-client-list-section {
    margin-bottom: 40px;
  }
  .partial-client-list-container {
    gap: 30px;
    padding: 0 20px;
  }
  .partial-client-list__heading {
    font-size: 30px;
    line-height: 45px;
  }
}
/* Approach Page Styles - extracted from page-approach.php */
/* Approach Page Styles */
/* Hero Image - Full Width No Padding (matching member-hero) */
.approach-hero-image-container {
  width: 100vw !important;
  height: auto !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  margin-top: -50px !important;
  margin-bottom: 80px !important;
  overflow: hidden !important;
  display: block !important;
}

.approach-hero-image {
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
  /* Base aspect ratio: 1620px × 875px = 1.85:1 */
  aspect-ratio: 1620/875 !important;
}

/* Approach Content Wrapper - Single Column Layout */
.approach-content-wrapper {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 30px !important;
  max-width: 902px !important;
  margin: 0 !important;
}

/* Main Column - 2/3 width */
.approach-main-column {
  width: 100%;
  min-width: 0; /* Prevent overflow */
}

/* Breadcrumb Navigation */
.approach-breadcrumb-container {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  padding: 0 0 30px 0;
  gap: 12px;
  font-family: "VT323", monospace;
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 16px;
  color: #C4C4C4;
  margin-bottom: 20px;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
}

.approach-breadcrumb__link {
  color: #C4C4C4;
  text-decoration: none;
  transition: all 0.3s ease;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
}

.approach-breadcrumb__link:hover {
  opacity: 0.7;
  text-decoration: underline;
}

.approach-breadcrumb__home {
  opacity: 0.5;
}

.approach-breadcrumb__separator {
  opacity: 0.5;
  margin: 0 4px;
}

.approach-breadcrumb__current {
  font-weight: 700;
  opacity: 1;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
}

/* Page Title and Tagline Section */
.approach-details {
  text-align: left;
  margin-bottom: 50px;
}

.approach-details__title {
  color: var(--CHDL-Gray, #C4C4C4);
  font-family: "VT323", monospace;
  font-size: 32px;
  font-style: normal;
  font-weight: 400;
  line-height: 32px;
  letter-spacing: 4.8px;
  text-transform: uppercase;
  margin: 0 0 100px 0;
}

.approach-details__tagline {
  font-family: "VT323", monospace;
  font-size: 54px;
  line-height: 1;
  letter-spacing: 6px;
  text-transform: uppercase;
  color: #C4C4C4;
  margin: 0;
  font-weight: normal;
}

.approach-details__tagline p {
  font-family: "VT323", monospace;
  font-size: 54px;
  line-height: 1;
  margin: 0;
}

/* Page Introduction */
.approach-page-introduction {
  font-family: "MinionPro", serif;
  font-size: 48px;
  font-style: normal;
  font-weight: 400;
  line-height: 60px;
  color: #C4C4C4;
}

.approach-page-introduction p {
  font-family: "MinionPro", serif;
  font-size: 48px;
  font-style: normal;
  font-weight: 400;
  line-height: 60px;
  color: #C4C4C4;
  margin-bottom: 40px;
}

.approach-page-introduction p:last-child {
  margin-bottom: 0;
}

/* ACF Main Content Styling */
.approach-main-content__acf-content {
  font-family: "MinionPro", serif;
  font-size: 24px;
  line-height: 36px;
  color: #C4C4C4;
  margin-bottom: 25px;
}

.approach-main-content__acf-content p {
  margin-bottom: 20px;
}

.approach-main-content__acf-content p:last-child {
  margin-bottom: 0;
}

.approach-main-content__acf-content h2,
.approach-main-content__acf-content h3,
.approach-main-content__acf-content h4 {
  font-family: "Libre Franklin", Arial, sans-serif;
  font-weight: 400;
  margin-top: 40px;
  margin-bottom: 20px;
  color: #C4C4C4;
}

/* Existing Post Content Styling */
.approach-main-content__existing-content {
  font-family: "Libre Franklin", "Helvetica Neue", Arial, sans-serif;
  font-size: 24px;
  line-height: 35px;
  color: #C4C4C4;
  margin-top: 40px;
  padding-top: 40px;
  border-top: 1px solid #c4c4c4;
}

.approach-main-content__existing-content p {
  margin-bottom: 25px;
}

.approach-main-content__existing-content h1,
.approach-main-content__existing-content h2,
.approach-main-content__existing-content h3,
.approach-main-content__existing-content h4,
.approach-main-content__existing-content h5,
.approach-main-content__existing-content h6 {
  font-family: "MinionPro", serif;
  color: #C4C4C4;
  font-weight: normal;
  text-transform: none;
  letter-spacing: 0;
  margin-bottom: 20px;
}

.approach-main-content__existing-content ul,
.approach-main-content__existing-content ol {
  font-family: "MinionPro", serif;
  font-size: 24px;
  line-height: 36px;
  color: #C4C4C4;
  margin-bottom: 25px;
  padding-left: 30px;
}

.approach-main-content__existing-content li {
  margin-bottom: 10px;
}

/* Sidebar Column - 1/3 width */
.approach-sidebar-column {
  width: 100%;
  min-width: 0; /* Prevent overflow */
  display: flex;
  flex-direction: column;
  align-items: center;
}

.approach-sidebar-content {
  width: 100%;
  font-family: "VT323", monospace;
  font-size: 16px;
  line-height: 24px;
  color: #C4C4C4;
  padding: 20px;
  background: rgba(196, 196, 196, 0.05);
  border: 1px solid #c4c4c4;
}

.approach-sidebar-content p {
  margin-bottom: 15px;
}

.approach-sidebar-content p:last-child {
  margin-bottom: 0;
}

/* Responsive adjustments for approach content */
@media (max-width: 1024px) {
  .approach-hero-image-container {
    margin-bottom: 60px !important;
  }
}
@media (max-width: 768px) {
  .approach-content-wrapper {
    width: 100%;
    gap: 24px;
    margin: 0 0 60px 0;
  }
  .approach-hero-image-container {
    /* Clear the fixed header (matches member-hero pattern) so logo + agency tagline stay visible above hero */
    margin-top: 200px !important;
    margin-bottom: 40px !important;
  }
  .approach-details {
    margin-bottom: 30px;
  }
  .approach-details__title {
    font-size: 28px;
    line-height: 28px;
    margin: 0 0 60px 0;
  }
  .approach-details__tagline {
    font-size: 36px;
  }
  .approach-details__tagline p {
    font-size: 36px;
  }
  .approach-page-introduction {
    font-size: 28px;
    line-height: 40px;
  }
  .approach-page-introduction p {
    font-size: 28px;
    line-height: 40px;
    margin-bottom: 28px;
  }
}
@media (max-width: 480px) {
  .approach-hero-image-container {
    /* Clear the fixed header (matches member-hero pattern) so logo + agency tagline stay visible above hero */
    margin-top: 140px !important;
    margin-bottom: 30px !important;
  }
  .approach-page-introduction {
    margin-bottom: 60px;
  }
  .approach-content-wrapper {
    gap: 20px;
    margin: 0;
  }
  .approach-details {
    margin-bottom: 20px;
  }
  .approach-details__title {
    font-size: 22px;
    line-height: 22px;
    margin: 0 0 40px 0;
  }
  .approach-details__tagline {
    font-size: 28px;
  }
  .approach-details__tagline p {
    font-size: 28px;
  }
  .approach-page-introduction {
    font-size: 22px;
    line-height: 32px;
  }
  .approach-page-introduction p {
    font-size: 22px;
    line-height: 32px;
    margin-bottom: 22px;
  }
}
.awards-hero-image-container {
  width: 100vw !important;
  height: auto !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  margin-top: 15px;
  margin-bottom: 60px !important;
  overflow: hidden !important;
  display: block !important;
}

.awards-hero-image {
  width: 98% !important;
  height: auto !important;
  max-width: none !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
  aspect-ratio: 1620/875 !important;
}

.awards-content-wrapper {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 20px;
  max-width: 1420px;
  margin: 120px auto;
}

.awards-main-column {
  width: 100%;
  min-width: 0;
}

.awards-listings {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0;
  gap: 0;
  width: 100%;
  max-width: 940px;
}

.award-item {
  border-bottom: 1px solid #C4C4C4;
  padding: 30px 0;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 70px;
  width: 100%;
}
.award-item:first-child {
  border-top: 1px solid #C4C4C4;
}
.award-item:last-child {
  border-bottom: 1px solid #C4C4C4;
}

.award-name,
.award-description {
  font-family: "Libre Franklin", Arial, sans-serif;
  font-style: normal;
  font-weight: 400;
  font-size: 24px;
  line-height: 36px;
  color: #C4C4C4;
  margin: 0;
  padding: 0;
  flex: 0 0 45%;
  text-transform: none;
  letter-spacing: normal;
}

.award-name {
  order: 0;
}

.award-description {
  order: 1;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

.awards-sidebar-column {
  width: 100%;
  min-width: 0;
}

.awards-sidebar-images {
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.awards-sidebar-image-item {
  width: 100%;
  overflow: hidden;
  background: rgba(196, 196, 196, 0.1);
}

.awards-sidebar-image {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.3s ease;
}
.awards-sidebar-image:hover {
  transform: scale(1.05);
}

@media (max-width: 1024px) {
  .awards-hero-image-container {
    margin-bottom: 40px !important;
  }
  .awards-content-wrapper {
    gap: 30px;
  }
  .award-name,
  .award-description {
    width: auto;
    flex: 1;
    min-width: 0;
  }
}
@media (max-width: 768px) {
  .awards-hero-image-container {
    margin-bottom: 30px !important;
  }
  .awards-content-wrapper {
    grid-template-columns: 1fr;
    gap: 50px;
    margin: 40px auto;
  }
  .awards-sidebar-images {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
  .award-item {
    gap: 15px;
    padding: 20px 0;
  }
  .award-name,
  .award-description {
    font-size: 20px;
    line-height: 30px;
    flex: 0 0 45%;
  }
}
@media (max-width: 700px) {
  .awards-hero-image-container {
    margin-top: 65px;
  }
}
@media (max-width: 480px) {
  .awards-hero-image-container {
    margin-top: 50px;
    margin-bottom: 20px !important;
  }
  .awards-content-wrapper {
    margin: 30px auto;
    padding: 0 15px;
  }
  .awards-sidebar-images {
    grid-template-columns: 1fr;
  }
  .award-name,
  .award-description {
    font-size: 16px;
    line-height: 24px;
  }
  .award-item {
    padding: 15px 0;
  }
}
@media (max-width: 425px) {
  .awards-content-wrapper {
    padding: 0 20px;
  }
}
/* Single Article Page Styles - extracted from single.php */
/* Article Page Styles - Approach Style Layout */
/* Hero Image - Full Width No Padding (matching approach) */
.articlepage-hero-image-container {
  width: 100vw !important;
  height: auto !important;
  position: relative !important;
  left: 50% !important;
  right: 50% !important;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
  margin-bottom: 80px !important;
  overflow: hidden !important;
  display: block !important;
}

.articlepage-hero-image {
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
  /* Aspect ratio matches the article-graphics source dimensions
     (928 × 600). Why: a taller container ratio cropped the
     top/bottom labels off the full-bleed letterform graphics. */
  aspect-ratio: 928/600 !important;
  /* No scale baseline — full image fills the container at scroll 0.
     Parallax is purely translate3d, set inline by JS. The container's
     overflow:hidden clips the image's bottom protrusion as it translates. */
  will-change: transform;
}

/* Article Content Wrapper - 2/3 + 1/3 Layout (matching project__information) */
.articlepage-content-wrapper {
  display: grid !important;
  grid-template-columns: 70% 30% !important;
  gap: 0 !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 auto 80px auto !important;
  align-items: start !important;
  box-sizing: border-box !important;
  position: relative !important;
}

/* Main Column - 2/3 width (70% like project__intro) */
.articlepage-main-column {
  width: 100%;
  min-width: 0; /* Prevent overflow */
  padding-right: 20px; /* Space between columns like project__intro__details */
}

@media (max-width: 700px) {
  .articlepage-main-column {
    padding-right: 0;
  }
}
/* Breadcrumb Navigation */
.articlepage-breadcrumb-container {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  padding: 0 0 75px 0;
  gap: 12px;
  font-family: "VT323", monospace;
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 16px;
  color: #C4C4C4;
  margin: 90px 0;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
}

.articlepage-breadcrumb__link {
  color: #C4C4C4;
  text-decoration: none;
  transition: all 0.3s ease;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
}

.articlepage-breadcrumb__link:hover {
  opacity: 0.7;
  text-decoration: underline;
}

.articlepage-breadcrumb__home {
  opacity: 0.5;
}

.articlepage-breadcrumb__separator {
  opacity: 0.5;
  margin: 0 4px;
}

.articlepage-breadcrumb__current {
  font-weight: 700;
  opacity: 1;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
}

/* Article Details - Title Section */
.articlepage-details {
  text-align: left;
  margin-bottom: 40px;
}

.articlepage-details__title {
  font-family: "VT323", monospace;
  font-size: 32px;
  font-style: normal;
  font-weight: 400;
  line-height: 32px;
  letter-spacing: 4.8px;
  color: #C4C4C4;
  text-transform: uppercase;
  margin: 0 0 10px 0;
}

.articlepage-details__tagline {
  font-family: "MinionPro", serif;
  font-size: 48px;
  line-height: 60px;
  color: #C4C4C4;
  margin: 0;
  padding: 0;
  font-weight: normal;
  text-align: left;
  text-transform: none;
  margin-top: 40px;
  letter-spacing: 0;
}

/* Article Page Introduction (Blurb) */
.articlepage-page-introduction {
  font-family: "Libre Franklin", Arial, sans-serif;
  font-size: 24px;
  line-height: 36px;
  color: #C4C4C4;
  padding-bottom: 30px;
}

.articlepage-page-introduction p {
  font-family: "Libre Franklin", Arial, sans-serif;
  font-size: 24px;
  line-height: 36px;
  color: #C4C4C4;
  margin-bottom: 36px;
}

.articlepage-page-introduction p:last-child {
  margin-bottom: 0;
}

/* Main Content Styling */
.articlepage-main-content {
  font-family: "Libre Franklin", Arial, sans-serif;
  font-size: 24px;
  line-height: 36px;
  color: #C4C4C4;
  margin-bottom: 25px;
}

.articlepage-main-content p {
  font-family: "Libre Franklin", Arial, sans-serif;
  font-size: 24px;
  line-height: 36px;
  color: #C4C4C4;
  margin-bottom: 20px;
}

.articlepage-main-content p:last-child {
  margin-bottom: 0;
}

.articlepage-main-content h1,
.articlepage-main-content h2,
.articlepage-main-content h3,
.articlepage-main-content h4,
.articlepage-main-content h5,
.articlepage-main-content h6 {
  font-family: "Libre Franklin", Arial, sans-serif;
  font-weight: 400;
  margin-top: 40px;
  margin-bottom: 20px;
  color: #C4C4C4;
}

/* Phase 2/Body-Heading-Phase-2 */
.articlepage-main-content h3 {
  font-family: "VT323", monospace;
  font-size: 26px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: #C4C4C4;
}

.articlepage-main-content ul,
.articlepage-main-content ol {
  font-family: "Libre Franklin", Arial, sans-serif;
  font-size: 24px;
  line-height: 36px;
  color: #C4C4C4;
  margin-bottom: 25px;
  padding-left: 30px;
}

.articlepage-main-content li {
  margin-bottom: 10px;
}

/* GHL Form Shortcode Alignment */
.articlepage-main-content .ghl_form,
.articlepage-main-content [class*=ghl],
.articlepage-main-content iframe[src*=gohighlevel] {
  text-align: left;
  margin-left: 0;
  margin-right: auto;
}

@media (max-width: 700px) {
  .articlepage-main-content .ghl_form,
  .articlepage-main-content [class*=ghl],
  .articlepage-main-content iframe[src*=gohighlevel] {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }
}
/* Images in main content - full width of articlepage-content-wrapper container */
.articlepage-main-content img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  margin: 40px 0 !important;
}

/* Sidebar Column - 1/3 width (30% like project__services) */
.articlepage-sidebar-column {
  width: 100%;
  min-width: 0; /* Prevent overflow */
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  margin-top: 90px;
}

@media (max-width: 700px) {
  .articlepage-sidebar-column {
    margin-top: 40px;
    padding-top: 40px;
    border-top: 1px solid #c4c4c4;
    display: flex;
    flex-direction: column;
  }
  .articlepage-topics-covered--desktop {
    order: 1;
  }
  .articlepage-share-section {
    order: 2;
  }
  .articlepage-sidebar-content {
    order: 3;
  }
}
.articlepage-sidebar-content {
  width: 100%;
  overflow: hidden;
  background: rgba(196, 196, 196, 0.05);
  border: 1px solid #c4c4c4;
  padding: 0;
}

.articlepage-topics-covered {
  width: 100%;
  overflow: hidden;
  border-top: 1px solid #c4c4c4;
  padding: 20px 0 0 0;
  margin: 0 0 35px 0;
  font-family: "MinionPro", serif;
  font-size: 24pt;
  line-height: 1.4;
  color: #C4C4C4;
  text-transform: uppercase;
  text-align: left;
}

/* Hide mobile version by default, show only desktop */
.articlepage-topics-covered--mobile {
  display: none;
}

.articlepage-topics-covered--desktop {
  display: block;
}

.articlepage-share-section--mobile {
  display: none;
}

.articlepage-share-section--desktop {
  display: block;
}

/* On mobile, hide desktop version and show mobile version */
@media (max-width: 700px) {
  .articlepage-topics-covered--desktop {
    display: none;
  }
  .articlepage-topics-covered--mobile {
    display: block;
    margin: 30px 0;
    padding: 30px 0 30px 0;
  }
  .articlepage-share-section--desktop {
    display: none;
  }
  .articlepage-share-section--mobile {
    display: block;
  }
}
.articlepage-topics-covered-title {
  font-family: "VT323", monospace;
  font-size: 25px;
  line-height: normal;
  color: #C4C4C4;
  text-transform: uppercase;
  margin: 0 0 35px 0;
  padding: 30px 0 0 0;
  font-weight: 700;
  letter-spacing: 5.04px;
  text-align: left;
}

.articlepage-topics-covered p {
  color: #C4C4C4;
  font-family: "MinionPro", serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.4;
  clear: both;
  text-transform: uppercase;
  text-align: left;
  margin-bottom: 10px;
}

.articlepage-topics-covered p a {
  color: #C4C4C4;
  text-decoration: none;
  transition: opacity 0.3s ease;
}

.articlepage-topics-covered p a:hover {
  opacity: 0.7;
  text-decoration: underline;
}

.articlepage-topics-covered ul,
.articlepage-topics-covered ol {
  margin-bottom: 15px;
  text-transform: uppercase;
}

.articlepage-topics-covered p:last-child,
.articlepage-topics-covered ul:last-child,
.articlepage-topics-covered ol:last-child {
  margin-bottom: 0;
}

.articlepage-topics-covered li {
  margin-bottom: 8px;
  text-transform: uppercase;
}

/* Social Share Section */
.articlepage-share-section {
  width: 100%;
  overflow: visible;
  border-top: 1px solid #c4c4c4;
  border-bottom: 1px solid #c4c4c4;
  padding: 20px 0 60px 0;
  margin: 0 0 35px 0;
  text-align: left;
}

.articlepage-share-title {
  font-family: "VT323", monospace;
  font-size: 28px;
  line-height: 100%;
  color: #C4C4C4;
  text-transform: uppercase;
  margin: 0 0 30px 0;
  padding: 30px 0 0 0;
  font-weight: 700;
  letter-spacing: 0.28em;
  text-align: left;
}

.articlepage-share-icons {
  display: flex;
  gap: 30px;
  align-items: center;
}

.articlepage-share-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  color: #C4C4C4;
  transition: all 0.3s ease;
  text-decoration: none;
  overflow: visible;
  position: relative;
}

.articlepage-share-icon svg {
  width: 100%;
  height: 100%;
}

.articlepage-share-icon:hover {
  opacity: 0.7;
  transform: scale(1.1);
  z-index: 10;
}

.articlepage-sidebar-text {
  font-family: "VT323", monospace;
  font-size: 16px;
  line-height: 24px;
  color: #C4C4C4;
  padding: 20px;
}

.articlepage-sidebar-text p {
  margin-bottom: 15px;
}

.articlepage-sidebar-text p:last-child {
  margin-bottom: 0;
}

.articlepage-sidebar-image-wrapper {
  padding: 0;
}

.articlepage-sidebar-image {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.3s ease;
  object-fit: cover;
}

.articlepage-sidebar-image:hover {
  transform: scale(1.05);
}

/* Article Page Footer/Back Link */
.articlepage__footer {
  margin-top: 60px;
  padding-top: 30px;
  border-top: 1px solid #c4c4c4;
}

.articlepage__back-link {
  color: #c4c4c4;
  text-decoration: none;
  font-size: 16px;
  transition: color 0.3s ease;
}

.articlepage__back-link:hover {
  color: #000;
}

/* Related Articles Section - Match home-articles styling */
.articlepage-related-articles {
  margin: 0 auto 80px auto;
  max-width: 1420px;
  padding: 0 20px;
}

/* Scroll-triggered fade-in for related-article cards.
   Animates `opacity` and `top` (with position: relative) — never `transform` —
   so no ancestor of the card creates a containing block for the
   page-transition click animation, which sets position: fixed on the <a>. */
.articlepage-related-articles .project-item {
  position: relative;
  top: 20px;
  opacity: 0;
  transition: opacity 0.6s ease-out, top 0.6s ease-out;
  transition-delay: calc(var(--i, 1) * 80ms);
}

.articlepage-related-articles.is-revealed .project-item {
  top: 0;
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .articlepage-related-articles .project-item {
    top: 0;
    opacity: 1;
    transition: none;
  }
}
/* Force 2 column grid for articlepage related articles only.
   Mirrors home-page card behaviour: drop base .project-item 10px side padding,
   keep 20px column-gap between cards, allow hover overflow. */
.articlepage-related-articles .article-item {
  flex: 0 0 calc(50% - 10px);
  max-width: calc(50% - 10px);
  padding: 0;
  margin-bottom: 0;
  overflow: visible;
  float: none;
}

@media (max-width: 650px) {
  .articlepage-related-articles .article-item {
    flex: 0 0 100%;
    max-width: 100%;
  }
}
/* Mirror .home-articles typography for the related articles grid */
.articlepage-related-articles .homepage-article-grid-title {
  font-family: "MinionPro", "Helvetica Neue", Arial, sans-serif;
  margin: 23px 0 0 0;
  font-size: 40px;
  font-weight: normal;
  color: #C4C4C4;
  line-height: 50px;
}

.articlepage-related-articles .homepage-article-blurb p {
  font-family: "MinionPro", "Helvetica Neue", Arial, sans-serif;
  color: #C4C4C4;
  text-align: left;
  font-size: 20px;
  margin-top: 18px;
  line-height: 32px;
}

.articlepage-related-articles .read-more-label {
  display: block;
  font-family: "VT323", "Courier New", monospace;
  font-size: 20px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 2px;
  color: #C4C4C4;
  text-transform: uppercase;
  margin: 12px 0 38px 0;
}

.articlepage-related-articles .project-item:hover .read-more-label {
  text-decoration: underline;
}

.articlepage-related-articles .project-item__thumbnail {
  overflow: hidden;
}

.articlepage-related-articles .project-item__thumbnail img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.5s ease-out;
  will-change: transform;
}

.articlepage-related-articles .project-item:hover .project-item__thumbnail img {
  transform: scale(1.1);
}

@media (max-width: 900px) {
  .articlepage-related-articles .homepage-article-grid-title {
    font-size: 36px;
    margin: 14px 0 0 0;
  }
  .articlepage-related-articles .homepage-article-blurb p {
    margin-top: 12px;
    margin-bottom: 0;
  }
  .articlepage-related-articles .read-more-label {
    margin-top: 10px;
  }
}
@media (max-width: 650px) {
  .articlepage-related-articles .homepage-article-grid-title {
    font-size: 28px;
    margin: 10px 0 0 0;
  }
  .articlepage-related-articles .homepage-article-blurb p {
    margin-top: 10px;
  }
  .articlepage-related-articles .read-more-label {
    margin-top: 8px;
  }
}
@media (max-width: 480px) {
  .articlepage-related-articles .homepage-article-blurb p {
    font-size: 16px;
    line-height: 26px;
    margin-top: 8px;
  }
  .articlepage-related-articles .read-more-label {
    margin-top: 6px;
  }
}
.articlepage-related-articles-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 60px;
  border-top: 1px solid #c4c4c4;
  padding-top: 20px;
}

.articlepage-related-articles-header h2 {
  font-family: "VT323", monospace;
  font-size: 32px;
  line-height: 24px;
  color: #C4C4C4;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-weight: normal;
}

.articlepage-view-all-btn {
  font-family: "VT323", monospace;
  font-size: 14px;
  line-height: 18px;
  color: #C4C4C4;
  background: none;
  border: 1px solid #c4c4c4;
  padding: 8px 16px;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  transition: all 0.3s ease;
}

.articlepage-view-all-btn:hover {
  background-color: #c4c4c4;
  color: #3D2B2A;
}

/* Visible article title below thumbnail */
.articlepage-article-title {
  font-family: "MinionPro", serif;
  font-size: 30px;
  line-height: 45px;
  color: #C4C4C4;
  margin: 10px 0 0 0;
  padding: 0;
  font-weight: 100;
}

@media (max-width: 1024px) {
  .articlepage-details__tagline {
    margin-top: 150px;
  }
  .articlepage-hero-image-container {
    margin-bottom: 60px !important;
  }
}
@media (max-width: 768px) {
  .articlepage-details__tagline {
    margin-top: 80px;
  }
  .articlepage-hero-image-container {
    /* Clear the fixed header (matches member-hero pattern) so logo + agency tagline stay visible above hero */
    margin-top: 200px !important;
    margin-bottom: 40px !important;
  }
  .articlepage-content-wrapper {
    margin: 0 auto 50px auto;
  }
  .articlepage-breadcrumb-container {
    margin: 60px 0;
    padding-bottom: 50px;
  }
}
@media (max-width: 768px) {
  .articlepage-article-title {
    font-size: 24px;
    line-height: 36px;
    margin: 8px 0 0 0;
  }
}
@media (max-width: 464px) {
  .articlepage-article-title {
    font-size: 20px;
    line-height: 30px;
    margin: 6px 0 0 0;
  }
}
/* Responsive adjustments for article page */
@media (max-width: 768px) {
  .articlepage-hero-image {
    /* Maintain aspect ratio on mobile */
    aspect-ratio: 928/600 !important;
  }
}
@media (max-width: 700px) {
  .articlepage-content-wrapper {
    grid-template-columns: 1fr !important;
    gap: 0 !important;
  }
  /* Force content to be visible on mobile - override scroll-reveal animation */
  .articlepage-main-column.animate-scroll-reveal,
  .articlepage-sidebar-column.animate-scroll-reveal,
  .articlepage-details.animate-scroll-reveal,
  .articlepage-page-introduction.animate-scroll-reveal,
  .articlepage-main-content.animate-scroll-reveal,
  .articlepage-topics-covered--mobile.animate-scroll-reveal,
  .articlepage-share-section--mobile.animate-scroll-reveal,
  .articlepage-flexible-content .section.animate-scroll-reveal,
  .articlepage-related-articles.animate-scroll-reveal,
  .articlepage-related-articles .project-item {
    opacity: 1 !important;
    transform: translateY(0) !important;
    transition: none !important;
  }
  /* Ensure revealed state is also visible */
  .articlepage-main-column.animate-scroll-reveal.scroll-revealed,
  .articlepage-sidebar-column.animate-scroll-reveal.scroll-revealed,
  .articlepage-details.animate-scroll-reveal.scroll-revealed,
  .articlepage-page-introduction.animate-scroll-reveal.scroll-revealed,
  .articlepage-main-content.animate-scroll-reveal.scroll-revealed,
  .articlepage-topics-covered--mobile.animate-scroll-reveal.scroll-revealed,
  .articlepage-share-section--mobile.animate-scroll-reveal.scroll-revealed,
  .articlepage-flexible-content .section.animate-scroll-reveal.scroll-revealed,
  .articlepage-related-articles.animate-scroll-reveal.scroll-revealed {
    opacity: 1 !important;
    transform: translateY(0) !important;
  }
  .articlepage-details__title {
    font-size: 32px;
    line-height: 32px;
  }
  .articlepage-details__tagline {
    font-size: 32px;
    line-height: 48px;
    margin-top: 40px;
  }
  .articlepage-page-introduction {
    font-size: 24px;
    line-height: 36px;
    margin-bottom: 30px;
    padding-bottom: 20px;
  }
  .articlepage-page-introduction p {
    font-size: 24px;
    line-height: 36px;
  }
  .articlepage-main-content {
    font-size: 24px;
    line-height: 36px;
  }
  .articlepage-main-content p {
    font-size: 24px;
    line-height: 36px;
    margin-bottom: 15px;
  }
  .articlepage-main-content h1,
  .articlepage-main-content h2,
  .articlepage-main-content h3,
  .articlepage-main-content h4,
  .articlepage-main-content h5,
  .articlepage-main-content h6 {
    font-size: 24px;
    margin-top: 25px;
    margin-bottom: 15px;
  }
  .articlepage-main-content h3 {
    font-size: 18px;
  }
  .articlepage-main-content ul,
  .articlepage-main-content ol {
    font-size: 24px;
    line-height: 36px;
    margin-bottom: 15px;
    padding-left: 20px;
  }
  .articlepage-main-content li {
    margin-bottom: 8px;
  }
  .articlepage-sidebar-content {
    font-size: 14px;
    line-height: 20px;
  }
  .articlepage-breadcrumb-container {
    font-size: 12px;
    line-height: 14px;
    margin-bottom: 15px;
    padding-bottom: 30px;
  }
  .articlepage-topics-covered {
    margin: 5px 0 0 0;
  }
  h3.articlepage-topics-covered-title {
    line-height: 1.3em;
    padding-top: 0px;
    font-size: 0.9rem;
  }
  .articlepage-topics-covered p {
    line-height: 200%;
  }
  #articlepage-related-articles {
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
  }
  .articlepage-related-articles-title {
    font-size: 16px;
    line-height: 20px;
  }
}
@media (max-width: 480px) {
  .articlepage-hero-image-container {
    /* Clear the fixed header (matches member-hero pattern) so logo + agency tagline stay visible above hero */
    margin-top: 140px !important;
    margin-bottom: 30px !important;
  }
  .articlepage-content-wrapper {
    margin: 30px auto;
  }
  .articlepage-details__title {
    font-size: 30px;
    line-height: 30px;
  }
  .articlepage-details__tagline {
    font-size: 30px;
    line-height: 45px;
    margin-top: 20px;
  }
  .articlepage-page-introduction,
  .articlepage-main-content {
    font-size: 24px;
    line-height: 36px;
  }
  .articlepage-page-introduction p {
    font-size: 24px;
    line-height: 36px;
  }
  .articlepage-main-content p {
    font-size: 24px;
    line-height: 36px;
    margin-bottom: 12px;
  }
  .articlepage-main-content h1,
  .articlepage-main-content h2,
  .articlepage-main-content h3,
  .articlepage-main-content h4,
  .articlepage-main-content h5,
  .articlepage-main-content h6 {
    font-size: 24px;
    margin-top: 20px;
    margin-bottom: 12px;
  }
  .articlepage-main-content h3 {
    font-size: 18px;
  }
  .articlepage-main-content ul,
  .articlepage-main-content ol {
    font-size: 24px;
    line-height: 36px;
    margin-bottom: 12px;
    padding-left: 15px;
  }
  .articlepage-main-content li {
    margin-bottom: 6px;
  }
  .articlepage-sidebar-content {
    font-size: 12px;
    line-height: 18px;
    padding: 15px;
  }
  .articlepage-breadcrumb-container {
    font-size: 10px;
    line-height: 12px;
    margin-bottom: 10px;
    padding-bottom: 10px;
    gap: 6px;
  }
  .articlepage-breadcrumb__separator {
    margin: 0 2px;
  }
}
@media (max-width: 480px) {
  #articlepage-related-articles {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .articlepage-related-articles-section {
    margin-top: 80px;
    margin-bottom: 60px;
  }
  .articlepage-related-articles-header {
    margin-bottom: 40px;
  }
  .articlepage-related-articles-title {
    font-size: 14px;
    line-height: 18px;
  }
}
@media (max-width: 425px) {
  .articlepage-content-wrapper {
    padding: 0px;
  }
  .articlepage-view-all-btn {
    min-width: auto;
    width: auto;
  }
  .articlepage-page-introduction,
  .articlepage-main-content {
    font-size: 18px;
    line-height: 27px;
  }
  .articlepage-page-introduction p,
  .articlepage-main-content p {
    font-size: 18px;
    line-height: 27px;
  }
  .articlepage-main-content h1,
  .articlepage-main-content h2,
  .articlepage-main-content h3,
  .articlepage-main-content h4,
  .articlepage-main-content h5,
  .articlepage-main-content h6 {
    font-size: 18px;
  }
  .articlepage-main-content h3 {
    font-size: 18px; /* Holds Figma spec at all breakpoints */
  }
  .articlepage-main-content ul,
  .articlepage-main-content ol {
    font-size: 18px;
    line-height: 27px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .animate-scroll-reveal,
  .animate-scroll-reveal.scroll-revealed,
  .articlepage-related-articles .project-item {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  .articlepage-hero-image {
    transform: none !important;
  }
}
/* Top spacing for the related-projects section on single-project pages.
   Project gallery has no trailing margin, so the related-section needs
   its own breathing room above the header rule. */
.projectpage-related-projects {
  margin-top: 80px;
}

@media (max-width: 900px) {
  .projectpage-related-projects {
    margin-top: 60px;
  }
}
@media (max-width: 650px) {
  .projectpage-related-projects {
    margin-top: 40px;
  }
}
/* Project blurbs come from a plain-text ACF field (no <p> wrapper),
   so the article-side `.homepage-article-blurb p` rule misses them.
   Apply the same typography directly to the blurb element. */
.projectpage-related-projects .homepage-article-blurb {
  display: block;
  font-family: "MinionPro", "Helvetica Neue", Arial, sans-serif;
  color: #C4C4C4;
  text-align: left;
  font-size: 20px;
  margin-top: 18px;
  line-height: 32px;
}

@media (max-width: 900px) {
  .projectpage-related-projects .homepage-article-blurb {
    margin-top: 12px;
    margin-bottom: 0;
  }
}
@media (max-width: 650px) {
  .projectpage-related-projects .homepage-article-blurb {
    margin-top: 10px;
  }
}
@media (max-width: 480px) {
  .projectpage-related-projects .homepage-article-blurb {
    font-size: 16px;
    line-height: 26px;
    margin-top: 8px;
  }
}
/* Single Project Page Styles - extracted from single-project.php */
/* Project Breadcrumb Navigation - Matching Article Page Style */
.project-breadcrumb-container {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  padding: 0 0 30px 0;
  gap: 12px;
  font-family: "VT323", monospace;
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 16px;
  color: #C4C4C4;
  margin-bottom: 20px;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
}

.project-breadcrumb__link {
  color: #C4C4C4;
  text-decoration: none;
  transition: all 0.3s ease;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
}

.project-breadcrumb__link:hover {
  opacity: 0.7;
  text-decoration: underline;
}

.project-breadcrumb__home {
  opacity: 0.5;
}

.project-breadcrumb__separator {
  opacity: 0.5;
  margin: 0 4px;
}

.project-breadcrumb__current {
  font-weight: 700;
  opacity: 1;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
}

/* Responsive adjustments */
@media (max-width: 700px) {
  .project-breadcrumb-container {
    font-size: 12px;
    line-height: 14px;
    margin-bottom: 15px;
    padding-bottom: 15px;
  }
}
@media (max-width: 480px) {
  .project-breadcrumb-container {
    font-size: 10px;
    line-height: 12px;
    margin-bottom: 10px;
    padding-bottom: 10px;
    gap: 6px;
  }
  .project-breadcrumb__separator {
    margin: 0 2px;
  }
}
/*
	Print stylesheet.

	Include the variable and mixin files, and others as neccesary.

	Add anything you want to hide near the end of the file
	along with the screen reader elements and skip links.

*/
/* Font Awesome
/* + + + + + + + + + + + + + + + + + + + + + + + + + + + */
/* Variables
/* + + + + + + + + + + + + + + + + + + + + + + + + + + + */
/*

	THESE ARE JUST DEFAULTS and should be changed to suit the needs of your project.

	Note:
		+ Mixin names should describe what things ARE, not what they look like.
		+ As much as it kills me, colour is spelled the American way to be consistant
		  with colour declarations in css.

	For example, the following are good variable names:
	$font-base, $font-header, $color-brand, $color-accent, $breakpoint-midsize, $breakpoint-small

	These are bad variable names:
	$blue, $orange, $helvetica, $ipad, $iphone

	On naming conventions, a good convention is to use underscores for spaces, and dashes to indicate
	a subsidiary relationship. All punctuation is meaningful, and this allows you to easily group
	variables by type.

	The following are good examples of variable groups named with a dash to indicate descendency:

	$font-x
	$font-weight-x
	$color-x
	$icon-x
	$breakpoint-x

*/
/* The following variables are needed by some of our mixins and can be adjust to meet
   the needs of the site.
*/
/* Mixins
/* + + + + + + + + + + + + + + + + + + + + + + + + + + + */
@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  a[href^=tel]:after,
  a[href^="#"]:after {
    content: "";
  }
  pre,
  blockquote {
    border: 1px solid #000;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  .u-screen-reader,
  .skip-links__link {
    display: none;
  }
}

/*# sourceMappingURL=style.css.map */
