@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__container{box-sizing:border-box;position:relative}.splide__list{backface-visibility:hidden;display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{backface-visibility:hidden;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}.splide__slide img{vertical-align:bottom}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}.splide__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{overflow:hidden;position:relative;z-index:0}@font-face {
  font-family: "Financier-Display";
  src: url("/wp-content/themes/weareyellow/dist/assets/financier-display-regular-BFOB3Fos.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Financier-Display";
  src: url("/wp-content/themes/weareyellow/dist/assets/financier-display-regular-italic-_yV3W7tP.woff2") format("woff2");
  font-weight: normal;
  font-style: italic;
}
@font-face {
  font-family: "Financier-Display";
  src: url("/wp-content/themes/weareyellow/dist/assets/financier-display-bold-cSY5iYek.woff2") format("woff2");
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: "Financier-Display";
  src: url("/wp-content/themes/weareyellow/dist/assets/financier-display-bold-italic-DdfYBwaQ.woff2") format("woff2");
  font-weight: bold;
  font-style: italic;
}
@font-face {
  font-family: "Metric-Bold";
  src: url("/wp-content/themes/weareyellow/dist/assets/Metric-Bold-CWDeAZcs.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}
:root {
  --color-primary: #000000;
  --color-accent: #FFFF01;
  --color-bg: white;
  --color-bg-light: #FFFF01;
  --color-bg-dark: #000000;
  --color-text: #000000;
  --color-line: rgba(0,0,0,0.15);
  --font-body: "Financier-Display", serif;
  --font-title: "Metric-Bold", sans-serif;
  --text-tiny: clamp(12px, 1.5vw, 15px);
  --text-sm: clamp(14px, 1.5vw, 16px);
  --text-btn: clamp(16px, 1.6vw, 18px);
  --text-base: clamp(18px, 2vw, 22px);
  --text-lg: clamp(16px, 2vw, 20px);
  --text-h5: clamp(18px, 2vw, 25px);
  --text-h4: clamp(20px, 2.5vw, 30px);
  --text-h3: clamp(25px, 3vw, 35px);
  --text-h2: clamp(30px, 4vw, 70px);
  --text-h1b: clamp(30px, 4vw, 70px);
  --text-h1: clamp(50px, 8vw, 150px);
  --tracking-tight: clamp(-1px, -0.2vw, -0.5px);
  --tracking-normal: clamp(-0.5px, -0.1vw, -0px);
  --gap-sm: clamp(10px, 2vw, 20px);
  --gap-md: clamp(20px, 5vw, 50px);
  --gap-lg: clamp(30px, 5vw, 100px);
  --wrapper-max: none;
  --wrapper-pad: clamp(20px, 10vw, 120px);
  --wrapper-pad-lg: clamp(20px, 5vw, 100px);
  --wrapper-pad-md: clamp(20px, 4vw, 75px);
  --trans: all 0.3s ease-in-out;
  --section-padding: clamp(50px, 8vw, 120px);
  --inner-padding: clamp(20px, 5vw, 100px);
  --panel-padding: clamp(20px, 5vw, 50px);
  --card-padding: clamp(20px, 3vw, 30px);
  --btn-padding: clamp(13px, 1.5vw, 16px) clamp(15px, 2vw, 20px);
  --btn-radius: 0;
  --card-radius: 0;
  --img-radius: 0;
}

body.scheme--red {
  --color-primary: #5C1A2E;
  --color-accent: #A63250;
  --color-bg: white;
  --color-bg-light: #F2E0E5;
}
body.scheme--red .gform_wrapper.gravity-theme form .gform_body .gform_fields select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23A63250' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
}

body.scheme--teal {
  --color-primary: #31574D;
  --color-accent: #579BA4;
  --color-bg: white;
  --color-bg-light: #DFEAEC;
}
body.scheme--teal .gform_wrapper.gravity-theme form .gform_body .gform_fields select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23579BA4' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
}

body.scheme--gold {
  --color-primary: #4A3800;
  --color-accent: #C9A227;
  --color-bg: white;
  --color-bg-light: #FFF8D6;
}
body.scheme--gold .gform_wrapper.gravity-theme form .gform_body .gform_fields select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23C9A227' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
}

body.scheme--forest {
  --color-primary: #1A3D2B;
  --color-accent: #3D8C5F;
  --color-bg: white;
  --color-bg-light: #D8EFE3;
}
body.scheme--forest .gform_wrapper.gravity-theme form .gform_body .gform_fields select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%233D8C5F' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
}

body.scheme--navy {
  --color-primary: #010227;
  --color-accent: #7FBADC;
  --color-bg: white;
  --color-bg-light: #D9E8F4;
}
body.scheme--navy .gform_wrapper.gravity-theme form .gform_body .gform_fields select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237FBADC' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
}

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  width: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  font-family: var(--font-body);
  font-weight: 400;
  color: var(--text-colour);
  background-color: var(--background-colour);
  text-rendering: optimizeLegibility;
}

body.active {
  overflow: hidden;
}

nav ul,
nav ol,
.ui-list {
  list-style: none;
}

a {
  color: inherit;
  text-decoration: none;
}

img,
video {
  width: 100%;
  height: auto;
  display: block;
}

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

button {
  cursor: pointer;
  background: none;
  border: none;
}

.img:not(.fit) picture,
.img:not(.fit) img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.skip-link {
  position: absolute;
  top: -100%;
  left: 0;
  z-index: 9999;
  padding: 10px 20px;
  background: var(--color-accent);
  color: var(--color-accent);
  font-size: 16px;
  transition: none;
}
.skip-link:focus {
  top: 0;
}

h1, h2, h3, h4, h5,
.h1, .h1b, .h2, .h3, .h4, .h5 {
  font-weight: normal;
  font-family: var(--font-title);
  color: var(--color-text);
}
h1:last-child, h1:only-child, h2:last-child, h2:only-child, h3:last-child, h3:only-child, h4:last-child, h4:only-child, h5:last-child, h5:only-child,
.h1:last-child,
.h1:only-child, .h1b:last-child, .h1b:only-child, .h2:last-child, .h2:only-child, .h3:last-child, .h3:only-child, .h4:last-child, .h4:only-child, .h5:last-child, .h5:only-child {
  margin: 0;
}

h1, .h1 {
  font-size: var(--text-h1);
  margin-bottom: clamp(20px, 2vw, 30px);
  line-height: 1;
  letter-spacing: var(--tracking-tight);
}

.h1b {
  font-family: var(--font-title);
  font-size: var(--text-h1b);
  margin-bottom: clamp(20px, 2vw, 25px);
  line-height: 1;
  letter-spacing: var(--tracking-tight);
}

h2, .h2 {
  font-size: var(--text-h2);
  margin-bottom: clamp(20px, 2vw, 25px);
  line-height: 0.9;
  letter-spacing: var(--tracking-tight);
}

h3, .h3 {
  font-size: var(--text-h3);
  margin-bottom: clamp(15px, 2vw, 15px);
  line-height: 1.3;
  letter-spacing: var(--tracking-normal);
}

h4, .h4 {
  font-size: var(--text-h4);
  margin-bottom: clamp(10px, 1vw, 15px);
  line-height: 1.3;
  letter-spacing: var(--tracking-normal);
}

h5, .h5 {
  font-size: var(--text-h5);
  margin-bottom: clamp(10px, 1vw, 15px);
  line-height: 1.3;
  letter-spacing: var(--tracking-normal);
}

p, ul, ol {
  margin-bottom: clamp(10px, 2vw, 20px);
}
p:last-child, p:only-child, ul:last-child, ul:only-child, ol:last-child, ol:only-child {
  margin: 0;
}
p + .btn, p + .buttons, ul + .btn, ul + .buttons, ol + .btn, ol + .buttons {
  margin-top: 10px;
}

p, .p, li {
  font-size: var(--text-base);
  line-height: 1.4;
  font-weight: 400;
  color: var(--color-text);
}

span, a, b {
  font-family: inherit;
  font-weight: inherit;
}

strong {
  font-weight: normal;
}

em {
  font-family: var(--font-body);
  font-style: italic;
  font-weight: normal;
}

.small-text, .h5, h5 {
  font-size: var(--text-base);
  margin-bottom: clamp(5px, 1vw, 10px);
  color: var(--color-accent);
}

.content h1 {
  font-size: var(--text-h1b);
  margin-bottom: clamp(30px, 4vw, 50px);
}
.content h2 {
  font-size: var(--text-h3);
  margin-top: clamp(30px, 4vw, 50px);
}
.content h3 {
  font-size: var(--text-h4);
  margin-top: clamp(20px, 3vw, 35px);
}
.content h4 {
  margin-top: clamp(15px, 2vw, 25px);
}
.content p {
  font-size: var(--text-base);
  line-height: 1.4;
}
.content a {
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: var(--trans);
}
.content a:hover {
  text-decoration-thickness: 2px;
}
.content ul, .content ol {
  padding-left: 1.5em;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.content ul li, .content ol li {
  line-height: 1.7;
  padding-left: 0.5em;
}
.content ul li {
  list-style: disc;
}
.content ul li::marker {
  color: var(--color-accent);
}
.content ol li {
  list-style: decimal;
}
.content ul ul, .content ol ol, .content ul ol, .content ol ul {
  margin-top: 8px;
  margin-bottom: 0;
}
.content blockquote {
  margin: clamp(20px, 3vw, 40px) 0;
  padding: var(--gap-sm) var(--gap-md);
  border-left: 4px solid var(--color-accent);
  background: rgba(0, 0, 0, 0.03);
  border-radius: 0 var(--card-radius) var(--card-radius) 0;
}
.content blockquote p {
  color: var(--color-primary);
  margin: 0;
}
.content img {
  width: 100%;
  height: auto;
  border-radius: var(--card-radius);
  margin: clamp(20px, 3vw, 40px) 0;
}
.content figcaption {
  font-size: var(--text-sm);
  color: var(--color-primary);
  opacity: 0.6;
  text-align: center;
  margin-top: -20px;
  margin-bottom: clamp(20px, 3vw, 40px);
}
.content hr {
  border: none;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  margin: clamp(20px, 3vw, 40px) 0;
}
.content table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--text-sm);
  margin-bottom: clamp(20px, 3vw, 40px);
}
@media (max-width: 750px) {
  .content table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
  }
}
.content table th, .content table td {
  padding: 12px 16px;
  text-align: left;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.content table th {
  color: var(--color-primary);
  background: rgba(0, 0, 0, 0.03);
}
.content table tr:last-child td {
  border-bottom: none;
}
.content code {
  font-family: monospace;
  font-size: 0.9em;
  background: rgba(0, 0, 0, 0.06);
  padding: 2px 6px;
  border-radius: 4px;
  color: var(--color-primary);
}
.content pre {
  background: var(--color-primary);
  color: var(--color-bg);
  padding: var(--gap-sm);
  border-radius: var(--card-radius);
  overflow-x: auto;
  margin-bottom: clamp(20px, 3vw, 40px);
}
.content pre code {
  background: none;
  padding: 0;
  color: inherit;
}
.content .company-address p, .content .opening-hours p {
  margin: 0;
  line-height: 1.5;
}

#smooth-wrapper {
  position: fixed;
  overflow: hidden;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

#smooth-content {
  overflow: visible;
  width: 100%;
}

.wrapper {
  margin: auto;
  width: 100%;
  padding: 0 var(--wrapper-pad);
  max-width: var(--wrapper-max);
}
@media (max-width: 1600px) {
  .wrapper {
    padding: 0 var(--wrapper-pad-md);
  }
}

.text-wrapper {
  max-width: 1000px;
  padding: 0 var(--wrapper-pad-md);
}

.hero-wrapper {
  max-width: 1200px;
}
@media (max-width: 1200px) {
  .hero-wrapper {
    max-width: 75vw;
  }
}

.text-block-wrapper {
  max-width: 1000px;
}

.wide-wrapper {
  padding: 0 var(--wrapper-pad-md);
}

.img:not(.fit) {
  position: relative;
  width: 100%;
  aspect-ratio: 4/3;
  border-radius: var(--img-radius);
  overflow: hidden;
}
.img:not(.fit).bgrd-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: unset;
}
.img:not(.fit).overlay::after {
  content: "";
  position: absolute;
  inset: 0;
  display: block;
  background: rgba(0, 0, 0, 0.35);
}
.img:not(.fit).landscape {
  aspect-ratio: 5/4;
}
.img:not(.fit).portrait {
  aspect-ratio: 7/10;
}
.img:not(.fit).square {
  aspect-ratio: 1/1;
}
.img:not(.fit).circle {
  aspect-ratio: 1/1;
  border-radius: 100%;
  overflow: hidden;
}
.img:not(.fit).half, .img:not(.fit).google-map {
  aspect-ratio: 2/1;
}
.img:not(.fit).quarter {
  aspect-ratio: 5/2;
}
@media (max-width: 950px) {
  .img:not(.fit).quarter {
    aspect-ratio: 5/3;
  }
}
.img:not(.fit).hero {
  aspect-ratio: 5/3;
}
.img:not(.fit).aspect-169 {
  aspect-ratio: 16/9;
}
.img:not(.fit).banner {
  aspect-ratio: 10/7;
}
.img:not(.fit).rec {
  aspect-ratio: 6/5;
}
.img:not(.fit) img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.grid {
  display: grid;
  align-items: center;
}

.flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.justify-start {
  justify-content: flex-start;
}

.justify-end {
  justify-content: flex-end;
}

.align-top {
  align-items: flex-start;
}

.grid-auto {
  grid-auto-columns: minmax(0, 1fr);
  grid-auto-flow: column;
}

.grid-2, [data-columns="2"] {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 950px) {
  .grid-2, [data-columns="2"] {
    grid-template-columns: minmax(0, 1fr);
  }
}

.grid-3, [data-columns="3"] {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 950px) {
  .grid-3, [data-columns="3"] {
    grid-template-columns: minmax(0, 1fr);
  }
}

.grid-4, [data-columns="4"] {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media (max-width: 1200px) {
  .grid-4, [data-columns="4"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 750px) {
  .grid-4, [data-columns="4"] {
    grid-template-columns: minmax(0, 1fr);
  }
}

.grid-5, [data-columns="5"] {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

@media (min-width: 950px) {
  .grid-12 {
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  }
}

.gap-100 {
  gap: clamp(var(--gap-sm), 6vw, var(--gap-lg));
}

.gap-50 {
  gap: clamp(var(--gap-sm), 4vw, var(--gap-md));
}

.gap-30 {
  gap: clamp(var(--gap-sm), 3vw, 30px);
}

.gap-20 {
  gap: var(--gap-sm);
}

.jetpack-video-wrapper {
  position: relative;
  padding-bottom: 56.25%;
  overflow: hidden;
  max-width: 100%;
  height: auto;
  margin-bottom: 30px;
}
.jetpack-video-wrapper iframe,
.jetpack-video-wrapper object,
.jetpack-video-wrapper embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.cursor {
  position: fixed;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  background: var(--color-accent);
  border-radius: 50%;
  pointer-events: none;
  z-index: 999999;
  transform: translate(-50%, -50%);
  transition: width 0.3s ease, height 0.3s ease, background 0.3s ease, border-color 0.3s ease;
  will-change: transform;
}
.cursor.hover {
  width: 50px;
  height: 50px;
}
.cursor.hidden {
  opacity: 0;
}

@media (hover: none) {
  .cursor__dot,
  .cursor__circle {
    display: none;
  }
  * {
    cursor: auto;
  }
}
@media (min-width: 950px) {
  .hide-desktop {
    display: none;
  }
}

@media (max-width: 950px) {
  .hide-mobile {
    display: none;
  }
}

.center-text {
  text-align: center;
  justify-content: center;
}

.left-text {
  text-align: left;
}

.right-text {
  text-align: right;
}

.yellow {
  color: var(--color-accent);
}

.text {
  display: flex;
  flex-direction: column;
  gap: clamp(15px, 3vw, 30px);
}
.text p a {
  text-decoration: underline;
  text-underline-offset: 3px;
  color: var(--color-accent);
}
.text p a:hover {
  text-decoration-thickness: 2px;
}

.overlay {
  position: relative;
}
.overlay::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.35);
}

@keyframes heroZoom {
  0% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
.hero-zoom .bgrd-img {
  overflow: hidden;
}
.hero-zoom .bgrd-img img {
  animation: heroZoom 5s forwards;
}

.animate {
  transition: all 0.5s ease-in-out;
  position: relative;
}
.animate:last-child > *:last-child {
  margin-bottom: 0;
}
.animate.slow {
  transition: all 1s ease-in-out;
}
.animate.fast {
  transition: all 0.3s ease-in-out;
}
.animate.interval:nth-child(1) {
  transition-delay: 0s;
}
.animate.interval:nth-child(2) {
  transition-delay: 0.1s;
}
.animate.interval:nth-child(3) {
  transition-delay: 0.2s;
}
.animate.interval:nth-child(4) {
  transition-delay: 0.3s;
}
.animate.interval:nth-child(5) {
  transition-delay: 0.4s;
}
.animate.interval:nth-child(6) {
  transition-delay: 0.5s;
}
.animate.interval:nth-child(7) {
  transition-delay: 0.6s;
}
.animate.interval:nth-child(8) {
  transition-delay: 0.7s;
}
.animate.interval:nth-child(9) {
  transition-delay: 0.8s;
}
.animate.interval:nth-child(10) {
  transition-delay: 0.9s;
}
.animate.interval:nth-child(11) {
  transition-delay: 1s;
}
.animate.interval:nth-child(12) {
  transition-delay: 1.1s;
}
.animate.interval:nth-child(13) {
  transition-delay: 1.2s;
}
.animate.interval:nth-child(14) {
  transition-delay: 1.3s;
}
.animate.interval:nth-child(15) {
  transition-delay: 1.4s;
}
.animate.interval:nth-child(16) {
  transition-delay: 1.5s;
}
.animate.interval:nth-child(17) {
  transition-delay: 1.6s;
}
.animate.interval:nth-child(18) {
  transition-delay: 1.7s;
}
.animate.interval:nth-child(19) {
  transition-delay: 1.8s;
}
.animate.interval:nth-child(20) {
  transition-delay: 1.9s;
}
.animate.interval:nth-child(21) {
  transition-delay: 2s;
}
.animate.interval:nth-child(22) {
  transition-delay: 2.1s;
}
.animate.interval:nth-child(23) {
  transition-delay: 2.2s;
}
.animate.interval:nth-child(24) {
  transition-delay: 2.3s;
}
.animate.interval:nth-child(25) {
  transition-delay: 2.4s;
}
.animate.interval:nth-child(26) {
  transition-delay: 2.5s;
}
.animate.interval:nth-child(27) {
  transition-delay: 2.6s;
}
.animate.interval:nth-child(28) {
  transition-delay: 2.7s;
}
.animate.interval:nth-child(29) {
  transition-delay: 2.8s;
}
.animate.interval:nth-child(30) {
  transition-delay: 2.9s;
}
.animate.interval:nth-child(31) {
  transition-delay: 3s;
}
.animate.interval:nth-child(32) {
  transition-delay: 3.1s;
}
.animate.interval:nth-child(33) {
  transition-delay: 3.2s;
}
.animate.interval:nth-child(34) {
  transition-delay: 3.3s;
}
.animate.interval:nth-child(35) {
  transition-delay: 3.4s;
}
.animate.interval:nth-child(36) {
  transition-delay: 3.5s;
}
.animate.interval:nth-child(37) {
  transition-delay: 3.6s;
}
.animate.interval:nth-child(38) {
  transition-delay: 3.7s;
}
.animate.interval:nth-child(39) {
  transition-delay: 3.8s;
}
.animate.interval:nth-child(40) {
  transition-delay: 3.9s;
}
.animate.interval:nth-child(41) {
  transition-delay: 4s;
}

.waypoint.fade, .waypoint .fade {
  opacity: 0;
}
.waypoint.slide-up, .waypoint .slide-up {
  transform: translateY(50px) translateZ(0);
  opacity: 0;
}
.waypoint.slide-down, .waypoint .slide-down {
  transform: translateY(-50px) translateZ(0);
  opacity: 0;
}
.waypoint.slide-left, .waypoint .slide-left {
  transform: translateX(50px) translateZ(0);
  opacity: 0;
}
.waypoint.slide-right, .waypoint .slide-right {
  transform: translateX(-50px) translateZ(0);
  opacity: 0;
}
.waypoint.zoom-in, .waypoint .zoom-in {
  transform: scale(0.9) translateZ(0);
  opacity: 0;
}
.waypoint.clip-slide, .waypoint .clip-slide {
  clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
  transition: all 0.6s;
}
.waypoint.clip-slide-zoom, .waypoint .clip-slide-zoom {
  clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
  transition: all 0.6s;
  overflow: hidden;
}
.waypoint.clip-slide-zoom > *, .waypoint .clip-slide-zoom > * {
  transform: scale(1.5);
  transition: all 0.6s;
}
.waypoint.zoom, .waypoint .zoom {
  overflow: hidden;
  clip-path: polygon(0% 0%, 100% 0%, 100% 0%, 0% 0%);
  transition: all 0.5s ease-in-out;
}
.waypoint.zoom > *, .waypoint .zoom > * {
  transform: scale(1.1);
  transition: all 1s ease-in-out;
}
@media (max-width: 750px) {
  .waypoint.zoom, .waypoint .zoom {
    clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
    transition: all 0.6s;
  }
  .waypoint.zoom > *, .waypoint .zoom > * {
    transform: scale(1.5);
    transition: all 0.6s;
  }
}
.waypoint.active.fade, .waypoint.active .fade {
  opacity: 1;
}
.waypoint.active.slide-up, .waypoint.active .slide-up {
  transform: translateY(0);
  opacity: 1;
}
.waypoint.active.slide-down, .waypoint.active .slide-down {
  transform: translateY(0);
  opacity: 1;
}
.waypoint.active.slide-left, .waypoint.active .slide-left {
  transform: translateX(0);
  opacity: 1;
}
.waypoint.active.slide-right, .waypoint.active .slide-right {
  transform: translateX(0);
  opacity: 1;
}
.waypoint.active.zoom-in, .waypoint.active .zoom-in {
  transform: scale(1);
  opacity: 1;
}
.waypoint.active.clip-slide, .waypoint.active .clip-slide {
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}
.waypoint.active.clip-slide-zoom, .waypoint.active .clip-slide-zoom {
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}
.waypoint.active.clip-slide-zoom > *, .waypoint.active .clip-slide-zoom > * {
  transform: scale(1);
}
.waypoint.active.zoom, .waypoint.active .zoom {
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}
.waypoint.active.zoom > *, .waypoint.active .zoom > * {
  transform: scale(1);
}

section[data-padding=none] {
  padding: 0;
}

section[data-padding=top_only] {
  padding: var(--section-padding) 0 0;
}

section[data-padding=bottom_only] {
  padding: 0 0 var(--section-padding);
}

section[data-padding=top_and_bottom] {
  padding: var(--section-padding) 0;
}

section, article {
  position: relative;
  padding: var(--section-padding) 0;
  background-color: var(--background-colour);
  color: var(--text-colour);
}
section[style*="--background-image"], article[style*="--background-image"] {
  background-image: var(--background-image);
  background-size: cover;
  background-position: center;
}
section[style*="--background-image"]::before, article[style*="--background-image"]::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 0;
}
section[style*="--background-image"] > *, article[style*="--background-image"] > * {
  position: relative;
  z-index: 1;
}
section[style*="--text-colour"] .section-title h2, section[style*="--text-colour"] .section-title h3, section[style*="--text-colour"] .section-title h4, section[style*="--text-colour"] .section-title p, section[style*="--text-colour"] .section-title ul, section[style*="--text-colour"] .section-title ol, section[style*="--text-colour"] .text h2, section[style*="--text-colour"] .text h3, section[style*="--text-colour"] .text h4, section[style*="--text-colour"] .text p, section[style*="--text-colour"] .text ul, section[style*="--text-colour"] .text ol, article[style*="--text-colour"] .section-title h2, article[style*="--text-colour"] .section-title h3, article[style*="--text-colour"] .section-title h4, article[style*="--text-colour"] .section-title p, article[style*="--text-colour"] .section-title ul, article[style*="--text-colour"] .section-title ol, article[style*="--text-colour"] .text h2, article[style*="--text-colour"] .text h3, article[style*="--text-colour"] .text h4, article[style*="--text-colour"] .text p, article[style*="--text-colour"] .text ul, article[style*="--text-colour"] .text ol {
  color: var(--text-colour, var(--color-primary));
}
section[style*="--text-colour"] .btn--outline, article[style*="--text-colour"] .btn--outline {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.5);
  color: white;
}
section[style*="--text-colour"] .btn--outline:hover, article[style*="--text-colour"] .btn--outline:hover {
  background: white;
  color: var(--color-accent);
}
section[data-text-align=center], article[data-text-align=center] {
  text-align: center;
}
section[data-text-align=center] .buttons, article[data-text-align=center] .buttons {
  justify-content: center;
}
section[data-text-position=left] .content, article[data-text-position=left] .content {
  margin-left: 0;
  max-width: none;
  width: 50%;
}
@media (max-width: 950px) {
  section[data-text-position=left] .content, article[data-text-position=left] .content {
    width: 100%;
  }
}
section[data-text-position=right] .content, article[data-text-position=right] .content {
  margin-right: 0;
  max-width: none;
  width: 50%;
}
@media (max-width: 950px) {
  section[data-text-position=right] .content, article[data-text-position=right] .content {
    width: 100%;
  }
}
section[data-text-align=left], article[data-text-align=left] {
  text-align: left;
}

.section-title {
  margin-bottom: var(--gap-lg);
}
.section-title:not(.flex) {
  margin-left: auto;
  margin-right: auto;
}
.section-title.flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.section-title.flex h2, .section-title.flex h3 {
  margin: 0;
}

.section-footer {
  margin-top: var(--gap-lg);
  display: flex;
  justify-content: center;
}

:root {
  --wp-adminbar-h: var(--wp-admin--admin-bar--height, 0px);
}

.site-header {
  position: sticky;
  z-index: 99;
  width: 100vw;
  will-change: transform;
  transition: transform 0.3s ease-in-out;
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  top: var(--wp-adminbar-h);
}
@media (max-width: 600px) {
  .site-header {
    top: 0;
  }
}
.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: clamp(10px, 2vw, 20px) clamp(20px, 5vw, 50px);
}
.site-header__logo {
  display: flex;
  width: clamp(50px, 7vw, 75px);
  height: clamp(50px, 7vw, 75px);
  z-index: 5;
}
.site-header__logo svg, .site-header__logo img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

.hdr-buttons {
  display: flex;
  gap: clamp(20px, 5vw, 50px);
}

.lang-menu {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 0;
}
@media (max-width: 550px) {
  .lang-menu {
    gap: 5px;
  }
}
.lang-menu li {
  list-style: none;
}
.lang-menu li a {
  font-family: var(--font-title);
  opacity: 0.25;
}
@media (max-width: 550px) {
  .lang-menu li a {
    font-size: 16px;
  }
}
.lang-menu li.active a {
  opacity: 1;
}

.menu-btn {
  position: relative;
  cursor: pointer;
  width: 40px;
  height: 40px;
  z-index: 999;
  background: transparent;
  border: none;
}
.menu-btn span {
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  width: 40px;
  height: 2px;
  background: black;
  transition: var(--trans);
}
.menu-btn span:nth-of-type(1) {
  top: 5px;
}
.menu-btn span:nth-of-type(2) {
  top: 20px;
}
.menu-btn span:nth-of-type(3) {
  top: 35px;
}
.menu-btn.active span {
  background: white;
}
.menu-btn.active span:nth-of-type(1) {
  top: 20px;
  transform: rotateZ(45deg);
}
.menu-btn.active span:nth-of-type(2) {
  opacity: 0;
}
.menu-btn.active span:nth-of-type(3) {
  top: 20px;
  transform: rotateZ(135deg);
}
@media (max-width: 550px) {
  .menu-btn {
    width: 30px;
    height: 30px;
  }
  .menu-btn span {
    width: 30px;
  }
  .menu-btn span:nth-of-type(1) {
    top: 5px;
  }
  .menu-btn span:nth-of-type(2) {
    top: 15px;
  }
  .menu-btn span:nth-of-type(3) {
    top: 25px;
  }
  .menu-btn.active span:nth-of-type(1), .menu-btn.active span:nth-of-type(3) {
    top: 15px;
  }
}

.site-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: calc(100dvh - var(--wp-adminbar-h));
  background: #000;
  z-index: 98;
  display: flex;
  align-items: stretch;
  justify-content: center;
  transform: translateY(-100%);
  transition: transform 0.4s cubic-bezier(0.77, 0, 0.175, 1);
  pointer-events: none;
}
.site-nav.active {
  transform: translateY(0);
  pointer-events: all;
}
.site-nav.active li:nth-child(1) {
  transition-delay: 0.26s;
  opacity: 1;
  transform: translateY(0);
}
.site-nav.active li:nth-child(2) {
  transition-delay: 0.32s;
  opacity: 1;
  transform: translateY(0);
}
.site-nav.active li:nth-child(3) {
  transition-delay: 0.38s;
  opacity: 1;
  transform: translateY(0);
}
.site-nav.active li:nth-child(4) {
  transition-delay: 0.44s;
  opacity: 1;
  transform: translateY(0);
}
.site-nav.active li:nth-child(5) {
  transition-delay: 0.5s;
  opacity: 1;
  transform: translateY(0);
}
.site-nav.active li:nth-child(6) {
  transition-delay: 0.56s;
  opacity: 1;
  transform: translateY(0);
}
.site-nav.active li:nth-child(7) {
  transition-delay: 0.62s;
  opacity: 1;
  transform: translateY(0);
}
.site-nav.active li:nth-child(8) {
  transition-delay: 0.68s;
  opacity: 1;
  transform: translateY(0);
}
.site-nav.active li:nth-child(9) {
  transition-delay: 0.74s;
  opacity: 1;
  transform: translateY(0);
}
.site-nav.active li:nth-child(10) {
  transition-delay: 0.8s;
  opacity: 1;
  transform: translateY(0);
}
.site-nav ul {
  display: flex;
  align-items: stretch;
  list-style: none;
  margin: 0;
  padding: 0;
  height: 100%;
  width: 100%;
}
@media (max-width: 950px) {
  .site-nav ul {
    flex-direction: column;
  }
}
.site-nav li {
  display: flex;
  align-items: stretch;
  opacity: 0;
  transform: translateY(25%);
  transition: opacity 0.3s ease, transform 0.3s ease;
  flex-grow: 1;
  justify-content: center;
}
.site-nav li.current-menu-item > a, .site-nav li.current-page-ancestor > a {
  background: #FFFF00;
  color: #000;
}
.site-nav a {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: clamp(20px, 5vw, 50px) 0;
  color: white;
  text-decoration: none;
  font-size: var(--text-h1);
  font-family: var(--font-title);
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  transition: background 0.2s ease, color 0.2s ease;
  white-space: nowrap;
  flex-grow: 1;
}
@media (max-width: 950px) {
  .site-nav a {
    writing-mode: unset;
    transform: none;
    padding: 0 clamp(20px, 5vw, 50px);
    font-size: var(--text-h2);
  }
}
.site-nav a:hover {
  background: #FFFF00;
  color: #000;
}

.site-footer {
  background: #000;
  --color-text: white;
}
.site-footer .wrapper > .grid {
  display: grid;
  grid-template-columns: 1fr 2fr 2fr 3fr;
  gap: 60px;
  padding: clamp(40px, 6vw, 80px) 0;
  align-items: start;
}
@media (max-width: 950px) {
  .site-footer .wrapper > .grid {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 30px;
  }
}
@media (max-width: 550px) {
  .site-footer .wrapper > .grid {
    grid-template-columns: 1fr;
    gap: 30px;
  }
}
.site-footer .cta {
  padding: clamp(50px, 10vw, 150px) 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  text-align: center;
}
.site-footer .cta em {
  color: var(--color-accent);
}
.site-footer .cta a {
  position: relative;
}
.site-footer .cta a:before {
  content: "";
  background: var(--color-accent);
  width: 0%;
  height: 10%;
  display: block;
  top: 50%;
  left: 0;
  position: absolute;
  transition: all 0.3s ease-in-out;
  transform: translateY(-50%) rotate(2deg);
  transform-origin: left top;
}
.site-footer .cta a:hover:before {
  width: 100%;
}
.site-footer__brand .footer-logo {
  display: block;
}
.site-footer__brand .footer-logo svg, .site-footer__brand .footer-logo img {
  width: clamp(60px, 8vw, 80px);
  height: auto;
}
@media (max-width: 950px) and (min-width: 550px) {
  .site-footer__col:last-child {
    grid-column: span 3;
  }
}
.site-footer__col h4 {
  color: var(--color-accent);
}
.site-footer__col p, .site-footer__col li {
  line-height: 1.2;
}
.site-footer__col a:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}
.site-footer__col ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.site-footer__col ul li {
  margin-bottom: 8px;
}
.site-footer .social {
  display: flex;
  gap: 20px;
  list-style: none;
  padding: 0;
  margin-top: 30px;
}
.site-footer .social li a {
  display: flex;
  align-items: center;
  justify-content: center;
  transition: var(--trans);
}
.site-footer .social li a svg {
  width: 22px;
  height: 22px;
}
.site-footer .social li a svg path, .site-footer .social li a svg polygon {
  fill: white;
}
.site-footer .social li a:hover svg path, .site-footer .social li a:hover svg polygon {
  fill: var(--color-accent);
}
.site-footer__bar {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding: 24px 0;
}
.site-footer__bar .wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--gap-sm);
}
@media (max-width: 550px) {
  .site-footer__bar .wrapper {
    flex-direction: column;
    text-align: center;
  }
}
.site-footer__bar p, .site-footer__bar a {
  color: rgba(255, 255, 255, 0.5);
  margin: 0;
}
.site-footer__bar nav ul {
  display: flex;
  gap: 20px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.site-footer__bar nav ul a:hover {
  color: white;
}

.btn,
input[type=button],
input[type=submit] {
  font-size: var(--text-btn);
  height: 50px;
  color: black;
  font-family: var(--font-title);
  padding: var(--btn-padding);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  cursor: pointer;
  appearance: none;
  transition: var(--trans);
  background: var(--color-accent);
  font-weight: normal;
  border-radius: var(--btn-radius);
  outline: none;
  border: 1px solid var(--color-accent);
  line-height: 1 !important;
  min-height: 0;
  flex-shrink: 0;
}
@media (max-width: 750px) {
  .btn,
  input[type=button],
  input[type=submit] {
    height: 45px;
  }
}
.btn:hover,
input[type=button]:hover,
input[type=submit]:hover {
  background: color-mix(in srgb, var(--color-accent) 90%, black);
  border-color: color-mix(in srgb, var(--color-accent) 90%, black);
}
.btn.filter--btn,
input[type=button].filter--btn,
input[type=submit].filter--btn {
  gap: 15px;
}
.btn.filter--btn svg,
input[type=button].filter--btn svg,
input[type=submit].filter--btn svg {
  color: var(--color-accent);
  transition: var(--trans);
}
.btn.filter--btn:hover svg,
input[type=button].filter--btn:hover svg,
input[type=submit].filter--btn:hover svg {
  color: currentColor;
}
.btn.btn--outline, .btn.outlineBtn,
input[type=button].btn--outline,
input[type=button].outlineBtn,
input[type=submit].btn--outline,
input[type=submit].outlineBtn {
  background: transparent;
  color: var(--color-primary);
  border: 1px solid var(--color-accent);
}
.btn.btn--outline:hover, .btn.outlineBtn:hover,
input[type=button].btn--outline:hover,
input[type=button].outlineBtn:hover,
input[type=submit].btn--outline:hover,
input[type=submit].outlineBtn:hover {
  background: color-mix(in srgb, var(--color-accent) 90%, black);
  border-color: color-mix(in srgb, var(--color-accent) 90%, black);
  color: white;
}

.buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
.buttons.buttons--center {
  justify-content: center;
}

body img.gform_ajax_spinner {
  display: none !important;
}

label,
.gform_wrapper.gravity-theme form .gform_body .gfield_label {
  font-size: var(--text-tiny);
  line-height: 1.4;
  margin: 0 0 10px;
  color: var(--color-primary);
  font-family: var(--font-body);
}
label.gfield_consent_label,
.gform_wrapper.gravity-theme form .gform_body .gfield_label.gfield_consent_label {
  display: inline;
}

input[type=text],
input[type=email],
input[type=tel],
input[type=number],
input[type=search],
input[type=password],
select,
.gform_wrapper.gravity-theme form .gform_body .gform_fields input[type=text],
.gform_wrapper.gravity-theme form .gform_body .gform_fields input[type=email],
.gform_wrapper.gravity-theme form .gform_body .gform_fields input[type=tel],
.gform_wrapper.gravity-theme form .gform_body .gform_fields select {
  width: 100%;
  font-size: var(--text-btn);
  font-family: var(--font-body);
  font-weight: 400;
  color: var(--color-primary);
  background: white;
  height: 50px;
  line-height: 1 !important;
  min-height: 0 !important;
  padding: var(--btn-padding);
  margin: 0;
  border: 1px solid rgba(0, 0, 0, 0.2);
  outline: 0;
  border-radius: var(--btn-radius);
  box-shadow: none;
  appearance: none;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
@media (max-width: 750px) {
  input[type=text],
  input[type=email],
  input[type=tel],
  input[type=number],
  input[type=search],
  input[type=password],
  select,
  .gform_wrapper.gravity-theme form .gform_body .gform_fields input[type=text],
  .gform_wrapper.gravity-theme form .gform_body .gform_fields input[type=email],
  .gform_wrapper.gravity-theme form .gform_body .gform_fields input[type=tel],
  .gform_wrapper.gravity-theme form .gform_body .gform_fields select {
    height: 45px;
  }
}
input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=tel]::placeholder,
input[type=number]::placeholder,
input[type=search]::placeholder,
input[type=password]::placeholder,
select::placeholder,
.gform_wrapper.gravity-theme form .gform_body .gform_fields input[type=text]::placeholder,
.gform_wrapper.gravity-theme form .gform_body .gform_fields input[type=email]::placeholder,
.gform_wrapper.gravity-theme form .gform_body .gform_fields input[type=tel]::placeholder,
.gform_wrapper.gravity-theme form .gform_body .gform_fields select::placeholder {
  color: rgba(55, 55, 55, 0.5);
}
input[type=text]:focus, input[type=text]:focus-visible,
input[type=email]:focus,
input[type=email]:focus-visible,
input[type=tel]:focus,
input[type=tel]:focus-visible,
input[type=number]:focus,
input[type=number]:focus-visible,
input[type=search]:focus,
input[type=search]:focus-visible,
input[type=password]:focus,
input[type=password]:focus-visible,
select:focus,
select:focus-visible,
.gform_wrapper.gravity-theme form .gform_body .gform_fields input[type=text]:focus,
.gform_wrapper.gravity-theme form .gform_body .gform_fields input[type=text]:focus-visible,
.gform_wrapper.gravity-theme form .gform_body .gform_fields input[type=email]:focus,
.gform_wrapper.gravity-theme form .gform_body .gform_fields input[type=email]:focus-visible,
.gform_wrapper.gravity-theme form .gform_body .gform_fields input[type=tel]:focus,
.gform_wrapper.gravity-theme form .gform_body .gform_fields input[type=tel]:focus-visible,
.gform_wrapper.gravity-theme form .gform_body .gform_fields select:focus,
.gform_wrapper.gravity-theme form .gform_body .gform_fields select:focus-visible {
  outline: 1px solid var(--color-accent);
  border: 1px solid var(--color-accent);
}

.gform_wrapper.gravity-theme form .gform_body .gform_fields select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23579BA4' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 20px center;
  background-size: 14px;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  padding-right: 50px;
}

textarea,
.gform_wrapper.gravity-theme form .gform_body .gform_fields textarea {
  width: 100%;
  font-size: var(--text-btn);
  font-family: var(--font-body);
  font-weight: 400;
  color: var(--color-primary);
  background: white;
  line-height: 1.6;
  padding: 15px 20px;
  height: 150px;
  min-block-size: unset;
  margin: 0;
  outline: none;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: var(--btn-radius);
  box-shadow: none;
  appearance: none;
}
textarea::placeholder,
.gform_wrapper.gravity-theme form .gform_body .gform_fields textarea::placeholder {
  color: rgba(55, 55, 55, 0.5);
}
textarea:focus, textarea:focus-visible,
.gform_wrapper.gravity-theme form .gform_body .gform_fields textarea:focus,
.gform_wrapper.gravity-theme form .gform_body .gform_fields textarea:focus-visible {
  outline: none;
  border: 1px solid var(--color-primary);
}

select,
.gform_wrapper select {
  cursor: pointer;
}

input[type=file] {
  width: 100%;
  font-size: 18px;
  font-family: var(--font-body);
  margin: 0;
  border: none;
}

input[type=checkbox] {
  margin: 5px 10px 0 0;
  display: inline-block;
}

.ginput_container_consent,
.ginput_container_checkbox {
  display: flex;
  align-items: flex-start;
  margin-top: 10px;
}
.ginput_container_consent input,
.ginput_container_checkbox input {
  margin: 0 10px 0 0;
  height: auto;
  width: auto;
  flex-shrink: 0;
}
.ginput_container_consent .gfield_checkbox,
.ginput_container_checkbox .gfield_checkbox {
  display: flex;
  flex-wrap: wrap;
}
.ginput_container_consent .gchoice,
.ginput_container_checkbox .gchoice {
  width: 100%;
  margin: 0 0 10px;
  display: flex;
  align-items: flex-start;
}
.ginput_container_consent label,
.ginput_container_checkbox label {
  display: inline-block !important;
  line-height: 1.2;
  margin: 0;
  font-weight: 400;
  padding-left: 5px;
}

.gfield_consent_description {
  border: none;
  padding: 0;
  font-size: 16px;
  color: rgba(55, 55, 55, 0.5);
}

.gfield_description {
  font-size: 14px;
  line-height: 1.4;
  letter-spacing: 0.25px;
}

.hide_summary {
  display: none;
}

.gform_confirmation_wrapper .gform_confirmation_message {
  font-size: var(--text-base);
  color: var(--color-text);
}

.gform_wrapper form,
.gform_wrapper.gravity-theme form {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.gform_wrapper .gform_required_legend,
.gform_wrapper .gform_validation_errors,
.gform_wrapper.gravity-theme .gform_required_legend,
.gform_wrapper.gravity-theme .gform_validation_errors {
  display: none;
}
.gform_wrapper form .gform_body .gform_fields,
.gform_wrapper.gravity-theme form .gform_body .gform_fields {
  gap: 20px;
}
@media (max-width: 550px) {
  .gform_wrapper form .gform_body .gform_fields,
  .gform_wrapper.gravity-theme form .gform_body .gform_fields {
    gap: 10px;
  }
}
.gform_wrapper form .gform_body .gform_fields .gfield,
.gform_wrapper.gravity-theme form .gform_body .gform_fields .gfield {
  position: relative;
}
.gform_wrapper form .gform_body .gform_fields .gfield.gfield_error input, .gform_wrapper form .gform_body .gform_fields .gfield.gfield_error textarea, .gform_wrapper form .gform_body .gform_fields .gfield.gfield_error select,
.gform_wrapper.gravity-theme form .gform_body .gform_fields .gfield.gfield_error input,
.gform_wrapper.gravity-theme form .gform_body .gform_fields .gfield.gfield_error textarea,
.gform_wrapper.gravity-theme form .gform_body .gform_fields .gfield.gfield_error select {
  border: 2px solid red;
}
.gform_wrapper form .gform_body .gform_fields .gfield .gfield_description,
.gform_wrapper.gravity-theme form .gform_body .gform_fields .gfield .gfield_description {
  position: absolute;
  top: 6px;
  right: 0;
  z-index: 555;
  padding: 0 20px;
  border: 0;
  width: auto;
  font-size: 14px;
  color: var(--color-accent);
  display: none;
}
.gform_wrapper form .gform_body .gform_fields .gfield.gfield--type-consent:first-of-type,
.gform_wrapper.gravity-theme form .gform_body .gform_fields .gfield.gfield--type-consent:first-of-type {
  padding: 10px 0 0;
}
.gform_wrapper form .gform_body .gform_fields .gfield.gfield--type-consent .gfield_label, .gform_wrapper form .gform_body .gform_fields .gfield.gfield--type-checkbox .gfield_label,
.gform_wrapper.gravity-theme form .gform_body .gform_fields .gfield.gfield--type-consent .gfield_label,
.gform_wrapper.gravity-theme form .gform_body .gform_fields .gfield.gfield--type-checkbox .gfield_label {
  display: none;
}
.gform_wrapper form .gform_body .gform_fields .gfield.gfield--type-consent .ginput_container_consent, .gform_wrapper form .gform_body .gform_fields .gfield.gfield--type-checkbox .ginput_container_consent,
.gform_wrapper.gravity-theme form .gform_body .gform_fields .gfield.gfield--type-consent .ginput_container_consent,
.gform_wrapper.gravity-theme form .gform_body .gform_fields .gfield.gfield--type-checkbox .ginput_container_consent {
  margin-top: 0;
}
.gform_wrapper form .gform_body .gform_fields .gfield.gfield--type-consent .ginput_container_consent input[type=checkbox], .gform_wrapper form .gform_body .gform_fields .gfield.gfield--type-checkbox .ginput_container_consent input[type=checkbox],
.gform_wrapper.gravity-theme form .gform_body .gform_fields .gfield.gfield--type-consent .ginput_container_consent input[type=checkbox],
.gform_wrapper.gravity-theme form .gform_body .gform_fields .gfield.gfield--type-checkbox .ginput_container_consent input[type=checkbox] {
  width: 18px;
  height: 18px;
  accent-color: var(--color-accent);
}
.gform_wrapper form .gform_body .gform_fields .gfield.gfield--type-consent .ginput_container_consent a, .gform_wrapper form .gform_body .gform_fields .gfield.gfield--type-checkbox .ginput_container_consent a,
.gform_wrapper.gravity-theme form .gform_body .gform_fields .gfield.gfield--type-consent .ginput_container_consent a,
.gform_wrapper.gravity-theme form .gform_body .gform_fields .gfield.gfield--type-checkbox .ginput_container_consent a {
  text-decoration: underline;
  text-underline-offset: 3px;
  color: var(--color-accent);
}
.gform_wrapper form .gform_body .gform_fields .gfield.gfield--type-consent .ginput_container_consent a:hover, .gform_wrapper form .gform_body .gform_fields .gfield.gfield--type-checkbox .ginput_container_consent a:hover,
.gform_wrapper.gravity-theme form .gform_body .gform_fields .gfield.gfield--type-consent .ginput_container_consent a:hover,
.gform_wrapper.gravity-theme form .gform_body .gform_fields .gfield.gfield--type-checkbox .ginput_container_consent a:hover {
  text-decoration-thickness: 2px;
}
.gform_wrapper form .gform_footer,
.gform_wrapper.gravity-theme form .gform_footer {
  padding: 0;
  margin: 0;
}

.site-footer__newsletter .gform_wrapper.gravity-theme form {
  position: relative;
  display: flex;
  align-items: stretch;
  flex-direction: column;
  gap: 10px;
  margin-top: 30px;
}
.site-footer__newsletter .gform_wrapper.gravity-theme form .gfield_label {
  display: none;
}
.site-footer__newsletter .gform_wrapper.gravity-theme form .gform-body {
  margin: 0;
  flex-grow: 1;
}
.site-footer__newsletter .gform_wrapper.gravity-theme form .gform-body .gform_fields {
  display: flex;
  flex-direction: column;
}
.site-footer__newsletter .gform_wrapper.gravity-theme form .gform-body .gform_fields .gfield--type-email {
  margin: 0;
}
.site-footer__newsletter .gform_wrapper.gravity-theme form .gform-body .gform_fields .gfield--type-email .gfield_label {
  display: none;
}
.site-footer__newsletter .gform_wrapper.gravity-theme form .gform-body .gform_fields .gfield--type-consent {
  margin: 0;
  padding: 0;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0;
  padding: 0;
}
.site-footer__newsletter .gform_wrapper.gravity-theme form .gform-body .gform_fields .gfield--type-consent legend {
  display: none;
}
.site-footer__newsletter .gform_wrapper.gravity-theme form .gform-body .gform_fields .gfield--type-consent .ginput_container_consent {
  justify-content: center;
}
.site-footer__newsletter .gform_wrapper.gravity-theme form .gform-body .gform_fields .gfield--type-consent .ginput_container_consent input[type=checkbox] {
  width: 18px;
  height: 18px;
  accent-color: var(--color-accent);
}
.site-footer__newsletter .gform_wrapper.gravity-theme form .gform-body .gform_fields .gfield--type-consent .ginput_container_consent label {
  color: var(--color-text);
  font-size: var(--text-btn);
  margin: 0;
  font-weight: 400;
}
.site-footer__newsletter .gform_wrapper.gravity-theme form .gform-body .gform_fields .gfield--type-consent .ginput_container_consent a {
  color: var(--color-text);
}

.form-container {
  background: white;
  padding: var(--panel-padding);
  border-radius: var(--card-radius);
}

.content-newsletter {
  background: var(--color-bg-light);
  border-radius: var(--card-radius);
  padding: var(--gap-md);
  margin: var(--gap-md) 0;
  text-align: center;
}
.content-newsletter .gform_title {
  font-size: var(--text-h4);
  color: var(--color-primary);
  margin-top: 0;
  margin-bottom: var(--gap-sm);
  font-family: var(--font-title);
}
.content-newsletter .gform_wrapper.gravity-theme form {
  position: relative;
  display: flex;
  align-items: stretch;
  flex-direction: row;
  gap: 10px;
  padding-bottom: 40px;
  max-width: 550px;
  margin: 0 auto;
}
@media (max-width: 550px) {
  .content-newsletter .gform_wrapper.gravity-theme form {
    flex-direction: column;
  }
}
.content-newsletter .gform_wrapper.gravity-theme .gform-body {
  flex-grow: 1;
  margin: 0;
  width: 100%;
}
.content-newsletter .gform_wrapper.gravity-theme .gform-body .gform_fields {
  display: flex;
  flex-direction: column;
}
.content-newsletter .gform_wrapper.gravity-theme .gform-body .gform_fields .gfield--type-email {
  margin: 0;
  width: 100%;
}
.content-newsletter .gform_wrapper.gravity-theme .gform-body .gform_fields .gfield--type-email .ginput_container_email {
  width: 100%;
}
.content-newsletter .gform_wrapper.gravity-theme .gform-body .gform_fields .gfield--type-email .gfield_label {
  display: none;
}
.content-newsletter .gform_wrapper.gravity-theme .gform-body .gform_fields .gfield--type-consent {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0;
  padding: 0;
}
.content-newsletter .gform_wrapper.gravity-theme .gform-body .gform_fields .gfield--type-consent legend {
  display: none;
}
.content-newsletter .gform_wrapper.gravity-theme .gform-body .gform_fields .gfield--type-consent .ginput_container_consent {
  justify-content: center;
}
.content-newsletter .gform_wrapper.gravity-theme .gform-body .gform_fields .gfield--type-consent .ginput_container_consent input[type=checkbox] {
  width: 18px;
  height: 18px;
  accent-color: var(--color-accent);
}
.content-newsletter .gform_wrapper.gravity-theme .gform-body .gform_fields .gfield--type-consent .ginput_container_consent label {
  color: var(--color-primary);
  font-size: var(--text-btn);
  margin: 0;
  font-weight: 400;
}
.content-newsletter .gform_wrapper.gravity-theme .gform-body .gform_fields .gfield--type-consent .ginput_container_consent a {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.content-newsletter .gform_wrapper.gravity-theme form .gform_footer {
  padding: 0;
  margin: 0;
  flex-shrink: 0;
}
@media (max-width: 550px) {
  .content-newsletter .gform_wrapper.gravity-theme form .gform_footer {
    width: 100%;
  }
  .content-newsletter .gform_wrapper.gravity-theme form .gform_footer input[type=submit] {
    width: 100%;
  }
}
.content-newsletter--sidebar {
  margin: 0;
}
.content-newsletter--sidebar .gform_wrapper.gravity-theme form {
  flex-direction: column;
}
.content-newsletter--sidebar .gform_wrapper.gravity-theme form .gform_footer input[type=submit] {
  width: 100%;
}

.social {
  position: relative;
  display: flex;
  gap: 20px;
  margin-top: 30px !important;
}
.social li {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.social li a {
  display: flex;
  transition: all 0.3s ease-in-out;
}
.social li a svg {
  max-width: 24px;
  max-height: 24px;
  display: block;
  margin: auto;
  color: var(--color-primary);
  transition: all 0.3s ease-in-out;
}
@media (max-width: 750px) {
  .social li a svg {
    max-width: 20px;
    max-height: 20px;
  }
}

.blog-article__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--gap-md);
  max-width: 1200px;
  margin: auto;
}
@media (min-width: 950px) {
  .blog-article__grid {
    grid-template-columns: 1fr 400px;
  }
}
.blog-article__grid:has(> div:only-child) {
  grid-template-columns: minmax(0, 1fr);
  max-width: 900px;
  margin: auto;
}
.blog-article__main {
  min-width: 0;
}
@media (max-width: 949px) {
  .blog-article__sidebar {
    order: 2;
  }
}
.blog-article__sticky {
  transition: var(--trans);
}
@media (min-width: 950px) {
  .blog-article__sticky {
    position: sticky;
    top: calc(var(--header-h) + var(--gap-md));
  }
}
@media (min-width: 950px) {
  .blog-article .content-newsletter--inline {
    display: none;
  }
}
.blog-article .blog-article__sidebar {
  margin: 0;
}
@media (max-width: 949px) {
  .blog-article .blog-article__sidebar {
    display: none;
  }
}
.blog-article .blog-article__image {
  margin: var(--section-padding) 0;
}
.blog-article .share-article {
  margin-top: var(--gap-md);
}
.blog-article .share-article .social li a {
  border: 1px solid var(--color-line);
}
.blog-article .share-article .social li a:hover {
  background: var(--color-accent);
}
.blog-article .share-article .social li a:hover svg {
  color: white;
}

.splide__pagination {
  bottom: 0;
}

.splide__arrow {
  width: 50px;
  height: 50px;
  border-radius: var(--btn-radius);
  background: transparent;
  border: 1px solid var(--text-colour, var(--color-accent));
  cursor: pointer;
  transition: var(--trans);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
}
@media (max-width: 550px) {
  .splide__arrow {
    width: 40px;
    height: 40px;
  }
}
.splide__arrow.splide__arrow--prev svg {
  transform: scaleX(-1);
}
.splide__arrow svg {
  width: 14px;
  fill: var(--text-colour, var(--color-accent));
  transition: var(--trans);
}
.splide__arrow:hover {
  background: var(--text-colour, var(--color-accent));
}
.splide__arrow:hover svg {
  fill: var(--background-colour, var(--color-bg));
}
.splide__arrow:disabled {
  opacity: 0.5;
  pointer-events: none;
}
.splide__arrow--prev {
  left: -60px;
}
.splide__arrow--next {
  right: -60px;
}

.splide__pagination {
  gap: 8px;
  margin-top: var(--gap-sm);
}
.splide__pagination__page {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: transparent;
  border: none;
  padding: 8px;
  position: relative;
  opacity: 1;
}
.splide__pagination__page::after {
  content: "";
  position: absolute;
  inset: 50%;
  transform: translate(-50%, -50%);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--text-colour, var(--color-accent));
  opacity: 1;
}
.splide__pagination__page.is-active {
  transform: scale(1.2);
  background: transparent;
}
.splide__pagination__page.is-active::after {
  opacity: 1;
  background: var(--background-colour);
  outline: 2px solid var(--text-colour, var(--color-accent));
}

.imgSlide .splide__slide {
  padding: 50px;
}

.centered-text .text {
  max-width: 1000px;
  margin: auto;
}
.centered-text[data-section-style=banner] {
  background: transparent;
}
.centered-text[data-section-style=banner]:before {
  display: none;
}
.centered-text[data-section-style=banner] .inner {
  background: var(--background-colour);
  border-radius: var(--img-radius);
  overflow: hidden;
  gap: 0;
}
.centered-text[data-section-style=banner] .inner .text {
  padding: var(--inner-padding);
}
.centered-text[style*="--background-image"] .inner {
  background-image: var(--background-image);
  background-size: cover;
  background-position: center;
  position: relative;
}
.centered-text[style*="--background-image"] .inner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 0;
}
.centered-text[style*="--background-image"] .inner .text {
  position: relative;
  z-index: 1;
}

.columns {
  position: relative;
}
.columns .splide__slide {
  height: auto;
}
@media (max-width: 1600px) {
  .columns .splide {
    padding: 0 var(--wrapper-pad-md);
  }
}
.columns .splide__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.columns .splide__arrow--prev {
  left: -100px;
}
.columns .splide__arrow--next {
  right: -100px;
}
@media (max-width: 1600px) {
  .columns .splide__arrow--prev {
    left: 0;
    transform: translate(-50%, -50%);
  }
  .columns .splide__arrow--next {
    right: 0;
    transform: translate(50%, -50%);
  }
}
.columns[data-style=card] .grid {
  gap: var(--gap-sm);
}
.columns[data-style=card] .splide__track {
  --splide-gap: var(--gap-sm);
}
.columns[data-style=process] .process-arrow {
  position: absolute;
  right: -55px;
  top: 50%;
  transform: translate(-50%, -50%);
}
.columns[data-style=process] .process-arrow svg {
  color: var(--color-accent);
  width: 30px;
}
.columns .column {
  text-align: center;
  display: flex;
  gap: var(--gap-sm);
  flex-direction: column;
  height: 100%;
}
.columns .column .column__number {
  width: clamp(45px, 6vw, 60px);
  aspect-ratio: 1/1;
  border-radius: 50%;
  background: var(--color-accent);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--text-h4);
  margin: 0 auto;
  flex-shrink: 0;
}
.columns .column.column--people h4 {
  margin: 0;
}
.columns .column.column--people .column__role {
  opacity: 0.5;
}
.columns .column.column--people .column__image--people {
  max-width: 150px;
  align-self: center;
}
.columns .column.column--testimonial {
  border-radius: var(--card-radius);
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.2);
  padding: var(--card-padding);
  justify-content: space-between;
  background: var(--color-bg);
}
.columns .column.column--testimonial .testimonial__top {
  gap: 15px;
  display: flex;
  flex-direction: column;
}
.columns .column.column--testimonial .testimonial__top .testimonial__stars {
  color: var(--color-accent);
  letter-spacing: 5px;
}
.columns .column.column--testimonial .testimonial__quote,
.columns .column.column--testimonial .testimonial__name {
  color: var(--color-primary);
}
.columns .column.column--card {
  border-radius: var(--card-radius);
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.2);
}
.columns .column.column--card.column--photo {
  gap: 0;
}
.columns .column.column--card.column--photo .column__text {
  padding: var(--card-padding);
}
.columns .column.column--card.column--photo .img {
  border-radius: 0;
}
.columns .column.column--card.column--icon {
  padding: var(--card-padding);
}
.columns .column.column--card.column--icon .column__text {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: var(--gap-sm);
  flex-grow: 1;
}
.columns .column.column--card.column--icon .column__text .btn {
  width: 100%;
}
.columns .column .column__image--icon {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}
.columns .column .column__image--icon.column__image--icon-sm {
  width: clamp(30px, 5vw, 50px);
  aspect-ratio: 1/1;
}
.columns .column .column__image--icon.column__image--icon-md {
  width: clamp(50px, 7vw, 75px);
  aspect-ratio: 1/1;
}
.columns .column .column__image--icon.column__image--icon-lg {
  width: clamp(100px, 20vw, 250px);
  aspect-ratio: 1/1;
}
.columns .column .column__image--icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.columns .column .column__svg {
  width: 100%;
  height: 100%;
}
.columns .column .column__svg path, .columns .column .column__svg circle, .columns .column .column__svg rect, .columns .column .column__svg polygon {
  fill: var(--color-accent);
  transition: var(--trans);
}

.contact h4 {
  margin: 0;
}
.contact p {
  font-size: clamp(20px, 2vw, 28px);
}

.primary-form .form .gform-footer {
  justify-content: center;
}
.primary-form[data-form-style=default] .form .gform_wrapper form .gform_body .gform_fields .gfield_label {
  display: none;
}
.primary-form[data-form-style=default] .form .ginput_container_consent {
  justify-content: center;
}
.primary-form[data-form-style=default] .form .ginput_container_consent input[type=checkbox] {
  width: 18px;
  height: 18px;
  accent-color: var(--color-accent);
}
.primary-form[data-form-style=default] .form .ginput_container_consent label {
  color: var(--color-primary);
  font-size: var(--text-btn);
  margin: 0;
  font-weight: 400;
}
.primary-form[data-form-style=default] .form .ginput_container_consent a {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.primary-form[data-form-style=default] .form .gform-footer {
  justify-content: center;
}
.primary-form[data-form-style=card] .form {
  background: white;
  padding: var(--panel-padding);
  border-radius: var(--card-radius);
}
.primary-form[data-form-style=card] .form .gform_wrapper form .gform_body .gform_fields .gfield.gfield--type-consent .gfield_label {
  display: none;
}
.primary-form[data-form-style=card] .form .gform-footer {
  justify-content: center;
}

.gallery {
  padding: 0;
  position: relative;
}
.gallery .splide__track {
  margin: 0;
}
.gallery .splide__arrows .splide__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 55;
}
.gallery .splide__arrows .splide__arrow svg {
  display: none;
}
.gallery .splide__arrows .splide__arrow--prev {
  left: clamp(20px, 5vw, 50px);
  background: url(../assets/img/arrow-left.svg) no-repeat center/20px var(--color-accent);
}
.gallery .splide__arrows .splide__arrow--next {
  right: clamp(20px, 5vw, 50px);
  background: url(../assets/img/arrow-right.svg) no-repeat center/20px var(--color-accent);
}
.gallery .splide__pagination {
  position: absolute;
  bottom: clamp(20px, 5vw, 50px);
  left: 0;
  right: 0;
  margin: auto;
}

.hero {
  background: var(--color-primary);
  width: 100vw;
  position: relative;
  display: flex;
  --color-text: white;
  align-items: flex-end;
  justify-content: flex-end;
  min-height: 600px;
  padding-top: calc(var(--header-h) + var(--section-padding));
}
@media (max-width: 950px) {
  .hero {
    min-height: 450px;
  }
}
.hero .wrapper {
  margin: 0;
}
.hero .wrapper .inner {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
}
.hero .wrapper .text {
  max-width: 900px;
  flex-shrink: 1;
}
.hero .wrapper .text em {
  color: var(--color-accent);
}
.hero__label {
  display: block;
  flex-shrink: 0;
  width: var(--text-h1);
}
.hero__label h1 {
  display: block;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: rotate(180deg);
}

.map #map {
  overflow: hidden;
  position: relative;
  aspect-ratio: 16/8;
}
@media (max-width: 950px) {
  .map #map {
    aspect-ratio: 4/3;
  }
}

.news__featured {
  --background-colour: color-mix(in srgb, var(--color-accent) 15%, white);
  display: grid;
  grid-template-columns: 50vw 1fr;
  min-height: 600px;
  margin-bottom: var(--gap-lg);
  background: var(--background-colour);
}
@media (max-width: 750px) {
  .news__featured {
    grid-template-columns: 1fr;
    min-height: 450px;
  }
}
.news__featured-image {
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.news__featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.news__featured-text {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  max-width: calc(var(--wrapper-max) / 2);
  padding: var(--wrapper-pad-lg);
}
.news__featured-text > div {
  width: 100%;
  max-width: calc(var(--wrapper-max) / 2 - var(--wrapper-pad));
}
.news__bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: var(--gap-md);
  gap: var(--gap-sm);
}
@media (max-width: 750px) {
  .news__bar {
    flex-direction: column;
    align-items: flex-start;
  }
}
.news__bar p {
  margin: 0;
}
.news__search {
  display: flex;
  gap: 10px;
  align-items: center;
}
@media (max-width: 750px) {
  .news__search {
    flex-grow: 1;
    width: 100%;
  }
}
.news__search-input {
  position: relative;
  flex-grow: 1;
}
.news__search-input svg {
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 18px;
  color: var(--color-accent);
}
.news__search-input input {
  padding-left: 50px;
  min-width: 320px;
  font-size: var(--text-btn);
}
@media (max-width: 750px) {
  .news__search-input input {
    min-width: 0;
  }
}
.news__search-input input[type=search]::-webkit-search-cancel-button {
  appearance: none;
  width: 18px;
  height: 18px;
  cursor: pointer;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18 6L6 18M6 6l12 12' stroke='currentColor' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/contain;
  opacity: 0.75;
}
.news__search-input input[type=search]::-webkit-search-cancel-button:hover {
  opacity: 1;
}
.news__filter-panel {
  position: fixed;
  top: 0;
  right: 0;
  height: 100dvh;
  width: 90%;
  max-width: 400px;
  background: var(--color-bg);
  box-shadow: -5px 0 30px rgba(0, 0, 0, 0.1);
  z-index: 999;
  transform: translateX(100%);
  transition: transform 0.3s ease-in-out;
  overflow-y: auto;
  padding: clamp(20px, 5vw, 50px);
}
.news__filter-panel.active {
  transform: translateX(0);
}
.news__filter-header {
  display: flex;
  align-items: center;
  gap: 15px;
  padding-bottom: var(--gap-sm);
}
.news__filter-header svg {
  width: 25px;
  flex-shrink: 0;
  color: var(--color-accent);
}
.news__filter-header h4 {
  margin: 0;
  flex: 1;
}
.news__filter-close {
  background: none;
  border: none;
  cursor: pointer;
  padding: 5px;
  flex-shrink: 0;
}
.news__filter-close svg {
  width: 25px;
}
.news__filter-close svg * {
  fill: var(--color-primary);
}
.news__filter-inner {
  display: flex;
  flex-direction: column;
  gap: var(--gap-sm);
}
.news__filter-group .small-text {
  margin-bottom: 10px;
  font-size: var(--text-sm);
}
.news__filter-group ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.news__filter-group label {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  font-size: var(--text-sm);
  font-weight: 400;
}
.news__filter-group label input[type=checkbox] {
  width: 18px;
  height: 18px;
  accent-color: var(--color-accent);
  cursor: pointer;
  margin: 0;
}

#js-news-grid {
  transition: opacity 0.3s ease;
}
#js-news-grid.loading {
  opacity: 0;
  pointer-events: none;
}

body:after {
  content: "";
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 998;
  transition: all 0.3s ease-in-out;
  visibility: hidden;
  opacity: 0;
}
body.filter-open:after {
  visibility: visible;
  opacity: 1;
}

.card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
}
.card__image {
  margin-bottom: var(--gap-sm);
  border-radius: var(--card-radius);
  overflow: hidden;
}
.card__text {
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}
.card__date {
  font-size: var(--text-sm);
  text-transform: uppercase;
  font-weight: 400;
  opacity: 0.75;
  margin: 0 0 5px;
}
.card__title {
  font-size: var(--text-h4);
  margin: 0;
}
.card__summary {
  margin: 0;
}
.card:hover .card__title {
  color: var(--color-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.image-grid .grid.grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.image-grid .grid.grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.image-grid .grid.grid-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
@media (max-width: 950px) {
  .image-grid .grid.grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media all and (min-width: 750px) {
  .text-with-image[data-align=right] .img {
    order: 2;
  }
}
.text-with-image .text {
  max-width: 900px;
}
.text-with-image .grid {
  grid-template-columns: 2fr 1fr;
  gap: var(--gap-lg);
}
@media (max-width: 750px) {
  .text-with-image .grid {
    grid-template-columns: none;
  }
}

.large-text .text {
  max-width: 900px;
}
.large-text .text em {
  color: var(--color-accent);
}

.team-members {
  overflow: hidden;
}
.team-members__wrapper {
  width: fit-content;
  display: flex;
  flex-wrap: nowrap;
  gap: var(--gap-md);
}
.team-members__item {
  flex-shrink: 0;
  padding: 0;
  width: 100%;
  max-width: clamp(250px, 20vw, 400px);
  display: flex;
  flex-direction: column;
  gap: var(--card-padding);
}
.team-members__item h4 {
  margin: 0;
}

.values .value {
  padding: clamp(20px, 5vw, 50px) 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.values .value:first-of-type {
  padding-top: 0;
}
.values .value:last-of-type {
  border: none;
  padding-bottom: 0;
}

.work__categories {
  font-size: clamp(18px, 3vw, 40px);
  line-height: 1.2;
  margin: 0;
  color: white;
  font-family: var(--font-title);
  display: inline-flex;
  gap: 5px;
  flex-wrap: wrap;
}
.work__categories .work__cat {
  cursor: pointer;
  transition: opacity 0.3s ease-in-out;
  display: inline;
  position: relative;
  margin-right: clamp(5px, 2vw, 10px);
}
.work__categories .work__cat:before {
  content: "";
  background: var(--color-accent);
  width: 0;
  height: 12%;
  display: block;
  top: 50%;
  left: 0;
  position: absolute;
  transition: all 0.3s ease-in-out;
  transform: rotate(3deg);
  transform-origin: left top;
}
.work__categories .work__cat:after {
  content: ". ";
  position: absolute;
}
.work__categories .work__cat:not(.active) {
  opacity: 0.3;
}
.work__categories .work__cat:hover {
  opacity: 1;
}
.work__categories .work__cat.active {
  opacity: 1;
}
.work__categories .work__cat.active:before {
  width: 100%;
}
.work__grid {
  position: relative;
}
.work__group {
  display: none;
}
.work__group.active {
  display: block;
}
.work__chunk {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.work__chunk--first .work__item--intro {
  aspect-ratio: 4/3;
}
@media (max-width: 950px) {
  .work__chunk--first .work__item--intro {
    aspect-ratio: unset;
    padding-bottom: 50px;
  }
}
.work__chunk--first .work__item--project:nth-child(2) {
  aspect-ratio: 1/1;
}
.work__chunk--first .work__item--project:nth-child(3) {
  aspect-ratio: 1/1;
  margin-top: -25%;
}
.work__chunk--first .work__item--project:nth-child(4) {
  aspect-ratio: 4/3;
}
.work__chunk--first .work__item--project:nth-last-child(1) {
  aspect-ratio: 4/3;
}
.work__chunk:not(.work__chunk--first) .work__item--project:nth-child(1) {
  aspect-ratio: 4/3;
}
.work__chunk:not(.work__chunk--first) .work__item--project:nth-child(2) {
  aspect-ratio: 1/1;
}
.work__chunk:not(.work__chunk--first) .work__item--project:nth-child(3) {
  aspect-ratio: 1/1;
  margin-top: -25%;
}
.work__chunk:not(.work__chunk--first) .work__item--project:nth-child(4) {
  aspect-ratio: 4/3;
}
.work__chunk:not(.work__chunk--first) .work__item--project:nth-last-child(1) {
  aspect-ratio: 4/3;
}
@media (max-width: 950px) {
  .work__chunk {
    grid-template-columns: 1fr;
  }
  .work__chunk .work__item--project {
    aspect-ratio: 4/3 !important;
    margin-top: 0 !important;
  }
}
.work__item {
  position: relative;
  overflow: hidden;
  display: block;
}
.work__item--intro {
  background: var(--color-accent);
  display: flex;
  align-items: flex-start;
  padding: var(--wrapper-pad);
}
@media (max-width: 1600px) {
  .work__item--intro {
    padding: var(--wrapper-pad-md);
  }
}
.work__item--project {
  text-decoration: none;
  background: #111;
}
.work__item--project:hover .work__image img {
  transform: scale(1.05);
  filter: brightness(0.6);
}
.work__image {
  position: absolute;
  inset: 0;
}
.work__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease-in-out, filter 0.4s ease-in-out;
}
.work__text {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: clamp(20px, 3vw, 50px);
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%);
  z-index: 2;
  --color-text: white;
}
.work__text h3 {
  margin: 0;
}

.hero-container {
  padding: 0;
  height: calc(100dvh - var(--header-h));
  display: flex;
  flex-direction: column;
}
@media (max-width: 750px) {
  .hero-container {
    max-height: 100vw;
  }
}
.hero-container .hero {
  min-height: 0;
  flex-grow: 1;
}

.project-hdr {
  background: black;
  --color-text: white;
  padding: var(--panel-padding) var(--wrapper-pad);
}
@media (max-width: 1600px) {
  .project-hdr {
    padding: var(--panel-padding) var(--wrapper-pad-md);
  }
}
.project-hdr em {
  color: var(--color-accent);
}

.project-intro ul li {
  list-style: none;
}
.project-intro ul li strong {
  font-family: var(--font-title);
}
.project-intro .project-info {
  padding-right: clamp(20px, 5vw, 100px);
  display: flex;
  flex-direction: column;
  gap: var(--gap-md);
  align-items: flex-start;
}
.project-intro .project-info h2, .project-intro .project-info ul {
  margin: 0;
}
@media (max-width: 950px) {
  .project-intro .project-info {
    margin-bottom: var(--gap-lg);
  }
}
.project-intro .client-logo {
  width: auto;
  max-height: clamp(60px, 8vw, 80px);
}

.project-ftr a {
  text-decoration: underline;
  text-underline-offset: 5px;
}
.project-ftr a:hover {
  text-decoration-thickness: 4px;
}

.text-block .content {
  max-width: 800px;
  margin: auto;
}

.splash {
  height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
}
.splash .wrapper {
  height: 100%;
}
.splash .text {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.splash .title {
  flex-grow: 1;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.splash .title .inner {
  overflow: hidden;
}
.splash .title [data-split] {
  visibility: hidden;
}
.splash .title h1 {
  font-size: clamp(20px, 15vw, 999px);
  letter-spacing: -0.05em;
  padding: 0 0.2em;
  white-space: nowrap;
  overflow: visible;
}
@media (max-width: 750px) {
  .splash .title h1 {
    font-size: 25vw;
    line-height: 20vw;
    white-space: normal;
  }
}
.splash .title h1 strong {
  position: relative;
  display: inline-block;
}
.splash .title h1 strong:before {
  content: "";
  z-index: 20;
  background: var(--color-accent);
  width: 0%;
  height: 12%;
  display: block;
  top: 50%;
  left: 3%;
  position: absolute;
  transition: all 0.3s ease-in-out;
  transform: translateY(-50%) rotate(6deg);
  transform-origin: left top;
  pointer-events: none;
  animation: line 0.5s ease-in-out 1s 1 forwards;
}
.splash .intro {
  display: flex;
  align-items: flex-end;
  animation: splash 0.5s ease-in-out 2s 1 forwards;
  opacity: 0;
}
.splash .intro svg {
  width: clamp(30px, 5vw, 50px);
}
.splash .intro p {
  max-width: 500px;
  margin-left: auto;
  text-align: right;
  font-size: clamp(20px, 4vw, 40px);
  line-height: 1.1;
}
@media (max-width: 950px) {
  .splash .intro p {
    max-width: 60vw;
  }
}
@keyframes splash {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes line {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}

.portfolio__client {
  position: relative;
}
.portfolio__client-link {
  position: absolute;
  inset: 0;
  z-index: 20;
  display: block;
}
.portfolio__title {
  height: 100dvh;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}
.portfolio__title a {
  display: block;
  text-decoration: none;
  text-align: center;
}
.portfolio__title img {
  max-width: clamp(100px, 20vw, 300px);
  height: auto;
  display: block;
  margin: 0 auto;
}
.portfolio__title h2 {
  font-size: clamp(32px, 6vw, 80px);
  font-weight: 400;
  color: var(--color-text);
  margin: 0;
  letter-spacing: -0.02em;
}
.portfolio__featured {
  position: relative;
  z-index: 2;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: clamp(20px, 3vw, 30px);
}
.portfolio__images {
  position: relative;
  z-index: 3;
  padding: 50vh 0 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 50vh;
}
.portfolio__image {
  display: block;
  text-decoration: none;
  width: 50vw;
  overflow: hidden;
}
.portfolio__image:nth-child(1) {
  align-self: flex-end;
  margin-right: 25vw;
  width: 20vw;
}
@media (max-width: 750px) {
  .portfolio__image:nth-child(1) {
    width: 40vw;
  }
}
.portfolio__image:nth-child(2) {
  align-self: flex-start;
  margin-left: 20vw;
  width: 30vw;
}
@media (max-width: 750px) {
  .portfolio__image:nth-child(2) {
    width: 60vw;
  }
}
.portfolio__image:nth-child(3) {
  align-self: flex-end;
  margin-right: 10vw;
  width: 25vw;
}
@media (max-width: 750px) {
  .portfolio__image:nth-child(3) {
    width: 50vw;
  }
}
.portfolio__image:nth-child(4) {
  align-self: flex-start;
  margin-left: 15vw;
  width: 20vw;
}
@media (max-width: 750px) {
  .portfolio__image:nth-child(4) {
    width: 40vw;
  }
}
.portfolio__image--first {
  width: clamp(300px, 90vw, 1000px) !important;
  align-self: center !important;
  margin: 0 !important;
}
.portfolio__image img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.5s ease-in-out;
}
.portfolio__image:hover img {
  transform: scale(1.03);
}
.portfolio__summary {
  font-size: clamp(16px, 2vw, 30px);
  color: var(--color-text);
  text-align: center;
  margin: clamp(30px, 4vw, 60px) auto 0;
  padding: 0 var(--wrapper-pad);
  line-height: 1.3;
  opacity: 0;
}
.portfolio__summary strong {
  font-family: var(--font-title);
}

.logos .logos-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 50px;
}
@media (max-width: 950px) {
  .logos .logos-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: center;
    justify-content: center;
  }
}
.logos .logos-grid img {
  width: auto;
  max-width: 100%;
  object-fit: contain;
  max-height: clamp(60px, 10vw, 150px);
}

.video-block__embed {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.video-block__embed iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}