/*
Theme Name: Bonfire
Theme URI: https://bonfire.com.au
Author:  Bonfire (DE)
Author URI: https://bonfire.com.au
Description: Bonfire site rebuilt
Version: 2.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/*! Humaan DNA v4.0 */
/*! modern-normalize | MIT License | https://github.com/sindresorhus/modern-normalize */
/* Document
   ========================================================================== */
/**
 * Use a better box model (opinionated).
 */
html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

*,
*::before,
*::after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

/**
 * Use a more readable tab size (opinionated).
 */
:root {
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4;
}

/**
 * Correct the line height in all browsers.
 */
html {
  line-height: 1.15;
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
 */
body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * Add the correct height in Firefox.
 */
hr {
  height: 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * Add the correct text decoration in Chrome, Edge, and Safari.
 */
abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp,
pre {
  font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * Remove the inheritance of text transform in Edge and Firefox.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type='button']:-moz-focusring,
[type='reset']:-moz-focusring,
[type='submit']:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome and Firefox.
 */
progress {
  vertical-align: baseline;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type='search'] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Chrome and Safari.
 */
summary {
  display: list-item;
}

/*
@mixin transition($trans-type, $trans-speed, $trans-timing, null) {
	transition: $trans-type $trans-speed $trans-timing;
	will-change: $trans-type;
}
*/
.hidden, input[type="checkbox"] {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px !important;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
}

.hide {
  display: none;
}

nav ul {
  list-style: none;
}

nav ul,
nav ul li {
  margin: 0;
  padding: 0;
}

.cover {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center 35%;
}

@font-face {
  font-family: 'Maison Neue';
  src: url('css/fonts/MaisonNeue-Book.woff2') format('woff2'), url('css/fonts/MaisonNeue-Book.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-stretch: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Maison Neue';
  src: url('css/fonts/MaisonNeue-Book.woff2') format('woff2'), url('css/fonts/MaisonNeue-Book.woff') format('woff');
  font-weight: 400;
  font-style: italic;
  font-stretch: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Maison Neue';
  src: url('css/fonts/MaisonNeue-Bold.woff2') format('woff2'), url('css/fonts/MaisonNeue-Bold.woff') format('woff');
  font-weight: 800;
  font-style: normal;
  font-stretch: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Mark Pro';
  src: url('css/fonts/Mark-Heavy.woff2') format('woff2'), url('css/fonts/Mark-Heavy.woff') format('woff');
  font-weight: 900;
  font-style: normal;
  font-stretch: normal;
  font-display: swap;
}

html {
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
}

html, body {
  text-rendering: geometricPrecision;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  font-size: 14px;
  line-height: 1.7;
  font-family: "Maison Neue", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
}

@media screen and (min-width: 480px) {
  body {
    font-size: calc(14px + 4 * (100vw - 480px) / 1320);
  }
}

@media screen and (min-width: 1800px) {
  body {
    font-size: 18px;
  }
}

body ::-moz-selection {
  background: #f1e82b;
  color: #111111;
}

body ::selection {
  background: #f1e82b;
  color: #111111;
}

h1, h2, .wp-google-place .wp-google-rating, h3, h4, h5, h6,
.title {
  font-family: "Mark Pro", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 800;
  margin: 0;
  color: white;
  letter-spacing: -.03em;
  line-height: 1;
}

.title-underline {
  color: #f1e82b;
  position: relative;
  display: inline-block;
}

.title-underline svg {
  position: absolute;
  top: 100%;
  left: -5%;
  width: 110%;
  height: auto;
  display: block;
  margin-top: 5px;
}

.text-fineprint {
  font-size: 12px;
}

@media screen and (min-width: 480px) {
  .text-fineprint {
    font-size: calc(12px + 2 * (100vw - 480px) / 1320);
  }
}

@media screen and (min-width: 1800px) {
  .text-fineprint {
    font-size: 14px;
  }
}

.text-fineprint a {
  color: #f1e82b;
  text-decoration: underline;
  -webkit-transition: opacity 0.2s ease-out;
  transition: opacity 0.2s ease-out;
}

.text-fineprint a:hover {
  opacity: .5;
}

p {
  margin: 0;
}

p + p {
  margin: 25px 0 0;
}

strong {
  font-family: "Maison Neue", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 800;
}

em,
i {
  font-family: "Maison Neue", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
  font-weight: 400;
  font-style: italic;
}

a {
  color: var(--color-primary);
  outline: 0;
  transition: opacity 0.2s linear;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
  opacity: .65;
}

.focus-visible {
  outline: 1px dotted #212121;
  outline: 5px auto -webkit-focus-ring-color;
}

@font-face {
  font-family: "icons";
  src: url('css/icons/icons.woff2') format('woff2'), url('css/icons/icons.woff') format('woff'), url('css/icons/icons.ttf') format('truetype');
  font-display: swap;
}

.icon:before {
  font-family: "icons";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  text-decoration: none;
  text-transform: none;
}

.icon-chevron-down:before {
  content: "\EA01";
}

.icon-chevron-up:before {
  content: "\EA02";
}

.icon-facebook:before {
  content: "\EA03";
}

.icon-instagram:before {
  content: "\EA04";
}

.icon-linkedin-circle:before {
  content: "\EA05";
}

.icon-linkedin:before {
  content: "\EA06";
}

.icon-mail:before {
  content: "\EA07";
}

.icon-play:before {
  content: "\EA09";
}

.icon-twitter:before {
  content: "\EA0B";
}


/* ========================================================================================
   BONFIRE THEME CSS -- ORGANIZED SECTIONS
   Written from scratch during Phase 3 template builds.
   Legacy CSS is preserved below the LEGACY marker for pages not yet rebuilt.
   ======================================================================================== */


/* ---- Variables ---- */

:root {
    --color-bg-dark: #09060D;
    --color-bg: #111111;
    --color-bg-alt: #231f20;
    --color-primary: #f1e82b;
    --color-text: rgba(255, 255, 255, 0.85);
    --color-text-muted: rgba(255, 255, 255, 0.55);
    --color-white: #fff;
    --color-black: #000;
    --color-border: #303030;
    --font-body: "Maison Neue", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
    --font-heading: "Mark Pro", "HelveticaNeue-Light", "Helvetica Neue Light", "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
}


/* ---- General / Shared ---- */

body {
    background-color: var(--color-bg);
    color: var(--color-text);
}

.content-main {
    position: relative;
    z-index: 2;
}


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

svg {
    min-height: 0;
    min-width: 0;
}

html {
    height: 100%;
}

html {
    scroll-behavior: smooth;
}

/* Details/Summary accordion */
details summary {
    cursor: pointer;
    list-style: none;
    position: relative;
    padding-right: 2em;
}

details summary::-webkit-details-marker {
    display: none;
}

details summary::after {
    content: '+';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 1.5em;
    line-height: 1;
    transition: transform 0.3s ease;
}

details[open] summary::after {
    content: '\2212';
}

details .details-content {
    overflow: hidden;
    animation: detailsOpen 0.3s ease;
}

@keyframes detailsOpen {
    from { opacity: 0; transform: translateY(-0.5em); }
    to { opacity: 1; transform: translateY(0); }
}

/* Dialog modal */
dialog {
    border: none;
    border-radius: 4px;
    padding: 2em;
    max-width: 90vw;
    max-height: 90vh;
    overflow: auto;
}

dialog::backdrop {
    background: rgba(0, 0, 0, 0.7);
}

/* ---- Layout ---- */

.container,
.widget-brands {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

.container-page {
    width: 100%;
    min-height: 100vh;
    overflow: hidden;
    position: relative;
}

.container-full {
    max-width: none;
}

@media (min-width: 1440px) {
    .container,
    .widget-brands {
        max-width: 1580px;
        padding-left: 90px;
        padding-right: 90px;
    }
    .container-wide {
        max-width: 1900px;
    }
    .container-narrow {
        max-width: 1140px;
    }
}

@media (min-width: 1024px) and (max-width: 1439px) {
    .container,
    .widget-brands {
        max-width: 1520px;
        padding-left: 60px;
        padding-right: 60px;
    }
    .container-wide {
        max-width: 1840px;
    }
    .container-narrow {
        max-width: 1080px;
    }
}

@media (max-width: 1023px) {
    .container,
    .widget-brands {
        max-width: 1460px;
        padding-left: 30px;
        padding-right: 30px;
    }
    .container-wide {
        max-width: 1780px;
    }
    .container-narrow {
        max-width: 1020px;
    }
}

.bg-black {
    background-color: black;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.grid-walled {
    display: flex;
    flex-wrap: wrap;
}

@media (min-width: 960px) {
    .grid-walled {
        flex-direction: row;
        margin-left: -40px;
        width: auto;
    }
    .grid-walled .hero-internal-title {
        margin-left: 0;
        margin-right: 0;
        text-align: left;
    }
    .grid-walled > .grid-col {
        width: 50%;
        padding-left: 40px;
    }
    .grid-walled > .grid-col:first-child {
        width: 52.778%;
    }
    .grid-walled > .grid-col:last-child {
        width: 47.222%;
    }
    .grid-walled .form-walled {
        position: absolute;
        right: 0;
        top: 0;
        width: calc(47.222% - 40px);
    }
    .grid-walled .hero-internal-meta,
    .grid-walled .cms-block-content {
        max-width: 640px;
    }
}

@media (max-width: 959px) {
    .grid-walled {
        flex-direction: column;
    }
    .grid-walled .form-walled {
        margin: 0 auto;
        width: 100%;
    }
}

.collapse {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.2s ease-out;
    margin: 25px 0 0;
}

.collapse p:last-child {
    margin-bottom: 25px;
}

/* ---- Components ---- */

/* -- Accordion -- */

.accordion-list {
    counter-reset: i;
    border: 1px solid var(--color-border);
    border-radius: 4px;
}

.accordion {
    position: relative;
    counter-increment: i;
    transition: all 0.2s ease-out;
    transform: translate3d(0, 0, 0);
}

.accordion + .accordion::before {
    content: '';
    display: block;
    background-color: var(--color-border);
    position: absolute;
    top: 0;
    width: 100%;
    height: 1px;
}

.accordion-trigger {
    cursor: pointer;
    padding: 1.5em;
    width: 100%;
    font-weight: 600;
    display: flex;
    align-items: center;
    background: none;
    border: none;
    color: inherit;
    text-align: left;
}

.accordion-trigger::before {
    content: counter(i, decimal-leading-zero);
    color: var(--color-primary);
    margin-right: 1em;
}

.accordion-trigger h3 {
    font-weight: 600;
    color: var(--color-text);
    font-family: inherit;
    font-size: 100%;
}

.accordion-trigger .icon {
    margin-left: auto;
    color: var(--color-primary);
    font-size: 1rem;
    transform: rotate(0);
    transition: transform 0.2s ease-out;
}

.accordion-list .accordion-panel {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
}

.accordion-panel > div {
    padding: 1em 4em;
}

@media (max-width: 767px) {
    .accordion-panel > div {
        padding: 1em 2em;
    }
}

[data-active="true"] .accordion-trigger {
    color: var(--color-primary);
}

[data-active="true"] .accordion-trigger h3 {
    color: var(--color-primary);
}

[data-active="true"] .accordion-trigger .icon {
    transform: rotate(180deg);
    color: currentColor;
}

[data-active="false"] .accordion-panel > div {
    transform: scale(0.95);
    opacity: 0;
}


/* -- Avatar -- */

.avatar {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    display: block;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    min-width: 40px;
    min-height: 40px;
}

.avatar-wrap {
    display: flex;
    flex-direction: row;
    align-items: center;
    font-size: 1.2rem;
    font-weight: 800;
    color: var(--color-text-muted);
    white-space: nowrap;
}

.avatar-wrap .avatar {
    margin-right: 15px;
}

.avatar-wrap strong {
    color: white;
    margin-left: 5px;
}

.avatar-wrap a {
    display: inline-block;
    color: var(--color-primary);
}

.avatar-wrap a strong {
    color: inherit;
}

.avatar-wrap a:hover,
.avatar-wrap a:focus {
    text-decoration: none;
}

/* -- Buttons -- */

button {
    border: none;
    outline: none;
    background-color: transparent;
    border-radius: 0;
}

button:hover {
    cursor: pointer;
}

.buttons {
    display: flex;
    flex-direction: row;
}

.buttons > .btn:not(:last-child),
.gform_wrapper .buttons > .gform_button:not(:last-child) {
    margin-right: 20px;
}

.btn,
.gform_wrapper .gform_button,
.hubspot-enquiry-form .hs-button,
#hiring-form-wrapper .hubspot-hiring-form .hs-button {
    display: inline-block;
    padding: 12px 15px;
    text-align: center;
    font-size: 1.5rem;
    font-weight: 800;
    line-height: 1.15;
}

.btn-wide,
.btn--wide {
    padding-left: 40px;
    padding-right: 40px;
}

.btn-block {
    display: block;
    width: 100%;
}

.btn-primary,
.btn--primary,
.gform_wrapper .gform_button,
#hiring-form-wrapper .hubspot-hiring-form .hs-button,
.hubspot-enquiry-form .hs-button {
    background-color: var(--color-primary);
    color: var(--color-bg-dark);
}

.btn-grey,
.btn--grey {
    font-weight: 400;
    background-color: var(--color-bg-alt);
    color: white;
}

.btn-outline {
    font-weight: 400;
    background-color: transparent;
    border: 1px solid #555;
    color: var(--color-white);
    text-decoration: none;
}

.btn-black {
    font-weight: 400;
    background-color: black;
    color: white;
}

.btn-small {
    font-weight: 400;
    font-size: 1.3rem;
    padding: 14px 20px;
}

@media (max-width: 480px) {
    .btn-small {
        font-size: 1.1rem;
        padding: 11px 20px;
    }
}

.btn-small.btn-wide {
    padding-left: 30px;
    padding-right: 30px;
}

.btn-large,
.btn--large,
.gform_wrapper .gform_button,
.hubspot-enquiry-form .hs-button,
#hiring-form-wrapper .hubspot-hiring-form .hs-button {
    font-size: 2.0rem;
    padding: 20px 30px;
}

.btn-large.btn-wide,
.gform_wrapper .btn-wide.gform_button {
    padding-left: 50px;
    padding-right: 50px;
}

@media (max-width: 767px) {
    .btn-large,
    .btn--large,
    .gform_wrapper .gform_button,
    .hubspot-enquiry-form .hs-button,
    #hiring-form-wrapper .hubspot-hiring-form .hs-button {
        padding: 15px 20px;
    }
}

.btn-phone {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

.btn-phone > svg {
    margin-right: 18px;
    height: 24px;
    width: auto;
}

a.btn,
.gform_wrapper a.gform_button,
button.btn,
.gform_wrapper button.gform_button,
.hubspot-enquiry-form .hs-button,
#hiring-form-wrapper .hubspot-hiring-form .hs-button {
    transition: all 0.2s ease-out;
}

a.btn:hover,
.gform_wrapper a.gform_button:hover,
button.btn:hover,
.gform_wrapper button.gform_button:hover,
.hubspot-enquiry-form .hs-button:hover,
#hiring-form-wrapper .hubspot-hiring-form .hs-button:hover {
    text-decoration: none;
}

a.btn-primary:hover,
a.btn--primary:hover,
.gform_wrapper a.gform_button:hover,
button.btn-primary:hover,
button.btn--primary:hover,
.gform_wrapper button.gform_button:hover,
#hiring-form-wrapper .hubspot-hiring-form .hs-button:hover,
.hubspot-enquiry-form .hs-button:hover {
    background-color: var(--color-white);
    color: var(--color-bg-dark);
    box-shadow: none;
    opacity: 1;
    text-decoration: none;
}

a.btn-primary:focus-visible,
a.btn--primary:focus-visible,
.gform_wrapper a.gform_button:focus-visible,
.gform_wrapper .gform_button:focus-visible,
button.btn-primary:focus-visible,
button.btn--primary:focus-visible,
.gform_wrapper button.gform_button:focus-visible,
#hiring-form-wrapper .hubspot-hiring-form .hs-button:focus-visible,
#hiring-form-wrapper .hubspot-hiring-form input.hs-button.primary:focus-visible,
.hubspot-enquiry-form .hs-button:focus-visible,
.hubspot-enquiry-form input.hs-button.primary:focus-visible {
    box-shadow: inset 0 0 0 3px var(--color-bg-dark);
    opacity: 1;
}

a.btn-grey:hover,
a.btn--grey:hover,
button.btn-grey:hover,
button.btn--grey:hover {
    background-color: var(--color-primary);
    color: var(--color-bg-dark);
    opacity: 1;
}

a.btn-outline:hover,
a.btn-outline:focus,
button.btn-outline:hover,
button.btn-outline:focus {
    background-color: transparent;
    border-color: var(--color-primary);
    color: var(--color-white);
    text-decoration: none;
    opacity: 1;
}

/* -- Skip to link -- */

.skip-to-link {
    position: fixed;
    top: 10px;
    left: 10px;
    overflow: hidden;
    width: 1px;
    height: 1px;
    margin: -1px;
    color: var(--color-bg-dark);
    background: var(--color-primary);
    opacity: 0;
    text-decoration: none;
    transition: all 0.2s ease-out;
    z-index: 102;
    outline: none;
    white-space: nowrap;
    clip: rect(0 0 0 0);
    padding: 10px 16px;
}

.skip-to-link:focus {
    overflow: visible;
    width: auto;
    height: auto;
    opacity: 1;
    clip: auto;
    white-space: normal;
    outline: none;
    text-decoration: underline;
}

.skip-to-link:hover {
    background: rgba(230, 230, 230, 0.85);
}

/* -- Share -- */

.share {
    display: inline-block;
}

.share .inner {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.share a {
    display: block;
}

.share a:hover,
.share a:focus {
    color: white;
    opacity: 1;
    text-decoration: none;
}

.share .icon,
.share .icon::before {
    display: block;
    line-height: 1;
}

.share .icon-instagram {
    font-size: 2.4rem;
}

.share .icon-facebook::before {
    font-size: 2.4rem;
}

.share .icon-twitter::before {
    font-size: 1.9rem;
}

.share .icon-linkedin::before {
    font-size: 1.9rem;
}

.share-title {
    font-family: var(--font-body);
    font-weight: 400;
    letter-spacing: normal;
    margin-right: 30px;
}

.share-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    font-size: 2.4rem;
    color: var(--color-text-muted);
}

.share-list > li:not(:last-child) {
    margin-right: 30px;
}

.share-resource {
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 4px;
    color: white;
    padding: 15px 20px;
}

.share-resource a {
    transition: opacity 0.2s ease-out;
}

.share-resource a:hover,
.share-resource a:focus {
    opacity: 0.5;
}

.share-resource .share-title {
    font-weight: 800;
}

@media (min-width: 960px) {
    .share-resource .share-title {
        font-size: 1.4rem;
    }
}

@media (max-width: 959px) {
    .share-resource .share-title {
        font-size: 1.2rem;
    }
}

.share-resource .share-title,
.share-resource .share-list > li:not(:last-child) {
    margin-right: 20px;
}

.share-resource .icon-instagram {
    font-size: 1.7rem;
}

.share-resource .icon-facebook::before {
    font-size: 1.7rem;
}

.share-resource .icon-twitter::before {
    font-size: 1.4rem;
}

.share-resource .icon-linkedin::before {
    font-size: 1.6rem;
}

/* -- Stat -- */

.stat {
    display: block;
}

.stat,
.stat * {
    line-height: 1;
}

.stat-inner {
    position: relative;
    width: auto;
    display: inline-block;
}

.stat-inner .text {
    display: block;
    font-size: 3.0rem;
    color: white;
    font-family: var(--font-heading);
    font-weight: 800;
}

.stat-inner .arrow {
    position: absolute;
    left: 100%;
    bottom: 0;
    height: 80%;
    transform: translateX(-25%);
}

.stat-text {
    margin-top: 10px;
    line-height: 1.4;
    color: var(--color-text-muted);
    font-size: 1.6rem;
}


/* -- Filter -- */

@media (min-width: 768px) {
  .filter {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
            flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  }
  .filter > li {
    margin: 0;
    padding: 0;
    margin-bottom: 20px;
  }
  .filter > li.is-active .filter-item {
    color: white;
    font-weight: 800;
  }
  .filter > li.is-active .filter-item svg {
    opacity: 1;
    visibility: visible;
  }
  .filter > li.is-active .filter-item:hover, .filter > li.is-active .filter-item:focus {
    color: var(--color-primary);
  }
  .filter-item {
    cursor: pointer;
    display: block;
    color: var(--color-text-muted);
    position: relative;
      transition: color 0.2s linear;
    padding: 10px;
    line-height: 1;
    white-space: nowrap;
    font-size: 16px;
  }
  .filter-item svg {
    position: absolute;
    left: 50%;
    top: 100%;
  transform: translateX(-50%);
    display: block;
    width: auto;
    max-width: 125%;
    min-width: 50px;
    height: 12px;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    min-height: 12px;
  }
  .filter-item:hover, .filter-item:focus {
    color: white;
    text-decoration: none;
    opacity: 1;
  }
}

@media (max-width: 767px) {
  .filter {
    list-style: none;
    padding-top: 60px;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0;
    min-height: 60px;
    display: block;
    position: relative;
    border: 1px solid #303030;
  }
  .filter:before {
    content: '';
    border-right: 1.5px solid var(--color-primary);
    border-bottom: 1.5px solid var(--color-primary);
  transform: rotate(45deg);
    display: block;
    width: 7px;
    height: 7px;
    right: 30px;
    top: 30px;
    position: absolute;
        transition: transform 0.2s ease-out;
    }
  .filter svg {
    display: none;
  }
  .filter > li {
    margin: 0;
    padding: 0;
    display: none;
    width: 100%;
    color: var(--color-text-muted);
  }
  .filter > li.is-active {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    color: white;
  }
  .filter > li.is-active span.filter-item:hover,
  .filter > li.is-active span.filter-item:focus {
    color: var(--color-primary);
  }
  .filter > li:not(:last-child) span.filter-item {
    border-bottom: 1px solid #303030;
  }
  .filter span.filter-item {
    display: block;
    color: inherit;
    width: 100%;
    line-height: 60px;
    padding-right: 60px;
    padding-left: 30px;
    font-size: 16px;
    cursor: pointer;
      transition: color 0.2s linear;
  }
  .filter span.filter-item:hover, .filter span.filter-item:focus {
    color: white;
  }
  .filter.is-accordion-open:before {
  transform: rotate(225deg);
  }
  .filter.is-accordion-open li {
    display: block;
  }
  .section-resources .filter a.filter-item,
  .section-work .filter a.filter-item {
    display: block;
    padding: 0;
    color: inherit;
  }
  .section-resources .filter a.filter-item:hover, .section-resources .filter a.filter-item:focus,
  .section-work .filter a.filter-item:hover,
  .section-work .filter a.filter-item:focus {
    opacity: 1;
    text-decoration: none;
  }
}

@media (max-width: 479px) {
  .filter {
    padding-top: 50px;
    min-height: 50px;
  }
  .filter:before {
    content: '';
    top: 22px;
  }
  .filter span.filter-item {
    line-height: 50px;
    padding-right: 50px;
  }
}


/* -- Forms -- */

label {
  display: block;
}

fieldset {
  padding: 0;
  margin: 0;
  border: 0;
  text-align: left;
}

fieldset legend {
  color: white;
  font-family: var(--font-heading);
  font-weight: 900;
}

input[type="text"],
textarea {
  display: block;
  width: 100%;
  font-family: var(--font-body);
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 0;
  color: white;
  background: transparent;
  padding: 18px 20px;
  transition: all 0.2s ease-out;
}

input[type="text"]:focus,
textarea:focus {
  outline: none;
  border-color: var(--color-primary);
}

input[type="text"]:-webkit-autofill, input[type="text"]:-webkit-autofill:hover, input[type="text"]:-webkit-autofill:focus, input[type="text"]:-webkit-autofill:active,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
textarea:-webkit-autofill:active {
}

@media (min-width: 768px) {
  input[type="text"],
  textarea {
    font-size: 14px;
  }
}

@media (max-width: 767px) {
  input[type="text"],
  textarea {
    font-size: 16px;
  }
}

textarea {
  min-height: 100px;
  min-width: 100%;
  max-width: 100%;
}

input[type="file"] {
  cursor: pointer;
}


/* -- Form Walled -- */

.form-walled {
  padding-top: 20px;
  padding-bottom: 20px;
  padding-left: 30px;
  padding-right: 30px;
  background-color: #231f20;
}

@media (min-width: 960px) {
  .form-walled {
    padding-top: 80px;
  }
}

@media (min-width: 960px) {
  .form-walled {
    padding-bottom: 80px;
  }
}

@media (min-width: 960px) {
  .form-walled {
    padding-left: 60px;
  }
}

@media (min-width: 960px) {
  .form-walled {
    padding-right: 60px;
  }
}

.form-walled .title {
  max-width: 440px;
  text-align: center;
  line-height: 1.4;
  margin: 0 auto;
  font-size: 18px;
  margin-bottom: 20px;
}

@media (min-width: 960px) {
  .form-walled .title {
    font-size: 28px;
  }
}

@media (min-width: 960px) {
  .form-walled .title {
    margin-bottom: 60px;
  }
}

@media (max-width: 480px) {
  .form-walled .title {
    margin-bottom: 20px;
  }
}

.form-walled .btn, .form-walled .gform_wrapper .gform_button, .gform_wrapper .form-walled .gform_button,
.form-walled .text-fineprint {
  margin-top: 10px;
}

@media (min-width: 960px) {
  .form-walled .btn, .form-walled .gform_wrapper .gform_button, .gform_wrapper .form-walled .gform_button,
  .form-walled .text-fineprint {
    margin-top: 30px;
  }
}

@media (max-width: 480px) {
  .form-walled .btn, .form-walled .gform_wrapper .gform_button, .gform_wrapper .form-walled .gform_button,
  .form-walled .text-fineprint {
    margin-top: 10px;
  }
}

.form-walled .text-fineprint {
  text-align: center;
}

.form-walled label, .form-walled .btn, .form-walled .gform_wrapper .gform_button, .gform_wrapper .form-walled .gform_button {
  max-width: 520px;
  margin: 0 auto;
}


/* -- Messages -- */

.message {
  display: block;
  padding: 5px 0;
  font-size: 15px;
}

.message-error {
  color: #e00404;
}

.message-success {
  display: block;
  padding: 5px 15px;
  border-radius: 3px;
  font-size: 13px;
  font-weight: 600;
  border: 2px solid var(--color-primary);
  color: var(--color-primary);
  border-radius: 5px;
}


/* -- Newsletter -- */

.newsletter {
  display: block;
}

.newsletter,
.newsletter label,
.newsletter .inner {
  position: relative;
}

.newsletter .inner {
  display: block;
}

.newsletter .icon-mail {
  position: absolute;
  left: 0;
  top: 50%;
  font-size: 16px;
  margin-top: -8px;
}

.newsletter .icon-mail, .newsletter .icon-mail:before {
  line-height: 1;
  display: block;
}

.newsletter input[type="text"] {
  border-left: 0;
  border-top: 0;
  border-right: 0;
  padding-right: 120px;
  padding-left: 40px;
  font-size: 18px;
  height: 82px;
}

.newsletter button {
  position: absolute;
  right: 0;
  top: 20px;
}

.newsletter button.btn-grey {
  width: 90px;
}

.newsletter .message-success {
  margin-top: 10px;
  width: 100%;
}

@media (min-width: 768px) {
  .newsletter-hidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px !important;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
  }
}

@media (max-width: 767px) {
  .newsletter-hidden {
    display: block;
    font-size: 14px;
    color: white;
    margin-bottom: 0;
  }
}

@media (max-width: 480px) {
  .newsletter input[type="text"] {
    padding-right: 20px;
    padding-left: 40px;
    height: 52px;
  }
}


/* -- Pagination -- */

.pagination {
justify-content: center;
  text-align: center;
  position: relative;
  font-size: 14px;
  font-weight: 800;
}

.pagination a {
  color: var(--color-text-muted);
  text-decoration: none;
}

.pagination-prev, .pagination-next,
.pagination-list li {
  line-height: 40px;
  padding: 0;
}

.pagination, .pagination-list {
  display: flex;
  flex-direction: row;
flex-wrap: wrap;
align-items: center;
}

.pagination-list {
  list-style: none;
}

.pagination-list,
.pagination-list > li {
  margin: 0;
  padding: 0;
}

.pagination-list > li a,
.pagination-list > li .current,
.pagination-list > li.is-current {
  width: 30px;
  height: 40px;
  display: block;
}

.pagination-list li .current,
.pagination-list li.is-current {
  background-color: #231f20;
  color: white;
  border-radius: 50%;
  width: 40px;
}

.pagination-prev, .pagination-next {
  width: 40px;
  height: 40px;
  background-color: var(--color-bg);
  display: flex;
justify-content: center;
align-items: center;
  border-radius: 50%;
  border: 1px solid #303030;
}

.pagination-prev svg, .pagination-next svg {
  width: 13px;
  height: auto;
  position: relative;
  top: 0;
  transition: transform 0.2s ease-out;
}

.pagination-prev svg > *, .pagination-next svg > * {
  stroke: var(--color-primary);
}

.pagination-prev {
  margin-right: 30px;
}

.pagination-prev:hover svg{
  transform: translateX(-2px);
}

.pagination-next {
  margin-left: 30px;
}

.pagination-next:hover svg{
  transform: translateX(2px);
}

.pagination .is-disabled {
  display: none;
}


/* -- Widget Brands -- */

.widget-brands {
  list-style: none;
  margin: 0 auto;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: auto;
}

.widget-brands > li {
  padding-left: 8px;
  padding-right: 8px;
  width: 50%;
  padding-bottom: 30px;
}

@media (min-width: 480px) {
  .widget-brands > li {
    width: 33.333%;
  }
}

@media (min-width: 768px) {
  .widget-brands > li {
    width: 25%;
  }
}

@media (min-width: 960px) {
  .widget-brands > li {
    padding-left: 30px;
    padding-right: 30px;
    width: 16.66667%;
  }
  .widget-brands > li:first-child {
    margin-left: -30px;
  }
}

.widget-brands-item {
  font-size: 12px;
  width: 100%;
  margin: 0 auto;
  display: block;
  color: white;
  line-height: 1;
  text-align: center;
}

@media (min-width: 960px) {
  .widget-brands-item {
    font-size: 14px;
  }
}

@media (min-width: 1024px) {
  .widget-brands-item > *:not(.logo) {
      transition: all 0.2s linear;
    opacity: .14;
  }
}

.widget-brands-item .logo {
  width: 100%;
  height: 100px;
  display: flex;
  flex-direction: row;
align-items: center;
justify-content: center;
}

.widget-brands-item .logo > img {
  margin: 0 auto;
  display: block;
  max-width: 180px;
  max-height: 50px;
  width: auto;
  height: auto;
}

.widget-brands-item .stat {
  margin-bottom: 8px;
}

.widget-brands-item .post-stat-text {
  margin-bottom: 25px;
  display: block;
}

@media (max-width: 479px) {
  .widget-brands-item .post-stat-text {
    white-space: pre-wrap;
    min-height: 25px;
  }
}

.widget-brands-item .btn, .widget-brands-item .gform_wrapper .gform_button, .gform_wrapper .widget-brands-item .gform_button {
  opacity: 0;
  transform: translateY(-10px);
  transition: all 0.2s ease-out;
}

.widget-brands-item .btn:hover, .widget-brands-item .gform_wrapper .gform_button:hover, .gform_wrapper .widget-brands-item .gform_button:hover, .widget-brands-item .btn:focus, .widget-brands-item .gform_wrapper .gform_button:focus, .gform_wrapper .widget-brands-item .gform_button:focus {
  background-color: var(--color-primary);
  color: #111111;
}

.widget-brands-item:hover{
  text-decoration: none;
}

.widget-brands-item:hover,
.widget-brands-item:hover > *{
  opacity: 1;
}

.widget-brands-item:hover .btn, .widget-brands-item:hover .gform_wrapper .gform_button, .gform_wrapper .widget-brands-item:hover .gform_button{
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 767px) {
  .widget-brands-item {
    opacity: 1;
  }
  .widget-brands-item .logo {
    padding-left: 10px;
    padding-right: 10px;
    height: 80px;
  }
  .widget-brands-item .btn, .widget-brands-item .gform_wrapper .gform_button, .gform_wrapper .widget-brands-item .gform_button {
    opacity: 1;
  transform: translateY(0);
      transition: background-color 0.2s ease-out, color 0.2s ease-out;
  }
  .widget-brands-item:hover .btn, .widget-brands-item:hover .gform_wrapper .gform_button, .gform_wrapper .widget-brands-item:hover .gform_button{
    background-color: var(--color-primary);
    color: #111111;
  }
}


/* -- Widget Newsletter -- */

.widget-newsletter {
  background-color: #231f20;
  display: block;
  width: 100%;
  padding-left: 430px;
  padding-right: 50px;
  position: relative;
}

.widget-newsletter .title {
  font-size: 18px;
  margin-bottom: 20px;
  line-height: 1.2;
}

@media (min-width: 960px) {
  .widget-newsletter .title {
    font-size: 50px;
  }
}

@media (min-width: 960px) {
  .widget-newsletter .title {
    margin-bottom: 60px;
  }
}

.widget-newsletter-inner {
  padding-top: 30px;
  padding-bottom: 30px;
  left: 0px;
  position: relative;
  max-width: 720px;
  margin: 0 auto;
}

@media (min-width: 960px) {
  .widget-newsletter-inner {
    padding-top: 70px;
  }
}

@media (min-width: 960px) {
  .widget-newsletter-inner {
    padding-bottom: 90px;
  }
}

@media (min-width: 1200px) {
  .widget-newsletter-inner {
    left: calc(0px + -30 * (100vw - 1200px) / 600);
  }
}

@media (min-width: 960px) {
  .widget-newsletter-inner {
    left: -30px;
  }
}

.widget-newsletter .newsletter .inner {
  margin-top: -10px;
}

.widget-newsletter .newsletter input[type="text"] {
  padding-right: 150px;
}

.widget-newsletter .newsletter button {
  top: 22px;
}

.widget-newsletter .new-newsletter .gform_footer .button,
.widget-newsletter .new-newsletter .hubspot-newsletter-form .hs-button {
  background-color: #3a3536;
}

.widget-newsletter .new-newsletter .gform_footer .button:hover,
.widget-newsletter .new-newsletter .hubspot-newsletter-form .hs-button:hover,
.widget-newsletter .new-newsletter .hubspot-newsletter-form .hs-button:focus {
  background-color: var(--color-primary);
  color: var(--color-bg);
}

.widget-newsletter-fancy {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  position: absolute;
  left: -110px;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  pointer-events: none;
  width: 100%;
  max-width: 528px;
  background-image: url(../img/bg-brightest-minds--small.png);
}

.widget-newsletter-fancy:before {
  content: '';
  display: block;
  width: 100%;
  padding-top: 79.4%;
}

@media (min-width: 768px) and (max-width: 1180px) {
  .widget-newsletter .newsletter-hidden {
    clip: initial;
    width: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static !important;
  }
  .widget-newsletter .newsletter input[type="text"] {
    height: 64px;
  }
  .widget-newsletter .newsletter button {
    top: 28px;
  }
}

@media (max-width: 959px) {
  .widget-newsletter {
    padding-left: 30px;
    padding-right: 30px;
  }
  .widget-newsletter:before {
    content: '';
    display: block;
    width: 100%;
    padding-top: 80%;
  }
  .widget-newsletter .title {
    max-width: 480px;
  }
  .widget-newsletter-fancy {
    width: calc(100% + 50px);
    left: -50px;
    top: -50px;
  transform: translateY(0);
  }
  .widget-newsletter .newsletter-hidden,
  .widget-newsletter .newsletter .message {
    font-size: 13px;
    line-height: 1.4;
  }
  .widget-newsletter .newsletter-hidden {
    color: white;
  }
  .widget-newsletter .newsletter .inner {
    margin-top: -5px;
  }
  .widget-newsletter .newsletter input[type="text"] {
    padding-right: 20px;
    height: 60px;
    font-size: 16px;
  }
  .widget-newsletter .newsletter .message {
    margin-bottom: 10px;
  }
  .widget-newsletter .newsletter button {
    position: static;
    width: 100%;
  }
}

@media (min-width: 480px) and (max-width: 959px) {
  .widget-newsletter:before {
    padding-top: 345px;
  }
}


/* -- Section Textblock -- */

.section-textblock {
  color: white;
}

@media (min-width: 1440px) {
  .section-textblock .container, .section-textblock .widget-brands {
    max-width: 1040px;
  }
}

@media (max-width: 1439px) {
  .section-textblock .container, .section-textblock .widget-brands {
    max-width: 870px;
  }
}

.section-textblock-large {
  font-size: 16px;
  text-align: center;
}

@media (min-width: 960px) {
  .section-textblock-large {
    font-size: 25px;
  }
}

@media (min-width: 1440px) {
  .section-textblock-large .container, .section-textblock-large .widget-brands {
    max-width: 1090px;
  }
}

@media (max-width: 1439px) {
  .section-textblock-large .container, .section-textblock-large .widget-brands {
    max-width: 920px;
  }
}


/* -- Iframe Wrapper -- */

.iframe-wrapper {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 25px;
    height: 0;
}

.iframe-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


/* -- CMS Block Content -- */

.cms-block-content:after {
  content: '';
  clear: both;
  display: table;
}

.cms-block-content p:first-child {
  font-size: 18px;
  line-height: 1.5;
  color: white;
}

@media (min-width: 960px) {
  .cms-block-content p:first-child {
    font-size: 22px;
  }
}

.cms-block-content + .buttons {
  margin-top: 20px;
}

@media (min-width: 960px) {
  .cms-block-content + .buttons {
    margin-top: 60px;
  }
}

.cms-block-content .wp-caption[class*="align"] img {
  margin-bottom: 0;
}

.cms-block-content .wp-caption-text {
  font-size: 12px;
  border-bottom: 1px solid #303030;
  padding: 15px 0;
  color: var(--color-text-muted);
  margin-top: 0;
}

@media (min-width: 960px) {
  .cms-block-content .wp-caption-text {
    font-size: 14px;
  }
}

.cms-block-content .wp-caption-text strong {
  margin-right: 10px;
  color: var(--color-text);
}

.cms-block-content .aligncenter,
.cms-block-content .alignnone {
  clear: both;
  width: auto;
  height: auto;
  max-width: 100%;
  margin-top: 50px;
  margin-bottom: 50px;
  clear: both;
}

.cms-block-content .aligncenter {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.cms-block-content .aligncenter .wp-caption-text {
  margin-left: auto;
  margin-right: auto;
}

.cms-block-content img.aligncenter {
  margin-left: auto !important;
  margin-right: auto !important;
}

.cms-block-content .alignleft img,
.cms-block-content .alignright img,
.cms-block-content .aligncenter img,
.cms-block-content .alignnone img {
  margin-bottom: 13px;
}

@media (min-width: 768px) {
  .cms-block-content .alignleft,
  .cms-block-content .alignright {
    max-width: 100%;
    width: auto;
    height: auto;
  }
  .cms-block-content .alignleft {
    float: left;
    margin-top: 50px;
    margin-bottom: 50px;
    margin-right: 70px;
  }
  .cms-block-content .alignright {
    float: right;
    margin-top: 50px;
    margin-bottom: 50px;
    margin-left: 70px;
  }
}

@media (min-width: 768px) and (max-width: 1490px) {
  .cms-block-content .alignleft,
  .cms-block-content .alignright {
    width: 50%;
  }
}

@media (max-width: 767px) {
  .cms-block-content .alignleft,
  .cms-block-content .alignright,
  .cms-block-content .aligncenter,
  .cms-block-content .alignnone {
    text-align: center;
    margin: 30px auto;
  }
  .cms-block-content .alignleft img,
  .cms-block-content .alignleft .wp-caption-text,
  .cms-block-content .alignright img,
  .cms-block-content .alignright .wp-caption-text,
  .cms-block-content .aligncenter img,
  .cms-block-content .aligncenter .wp-caption-text,
  .cms-block-content .alignnone img,
  .cms-block-content .alignnone .wp-caption-text {
    /* margin-left: auto; */
    margin-right: auto;
    /* max-width: 88vw; */
  }

  /* fix a 1 off issue
  div#attachment_10502 {
  }
    {
    max-width: calc(100vw - 60px)!important;
    } */
}

@media (max-width: 480px) {
  .cms-block-content .alignleft,
  .cms-block-content .alignright,
  .cms-block-content .aligncenter,
  .cms-block-content .alignnone {
    width: 100%;
    margin: 30px 0;
    max-width: calc(100vw - 60px)!important;
    text-align: left;
  }
  .cms-block-content .alignleft .wp-caption-text,
  .cms-block-content .alignright .wp-caption-text,
  .cms-block-content .aligncenter .wp-caption-text,
  .cms-block-content .alignnone .wp-caption-text {
    padding-left: 0;
    padding-right: 0;
  }
}

.cms-block-content img {
  max-width: 100%;
  width: auto;
  height: auto;
  display: block;
}

.cms-block-content a {
  color: var(--color-primary);
  text-decoration: underline;
  transition: opacity 0.2s linear;
}

.cms-block-content a:hover {
  opacity: .65;
  text-decoration: underline;
}

.cms-block-content h3, .cms-block-content h4, .cms-block-content h5, .cms-block-content h6 {
  font-family: var(--font-body);
  font-weight: 800;
  letter-spacing: normal;
}

.cms-block-content h2, .cms-block-content .wp-google-place .wp-google-rating, .wp-google-place .cms-block-content .wp-google-rating {
  font-size: 20px;
}

@media (min-width: 960px) {
  .cms-block-content h2, .cms-block-content .wp-google-place .wp-google-rating, .wp-google-place .cms-block-content .wp-google-rating {
    font-size: 32px;
  }
}

.cms-block-content h3 {
  font-size: 18px;
}

@media (min-width: 960px) {
  .cms-block-content h3 {
    font-size: 22px;
  }
}

.cms-block-content h4 {
  font-size: 16px;
}

@media (min-width: 960px) {
  .cms-block-content h4 {
    font-size: 20px;
  }
}

.cms-block-content h5 {
  font-size: 14px;
  text-transform: uppercase;
}

@media (min-width: 960px) {
  .cms-block-content h5 {
    font-size: 16px;
  }
}

.cms-block-content h6 {
  font-size: 12px;
  text-transform: uppercase;
}

@media (min-width: 960px) {
  .cms-block-content h6 {
    font-size: 14px;
  }
}

.cms-block-content h2,
.cms-block-content h3,
.cms-block-content h4,
.cms-block-content h5,
.cms-block-content h6 {
  line-height: 1.2;
}

.cms-block-content * + h2,
.cms-block-content * + h3,
.cms-block-content * + h4,
.cms-block-content * + h5,
.cms-block-content * + h6 {
  margin-top: 30px;
}

.cms-block-content h2 {
  margin-bottom: 20px;
}

.cms-block-content h3,
.cms-block-content h4,
.cms-block-content h5,
.cms-block-content h6 {
  margin-bottom: 10px;
}

.cms-block-content blockquote {
  font-size: 16px;
  padding-left: 30px;
  margin: 0;
  padding-top: 14px;
  padding-bottom: 8px;
  border-left: 7px solid var(--color-primary);
}

@media (min-width: 960px) {
  .cms-block-content blockquote {
    font-size: 26px;
  }
}

@media (min-width: 960px) {
  .cms-block-content blockquote {
    padding-left: 60px;
  }
}

.cms-block-content * + ol > li > ol {
  margin-top: 10px;
}

.cms-block-content * + ol > li > ol,
.cms-block-content * + ol > li > ol:last-child {
  margin-bottom: 10px;
}

.cms-block-content *:last-child {
  margin-bottom: 0;
}

.cms-block-content hr {
  border: 0;
  padding: 0;
  margin: 0;
  display: block;
  height: 2px;
  width: 100%;
  position: relative;
  clear: both;
  margin-top: 30px;
  margin-bottom: 30px;
}

@media (min-width: 960px) {
  .cms-block-content hr {
    margin-top: 90px;
  }
}

@media (min-width: 960px) {
  .cms-block-content hr {
    margin-bottom: 90px;
  }
}

.cms-block-content hr:before, .cms-block-content hr:after {
  content: '';
  width: 100%;
  display: block;
  position: absolute;
  left: 50%;
  top: 0;
  height: 2px;
  transform: translateX(-50%);
}

.cms-block-content hr:before {
  background-color: #303030;
  opacity: .1;
  max-width: 500px;
}

.cms-block-content hr:after {
  background-color: var(--color-primary);
  max-width: 100px;
}

@media (max-width: 767px) {
  .cms-block-content hr:after {
    max-width: 50px;
  }
}

.cms-block-content ol {
  font-weight: 800;
  padding-left: 16px;
}

.cms-block-content ol > li {
  padding-left: 10px;
}

.cms-block-content ol > li:not(:last-child) {
  margin-bottom: 10px;
}

@media (max-width: 479px) {
  .cms-block-content .wp-video {
    max-width: 100%;
    width: auto;
    height: auto;
  }
}

.iframe-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  /* 16:9 */
  padding-top: 25px;
  height: 0;
}

.iframe-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}


/* -- CMS Block Preview -- */

.cms-block-preview {
  font-size: 14px;
  display: flex;
  flex-direction: row;
}

@media (min-width: 960px) {
  .cms-block-preview {
    font-size: 16px;
  }
}

.cms-block-preview + .cms-block-preview {
  margin-top: 30px;
}

.cms-block-preview .thumb {
  display: block;
  min-width: 142px;
  margin-right: 30px;
  max-width: 142px;
}

.cms-block-preview .thumb > img {
  display: block;
  margin: 0;
  width: 100%;
  height: auto;
  border: 1px solid #303030;
}

.cms-block-preview .content {
  flex-grow: 1;
}

.cms-block-preview .title {
  font-size: 16px;
  margin-bottom: 20px;
}

@media (min-width: 960px) {
  .cms-block-preview .title {
    font-size: 22px;
  }
}

@media (max-width: 480px) {
  .cms-block-preview {
            flex-direction: column;
  }
  .cms-block-preview .thumb {
    margin-right: 0;
    margin-bottom: 10px;
  }
  .cms-block-preview .title {
    margin-bottom: 10px;
  }
}


@media (max-width: 600px) {
    .value-inner {
        width: 100%;
    }
    .widget-brands-item .logo > img {
        max-width: 130px;
    }
}


/* ---- Homepage ---- */

/* -- Hero -- */

.hero-home {
    width: 100%;
    position: relative;
    background-color: var(--color-bg-dark);
    margin-bottom: 100px;
}

.hero-home::after {
    content: '';
    position: absolute;
    left: 0;
    top: 100%;
    width: 100%;
    height: 200px;
    display: block;
    background: linear-gradient(to bottom, var(--color-bg-dark), transparent);
}

.hero-home > * {
    position: relative;
    z-index: 2;
}

.hero-home-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    overflow: hidden;
    pointer-events: none;
}

/* Soft scrim softens compression artefacts; bottom fade keeps type readable. */
.hero-home-bg::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 2;
    background:
        radial-gradient(ellipse at center, transparent 20%, rgba(0, 0, 0, 0.6) 100%),
        rgba(0, 0, 0, 0.5);
}

.hero-home-bg::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 3;
    width: 100%;
    height: 45%;
    background: linear-gradient(to bottom, transparent, var(--color-bg-dark));
}

.hero-home-video,
.hero-home-poster {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.hero-home-video.hero-home-media-top-right,
.hero-home-poster.hero-home-media-top-right {
    object-position: top right;
}

.hero-home-poster {
    z-index: 0;
}

.hero-home-video {
    z-index: 1;
}

@media (prefers-reduced-motion: reduce) {
    .hero-home-video {
        display: none;
    }
}

.hero-home-statement {
    color: var(--color-white);
    width: 100%;
    position: relative;
    overflow: hidden;
    min-height: 520px;
}

.hero-home-statement .inner {
    position: relative;
    z-index: 2;
}

.hero-home-statement .title {
    font-size: 46px;
    line-height: 1;
    margin-bottom: 40px;
}

.hero-home-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-top: 30px;
}

.hero-home-actions .btn {
    padding: 16px 25px;
}

.btn-outline,
.hero-home-secondary-cta {
    color: var(--color-white);
    border: 1px solid rgba(255, 255, 255, 0.7);
    background: transparent;
}

.btn-outline:hover,
.btn-outline:focus,
.hero-home-secondary-cta:hover,
.hero-home-secondary-cta:focus {
    color: var(--color-bg-dark);
    background: var(--color-white);
    border-color: var(--color-white);
}

@media (min-width: 768px) {
    .hero-home {
        margin-bottom: 0;
    }
    .hero-home-statement {
        display: table;
    }
    .hero-home-statement .inner {
        display: table-cell;
        vertical-align: middle;
        height: calc(100vh - 250px);
    }
    .hero-home-statement .container {
        padding-top: 130px;
        padding-bottom: 130px;
    }
    .hero-home-statement .title {
        font-size: 66px;
    }
}

@media (max-width: 767px) {
    .hero-home {
        font-size: 14px;
        margin-bottom: 60px;
    }
    .hero-home-statement {
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        margin-bottom: 40px;
        padding: 120px 0 56px 0;
        min-height: 78vh;
    }
    .hero-home-statement .title {
        font-size: 36px;
        margin-bottom: 20px;
    }
}

@media (max-width: 480px) {
    .hero-home-statement {
        padding: 110px 0 48px 0;
        min-height: 75vh;
    }
    .hero-home-statement .title {
        font-size: 28px;
    }
}

/* -- Hero clients -- */

.hero-home-clients {
    position: relative;
    z-index: 2;
}

@media (max-width: 959px) {
    .hero-home-clients {
        margin-top: 80px;
    }
}


/* -- Brightest Minds -- */

.section-brightestminds {
    margin-bottom: 80px;
}

.section-brightestminds .grid {
    display: flex;
    flex-wrap: wrap;
}

.section-brightestminds .grid-col {
    width: 100%;
}

.section-brightestminds-intro {
    position: relative;
}

/* Brain decorative element */
.section-brightestminds-fancy {
    pointer-events: none;
    display: block;
    width: 70vw;
    max-width: 940px;
    margin-right: -90px;
    margin-top: -80px;
    padding-top: 100%;
    position: relative;
    background-image: url(../img/bg-brightest-minds--off.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
}
.section-brightestminds-fancy::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-image: url(../img/bg-brightest-minds.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    opacity: 0;
}

/* Intro brain: positioned to the left of the intro column */
.section-brightestminds-intro .section-brightestminds-fancy {
    position: absolute;
    right: 100%;
    top: 0;
    z-index: 2;
}

/* Flicker animation -- triggered by is-visible class via IntersectionObserver */
@keyframes brain-flicker {
    0%   { opacity: 0; }
    10%  { opacity: 1; }
    20%  { opacity: 0; }
    40%  { opacity: 0; }
    50%  { opacity: 1; }
    60%  { opacity: 0; }
    80%  { opacity: 0; }
    90%  { opacity: 1; }
    95%  { opacity: 0; }
    98%  { opacity: 0; }
    100% { opacity: 1; }
}
.section-brightestminds-intro .section-brightestminds-fancy.is-visible::after {
    animation: brain-flicker 0.65s forwards 1s;
}

/* Respect reduced motion preference */
@media (prefers-reduced-motion: reduce) {
    .section-brightestminds-fancy::after {
        opacity: 1;
    }
    .section-brightestminds-intro .section-brightestminds-fancy.is-visible::after {
        animation: none;
    }
}

.section-brightestminds-intro .title {
    font-size: 60px;
    line-height: 1;
    letter-spacing: -0.045em;
    position: relative;
    z-index: 2;
}

.section-brightestminds-intro .title .line-1 {
    display: block;
    margin-left: -50px;
}

.section-brightestminds-intro .title .line-2 {
    display: block;
    margin-left: 12px;
}

.section-brightestminds-intro .content {
    max-width: 650px;
    margin-top: 25px;
    margin-bottom: 25px;
}

.section-brightestminds-video {
    display: block;
    max-width: 700px;
    width: 100%;
    color: var(--color-white);
    text-decoration: none;
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    font: inherit;
    cursor: pointer;
    text-align: left;
}

.section-brightestminds-video:hover {
    text-decoration: none;
    opacity: 1;
}

.section-brightestminds-video .inner {
    position: relative;
    border-radius: 3px;
    overflow: hidden;
}

.section-brightestminds-video .inner::before {
    content: '';
    display: block;
    padding-top: 63.89%;
}

.section-brightestminds-video .icon {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
    font-size: 50px;
    color: var(--color-white);
    text-shadow: 0 10px 10px rgba(0, 0, 0, 0.15);
    transition: transform 0.2s ease-out;
}

.section-brightestminds-video:hover .icon {
    transform: translate(-50%, -50%);
}

.section-brightestminds-video .bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.section-brightestminds-video .bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.section-brightestminds-video .bg::after {
    content: '';
    position: absolute;
    inset: 0;
    background-color: black;
    opacity: 0.27;
    transition: opacity 0.2s ease-out;
}

.section-brightestminds-video:hover .bg::after {
    opacity: 0.15;
}

.section-brightestminds-video .supporting-text {
    color: var(--color-text);
    margin-top: 15px;
    display: flex;
    align-items: center;
    font-family: var(--font-body);
    font-weight: 400;
    letter-spacing: normal;
    font-size: 14px;
}

.section-brightestminds-video .supporting-text .illo {
    height: 25px;
    width: auto;
    margin-left: 10px;
}

.section-brightestminds-stats {
    position: relative;
    z-index: 3;
}

/* Stats brain: invisible floated spacer that pushes Key Stats below the brain area */
.section-brightestminds-stats .section-brightestminds-fancy {
    float: right;
    position: static;
    right: auto;
    top: auto;
    background-image: none;
}
.section-brightestminds-stats .section-brightestminds-fancy::after {
    display: none;
}

.section-brightestminds-stats .title {
    font-size: 14px;
    font-family: var(--font-body);
    font-weight: 700;
    letter-spacing: normal;
    margin-bottom: 28px;
}

.section-brightestminds-stats .list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.section-brightestminds-stats .list > li {
    display: flex;
    align-items: center;
    min-height: 40px;
    padding-left: 60px;
    position: relative;
    margin-bottom: 15px;
}

.section-brightestminds-stats .list .icon {
    width: 40px;
    height: 40px;
    border: 1px solid var(--color-border);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    left: 0;
    top: 0;
}

.section-brightestminds-stats .list .icon img {
    width: auto;
    height: auto;
    max-width: 65%;
    max-height: 65%;
}

.section-brightestminds-stats .list .text {
    color: var(--color-text);
    font-family: var(--font-body);
    font-weight: 400;
    line-height: inherit;
    letter-spacing: normal;
    margin: 0;
    padding-top: 0;
}

@media (min-width: 960px) {
    .section-brightestminds {
        margin-bottom: 190px;
    }
    .section-brightestminds .grid {
        flex-direction: row-reverse;
    }
    .section-brightestminds .grid-col {
        width: 50%;
        max-width: 50%;
    }
    .section-brightestminds-intro .title {
        font-size: 120px;
    }
    .section-brightestminds-intro .title br {
        display: none;
    }
    .section-brightestminds-intro .title .line-1 {
        margin-left: -120px;
    }
    .section-brightestminds-intro .title .line-2 {
        margin-left: -20px;
    }
    .section-brightestminds-intro .content {
        padding-left: 30px;
        margin-top: 50px;
        margin-bottom: 60px;
    }
    .section-brightestminds-stats {
        padding-right: 40px;
    }
    .section-brightestminds-stats .title {
        font-size: 22px;
        margin-top: 0;
    }
    .section-brightestminds-stats .list {
        max-width: 500px;
    }
    .section-brightestminds-stats .list > li {
        min-height: 70px;
        padding-left: 100px;
        margin-bottom: 35px;
    }
    .section-brightestminds-stats .list .icon {
        width: 70px;
        height: 70px;
    }
    .section-brightestminds-stats .list .text {
        padding-top: 8px;
    }
    .section-brightestminds-video .icon {
        font-size: 80px;
    }
}

@media (max-width: 959px) {
    .section-brightestminds .grid-col {
        margin-bottom: 40px;
    }
    .section-brightestminds-intro {
        text-align: center;
    }
    .section-brightestminds-intro .content {
        max-width: none;
    }
    .section-brightestminds-intro .title .line-1,
    .section-brightestminds-intro .title .line-2 {
        display: inline;
        margin-left: 0;
    }
    .section-brightestminds-intro .title .line-1 br {
        display: none;
    }
    .section-brightestminds-video {
        margin: 0 auto;
    }
    .section-brightestminds-fancy {
        background-image: url(../img/bg-brightest-minds--small--off.png);
        background-size: contain;
        padding-top: 0;
        aspect-ratio: 100 / 79.4;
        width: 100%;
        max-width: 320px;
        margin: 0 auto;
    }
    .section-brightestminds-fancy::after {
        background-image: url(../img/bg-brightest-minds--small.png);
        background-size: contain;
    }
    .section-brightestminds-intro .section-brightestminds-fancy {
        position: relative;
        right: auto;
        top: auto;
        z-index: auto;
    }
    .section-brightestminds-stats .section-brightestminds-fancy {
        display: none;
    }
}

@media (min-width: 600px) and (max-width: 959px) {
    .section-brightestminds-intro .section-brightestminds-fancy {
        max-width: 380px;
    }
    .section-brightestminds-stats .list {
        display: flex;
        flex-wrap: wrap;
    }
    .section-brightestminds-stats .list > li {
        width: 50%;
        padding-right: 40px;
    }
}

@media (max-width: 767px) {
    .section-brightestminds {
        margin-bottom: 40px;
    }
    .section-brightestminds-intro .title {
        font-size: 48px;
    }
    .section-brightestminds .grid-col {
        margin-bottom: 20px;
    }
    .section-brightestminds-stats .title {
        margin-bottom: 20px;
    }
}

@media (max-width: 480px) {
    .section-brightestminds-intro .title {
        font-size: 36px;
    }
    .section-brightestminds-intro .section-brightestminds-fancy {
        max-width: 250px;
    }
    .section-brightestminds-stats .list > li {
        padding-left: 50px;
        min-height: 36px;
        margin-bottom: 12px;
    }
    .section-brightestminds-stats .list .icon {
        width: 36px;
        height: 36px;
    }
    .section-brightestminds-video .icon {
        font-size: 40px;
    }
}


/* -- Video modal -- */

@keyframes modal-fade-in {
    from { opacity: 0; }
    to   { opacity: 1; }
}
@keyframes modal-fade-out {
    from { opacity: 1; }
    to   { opacity: 0; }
}

.video-modal {
    border: none;
    background: rgba(0, 0, 0, 0.5);
    padding: 0;
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: 100%;
    position: fixed;
    inset: 0;
}

.video-modal[open] {
    animation: modal-fade-in 0.3s ease forwards;
}

.video-modal.is-closing {
    animation: modal-fade-out 0.25s ease forwards;
}

.video-modal::backdrop {
    background: transparent;
}

.video-modal-close {
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 10;
    background: none;
    border: none;
    color: var(--color-white);
    font-size: 36px;
    cursor: pointer;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.7;
    transition: opacity 0.2s ease;
}

.video-modal-close:hover {
    opacity: 1;
}

.video-modal-content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    max-width: 1100px;
    aspect-ratio: 16 / 9;
}

.video-modal-content iframe {
    width: 100%;
    height: 100%;
    border: none;
}

.event-interest-modal {
    border: none;
    background: rgba(0, 0, 0, 0.7);
    padding: 0;
    width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: 100%;
    position: fixed;
    inset: 0;
}

.event-interest-modal[open] {
    animation: modal-fade-in 0.3s ease forwards;
}

.event-interest-modal.is-closing {
    animation: modal-fade-out 0.25s ease forwards;
}

.event-interest-modal::backdrop {
    background: transparent;
}

.event-interest-modal-panel {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 90%;
    max-width: 670px;
    max-height: 90vh;
    overflow: auto;
    padding: 60px 45px;
    background: var(--color-bg-alt);
    color: var(--color-white);
}

.event-interest-modal-close {
    position: absolute;
    right: 40px;
    top: 35px;
    z-index: 10;
    width: 22px;
    height: 22px;
    padding: 0;
    border: none;
    background: none;
    cursor: pointer;
    transform: rotate(45deg);
    transition: transform 0.2s ease;
}

.event-interest-modal-close::before,
.event-interest-modal-close::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    width: 22px;
    height: 2px;
    margin-left: -11px;
    margin-top: -1px;
    border-radius: 2px;
    background-color: var(--color-primary);
    display: block;
}

.event-interest-modal-close::before {
    transform: rotate(90deg);
}

.event-interest-modal-close:hover,
.event-interest-modal-close:focus {
    opacity: 1;
    transform: rotate(135deg);
}

.event-interest-modal .hubspot-enquiry-form {
    max-width: none;
    margin: 0;
}

.event-interest-modal .hubspot-enquiry-form form.hs-form {
    display: block;
    width: 100%;
    max-width: none;
}

.event-interest-modal .hubspot-enquiry-form fieldset {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    border: 0;
    min-width: 0;
}

.event-interest-modal .hubspot-enquiry-form fieldset.form-columns-2 {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 10px;
    margin-top: 30px;
}

.event-interest-modal .hubspot-enquiry-form fieldset.form-columns-2 .hs-form-field,
.event-interest-modal .hubspot-enquiry-form fieldset.form-columns-2 .hs-form-field:first-child,
.event-interest-modal .hubspot-enquiry-form fieldset.form-columns-2 .hs-form-field + .hs-form-field {
    float: none;
    width: auto;
    flex: 1 1 0;
    min-width: 0;
    margin-top: 0;
    margin-bottom: 0;
}

.event-interest-modal .hubspot-enquiry-form fieldset.form-columns-1 .hs-form-field {
    width: 100%;
    max-width: none;
    float: none;
}

.event-interest-modal .hs-form-field .input,
.event-interest-modal .hs-form-field .input > input {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

.event-interest-modal .hubspot-enquiry-form form.hs-form > .hs_submit {
    margin-top: 30px;
}

.event-interest-modal .hubspot-enquiry-intro h2,
.event-interest-modal .hubspot-enquiry-intro p {
    color: var(--color-white);
}

.event-interest-modal .submitted-message {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.18);
    color: var(--color-white);
}

.event-interest-modal .submitted-message p,
.event-interest-modal .submitted-message .hs-main-font-element {
    color: var(--color-white);
}

@media (max-width: 700px) {
    .event-interest-modal-panel {
        padding: 40px 25px;
    }

    .event-interest-modal-close {
        right: 25px;
        top: 20px;
    }
}

@media (max-width: 479px) {
    .event-interest-modal .hubspot-enquiry-form fieldset.form-columns-2 {
        flex-direction: column;
        align-items: stretch;
        gap: 25px;
    }
}


/* -- Services accordion -- */

.section-services {
    margin-bottom: 120px;
}

.section-services-intro .title {
    font-size: 48px;
    line-height: 1;
    margin-bottom: 20px;
}

.section-services-intro p {
    color: var(--color-text);
}

/* Mobile: stacked accordion (titles + content below) */

.section-services-slider {
    position: relative;
    margin-top: 40px;
    counter-reset: service-count;
}

.section-services-slide {
    counter-increment: service-count;
}

.section-services-trigger {
    cursor: pointer;
    display: flex;
    align-items: center;
    width: 100%;
    padding: 15px 0;
    color: var(--color-text-muted);
    font-weight: 400;
    background: none;
    border: none;
    text-align: left;
    transition: color 0.2s ease;
}

.section-services-trigger:hover {
    color: var(--color-white);
}

.section-services-trigger::before {
    content: counter(service-count, decimal-leading-zero);
    color: var(--color-primary);
    font-family: var(--font-heading);
    font-weight: 400;
    font-size: 18px;
    margin-right: 18px;
    flex-shrink: 0;
    min-width: 24px;
}

.section-services-trigger .arrow {
    width: 44px;
    height: 12px;
    margin-right: 18px;
    opacity: 0;
    transition: opacity 0.2s ease;
    flex-shrink: 0;
}

.section-services-slide.is-active .section-services-trigger .arrow {
    opacity: 1;
}

.section-services-trigger .text {
    font-family: var(--font-heading);
    font-weight: 400;
    font-size: 18px;
    letter-spacing: -0.03em;
}

.section-services-slide.is-active .section-services-trigger .text {
    font-weight: 800;
}

.section-services-trigger .icon {
    display: none;
}

.section-services-slide.is-active .section-services-trigger {
    color: var(--color-white);
}

.section-services-overlay {
    display: none;
    padding-bottom: 30px;
}

.section-services-slide.is-active .section-services-overlay {
    display: block;
    animation: services-fade-in 0.4s ease;
}

@keyframes services-fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

/* SVG stroke draw animation -- draws white, then fades to yellow */
.section-services-image .animate-stroke {
    stroke: white;
    stroke-dasharray: 2000;
    stroke-dashoffset: 2000;
    transition: stroke 0.8s ease 0.6s;
}

.section-services-slide.is-active .animate-stroke {
    stroke: #F1E82B;
    animation: services-draw-stroke 0.6s linear 0.2s forwards;
}

@keyframes services-draw-stroke {
    to { stroke-dashoffset: 0; }
}

/* Exploded parts float-in animation */
.section-services-image .animate-transform {
    opacity: 0;
    transform: translateY(-20px);
}

.section-services-slide.is-active .animate-transform {
    animation: services-float-in 0.5s ease 0.3s forwards;
}

@keyframes services-float-in {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Exploded image-top drifts down, image-bottom drifts up */
.section-services-image .image-top {
    opacity: 0;
    transform: translateY(-30px);
}

.section-services-slide.is-active .image-top {
    animation: services-explode-top 0.6s ease 0.1s forwards;
}

@keyframes services-explode-top {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.section-services-image .image-bottom {
    opacity: 0;
    transform: translateY(30px);
}

.section-services-slide.is-active .image-bottom {
    animation: services-explode-bottom 0.6s ease 0.1s forwards;
}

@keyframes services-explode-bottom {
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .section-services-image .animate-stroke {
        transition: none;
    }
    .section-services-slide.is-active .section-services-overlay,
    .section-services-slide.is-active .animate-stroke,
    .section-services-slide.is-active .animate-transform,
    .section-services-slide.is-active .image-top,
    .section-services-slide.is-active .image-bottom {
        animation: none;
        opacity: 1;
        transform: none;
        stroke-dashoffset: 0;
    }
}

.section-services-image {
    max-width: 300px;
    width: 100%;
    margin: 0 auto 30px;
}

.section-services-image svg {
    width: 100%;
    height: auto;
    display: block;
}

.section-services-content .title {
    font-size: 30px;
    line-height: 1;
    margin-bottom: 20px;
}

.section-services-content .text {
    margin-bottom: 30px;
}

.section-services-controls {
    display: none;
}

/* Desktop: titles left, graphic center, text right */

@media (min-width: 1024px) {
    .section-services {
        margin-bottom: 190px;
    }
    .section-services-intro .title {
        font-size: 120px;
    }
    .section-services-slider {
        min-height: 600px;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    .section-services-slide {
        position: static;
    }
    .section-services-trigger {
        position: relative;
        z-index: 2;
        width: 340px;
        padding: 22px 0;
    }
    .section-services-overlay {
        position: absolute;
        top: 0;
        left: 340px;
        right: 0;
        bottom: 0;
        padding: 0;
        display: none;
        align-items: center;
    }
    .section-services-slide.is-active .section-services-overlay {
        display: flex;
        animation: services-fade-in 0.4s ease;
    }
    .section-services-image {
        flex: 1;
        max-width: 550px;
        margin: 0 auto;
    }
    .section-services-content {
        text-align: right;
        max-width: 330px;
        flex-shrink: 0;
    }
    .section-services-content .title {
        font-size: 50px;
    }
    .section-services-image svg {
        margin: 0 auto;
    }
}

@media (max-width: 767px) {
    .section-services {
        margin-bottom: 60px;
    }
    .section-services-intro .title {
        font-size: 36px;
    }
    .section-services-image {
        max-width: 220px;
    }
    .section-services-content .title {
        font-size: 24px;
    }
}

@media (max-width: 480px) {
    .section-services-intro .title {
        font-size: 28px;
    }
    .section-services-trigger .text {
        font-size: 16px;
    }
    .section-services-trigger::before {
        font-size: 16px;
        min-width: 20px;
        margin-right: 12px;
    }
    .section-services-trigger .arrow {
        width: 30px;
        margin-right: 12px;
    }
    .section-services-image {
        max-width: 180px;
    }
    .section-services-content .title {
        font-size: 22px;
    }
}


/* -- Testimonial quote -- */

.quote-statement {
    width: 100%;
    max-width: 960px;
    margin: 0 auto;
    padding: 0 30px;
    text-align: center;
    margin-bottom: 120px;
}

.quote-statement blockquote {
    position: relative;
    font-size: 18px;
    line-height: 1.7;
    padding: 20px 0;
    color: var(--color-white);
    margin: 0;
    border: 0;
}

.quote-statement-text {
    position: relative;
    z-index: 2;
}

.quote-statement-mark {
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 1;
    width: 120px;
    height: 90px;
    margin-left: -60px;
    margin-top: -45px;
}

.quote-statement figcaption {
    position: relative;
    z-index: 3;
    font-size: 14px;
    color: var(--color-text);
}

@media (min-width: 768px) {
    .quote-statement {
        margin-bottom: 230px;
    }
    .quote-statement blockquote {
        font-size: 26px;
        line-height: 44px;
        padding: 35px 0;
    }
    .quote-statement-mark {
        width: 188px;
        height: 140px;
        margin-left: -94px;
        margin-top: -70px;
    }
    .quote-statement figcaption {
        font-size: 16px;
    }
}

@media (max-width: 767px) {
    .quote-statement {
        margin-bottom: 60px;
        padding: 0 20px;
    }
}

@media (max-width: 480px) {
    .quote-statement blockquote {
        font-size: 16px;
        line-height: 1.6;
    }
    .quote-statement-mark {
        width: 80px;
        height: 60px;
        margin-left: -40px;
        margin-top: -30px;
    }
}


/* -- Case studies -- */

.section-cs {
    margin-bottom: 100px;
}

.section-cs-intro {
    position: relative;
    z-index: 2;
    margin-bottom: 60px;
}

.section-cs-intro .title {
    font-size: 48px;
    line-height: 1;
    margin-bottom: 35px;
}

.section-cs-slider {
    position: relative;
}

.section-cs-slide {
    margin-bottom: 60px;
}

.section-cs-slide .grid {
    display: flex;
    flex-wrap: wrap;
}

.section-cs-slide .grid-col {
    width: 100%;
}

.section-cs-excerpt {
    color: var(--color-text);
}

.section-cs-excerpt .title {
    font-size: 30px;
    line-height: 1;
    margin-bottom: 20px;
}

.section-cs-excerpt .content {
    margin-bottom: 30px;
}

.section-cs-video {
    display: flex;
    align-items: center;
    margin-top: 50px;
    color: var(--color-white);
    text-decoration: none;
}

.section-cs-video:hover {
    opacity: 1;
    text-decoration: none;
}

.section-cs-video .thumb {
    position: relative;
    width: 180px;
    flex-shrink: 0;
    margin-right: 20px;
    border-radius: 3px;
    overflow: hidden;
}

.section-cs-video .thumb::before {
    content: '';
    display: block;
    padding-top: 56.25%;
}

.section-cs-video .play {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    background-color: rgba(0, 0, 0, 0.4);
    border-radius: 50%;
    z-index: 2;
    transition: transform 0.2s ease-out;
}

.section-cs-video .play::after {
    content: '';
    position: absolute;
    left: 16px;
    top: 12px;
    border-left: 12px solid var(--color-white);
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
}

.section-cs-video:hover .play {
    transform: translate(-50%, -50%);
}

.section-cs-video .bg {
    position: absolute;
    inset: 0;
}

.section-cs-video .bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.section-cs-video .content .title {
    font-size: 12px;
    color: var(--color-text-muted);
    font-family: var(--font-body);
    font-weight: 400;
    margin-bottom: 10px;
}

.section-cs-stats {
    list-style: none;
    padding: 0;
    margin: 0;
}

.section-cs-stats .stat {
    margin-bottom: 40px;
}

.section-cs-stats .stat-inner {
    align-items: center;
    margin-bottom: 10px;
}

.section-cs-stats .stat-inner .text {
    font-family: var(--font-heading);
    font-weight: 800;
    font-size: 36px;
    color: var(--color-white);
    letter-spacing: -0.03em;
}

.section-cs-stats .stat-inner .arrow {
    height: 30px;
    width: auto;
    margin-left: 8px;
}

.section-cs-stats .stat-text {
    font-size: 14px;
    color: var(--color-text);
    line-height: 1.7;
}

.section-cs-controls {
    border-top: 2px solid var(--color-border);
    margin-bottom: 40px;
}

.section-cs-controls ul {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    overflow-x: auto;
}

.section-cs-controls li {
    flex-shrink: 0;
}

.section-cs-controls button {
    background: none;
    border: none;
    color: var(--color-text-muted);
    font-family: var(--font-body);
    font-size: 14px;
    padding: 20px 30px;
    cursor: pointer;
    white-space: nowrap;
    transition: color 0.2s ease;
    border-top: 2px solid transparent;
    margin-top: -2px;
}

.section-cs-controls button:hover {
    color: var(--color-white);
}

.section-cs-controls button.is-active {
    color: var(--color-white);
    border-top-color: var(--color-primary);
}

.section-cs-slide {
    margin-bottom: 60px;
}

.section-cs-slider.has-js .section-cs-slide {
    display: none;
}

.section-cs-slider.has-js .section-cs-slide.is-active {
    display: block;
    animation: cs-fade-in 0.4s ease;
}

@keyframes cs-fade-in {
    from { opacity: 0; }
    to { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
    .section-cs-slider.has-js .section-cs-slide.is-active {
        animation: none;
    }
}

.section-cs-footer {
    text-align: center;
    margin-top: 50px;
    padding-bottom: 80px;
}

@media (min-width: 768px) {
    .section-cs {
        margin-bottom: 250px;
    }
    .section-cs-intro {
        margin-bottom: 130px;
    }
    .section-cs-intro .title {
        font-size: 120px;
    }
    .section-cs-controls li {
        flex: 1;
    }
    .section-cs-controls button {
        width: 100%;
        text-align: center;
    }
    .section-cs-slide {
        margin-bottom: 120px;
    }
    .section-cs-slide .grid {
        flex-wrap: nowrap;
        align-items: flex-start;
    }
    .section-cs-slide .grid-col:nth-child(1) {
        width: 33.333%;
        max-width: 400px;
        flex-shrink: 0;
    }
    .section-cs-slide .grid-col:nth-child(2) {
        flex: 1 1 auto;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0 30px;
        min-width: 0;
    }
    .section-cs-slide .grid-col:nth-child(2) img {
        max-width: 100%;
        height: auto;
        display: block;
    }
    .section-cs-slide .grid-col:nth-child(3) {
        width: 250px;
        max-width: 300px;
        flex-shrink: 0;
    }
    .section-cs-excerpt .title {
        font-size: 46px;
    }
    .section-cs-stats .stat-inner .text {
        font-size: 45px;
    }
    .section-cs-stats .stat-inner .arrow {
        height: 40px;
    }
}

@media (max-width: 767px) {
    .section-cs {
        margin-bottom: 60px;
    }
    .section-cs-intro {
        margin-bottom: 30px;
        text-align: center;
    }
    .section-cs-intro .title {
        font-size: 36px;
    }
    .section-cs-slide {
        margin-bottom: 30px;
    }
    .section-cs-slide .grid-col {
        text-align: center;
    }
    .section-cs-slide .grid-col:nth-child(2) {
        margin: 20px 0;
    }
    .section-cs-slide .grid-col:nth-child(2) img {
        max-width: 100%;
        height: auto;
        display: inline-block;
    }
    .section-cs-excerpt,
    .section-cs-stats {
        max-width: 100%;
    }
    .section-cs-controls ul {
        flex-wrap: wrap;
        justify-content: center;
        overflow-x: visible;
    }
    .section-cs-controls button {
        padding: 15px 20px;
        font-size: 13px;
    }
    .section-cs-video {
        flex-direction: column;
        align-items: flex-start;
    }
    .section-cs-video .thumb {
        width: 100%;
        margin-right: 0;
        margin-bottom: 15px;
    }
}

@media (max-width: 480px) {
    .section-cs-intro .title {
        font-size: 28px;
    }
    .section-cs-excerpt .title {
        font-size: 24px;
    }
    .section-cs-stats .stat-inner .text {
        font-size: 28px;
    }
    .section-cs-stats .stat-inner .arrow {
        height: 22px;
    }
    .section-cs-controls button {
        padding: 12px 14px;
        font-size: 12px;
    }
}


/* -- Let's Talk CTA -- */

.cta-letstalk {
    text-align: center;
    color: var(--color-white);
    margin-bottom: 80px;
}

.cta-letstalk .container {
    max-width: 760px;
}

.cta-letstalk .title {
    font-size: 48px;
    line-height: 1;
    margin-bottom: 30px;
}

.cta-letstalk .text {
    margin-bottom: 20px;
}

.cta-letstalk .buttons {
    padding-top: 30px;
    padding-bottom: 20px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.cta-letstalk .buttons .button {
    flex: 1;
    min-width: 200px;
}

.cta-letstalk .buttons .button .btn {
    width: 100%;
    display: block;
}

.cta-letstalk-credentials {
    max-width: 620px;
    margin: 10px auto 0;
    font-size: 15px;
    line-height: 1.5;
    opacity: 0.75;
}

.cta-letstalk-credentials p + p {
    margin-top: 12px;
}

@media (max-width: 480px) {
    .cta-letstalk-credentials {
        font-size: 13px;
    }
}

@media (min-width: 768px) {
    .cta-letstalk {
        margin-bottom: 230px;
    }
    .cta-letstalk .title {
        font-size: 60px;
        margin-bottom: 60px;
    }
    .cta-letstalk .buttons {
        padding-top: 50px;
        padding-bottom: 50px;
    }
}

@media (max-width: 767px) {
    .cta-letstalk {
        margin-bottom: 60px;
    }
    .cta-letstalk .title {
        font-size: 36px;
        margin-bottom: 20px;
    }
    .cta-letstalk .buttons {
        flex-direction: column;
        padding-top: 20px;
        padding-bottom: 20px;
    }
    .cta-letstalk .buttons .button {
        min-width: 0;
    }
}

@media (max-width: 480px) {
    .cta-letstalk .title {
        font-size: 28px;
    }
    .cta-letstalk .text {
        font-size: 14px;
    }
}


/* ---- About ---- */

.page-about .hero-internal .container,
.page-about .hero-internal .widget-brands {
    padding-top: 80px;
    padding-bottom: 60px;
}

.page-about .hero-internal-content {
    max-width: 480px;
}

.page-about .content-main {
    padding-top: 40px;
}

.page-about .section-values {
    margin-top: 40px;
}

.page-about .section-values-list {
    margin-top: 30px;
}

.page-about .section-values-overflow + .container-wide {
    margin-top: 40px;
    margin-bottom: 40px;
}

.page-about .bg-black > .section-sidebyside-google {
    margin-top: 40px;
    margin-bottom: 60px;
}

.page-about .section-awards {
    padding-top: 80px;
    margin-bottom: 40px;
}

.page-about .cta-brightestminds {
    padding-top: 40px;
    padding-bottom: 40px;
}

.page-about .cta-letstalk {
    margin-bottom: 40px;
}

@media (min-width: 960px) {
    .page-about .hero-internal .container,
    .page-about .hero-internal .widget-brands {
        padding-top: 250px;
        padding-bottom: 135px;
    }
    .page-about .hero-internal-content {
        max-width: 720px;
    }
    .page-about .content-main {
        padding-top: 140px;
    }
    .page-about .section-values {
        margin-top: 180px;
    }
    .page-about .section-values-list {
        margin-top: 80px;
    }
    .page-about .section-values-overflow + .container-wide {
        margin-top: 200px;
        margin-bottom: 200px;
    }
    .page-about .bg-black > .section-sidebyside-google {
        margin-top: 210px;
        margin-bottom: 150px;
    }
    .page-about .section-awards {
        margin-bottom: 150px;
    }
    .page-about .cta-brightestminds {
        padding-top: 150px;
        padding-bottom: 150px;
    }
    .page-about .cta-letstalk {
        margin-bottom: 150px;
    }
}


/* ---- Solutions ---- */

.solution-graphic-image {
    display: block;
    max-width: 100%;
    height: auto;
}

.page-solutions .hero-internal .container {
    padding-top: 120px;
    padding-bottom: 40px;
}

.page-solutions .hero-internal-content {
    max-width: 480px;
}

.page-solutions .cta-letstalk {
    margin-top: 100px;
    margin-bottom: 40px;
}

.section-solution {
    position: relative;
}

.section-solution + .section-solution {
    margin-top: 75px;
}

.section-solution .title {
    font-size: 28px;
    margin-bottom: 20px;
    line-height: 1;
}

.section-solution .image {
    position: relative;
}

.section-solution .image > img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
}

.section-solution .buttons {
    margin-top: 20px;
}

.section-solution .grid {
    display: flex;
    margin-left: -20px;
}

.section-solution .grid-col {
    padding-left: 20px;
    width: 50%;
    max-width: 50%;
    display: flex;
    align-items: center;
}

.section-solution.is-odd .grid {
    flex-direction: row-reverse;
}

.section-solution.is-odd .grid-col-primary > .inner {
    padding-left: 20px;
}

.section-solution.is-even .grid {
    flex-direction: row;
}

.section-solution.is-even .grid-col-primary > .inner {
    padding-right: 20px;
}

@media (min-width: 960px) {
    .page-solutions .hero-internal .container {
        padding-top: 200px;
        padding-bottom: 180px;
    }

    .page-solutions .hero-internal-content {
        max-width: 720px;
    }

    .page-solutions .cta-letstalk {
        margin-top: 180px;
        margin-bottom: 140px;
    }

    .section-solution + .section-solution {
        margin-top: 130px;
    }

    .section-solution .title {
        font-size: 44px;
        margin-bottom: 35px;
    }

    .section-solution .buttons {
        margin-top: 35px;
    }

    .section-solution .grid {
        margin-left: -40px;
    }

    .section-solution .grid-col {
        padding-left: 40px;
    }

    .section-solution.is-odd .grid-col-primary > .inner {
        padding-left: 60px;
    }

    .section-solution.is-even .grid-col-primary > .inner {
        padding-right: 60px;
    }
}

@media (max-width: 767px) {
    .section-solution .grid > .grid-col-primary {
        width: 65%;
        max-width: 65%;
    }

    .section-solution .grid > .grid-col-secondary {
        width: 35%;
        max-width: 35%;
    }
}

@media (max-width: 480px) {
    .section-solution.is-odd .grid,
    .section-solution.is-even .grid {
        flex-direction: column-reverse;
        margin-left: 0;
    }

    .section-solution .grid > .grid-col {
        width: 100%;
        max-width: none;
        padding-left: 0;
    }

    .section-solution .grid > .grid-col-primary {
        margin-bottom: 20px;
    }

    .section-solution .grid > .grid-col-primary .inner {
        padding-left: 0;
        padding-right: 0;
    }

    .section-solution .grid > .grid-col-secondary {
        margin-bottom: 20px;
    }

    .section-solution .exploded.exploded-seo {
        max-width: 350px;
    }

    .section-solution .exploded.exploded-adwords {
        max-width: 200px;
    }

    .section-solution .exploded.exploded-remarketing {
        max-width: 450px;
    }

    .section-solution .exploded.exploded-socialadvertising {
        max-width: 450px;
    }

    .section-solution .exploded.exploded-webdesign {
        max-width: 450px;
    }

    .section-solution .exploded.exploded-consulting {
        max-width: 350px;
        margin-bottom: 40px;
    }

    .section-solution .exploded.exploded-digital-advertising {
        max-width: 480px;
        margin-right: auto;
        margin-bottom: 40px;
    }
}

.exploded {
  position: relative;
  width: 100%;
  display: block;
}

.exploded-inner {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  display: block;
}

.exploded-fallback {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  display: none;
}

.exploded .dash {
  position: absolute;
  left: 0%;
  top: 0%;
  width: 1px;
  height: 9.85%;
  display: block;
  -webkit-transform: translate(0, 0) rotate(0deg) scale(0);
          transform: translate(0, 0) rotate(0deg) scale(0);
}

.exploded .screw {
  z-index: 7;
  display: block;
  position: absolute;
  width: 5.2%;
}

.exploded .screw-inner:before {
  content: '';
  display: block;
  width: 100%;
  padding-top: 385%;
}

.exploded .screw-inner > img {
  display: block;
  margin: 0 auto;
  position: absolute;
  left: 0;
  top: 0;
}

.exploded .screw-inner > img:nth-child(2) {
  width: 75%;
  left: 13%;
  top: 45%;
  z-index: 3;
}

.exploded .screw-inner > img:nth-child(3) {
  width: 76%;
  left: 12%;
  top: 67%;
  z-index: 2;
}

.exploded .screw-inner > img:nth-child(4) {
  width: 100%;
  left: 0%;
  top: 84%;
  z-index: 1;
}

.exploded .screw .overflow {
  width: 60%;
  left: 20%;
  top: 0%;
  z-index: 4;
  position: absolute;
  overflow: hidden;
  height: 59%;
}

.exploded .screw .overflow > img {
  width: 100%;
  display: block;
}

.exploded .screw .dash {
  top: 100%;
  left: 50%;
  height: 71.2%;
}

.exploded .dash,
.exploded .screw,
.exploded .screw .overflow,
.exploded .screw .overflow > img,
.exploded .screw-inner > img:nth-child(2),
.exploded .screw-inner > img:nth-child(3),
.exploded .screw-inner > img:nth-child(4),
.exploded .animate-transform {
  -webkit-transition: -webkit-transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
  transition: -webkit-transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
  transition: transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
  transition: transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0s, -webkit-transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
}

.exploded .animate-stroke {
  stroke: white;
  -webkit-transition: stroke 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
  transition: stroke 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
}

@media screen and (prefers-reduced-motion) {
  .exploded .dash,
  .exploded .screw,
  .exploded .screw .overflow,
  .exploded .screw .overflow > img,
  .exploded .screw-inner > img:nth-child(2),
  .exploded .screw-inner > img:nth-child(3),
  .exploded .screw-inner > img:nth-child(4),
  .exploded .animate-transform,
  .exploded .animate-stroke {
    -webkit-transition: none !important;
    transition: none !important;
  }
}

.exploded .screw .overflow > img {
  -webkit-transform: translateY(115%);
          transform: translateY(115%);
}

.exploded .screw-inner > img:nth-child(2) {
  -webkit-transform: translateY(40%);
          transform: translateY(40%);
}

.exploded .screw-inner > img:nth-child(3) {
  -webkit-transform: translateY(-40%);
          transform: translateY(-40%);
}

.exploded .screw-inner > img:nth-child(4) {
  -webkit-transform: translateY(-120%);
          transform: translateY(-120%);
}

.exploded .screw-inner > .dash {
  -webkit-transform-origin: top center;
          transform-origin: top center;
  -webkit-transform: translate(0, -25%) rotate(0deg) scale(0);
          transform: translate(0, -25%) rotate(0deg) scale(0);
}

.is-exploded .exploded .animate-stroke {
  stroke: #f1e82b;
}

.is-exploded .exploded .screw,
.is-exploded .exploded .screw .overflow > img,
.is-exploded .exploded .screw-inner > img:nth-child(2),
.is-exploded .exploded .screw-inner > img:nth-child(3),
.is-exploded .exploded .screw-inner > img:nth-child(4),
.is-exploded .exploded .dash,
.is-exploded .exploded .animate-transform {
  -webkit-transform: translate(0, 0) rotate(0deg) scale(1);
          transform: translate(0, 0) rotate(0deg) scale(1);
}

.exploded-adwords {
  max-width: 350px;
  margin: 0 auto;
}

.exploded-adwords:before {
  content: '';
  display: block;
  width: 100%;
  padding-top: 221.177%;
}

.section-services .exploded-adwords {
  max-width: 280px;
}

.exploded-adwords .exploded-fallback {
  opacity: .30;
  display: none;
}

.exploded-adwords img,
.exploded-adwords svg {
  height: auto;
}

.exploded-adwords .telescope,
.exploded-adwords .ring,
.exploded-adwords .tube,
.exploded-adwords .lens,
.exploded-adwords .knob-large,
.exploded-adwords .knob-small,
.exploded-adwords .base,
.exploded-adwords .stand {
  position: absolute;
  display: block;
}

.exploded-adwords .telescope {
  z-index: 11;
  width: 35.5%;
  left: 11.5%;
  top: 6%;
}

.exploded-adwords .telescope:before {
  content: '';
  display: block;
  width: 100%;
  padding-top: 328%;
}

.exploded-adwords .telescope .ring {
  width: 44%;
  left: 30%;
  top: 6%;
  z-index: 4;
}

.exploded-adwords .telescope .tube {
  width: 81%;
  top: 6%;
  left: 11%;
  z-index: 3;
}

.exploded-adwords .telescope .lens {
  width: 100%;
  left: -1%;
  top: 63%;
  z-index: 1;
}

.exploded-adwords .knob-large {
  z-index: 10;
  width: 16%;
  left: 44.5%;
  top: 28%;
}

.exploded-adwords .knob-large > img {
  display: block;
  width: 100%;
}

.exploded-adwords .knob-small {
  width: 7%;
  left: 56%;
  top: 35.5%;
  z-index: 7;
}

.exploded-adwords .knob-small > img {
  display: block;
  width: 100%;
}

.exploded-adwords .base {
  z-index: 6;
  top: 19%;
  left: 3%;
  width: 89%;
}

.exploded-adwords .stand {
  z-index: 5;
  top: 63.5%;
  left: 0%;
  width: 79%;
}

.exploded-adwords .stand > img {
  display: block;
  width: 100%;
  position: relative;
  z-index: 2;
}

.exploded-adwords .stand .nut {
  position: absolute;
  z-index: 1;
  width: 6.33%;
}

.exploded-adwords .stand .nut:before {
  content: '';
  display: block;
  width: 100%;
  padding-top: 375%;
}

.exploded-adwords .stand .nut > img {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: auto;
  display: block;
  z-index: 1;
  -webkit-transform: translateY(-280%);
          transform: translateY(-280%);
}

.exploded-adwords .stand .nut-1 {
  left: 4.5%;
  top: 50%;
}

.exploded-adwords .stand .nut-2 {
  left: 48%;
  top: 88%;
}

.exploded-adwords .stand .dash {
  position: absolute;
  left: 50%;
  top: 0;
  height: 80%;
  -webkit-transform-origin: center top;
          transform-origin: center top;
}

.exploded-adwords .dash-1,
.exploded-adwords .dash-2,
.exploded-adwords .dash-3,
.exploded-adwords .dash-5,
.exploded-adwords .dash-6 {
  -webkit-transform-origin: center top;
          transform-origin: center top;
  z-index: 2;
}

.exploded-adwords .dash-1 {
  top: 72%;
  left: 13%;
}

.exploded-adwords .dash-2 {
  top: 77%;
  left: 51%;
}

.exploded-adwords .dash-3 {
  top: 72%;
  left: 89%;
}

.exploded-adwords .dash-4 {
  top: 100%;
  left: 50%;
  height: 71.2%;
}

.exploded-adwords .screw-1,
.exploded-adwords .screw-2 {
  position: absolute;
  z-index: 2;
  width: 28%;
  top: auto;
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
  -webkit-transform: translate(-310%, -48%) rotate(121deg);
          transform: translate(-310%, -48%) rotate(121deg);
}

.exploded-adwords .screw-1 {
  width: 28%;
  bottom: 9%;
  left: 114%;
}

.exploded-adwords .screw-2 {
  width: 65%;
  bottom: -62%;
  left: 200%;
}

.is-exploded .exploded-adwords .telescope {
  -webkit-transform: translate(0, -10%) rotate(0deg) scale(1);
          transform: translate(0, -10%) rotate(0deg) scale(1);
}

.is-exploded .exploded-adwords .ring {
  -webkit-transform: translate(0, -90%) rotate(0deg) scale(1);
          transform: translate(0, -90%) rotate(0deg) scale(1);
}

.is-exploded .exploded-adwords .tube {
  -webkit-transform: translate(0, -2%) rotate(0deg) scale(1);
          transform: translate(0, -2%) rotate(0deg) scale(1);
}

.is-exploded .exploded-adwords .lens {
  -webkit-transform: translate(0, 32%) rotate(0deg) scale(1);
          transform: translate(0, 32%) rotate(0deg) scale(1);
}

.is-exploded .exploded-adwords .stand {
  -webkit-transform: translate(0, 30%) rotate(0deg) scale(1);
          transform: translate(0, 30%) rotate(0deg) scale(1);
}

.is-exploded .exploded-adwords .knob-large {
  -webkit-transform: translate(95%, 52%) rotate(0deg) scale(1);
          transform: translate(95%, 52%) rotate(0deg) scale(1);
}

.is-exploded .exploded-adwords .knob-small {
  -webkit-transform: translate(300%, 190%) rotate(0deg) scale(1);
          transform: translate(300%, 190%) rotate(0deg) scale(1);
}

.is-exploded .exploded-adwords .screw-1,
.is-exploded .exploded-adwords .screw-2 {
  -webkit-transform: translate(0, 0) rotate(121deg) scale(1);
          transform: translate(0, 0) rotate(121deg) scale(1);
}

.is-exploded .exploded-adwords .stand .nut > img {
  -webkit-transform: translate(0, 0) rotate(0deg) scale(1);
          transform: translate(0, 0) rotate(0deg) scale(1);
}

.exploded-consulting {
  margin: 0 auto;
  max-width: 550px;
}

.exploded-consulting:before {
  content: '';
  display: block;
  width: 100%;
  padding-top: 118.5%;
}

.exploded-consulting .exploded-fallback {
  display: none;
}

.exploded-consulting img,
.exploded-consulting svg {
  height: auto;
}

.exploded-consulting .reciever-left-wrap {
  position: absolute;
  left: 25.5%;
  top: 18.6%;
  width: 19.4%;
  -webkit-transform: translate(-42.3%, 169%) rotate(0deg) scale(1);
          transform: translate(-42.3%, 169%) rotate(0deg) scale(1);
}

.exploded-consulting .reciever-left-wrap .reciever-left {
  width: 100%;
}

.exploded-consulting .reciever-right-wrap {
  position: absolute;
  left: 26.6%;
  top: 8.1%;
  width: 73.2%;
  z-index: 6;
  -webkit-transform: translate(-11.3%, 47%) rotate(0deg) scale(1);
          transform: translate(-11.3%, 47%) rotate(0deg) scale(1);
}

.exploded-consulting .reciever-right-wrap .reciever-right {
  width: 100%;
}

.exploded-consulting .trigger-front {
  position: absolute;
  left: 37.3%;
  top: 30.5%;
  width: 30%;
  z-index: 7;
  -webkit-transform: translate(0%, 38.5%) rotate(0deg) scale(1);
          transform: translate(0%, 38.5%) rotate(0deg) scale(1);
}

.exploded-consulting .trigger-front > img {
  display: block;
  width: 100%;
  position: relative;
  z-index: 2;
}

.exploded-consulting .trigger-front .dash {
  position: absolute;
  z-index: 1;
  height: 32%;
}

.exploded-consulting .trigger-front .dash-1 {
  left: 4%;
  top: 40%;
}

.exploded-consulting .trigger-front .dash-2 {
  left: 97%;
  top: 100%;
}

.exploded-consulting .trigger-rear {
  position: absolute;
  left: 39%;
  top: 34%;
  width: 38%;
  z-index: 5;
  -webkit-transform: translate(0%, 45%) rotate(0deg) scale(1);
          transform: translate(0%, 45%) rotate(0deg) scale(1);
}

.exploded-consulting .trigger-rear .trigger {
  position: absolute;
  top: -42%;
  left: 20%;
  z-index: 2;
  width: 79.6%;
}

.exploded-consulting .trigger-rear .trigger-base {
  width: 100%;
  position: relative;
  z-index: 1;
  -webkit-transform: translate(-4%, 4%);
          transform: translate(-4%, 4%);
}

.exploded-consulting .dial-wrap {
  position: absolute;
  left: 7.5%;
  top: 49%;
  z-index: 4;
  width: 36%;
  -webkit-transform: translate(28%, 12%) rotate(0deg) scale(1);
          transform: translate(28%, 12%) rotate(0deg) scale(1);
}

.exploded-consulting .dial-wrap .dial {
  display: block;
  width: 100%;
  position: relative;
  z-index: 2;
}

.exploded-consulting .dial-wrap .dash {
  -webkit-transform: translate(0%, 0%) rotate(120deg) scale(0);
          transform: translate(0%, 0%) rotate(120deg) scale(0);
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
  height: 26%;
  position: absolute;
  z-index: 1;
}

.exploded-consulting .dial-wrap .dash-1 {
  left: 95%;
  top: -5%;
}

.exploded-consulting .dial-wrap .dash-2 {
  left: 96%;
  top: 40%;
}

.exploded-consulting .dial-wrap .dash-3 {
  left: 62%;
  top: 69%;
}

.exploded-consulting .base {
  position: absolute;
  left: 1%;
  top: 39.5%;
  width: 86%;
  z-index: 3;
}

.exploded-consulting .foot {
  position: absolute;
  z-index: 1;
  width: 7.8%;
  -webkit-transform: translate(0, -110%) rotate(0deg) scale(1);
          transform: translate(0, -110%) rotate(0deg) scale(1);
}

.exploded-consulting .foot > img {
  display: block;
  width: 100%;
}

.exploded-consulting .foot .dash {
  height: 100%;
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
}

.exploded-consulting .foot .dash-1 {
  left: 13%;
  top: -65%;
}

.exploded-consulting .foot .dash-2 {
  left: 80%;
  top: -65%;
}

.exploded-consulting .foot-1 {
  top: 87.7%;
  left: 0.1%;
}

.exploded-consulting .foot-2 {
  top: 107.3%;
  left: 39.5%;
}

.exploded-consulting .foot-3 {
  top: 88%;
  left: 79.5%;
}

.is-exploded .exploded-consulting .dial-wrap .dash {
  -webkit-transform: translate(0%, 0%) rotate(120deg) scale(1);
          transform: translate(0%, 0%) rotate(120deg) scale(1);
}

.exploded-digital-advertising {
  margin: 0 auto;
}

.exploded-digital-advertising:before {
  content: '';
  display: block;
  width: 100%;
  padding-top: 72.5%;
}

.exploded-digital-advertising .exploded-fallback {
  display: none;
}

.exploded-digital-advertising img,
.exploded-digital-advertising svg {
  height: auto;
}

.exploded-digital-advertising .dash {
  opacity: .5;
}

.exploded-digital-advertising .mouthpiece-wrap {
  position: absolute;
  left: 9.5%;
  top: 8%;
  width: 27.5%;
  z-index: 1;
  -webkit-transform: translate(23.5%, 12.5%) rotate(0deg) scale(1);
          transform: translate(23.5%, 12.5%) rotate(0deg) scale(1);
}

.exploded-digital-advertising .mouthpiece-wrap .mouthpiece {
  position: relative;
  width: 100%;
  height: auto;
  z-index: 2;
}

.exploded-digital-advertising .mouthpiece-wrap .nut {
  position: absolute;
  width: 12%;
}

.exploded-digital-advertising .mouthpiece-wrap .nut > img {
  display: block;
  width: 100%;
  height: auto;
}

.exploded-digital-advertising .mouthpiece-wrap .nut .dash {
  position: absolute;
  left: 50%;
  bottom: 100%;
  top: auto;
  height: 270%;
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
}

.exploded-digital-advertising .mouthpiece-wrap .nut-1 {
  left: -10%;
  top: -20%;
  -webkit-transform: translate(233%, 172%) rotate(120deg) scale(1);
          transform: translate(233%, 172%) rotate(120deg) scale(1);
}

.exploded-digital-advertising .mouthpiece-wrap .nut-2 {
  left: -30%;
  top: -10%;
  -webkit-transform: translate(293%, 182%) rotate(120deg) scale(1);
          transform: translate(293%, 182%) rotate(120deg) scale(1);
}

.exploded-digital-advertising .mouthpiece-wrap .nut-3 {
  left: -34%;
  top: 13%;
  -webkit-transform: translate(253%, 142%) rotate(120deg) scale(1);
          transform: translate(253%, 142%) rotate(120deg) scale(1);
}

.exploded-digital-advertising .handle {
  position: absolute;
  left: 10%;
  top: 83%;
  width: 40%;
  height: auto;
  z-index: 1;
  -webkit-transform: translate(25%, -22%) rotate(0deg) scale(1);
          transform: translate(25%, -22%) rotate(0deg) scale(1);
}

.exploded-digital-advertising .amplifier-wrap {
  position: absolute;
  left: 28%;
  top: 18%;
  width: 45%;
  z-index: 3;
}

.exploded-digital-advertising .amplifier-wrap .amplifier {
  width: 100%;
  height: auto;
}

.exploded-digital-advertising .amplifier-wrap .dash {
  position: absolute;
  z-index: 1;
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
  -webkit-transform: translate(0%, 0%) rotate(120deg) scale(0);
          transform: translate(0%, 0%) rotate(120deg) scale(0);
}

.exploded-digital-advertising .amplifier-wrap .dash-1 {
  top: -10%;
  left: 64%;
  height: 20%;
}

.exploded-digital-advertising .amplifier-wrap .dash-2 {
  top: 50%;
  left: 25%;
  height: 23%;
}

.exploded-digital-advertising .speaker-wrap {
  position: absolute;
  left: 49%;
  top: 27%;
  width: 39%;
  z-index: 4;
  -webkit-transform: translate(-32%, -14%) rotate(0deg) scale(1);
          transform: translate(-32%, -14%) rotate(0deg) scale(1);
}

.exploded-digital-advertising .speaker-wrap .speaker {
  width: 100%;
  height: auto;
}

.exploded-digital-advertising .speaker-wrap .screw {
  position: absolute;
  width: 7%;
  z-index: 1;
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
}

.exploded-digital-advertising .speaker-wrap .screw-1 {
  top: 4%;
  left: 110%;
  -webkit-transform: translate(-314%, 0%) rotate(120deg) scale(1);
          transform: translate(-314%, 0%) rotate(120deg) scale(1);
}

.exploded-digital-advertising .speaker-wrap .screw-2 {
  top: 55%;
  left: 98%;
  -webkit-transform: translate(-369%, -53%) rotate(120deg) scale(1);
          transform: translate(-369%, -53%) rotate(120deg) scale(1);
}

.exploded-digital-advertising .speaker-wrap .screw-3 {
  top: 77%;
  left: 32%;
  -webkit-transform: translate(-369%, -62%) rotate(120deg) scale(1);
          transform: translate(-369%, -62%) rotate(120deg) scale(1);
}

.exploded-digital-advertising .tip-wrap {
  position: absolute;
  left: 36%;
  top: 35.5%;
  width: 53%;
  z-index: 3;
  -webkit-transform: translate(-32%, -14%) rotate(0deg) scale(1);
          transform: translate(-32%, -14%) rotate(0deg) scale(1);
}

.exploded-digital-advertising .tip-wrap .tip {
  position: relative;
  z-index: 2;
  width: 100%;
  height: auto;
}

.exploded-digital-advertising .tip-wrap .dash {
  position: absolute;
  z-index: 1;
  -webkit-transform-origin: center top;
          transform-origin: center top;
  -webkit-transform: translate(0%, 0%) rotate(120deg) scale(0);
          transform: translate(0%, 0%) rotate(120deg) scale(0);
}

.exploded-digital-advertising .tip-wrap .dash-1 {
  top: 0%;
  left: 28%;
  height: 40%;
}

.exploded-digital-advertising .tip-wrap .dash-2 {
  top: 54%;
  left: -2%;
  height: 40%;
}

.is-exploded .exploded-digital-advertising .mouthpiece-wrap .nut,
.is-exploded .exploded-digital-advertising .amplifier-wrap .dash,
.is-exploded .exploded-digital-advertising .tip-wrap .dash,
.is-exploded .exploded-digital-advertising .speaker-wrap .screw {
  -webkit-transform: translate(0%, 0%) rotate(120deg) scale(1);
          transform: translate(0%, 0%) rotate(120deg) scale(1);
}

.exploded-remarketing {
  margin: 0 auto;
}

.exploded-remarketing:before {
  content: '';
  display: block;
  width: 100%;
  padding-top: 81%;
}

.exploded-remarketing .exploded-fallback {
  display: none;
}

.exploded-remarketing img,
.exploded-remarketing svg {
  display: block;
  height: auto;
}

.exploded-remarketing .dash {
  opacity: .35;
}

.exploded-remarketing .notch {
  position: absolute;
  left: 32%;
  top: 58%;
  z-index: 10;
  width: 2%;
  height: auto;
  display: block;
}

.exploded-remarketing .needle {
  position: absolute;
  left: 45%;
  top: 30%;
  z-index: 7;
  display: block;
  width: 47%;
  -webkit-transform: translate(0, 26%);
          transform: translate(0, 26%);
}

.exploded-remarketing .dial-wrap {
  position: absolute;
  left: 80%;
  top: 39.5%;
  z-index: 6;
  display: block;
  width: 6%;
  -webkit-transform: translateY(90%);
          transform: translateY(90%);
}

.exploded-remarketing .dial-wrap > .dial {
  display: block;
  width: 100%;
}

.exploded-remarketing .dial-wrap .dash {
  position: absolute;
  top: 100%;
  height: 80%;
  -webkit-transform-origin: top center;
          transform-origin: top center;
}

.exploded-remarketing .dial-wrap .dash-1 {
  left: 0;
}

.exploded-remarketing .dial-wrap .dash-2 {
  left: 100%;
  margin-left: -1px;
}

.exploded-remarketing .record-wrap {
  position: absolute;
  left: 16.5%;
  top: 0;
  z-index: 4;
  width: 55%;
  -webkit-transform: translateY(53%);
          transform: translateY(53%);
}

.exploded-remarketing .record-wrap svg path,
.exploded-remarketing .record-wrap svg ellipse {
  stroke: white;
}

.exploded-remarketing .record-wrap .record {
  width: 100%;
  z-index: 2;
  position: relative;
}

.exploded-remarketing .record-wrap > .dash {
  position: absolute;
  -webkit-transform-origin: top center;
          transform-origin: top center;
  opacity: .5;
  z-index: 1;
  opacity: .3;
}

.exploded-remarketing .record-wrap > .dash-1 {
  left: 10%;
  top: 77%;
  height: 23%;
}

.exploded-remarketing .record-wrap > .dash-2 {
  left: 97%;
  top: 67%;
  height: 21%;
}

.exploded-remarketing .record-wrap > .dash-3 {
  left: 56%;
  top: 100%;
  height: 26%;
}

.exploded-remarketing .tip-wrap {
  position: absolute;
  left: 49.5%;
  top: 37%;
  z-index: 3;
  width: 2.5%;
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}

.exploded-remarketing .tip-wrap > .tip {
  display: block;
  width: 100%;
}

.exploded-remarketing .tip-wrap .dash {
  position: absolute;
  top: 100%;
  height: 80%;
  -webkit-transform-origin: top center;
          transform-origin: top center;
  opacity: .5;
}

.exploded-remarketing .tip-wrap .dash-1 {
  left: 0;
}

.exploded-remarketing .tip-wrap .dash-2 {
  left: 100%;
  margin-left: -1px;
}

.exploded-remarketing .plate-wrap {
  position: absolute;
  left: 17.5%;
  top: 12%;
  z-index: 3;
  width: 53.9%;
  -webkit-transform: translateY(24%);
          transform: translateY(24%);
}

.exploded-remarketing .plate-wrap > .plate {
  display: block;
  width: 100%;
  position: relative;
  z-index: 3;
}

.exploded-remarketing .plate-wrap > .dash {
  position: absolute;
  -webkit-transform-origin: top center;
          transform-origin: top center;
  opacity: .5;
  z-index: 2;
}

.exploded-remarketing .plate-wrap > .dash-1 {
  left: 8%;
  top: 77%;
  height: 17%;
}

.exploded-remarketing .plate-wrap > .dash-2 {
  left: 97%;
  top: 67%;
  height: 13%;
}

.exploded-remarketing .plate-wrap > .dash-3 {
  left: 55%;
  top: 100%;
  height: 19%;
}

.exploded-remarketing .base {
  position: absolute;
  left: 0;
  top: 12.2%;
  z-index: 2;
  width: 100%;
}

.exploded-remarketing .foot {
  position: absolute;
  z-index: 1;
  width: 9%;
}

.exploded-remarketing .foot .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 3;
}

.exploded-remarketing .foot .overlay .dash {
  top: -37%;
  height: 80%;
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
}

.exploded-remarketing .foot .overlay .dash:nth-child(1) {
  left: 14%;
}

.exploded-remarketing .foot .overlay .dash:nth-child(2) {
  left: 80%;
}

.exploded-remarketing .foot > img {
  display: block;
  width: 100%;
  position: relative;
  z-index: 2;
}

.exploded-remarketing .foot-1 {
  left: 2%;
  top: 55%;
  -webkit-transform: translateY(-86%);
          transform: translateY(-86%);
}

.exploded-remarketing .foot-2 {
  left: 51%;
  top: 87%;
  -webkit-transform: translateY(-52%);
          transform: translateY(-52%);
}

.exploded-remarketing .foot-3 {
  left: 90%;
  top: 60%;
  -webkit-transform: translateY(-60%);
          transform: translateY(-60%);
}

.exploded-remarketing .foot .nut {
  z-index: 1;
}

.exploded-remarketing .foot .nut-1 {
  left: 5%;
  top: 50%;
}

.exploded-remarketing .foot .nut-2 {
  left: 70%;
  top: 50%;
}

.exploded-remarketing .screw-1,
.exploded-remarketing .screw-2 {
  width: 2%;
  top: 33%;
}

.exploded-remarketing .screw-1 {
  left: 77.5%;
  z-index: 5;
}

.exploded-remarketing .screw-1 .dash {
  height: 85%;
}

.exploded-remarketing .screw-2 {
  left: 86.5%;
  z-index: 7;
}

.exploded-remarketing .screw-2 .dash {
  height: 30%;
}

.exploded-remarketing .nut {
  position: absolute;
  z-index: 1;
  width: 20%;
}

.exploded-remarketing .nut:before {
  content: '';
  display: block;
  width: 100%;
  padding-top: 375%;
}

.exploded-remarketing .nut > img {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: auto;
  display: block;
  z-index: 1;
  -webkit-transform: translateY(-280%);
          transform: translateY(-280%);
  -webkit-transition: -webkit-transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
  transition: -webkit-transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
  transition: transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
  transition: transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0s, -webkit-transform 1s cubic-bezier(0.165, 0.84, 0.44, 1) 0s;
}

.exploded-remarketing .nut .dash {
  position: absolute;
  left: 50%;
  top: 0;
  height: 80%;
  -webkit-transform-origin: center top;
          transform-origin: center top;
}

.is-exploded .exploded-remarketing .needle {
  -webkit-transform: translate(0, -10%) rotate(0deg) scale(1);
          transform: translate(0, -10%) rotate(0deg) scale(1);
}

.is-exploded .exploded-remarketing .screw-1 {
  -webkit-transform: translate(0, -30%) rotate(0deg) scale(1);
          transform: translate(0, -30%) rotate(0deg) scale(1);
}

.is-exploded .exploded-remarketing .screw-2 {
  -webkit-transform: translate(0, 30%) rotate(0deg) scale(1);
          transform: translate(0, 30%) rotate(0deg) scale(1);
}

.exploded-socialadvertising {
  margin: 0 auto;
}

.exploded-socialadvertising:before {
  content: '';
  display: block;
  width: 100%;
  padding-top: 72.6%;
}

.exploded-socialadvertising .exploded-fallback {
  display: none;
}

.exploded-socialadvertising img,
.exploded-socialadvertising svg {
  display: block;
  height: auto;
}

.exploded-socialadvertising .dash {
  -webkit-transform: translate(0%, 0%) rotate(-420deg) scale(0);
          transform: translate(0%, 0%) rotate(-420deg) scale(0);
}

.exploded-socialadvertising .screw .dash {
  -webkit-transform: translate(0%, 0%) rotate(0deg) scale(0);
          transform: translate(0%, 0%) rotate(0deg) scale(0);
}

.exploded-socialadvertising .screw {
  position: absolute;
  width: 2.5%;
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
  z-index: 1;
}

.exploded-socialadvertising .screw-1 {
  left: 7%;
  top: 33%;
  -webkit-transform: translate(580%, 85%) rotate(-420deg) scale(1);
          transform: translate(580%, 85%) rotate(-420deg) scale(1);
}

.exploded-socialadvertising .screw-2 {
  top: 19%;
  left: 15%;
  -webkit-transform: translate(490%, 90%) rotate(-420deg) scale(1);
          transform: translate(490%, 90%) rotate(-420deg) scale(1);
}

.exploded-socialadvertising .screw-3 {
  left: 26.5%;
  top: 4.5%;
  -webkit-transform: translate(760%, 135%) rotate(-420deg) scale(1);
          transform: translate(760%, 135%) rotate(-420deg) scale(1);
}

.exploded-socialadvertising .screw-3 .dash {
  height: 125%;
}

.exploded-socialadvertising .screw-4 {
  left: 34.5%;
  top: -5%;
  -webkit-transform: translate(670%, 110%) rotate(-420deg) scale(1);
          transform: translate(670%, 110%) rotate(-420deg) scale(1);
}

.exploded-socialadvertising .screw-4 .dash {
  height: 100%;
}

.exploded-socialadvertising .lens {
  position: absolute;
  width: 21%;
  z-index: 2;
  -webkit-transform: translate(38%, 25%);
          transform: translate(38%, 25%);
}

.exploded-socialadvertising .lens-1 {
  left: 14.5%;
  top: 36%;
}

.exploded-socialadvertising .lens-2 {
  left: 38.5%;
  top: 14.5%;
}

.exploded-socialadvertising .base {
  position: absolute;
  left: 23%;
  top: 22%;
  width: 64%;
  z-index: 3;
}

.exploded-socialadvertising .dial-wrap {
  position: absolute;
  left: 64.5%;
  top: 47.5%;
  width: 8%;
  z-index: 4;
  -webkit-transform: translate(-90%, -40%);
          transform: translate(-90%, -40%);
}

.exploded-socialadvertising .dial-wrap > .dial {
  position: relative;
  z-index: 2;
  width: 100%;
}

.exploded-socialadvertising .dial-wrap .dash {
  position: absolute;
  z-index: 1;
  height: 70%;
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
}

.exploded-socialadvertising .dial-wrap .dash-1 {
  left: 0%;
  top: 4%;
}

.exploded-socialadvertising .dial-wrap .dash-2 {
  left: 65%;
  top: -60%;
}

.exploded-socialadvertising .cap-wrap {
  position: absolute;
  z-index: 5;
  width: 22%;
  -webkit-transform: translate(-44%, -23%);
          transform: translate(-44%, -23%);
}

.exploded-socialadvertising .cap-wrap-1 {
  left: 55%;
  top: 67%;
}

.exploded-socialadvertising .cap-wrap-2 {
  left: 78.5%;
  top: 47.5%;
}

.exploded-socialadvertising .cap-wrap > .cap {
  position: relative;
  z-index: 2;
  width: 100%;
}

.exploded-socialadvertising .cap-wrap .dash {
  position: absolute;
  z-index: 1;
  height: 30%;
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
}

.exploded-socialadvertising .cap-wrap .dash-1 {
  left: -3%;
  top: 34%;
}

.exploded-socialadvertising .cap-wrap .dash-2 {
  left: 15%;
  top: -11%;
}

.exploded-socialadvertising .cap-wrap .dash-3 {
  left: 41%;
  top: -26%;
}

.is-exploded .exploded-socialadvertising .screw,
.is-exploded .exploded-socialadvertising .dash {
  -webkit-transform: translate(0, 0) rotate(-420deg) scale(1);
          transform: translate(0, 0) rotate(-420deg) scale(1);
}

.is-exploded .exploded-socialadvertising .screw .dash {
  -webkit-transform: translate(0, 0) rotate(0) scale(1);
          transform: translate(0, 0) rotate(0) scale(1);
}

.exploded-seo {
  position: relative;
}

.exploded-seo:before {
  content: '';
  display: block;
  width: 100%;
  padding-top: 117.132%;
}

.exploded-seo .image-top,
.exploded-seo .image-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: block;
}

.exploded-seo .image-top {
  z-index: 5;
}

.exploded-seo .image-bottom {
  z-index: 4;
}

.exploded-seo .nut {
  z-index: 1;
  display: block;
  position: absolute;
  width: 4%;
}

.exploded-seo .nut-1 {
  left: 3%;
  top: 91.3%;
}

.exploded-seo .nut-2 {
  left: 41.5%;
  top: 97.3%;
}

.exploded-seo .nut-3 {
  left: 59.2%;
  top: 90.3%;
}

.exploded-seo .hopper {
  position: absolute;
  left: 0;
  top: 9%;
  z-index: 5;
  width: 100%;
  height: auto;
  display: block;
}

.exploded-seo .hopper > path.color {
  stroke: white;
}

.exploded-seo .base {
  position: absolute;
  left: 0;
  top: 51%;
  z-index: 3;
  width: 69.1%;
  display: block;
}

.exploded-seo .dash-1 {
  top: 38%;
  left: 4.4%;
  height: 7.5%;
}

.exploded-seo .dash-2 {
  top: 18%;
  left: 21.8%;
  height: 8%;
}

.exploded-seo .dash-3 {
  top: 24%;
  left: 60%;
  height: 8%;
}

.exploded-seo .dash-4 {
  top: 48%;
  left: 43.3%;
  height: 8%;
}

.exploded-seo .dash-5 {
  top: 54%;
  left: 1.5%;
  height: 7.5%;
}

.exploded-seo .dash-6 {
  top: 54%;
  left: 67%;
  height: 7.5%;
}

.exploded-seo .dash-7 {
  top: 82%;
  left: 5%;
  height: 8%;
}

.exploded-seo .dash-8 {
  top: 89%;
  left: 43.5%;
  height: 7.5%;
}

.exploded-seo .dash-9 {
  top: 82.5%;
  left: 61%;
  height: 7.5%;
}

.exploded-seo .dash-1,
.exploded-seo .dash-2,
.exploded-seo .dash-3,
.exploded-seo .dash-4 {
  z-index: 6;
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
}

.exploded-seo .dash-5,
.exploded-seo .dash-6 {
  z-index: 4;
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
}

.exploded-seo .dash-7,
.exploded-seo .dash-8,
.exploded-seo .dash-9 {
  z-index: 2;
  -webkit-transform-origin: center top;
          transform-origin: center top;
}

.exploded-seo .screw-1 {
  top: 19.6%;
  left: 2%;
}

.exploded-seo .screw-2 {
  top: 0;
  left: 19.2%;
}

.exploded-seo .screw-3 {
  top: 5.7%;
  left: 57.6%;
}

.exploded-seo .screw-4 {
  top: 30%;
  left: 40.8%;
}

.exploded-seo .screw {
  -webkit-transform: translateY(76%);
          transform: translateY(76%);
}

.exploded-seo .screw-2 {
  -webkit-transform: translateY(81%);
          transform: translateY(81%);
}

.exploded-seo .image-top {
  -webkit-transform: translateY(11%);
          transform: translateY(11%);
}

.exploded-seo .image-bottom {
  -webkit-transform: translateY(-11%);
          transform: translateY(-11%);
}

.exploded-seo .nut-1,
.exploded-seo .nut-3 {
  -webkit-transform: translateY(-280%);
          transform: translateY(-280%);
}

.exploded-seo .nut-2 {
  -webkit-transform: translateY(-180%);
          transform: translateY(-180%);
}

.is-exploded .exploded-seo .hopper > path.color {
  stroke: #f1e82b;
}

.exploded-webdesign {
  margin: 0 auto;
}

.exploded-webdesign:before {
  content: '';
  display: block;
  width: 100%;
  padding-top: 76.83%;
}

.exploded-webdesign .exploded-fallback {
  display: none;
}

.exploded-webdesign img,
.exploded-webdesign svg {
  display: block;
  height: auto;
}

.exploded-webdesign .dash {
  opacity: .5;
}

.exploded-webdesign .animate-stroke path {
  stroke: white;
}

.exploded-webdesign .dash {
  -webkit-transform: translate(0%, 0%) rotate(0deg) scale(0);
          transform: translate(0%, 0%) rotate(0deg) scale(0);
}

.exploded-webdesign .screw {
  position: absolute;
  width: 2.5%;
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
  z-index: 1;
}

.exploded-webdesign .cockpit {
  position: absolute;
  left: 41.5%;
  top: 39%;
  z-index: 10;
  width: 12.5%;
}

.exploded-webdesign .base {
  position: absolute;
  left: 10.5%;
  top: 25.5%;
  width: 67.5%;
  z-index: 5;
}

.exploded-webdesign .wing {
  position: absolute;
  left: 51.5%;
  top: 25.5%;
  width: 21%;
  z-index: 7;
}

.exploded-webdesign .tyre-wrap {
  position: absolute;
}

.exploded-webdesign .tyre-wrap > .tyre {
  width: 100%;
  position: relative;
}

.exploded-webdesign .tyre-wrap .dash {
  position: absolute;
}

.exploded-webdesign .tyre-wrap-fl {
  left: 2%;
  top: 42%;
  width: 15%;
  z-index: 2;
  -webkit-transform: translate(50%, 30%);
          transform: translate(50%, 30%);
}

.exploded-webdesign .tyre-wrap-fl > .tyre {
  z-index: 2;
}

.exploded-webdesign .tyre-wrap-fl .dash {
  position: absolute;
  z-index: 1;
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
  -webkit-transform: translate(0%, 0%) rotate(119.5deg) scale(0);
          transform: translate(0%, 0%) rotate(119.5deg) scale(0);
}

.exploded-webdesign .tyre-wrap-fl .dash-1 {
  height: 40%;
  left: 100%;
  top: 37%;
}

.exploded-webdesign .tyre-wrap-fl .dash-2 {
  height: 48%;
  left: 91%;
  top: 38%;
}

.exploded-webdesign .tyre-wrap-fr {
  left: 40%;
  top: 71%;
  width: 17%;
  z-index: 6;
  -webkit-transform: translate(-43%, -26%);
          transform: translate(-43%, -26%);
}

.exploded-webdesign .tyre-wrap-fr > .tyre {
  z-index: 2;
}

.exploded-webdesign .tyre-wrap-fr > .dash {
  z-index: 1;
  position: absolute;
  -webkit-transform-origin: top center;
          transform-origin: top center;
  -webkit-transform: translate(0%, 0%) rotate(119.5deg) scale(0);
          transform: translate(0%, 0%) rotate(119.5deg) scale(0);
}

.exploded-webdesign .tyre-wrap-fr > .dash-1 {
  height: 45%;
  left: -3%;
  top: 1%;
}

.exploded-webdesign .tyre-wrap-fr > .dash-2 {
  height: 60%;
  left: -3%;
  top: 15%;
}

.exploded-webdesign .tyre-wrap-fr .screw {
  z-index: 3;
  position: absolute;
  width: 14%;
  -webkit-transform: translate(-380%, -47%) rotate(119.5deg) scale(1);
          transform: translate(-380%, -47%) rotate(119.5deg) scale(1);
}

.exploded-webdesign .tyre-wrap-fr .screw-1 {
  top: 10%;
  left: 110%;
}

.exploded-webdesign .tyre-wrap-fr .screw-2 {
  left: 99%;
  top: 30%;
}

.exploded-webdesign .tyre-wrap-fr .screw .dash {
  -webkit-transform-origin: bottom center;
          transform-origin: bottom center;
}

.exploded-webdesign .tyre-wrap-rl {
  left: 36.5%;
  top: 9.5%;
  width: 14%;
  z-index: 1;
  -webkit-transform: translate(70%, 34%);
          transform: translate(70%, 34%);
}

.exploded-webdesign .tyre-wrap-rl > .tyre {
  z-index: 2;
}

.exploded-webdesign .tyre-wrap-rl .dash {
  position: absolute;
  z-index: 1;
  -webkit-transform-origin: center bottom;
          transform-origin: center bottom;
  -webkit-transform: translate(0%, 0%) rotate(119.5deg) scale(0);
          transform: translate(0%, 0%) rotate(119.5deg) scale(0);
}

.exploded-webdesign .tyre-wrap-rl .dash-1 {
  height: 60%;
  left: 100%;
  top: 14%;
}

.exploded-webdesign .tyre-wrap-rl .dash-2 {
  height: 58%;
  left: 90%;
  top: 25%;
}

.exploded-webdesign .tyre-wrap-rr {
  left: 82%;
  top: 43.5%;
  width: 13.5%;
  z-index: 6;
  -webkit-transform: translate(-56%, -33%);
          transform: translate(-56%, -33%);
}

.exploded-webdesign .tyre-wrap-rr > .tyre {
  z-index: 2;
}

.exploded-webdesign .tyre-wrap-rr > .dash {
  z-index: 1;
  position: absolute;
  -webkit-transform-origin: top center;
          transform-origin: top center;
  -webkit-transform: translate(0%, 0%) rotate(119.5deg) scale(0);
          transform: translate(0%, 0%) rotate(119.5deg) scale(0);
}

.exploded-webdesign .tyre-wrap-rr > .dash-1 {
  height: 65%;
  left: 7%;
  top: 4%;
}

.exploded-webdesign .tyre-wrap-rr > .dash-2 {
  height: 70%;
  left: 0%;
  top: 22%;
}

.exploded-webdesign .tyre-wrap-rr .screw {
  z-index: 3;
  position: absolute;
  width: 18%;
  -webkit-transform: translate(-380%, -47%) rotate(119.5deg) scale(1);
          transform: translate(-380%, -47%) rotate(119.5deg) scale(1);
}

.exploded-webdesign .tyre-wrap-rr .screw-1 {
  top: 10%;
  left: 110%;
}

.exploded-webdesign .tyre-wrap-rr .screw-2 {
  left: 99%;
  top: 30%;
}

.exploded-webdesign .tyre-wrap-rr .screw .dash {
  -webkit-transform-origin: bottom center;
          transform-origin: bottom center;
}

.exploded-webdesign .spoiler-wrap {
  position: absolute;
}

.exploded-webdesign .spoiler-wrap > .spoiler {
  display: block;
  position: relative;
  z-index: 2;
  width: 100%;
}

.exploded-webdesign .spoiler-wrap .dash {
  position: absolute;
  z-index: 1;
  -webkit-transform-origin: center top;
          transform-origin: center top;
}

.exploded-webdesign .spoiler-wrap-front {
  width: 21.5%;
  left: 57.5%;
  top: 1.2%;
  z-index: 8;
  -webkit-transform: translate(0, 30%);
          transform: translate(0, 30%);
}

.exploded-webdesign .spoiler-wrap-front .dash-1 {
  height: 15%;
  left: 63%;
  top: 98%;
}

.exploded-webdesign .spoiler-wrap-front .dash-2 {
  height: 25%;
  left: 94%;
  top: 70%;
}

.exploded-webdesign .spoiler-wrap-rear {
  width: 8.2%;
  left: 56.3%;
  top: 0%;
  z-index: 4;
  -webkit-transform: translate(0, 44%);
          transform: translate(0, 44%);
}

.exploded-webdesign .spoiler-wrap-rear .dash-1 {
  height: 26%;
  left: 4%;
  top: 100%;
}

.exploded-webdesign .spoiler-wrap-rear .dash-2 {
  height: 38%;
  left: 88%;
  top: 74%;
}

.exploded-webdesign .front-wrap {
  position: absolute;
  left: 0;
  top: 66%;
  width: 31%;
  z-index: 1;
  -webkit-transform: translate(0%, -18%);
          transform: translate(0%, -18%);
}

.exploded-webdesign .front-wrap > .front {
  position: relative;
  z-index: 1;
  width: 100%;
}

.exploded-webdesign .front-wrap .dash {
  position: absolute;
  z-index: 2;
  -webkit-transform-origin: bottom center;
          transform-origin: bottom center;
}

.exploded-webdesign .front-wrap .dash-1 {
  top: 42%;
  left: 36%;
  height: 10%;
}

.exploded-webdesign .front-wrap .dash-2 {
  top: 49%;
  left: 53.5%;
  height: 12%;
}

.is-exploded .exploded-webdesign .tyre-wrap > .dash,
.is-exploded .exploded-webdesign .tyre-wrap > .screw {
  -webkit-transform: translate(0%, 0%) rotate(119.5deg) scale(1);
          transform: translate(0%, 0%) rotate(119.5deg) scale(1);
}


/* ---- Our Work ---- */

.page-work .hero-internal .container {
    padding-top: 120px;
    padding-bottom: 40px;
}

.page-work .hero-internal-content {
    max-width: 480px;
}

.page-work .section-work {
    margin-bottom: 75px;
}

.page-work .filter {
    margin-bottom: 20px;
}

.page-work .pagination {
    margin-top: 20px;
}

.page-work .cta-letstalk {
    margin-bottom: 40px;
}

.section-work .grid {
    display: flex;
    flex-wrap: wrap;
    margin-left: -20px;
}

.section-work .grid > .grid-col {
    display: flex;
    width: 33.3333%;
    padding-left: 20px;
    margin-bottom: 20px;
}

@media (min-width: 960px) {
    .page-work .hero-internal .container {
        padding-top: 200px;
        padding-bottom: 60px;
    }

    .page-work .hero-internal-content {
        max-width: 720px;
    }

    .page-work .section-work {
        margin-bottom: 160px;
    }

    .page-work .filter {
        margin-bottom: 60px;
    }

    .page-work .pagination {
        margin-top: 50px;
    }

    .page-work .cta-letstalk {
        margin-bottom: 140px;
    }
}

@media (max-width: 959px) {
    .section-work .grid > .grid-col {
        width: 50%;
    }
}

@media (max-width: 480px) {
    .section-work .grid > .grid-col {
        width: 100%;
    }
}

/* ---- Resources ---- */

.page-resources .hero-internal .container {
    padding-top: 120px;
    padding-bottom: 40px;
}

.page-resources .hero-internal-content {
    max-width: 480px;
}

.page-resources .filter {
    margin-bottom: 20px;
}

.page-resources .section-resources {
    margin-bottom: 40px;
}

.page-resources .pagination {
    margin-top: 40px;
}

@media (min-width: 960px) {
    .page-resources .hero-internal .container {
        padding-top: 200px;
        padding-bottom: 60px;
    }

    .page-resources .hero-internal-content {
        max-width: 720px;
    }

    .page-resources .filter {
        margin-bottom: 60px;
    }

    .page-resources .section-resources {
        margin-bottom: 100px;
    }

    .page-resources .pagination {
        margin-top: 60px;
    }
}

/* ---- Our Approach ---- */

.page-approach .hero-internal .container {
    padding-top: 120px;
    padding-bottom: 100px;
}

.page-approach .hero-internal-content {
    max-width: 480px;
}

.page-approach .cta-letstalk {
    margin-top: 100px;
    margin-bottom: 40px;
}

@media (min-width: 960px) {
    .page-approach .hero-internal .container {
        padding-top: 200px;
        padding-bottom: 180px;
    }

    .page-approach .hero-internal-content {
        max-width: 780px;
    }

    .page-approach .cta-letstalk {
        margin-top: 180px;
        margin-bottom: 140px;
    }
}

/* ---- Quote ---- */

.page-quote .hero-internal .container {
    padding-top: 120px;
}

.page-quote .section-quote {
    margin-bottom: 40px;
}

@media (min-width: 960px) {
    .page-quote .hero-internal .container {
        padding-top: 200px;
    }

    .page-quote .section-quote {
        margin-bottom: 180px;
    }
}

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

.page-contact .section-contact {
    padding-top: 120px;
    margin-bottom: 40px;
}

.section-contact .grid {
    display: flex;
    margin-left: -40px;
}

.section-contact .grid > .grid-item {
    width: 50%;
    padding-left: 40px;
}

.section-contact .grid > .grid-item:nth-child(1) > * {
    max-width: 520px;
}

.section-contact ul {
    list-style: none;
}

.section-contact ul,
.section-contact ul li {
    padding: 0;
    margin: 0;
}

.section-contact-intro {
    margin-bottom: 30px;
}

.section-contact-intro > .title {
    font-size: 40px;
    margin-bottom: 30px;
    line-height: 1;
}

.section-contact-intro ul {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}

.section-contact-intro ul > li:not(:last-child) {
    margin-right: 50px;
}

.section-contact-intro ul a {
    text-decoration: none;
    display: flex;
    align-items: center;
}

.section-contact-intro ul a svg {
    margin-right: 15px;
}

.section-contact-intro ul a svg path {
    fill: var(--color-primary);
}

.section-contact-intro ul a:hover,
.section-contact-intro ul a:focus {
    text-decoration: none;
    color: #f1e82b;
    opacity: 1;
}

.section-contact-locations {
    margin-bottom: 30px;
}

.section-contact-locations > .title {
    font-size: 22px;
    margin-bottom: 20px;
    line-height: 1;
}

.section-contact-locations ul {
    display: flex;
    flex-wrap: wrap;
    margin-left: -20px;
    margin-bottom: 20px;
    font-size: 15px;
    color: rgba(255, 255, 255, 0.55);
}

.section-contact-locations ul > li {
    width: 50%;
    padding-left: 20px;
    margin-bottom: 20px;
}

.section-contact-locations ul .title {
    font-size: 14px;
    margin-bottom: 10px;
}

.section-contact-form {
    background-color: #231f20;
    color: white;
    padding: 20px 30px;
}

.section-contact-form > .title {
    font-size: 22px;
    margin-bottom: 20px;
    line-height: 1;
}

@media (min-width: 960px) {
    .page-contact .section-contact {
        padding-top: 200px;
        margin-bottom: 120px;
    }

    .section-contact-intro {
        margin-bottom: 50px;
    }

    .section-contact-intro > .title {
        font-size: 72px;
        margin-bottom: 50px;
    }

    .section-contact-intro ul {
        margin-bottom: 35px;
    }

    .section-contact-locations {
        margin-bottom: 50px;
    }

    .section-contact-locations > .title {
        font-size: 28px;
        margin-bottom: 35px;
    }

    .section-contact-locations ul {
        margin-left: -50px;
        margin-bottom: 50px;
    }

    .section-contact-locations ul > li {
        padding-left: 50px;
        margin-bottom: 50px;
    }

    .section-contact-locations ul .title {
        font-size: 18px;
        margin-bottom: 18px;
    }

    .section-contact-form {
        padding: 35px 50px;
    }

    .section-contact-form > .title {
        font-size: 28px;
        margin-bottom: 35px;
    }
}

@media (max-width: 959px) {
    .section-contact .grid {
        flex-direction: column;
    }

    .section-contact .grid > .grid-item {
        width: 100%;
    }

    .section-contact .grid > .grid-item:not(:last-child) {
        margin-bottom: 40px;
    }

    .section-contact-form .title {
        text-align: center;
    }
}

@media (max-width: 479px) {
    .page-contact .section-contact {
        margin-bottom: 0;
    }

    .section-contact-intro ul,
    .section-contact-locations ul {
        flex-direction: column;
        margin-left: 0;
    }

    .section-contact-intro ul > li,
    .section-contact-locations ul > li {
        width: 100%;
        padding-left: 0;
    }

    .section-contact-intro ul > li:not(:last-child),
    .section-contact-locations ul > li:not(:last-child) {
        margin-right: 0;
        margin-bottom: 20px;
    }

    .section-contact-form {
        margin-left: -30px;
        margin-right: -30px;
        padding-top: 40px;
        padding-bottom: 40px;
    }
}

/* ---- Team ---- */
/* Phase 3: to be written when template-team.php is built */

/* ---- Hiring ---- */

.single-hiring .hero-internal .container {
    padding-top: 120px;
    padding-bottom: 100px;
}

.single-hiring .hero-internal-content {
    max-width: 480px;
}

.single-hiring .section-values,
.single-hiring .section-positions,
.single-hiring .decorative-mosaic {
    margin-bottom: 40px;
}

.single-hiring .section-values-list {
    gap: 20px;
}

.single-hiring .section-values-list > li {
    flex: 0 0 calc(33.333% - 14px);
    max-width: calc(33.333% - 14px);
}

.single-hiring .value-inner {
    width: auto;
}

@media (max-width: 959px) {
    .single-hiring .section-values-list > li {
        flex: 0 0 calc(50% - 10px);
        max-width: calc(50% - 10px);
    }
}

@media (max-width: 480px) {
    .single-hiring .section-values-list > li {
        flex: 0 0 100%;
        max-width: 100%;
    }
}

.sub-hero-internal-title {
    font-size: 22px;
    margin-top: 30px;
    line-height: 1.3;
}

.section-positions-list {
    list-style: none;
    padding: 0;
    margin: 20px 0 0;
}

.section-positions-link {
    display: block;
    padding: 15px 0;
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.section-positions-link:hover,
.section-positions-link:focus {
    color: #f1e82b;
}

.section-positions-link .location {
    font-size: 14px;
    color: rgba(255, 255, 255, 0.55);
    margin-top: 5px;
}

.open-position-text {
    padding: 20px 0;
}

.open-position-text a::after {
    display: none;
}

.flex-content-wrapper {
    display: flex;
    flex-wrap: wrap;
    margin: 100px 10%;
}

.flex-content-wrapper .hirepage-image,
.flex-content-wrapper .section-positions {
    flex: 1 1 50%;
    max-width: 50%;
}

.flex-content-wrapper .hirepage-image img {
    width: 100%;
    height: auto;
    display: block;
}

.flex-content-wrapper section.section-positions {
    margin-bottom: 0;
    padding-bottom: 0;
}

.section-hire-form {
    max-width: 100%;
}

.section-positions-intro {
    max-width: 700px;
}

.section-hire-form .section-positions-intro {
    margin: 0 auto;
    text-align: center;
}

.section-positions-intro .title {
    font-size: 28px;
    margin-bottom: 20px;
    line-height: 1;
}

.section-positions-intro .text {
    margin-bottom: 30px;
}

.positions-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    text-align: left;
}

.positions-left,
.positions-right {
    flex: 1 1 45%;
}

.decorative-mosaic {
    position: relative;
}

.decorative-mosaic .grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    grid-template-areas: "grid-col-1 grid-col-3" "grid-col-2 grid-col-3";
    gap: 10px;
}

.decorative-mosaic .grid-col {
    position: relative;
    overflow: hidden;
}

.decorative-mosaic .grid-col img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.decorative-mosaic .grid-col-1 { grid-area: grid-col-1; }
.decorative-mosaic .grid-col-2 { grid-area: grid-col-2; }
.decorative-mosaic .grid-col-3 { grid-area: grid-col-3; }

.decorative-mosaic .grid-col-1,
.decorative-mosaic .grid-col-2 {
    max-height: 630px;
}

.section-seek-reviews {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 40px;
    margin-bottom: 40px;
}

.section-seek-reviews .center-text {
    padding: 30px;
    text-align: center;
}

.section-seek-reviews .title {
    font-size: 48px;
    margin: 0;
    padding-bottom: 40px;
}

.section-seek-reviews .text {
    font-size: 16px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.75);
}

.section-seek-reviews .text a {
    color: var(--color-primary);
    text-decoration: underline;
}

.section-seek-reviews .right-text {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.overall-container {
    text-align: center;
    background: #231f20;
    padding: 30px 40px;
    border-radius: 4px;
}

.overall-container img {
    margin-bottom: 10px;
}

.seek-score-rating {
    font-size: 48px;
    font-weight: 800;
    color: #fff;
}

.seek-reviews-grey-small {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.55);
}

@media (min-width: 960px) {
    .section-seek-reviews .title {
        font-size: 80px;
    }
    .section-seek-reviews .center-text {
        margin-bottom: 60px;
    }
    .seek-score-rating {
        font-size: 60px;
    }
}

.seek-reviews-carousel {
    position: relative;
    display: flex;
    align-items: center;
    padding: 60px 0;
}

.carousel-wrapper {
    overflow: hidden;
    flex: 1;
}

.carousel-list {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
}

.carousel-item {
    flex: 0 0 33.333%;
    padding: 0 15px;
    box-sizing: border-box;
}

.carousel-button {
    background: none;
    border: none;
    color: white;
    font-size: 40px;
    cursor: pointer;
    padding: 10px;
    z-index: 2;
}

.carousel-button:hover {
    color: #f1e82b;
}

.review {
    background-color: #231f20;
    padding: 25px;
    border-radius: 4px;
}

.review-title {
    font-size: 18px;
    margin-bottom: 8px;
}

.review-position {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.55);
    margin-bottom: 10px;
}

.star-rating {
    display: flex;
    margin-bottom: 10px;
}

.star-rating .star {
    width: 16px;
    height: 16px;
    fill: #555;
    margin-right: 2px;
}

.star-rating .star.yellow {
    fill: #f1e82b;
}

.review-body {
    font-size: 14px;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.75);
}

@media (min-width: 960px) {
    .single-hiring .hero-internal .container {
        padding-top: 300px;
        padding-bottom: 200px;
    }

    .single-hiring .hero-internal-content {
        max-width: 720px;
    }

    .single-hiring .section-values,
    .single-hiring .section-positions,
    .single-hiring .decorative-mosaic {
        margin-bottom: 100px;
    }

    .sub-hero-internal-title {
        font-size: 30px;
    }

    .section-positions-intro .title {
        font-size: 44px;
        margin-bottom: 35px;
    }

    .decorative-mosaic .grid {
        gap: 25px;
    }
}

@media (max-width: 1600px) {
    .flex-content-wrapper .hirepage-image,
    .flex-content-wrapper .section-positions {
        flex: 1 1 100%;
        max-width: 100%;
        padding-bottom: 60px;
    }
}

@media (max-width: 767px) {
    .section-seek-reviews {
        flex-direction: column;
        text-align: center;
    }

    .carousel-item {
        flex: 0 0 100%;
    }

    .positions-wrap {
        flex-direction: column;
    }

    .positions-left,
    .positions-right {
        flex: 1 1 100%;
    }
}


@media (max-width: 600px) {
    .positions-wrap {
        display: block;
    }
    .positions-left {
        width: 100%;
        padding: 0;
    }
    .positions-right {
        width: 100%;
        padding: 20px 0 0 0;
    }
}


/* ---- Landing Pages ---- */

.page-landing .hero-internal-title {
    margin-bottom: 30px;
}

.page-landing .hero-internal {
    margin-bottom: 75px;
}

.page-landing .hero-internal .container {
    padding-top: 120px;
    padding-bottom: 60px;
}

.page-landing .hero-internal p > strong {
    color: #f1e82b;
}

.page-landing .hero-cta {
    position: relative;
    background-color: #231f20;
    padding: 30px;
    z-index: 5;
    align-items: flex-start;
}

.page-landing .hero-cta .cta-start li {
    padding: 10px 0;
}

.page-landing .bg-black {
    display: grid;
    padding: 75px 0;
    grid-gap: 75px;
}

.grid-split {
    display: grid;
    grid-template-columns: auto;
    grid-gap: 30px;
    align-items: center;
}

.group-start,
.group-end {
    position: relative;
}

.page-landing .section-split .title {
    font-size: 28px;
    margin-bottom: 20px;
    line-height: 1;
}

.page-landing .section-split img {
    height: 100%;
    width: auto;
    max-height: 250px;
}

.page-landing main section {
    padding-bottom: 40px;
    padding-top: 40px;
}

.page-landing main section:nth-child(even) {
    background-color: black;
}

.page-landing .section-intro {
    padding-top: 0;
}

.section-split.order-reverse .group-start {
    order: 2;
}

@media (max-width: 600px) {
    .page-landing .section-split img {
        width: 100%;
        object-fit: contain;
        margin: auto;
    }

    .page-landing .hide-mobile {
        display: none;
    }
}

@media (min-width: 600px) {
    .page-landing .hero-internal .container {
        padding-bottom: 0;
    }

    .page-landing .hero-internal {
        margin-bottom: 120px;
    }

    .page-landing .hero-cta {
        width: calc(100% - 60px);
        max-width: 960px;
        bottom: -60px;
        padding: 50px;
        margin: auto;
    }

    .grid-split {
        grid-template-columns: auto auto;
        grid-gap: 50px;
    }
}

@media (min-width: 960px) {
    .page-landing .hero-internal .container {
        padding-top: 200px;
    }

    .page-landing .section-split .title {
        font-size: 44px;
        margin-bottom: 35px;
    }

    .page-landing main section {
        padding-bottom: 120px;
        padding-top: 120px;
    }
}

/* ---- Standard Page + 404 ---- */

.page-standard .title {
    text-align: left;
}

.error404 .hero-internal-title,
.page-standard .hero-internal-title {
    max-width: none;
}

.error404 .hero-internal .container,
.page-standard .hero-internal .container {
    padding-top: 120px;
    margin-bottom: 40px;
}

.error404 .container-page {
    min-height: auto;
}

.error404 .cms-block-content {
    text-align: center;
    padding-bottom: 80px;
}

.page-standard .cms-block-content {
    margin-bottom: 120px;
}

@media (min-width: 960px) {
    .error404 .hero-internal .container {
        padding-top: 160px;
        margin-bottom: 60px;
    }
    .error404 .cms-block-content {
        padding-bottom: 120px;
    }
    .page-standard .hero-internal .container {
        padding-top: 200px;
        margin-bottom: 100px;
    }
}


/* -- Section FAQ -- */

.section-faq-title {
  font-size: 24px;
  margin-bottom: 20px;
  line-height: 1;
}

@media (min-width: 960px) {
  .section-faq-title {
    font-size: 50px;
  }
}

@media (min-width: 960px) {
  .section-faq-title {
    margin-bottom: 80px;
  }
}


/* ---- Single Solution ---- */

.hero-solution {
    position: relative;
    padding-top: 10px;
}

.hero-solution-wrap {
    display: flex;
    flex-direction: column-reverse;
}

.hero-solution-intro {
    margin-bottom: 30px;
}

.hero-solution-title.title {
    font-size: 40px;
    margin-bottom: 10px;
    line-height: 1;
    max-width: 920px;
}

.hero-solution-subtitle.title {
    font-size: 18px;
    color: var(--color-primary);
    line-height: 1.4;
}

.hero-solution-text {
    max-width: 575px;
}

.hero-solution .section-brightestminds-stats .list > li {
    margin-bottom: 35px;
}

.hero-solution-content {
    position: relative;
    z-index: 2;
}

.hero-solution-content > .cta-letstalk {
    margin-bottom: 0;
}

.hero-solution-content > .cta-letstalk .buttons {
    padding-top: 2em;
    padding-bottom: 1em;
}

.hero-solution-image > img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-solution-accolades {
    list-style: none;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.hero-solution-accolades > li {
    padding: 0 5%;
    height: 50px;
}

.hero-solution-accolades > li img {
    max-width: 100%;
    height: 100%;
    width: auto;
    object-fit: contain;
}

@media (min-width: 960px) {
    .hero-solution {
        padding-top: 160px;
    }
    .hero-solution-wrap {
        flex-direction: row;
        align-items: center;
    }
    .hero-solution-title.title {
        font-size: 60px;
        margin-bottom: 20px;
    }
    .hero-solution-subtitle.title {
        font-size: 28px;
        line-height: 1.5;
    }
    .hero-solution-content {
        padding-right: 20px;
        width: 50%;
    }
    .hero-solution-image {
        padding-left: 20px;
        padding-bottom: 110px;
        transform: translateX(40px);
        width: 50%;
        align-self: stretch;
    }
    .hero-solution .section-brightestminds-stats .list > li {
        min-height: 50px;
    }
}

@media (min-width: 1440px) {
    .hero-solution-title.title {
        font-size: 80px;
    }
}

@media (max-width: 959px) {
    .hero-solution-wrap {
        position: relative;
        margin-top: -50px;
    }
    .hero-solution-content {
        z-index: 2;
        position: relative;
        margin-top: 40px;
    }
    .hero-solution-content::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background: linear-gradient(to bottom, rgba(17, 17, 17, 0) 0%, #111111 100%);
    }
    .hero-solution-content > * {
        position: relative;
        z-index: 2;
    }
}

@media (max-width: 600px) {
    .hero-solution-wrap {
        margin-top: 0;
    }
    .hero-solution-image {
        width: 100%;
    }
}

.single-solution .hero-home-clients {
    margin-top: -30px;
}

/* Single solution section spacing */
.single-solution .bg-black {
    padding-top: 40px;
    margin-bottom: 40px;
}

.single-solution .section-cs {
    margin-bottom: 100px;
}

.single-solution .content-main > .section-textblock:last-child {
    margin-bottom: 40px;
}

.single-solution .section-textblock-large {
    margin-top: 75px;
    margin-bottom: 75px;
}

.single-solution .section-gr,
.single-solution .section-fullwidth,
.single-solution .section-specialty {
    margin-bottom: 40px;
}

.single-solution .section-faq {
    margin-bottom: 40px;
}

.single-solution .cta-letstalk {
    margin-bottom: 80px;
}

.single-solution .section-sidebyside {
    margin-bottom: 40px;
}

.single-solution .section-cta {
    margin-bottom: 40px;
}

.single-solution .section-cta .buttons > .button {
    margin: 0 auto;
}

@media (min-width: 960px) {
    .single-solution .bg-black {
        padding-top: 100px;
        margin-bottom: 120px;
    }
    .single-solution .section-cs {
        margin-bottom: 120px;
    }
    .single-solution .content-main > .section-textblock:last-child {
        margin-bottom: 120px;
    }
    .single-solution .section-textblock-large {
        margin-top: 210px;
        margin-bottom: 150px;
    }
    .single-solution .section-gr,
    .single-solution .section-fullwidth,
    .single-solution .section-specialty {
        margin-bottom: 120px;
    }
    .single-solution .section-faq {
        margin-bottom: 120px;
    }
    .single-solution .cta-letstalk {
        margin-bottom: 100px;
    }
    .single-solution .section-sidebyside {
        margin-bottom: 120px;
    }
    .single-solution .section-cta {
        margin-bottom: 120px;
    }
}


/* -- Specialty -- */

.specialty {
  position: relative;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 4px;
  text-align: center;
  padding: 40px;
  height: 220px;
  transition: border-color 0.2s ease;
}

a.specialty.has-link {
  display: block;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

a.specialty.has-link:hover {
  border-color: var(--color-primary);
  opacity: 1;
  text-decoration: none;
}

.specialty-icon, .specialty-title {
  transition: transform 0.2s ease-out;
}

.specialty-icon {
  position: absolute;
  left: 0;
  top: 40px;
  z-index: 1;
  width: 100%;
  padding: 0 20px;
  height: 50px;
  display: flex;
  flex-direction: row;
align-items: center;
justify-content: center;
  pointer-events: none;
}

.specialty-icon > img {
  margin: 0 auto;
  max-height: 52px;
  height: auto;
  width: auto;
}

.specialty-title {
  font-size: 16px;
  position: absolute;
  left: 0;
  bottom: 30px;
  width: 100%;
  padding: 0 20px;
  height: 60px;
  display: flex;
  flex-direction: column;
align-items: center;
justify-content: center;
  text-align: center;
}

@media (min-width: 960px) {
  .specialty-title {
    font-size: 23px;
  }
}

.specialty-content {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 150px;
  font-size: 14px;
  line-height: 1.4;
  opacity: 0;
  display: flex;
  flex-direction: column;
justify-content: center;
align-items: center;
  transition: opacity 0.2s linear;
}

.specialty-content .text {
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
}

.specialty:hover .specialty-icon{
  transform: translateY(-80px);
}

.specialty:hover .specialty-title{
  transform: translateY(-95px);
}

.specialty:hover .specialty-content{
  opacity: 1;
}

@media (max-width: 479px) {
  .specialty .specialty-icon {
  transform: translateY(-80px);
  }
  .specialty .specialty-title {
  transform: translateY(-95px);
  }
  .specialty .specialty-content {
    opacity: 1;
  }
}


/* Style-2 specialty cards: use flex column, not absolute positioning */
.section-specialty .value-inner {
    padding: 30px;
    height: auto;
    background-image: none;
}

.section-specialty .value-inner .specialty-icon {
    position: static;
    height: auto;
    width: auto;
    padding: 0;
    margin-bottom: 15px;
}

.section-specialty .value-inner .specialty-icon > img {
    max-height: 52px;
}

.section-specialty .value-inner .specialty-title {
    position: static;
    height: auto;
    width: auto;
    padding: 0;
    margin-bottom: 10px;
}

.section-specialty .value-inner .specialty-content {
    position: static;
    height: auto;
    width: auto;
    opacity: 1;
}

.section-specialty .value-inner:hover {
    transform: scale(1.02);
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.35);
}


/* -- Single Solution Services -- */

.single-solution .section-services {
  margin-bottom: 40px;
}

@media (min-width: 960px) {
  .single-solution .section-services {
    margin-bottom: 120px;
  }
}


/* -- Section GR (Google Reviews) -- */

.section-gr .container-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px;
}

@media (min-width: 960px) {
  .section-gr .container-inner {
    flex-direction: row;
    margin-bottom: 60px;
  }
}

.section-gr-header {
  flex-grow: 1;
}

.section-gr .container-inner .reviewheader {
  flex-shrink: 0;
}

/* audit-ignore: !important required to override plugin inline style (width: 10000px !important) */
.section-gr .wp-google-right {
  width: auto !important;
}

:root .section-gr-title {
  font-size: 48px;
}

@media (min-width: 960px) {
  :root .section-gr-title {
    font-size: 96px;
  }
}

.section-gr .reviewheader {
  text-align: left;
}

.section-gr .reviewheader .grw-header-inner.rpi-flx,
.section-gr .reviewheader .rpi-flx.rpi-row12 {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
}

.section-gr .reviewheader .rpi-col8 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}

.section-gr .reviewheader .grw-img-wrap {
  flex-shrink: 0;
}

.section-gr .reviewheader .grw-img {
  display: block;
  width: 50px;
  height: 50px;
}

.section-gr .reviewheader .wp-google-name {
  margin: 0;
  font-weight: 700;
}

.section-gr .reviewheader .wp-google-name a {
  color: rgba(255, 255, 255, 0.7);
  font-size: 18px;
  font-weight: 700;
  text-decoration: none;
}

.section-gr .reviewheader .rpi-stars {
  position: relative;
  display: flex;
  align-items: center;
  color: #fb8e28;
  font-size: 16px;
  font-weight: 900;
  min-height: 20px;
  padding-right: 118px;
}

.section-gr .reviewheader .rpi-stars::after {
  content: '\2605\2605\2605\2605\2605';
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  letter-spacing: 2px;
  font-size: 18px;
  font-weight: 400;
  color: #fb8e28;
}

.section-gr .reviewheader .wp-google-based {
  color: #999999;
  font-size: 16px;
}

.section-gr .reviewheader .wp-google-powered {
  color: #777777;
  font-size: 16px;
  font-weight: 600;
}


/* -- Section Specialty -- */

.section-specialty .container-inner {
  max-width: 1080px;
  margin: 0 auto;
}

.section-specialty-title {
  font-size: 24px;
  margin-bottom: 20px;
  text-align: center;
}

@media (min-width: 960px) {
  .section-specialty-title {
    font-size: 60px;
    margin-bottom: 60px;
  }
}

.section-specialty-list {
  list-style: none;
  display: flex;
  flex-direction: row;
flex-wrap: wrap;
justify-content: center;
  padding: 0;
  margin: 0;
  margin-left: -10px;
  margin-bottom: -10px;
}

@media (min-width: 960px) {
  .section-specialty-list {
    margin-left: -60px;
  }
}

@media (min-width: 960px) {
  .section-specialty-list {
    margin-bottom: -60px;
  }
}

.section-specialty-list > li {
  margin: 0;
  padding: 0;
  width: 33.33333%;
  padding-left: 10px;
  margin-bottom: 10px;
}

@media (min-width: 960px) {
  .section-specialty-list > li {
    padding-left: 60px;
  }
}

@media (min-width: 960px) {
  .section-specialty-list > li {
    margin-bottom: 60px;
  }
}

.section-specialty-preface {
  text-align: center;
  margin-bottom: 20px;
}

@media (min-width: 960px) {
  .section-specialty-preface {
    margin-bottom: 60px;
  }
}

.section-specialty-footnote {
  text-align: center;
}

.section-specialty-controls {
  position: relative;
  padding: 20px 50px;
  margin-left: -15px;
  margin-right: -15px;
}

@media (min-width: 480px) {
  .section-specialty-controls {
    display: none;
  }
}

@media (min-width: 480px) and (max-width: 767px) {
  .section-specialty-list > li {
    width: 50%;
  }
}

@media (max-width: 480px) {
  .section-specialty-list {
    display: block;
    padding-top: 30px;
    margin-left: -30px;
    margin-right: -30px;
  }
  .section-specialty-list > li {
    width: auto;
  }
}


@media (min-width: 960px) {
  .single-solution .content-main section,
  .single-solution .cta-letstalk {
    margin-top: 80px;
  }
}


.hero-solution-text h3 {
  font-size: 15px;
}


@media (max-width: 400px) {
    .single-solution .hero-solution-image,
    .single-solution .section-sidebyside img,
    .single-solution .section-services-image {
        display: none;
    }
}


/* ---- Single Case Study ---- */

.hero-internal {
    width: 100vw;
    background-color: #111111;
    position: relative;
    z-index: 1;
}

.page-about .hero-internal {
    margin-bottom: 56px;
}

.hero-internal > .container,
.hero-internal > .widget-brands {
    position: relative;
    z-index: 3;
}

.hero-internal-title,
.hero-internal-content {
    margin: 0 auto;
    text-align: center;
}

.hero-internal-title {
    font-size: 40px;
    margin-bottom: 30px;
    line-height: 1;
    max-width: 920px;
}

.hero-internal-content {
    color: white;
}

.hero-internal .work-tags {
    color: var(--color-primary);
    margin-bottom: 20px;
    font-size: 14px;
    list-style: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.hero-internal .work-tags a {
    color: var(--color-primary);
}

.hero-internal-bg {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    overflow: hidden;
    opacity: 0.18;
    object-fit: cover;
}

.hero-internal-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Masked hero (background image with gradient overlays) */
.hero-internal.is-masked::before,
.hero-internal.is-masked::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 2;
    display: block;
}

.hero-internal.is-masked::before {
    width: 100%;
    height: 35%;
    background: linear-gradient(to top, #111111 0%, rgba(17, 17, 17, 0) 100%);
}

.hero-internal.is-masked::after {
    width: 100%;
    height: 100%;
    background: linear-gradient(115deg, rgba(17, 17, 17, 0.65) 0%, #111111 100%);
}

.hero-internal.is-masked + .content-main {
    margin-top: -50px;
    position: relative;
    z-index: 2;
}

.hero-internal.is-masked .hero-internal-bg {
    opacity: 1;
}

/* Hero video/image block */
.hero-internal-video {
    display: block;
    width: 100%;
    color: inherit;
    text-decoration: none;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    text-align: left;
    font: inherit;
}

.hero-internal-video > .inner {
    position: relative;
}

.hero-internal-video > .inner .icon {
    font-size: 50px;
    margin-top: -25px;
    position: absolute;
    left: 0;
    top: 50%;
    z-index: 3;
    width: 100%;
    line-height: 1;
    display: block;
    text-align: center;
    color: white;
    text-shadow: 0 10px 10px rgba(0, 0, 0, 0.15);
    transition: transform 0.2s ease;
}

.hero-internal-video > .inner .bg {
    width: 100%;
    display: block;
    border-radius: 3px;
    position: relative;
    overflow: hidden;
    transition: opacity 0.2s ease;
}

.hero-internal-video > .inner .bg img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.hero-internal-video > .inner .bg::before {
    content: '';
    display: block;
    width: 100%;
    padding-top: 63.89%;
}

.hero-internal-video > .inner .bg::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: block;
    background-color: black;
    opacity: 0.27;
}

.hero-internal-video.is-image .bg::after {
    content: none;
}

.hero-internal-video.is-image {
    cursor: default;
}

.hero-internal-video.is-image:hover .bg {
    opacity: 1;
}

.hero-internal-video > .supporting-text {
    font-family: var(--font-body);
    font-weight: 400;
    font-size: inherit;
    text-decoration: none;
    color: rgba(255, 255, 255, 0.85);
    margin-top: 10px;
}

.hero-internal-video > .supporting-text .illo {
    margin-left: 10px;
    height: 25px;
    width: auto;
}

.hero-internal-video > .supporting-text .illo path {
    stroke: var(--color-primary);
}

.hero-internal-video:hover .icon {
    transform: scale(1.05);
}

.hero-internal-video:hover .bg {
    opacity: 0.65;
}

/* Hero stats */
.hero-internal-stats {
    list-style: none;
    color: white;
    margin: 0;
    padding: 0;
}

.hero-internal-stats > li {
    padding: 0 10px;
}

.hero-internal-stats .stat {
    margin-right: 20px;
    min-width: 40px;
}

.hero-internal-stats .stat .arrow path[stroke="#000"] {
    stroke-width: 4;
}

.hero-internal-stats .stat .arrow path[stroke="#f1e82b"] {
    stroke-width: 1.5;
}

.hero-internal-stats-controls {
    position: relative;
}

.hero-internal-stats-slide {
    margin-bottom: 20px;
}

.hero-internal-daterange {
    color: rgba(255, 255, 255, 0.5);
    font-size: 14px;
}

@media (min-width: 480px) {
    .hero-internal-stats {
        font-size: 16px;
    }
    .hero-internal-stats > li {
        margin-bottom: 40px;
        display: flex;
    }
    .hero-internal-stats .stat.has-arrow {
        min-width: 170px;
    }
    .hero-internal-stats .stat-inner .text {
        font-size: 45px;
    }
    .hero-internal-stats .stat svg {
        width: auto;
        height: 36px;
    }
}

@media (max-width: 479px) {
    .hero-internal-stats {
        display: flex;
        justify-content: center;
        text-align: center;
        font-size: 14px;
    }
    .hero-internal-stats > li {
        margin-bottom: 40px;
        width: 100%;
    }
    .hero-internal-stats .stat {
        font-size: 30px;
        margin-bottom: 15px;
        margin-right: 0;
    }
    .hero-internal-stats .stat svg {
        width: auto;
        height: 30px;
        transform: translate(-15%, 10%);
    }
    .hero-internal-stats-slide {
        padding-left: 20px;
        padding-right: 20px;
    }
    .hero-internal-stats p {
        max-width: 150px;
        margin: 0 auto;
    }
    .hero-internal-daterange {
        text-align: center;
        margin-top: 10px;
    }
}

@media (max-width: 375px) {
    .hero-internal-stats-controls {
        max-width: calc(100vw - 20px);
        margin: 0 auto;
    }
}

/* Hero meta (blog/resources post metadata) */
.hero-internal-meta {
    position: relative;
}

.hero-internal-meta .tag-wrap {
    line-height: 20px;
    text-align: right;
    font-weight: 800;
    color: white;
}

.hero-internal-meta .tag-wrap,
.hero-internal-meta .tag-wrap .tags {
    display: flex;
    flex-wrap: wrap;
}

.hero-internal-meta .tag-wrap .date {
    margin-right: 5px;
}

.hero-internal-meta .tag-wrap .tags {
    list-style: none;
    padding: 0;
    margin: 0;
}

.hero-internal-meta .tag-wrap .tags > li {
    padding: 0;
    margin: 0;
}

.hero-internal-meta .tag-wrap .tags li {
    color: var(--color-primary);
}

.hero-internal-meta .tag-wrap .tags li:not(:last-child)::after {
    content: '|';
    font-weight: 800;
    color: rgba(255, 255, 255, 0.55);
    margin: 0 5px;
    opacity: 0.5;
}

.hero-internal-meta .tag-wrap a {
    color: var(--color-primary);
}

.hero-internal-meta .tag-wrap a:hover,
.hero-internal-meta .tag-wrap a:focus {
    text-decoration: none;
}

@media (min-width: 960px) {
    .hero-internal-meta {
        display: flex;
        justify-content: center;
        font-size: 14px;
    }
    .hero-internal-meta .avatar-wrap,
    .hero-internal-meta .share-title,
    .hero-internal-meta .tag-wrap {
        font-size: 14px;
    }
    .hero-internal-meta .avatar-wrap,
    .hero-internal-meta .tag-wrap {
        position: absolute;
        top: 50%;
        z-index: 2;
    }
    .hero-internal-meta .avatar-wrap {
        left: 0;
        margin-top: -20px;
    }
    .hero-internal-meta .tag-wrap {
        right: 0;
        margin-top: -10px;
    }
    .hero-internal-meta .share.share-resource {
        margin: 0 auto;
    }
}

@media (max-width: 959px) {
    .hero-internal-meta {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .hero-internal-meta-inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 20px;
        width: 100%;
    }
    .hero-internal-meta .avatar-wrap,
    .hero-internal-meta .share-title,
    .hero-internal-meta .tag-wrap {
        font-size: 12px;
    }
}

@media (max-width: 600px) {
    .hero-internal-meta-inner {
        flex-direction: column;
        align-items: center;
    }
    .hero-internal-meta-inner,
    .hero-internal-meta-inner .avatar-wrap {
        margin-bottom: 10px;
    }
}

/* Hero CTA (resources) */
.hero-internal-cta {
    display: flex;
    flex-direction: column;
    position: absolute;
    left: 50%;
    top: 100%;
    z-index: 2;
    width: 560px;
    height: 110px;
    margin-top: -55px;
    margin-left: -280px;
    background-color: #231f20;
}

.hero-internal-cta .inner {
    transition: box-shadow 0.2s ease;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex-grow: 1;
    padding-left: 220px;
    padding-right: 120px;
}

.hero-internal-cta .title {
    font-size: 18px;
    font-family: var(--font-body);
    font-weight: 800;
    letter-spacing: normal;
}

.hero-internal-cta .text {
    color: rgba(255, 255, 255, 0.85);
}

.hero-internal-cta .image {
    background-size: cover;
    background-position: center;
    position: absolute;
    left: 0;
    top: 0;
    width: 185px;
    height: 100%;
}

.hero-internal-cta svg {
    position: absolute;
    right: 30px;
    top: 50%;
    width: 72px;
    height: 19px;
    margin-top: -9px;
    display: block;
    transition: transform 0.2s ease;
}

.hero-internal-cta:hover,
.hero-internal-cta:focus {
    text-decoration: none;
    opacity: 1;
}

.hero-internal-cta:hover .inner {
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.35);
}

.hero-internal-cta:hover svg {
    transform: translateX(5px);
}

@media (max-width: 620px) {
    .hero-internal-cta {
        margin-left: 30px;
        margin-right: 30px;
        width: calc(100vw - 60px);
        left: 0;
    }
}

@media (max-width: 560px) {
    .hero-internal-cta {
        height: 90px;
        margin-top: -50px;
        left: 0;
    }
    .hero-internal-cta .inner {
        padding-left: 140px;
        padding-right: 60px;
    }
    .hero-internal-cta .title {
        font-size: 16px;
    }
    .hero-internal-cta .image {
        width: 120px;
    }
    .hero-internal-cta svg {
        right: 10px;
        width: 40px;
        height: 10px;
        margin-top: -5px;
    }
}

@media (max-width: 400px) {
    .hero-internal-cta {
        margin-left: 0;
        margin-right: 0;
        width: 100vw;
        left: 0;
    }
}

@media (max-width: 340px) {
    .hero-internal-cta .inner {
        padding-left: 30px;
    }
    .hero-internal-cta .image {
        display: none;
    }
    .hero-internal-cta svg {
        right: 30px;
    }
}

/* Case study grid layout */
.single-work .hero-internal .container {
    padding-top: 120px;
    padding-bottom: 100px;
}

.single-work .hero-internal-title,
.single-work .hero-internal-content {
    margin-left: 0;
    margin-right: 0;
    text-align: left;
}

.single-work .hero-internal-content {
    margin-bottom: 40px;
}

.single-work .hero-internal-content a {
    text-decoration: underline;
}

.single-work .hero-internal-stats {
    max-width: 460px;
    display: block;
}

@media (min-width: 960px) {
    .hero-internal-title {
        font-size: 86px;
        margin-bottom: 60px;
    }
    .hero-internal .work-tags {
        margin-bottom: 40px;
        font-size: 16px;
    }
    .hero-internal-video > .inner .icon {
        font-size: 80px;
        margin-top: -40px;
    }
    .hero-internal-video > .supporting-text {
        margin-top: 25px;
    }
    .single-work .hero-internal .container {
        padding-top: 250px;
        padding-bottom: 210px;
    }
    .single-work .hero-internal .grid {
        display: flex;
        flex-direction: row;
        align-items: center;
    }
    .single-work .hero-internal .grid > .grid-item {
        width: 50%;
    }
    .single-work .hero-internal .grid > .grid-item:nth-child(1) {
        padding-right: 100px;
    }
    .single-work .hero-internal .grid > .grid-item:nth-child(1) .hero-internal-video {
        display: none;
    }
    .single-work .hero-internal-content {
        margin-bottom: 70px;
    }
    .single-work .hero-internal-title,
    .single-work .hero-internal-content,
    .single-work .hero-internal-stats-controls {
        position: relative;
        z-index: 2;
    }
}

@media (max-width: 959px) {
    .single-work .hero-internal .grid > .grid-item:not(:last-child) {
        margin-bottom: 40px;
    }
    .single-work .hero-internal .grid > .grid-item:nth-child(1) .hero-internal-video {
        margin-bottom: 40px;
    }
    .single-work .hero-internal .grid > .grid-item:nth-child(2) {
        display: none;
    }
}

@media (max-width: 479px) {
    .hero-internal-video > .supporting-text .illo {
        width: 20px;
        height: auto;
        margin-left: 5px;
    }
}

/* Case study section spacing */
.single-work .quote-statement {
    margin-top: 75px;
    margin-bottom: 75px;
}

.single-work .cta-letstalk {
    margin-top: 75px;
    margin-bottom: 120px;
}

.single-work .cta-more {
    margin-bottom: 40px;
}

@media (min-width: 960px) {
    .single-work .quote-statement {
        margin-top: 150px;
        margin-bottom: 150px;
    }
    .single-work .cta-letstalk {
        margin-top: 250px;
        margin-bottom: 160px;
    }
    .single-work .cta-more {
        margin-bottom: 120px;
    }
}

/* More like this */
.cta-more {
    padding: 60px 0;
}

.cta-more-title {
    margin-bottom: 40px;
}

.cta-more .grid {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
}

.cta-more .grid-col {
    flex: 1;
    min-width: 250px;
}

@media (max-width: 767px) {
    .cta-more .grid {
        flex-direction: column;
    }
}

/* Work card (loop-work) */
.work {
    display: flex;
    width: 100%;
    text-align: left;
    background-color: #231f20;
    overflow: hidden;
}

.work > a {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: rgba(255, 255, 255, 0.55);
    position: relative;
}

.work > a:hover,
.work > a:focus {
    opacity: 1;
}

.work-bg,
.work-content {
    position: relative;
    transition: transform 0.2s ease;
}

.work-bg {
    z-index: 1;
    max-height: 326px;
    overflow: hidden;
}

.work-bg::before {
    content: '';
    display: block;
    width: 100%;
    padding-top: 70%;
}

.work-bg::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.9);
    opacity: 0;
    transition: opacity 0.2s linear;
}

.work-bg > img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.work-bg .logo {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.2s linear;
}

.work-bg .logo img {
    display: block;
    max-width: 100%;
    width: auto;
    margin: 0 auto;
}

.work-content {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    z-index: 2;
    background-color: #231f20;
}

.work-title {
    font-size: 16px;
    margin-bottom: 15px;
    transition: color 0.2s ease;
}

.work-text {
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 12px;
    flex-grow: 1;
}

.work-tags {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    font-size: 12px;
    font-weight: 800;
    color: rgba(255, 255, 255, 0.55);
    margin: 0;
    padding: 0;
}

.work-tags > li:not(:last-child)::after {
    content: '|';
    font-weight: 800;
    color: rgba(255, 255, 255, 0.55);
    margin: 0 5px;
    opacity: 0.5;
}

.work-stat {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 1;
    width: 100%;
    height: 78px;
    border-top: 1px solid #111111;
    padding: 0 30px;
    font-size: 13px;
    color: white;
    display: flex;
    align-items: center;
}

.work-stat .stat {
    display: inline-flex;
    align-items: center;
}

.work-stat .stat.has-arrow {
    margin-right: 30px;
}

.work-stat .stat:not(.has-arrow) {
    margin-right: 15px;
}

.work-stat .stat-inner .text {
    font-size: 21px;
}

.work-stat .stat svg {
    width: auto;
    height: 18px;
}

@media (min-width: 768px) {
    .work > a:hover .logo {
        opacity: 1;
        transition-delay: 0.1s;
    }
    .work > a:hover .work-bg {
        transform: translateY(-39px);
    }
    .work > a:hover .work-content {
        transform: translateY(-78px);
    }
    .work.has-logo > a:hover .work-bg::after {
        opacity: 1;
    }
}

@media (max-width: 767px) {
    .work > a:hover .work-title,
    .work > a:focus .work-title {
        color: var(--color-primary);
    }
    .work .work-stat {
        display: none;
    }
}

@media (max-width: 600px) {
    .work > a {
        color: rgba(255, 255, 255, 0.85);
    }
}

@media (min-width: 960px) {
    .work-title {
        font-size: 30px;
    }
    .work-text {
        font-size: 16px;
        margin-bottom: 20px;
    }
    .work-content {
        padding: 30px;
    }
}

/* ---- Blog / Resources / Archives ---- */

.single-resource .hero-internal .container, .single-resource .hero-internal .widget-brands,
.single-resource-walled .hero-internal .container,
.single-resource-walled .hero-internal .widget-brands {
  padding-top: 120px;
  padding-bottom: 100px;
}

@media screen and (min-width: 480px) {
  .single-resource .hero-internal .container, .single-resource .hero-internal .widget-brands,
  .single-resource-walled .hero-internal .container,
  .single-resource-walled .hero-internal .widget-brands {
    padding-top: calc(120px + 130 * (100vw - 480px) / 1320);
  }
}

@media screen and (min-width: 1800px) {
  .single-resource .hero-internal .container, .single-resource .hero-internal .widget-brands,
  .single-resource-walled .hero-internal .container,
  .single-resource-walled .hero-internal .widget-brands {
    padding-top: 250px;
  }
}

@media screen and (min-width: 480px) {
  .single-resource .hero-internal .container, .single-resource .hero-internal .widget-brands,
  .single-resource-walled .hero-internal .container,
  .single-resource-walled .hero-internal .widget-brands {
    padding-bottom: calc(100px + 110 * (100vw - 480px) / 1320);
  }
}

@media screen and (min-width: 1800px) {
  .single-resource .hero-internal .container, .single-resource .hero-internal .widget-brands,
  .single-resource-walled .hero-internal .container,
  .single-resource-walled .hero-internal .widget-brands {
    padding-bottom: 210px;
  }
}

.single-resource .hero-internal-content,
.single-resource-walled .hero-internal-content {
  max-width: 480px;
  margin-bottom: 40px;
}

@media screen and (min-width: 480px) {
  .single-resource .hero-internal-content,
  .single-resource-walled .hero-internal-content {
    max-width: calc(480px + 240 * (100vw - 480px) / 1320);
  }
}

@media screen and (min-width: 1800px) {
  .single-resource .hero-internal-content,
  .single-resource-walled .hero-internal-content {
    max-width: 720px;
  }
}

@media screen and (min-width: 480px) {
  .single-resource .hero-internal-content,
  .single-resource-walled .hero-internal-content {
    margin-bottom: calc(40px + 30 * (100vw - 480px) / 1320);
  }
}

@media screen and (min-width: 1800px) {
  .single-resource .hero-internal-content,
  .single-resource-walled .hero-internal-content {
    margin-bottom: 70px;
  }
}

.single-resource .content-main .share,
.single-resource-walled .content-main .share {
  margin-bottom: 40px;
}

@media screen and (min-width: 480px) {
  .single-resource .content-main .share,
  .single-resource-walled .content-main .share {
    margin-bottom: calc(40px + 80 * (100vw - 480px) / 1320);
  }
}

@media screen and (min-width: 1800px) {
  .single-resource .content-main .share,
  .single-resource-walled .content-main .share {
    margin-bottom: 120px;
  }
}

.single-resource .cta-letstalk,
.single-resource-walled .cta-letstalk {
  margin-top: 75px;
  margin-bottom: 120px;
}

@media screen and (min-width: 480px) {
  .single-resource .cta-letstalk,
  .single-resource-walled .cta-letstalk {
    margin-top: calc(75px + 175 * (100vw - 480px) / 1320);
  }
}

@media screen and (min-width: 1800px) {
  .single-resource .cta-letstalk,
  .single-resource-walled .cta-letstalk {
    margin-top: 250px;
  }
}

@media screen and (min-width: 480px) {
  .single-resource .cta-letstalk,
  .single-resource-walled .cta-letstalk {
    margin-bottom: calc(100px + 60 * (100vw - 480px) / 1320);
  }
}

@media screen and (min-width: 1800px) {
  .single-resource .cta-letstalk,
  .single-resource-walled .cta-letstalk {
    margin-bottom: 160px;
  }
}

.single-resource .cta-newsletter,
.single-resource-walled .cta-newsletter {
  margin-bottom: 40px;
}

@media screen and (min-width: 480px) {
  .single-resource .cta-newsletter,
  .single-resource-walled .cta-newsletter {
    margin-bottom: calc(40px + 80 * (100vw - 480px) / 1320);
  }
}

@media screen and (min-width: 1800px) {
  .single-resource .cta-newsletter,
  .single-resource-walled .cta-newsletter {
    margin-bottom: 120px;
  }
}

@media (min-width: 768px) and (max-width: 959px) {
  .single-resource .cta-newsletter .widget-newsletter:before,
  .single-resource-walled .cta-newsletter .widget-newsletter:before {
    padding-top: 0;
    height: 330px;
  }
}

.single-resource .cms-block-content,
.single-resource .cms-block-preview:last-child,
.single-resource-walled .cms-block-content,
.single-resource-walled .cms-block-preview:last-child {
  margin-bottom: 40px;
}

@media screen and (min-width: 480px) {
  .single-resource .cms-block-content,
  .single-resource .cms-block-preview:last-child,
  .single-resource-walled .cms-block-content,
  .single-resource-walled .cms-block-preview:last-child {
    margin-bottom: calc(40px + 50 * (100vw - 480px) / 1320);
  }
}

@media screen and (min-width: 1800px) {
  .single-resource .cms-block-content,
  .single-resource .cms-block-preview:last-child,
  .single-resource-walled .cms-block-content,
  .single-resource-walled .cms-block-preview:last-child {
    margin-bottom: 90px;
  }
}

.single-resource-walled .grid {
  position: relative;
}

.single-resource-walled .hero-internal-title {
  font-size: 40px;
}

@media screen and (min-width: 480px) {
  .single-resource-walled .hero-internal-title {
    font-size: calc(40px + 32 * (100vw - 480px) / 1320);
  }
}

@media screen and (min-width: 1800px) {
  .single-resource-walled .hero-internal-title {
    font-size: 72px;
  }
}

@media (max-width: 600px) {
  .single-resource-walled .form-walled {
    margin-top: 30px;
  }
}


/* -- Resource Cards -- */

.resource {
  display: flex;
  width: 100%;
  text-align: left;
  background-color: #231f20;
  overflow: hidden;
}

.resource > a {
  display: flex;
  flex-direction: column;
  position: relative;
  width: 100%;
  text-decoration: none;
  color: var(--color-text-muted);
}

.resource > a:hover, .resource > a:focus {
  opacity: 1;
}

.resource-bg, .resource-content {
  position: relative;
  transition: transform 0.2s ease-out;
}

.resource-bg {
  background-position: center center;
  background-repeat: no-repeat;
  z-index: 1;
  max-height: 326px;
}

.resource-bg:before {
  content: '';
  display: block;
  width: 100%;
  padding-top: 70%;
}

.resource-bg:after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.9);
  opacity: 0;
  transition: opacity 0.2s linear;
}

.resource-bg .logo {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: row;
align-items: center;
justify-content: center;
  opacity: 0;
  transition: opacity 0.2s linear;
}

.resource-bg .logo img {
  display: block;
  max-width: 100%;
  width: auto;
  margin: 0 auto;
}

.resource-content {
  padding: 20px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  z-index: 2;
  background-color: #231f20;
}

@media (min-width: 960px) {
  .resource-content {
    padding: 30px;
  }
}

.resource-title {
  font-size: 16px;
  font-family: var(--font-body);
  font-weight: 800;
  letter-spacing: normal;
  line-height: 1.2;
  margin-bottom: 15px;
  transition: color 0.2s ease-out;
}

@media (min-width: 960px) {
  .resource-title {
    font-size: 20px;
  }
}

.resource-text {
  font-size: 13px;
  line-height: 18px;
  margin-bottom: 10px;
  display: flex;
  flex-grow: 1;
}

@media (min-width: 960px) {
  .resource-text {
    font-size: 16px;
  }
}

@media (min-width: 960px) {
  .resource-text {
    line-height: 26px;
  }
}

@media (min-width: 960px) {
  .resource-text {
    margin-bottom: 30px;
  }
}

.resource-footer {
  display: flex;
  flex-direction: row;
justify-content: space-between;
align-items: center;
flex-wrap: wrap;
  margin-bottom: -10px;
}

.resource-footer .resource-avatar,
.resource-footer .resource-tags {
  margin-bottom: 10px;
}

.resource-footer .resource-avatar {
  margin-right: 10px;
}

.resource-tags {
  list-style: none;
  display: flex;
  flex-direction: row;
flex-wrap: wrap;
  font-size: 12px;
  font-weight: 800;
  color: var(--color-text-muted);
}

.resource-tags {
  margin: 0 0 5px;
  padding: 0;
}

.resource-tags > li {
  margin: 0;
  padding: 0;
  display: inline;
}

.resource-tags > li:not(:last-child):after {
  content: '|';
  font-weight: 800;
  color: var(--color-text-muted);
  margin: 0 5px;
  opacity: .5;
}

.resource-tags > li.date {
  color: white;
}

.resource-tags > li:not(:last-child):not(:first-child):after {
  content: '|';
  margin-right: 3px;
}

.resource-more {
  font-size: 13px;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
  width: 100%;
  height: 78px;
  border-top: 1px solid #111111;
  padding: 0 30px;
  font-weight: 800;
  color: white;
  display: flex;
  flex-direction: row;
align-items: center;
}

@media (min-width: 960px) {
  .resource-more {
    font-size: 16px;
  }
}

.resource-more svg {
  margin-right: 30px;
}

@media (min-width: 768px) {
  .resource > a:hover .resource-content{
  transform: translateY(-78px);
  }
}

@media (max-width: 767px) {
  .resource > a:hover .resource-title,
  .resource > a:focus .resource-title,
  .resource > a:hover .event-card-title,
  .resource > a:focus .event-card-title {
    color: var(--color-primary);
  }
  .resource .resource-more {
    display: none;
  }
  .resource-footer {
            flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  }
  .resource-footer .avatar-wrap + .resource-tags {
    margin-top: 10px;
  }
}

@media (max-width: 600px) {
  .resource > a {
    color: var(--color-text);
  }
}


/* -- Section Resources Grid -- */

.section-resources .grid {
  display: flex;
  flex-wrap: wrap;
  margin-left: -22px;
}

.section-resources .grid > .grid-col {
  display: flex;
  width: 33.3333%;
  max-width: 33.3333%;
  padding-left: 22px;
  margin-bottom: 22px;
}

.section-resources .grid > .grid-col-full {
  width: 100%;
  max-width: 100%;
}

@media (max-width: 959px) {
    .section-resources .grid > .grid-col {
        width: 50%;
        max-width: 50%;
    }
}

@media (min-width: 480px) and (max-width: 959px) {
    .section-resources .grid > .grid-col:nth-child(1),
    .section-resources .grid > .grid-col:nth-child(2),
    .section-resources .grid > .grid-col:nth-child(3),
    .section-resources .grid > .grid-col:nth-child(5) {
        order: 1;
    }

    .section-resources .grid > .grid-col:nth-child(4) {
        order: 2;
    }

    .section-resources .grid > .grid-col:nth-child(n+6) {
        order: 3;
    }
}

@media (max-width: 479px) {
    .section-resources .grid > .grid-col {
        width: 100%;
        max-width: 100%;
    }
}


.single-post .iframe-wrapper {
  height: auto;
}

.single-post .iframe-wrapper iframe {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  min-height: 500px;
}

.iframe-wrapper {
  padding-bottom: 0;
}


.webinarcontent {
  margin: 80px 0 0 0;
}


.post-template-default .cms-block-content ul {
  padding: 1.2em 0 1.2em 1.5em;
}

.post-template-default .cms-block-content ol {
  padding-left: 2.5em;
  font-weight: normal;
}


@media (max-width: 600px) {
    .single-post .iframe-wrapper iframe {
        min-height: 300px;
    }
}

.single-resource .iframe-wrapper {
    height: 0;
    padding-top: 0;
    padding-bottom: 56.25%;
}

.single-resource .iframe-wrapper iframe {
    position: absolute;
    min-height: 0;
    height: 100%;
    border: 0;
    background-color: #000;
}

@media (max-width: 600px) {
    .single-resource .iframe-wrapper iframe {
        min-height: 0;
    }
}


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

.header-main {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 101;
    width: 100vw;
    font-size: 16px;
    padding: 10px 0;
    transition: transform 0.2s ease, background 0.3s ease;
    background: linear-gradient(to right, rgba(17, 17, 17, 0), rgba(34, 34, 34, 0));
}

.scrolled .header-main {
    background: linear-gradient(to right, rgba(17, 17, 17, 1), rgba(34, 34, 34, 1));
}

body:not(.page-home) .header-main-spacer {
    display: none;
}

.header-main a {
    text-decoration: none;
    color: var(--color-white);
}

.header-main a:hover {
    color: var(--color-primary);
}

.header-main-inner {
    display: flex;
    align-items: center;
    position: relative;
}

.header-main-inner > * {
    position: relative;
    z-index: 2;
}

.header-main-spacer {
    width: 100%;
    height: 100px;
    display: block;
}

.page-home .header-main-spacer {
    display: none;
}

/* Logo */
.header-main .logo {
    display: block;
    transition: opacity 0.2s ease;
}

.header-main .logo,
.header-main .logo svg {
    width: 69px;
    height: 50px;
}

.header-main .logo:hover {
    opacity: 0.65;
}

/* Desktop nav */
.header-main nav {
    margin-left: auto;
}

.header-main nav > ul {
    display: flex;
    align-items: center;
    height: 100%;
}

.header-main nav > ul > li {
    display: inline-block;
    position: relative;
}

.header-main nav > ul > li > a {
    display: flex;
    align-items: center;
    padding: 15px 20px;
    position: relative;
    transition: color 0.2s ease;
}

/* Active underline indicator (SVG) */
.header-main nav > ul > li svg {
    opacity: 0;
    position: absolute;
    left: 50%;
    top: 100%;
    width: 80px;
    height: 7px;
    display: block;
    transform: translate(-50%, -10px);
    transition: opacity 0.2s linear 0.2s, transform 0.2s ease;
}

.header-main nav > ul > li.active a svg {
    opacity: 1;
    transform: translate(-50%, 0);
}

.scrolled .header-main nav ul li.active a svg {
    transform: translate(-50%, -10px);
}

.header-main nav ul > li:not(.is-active) a svg {
    opacity: 0;
}

/* Let's Talk button */
.header-cta {
    background-color: var(--color-primary);
    color: var(--color-bg);
    display: inline-block;
    padding: 12px 40px;
    text-align: center;
    font-weight: 800;
    margin-left: 10px;
    white-space: nowrap;
    border: none;
    cursor: pointer;
    font-family: inherit;
    font-size: inherit;
}

/* Phone link (direct child of header-main-inner) */
.header-phone {
    display: flex;
    align-items: center;
    white-space: nowrap;
    color: var(--color-white);
    text-decoration: none;
    margin-right: 30px;
}

.header-phone svg {
    display: block;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
}

.header-phone-text {
    margin-left: 5px;
}

.header-phone:hover {
    color: var(--color-primary);
}

/* Minimal header (logo + phone, no nav) — reusable site chrome */
.header-main.header-minimal .header-main-inner {
    justify-content: space-between;
}

.header-main.header-minimal .header-phone {
    margin-left: auto;
    margin-right: 0;
}

@media (max-width: 959px) {
    .header-main.header-minimal .header-main-inner {
        justify-content: space-between;
    }

    .header-main.header-minimal .logo {
        order: 1;
    }

    .header-main.header-minimal .header-phone {
        order: 2;
    }
}

/* Mobile: hamburger left, logo center, phone right */
@media (max-width: 959px) {
    .header-main {
        height: 60px;
        display: flex;
        align-items: center;
        padding: 0 15px;
        background: linear-gradient(to right, rgba(17, 17, 17, 1), rgba(34, 34, 34, 1));
    }
    .header-main-spacer {
        height: 60px;
    }
    .header-main-inner {
        justify-content: space-between;
    }
    .header-main nav {
        display: none;
    }
    .header-main .hamburger {
        order: 1;
    }
    .header-main .logo {
        order: 2;
    }
    .header-phone {
        order: 3;
    }
    .header-phone {
        margin-right: 0;
    }
    .header-phone-text {
        position: absolute;
        overflow: hidden;
        clip: rect(0 0 0 0);
        width: 1px;
        height: 1px;
        margin: -1px;
        padding: 0;
        border: 0;
    }
    .header-phone {
        margin-right: 0;
    }
    .header-phone svg {
        width: 26px;
        height: 26px;
    }
    .header-cta {
        display: none;
    }
}

/* -- Hamburger -- */

.hamburger {
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    position: relative;
    display: none;
    width: 32px;
    height: 24px;
    cursor: pointer;
    flex-shrink: 0;
}

@media (max-width: 959px) {
    .hamburger {
        display: block;
    }
}

.hamburger:hover .line-top {
    transform: translateY(-2px);
}

.hamburger:hover .line-bottom {
    transform: translateY(2px);
}

.hamburger .lines {
    display: block;
    width: 32px;
    height: 24px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -16px;
    margin-top: -12px;
}

.hamburger .line {
    background-color: var(--color-white);
    display: block;
    position: absolute;
    left: 50%;
    width: 32px;
    height: 3px;
    margin-left: -16px;
    transition: all 0.1s ease;
    border-radius: 3px;
}

.hamburger .line-top {
    top: 0;
}

.hamburger .line-middle1,
.hamburger .line-middle2 {
    top: 50%;
    margin-top: -1.5px;
}

.hamburger .line-bottom {
    bottom: -1px;
}

.is-hamburgerOpen .hamburger .line-top,
.is-hamburgerOpen .hamburger .line-bottom {
    opacity: 0;
}

.is-hamburgerOpen .hamburger .line-middle1 {
    transform: rotate(45deg);
}

.is-hamburgerOpen .hamburger .line-middle2 {
    transform: rotate(-45deg);
}

/* -- Header mobile -- */

.header-mobile {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100vw;
    height: 100vh;
    font-size: 20px;
    background-color: var(--color-bg);
    padding: 30px;
    padding-top: 60px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    overflow-y: auto;
    transition: opacity 0.2s ease, visibility 0.2s ease;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.is-hamburgerOpen .header-mobile {
    visibility: visible;
    opacity: 1;
    pointer-events: all;
}

.header-mobile a {
    text-decoration: none;
    color: var(--color-white);
}

.header-mobile a .text {
    transition: color 0.2s ease;
}

.header-mobile a:hover,
.header-mobile a:focus {
    opacity: 1;
}

.header-mobile a:hover .text,
.header-mobile a:focus .text {
    color: var(--color-primary);
}

.header-mobile nav ul li.is-action {
    margin-top: 20px;
    margin-bottom: 30px;
}

.header-mobile .btn.btn-primary {
    line-height: 49px;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 14px;
    color: var(--color-bg);
}

.header-mobile .btn.btn-primary:hover {
    color: var(--color-bg-dark);
}

.header-mobile .logo {
    display: block;
    transition: opacity 0.2s ease;
}

.header-mobile .logo,
.header-mobile .logo svg {
    width: 69px;
    height: 50px;
}

.header-mobile .logo:hover {
    opacity: 0.65;
}

.header-mobile nav ul li {
    margin-bottom: 40px;
    opacity: 0;
    transform: translateX(-10px);
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.header-mobile nav ul li.is-active > a {
    color: var(--color-primary);
}

.is-hamburgerOpen .header-mobile nav ul li {
    opacity: 1;
    transform: translateX(0);
}

.is-hamburgerOpen .header-mobile nav ul li:nth-child(2) { transition-delay: .05s; }
.is-hamburgerOpen .header-mobile nav ul li:nth-child(3) { transition-delay: .1s; }
.is-hamburgerOpen .header-mobile nav ul li:nth-child(4) { transition-delay: .15s; }
.is-hamburgerOpen .header-mobile nav ul li:nth-child(5) { transition-delay: .2s; }
.is-hamburgerOpen .header-mobile nav ul li:nth-child(6) { transition-delay: .25s; }
.is-hamburgerOpen .header-mobile nav ul li:nth-child(7) { transition-delay: .3s; }

.header-mobile nav ul a {
    display: block;
    width: 100%;
    line-height: 1;
}

.header-mobile nav ul a:hover {
    color: var(--color-primary);
}

.header-mobile .header-mobile-footer {
    margin-top: auto;
}

.header-mobile .bottom {
    border-top: 1px solid var(--color-border);
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-top: 20px;
    padding-top: 30px;
}

.header-mobile .phone {
    position: relative;
    padding-left: 34px;
}

.header-mobile .phone svg {
    position: absolute;
    left: 0;
    top: 50%;
    height: 24px;
    width: auto;
    margin-top: -12px;
}

.header-mobile .social {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 30px;
}

.header-mobile .social a {
    opacity: 0.4;
    transition: opacity 0.2s ease;
}

.header-mobile .social a:hover {
    opacity: 1;
}

.header-mobile .social .icon {
    color: var(--color-white);
}

.header-mobile .social .icon-instagram,
.header-mobile .social .icon-facebook {
    font-size: 24px;
}

.header-mobile .social .icon-twitter {
    font-size: 19px;
}

@media (min-width: 960px) {
    .header-mobile {
        display: none;
    }
}

.header-mobile .accordion {
    border: 0;
    position: relative;
    padding-right: 40px;
}

.is-hamburgerOpen {
    overflow: hidden;
}


/* ---- Dropdown Menus ---- */

.menu-item-has-children {
  position: relative;
}

.menu-item-has-children > a {
  position: relative;
  padding-right: 20px;
}

.menu-item-has-children > a:after {
  content: '';
  position: absolute;
  right: 5px;
  top: 50%;
  margin-top: -3px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 3px 0 3px;
  border-color: #f1e82b transparent transparent transparent;
  transition: transform 0.15s ease;
}

.menu-item-has-children:hover > a:after {
  transform: rotate(180deg);
}

.menu-item-has-children:hover {
  z-index: 2;
}

.menu-item-has-children:hover > .submenu {
  opacity: 1;
  visibility: visible;
}

/* Submenu (tier 2) */
.menu-item-has-children > .submenu {
  position: absolute;
  top: 100%;
  left: 0;
  opacity: 0;
  visibility: hidden;
  min-width: 220px;
  width: max-content;
  display: flex;
  flex-flow: column nowrap;
  padding-top: 10px;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}

.menu-item-has-children > .submenu > li {
  background-color: rgba(35, 31, 32, 0.95);
  width: 100%;
}

.menu-item-has-children > .submenu > li:first-child {
  border-radius: 5px 5px 0 0;
}

.menu-item-has-children > .submenu > li:last-child {
  border-radius: 0 0 5px 5px;
}

.menu-item-has-children > .submenu > li:not(:last-child) > a {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.menu-item-has-children > .submenu > li > a {
  display: block;
  white-space: nowrap;
  padding: 12px 24px;
  color: white;
  transition: background 0.15s ease;
}

.menu-item-has-children > .submenu > li > a:hover {
  background: rgba(255, 255, 255, 0.1);
  color: #f1e82b;
}

.menu-item-has-children > .submenu > li.is-active > a {
  color: #f1e82b;
}

/* Submenu tier 2 arrow indicator */
.menu-item-has-children > .submenu > li.menu-item-has-children > a:after {
  right: 12px;
  border-width: 3px 0 3px 6px;
  border-color: transparent transparent transparent #f1e82b;
}

/* Submenu (tier 3) */
.menu-item-has-children > .submenu .submenu {
  top: 0;
  left: 100%;
  padding-top: 0;
}


/* -- Second-tier dropdown -- */
ul.sub-menu.submenu {
    min-width: 250px;
}

/* -- Header mobile accordion submenus -- */

.header-mobile .accordion {
    position: relative;
}

.header-mobile .menu-item-has-children > a:after {
    display: none;
}

.header-mobile .accordion[data-active="true"] > .accordion-panel {
    max-height: none;
}

.header-mobile .accordion-trigger {
    position: absolute;
    right: 0;
    top: -10px;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 50%;
    cursor: pointer;
    padding: 0;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.header-mobile .accordion-trigger:hover,
.header-mobile .accordion-trigger:focus {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.3);
}

.header-mobile .accordion-trigger::before,
.header-mobile .accordion + .accordion::before {
    content: none;
}

.header-mobile .accordion-trigger::after {
    content: '+';
    font-size: 22px;
    color: var(--color-text-muted);
    transition: color 0.2s ease;
}

.header-mobile .accordion[data-active="true"] > .accordion-trigger {
    background: rgba(241, 232, 43, 0.1);
    border-color: rgba(241, 232, 43, 0.3);
}

.header-mobile .accordion[data-active="true"] > .accordion-trigger::after {
    content: '\2212';
    color: var(--color-primary);
}

.header-mobile .accordion-panel {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease, margin-top 0.3s ease;
    list-style: none;
    padding: 0;
    margin: 0;
}

.header-mobile .accordion[data-active="true"] > .accordion-panel {
    margin-top: 15px;
}

.header-mobile .accordion-panel li {
    padding-left: 16px;
    margin-bottom: 0;
}

.header-mobile .accordion-panel li a {
    padding: 15px 0;
}

.header-mobile .accordion-panel .accordion {
    border: 0;
}

.header-mobile .accordion-panel .accordion-trigger {
    top: 0;
    width: 36px;
    height: 36px;
}

.header-mobile .accordion-panel .accordion-panel li {
    padding-left: 32px;
}

.header-mobile-footer {
    padding-top: 50px;
}

/* ---- Footer ---- */

.footer-main {
    font-size: 12px;
    background-color: var(--color-black);
    color: var(--color-text-muted);
}

.footer-main > .container {
    padding-top: 40px;
    padding-bottom: 40px;
}

.footer-main a {
    color: var(--color-text);
    transition: color 0.2s ease;
}

.footer-main a:hover,
.footer-main a:focus {
    color: var(--color-white);
    opacity: 1;
}

/* -- Footer: Logo -- */

.footer-main .logo .path-1,
.footer-main .logo .path-2 {
    transition: fill 0.2s ease;
}

.footer-main .logo:hover .path-1 {
    fill: #c2c3c1;
}

.footer-main .logo:hover .path-2 {
    fill: var(--color-primary);
}

/* -- Footer: Learn section -- */

.footer-main-learn {
    margin-bottom: 35px;
}

.footer-main-learn .grid {
    display: flex;
    flex-wrap: wrap;
    margin-left: -40px;
}

.footer-main-learn .grid-col {
    width: 33.333%;
    max-width: 33.333%;
    padding-left: 40px;
    display: flex;
    flex-direction: column;
}

.footer-main-learn-resources > .title {
    font-size: 24px;
    color: var(--color-white);
    margin-bottom: 12px;
}

.footer-main-learn-resources .list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-main-learn-resources .list > li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.footer-main-learn-resources .list > li .title {
    font-size: 18px;
    font-family: var(--font-body);
    font-weight: 400;
    letter-spacing: normal;
}

.footer-main-learn-resources .list > li a {
    font-size: 16px;
    line-height: 1.7;
    display: block;
    padding: 15px 30px 15px 70px;
    color: var(--color-white);
    position: relative;
    transition: color 0.2s ease;
}

.footer-main-learn-resources .list > li a:hover,
.footer-main-learn-resources .list > li a:focus {
    color: var(--color-primary);
    opacity: 1;
    text-decoration: none;
}

.footer-main-learn-resources .list > li svg {
    position: absolute;
    left: 20px;
    top: 16px;
}

.footer-main-learn-resources .cta {
    display: block;
    position: relative;
    color: #8C8C8C;
    font-size: 16px;
    padding: 20px 20px 0 80px;
    transition: padding-left 0.2s ease, opacity 0.2s ease;
    transition-delay: 0.4s;
}

.footer-main-learn-resources .cta svg {
    position: absolute;
    left: 15px;
    top: 30px;
    width: 45px;
    height: 13px;
    display: block;
}

.footer-main-learn-resources .cta:hover,
.footer-main-learn-resources .cta:focus {
    text-decoration: none;
    color: var(--color-primary);
}

.footer-main-learn .footer-main-resource {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    justify-content: space-between;
    width: 100%;
    background-color: var(--color-bg-alt);
    color: rgba(255, 255, 255, 0.75);
    font-size: 14px;
    line-height: 1.7;
    padding: 20px;
}

.footer-main-learn .footer-main-resource a:hover {
    text-decoration: none;
}

.footer-main-learn .footer-main-resource .content {
    display: block;
}

.footer-main-learn .footer-main-resource .content:hover .title,
.footer-main-learn .footer-main-resource .content:focus .title {
    color: var(--color-primary);
}

.footer-main-learn .footer-main-resource .title {
    font-family: var(--font-body);
    font-weight: 800;
    font-size: 18px;
    line-height: 1.5;
    letter-spacing: normal;
    margin-bottom: 40px;
    transition: color 0.2s ease;
}

.footer-main-learn .footer-main-resource .avatar-wrap {
    margin-top: 20px;
}

/* -- Footer: Communication section -- */

.footer-main-communication {
    margin-bottom: 50px;
}

.footer-main-communication .grid {
    display: flex;
    align-items: flex-start;
    margin-left: -40px;
}

.footer-main-communication .grid-col {
    padding-left: 40px;
    flex: 1;
}

/* -- Footer: Acknowledgement -- */

.footer-main-communication .wc {
    margin: 50px 0 0 0;
}

/* -- Footer: Social links -- */

.footer-main-communication .share {
    display: flex;
    align-items: center;
    margin-top: 25px;
}

.footer-main-communication .share a:hover,
.footer-main-communication .share a:focus {
    color: var(--color-primary);
}

.footer-main-communication .share .share-title {
    font-size: 18px;
    margin-right: 20px;
    white-space: nowrap;
}

/* -- Footer: Partners -- */

.partners {
    float: right;
}

.partners h3 {
    margin-bottom: 10px;
}

.partners a {
    display: inline-block;
    margin: 0 10px 10px 0;
    vertical-align: middle;
}

.partners a:last-of-type {
    margin-right: 0;
}

.partners img {
    height: 90px;
    width: auto;
}

/* -- Footer: Locations -- */

.footer-main-locations {
    margin-bottom: 40px;
}

.footer-main-locations .title {
    text-transform: uppercase;
    font-size: 20px;
    line-height: 1;
    margin-bottom: 20px;
}

.footer-main-locations ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: space-between;
}

/* -- Footer: Credits -- */

.footer-main-credits {
    display: flex;
    justify-content: space-between;
}

.footer-main-credits ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    text-align: center;
}

.footer-main-credits ul li:not(:last-child) {
    margin-right: 25px;
}

.footer-main-credits button {
    display: block;
    position: relative;
    color: var(--color-white);
    padding-right: 30px;
    transition: color 0.2s ease;
}

.footer-main-credits button:hover,
.footer-main-credits button:focus {
    color: var(--color-primary);
}

.footer-main-credits button .icon {
    position: absolute;
    right: 0;
    top: 50%;
    margin-top: -4px;
    transition: transform 0.2s ease;
    transform: rotate(180deg);
}

.footer-main-credits button .icon::before {
    display: block;
    font-size: 8px;
    line-height: 1;
    color: var(--color-primary);
}

.footer-main-credits button.is-active .icon {
    transform: rotate(0deg);
}

/* -- Footer: Responsive (desktop) -- */

@media (min-width: 960px) {
    .footer-main > .container {
        padding-top: 85px;
        padding-bottom: 65px;
    }
    .footer-main {
        font-size: 15px;
    }
    .footer-main-learn {
        margin-bottom: 85px;
    }
    .footer-main-communication {
        margin-bottom: 130px;
    }
    .footer-main-locations {
        margin-bottom: 135px;
    }
    .footer-main-learn .footer-main-resource {
        padding: 35px 40px;
    }
}

/* -- Footer: Hide on desktop -- */

@media (min-width: 768px) {
    .footer-main-credits .share,
    .footer-main-locations ul > li:nth-child(2) {
        display: none;
    }
}

/* -- Footer: Tablet -- */

@media (max-width: 959px) {
    .footer-main-learn .grid {
        margin-left: -20px;
    }
    .footer-main-learn .grid > .grid-col {
        padding-left: 20px;
    }
    .footer-main-learn-resources .list > li .title {
        font-size: 16px;
    }
    .footer-main-learn-resources .list > li a {
        padding: 15px 30px;
    }
    .footer-main-learn-resources .list > li svg {
        top: 15px;
        left: 0;
    }
    .footer-main-learn-resources > .title {
        font-size: 20px;
    }
    .footer-main-learn-resources .cta {
        font-size: 16px;
        padding: 15px 15px 15px 70px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    }
    .footer-main-learn-resources .cta svg {
        left: 0;
        top: 25px;
    }
    .footer-main-learn .footer-main-resource {
        font-size: 14px;
    }
    .footer-main-learn .footer-main-resource .title {
        font-size: 16px;
        margin-bottom: 20px;
    }
    .footer-main-communication .grid {
        flex-wrap: wrap;
    }
    .footer-main-communication .grid-col {
        flex: 0 0 100%;
    }
    .footer-main-communication .grid-col:last-child {
        display: none;
    }
    .footer-main-communication .share {
        justify-content: center;
    }
    .footer-main-communication .share .share-title {
        display: none;
    }
    .footer-main-communication .wc {
        text-align: center;
    }
    .footer-main-locations ul {
        flex-wrap: wrap;
    }
    .footer-main-locations ul > li:first-child {
        width: 100%;
        margin-bottom: 30px;
    }
    .footer-main-credits {
        flex-wrap: wrap;
    }
    .footer-main-credits .share {
        display: flex;
        align-items: center;
        justify-content: center;
        margin-top: 30px;
        margin-bottom: 30px;
        width: 100%;
    }
    .footer-main-credits .share ul {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex;
        align-items: center;
        gap: 25px;
    }
    .footer-main-credits .share a {
        color: rgba(255, 255, 255, 0.4);
    }
    .footer-main-credits .share a:hover,
    .footer-main-credits .share a:focus {
        color: var(--color-white);
    }
}

/* -- Footer: Mobile -- */

@media (max-width: 767px) {
    .footer-main-learn-resources .list > li .title,
    .footer-main-learn-resources .cta {
        font-size: 14px;
    }
    .footer-main-learn .footer-main-resource .title {
        font-size: 14px;
    }
    .footer-main-learn .grid {
        flex-direction: column;
    }
    .footer-main-learn .grid > .grid-col {
        width: 100%;
        max-width: 100%;
        margin-bottom: 0;
    }
    .footer-main-learn .grid > .grid-col:not(:first-child) {
        display: none;
    }
    .footer-main-learn .footer-main-resource {
        display: none;
    }
    .footer-main-locations {
        border-top: 1px solid rgba(255, 255, 255, 0.2);
        border-bottom: 1px solid rgba(255, 255, 255, 0.2);
        font-size: 11px;
        line-height: 1.4;
        padding-top: 40px;
        padding-bottom: 40px;
        margin-bottom: 0;
    }
    .footer-main-locations .title {
        font-size: 14px;
        margin-bottom: 10px;
    }
    .footer-main-locations .logo > svg {
        width: 54px;
        height: 40px;
        display: block;
    }
    .footer-main-locations ul {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-end;
    }
    .footer-main-locations ul > li {
        width: 50%;
        margin-bottom: 20px;
    }
    .footer-main-locations ul > li:first-child {
        width: 50%;
    }
    .footer-main-locations ul > li:nth-child(2) .text {
        display: block;
        width: 100%;
    }
    .footer-main-locations ul > li:nth-child(2) a {
        display: inline-block;
        color: var(--color-text);
        font-size: 14px;
    }
    .footer-main-locations ul > li:nth-child(5),
    .footer-main-locations ul > li:nth-child(6) {
        margin-bottom: 0;
    }
    .footer-main-credits .freecall {
        display: none;
    }
    .footer-main-credits,
    .footer-main-credits > ul {
        flex-direction: column;
        align-items: center;
    }
    .footer-main-credits > ul {
        margin-bottom: 15px;
    }
    .footer-main button {
        padding-right: 20px;
    }
    .footer-main button .icon {
        margin-top: -2px;
    }
    .footer-main button .icon::before {
        font-size: 6px;
    }
}

/* -- Footer: Sitemap -- */

.footer-sitemap {
    font-size: 15px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    background-color: var(--color-black);
}

.footer-sitemap .container {
    padding-top: 40px;
    padding-bottom: 40px;
}

.footer-sitemap .grid {
    display: flex;
    justify-content: space-between;
    column-gap: 20px;
}

.footer-sitemap .grid-col {
    list-style: none;
    margin: 0;
    padding: 0 12px;
    min-width: 0;
}

.footer-sitemap .grid-col:first-child {
    padding-left: 0;
}

.footer-sitemap .grid-col:last-child {
    padding-right: 0;
}

.footer-sitemap a {
    display: block;
    color: var(--color-text-muted);
    transition: color 0.2s ease;
}

.footer-sitemap a:hover,
.footer-sitemap a:focus {
    color: var(--color-white);
    opacity: 1;
}

.footer-sitemap .title,
.footer-sitemap .spacer {
    font-family: var(--font-body);
    font-weight: 800;
    font-size: 14px;
    margin-bottom: 20px;
}

.footer-sitemap .title a,
.footer-sitemap .spacer a {
    color: var(--color-white);
}

@media (min-width: 960px) {
    .footer-sitemap .container {
        padding-top: 90px;
        padding-bottom: 90px;
    }
}

@media (max-width: 767px) {
    .footer-sitemap .grid {
        flex-wrap: wrap;
    }
    .footer-sitemap .grid-col {
        width: 50%;
        max-width: 50%;
        margin-bottom: 40px;
    }
}

@media (max-width: 480px) {
    .footer-sitemap .grid-col {
        width: 100%;
    }
    .footer-sitemap .grid-col:last-child {
        margin-bottom: 0;
    }
}


/* ---- Enquiry Slide-Out ---- */

.enquiry {
    position: fixed;
    right: 0;
    top: 0;
    z-index: 101;
    width: 670px;
    max-width: 100vw;
    height: 100vh;
    background: var(--color-bg-alt);
    transform: translateX(100%);
    transition: transform 0.2s ease;
    overflow-y: auto;
    padding: 60px 45px;
    text-align: center;
    font-size: 14px;
    color: var(--color-text);
}

@media (max-width: 700px) {
    .enquiry {
        width: 100vw;
        padding: 40px 25px;
    }
    .enquiry-close {
        right: 25px;
        top: 20px;
    }
}

.enquiry p + p {
    margin-top: 0;
}

.enquiry .title {
    color: var(--color-white);
}

/* Close button (X) */
.enquiry-close {
    position: absolute;
    right: 40px;
    top: 35px;
    width: 22px;
    height: 22px;
    transform: rotate(45deg);
    transition: transform 0.2s ease;
}

.enquiry-close::before,
.enquiry-close::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    width: 22px;
    height: 2px;
    margin-left: -11px;
    margin-top: -1px;
    border-radius: 2px;
    background-color: var(--color-primary);
    display: block;
}

.enquiry-close::before {
    transform: rotate(90deg);
}

.enquiry-close:hover {
    opacity: 1;
    transform: rotate(135deg);
}

/* Overlay behind panel */
.enquiry-overlay {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 100;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.7);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.2s ease, visibility 0.2s ease;
}

/* Form layout */
.enquiry-intro {
    margin-bottom: 40px;
}

.enquiry-intro .title {
    font-size: 24px;
    margin-bottom: 10px;
}

.enquiry-details {
    display: flex;
    flex-wrap: wrap;
    margin-left: -10px;
    margin-bottom: 20px;
}

.enquiry-details > label {
    width: 50%;
    padding-left: 10px;
    margin-bottom: 10px;
}

.enquiry-details > label:first-child {
    width: 100%;
}

.enquiry-offerings {
    margin-bottom: 40px;
    margin-right: -40px;
}

.enquiry-offerings legend {
    display: block;
    font-size: 16px;
    margin-bottom: 20px;
    width: 100%;
}

.enquiry-offerings .col-4 {
    display: flex;
    flex-wrap: wrap;
}

.enquiry-offerings .col-4 > label {
    display: block;
    margin-bottom: 17px;
}

.enquiry-offerings .col-4 > label:nth-child(odd) {
    width: 29%;
}

.enquiry-offerings .col-4 > label:nth-child(even) {
    width: 21%;
}

.enquiry-message {
    margin-bottom: 40px;
}

.enquiry-footer .btn {
    margin-bottom: 30px;
}

/* Open state */
body.enquiry-open {
    overflow: hidden;
}

body.enquiry-open .enquiry {
    transform: translateX(0);
}

body.enquiry-open .enquiry-overlay {
    opacity: 1;
    visibility: visible;
}

/* Desktop: page + header shift left */
@media (min-width: 960px) {
    .container-outer,
    .header-main {
        transition: transform 0.2s ease;
    }

    body.enquiry-open .container-outer,
    body.enquiry-open .header-main {
        transform: translateX(-670px);
    }

    body.enquiry-open .header-main .header-main-inner {
        opacity: 0.35;
        pointer-events: none;
    }
}

/* Mobile: full-width panel */
@media (max-width: 959px) {
    .enquiry {
        width: 100%;
    }
}

/* Short screens: tighter spacing */
@media (max-height: 960px) {
    .enquiry {
        padding: 40px;
    }

    .enquiry input,
    .enquiry textarea {
        padding-top: 12px;
        padding-bottom: 12px;
    }
}

/* Skip-to-link for enquiry close (accessibility) */
.skip-to-link-enquiry {
    transition: none;
}

.skip-to-link-enquiry:focus {
    right: 0;
    top: 0;
    left: auto;
    width: 670px;
}

.skip-to-link.js-enquiryReturn {
    display: none;
}

body.enquiry-open .skip-to-link.js-enquiryReturn {
    display: block;
}


/* ---- Gravity Forms ---- */

/* Base wrapper */
.gform_wrapper {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.2;
    max-width: 550px;
    margin: 0 auto;
}

.gform_wrapper ul li {
    text-align: left;
}

.gform_wrapper ul li.gfield {
    margin-top: 30px;
}

/* Validation */
.gform_wrapper .validation_error {
    box-shadow: 0 0 0 2px #e00404;
    background-color: rgba(224, 4, 4, 0.05);
    color: #e00404;
    padding: 25px;
    margin-bottom: 25px;
    font-size: 16px;
}

.gform_wrapper .validation_message {
    font-size: 16px;
}

/* Heading / descriptions */
.gform_wrapper .gform_heading {
    margin-bottom: 25px;
}

.gform_wrapper .gform_body {
    margin-bottom: 25px;
}

.gform_wrapper .gform_title {
    font-size: 25px;
    font-weight: 900;
    color: var(--color-white);
}

.gform_wrapper .gsection_title {
    font-size: 20px;
    font-weight: 900;
    color: var(--color-white);
}

.gform_wrapper .gform_description,
.gform_wrapper .gsection_description,
.gform_wrapper .gfield_description {
    margin-top: 10px;
    color: var(--color-white);
}

.gform_wrapper .gform_description.validation_message,
.gform_wrapper .gsection_description.validation_message,
.gform_wrapper .gfield_description.validation_message {
    color: #e00404;
}

.gform_wrapper .gform_title + .gform_description,
.gform_wrapper .gsection_title + .gsection_description {
    margin-top: 10px;
    font-size: 16px;
}

/* Field list */
.gform_wrapper .gform_fields {
    list-style: none;
    margin-top: 0;
    margin-bottom: 0;
    padding-left: 0;
}

.gform_wrapper .gform_fields > li {
    padding-left: 0;
}

.gform_wrapper .gform_fields > li + li {
    margin-top: 25px;
}

/* Labels */
.gform_wrapper .gfield_label {
    font-weight: 800;
    color: var(--color-white);
    font-size: 16px;
    display: block;
    line-height: 1;
    margin-bottom: 10px;
    text-align: left;
}

/* Submit button */
.gform_wrapper .gform_button {
    border: 0;
    cursor: pointer;
    margin: 0 auto;
    display: block;
    width: 100% !important;
}

.gform_wrapper .gform_button:hover {
    background-color: var(--color-white);
    color: var(--color-bg-dark);
    box-shadow: none;
    opacity: 1;
}

/* Textarea */
.gform_wrapper .ginput_container_textarea .textarea {
    padding-top: 25px;
    padding-bottom: 25px;
    max-height: 100px;
    height: 100px;
    min-height: 100px;
}

/* Text / email / phone / date / number / website / textarea / select inputs */
.gform_wrapper .ginput_container_text input,
.gform_wrapper .ginput_container_email input,
.gform_wrapper .ginput_container_phone input,
.gform_wrapper .ginput_container_date input,
.gform_wrapper .ginput_container_number input,
.gform_wrapper .ginput_container_website input,
.gform_wrapper .ginput_container_textarea .textarea,
.gform_wrapper .gfield_select {
    font-size: 16px;
    color: var(--color-white);
    appearance: none;
    padding: 12px 20px;
    margin: 0;
    display: block;
    width: 100%;
    border: 0;
    border-radius: 0;
    background-color: transparent;
    transition: border-color 0.2s ease;
    border: 1px solid rgba(255, 255, 255, 0.4);
}

.gform_wrapper .ginput_container_text input:focus,
.gform_wrapper .ginput_container_email input:focus,
.gform_wrapper .ginput_container_phone input:focus,
.gform_wrapper .ginput_container_date input:focus,
.gform_wrapper .ginput_container_number input:focus,
.gform_wrapper .ginput_container_website input:focus,
.gform_wrapper .ginput_container_textarea .textarea:focus,
.gform_wrapper .gfield_select:focus {
    outline: none;
    border: 1px solid var(--color-primary);
}

.gform_wrapper .ginput_container_text input[aria-invalid="true"],
.gform_wrapper .ginput_container_email input[aria-invalid="true"],
.gform_wrapper .ginput_container_phone input[aria-invalid="true"],
.gform_wrapper .ginput_container_date input[aria-invalid="true"],
.gform_wrapper .ginput_container_number input[aria-invalid="true"],
.gform_wrapper .ginput_container_website input[aria-invalid="true"],
.gform_wrapper .ginput_container_textarea .textarea[aria-invalid="true"],
.gform_wrapper .gfield_select[aria-invalid="true"] {
    border: 1px solid #e00404;
}

/* Screen reader only (visually hidden, accessible to assistive tech) */
.gform_wrapper .screen-reader-text,
.gform_wrapper .hidden_sub_label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

/* Name field (first + last side by side) */
.gform_wrapper .ginput_complex.ginput_container_name {
    display: flex;
    gap: 10px;
}

.gform_wrapper .ginput_complex.ginput_container_name > span {
    flex: 1;
}

.gform_wrapper .ginput_complex.ginput_container_name input {
    font-size: 16px;
    color: var(--color-white);
    appearance: none;
    padding: 12px 20px;
    margin: 0;
    display: block;
    width: 100%;
    border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 0;
    background-color: transparent;
    transition: border-color 0.2s ease;
}

.gform_wrapper .ginput_complex.ginput_container_name input:focus {
    outline: none;
    border: 1px solid var(--color-primary);
}

/* Spinner */
.gform_wrapper #gform_ajax_spinner_1 {
    margin: 25px auto;
}

/* Checkbox / radio layout */
.gform_wrapper .ginput_container_checkbox .gfield_checkbox {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

@media (min-width: 768px) {
    .gform_wrapper .ginput_container_checkbox .gfield_checkbox > li:nth-child(odd) {
        width: 58%;
    }
    .gform_wrapper .ginput_container_checkbox .gfield_checkbox > li:nth-child(even) {
        width: 42%;
    }
}

@media (min-width: 480px) and (max-width: 767px) {
    .gform_wrapper .ginput_container_checkbox .gfield_checkbox > li {
        width: 50%;
    }
}

@media (max-width: 479px) {
    .gform_wrapper .ginput_container_checkbox .gfield_checkbox > li {
        width: 100%;
    }
}

.gform_wrapper .gfield_checkbox,
.gform_wrapper .gfield_radio {
    list-style: none;
    padding-left: 0;
}

.gform_wrapper .gfield_checkbox li:not(:last-child),
.gform_wrapper .gfield_radio li:not(:last-child) {
    margin-bottom: 10px;
}

/* Hide native checkbox/radio inputs (replaced by custom ::before/::after) */
.gform_wrapper .gfield_checkbox input[type="checkbox"],
.gform_wrapper .gfield_checkbox input[type="radio"],
.gform_wrapper .gfield_radio input[type="checkbox"],
.gform_wrapper .gfield_radio input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    margin: 0;
    padding: 0;
}

/* Checkbox / radio custom styling */
.gform_wrapper .gfield_checkbox input[type="checkbox"] + label,
.gform_wrapper .gfield_checkbox input[type="radio"] + label,
.gform_wrapper .gfield_radio input[type="checkbox"] + label,
.gform_wrapper .gfield_radio input[type="radio"] + label {
    padding-left: 24px;
    position: relative;
    color: var(--color-white);
    font-size: 14px;
    line-height: 16px;
    display: block;
    user-select: none;
}

.gform_wrapper .gfield_checkbox input[type="checkbox"] + label::before,
.gform_wrapper .gfield_checkbox input[type="radio"] + label::before,
.gform_wrapper .gfield_radio input[type="checkbox"] + label::before,
.gform_wrapper .gfield_radio input[type="radio"] + label::before {
    content: '';
    position: absolute;
    left: 0;
    display: block;
    width: 14px;
    height: 14px;
    border: 1px solid rgba(255, 255, 255, 0.4);
    transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.gform_wrapper .gfield_checkbox input[type="checkbox"]:checked + label::before,
.gform_wrapper .gfield_checkbox input[type="radio"]:checked + label::before,
.gform_wrapper .gfield_radio input[type="checkbox"]:checked + label::before,
.gform_wrapper .gfield_radio input[type="radio"]:checked + label::before {
    border-color: var(--color-primary);
    background-color: var(--color-primary);
    box-shadow: inset 0 0 0 3px var(--color-bg-dark);
}

/* Radio-specific (circular) */
.gform_wrapper .gfield_radio input[type="radio"] + label::before {
    border-radius: 50%;
}

.gform_wrapper .gfield_radio input[type="radio"]:checked + label::before {
    box-shadow: inset 0 0 0 3px var(--color-bg-dark);
}

/* Select dropdown */
.gform_wrapper .ginput_container_select {
    position: relative;
}

.gform_wrapper .ginput_container_select .gfield_select {
    padding-right: 50px;
    z-index: 1;
    background-color: rgba(255, 255, 255, 0.068);
    box-shadow: none;
    cursor: pointer;
}

select#input_7_9 option {
    color: black;
    background-color: rgba(255, 255, 255, 0.81);
}

.gform_wrapper .ginput_container_select::after {
    content: "";
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid var(--color-primary);
    pointer-events: none;
    z-index: 2;
}

/* Multiselect */
.gform_wrapper .ginput_container_multiselect .gfield_select {
    appearance: none;
    padding-left: 0;
    padding-right: 0;
}

.gform_wrapper .ginput_container_multiselect .gfield_select option {
    padding: 10px 25px;
}

.gform_wrapper .ginput_container_multiselect .gfield_select option:focus {
    background-color: rgba(255, 255, 255, 0.45);
}

/* Form text block */
.gform_text {
    line-height: 1.6;
    font-size: 18px;
}

.gform_text .title {
    font-size: 22px;
    margin-bottom: 20px;
}

@media (min-width: 480px) {
    .gform_text .title {
        font-size: 30px;
    }
}

.gform_text a {
    color: var(--color-primary);
    text-decoration: underline;
    transition: opacity 0.2s ease;
}

.gform_text a:hover,
.gform_text a:focus {
    color: inherit;
    opacity: 0.65;
}

/* Fine print */
.gform_fineprint {
    margin-top: 20px;
}

.gform_fineprint small {
    font-size: 13px;
}

.gform_fineprint a {
    color: var(--color-primary);
    text-decoration: underline;
    transition: opacity 0.2s ease;
}

.gform_fineprint a:hover,
.gform_fineprint a:focus {
    color: inherit;
    opacity: 0.65;
}

/* Label-left layout on wider screens */
@media (min-width: 480px) {
    .gform_wrapper .gform_fineprint {
        padding-left: 150px;
    }
    .gform_wrapper ul li.gfield:not(.gfield_html):not(.icon) {
        padding-left: 150px;
        position: relative;
    }
    .gform_wrapper ul li.gfield:not(.gfield_html):not(.icon) .gfield_label {
        position: absolute;
        left: 0;
        top: 0;
        width: 150px;
        margin: 0;
        padding: 13px 0;
        line-height: 1.2;
    }
    .gform_wrapper .ginput_container.ginput_container_checkbox {
        padding-top: 0;
    }
}

@media (max-width: 479px) {
    .gform_text {
        font-size: 16px;
    }
}

/* -- Newsletter Form (Footer) -- */

.new-newsletter .inner {
    display: block;
    margin-bottom: 16px;
}

.new-newsletter .gform_wrapper {
    margin: 0;
}

.new-newsletter .gform_title {
    margin: 0 0 10px 0;
}

.new-newsletter .gform_description {
    color: #666;
}

.new-newsletter .gform_wrapper form {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-end;
}

.new-newsletter .gform_body {
    flex: 1;
    min-width: 0;
    margin-bottom: 0;
}

.new-newsletter .gfield {
    margin: 0;
    padding: 0;
}

.new-newsletter .gfield label {
    position: absolute;
    opacity: 0;
    visibility: hidden;
    width: 0;
    height: 0;
    margin: 0;
}

.new-newsletter .icon.icon-mail {
    position: relative;
    display: block;
    margin: 0;
    padding: 0;
    border: none;
    border-bottom: 1px solid #666;
    font-size: 18px;
}

.new-newsletter .icon.icon-mail::before {
    position: absolute;
    left: 0;
    bottom: 12px;
    z-index: 1;
}

.new-newsletter .icon.icon-mail:focus-within {
    border-bottom-color: var(--color-primary);
}

.new-newsletter .gform_wrapper .gfield input {
    margin: 0;
    padding: 12px 0 12px 40px;
    border: none;
    border-bottom: 1px solid #666;
    background: transparent;
    color: var(--color-white);
    font-size: 18px;
    width: 100%;
}

.new-newsletter .gform_wrapper .gfield input:focus {
    outline: none;
    border-bottom-color: var(--color-primary);
}

.new-newsletter .gform_footer {
    margin: 0;
    padding: 0;
    clear: none;
    width: auto;
    flex-shrink: 0;
}

.new-newsletter .gform_footer .button {
    background-color: var(--color-bg-alt);
    color: var(--color-white);
    font-size: 15px;
    padding: 12px 30px;
    border: none;
    cursor: pointer;
    margin-left: 30px;
    white-space: nowrap;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.new-newsletter .gform_footer .button:hover {
    background-color: var(--color-primary);
    color: var(--color-bg);
    opacity: 1;
}

.new-newsletter .validation_error {
    flex-basis: 100%;
    font-size: 14px;
    font-weight: 600;
    padding: 0;
    margin: 10px 0;
    box-shadow: none;
}

.new-newsletter .validation_message {
    font-size: 14px;
}

.new-newsletter .gform_ajax_spinner {
    display: none;
}

.new-newsletter .gfield--type-honeypot {
    position: absolute;
    left: -9999px;
    visibility: hidden;
    height: 0;
    overflow: hidden;
}

@media (max-width: 480px) {
    .new-newsletter .gform_wrapper form {
        flex-wrap: wrap;
    }
    .new-newsletter .gform_body {
        flex: 0 0 100%;
    }
    .new-newsletter .gform_footer {
        flex: 0 0 100%;
        text-align: center;
    }
    .new-newsletter .gform_footer .button {
        margin-top: 10px;
        margin-left: 0;
        width: auto;
    }
}


/* ---------- section-sidebyside ---------- */
/* Mobile-first: stacked (image on top, text below). Desktop (960px+): side-by-side. */

.section-sidebyside {
    position: relative;
}

.section-sidebyside + .section-sidebyside,
.section-sidebyside + .bg-black {
    margin-top: 60px;
}

.section-sidebyside picture {
    width: 100%;
    display: block;
}

.section-sidebyside .title {
    font-size: 28px;
    margin-bottom: 20px;
    line-height: 1;
}

.section-sidebyside .content > a {
    display: inline-block;
    margin-top: 20px;
    padding: 12px 40px;
    font-weight: 800;
    background-color: var(--color-primary);
    color: var(--color-bg-dark);
    text-decoration: none;
    transition: all 0.2s ease;
}

.section-sidebyside .content > a:hover {
    background-color: var(--color-bg-alt);
    color: white;
    text-decoration: none;
    opacity: 1;
}

.section-sidebyside .buttons {
    margin-top: 20px;
}

/* Base grid: stacked column-reverse (image top, text bottom) */
.section-sidebyside .grid {
    display: flex;
    flex-direction: column-reverse;
}

.section-sidebyside .grid-col-secondary {
    margin-bottom: 30px;
}

/* Base image: full width, natural height */
.section-sidebyside .image img {
    display: block;
    width: 100%;
    height: auto;
}

@media (min-width: 960px) {

    .section-sidebyside + .section-sidebyside,
    .section-sidebyside + .bg-black {
        margin-top: 100px;
    }

    .section-sidebyside .title {
        font-size: 50px;
        margin-bottom: 40px;
    }

    .section-sidebyside .buttons {
        margin-top: 40px;
    }

    /* Desktop grid: side-by-side, vertically centred */
    .section-sidebyside .grid {
        margin-left: -40px;
        align-items: center;
    }

    .section-sidebyside .grid-col {
        width: 50%;
        max-width: 50%;
        padding-left: 40px;
    }

    .section-sidebyside .grid-col-secondary {
        margin-bottom: 0;
    }

    /* is-odd: image left, text right */
    .section-sidebyside.is-odd .grid {
        flex-direction: row-reverse;
    }
    .section-sidebyside.is-odd .grid-col-primary > .inner {
        padding-left: 80px;
    }

    /* is-even: text left, image right */
    .section-sidebyside.is-even .grid {
        flex-direction: row;
    }
    .section-sidebyside.is-even .grid-col-primary > .inner {
        padding-right: 80px;
    }

    /* is-breakout: image breaks out to viewport edge */
    .section-sidebyside.is-breakout .container,
    .section-sidebyside.is-breakout .widget-brands {
        position: static;
    }
    .section-sidebyside.is-breakout .grid-col-primary > .inner {
        height: 500px;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }
    .section-sidebyside.is-breakout .image {
        position: absolute;
        top: 0;
        bottom: 0;
        width: 50vw;
        overflow: hidden;
        display: flex;
        align-items: center;
    }
    .section-sidebyside.is-breakout .image img {
        width: 100%;
        height: auto;
    }
    .section-sidebyside.is-breakout.is-odd .image {
        left: 0;
    }
    .section-sidebyside.is-breakout.is-even .image {
        right: 0;
    }

    /* is-full: stacked vertically, centred */
    .section-sidebyside.is-full .grid {
        flex-direction: column;
    }
    .section-sidebyside.is-full .grid-col {
        width: 100%;
        max-width: 100%;
        text-align: center;
    }
    .section-sidebyside.is-full .grid-col-primary {
        margin-bottom: 80px;
    }
    .section-sidebyside.is-full .content {
        max-width: 700px;
        margin: 0 auto;
    }
    .section-sidebyside.is-full .image {
        display: block;
        width: 100%;
    }
    .section-sidebyside.is-full .image img {
        max-height: 560px;
        object-fit: cover;
    }
}

@media (min-width: 1440px) {
    .section-sidebyside.is-breakout .grid-col-primary > .inner {
        height: 700px;
    }
}

.section-sidebyside-tour .grid {
    align-items: center;
}

.section-sidebyside-tour .pano {
    display: block;
    width: 100%;
    height: 100%;
}

.section-sidebyside-tour .pano iframe {
    display: block;
    width: 100%;
    min-height: 300px;
}

@media (min-width: 960px) {
    .section-sidebyside-tour .pano iframe {
        min-height: 500px;
    }
}

.section-sidebyside-google .google-badge {
    margin-top: 30px;
}

.section-sidebyside-google .image {
    display: block !important;
}

.section-sidebyside-google .image > img {
    width: auto;
    max-width: 100%;
    height: auto;
}

@media (min-width: 960px) {
    .section-sidebyside-google .grid-col-secondary {
        position: relative;
    }
    .section-sidebyside-google .image {
        padding-left: 80px;
        position: absolute;
        left: 0;
        top: 50%;
        width: 100%;
        height: auto;
        transform: translateY(-50%);
    }
}

@media (max-width: 959px) {
    .section-sidebyside-google .grid {
        text-align: center;
        align-items: center;
    }
    .section-sidebyside-google .image {
        margin: 0 auto;
        max-width: 300px;
    }
    .section-sidebyside-google img.google-badge {
        max-width: 198px;
        margin: 0 auto;
    }
}


/* ---------- section-values ---------- */

.page-about .section-values {
    margin-top: 75px;
}

.section-values-title {
    font-size: 20px;
    line-height: 1.5;
    max-width: 850px;
    margin: 0 auto;
    text-align: center;
}

.section-values-title strong {
    font-family: var(--font-heading);
    font-weight: 900;
    color: #f1e82b;
    position: relative;
}

.section-values-overflow {
    overflow: visible;
}

.section-values-list {
    list-style: none;
    margin: 40px 0 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
}

.section-values-list > li {
    flex: 0 0 280px;
    max-width: 320px;
}

.section-values-list .value {
    flex-grow: 1;
    height: 100%;
}

.value {
    display: flex;
}

.value-inner {
    position: relative;
    display: flex;
    flex-direction: column;
    background: #231f20;
    color: rgba(255, 255, 255, 0.85);
    flex-grow: 1;
    padding: 230px 30px 85px;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.value-inner:hover {
    transform: scale(1.02);
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.35);
}

.value-inner .count {
    position: absolute;
    top: 20px;
    left: 20px;
    color: #646464;
}

.value-content {
    position: relative;
    text-align: center;
}

.value .icon {
    position: absolute;
    left: 0;
    bottom: 100%;
    width: 100%;
    height: 185px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.value .icon img {
    display: block;
    margin: 0;
}

.value .title {
    font-size: 18px;
    margin-bottom: 15px;
}

.section-values-footer {
    max-width: 500px;
    line-height: 1.4;
    text-align: center;
    color: white;
    margin: 75px auto;
}

.section-values-footer > * {
    line-height: inherit;
}

.section-values-controls {
    position: relative;
}

/* Stats variant (team page) — row layout, no scroll */
.section-values-stats .section-values-list {
    overflow: visible;
    scroll-snap-type: none;
    justify-content: center;
}

.section-values-stats .section-values-list > li {
    flex: 1 1 0;
    min-width: 0;
}

.section-values-stats .value-inner {
    width: auto;
    padding-top: 200px;
    padding-bottom: 45px;
}

.section-values-stats .value h3 {
    font-size: inherit;
    line-height: inherit;
    color: inherit;
}

.section-values-stats .value .title,
.section-values-stats .value .text {
    display: block;
}

.section-values-stats .value .title {
    font-size: 18px;
}

@media (min-width: 960px) {
    .section-values-stats .value .title {
        font-size: 60px;
    }
}

@media (max-width: 767px) {
    .section-values-stats .section-values-list {
        overflow-x: auto;
        scroll-snap-type: x mandatory;
    }
    .section-values-stats .section-values-list > li {
        flex: 0 0 260px;
    }
}

@media (min-width: 960px) {
    .page-about .section-values {
        margin-top: 180px;
    }
    .section-values-list {
        margin-top: 80px;
    }
    .section-values-title {
        font-size: 40px;
    }
    .value .title {
        font-size: 28px;
    }
    .section-values-footer {
        max-width: 700px;
        margin-top: 200px;
        margin-bottom: 200px;
    }
}

@media (max-width: 767px) {
    .value-inner {
        width: 260px;
        padding: 140px 15px 40px;
    }
    .value .icon {
        height: 100px;
        margin-bottom: 10px;
    }
}

@media (max-width: 600px) {
    .section-values-title br {
        display: none;
    }
}

@media (max-width: 480px) {
    .section-values-list {
        padding-left: 0;
        padding-right: 0;
    }
}


/* ---------- section-awards ---------- */

.page-about .section-awards {
    padding-top: 160px;
    margin-bottom: 75px;
}

.section-awards-intro {
    margin-bottom: 60px;
    text-align: center;
    color: white;
}

.section-awards-intro .title {
    font-size: 24px;
    margin-bottom: 20px;
}

.section-awards-intro .content {
    max-width: 600px;
    margin: 0 auto;
}

.section-awards-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.section-awards-list > li {
    flex-grow: 1;
    text-align: center;
    width: 25%;
    padding-left: 20px;
    padding-right: 20px;
    margin-bottom: 40px;
    font-size: 14px;
    line-height: 1.4;
}

.section-awards-controls {
    position: relative;
    margin-top: 30px;
}

@media (min-width: 960px) {
    .page-about .section-awards {
        margin-bottom: 150px;
    }
    .section-awards-intro {
        margin-bottom: 120px;
    }
    .section-awards-intro .title {
        font-size: 60px;
        margin-bottom: 60px;
    }
    .section-awards-intro .content {
        max-width: 800px;
    }
    .section-awards-list > li {
        margin-bottom: 90px;
        font-size: 16px;
    }
}

@media (max-width: 767px) {
    .section-awards-list > li {
        width: 33.3333%;
    }
}

@media (max-width: 600px) {
    .section-awards-list > li {
        width: 50%;
    }
}


/* ---------- award component ---------- */

.award {
    color: rgba(255, 255, 255, 0.85);
    text-align: center;
}

.award svg {
    display: block;
    margin: 0 auto 20px;
    width: 56px;
    height: 51px;
}

.award .title {
    font-size: 16px;
    margin-bottom: 10px;
}

.award .quote {
    font-weight: 800;
    font-size: 1.5rem;
    margin-bottom: 5px;
    color: white;
}

.award .text {
    max-width: 280px;
    margin: 0 auto;
}

.award .text p + p {
    margin-top: 0;
}

@media (min-width: 960px) {
    .award svg {
        margin-bottom: 35px;
    }
    .award .title {
        font-size: 23px;
        margin-bottom: 20px;
    }
}

@media (max-width: 480px) {
    .award .quote {
        font-size: 1.2rem;
        line-height: 1.2;
    }
    .award .text {
        font-size: 1.2rem;
        line-height: 1.6;
    }
}


/* ---------- cta-brightestminds ---------- */

.cta-brightestminds {
    text-align: center;
    color: white;
    padding-top: 40px;
    padding-bottom: 40px;
}

.cta-brightestminds-wrap {
    padding-top: 60px;
    padding-bottom: 60px;
    position: relative;
}

.cta-brightestminds-overlay {
    position: relative;
    z-index: 2;
}

.cta-brightestminds-title {
    font-size: 40px;
    margin-bottom: 10px;
}

.cta-brightestminds-intro {
    margin-bottom: 20px;
}

.cta-brightestminds-intro .link {
    font-size: 16px;
    font-family: var(--font-heading);
    font-weight: 900;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px 20px;
    max-width: 340px;
    margin: 0 auto;
}

.cta-brightestminds-intro .link:hover,
.cta-brightestminds-intro .link:focus {
    text-decoration: none;
}

.cta-brightestminds-intro .link:focus {
    color: #f1e82b;
}

.cta-brightestminds-intro .link .text,
.cta-brightestminds-intro .link svg {
    transition: transform 0.2s ease;
}

.cta-brightestminds-intro .link:hover .text {
    transform: translateX(-5px);
}

.cta-brightestminds-intro .link:hover svg {
    transform: translateX(5px);
}

.cta-brightestminds-intro .link,
.cta-brightestminds-intro .title {
    position: relative;
    z-index: 2;
}

.cta-brightestminds-intro svg {
    width: 50px;
    height: auto;
    margin-left: 12px;
}

.cta-brightestminds-content {
    font-size: 16px;
    display: block;
    max-width: 780px;
    margin: 0 auto;
    text-shadow: 0 0 30px rgba(0, 0, 0, 0.35);
}

.cta-brightestminds-mosaic {
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: 20px;
    z-index: 1;
    width: calc(100% + 40px);
    display: block;
}

.cta-brightestminds-mosaic .mosaic {
    position: absolute;
    display: block;
}

.cta-brightestminds-mosaic .mosaic:before {
    content: '';
    display: block;
    width: 100%;
    padding-top: 100%;
}

.cta-brightestminds-mosaic .mosaic img {
    position: absolute;
    left: 0;
    top: 0;
    width: calc(100% - 40px);
    height: calc(100% - 40px);
    object-fit: cover;
}

.cta-brightestminds-mosaic .mosaic-1 {
    left: 0;
    bottom: 0;
    width: 33.3333%;
}

.cta-brightestminds-mosaic .mosaic-2 {
    left: 33.3333%;
    bottom: 0;
    width: 16.666667%;
}

.cta-brightestminds-mosaic .mosaic-2 img {
    transform: translateY(calc(-100% - 40px));
}

.cta-brightestminds-mosaic .mosaic-3 {
    left: 50%;
    bottom: 25%;
    width: 16.666667%;
}

.cta-brightestminds-mosaic .mosaic-4 {
    right: 0;
    bottom: 0;
    width: 33.33333%;
}

.cta-brightestminds-mosaic .mosaic-5 {
    left: 0;
    top: 0;
    width: 16.66667%;
}

.cta-brightestminds-mosaic .mosaic-5 img {
    transform: translateY(calc(100% + 40px));
}

.cta-brightestminds-mosaic .mosaic-6 {
    left: 16.66667%;
    top: 0;
    width: 33.3333%;
}

.cta-brightestminds-mosaic .mosaic-7 {
    left: 50%;
    top: 0;
    width: 16.66667%;
}

.cta-brightestminds-mosaic .mosaic-7 img {
    transform: translateY(calc(100% + 40px));
}

.cta-brightestminds-mosaic .mosaic-8 {
    left: 66.66667%;
    top: 0;
    width: 16.66667%;
}

.cta-brightestminds-mosaic .mosaic-3 img,
.cta-brightestminds-mosaic .mosaic-6 img,
.cta-brightestminds-mosaic .mosaic-8 img {
    opacity: .22;
}

@media (min-width: 960px) {
    .cta-brightestminds {
        padding-top: 150px;
        padding-bottom: 150px;
    }
    .cta-brightestminds-wrap {
        padding-top: 245px;
        padding-bottom: 245px;
    }
    .cta-brightestminds-title {
        font-size: 80px;
        margin-bottom: 40px;
    }
    .cta-brightestminds-intro {
        margin-bottom: 60px;
    }
    .cta-brightestminds-intro .link {
        font-size: 26px;
    }
    .cta-brightestminds-intro svg {
        width: 97px;
    }
    .cta-brightestminds-content {
        font-size: 20px;
    }
}

@media (max-width: 1023px) {
    .cta-brightestminds-mosaic {
        margin-top: 10px;
        width: calc(100% + 20px);
    }
    .cta-brightestminds-mosaic .mosaic img {
        width: calc(100% - 20px);
        height: calc(100% - 20px);
        opacity: .5;
    }
    .cta-brightestminds-mosaic .mosaic-3 img,
    .cta-brightestminds-mosaic .mosaic-6 img,
    .cta-brightestminds-mosaic .mosaic-8 img {
        opacity: .22;
    }
    .cta-brightestminds-mosaic .mosaic-2 img {
        transform: translateY(calc(-100% - 20px));
    }
    .cta-brightestminds-mosaic .mosaic-5 img,
    .cta-brightestminds-mosaic .mosaic-7 img {
        transform: translateY(calc(100% + 20px));
    }
}

@media (max-width: 767px) {
    .cta-brightestminds-mosaic {
        margin-top: 5px;
        margin-left: -30px;
        margin-right: -30px;
        width: calc(100% + 70px);
    }
    .cta-brightestminds-mosaic .mosaic img {
        width: calc(100% - 10px);
        height: calc(100% - 10px);
        opacity: .22;
    }
    .cta-brightestminds-mosaic .mosaic-3 img,
    .cta-brightestminds-mosaic .mosaic-6 img,
    .cta-brightestminds-mosaic .mosaic-8 img {
        opacity: .15;
    }
    .cta-brightestminds-mosaic .mosaic-2 img {
        transform: translateY(calc(-100% - 10px));
    }
    .cta-brightestminds-mosaic .mosaic-5 img,
    .cta-brightestminds-mosaic .mosaic-7 img {
        transform: translateY(calc(100% + 10px));
    }
}


/* ---------- page-team layout ---------- */

.page-team .hero-internal .container {
    padding-top: 120px;
    padding-bottom: 40px;
}

.page-team .hero-internal-content {
    max-width: 480px;
}

.page-team .section-values {
    margin-bottom: 20px;
}

.page-team .section-team {
    margin-bottom: 40px;
}

.page-team .filter {
    margin-bottom: 20px;
}

@media (min-width: 960px) {
    .page-team .hero-internal .container {
        padding-top: 250px;
        padding-bottom: 100px;
    }
    .page-team .hero-internal-content {
        max-width: 800px;
    }
    .page-team .section-values {
        margin-bottom: 80px;
    }
    .page-team .section-team {
        margin-bottom: 120px;
    }
    .page-team .filter {
        margin-bottom: 80px;
    }
}


/* ---------- section-team ---------- */

.section-team-item {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
    text-decoration: none;
}

.section-team-item:hover,
.section-team-item:focus {
    opacity: 1;
}

.section-team-item:before {
    content: '';
    display: block;
    width: 100%;
    padding-top: 62.69%;
}

.section-team-item .overlay {
    padding: 20px;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: flex;
    opacity: 1;
}

.section-team-item .overlay:before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 1;
    width: 100%;
    height: 50%;
    display: block;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0) 100%);
}

.section-team-item .overlay-primary,
.section-team-item .overlay-secondary {
    position: relative;
    z-index: 2;
    transition: transform 0.2s ease-out;
    transform: translateY(0);
}

@media (hover: hover) {
    .section-team-item:hover .overlay-primary,
    .section-team-item:hover .overlay-secondary {
        transform: translateY(-6px);
    }
}

.section-team-item .overlay .position,
.section-team-item .overlay .experience {
    font-size: 13px;
    font-weight: 800;
}

.section-team-item .overlay .position {
    color: white;
}

.section-team-item .overlay .experience {
    color: #f1e82b;
}

.section-team-item .overlay .icon-linkedin-circle {
    display: block;
    margin-bottom: 20px;
}

.section-team-item .overlay .icon-linkedin-circle:before {
    font-size: 30px;
    line-height: 1;
    display: block;
}

.section-team-item .bg-fallback,
.section-team-item .stat-wrap {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
}

.section-team-item img.bg-fallback {
    object-fit: cover;
    object-position: center 20%;
}

.section-team-item .stat-wrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 20px;
}

.section-team-item .stat-inner {
    margin-bottom: 10px;
}

.section-team-item .stat-inner .arrow {
    width: auto;
    transform: translateX(-15%);
    height: 20px;
}

.section-team-item .stat-inner .text {
    font-size: 16px;
}

.section-team-item .stat p {
    font-size: 13px;
    color: rgba(255, 255, 255, 0.85);
    line-height: 1.6;
}

@media (min-width: 960px) {
    .section-team-item .overlay {
        padding: 40px;
    }
    .section-team-item .overlay .position,
    .section-team-item .overlay .experience {
        font-size: 16px;
    }
    .section-team-item .stat-inner {
        margin-bottom: 20px;
    }
    .section-team-item .stat-inner .arrow {
        height: 40px;
    }
    .section-team-item .stat-inner .text {
        font-size: 45px;
    }
    .section-team-item .stat p {
        font-size: 16px;
    }
}


/* ---------- section-team grid ---------- */

.section-team .grid {
    display: flex;
    flex-wrap: wrap;
    margin-left: -10px;
    margin-bottom: -10px;
}

.section-team .grid > .grid-col {
    padding-left: 10px;
    margin-bottom: 10px;
    width: 50%;
}

.section-team .grid {
    transition: opacity 0.15s ease-out;
}

.section-team .grid .staff-item > a:before,
.section-team .grid .staff-item > div:before {
    content: '';
    display: block;
    width: 100%;
    padding-top: 150%;
}

.section-team .grid .staff-item .bg-fallback {
    display: block;
}

.section-team .grid .staff-item .overlay {
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    line-height: 1.4;
}

.section-team .grid .staff-item .overlay-primary,
.section-team .grid .staff-item .overlay-secondary {
    width: 100%;
}

.section-team .grid .staff-item .overlay .title {
    font-size: 18px;
    margin-bottom: 15px;
}

.section-team .grid .staff-item .overlay .position {
    padding-right: 35px;
}

/* Bio link fills the card; LinkedIn sits above it as its own link */
.section-team .grid .staff-item .section-team-item-link {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    text-decoration: none;
    color: inherit;
}

.section-team .grid .staff-item .section-team-item-link:hover,
.section-team .grid .staff-item .section-team-item-link:focus {
    opacity: 1;
    color: inherit;
}

.section-team .grid .staff-item .linkedin {
    position: absolute;
    right: 20px;
    bottom: 20px;
    z-index: 3;
    padding: 0;
    text-decoration: none;
}

.section-team .grid .staff-item .linkedin:hover,
.section-team .grid .staff-item .linkedin:focus {
    opacity: 1;
}

.section-team .grid .staff-item .linkedin .icon-linkedin-circle {
    display: block;
    margin-bottom: 0;
}

.section-team .grid .staff-item .linkedin .icon-linkedin-circle:before {
    font-size: 30px;
    line-height: 1;
    display: block;
}

@media (min-width: 960px) {
    .section-team .grid .staff-item .linkedin {
        right: 40px;
        bottom: 40px;
    }
}

.section-team .grid > .grid-col.stat-item {
    display: none;
}

@media (min-width: 960px) {
    .section-team .grid {
        margin-left: -20px;
        margin-bottom: -20px;
    }
    .section-team .grid > .grid-col {
        padding-left: 20px;
        margin-bottom: 20px;
        width: 33.3333%;
    }
    .section-team .grid .staff-item .overlay .title {
        font-size: 28px;
    }
}

@media (min-width: 1200px) {
    .section-team .grid > .grid-col {
        width: 25%;
    }
}

@media (min-width: 768px) and (max-width: 959px) {
    .section-team .grid > .grid-col {
        width: 33.3333%;
    }
}

@media (max-width: 479px) {
    .section-team .grid > .grid-col {
        width: 100%;
    }
}


/* -- GF Honeypot + GF #18 Quote Form -- */

.gform_validation_container {
	visibility: hidden !important;
	opacity: 0 !important;
	position: absolute !important;
}

#gform_wrapper_18 {
	max-width: 800px;
}

#gform_wrapper_18 li:before {
	content: unset;
}


#gform_wrapper_18 li.gfield {
	display: grid;
	grid-template-columns: 180px minmax(0, 1fr);
	grid-column-gap: 2em;
	list-style: none;
}
#gform_wrapper_18 li.gfield,
#gform_wrapper_18 li.gfield .gfield_label {
	position: static;
	padding: 0;
	width: auto;
	margin: 0;
}
#gform_wrapper_18 li.gfield + li.gfield {
	margin-top: 1em;
}

#gform_wrapper_18 li.gfield .ginput_container {
	flex: 1;
}

#gform_wrapper_18 li.gfield .gfield_description {
	grid-column: 2;
	opacity: 0.75;
}
#gform_wrapper_18 li.gfield input,
#gform_wrapper_18 li.gfield select,
#gform_wrapper_18 li.gfield textarea {
	padding: 1em;
	font-size: 1em;
	line-height: initial;
}

#gform_wrapper_18 .bubble {
	grid-column: 1 / 3;
	padding: 3em 0 1em;
	text-align: center;
}

#gform_wrapper_18 .ginput_container_website input[aria-invalid="true"] {
	border: 1px solid #e00404;
}

#gform_wrapper_18 .gform_page_fields {
	margin: 2em 0;
}
#gform_wrapper_18 .gf_page_steps {
	font-size: 2em;
	font-weight: 300;
}
#gform_wrapper_18 .gf_step_number {
	width: 1.5em;
	height: 1.5em;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	vertical-align: middle;
	border-radius: 50%;
	background-color: rgba(255,255,255,0.1);
}
#gform_wrapper_18 .gf_step.gf_step_active {
	color: var(--color-primary);
	font-weight: bold;
}
#gform_wrapper_18 .gf_step.gf_step_active .gf_step_number {
	background-color: var(--color-primary);
	color: #111;
}

#gform_wrapper_18 .gf_step + .gf_step {
	margin-top: 0.5em;
}


#gform_wrapper_18 li.gfield.gfield_html {
	display: block;
	width: 100%;
}

#gform_wrapper_18 li.gfield.gfield_html img {
	padding-bottom: 2em;
}

#gform_wrapper_18 .gform_page_footer {
	text-align: right;
	display: flex;
}

#gform_wrapper_18 .gform_page_footer input.button {
	appearance: none;
	border: none;
	padding: 1em;
	background: var(--color-primary);
	color: #111;
	cursor: pointer;
	font-weight: 800;
	width: 100%;
}
#gform_wrapper_18 .gform_page_footer input.button + input.button {
	margin-left: 0.5em;
}

#gform_wrapper_18 .gform_page_footer input.button:hover {
	opacity: 0.75;
}
#gform_wrapper_18 img.gform_ajax_spinner {
	display: none !important;
}

#gform_wrapper_18 .gform_page_footer input.gform_previous_button {
	background-color: rgba(255,255,255,0.2);
	color: rgba(255, 255, 255, .85);
}


/* ---- Reduced Motion ---- */

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
    html {
        scroll-behavior: auto;
    }
}


/* ---- Third-Party ---- */

/*!
 * jQuery UI CSS Framework 1.11.4
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 *
 * http://api.jqueryui.com/category/theming/
 */
/* Layout helpers
----------------------------------*/
.ui-helper-hidden {
  display: none;
}

.ui-helper-hidden-accessible {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.ui-helper-reset {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  line-height: 1.3;
  text-decoration: none;
  font-size: 100%;
  list-style: none;
}

.ui-helper-clearfix {
  min-height: 0;}

.ui-helper-clearfix:before, .ui-helper-clearfix:after {
  content: "";
  display: table;
  border-collapse: collapse;
}

.ui-helper-clearfix:after {
  clear: both;
}

.ui-helper-zfix {
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  opacity: 0;}

.ui-front {
  z-index: 100;
}

/* Interaction Cues
----------------------------------*/
.ui-state-disabled {
  cursor: default !important;
}

/* Misc visuals
----------------------------------*/
/* Overlays */
.ui-widget-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.ui-datepicker {
  width: 100%;
  display: none;
  text-align: center;
  font-weight: 600;
  font-size: 16px;
  max-width: 300px;
  background-color: #111111;
}

.ui-datepicker a {
  color: white;
}

.ui-datepicker .ui-datepicker-header {
  font-size: 14px;
  line-height: 1;
  position: relative;
  background-color: #111111;
  color: #f1e82b;
  text-transform: uppercase;
  padding: 18px 50px;
          transform-style: preserve-3d;
  letter-spacing: .05em;
  border: 1px solid #303030;
  border-bottom: 0;
}

.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next {
  position: absolute;
  top: 50%;
          transform: translateY(-50%);
  border-radius: 50%;
  border: 1px solid #303030;
  width: 22px;
  height: 22px;
  cursor: pointer;
  background-color: #111111;
}

.ui-datepicker .ui-datepicker-prev span,
.ui-datepicker .ui-datepicker-next span {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px !important;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
}

.ui-datepicker .ui-datepicker-prev {
  left: 20px;
  background: no-repeat center center url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAMUlEQVQYV2NkYGD4LygoyPD+/XuGjy+0GfglrjIwggQZGBjgAiA2WBCmAqYDt0p0MwHqfB0BWSxuLQAAAABJRU5ErkJggg==);
}

.ui-datepicker .ui-datepicker-prev:hover:before{
          transform: translateX(-2px);
}

.ui-datepicker .ui-datepicker-next {
  right: 20px;
  background: no-repeat center center url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAJklEQVQYV2NkYGD4//GFNgO/xFUGGGAECYI4yBJwQWQJ3CrRzQQAOwkUAaB9AKEAAAAASUVORK5CYII=);
}

.ui-datepicker .ui-datepicker-next:hover:before{
          transform: translateX(2px);
}

.ui-datepicker .ui-datepicker-title {
  text-align: center;
}

.ui-datepicker .ui-datepicker-title select {
  font-size: 16px;
  margin: 1px 0;
}

.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
  width: 45%;
}

.ui-datepicker table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #303030;
}

.ui-datepicker thead {
  font-size: 14px;
  font-weight: 800;
  text-transform: uppercase;
  line-height: 40px;
}

.ui-datepicker thead th {
  border-top: 0;
}

.ui-datepicker th:not(:last-child),
.ui-datepicker td:not(:last-child) {
  border-right: 1px solid #303030;
}

.ui-datepicker th,
.ui-datepicker td {
  width: 14.2857%;
  border: 0;
  border-top: 1px solid #303030;
  position: relative;
}

.ui-datepicker th a,
.ui-datepicker td a {
  line-height: 40px;
  display: block;
  transition: background-color 0.2s ease-out;
  position: relative;
}

.ui-datepicker th a:hover, .ui-datepicker td a:hover{
  background-color: #191919;
}

.ui-datepicker .ui-datepicker-buttonpane {
  background-image: none;
  margin: .7em 0 0 0;
  padding: 0 .2em;
  border-left: 0;
  border-right: 0;
  border-bottom: 0;
}

.ui-datepicker .ui-datepicker-buttonpane button {
  float: right;
  margin: .5em .2em .4em;
  cursor: pointer;
  padding: .2em .6em .3em .6em;
  width: auto;
  overflow: visible;
}

.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current {
  float: left;
}

.ui-datepicker .ui-state-disabled {
  background-color: #111111;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAADCAYAAABWKLW/AAAAJklEQVQYV2MUFBT8z8DAwCAvL8/ACOKAGA8fPmRgNDAw+A9igAAAovwJ9xv3PjgAAAAASUVORK5CYII=);
}

.ui-datepicker .ui-state-active {
  background-color: #f1e82b;
  color: #231f20;
  position: relative;
}

.ui-datepicker .ui-state-active:hover{
  background-color: black;
}

.is-populated:before {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: #f1e82b;
  display: block;
  z-index: 2;
}

/* with multiple calendars */
.ui-datepicker.ui-datepicker-multi {
  width: auto;
}

.ui-datepicker-multi .ui-datepicker-group {
  float: left;
}

.ui-datepicker-multi .ui-datepicker-group table {
  width: 95%;
  margin: 0 auto .4em;
}

.ui-datepicker-multi-2 .ui-datepicker-group {
  width: 50%;
}

.ui-datepicker-multi-3 .ui-datepicker-group {
  width: 33.3%;
}

.ui-datepicker-multi-4 .ui-datepicker-group {
  width: 25%;
}

.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header {
  border-left-width: 0;
}

.ui-datepicker-multi .ui-datepicker-buttonpane {
  clear: left;
}

.ui-datepicker-row-break {
  clear: both;
  width: 100%;
  font-size: 0;
}

/* RTL support */
.ui-datepicker-rtl {
  direction: rtl;
}

.ui-datepicker-rtl .ui-datepicker-prev {
  right: 2px;
  left: auto;
}

.ui-datepicker-rtl .ui-datepicker-next {
  left: 2px;
  right: auto;
}

.ui-datepicker-rtl .ui-datepicker-prev:hover {
  right: 1px;
  left: auto;
}

.ui-datepicker-rtl .ui-datepicker-next:hover {
  left: 1px;
  right: auto;
}

.ui-datepicker-rtl .ui-datepicker-buttonpane {
  clear: right;
}

.ui-datepicker-rtl .ui-datepicker-buttonpane button {
  float: left;
}

.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,
.ui-datepicker-rtl .ui-datepicker-group {
  float: right;
}

.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,
.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header {
  border-right-width: 0;
  border-left-width: 1px;
}


/* -- WP Google Reviews Plugin -- */

.wp-google-right,
.wp-google-place {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  color: var(--color-text);
  padding: 30px;
  transition: transform 0.2s ease-out, box-shadow 0.2s linear;
}

.wp-google-place,

.wp-google-review {
  position: relative;
}

.wp-google-left {
  position: absolute;
  z-index: 9;
  left: 40px;
  top: 2em;
}

.wp-google-left > img {
  border-radius: 100%;
}

.wp-google-right {
  width: 100%;
  background-image: url(../img/google-logo.png);
  background-repeat: no-repeat;
  background-position: calc(100% - 4rem) calc( 2rem + (25px/2));
  background-size: 25px auto;
  padding-top: 2em !important;
  padding-bottom: 2em !important;
}

.wp-google-place .wp-google-right {
  background: none;
}

.wp-google-stars {
  display: block;
  margin: 16px 0 .5em;
}

.wp-google-stars path {
  fill: #fb8e28;
}

.wp-google-stars .wp-stars {
  margin-left: -.2em;
}

.wp-google-stars .wp-stars .wp-star {
  padding: 0 3px 0 0;
  line-height: normal;
  display: inline-block;
}

.wp-star svg {
  display: inline-block;
  width: 18px;
  height: 18px;
  vertical-align: middle;
  fill: #fb8e28;
}

.wp-google-place .wp-star svg {
  width: 20px;
  height: 20px;
}

.wp-google-name,
.wp-google-time {
  margin-left: calc(50px + 1.2em);
}

.wp-google-place {
  text-align: center;
  width: auto;
  display: inline-flex;
  padding-top: 2em !important;
  padding-bottom: 2em !important;
}

.wp-google-place .wp-google-name {
  display: none;
}

.wp-google-place .wp-google-left {
  position: static;
}

.wp-google-place .wp-google-left img {
  border-radius: 50%;
  margin-right: 30px;
}

.wp-google-place .wp-google-right {
  padding-top: 0 !important;
}

.wp-google-place .wp-google-powered {
  white-space: nowrap;
}

.wp-google-place .wp-google-rating {
  font-size: 18px;
  color: #fb8e28;
}

.wp-google-place .wp-google-right > :nth-child(2) {
  justify-content: center;
  gap: 8px;
  margin: 16px 0 .5em;
}

.wp-google-url {
  display: block;
  text-align: center;
  margin-top: 2em;
}

.wp-google-text {
  font-size: 14px;
}

.wp-more {
  display: none;
}

.wp-more-toggle {
  color: var(--color-primary);
}

.wp-google-reviews {
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
  z-index: 2;
  margin-left: -10px;
  margin-right: -10px;
}

.wp-google-reviews > li {
  display: flex;
  padding-left: 30px;
  margin-bottom: 30px;
}

.wp-google-reviews .value {
  flex-grow: 1;
}

/* ==== HubSpot forms (Gravity Forms visual system) ==== */
/*
 * Maps HubSpot DOM onto the existing Gravity Forms look in this file
 * (labels, inputs, checkboxes, submit, newsletter). Scope stays under
 * component roots — do not invent a parallel design language.
 */

form:not(.has-validation-attempt) .hs-error-msgs,
form:not(.has-validation-attempt) .hs_error_rollup,
form:not(.has-validation-attempt) .hs-error-msg {
    display: none;
}

/* ---- Enquiry + hiring (shared field system) ---- */

.hubspot-enquiry-form,
#hiring-form-wrapper .hubspot-hiring-form {
    font-family: var(--font-body);
    font-size: 16px;
    line-height: 1.2;
    max-width: 550px;
    margin: 0 auto;
    color: var(--color-white);
}

#hiring-form-wrapper .hubspot-hiring-form {
    margin: 80px auto 0;
}

.hubspot-enquiry-form form.hs-form,
#hiring-form-wrapper .hubspot-hiring-form form.hs-form {
    margin: 0;
    max-width: none;
}

.hubspot-enquiry-form .hs-form-field .input,
#hiring-form-wrapper .hubspot-hiring-form .hs-form-field .input {
    max-width: none;
}

.hubspot-enquiry-form .hs_ga_id,
#hiring-form-wrapper .hubspot-hiring-form .hs_ga_id {
    display: none;
}

/* Intro (mirrors .gform_text) */
.hubspot-enquiry-intro {
    line-height: 1.6;
    font-size: 18px;
    margin-bottom: 25px;
    text-align: left;
}

.hubspot-enquiry-intro h2 {
    font-family: var(--font-heading);
    font-size: 22px;
    font-weight: 800;
    color: var(--color-white);
    margin: 0 0 20px;
    line-height: 1.1;
}

.hubspot-enquiry-intro p {
    margin: 0;
    color: var(--color-white);
}

.hubspot-enquiry-intro a {
    color: var(--color-primary);
    text-decoration: underline;
    transition: opacity 0.2s ease;
}

.hubspot-enquiry-intro a:hover,
.hubspot-enquiry-intro a:focus {
    color: inherit;
    opacity: 0.65;
}

@media (min-width: 480px) {
    .hubspot-enquiry-intro h2 {
        font-size: 30px;
    }
}

@media (max-width: 479px) {
    .hubspot-enquiry-intro {
        font-size: 16px;
    }
}

.enquiry .hubspot-enquiry-intro,
.enquiry .hubspot-enquiry-form {
    text-align: left;
}

/* Field spacing (mirrors .gform_fields > li + li) */
.hubspot-enquiry-form .hs-form-field + .hs-form-field,
#hiring-form-wrapper .hubspot-hiring-form .hs-form-field + .hs-form-field {
    margin-top: 25px;
}

.hubspot-enquiry-form .hs-form-field:first-child,
#hiring-form-wrapper .hubspot-hiring-form .hs-form-field:first-child {
    margin-top: 30px;
}

/* Labels (mirrors .gfield_label) */
.hubspot-enquiry-form .hs-form-field > label,
#hiring-form-wrapper .hubspot-hiring-form .hs-form-field > label {
    font-weight: 800;
    color: var(--color-white);
    font-size: 16px;
    display: block;
    line-height: 1;
    margin-bottom: 10px;
    text-align: left;
}

.hubspot-enquiry-form .hs-form-required,
#hiring-form-wrapper .hubspot-hiring-form .hs-form-required {
    color: var(--color-white);
}

/* Text / email / phone / number / url / select / textarea (mirrors GF inputs) */
.hubspot-enquiry-form .hs-form-field > .input > input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),
.hubspot-enquiry-form .hs-form-field > .input > select,
.hubspot-enquiry-form .hs-form-field > .input > textarea,
#hiring-form-wrapper .hubspot-hiring-form .hs-form-field > .input > input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),
#hiring-form-wrapper .hubspot-hiring-form .hs-form-field > .input > select,
#hiring-form-wrapper .hubspot-hiring-form .hs-form-field > .input > textarea {
    font-size: 16px;
    color: var(--color-white);
    appearance: none;
    padding: 12px 20px;
    margin: 0;
    display: block;
    width: 100%;
    border-radius: 0;
    background-color: transparent;
    transition: border-color 0.2s ease;
    border: 1px solid rgba(255, 255, 255, 0.4);
    box-sizing: border-box;
    font-family: var(--font-body);
    font-weight: 400;
    line-height: 1.2;
}

.hubspot-enquiry-form .hs-form-field > .input > textarea,
#hiring-form-wrapper .hubspot-hiring-form .hs-form-field > .input > textarea {
    padding-top: 25px;
    padding-bottom: 25px;
    max-height: 100px;
    height: 100px;
    min-height: 100px;
    resize: vertical;
}

.hubspot-enquiry-form .hs-form-field > .input > input:focus,
.hubspot-enquiry-form .hs-form-field > .input > select:focus,
.hubspot-enquiry-form .hs-form-field > .input > textarea:focus,
#hiring-form-wrapper .hubspot-hiring-form .hs-form-field > .input > input:focus,
#hiring-form-wrapper .hubspot-hiring-form .hs-form-field > .input > select:focus,
#hiring-form-wrapper .hubspot-hiring-form .hs-form-field > .input > textarea:focus {
    outline: none;
    border: 1px solid var(--color-primary);
}

.hubspot-enquiry-form .hs-form-field > .input > input.invalid,
.hubspot-enquiry-form .hs-form-field > .input > input.error,
.hubspot-enquiry-form .hs-form-field > .input > textarea.invalid,
.hubspot-enquiry-form .hs-form-field > .input > textarea.error,
.hubspot-enquiry-form .hs-input.invalid,
.hubspot-enquiry-form .hs-input.error,
#hiring-form-wrapper .hubspot-hiring-form .hs-input.invalid,
#hiring-form-wrapper .hubspot-hiring-form .hs-input.error {
    border: 1px solid #e00404;
}

.hubspot-enquiry-form .hs-form-field > .input > input::placeholder,
.hubspot-enquiry-form .hs-form-field > .input > textarea::placeholder,
#hiring-form-wrapper .hubspot-hiring-form .hs-form-field > .input > input::placeholder,
#hiring-form-wrapper .hubspot-hiring-form .hs-form-field > .input > textarea::placeholder {
    color: rgba(255, 255, 255, 0.55);
    opacity: 1;
}

/* Select caret (mirrors GF select ::after) */
#hiring-form-wrapper .hubspot-hiring-form .hs-form-field > .input {
    position: relative;
}

#hiring-form-wrapper .hubspot-hiring-form .hs-form-field > .input > select {
    padding-right: 50px;
    background-color: rgba(255, 255, 255, 0.068);
    cursor: pointer;
}

#hiring-form-wrapper .hubspot-hiring-form .hs-form-field > .input:has(> select)::after {
    content: "";
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 6px solid var(--color-primary);
    pointer-events: none;
    z-index: 2;
}

#hiring-form-wrapper .hubspot-hiring-form .hs-form-field > .input > select option {
    color: black;
    background-color: rgba(255, 255, 255, 0.81);
}

/* File upload (hiring) */
#hiring-form-wrapper .hubspot-hiring-form .hs-fieldtype-file > .input > input[type="file"] {
    padding: 12px 0;
    border: 0;
    background: transparent;
    color: var(--color-white);
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 1.2;
}

#hiring-form-wrapper .hubspot-hiring-form .hs-fieldtype-file > .input > input[type="file"]::file-selector-button {
    margin-right: 10px;
    padding: 8px 12px;
    border: 1px solid rgba(255, 255, 255, 0.4);
    border-radius: 0;
    background: transparent;
    color: var(--color-white);
    cursor: pointer;
    font-family: var(--font-body);
    font-size: 14px;
}

#hiring-form-wrapper .hubspot-hiring-form .hs-field-desc {
    margin-top: 10px;
    color: var(--color-white);
    font-size: 14px;
    line-height: 1.4;
}

/* Name: first + last side by side (mirrors .ginput_complex name) */
@media (min-width: 480px) {
    .hubspot-enquiry-form form.hs-form {
        display: grid;
        grid-template-columns: 150px minmax(0, 1fr) minmax(0, 1fr);
        column-gap: 10px;
        row-gap: 25px;
    }

    /* Default: span full form width (error rollup, consent, richtext, etc.) */
    .hubspot-enquiry-form form.hs-form > * {
        grid-column: 1 / -1;
    }

    .hubspot-enquiry-form form.hs-form > .hs-form-field {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: 150px minmax(0, 1fr) minmax(0, 1fr);
        column-gap: 10px;
        align-items: start;
        margin-top: 0;
        padding-left: 0;
        position: static;
    }

    .hubspot-enquiry-form form.hs-form > .hs-form-field > label {
        position: static;
        grid-column: 1;
        width: auto;
        margin: 0;
        padding: 13px 0;
        line-height: 1.2;
    }

    .hubspot-enquiry-form form.hs-form > .hs-form-field > .input {
        grid-column: 2 / -1;
        min-width: 0;
    }

    .hubspot-enquiry-form form.hs-form > .hs-form-field > .hs-error-msgs {
        grid-column: 2 / -1;
    }

    .hubspot-enquiry-form form.hs-form > .hs_firstname {
        grid-column: 1 / 3;
        grid-template-columns: 150px minmax(0, 1fr);
    }

    .hubspot-enquiry-form form.hs-form > .hs_firstname > .input {
        grid-column: 2;
    }

    .hubspot-enquiry-form form.hs-form > .hs_firstname > .hs-error-msgs {
        grid-column: 2;
    }

    .hubspot-enquiry-form form.hs-form > .hs_lastname {
        grid-column: 3;
        grid-template-columns: minmax(0, 1fr);
        margin-top: 0;
    }

    .hubspot-enquiry-form form.hs-form > .hs_lastname > label {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        border: 0;
    }

    .hubspot-enquiry-form form.hs-form > .hs_lastname > .input,
    .hubspot-enquiry-form form.hs-form > .hs_lastname > .hs-error-msgs {
        grid-column: 1;
    }

    .hubspot-enquiry-form form.hs-form > .hs_submit {
        grid-column: 1 / -1;
        margin-top: 0;
    }
}

/* Checkbox / radio lists (mirrors .gfield_checkbox).
   Exclude .hs-error-msgs — HubSpot also puts inputs-list on error ULs. */
.hubspot-enquiry-form .inputs-list:not(.hs-error-msgs),
#hiring-form-wrapper .hubspot-hiring-form .inputs-list:not(.hs-error-msgs) {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
}

.hubspot-enquiry-form .inputs-list:not(.hs-error-msgs) > li:not(:last-child),
#hiring-form-wrapper .hubspot-hiring-form .inputs-list:not(.hs-error-msgs) > li:not(:last-child) {
    margin-bottom: 10px;
}

@media (min-width: 768px) {
    .hubspot-enquiry-form .inputs-list:not(.hs-error-msgs) > li:nth-child(odd),
    #hiring-form-wrapper .hubspot-hiring-form .inputs-list:not(.hs-error-msgs) > li:nth-child(odd) {
        width: 58%;
    }

    .hubspot-enquiry-form .inputs-list:not(.hs-error-msgs) > li:nth-child(even),
    #hiring-form-wrapper .hubspot-hiring-form .inputs-list:not(.hs-error-msgs) > li:nth-child(even) {
        width: 42%;
    }
}

@media (min-width: 480px) and (max-width: 767px) {
    .hubspot-enquiry-form .inputs-list:not(.hs-error-msgs) > li,
    #hiring-form-wrapper .hubspot-hiring-form .inputs-list:not(.hs-error-msgs) > li {
        width: 50%;
    }
}

@media (max-width: 479px) {
    .hubspot-enquiry-form .inputs-list:not(.hs-error-msgs) > li,
    #hiring-form-wrapper .hubspot-hiring-form .inputs-list:not(.hs-error-msgs) > li {
        width: 100%;
    }
}

/* Custom checkbox / radio — HubSpot nests input inside the label */
.hubspot-enquiry-form .hs-form-checkbox-display > input[type="checkbox"],
.hubspot-enquiry-form .hs-form-radio-display > input[type="radio"],
#hiring-form-wrapper .hubspot-hiring-form .hs-form-checkbox-display > input[type="checkbox"],
#hiring-form-wrapper .hubspot-hiring-form .hs-form-radio-display > input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    margin: 0;
    padding: 0;
}

.hubspot-enquiry-form .hs-form-checkbox-display,
.hubspot-enquiry-form .hs-form-radio-display,
#hiring-form-wrapper .hubspot-hiring-form .hs-form-checkbox-display,
#hiring-form-wrapper .hubspot-hiring-form .hs-form-radio-display {
    padding-left: 24px;
    position: relative;
    color: var(--color-white);
    font-size: 14px;
    line-height: 16px;
    display: block;
    user-select: none;
    cursor: pointer;
    font-weight: 400;
    text-align: left;
}

.hubspot-enquiry-form .hs-form-checkbox-display::before,
.hubspot-enquiry-form .hs-form-radio-display::before,
#hiring-form-wrapper .hubspot-hiring-form .hs-form-checkbox-display::before,
#hiring-form-wrapper .hubspot-hiring-form .hs-form-radio-display::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    width: 14px;
    height: 14px;
    border: 1px solid rgba(255, 255, 255, 0.4);
    transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
    background-color: transparent;
    box-sizing: border-box;
}

.hubspot-enquiry-form .hs-form-radio-display::before,
#hiring-form-wrapper .hubspot-hiring-form .hs-form-radio-display::before {
    border-radius: 50%;
}

.hubspot-enquiry-form .hs-form-checkbox-display:has(> input:checked)::before,
.hubspot-enquiry-form .hs-form-radio-display:has(> input:checked)::before,
#hiring-form-wrapper .hubspot-hiring-form .hs-form-checkbox-display:has(> input:checked)::before,
#hiring-form-wrapper .hubspot-hiring-form .hs-form-radio-display:has(> input:checked)::before {
    border-color: var(--color-primary);
    background-color: var(--color-primary);
    box-shadow: inset 0 0 0 3px var(--color-bg-dark);
}

.hubspot-enquiry-form .hs-form-checkbox-display > span,
.hubspot-enquiry-form .hs-form-radio-display > span,
#hiring-form-wrapper .hubspot-hiring-form .hs-form-checkbox-display > span,
#hiring-form-wrapper .hubspot-hiring-form .hs-form-radio-display > span {
    color: var(--color-white);
    font-size: 14px;
    line-height: 16px;
    font-weight: 400;
}

/* Errors / consent */
.hubspot-enquiry-form .hs-error-msgs,
.hubspot-enquiry-form .hs_error_rollup,
.hubspot-enquiry-form .hs-error-msg,
#hiring-form-wrapper .hubspot-hiring-form .hs-error-msgs,
#hiring-form-wrapper .hubspot-hiring-form .hs_error_rollup,
#hiring-form-wrapper .hubspot-hiring-form .hs-error-msg {
    margin: 10px 0 0;
    padding: 0;
    list-style: none;
    color: #e00404;
    font-size: 16px;
}

.hubspot-enquiry-form .hs-error-msgs li::before,
#hiring-form-wrapper .hubspot-hiring-form .hs-error-msgs li::before {
    content: none;
}

.hubspot-enquiry-form .legal-consent-container,
.hubspot-enquiry-form .hs-richtext,
#hiring-form-wrapper .hubspot-hiring-form .legal-consent-container,
#hiring-form-wrapper .hubspot-hiring-form .hs-richtext {
    margin-top: 20px;
    color: var(--color-white);
    font-size: 13px;
    line-height: 1.4;
}

.hubspot-enquiry-form .legal-consent-container a,
.hubspot-enquiry-form .hs-richtext a,
#hiring-form-wrapper .hubspot-hiring-form .legal-consent-container a,
#hiring-form-wrapper .hubspot-hiring-form .hs-richtext a {
    color: var(--color-primary);
    text-decoration: underline;
}

/* Submit (mirrors .gform_button + .btn-primary / .btn-large) */
.hubspot-enquiry-form .hs_submit,
#hiring-form-wrapper .hubspot-hiring-form .hs_submit {
    margin-top: 25px;
}

.hubspot-enquiry-form .actions,
#hiring-form-wrapper .hubspot-hiring-form .actions {
    margin: 0;
    padding: 0;
}

.hubspot-enquiry-form .hs-button,
.hubspot-enquiry-form input.hs-button.primary,
#hiring-form-wrapper .hubspot-hiring-form .hs-button,
#hiring-form-wrapper .hubspot-hiring-form input.hs-button.primary {
    appearance: none;
    border: 0;
    border-radius: 0;
    cursor: pointer;
    margin: 0;
    display: block;
    width: 100%;
    box-sizing: border-box;
    font-family: var(--font-body);
    text-align: center;
    transition: all 0.2s ease-out;
    background-color: var(--color-primary);
    color: var(--color-bg-dark);
}

.hubspot-enquiry-form .hs-button:hover,
.hubspot-enquiry-form input.hs-button.primary:hover,
#hiring-form-wrapper .hubspot-hiring-form .hs-button:hover,
#hiring-form-wrapper .hubspot-hiring-form input.hs-button.primary:hover {
    background-color: var(--color-white);
    color: var(--color-bg-dark);
    box-shadow: none;
    opacity: 1;
}

/* Hiring label-left layout (enquiry uses the grid above) */
@media (min-width: 480px) {
    #hiring-form-wrapper .hubspot-hiring-form .hs-form-field {
        padding-left: 150px;
        position: relative;
    }

    #hiring-form-wrapper .hubspot-hiring-form .hs-form-field > label {
        position: absolute;
        left: 0;
        top: 0;
        width: 150px;
        margin: 0;
        padding: 13px 0;
        line-height: 1.2;
    }

    /* Match GF .gform_fineprint indent under label-left fields */
    #hiring-form-wrapper .hubspot-hiring-form .legal-consent-container,
    #hiring-form-wrapper .hubspot-hiring-form .hs-richtext {
        padding-left: 150px;
    }
}

@media (max-width: 479px) {
    .hubspot-enquiry-form form.hs-form,
    .hubspot-enquiry-form form.hs-form > .hs-form-field {
        display: block;
    }

    .hubspot-enquiry-form form.hs-form > .hs-form-field > label,
    .hubspot-enquiry-form form.hs-form > .hs-form-field > .input,
    .hubspot-enquiry-form form.hs-form > .hs-form-field > .hs-error-msgs {
        grid-column: auto;
    }

    .hubspot-enquiry-form form.hs-form > .hs_lastname {
        margin-top: 25px;
    }

    .hubspot-enquiry-form form.hs-form > .hs_lastname > label {
        position: static;
        width: auto;
        height: auto;
        margin: 0 0 10px;
        padding: 0;
        overflow: visible;
        clip: auto;
        clip-path: none;
    }
}

@media (max-width: 700px) {
    #hiring-form-wrapper .hubspot-hiring-form {
        margin-top: 50px;
    }
}

/* ---- Newsletter (mirrors .new-newsletter GF footer form) ---- */

.new-newsletter .newsletter-heading {
    margin-bottom: 0;
}

.new-newsletter .newsletter-title {
    margin: 0 0 10px;
    color: var(--color-white);
    font-size: 18px;
    font-weight: 900;
    line-height: 1.2;
}

.new-newsletter .newsletter-description {
    margin: 0;
    color: #666;
}

.new-newsletter .hubspot-newsletter-form {
    margin: 0;
}

.new-newsletter .hubspot-newsletter-form form.hs-form {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-end;
    margin: 0;
    max-width: none;
}

.new-newsletter .hubspot-newsletter-form .hs_email {
    flex: 1;
    min-width: 0;
    margin: 0;
}

.new-newsletter .hubspot-newsletter-form .hs_ga_id,
.new-newsletter .hubspot-newsletter-form form.hs-form > div:has(.hs-richtext) {
    display: none;
}

.new-newsletter .hubspot-newsletter-form .hs-form-field > label {
    position: absolute;
    opacity: 0;
    visibility: hidden;
    width: 0;
    height: 0;
    margin: 0;
}

.new-newsletter .hubspot-newsletter-form .hs-form-field,
.new-newsletter .hubspot-newsletter-form .input {
    margin: 0;
    min-width: 0;
    max-width: none;
}

.new-newsletter .hubspot-newsletter-form .hs-input {
    margin: 0;
    padding: 12px 0;
    border: none;
    border-bottom: 1px solid #666;
    border-radius: 0;
    background: transparent;
    color: var(--color-white);
    font-size: 18px;
    width: 100%;
    font-family: var(--font-body);
    line-height: 1.2;
    appearance: none;
    box-sizing: border-box;
}

.new-newsletter .hubspot-newsletter-form .hs-input:focus {
    outline: none;
    border-bottom-color: var(--color-primary);
}

.new-newsletter .hubspot-newsletter-form .hs-input::placeholder {
    color: rgba(255, 255, 255, 0.55);
    opacity: 1;
}

.new-newsletter .hubspot-newsletter-form .hs_submit {
    margin: 0;
    padding: 0;
    flex-shrink: 0;
}

.new-newsletter .hubspot-newsletter-form .actions {
    margin: 0;
    padding: 0;
}

.new-newsletter .hubspot-newsletter-form .hs-button {
    appearance: none;
    background-color: #3a3536;
    color: var(--color-white);
    font-size: 15px;
    font-weight: 400;
    padding: 12px 30px;
    border: none;
    border-radius: 0;
    cursor: pointer;
    margin-left: 30px;
    white-space: nowrap;
    transition: background-color 0.2s ease, color 0.2s ease;
    font-family: var(--font-body);
    line-height: 1.2;
    width: auto;
    display: inline-block;
}

.new-newsletter .hubspot-newsletter-form .hs-button:hover,
.new-newsletter .hubspot-newsletter-form .hs-button:focus {
    background-color: var(--color-primary);
    color: var(--color-bg);
    opacity: 1;
}

.new-newsletter .hubspot-newsletter-form .hs_error_rollup,
.new-newsletter .hubspot-newsletter-form .hs-error-msgs,
.new-newsletter .hubspot-newsletter-form .submitted-message {
    flex-basis: 100%;
    font-size: 14px;
    font-weight: 600;
    padding: 0;
    margin: 10px 0;
    color: var(--color-white);
}

.new-newsletter .hubspot-newsletter-form .hs-error-msgs {
    list-style: none;
}

.new-newsletter .hubspot-newsletter-form .hs-error-msgs li::before {
    content: none;
}

@media (max-width: 480px) {
    .new-newsletter .hubspot-newsletter-form form.hs-form {
        flex-wrap: wrap;
    }

    .new-newsletter .hubspot-newsletter-form .hs_email {
        flex: 0 0 100%;
    }

    .new-newsletter .hubspot-newsletter-form .hs_submit {
        flex: 0 0 100%;
        text-align: center;
    }

    .new-newsletter .hubspot-newsletter-form .hs-button {
        margin-top: 10px;
        margin-left: 0;
        width: auto;
    }
}

/* ==== Team bio pages (site patterns; not from Rogue) ==== */

.page-team-member .content-main {
    padding-bottom: 160px;
}

.page-team-member .team-profile {
    padding: 120px 0 60px;
}

.page-team-member .team-profile-back {
    margin: 0 0 28px;
}

.page-team-member .team-profile-back a {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: var(--color-text-muted);
    font-size: 15px;
    text-decoration: none;
}

.page-team-member .team-profile-back a:hover,
.page-team-member .team-profile-back a:focus {
    color: #ffffff;
    opacity: 1;
}

/* Same sketch arrow as services accordion; flipped for “back” */
.page-team-member .team-profile-back .arrow {
    display: block;
    width: 40px;
    height: auto;
    flex-shrink: 0;
    transform: scaleX(-1);
}

.page-team-member .team-profile-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
    gap: 50px;
    align-items: start;
}

.page-team-member .team-profile-photo {
    margin: 0;
    background-color: #231f20;
    overflow: hidden;
}

.page-team-member .team-profile-photo img {
    display: block;
    width: 100%;
    height: auto;
}

.page-team-member .team-profile-info .title {
    margin: 0 0 16px;
    font-size: 40px;
    line-height: 1;
    text-align: left;
}

/* Role / years / LinkedIn — same roles as team-grid overlay text */
.page-team-member .team-profile-info .position,
.page-team-member .team-profile-info .experience {
    margin: 0 0 8px;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.3;
}

.page-team-member .team-profile-info .position {
    color: #ffffff;
}

.page-team-member .team-profile-info .experience {
    color: #f1e82b;
}

.page-team-member .team-profile-info .linkedin {
    display: inline-block;
    margin: 12px 0 0;
    text-decoration: none;
}

.page-team-member .team-profile-info .linkedin:hover,
.page-team-member .team-profile-info .linkedin:focus {
    opacity: 1;
}

.page-team-member .team-profile-info .icon-linkedin-circle {
    display: block;
}

.page-team-member .team-profile-info .icon-linkedin-circle:before {
    font-size: 30px;
    line-height: 1;
    display: block;
}

.page-team-member .team-profile-bio {
    max-width: 740px;
    margin-top: 36px;
    color: #ffffff;
    font-size: 18px;
    line-height: 1.55;
}

.page-team-member .team-profile-bio p {
    margin: 0 0 18px;
}

.page-team-member .team-profile-bio p:last-child {
    margin-bottom: 0;
}

.page-team-member .team-profile-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 28px;
}

.page-team-member .team-profile-section-heading .title,
.page-team-member .team-profile-related .title {
    margin: 0 0 18px;
    font-size: 32px;
    line-height: 1.1;
    text-align: left;
}

.page-team-member .team-profile-section-heading .title {
    margin-bottom: 0;
}

.page-team-member .section-work,
.page-team-member .section-resources,
.page-team-member .team-profile-related {
    margin-top: 80px;
}

.page-team-member .team-profile-list {
    margin: 0;
    padding: 0 0 0 20px;
    color: #ffffff;
    font-size: 16px;
    line-height: 1.6;
}

.page-team-member .team-profile-list li + li {
    margin-top: 12px;
}

.page-team-member .section-work .grid > [data-team-member-extra][hidden],
.page-team-member .section-resources .grid > [data-team-member-extra][hidden] {
    display: none;
}

@media (min-width: 960px) {
    .page-team-member .content-main {
        padding-bottom: 200px;
    }

    .page-team-member .team-profile {
        padding: 150px 0 80px;
    }

    .page-team-member .team-profile-info .title {
        font-size: 52px;
    }

    .page-team-member .team-profile-section-heading .title,
    .page-team-member .team-profile-related .title {
        font-size: 42px;
    }

    .page-team-member .team-profile-info .position,
    .page-team-member .team-profile-info .experience {
        font-size: 18px;
    }
}

@media (max-width: 959px) {
    .page-team-member .team-profile-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .page-team-member .team-profile-photo {
        max-width: 420px;
    }

    .page-team-member .team-profile-section-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 14px;
    }
}

@media (max-width: 600px) {
    .page-team-member .content-main {
        padding-bottom: 120px;
    }

    .page-team-member .team-profile {
        padding: 90px 0 50px;
    }

    .page-team-member .team-profile-info .title {
        font-size: 34px;
    }

    .page-team-member .team-profile-bio {
        font-size: 17px;
    }
}

nav.case-study-pagination[hidden] {
  display: none;
}

.section-work .grid > .grid-col[hidden] {
  display: none;
}

.case-study-filter {
    margin-bottom: 40px;
    padding: 28px 0;
}

.case-study-filter-controls,
.case-study-filter-groups,
.case-study-filter-pills {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.case-study-filter-controls {
    gap: 12px;
    justify-content: center;
}

.case-study-filter-label {
    color: var(--color-text-muted);
    font-size: 16px;
}

.case-study-filter-groups,
.case-study-filter-pills {
    gap: 8px;
    justify-content: center;
}

.case-study-filter-group,
.case-study-filter-pill,
.case-study-filter-clear {
    appearance: none;
    cursor: pointer;
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 400;
    line-height: 1.2;
    padding: 10px 14px;
    text-decoration: none;
    transition: background-color 0.2s linear, border-color 0.2s linear, color 0.2s linear;
}

.case-study-filter-group,
.case-study-filter-pill {
    background-color: var(--color-bg-alt);
    border: 1px solid var(--color-bg-alt);
    color: var(--color-white);
}

.case-study-filter-group:hover,
.case-study-filter-group:focus,
.case-study-filter-pill:hover,
.case-study-filter-pill:focus {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--color-bg-dark);
    text-decoration: none;
}

.case-study-filter-group.is-active,
.case-study-filter-pill.is-selected {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: #000;
    font-weight: 700;
}

.case-study-filter-options {
    margin-top: 22px;
}

.case-study-filter-summary {
    color: var(--color-text-muted);
    font-size: 15px;
    margin-top: 20px;
    text-align: center;
}

.case-study-filter-clear {
    background-color: transparent;
    border: 1px solid #555;
    color: var(--color-white);
    text-decoration: none;
}

.case-study-filter-clear:hover,
.case-study-filter-clear:focus {
    background-color: transparent;
    border-color: var(--color-primary);
    color: var(--color-white);
    text-decoration: none;
}

.case-study-filter-empty {
    max-width: 680px;
    margin-right: auto;
    margin-left: auto;
    padding: 32px 0 10px;
    text-align: center;
}

.case-study-filter-empty p {
    color: white;
    font-size: 20px;
    line-height: 1.45;
}

.case-study-filter-empty a {
    color: white;
    text-decoration: underline;
    text-decoration-color: var(--color-primary);
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
}

.case-study-hero-industry {
    color: var(--color-white);
    margin: 0 0 28px;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.case-study-hero-industry dt {
    color: rgba(255, 255, 255, 0.55);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin: 0 0 7px;
}

.case-study-hero-industry dd {
    color: var(--color-white);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.35;
    margin: 0;
}

@media (min-width: 960px) {
    .case-study-filter {
        margin-bottom: 60px;
        padding: 34px 0;
    }
    .case-study-hero-industry {
        max-width: 360px;
        margin-bottom: 40px;
    }
}

@media (max-width: 480px) {
    .case-study-filter {
        padding: 24px 0;
    }
    .case-study-filter-controls {
        align-items: flex-start;
    }
    .case-study-filter-groups {
        width: 100%;
    }
    .case-study-filter-group,
    .case-study-filter-pill {
        font-size: 14px;
    }
    .case-study-filter-clear {
        margin-left: 0;
    }
}

/* ---- Events (homepage hero + /events/) ---- */

.hero-home-layout {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-items: center;
    gap: 40px;
}

.hero-home-copy {
    flex: 1;
    min-width: 280px;
    width: 100%;
}

.hero-home-events {
    flex: 1;
    min-width: 280px;
    width: 100%;
}

.hero-home-events-title {
    color: var(--color-white);
    font-size: 22px;
    margin: 0 0 16px;
}

.hero-home-event-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 16px;
}

.hero-home-event-list .event-card {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.hero-home-event-list .event-card-footer {
    margin-top: auto;
    padding-top: 40px;
    width: 100%;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 12px;
}

.hero-home-event-list .event-card-footer .btn {
    flex: 1;
    min-width: 0;
    display: block;
    text-align: center;
    width: 100%;
}

.hero-home-event-list .event-card-teaser {
    margin-top: 24px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    overflow: hidden;
    min-height: 90px;
}

.event-card {
    border: 1px solid var(--color-border);
    background: var(--color-bg-alt);
    padding: 24px;
    color: var(--color-white);
}

.event-card-city {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--color-primary);
    margin-bottom: 8px;
}

.event-card-title {
    font-size: 24px;
    line-height: 1.2;
    margin: 0 0 8px;
}

.event-card-subtitle {
    font-size: 16px;
    line-height: 1.4;
    margin: 0 0 12px;
    color: var(--color-text-muted);
}

.event-card-rule {
    border: 0;
    border-top: 1px solid var(--color-border);
    margin: 0 0 12px;
}

.event-card-meta {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    line-height: 1.4;
    color: var(--color-white);
    margin: 0 0 8px;
}

.event-card-meta svg {
    flex-shrink: 0;
}

.event-card-teaser {
    font-size: 15px;
    line-height: 1.5;
    margin: 8px 0 0;
    color: var(--color-text-muted);
}

.event-card-description {
    font-size: 15px;
    line-height: 1.5;
    margin: 8px 0 0;
    color: var(--color-text-muted);
}

.event-card-media {
    overflow: hidden;
}

.event-card-image {
    display: block;
    width: 100%;
    height: auto;
}

.event-card-footer {
    margin-top: 16px;
}

.event-card-archived {
    color: var(--color-text-muted);
}

.event-card-archived .event-card-title {
    color: var(--color-white);
}

.event-card-archived .event-card-city {
    color: var(--color-text-muted);
}

.section-events {
    padding: 40px 0 60px;
}

.section-events-title {
    font-size: 28px;
    margin: 0 0 40px;
    text-align: center;
}

.section-events-archived .section-events-title {
    color: var(--color-text-muted);
}

.section-events-archived .grid,
.section-events-upcoming .grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 22px;
}

.section-events-archived .grid > .grid-col {
    display: flex;
    width: calc((100% - 44px) / 3);
    max-width: calc((100% - 44px) / 3);
}

.section-events-upcoming .grid > .grid-col {
    display: flex;
    width: calc((100% - 22px) / 2);
    max-width: calc((100% - 22px) / 2);
}

.section-events-archived .grid .event-card,
.section-events-archived .grid .resource,
.section-events-upcoming .grid .event-card,
.section-events-upcoming .grid .resource {
    width: 100%;
}

.section-events-archived .resource .event-card-title,
.section-events-upcoming .resource .event-card-title,
.page-event .cta-more .resource .event-card-title {
    color: var(--color-white);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    margin: 0 0 4px;
}

.section-events-archived .resource .event-card-subtitle,
.section-events-upcoming .resource .event-card-subtitle,
.page-event .cta-more .resource .event-card-subtitle {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: 1.4em;
    margin: 0 0 32px;
}

.section-events-archived .resource .event-card-meta,
.section-events-upcoming .resource .event-card-meta,
.page-event .cta-more .resource .event-card-meta {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.section-events-archived .resource .event-card-teaser,
.section-events-upcoming .resource .event-card-teaser,
.page-event .cta-more .resource .event-card-teaser {
    flex-grow: 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    overflow: hidden;
    min-height: calc(15px * 1.5 * 2);
}

.section-events-upcoming .resource-bg:before {
    padding-top: 50%;
}

.section-events-upcoming .resource-event-upcoming,
.section-events-upcoming .resource {
    flex-direction: column;
}

.section-events-upcoming .resource-event-media {
    display: block;
    width: 100%;
    color: inherit;
    text-decoration: none;
}

.section-events-upcoming .resource-bg {
    max-height: none;
    background-size: cover;
}

.section-events-upcoming .event-card-footer {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: auto;
    padding-top: 24px;
}

.section-events-upcoming .event-card-footer-row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 12px;
}

.section-events-upcoming .event-card-footer-row .btn {
    flex: 1;
    min-width: 0;
    display: block;
    text-align: center;
}

.section-events-upcoming .event-card-footer .event-card-book {
    background-color: transparent;
    border-color: var(--color-primary);
    color: var(--color-white);
}

.section-events-upcoming .event-card-footer .event-card-book:hover,
.section-events-upcoming .event-card-footer .event-card-book:focus-visible {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
    color: var(--color-bg-dark);
    text-decoration: none;
    opacity: 1;
}

.section-events-upcoming .event-card-footer .event-card-learn {
    width: 100%;
    flex: none;
    display: block;
    text-align: center;
}

.section-events-archived .resource-bg {
    background-size: cover;
}

@media (max-width: 959px) {
    .section-events-archived .grid > .grid-col,
    .section-events-upcoming .grid > .grid-col {
        width: calc((100% - 22px) / 2);
        max-width: calc((100% - 22px) / 2);
    }
}

@media (max-width: 479px) {
    .section-events-archived .grid > .grid-col,
    .section-events-upcoming .grid > .grid-col {
        width: 100%;
        max-width: 100%;
    }
}

.page-events .hero-internal .container {
    padding-top: 120px;
    padding-bottom: 40px;
}

.page-events .hero-internal-content {
    max-width: 480px;
}

.page-events .section-events-archived {
    padding-top: 0;
    padding-bottom: 120px;
}

@media (min-width: 960px) {
    .hero-home-layout {
        flex-direction: row;
        align-items: center;
    }

    .hero-home-copy,
    .hero-home-events {
        width: auto;
    }

    .page-events .hero-internal .container {
        padding-top: 200px;
        padding-bottom: 60px;
    }

    .page-event .hero-internal .container {
        padding-top: 200px;
        padding-bottom: 60px;
    }

    .page-events .hero-internal-content {
        max-width: 720px;
    }
}

@media (min-width: 768px) {
    .hero-home-event-list {
        flex-direction: row;
    }

    .event-card-listing {
        display: grid;
        grid-template-columns: 1fr auto;
        column-gap: 24px;
        align-items: center;
    }

    .event-card-listing > *:not(.event-card-footer) {
        grid-column: 1;
    }

    .event-card-listing .event-card-footer {
        grid-column: 2;
        grid-row: 1;
        margin-top: 0;
        align-self: center;
    }
}

.page-event .hero-internal .container {
    padding-top: 120px;
    padding-bottom: 40px;
    text-align: center;
}

.page-event .hero-internal .event-card-city,
.page-event .hero-internal .page-event-hero-subtitle,
.page-event .hero-internal .page-event-hero-meta,
.page-event .hero-internal .page-event-hero-cost {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

.page-event .page-event-hero-subtitle {
    margin-bottom: 16px;
}

.page-event .page-event-hero-meta {
    margin-top: 0;
    margin-bottom: 0;
}

.page-event .page-event-hero-cost {
    margin-top: 12px;
    margin-bottom: 0;
}

.page-event .page-event-section {
    padding-top: 64px;
    padding-bottom: 64px;
}

@media (min-width: 1024px) {
    .page-event .page-event-section {
        padding-top: 80px;
        padding-bottom: 80px;
    }
}

.page-event .page-event-section-title {
    margin: 0 0 24px;
}

.page-event .page-event-intro p {
    margin-bottom: 24px;
}

.page-event .page-event-intro p:last-child {
    margin-bottom: 0;
}

.page-event .page-event-speaker {
    margin-bottom: 32px;
}

.page-event .page-event-speaker:last-child {
    margin-bottom: 0;
}

.page-event .page-event-speaker-photo {
    display: block;
    width: 250px;
    height: 200px;
    object-fit: cover;
    object-position: top center;
    margin-bottom: 16px;
}

.page-event .page-event-speaker-name {
    margin: 0 0 4px;
}

.page-event .page-event-speaker-role {
    margin: 0;
}

.page-event .page-event-agenda-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.page-event .page-event-agenda-item {
    display: flex;
    gap: 16px;
    margin-bottom: 16px;
}

.page-event .page-event-agenda-item:last-child {
    margin-bottom: 0;
}

.page-event .page-event-agenda-time {
    flex-shrink: 0;
    min-width: 80px;
}

.page-event .page-event-partners .page-event-section-title {
    margin-bottom: 36px;
}

.page-event .page-event-partners-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 40px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.page-event .page-event-partner {
    margin-bottom: 0;
}

.page-event .page-event-partner-logo {
    display: block;
    max-width: 220px;
    height: auto;
    margin-bottom: 0;
}

.page-event .page-event-intro {
    text-align: center;
}

.page-event .page-event-intro-copy {
    max-width: 720px;
    margin-left: auto;
    margin-right: auto;
}

.page-event-speakers .grid {
    display: flex;
    flex-wrap: wrap;
    margin-left: -22px;
}

.page-event-speakers .grid > .grid-col {
    width: 33.3333%;
    max-width: 33.3333%;
    padding-left: 22px;
    margin-bottom: 32px;
}

@media (max-width: 959px) {
    .page-event-speakers .grid > .grid-col {
        width: 100%;
        max-width: 100%;
    }
}

.page-event-speakers .page-event-speaker {
    margin-bottom: 0;
}

.page-event-speakers .page-event-speaker-role {
    margin-bottom: 16px;
}

.page-event-speakers .page-event-speaker-bio p {
    margin: 0 0 16px;
}

.page-event-speakers .page-event-speaker-bio p:last-child {
    margin-bottom: 0;
}

.page-event .page-event-inline-image img {
    display: block;
    width: 100%;
    max-width: 720px;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    border: 1px solid rgba(255, 255, 255, 0.18);
}

.page-event .page-event-recap-line-wrap {
    padding-top: 80px;
    padding-bottom: 0;
}

.page-event .page-event-recap-line {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 12px;
    text-align: center;
}

#hx-popup {
    background-color: #000000;
    color-scheme: dark;
}

.page-event .section-faq {
    padding-top: 64px;
    padding-bottom: 64px;
    margin-bottom: 0;
}

@media (min-width: 1024px) {
    .page-event .section-faq {
        padding-top: 80px;
        padding-bottom: 80px;
    }
}

.page-event .cta-more {
    padding-bottom: 120px;
}

.page-event .cta-more .resource-bg {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    max-height: none;
}

.page-event .cta-more .resource-bg:before {
    padding-top: 50%;
}

.page-event .cta-more .grid {
    justify-content: flex-start;
    gap: 22px;
}

.page-event .cta-more .grid-col {
    flex: 0 0 auto;
    display: flex;
    min-width: 0;
    width: calc((100% - 44px) / 3);
    max-width: calc((100% - 44px) / 3);
}

@media (max-width: 959px) {
    .page-event .cta-more .grid-col {
        width: calc((100% - 22px) / 2);
        max-width: calc((100% - 22px) / 2);
    }
}

@media (max-width: 767px) {
    .page-event .cta-more .grid {
        flex-direction: row;
    }
}

@media (max-width: 479px) {
    .page-event .cta-more .grid-col {
        width: 100%;
        max-width: 100%;
    }
}
