:root {
  --clr-primary: hsla(324, 100%, 46%, 1);
  --clr-secondary: hsla(196, 100%, 47%, 1);
  --clr-accent: hsla(57, 87%, 51%, 1);
  --clr-red: hsla(0, 78%, 57%, 1);
  --clr-blue: hsla(240, 75%, 54%, 1);
  --clr-green: hsla(120, 72%, 55%, 1);
  --clr-success: hsla(119, 48%, 57%, 1);
  --clr-heading: hsla(0, 0%, 11%, 1);
  --clr-text: hsla(0, 0%, 24%, 1);
  --clr-w: hsla(0, 0%, 100%, 1);
  --clr-b: hsla(0, 0%, 0%, 1);
  --clr-neutral-100: hsla(0, 0%, 97.5%, 1);
  --clr-neutral-200: hsla(0, 0%, 95%, 1);
  --clr-neutral-300: hsla(0, 0%, 90%, 1);
  --clr-neutral-400: hsla(0, 0%, 85%, 1);
  --clr-neutral-500: hsla(0, 0%, 80%, 1);
  --clr-neutral-600: hsla(0, 0%, 70%, 1);
  --clr-neutral-700: hsla(0, 0%, 60%, 1);
  --clr-neutral-800: hsla(0, 0%, 50%, 1);
  --clr-neutral-900: hsla(0, 0%, 40%, 1);
  --clr-neutral-1000: hsla(0, 0%, 30%, 1);
  --gradient: linear-gradient(
  	180deg,
  	var(--clr-red) 0%,
  	var(--clr-red) 33%,
  	var(--clr-blue) 33%,
  	var(--clr-blue) 66%,
  	var(--clr-green) 66%,
  	var(--clr-green) 100%
  );
  --gradient-h: linear-gradient(
  	90deg,
  	var(--clr-red) 0%,
  	var(--clr-red) 33%,
  	var(--clr-blue) 33%,
  	var(--clr-blue) 66%,
  	var(--clr-green) 66%,
  	var(--clr-green) 100%
  );
  --fs-900: clamp(2.825rem, min(6vw, 6vw), 4rem);
  --fs-800: clamp(2rem, 5vw, 2.825rem);
  --fs-700: clamp(1.385rem, 4vw, 2rem);
  --fs-500: 1.385rem;
  --fs-400: 1rem;
  --fs-300: 0.707rem;
  --fspc-700: clamp(5rem, min(21vw, 21vh), 12rem);
  --fspc-400: clamp(4rem, min(15vw, 15vh), 8rem);
  --fspc-300: clamp(3rem, 8vw, 5rem);
  --ff-primary: "mr-eaves-xl-modern", serif;
  --ff-secondary: "Bungee", serif;
  --radius-100: 0.125rem;
  --radius-300: 0.25rem;
  --radius-400: 0.5rem;
  --radius-500: 0.75rem;
  --radius-700: 1rem;
  --mw-100: 48rem;
  --mw-300: 67rem;
  --mw-400: 82rem;
  --mw-500: 92rem;
  --mw-700: 106rem;
  --shadow-300: 0 2.5rem 2rem 0 rgba(0, 0, 0, 0.035);
  --shadow-400: 0 0.25rem 2rem 0 rgba(0, 0, 0, 0.1);
  --shadow-500: 0 1.75rem 3rem -2.75rem rgba(0, 0, 0, 0.75);
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: inherit;
  font-size: 100%;
  font-weight: inherit;
  font-style: inherit;
  border: 0;
  vertical-align: baseline;
}

/* Links */
a {
  color: inherit;
  text-decoration: none;
}

/* Lists */
ol,
ul {
  list-style: none;
}

/* Forms */
input,
button,
textarea,
select {
  margin: 0;
  padding: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  border: none;
}

html {
  height: 100%;
}

body {
  min-height: 100%;
  overflow-x: hidden;
}

body {
  width: min(100%, 120rem);
  margin-inline: auto;
}

img {
  max-width: 100%;
}

svg {
  display: block;
  max-width: 100%;
}

summary {
  list-style: none;
}

a {
  color: inherit;
}

figure {
  margin: 0;
}

strong {
  font-weight: 800;
}

form.theme select, form.theme textarea, form.theme input[type=text], form.theme input[type=email], form.theme input[type=phone], form.theme input[type=number] {
  display: flex;
  padding: 0.5em 1em;
  width: 100%;
  min-height: 2.5;
  color: var(--clr-text);
  font-size: inherit;
  background-color: var(--clr-neutral-100);
  border: 0.063rem solid var(--clr-neutral-400);
  border-radius: var(--radius-300);
  outline: 0;
  align-items: center;
}
form.theme select::placeholder, form.theme textarea::placeholder, form.theme input[type=text]::placeholder, form.theme input[type=email]::placeholder, form.theme input[type=phone]::placeholder, form.theme input[type=number]::placeholder {
  color: var(--clr-neutral-700);
}
form.theme select[error], form.theme textarea[error], form.theme input[error][type=text], form.theme input[error][type=email], form.theme input[error][type=phone], form.theme input[error][type=number] {
  color: var(--clr-red);
  border-color: var(--clr-red);
}
form.theme select[error]::placeholder, form.theme textarea[error]::placeholder, form.theme input[error][type=text]::placeholder, form.theme input[error][type=email]::placeholder, form.theme input[error][type=phone]::placeholder, form.theme input[error][type=number]::placeholder {
  color: var(--clr-red);
}
form.theme select[valid], form.theme textarea[valid], form.theme input[valid][type=text], form.theme input[valid][type=email], form.theme input[valid][type=phone], form.theme input[valid][type=number] {
  color: var(--clr-success);
  border-color: var(--clr-success);
}
form.theme select[disabled], form.theme textarea[disabled], form.theme input[disabled][type=text], form.theme input[disabled][type=email], form.theme input[disabled][type=phone], form.theme input[disabled][type=number] {
  color: var(--clr-neutral-600);
  background-color: var(--clr-neutral-300);
}
form.theme select[disabled]:hover, form.theme textarea[disabled]:hover, form.theme input[disabled][type=text]:hover, form.theme input[disabled][type=email]:hover, form.theme input[disabled][type=phone]:hover, form.theme input[disabled][type=number]:hover {
  cursor: not-allowed;
}

form.theme {
  --init-gap: 1.5rem;
  display: flex;
  gap: var(--gap, var(--init-gap));
  flex-direction: column;
}
form.theme fieldset.layout-2 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr));
  grid-gap: 1rem 1rem;
}
form.theme textarea {
  height: min(15lvh, 10rem);
}
form.theme select {
  padding-inline-end: 3rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cmask id='mask0_235_3038' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23D9D9D9'/%3E%3C/mask%3E%3Cg mask='url(%23mask0_235_3038)'%3E%3Cpath d='M12 15.375L6 9.37498L7.4 7.97498L12 12.575L16.6 7.97498L18 9.37498L12 15.375Z' fill='%23ADADAD'/%3E%3C/g%3E%3C/svg%3E");
  background-position: calc(100% - 1rem) center;
  background-repeat: no-repeat;
  appearance: none;
}
form.theme select.init {
  color: var(--clr-neutral-700);
}
form.theme select option {
  color: var(--clr-text);
}
form.theme select option[value=""] {
  color: var(--clr-neutral-700);
}
form.theme select[error] {
  color: var(--clr-red);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cmask id='mask0_235_3038' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='0' y='0' width='24' height='24'%3E%3Crect width='24' height='24' fill='%23D9D9D9'/%3E%3C/mask%3E%3Cg mask='url(%23mask0_235_3038)'%3E%3Cpath d='M12 15.375L6 9.37498L7.4 7.97498L12 12.575L16.6 7.97498L18 9.37498L12 15.375Z' fill='%23e73c3c'/%3E%3C/g%3E%3C/svg%3E");
}
form.theme label {
  display: block;
  position: relative;
}
form.theme footer {
  padding-block-start: 1rem;
}

.admin-bar #siteHead {
  top: 2rem;
}

#siteHead {
  position: sticky;
  top: 0;
  z-index: 3;
  padding: 1rem;
  padding: 1rem;
  background-color: var(--clr-w);
  box-shadow: 0 1.5rem 3rem -2rem rgba(0, 0, 0, 0.2);
}
@media only screen and (min-width: 48rem) {
  #siteHead {
    padding-inline: 2rem;
  }
}

#siteFoot {
  padding-block: var(--fspc-400);
}
#siteFoot h4 {
  margin-block-end: 2rem;
  width: 100%;
}

#siteFootRow {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 3rem var(--fspc-300);
}
@media only screen and (min-width: 36rem) {
  #siteFootRow {
    grid-template-columns: 1fr 1fr;
  }
}
@media only screen and (min-width: 48rem) {
  #siteFootRow {
    grid-template-columns: 2fr minmax(9.125rem, 1fr) 2fr;
  }
}
#siteFootRow > div:first-child {
  grid-row: auto;
}
@media only screen and (min-width: 36rem) {
  #siteFootRow > div:first-child {
    grid-row: 2;
  }
}
@media only screen and (min-width: 48rem) {
  #siteFootRow > div:first-child {
    text-align: right;
    grid-row: auto;
  }
}
#siteFootRow > div:nth-child(2) {
  grid-row: 1;
}
@media only screen and (min-width: 48rem) {
  #siteFootRow > div:nth-child(2) {
    grid-row: auto;
  }
}
#siteFootRow > div:nth-child(2) img {
  width: min(100%, min(33vw, 12.5rem));
  height: auto;
}
@media only screen and (min-width: 48rem) {
  #siteFootRow > div:nth-child(2) img {
    margin-inline: auto;
  }
}
#siteFootRow > div:last-child {
  grid-row: auto;
}
@media only screen and (min-width: 36rem) {
  #siteFootRow > div:last-child {
    grid-row: 2;
  }
}
@media only screen and (min-width: 48rem) {
  #siteFootRow > div:last-child {
    grid-row: auto;
  }
}
#siteFootRow nav {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 7.5rem), 1fr));
  grid-gap: 0.5rem 0.5rem;
}
@media only screen and (min-width: 48rem) {
  #siteFootRow nav {
    grid-template-columns: 1fr 1fr;
  }
}
@media only screen and (min-width: 48rem) {
  #siteFootRow nav a {
    text-align: right;
  }
}

#sitePostFoot {
  color: var(--clr-neutral-700);
  border-top: 0.063rem solid var(--clr-neutral-400);
  padding-block: 0.5rem;
}

#sitePostFootRow {
  display: flex;
  gap: 0.5rem;
}
@media only screen and (min-width: 48rem) {
  #sitePostFootRow {
    text-align: center;
    align-items: center;
  }
}
@media only screen and (min-width: 62rem) {
  #sitePostFootRow {
    display: grid;
    text-align: left;
    align-items: center;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 1rem var(--fspc-300);
  }
}
#sitePostFootRow nav {
  gap: 1rem 1rem;
  justify-content: center;
  flex-direction: row;
}
#sitePostFootRow nav a {
  color: inherit;
}
#sitePostFootRow nav a:hover {
  color: var(--clr-secondary);
}

#siteFootContactList {
  display: flex;
  margin-block-start: var(--fspc-300);
  width: min(100%, var(--mw-300));
  gap: 1.5rem var(--fspc-300);
  flex-direction: row;
  flex-wrap: wrap;
}
@media only screen and (min-width: 48rem) {
  #siteFootContactList {
    justify-content: center;
  }
}
@media only screen and (min-width: 36rem) {
  #siteFootContactList a {
    align-items: center;
  }
}
#siteFootContactList a:hover svg path {
  fill: var(--clr-secondary);
}
#siteFootContactList svg {
  width: auto;
  height: 1.5rem;
}
#siteFootContactList svg path {
  fill: var(--clr-text);
}

#sitePostFootCredentials {
  gap: 0.5rem;
  justify-content: flex-end;
  align-items: center;
  flex-direction: row;
}

.ct-link-button.button,
.button.button {
  display: inline-flex;
  padding: 0.5em 1em;
  min-height: 2.5rem;
  color: var(--clr-w);
  font-weight: 800;
  text-transform: uppercase;
  background-color: var(--clr-primary);
  border: 0.063rem solid var(--clr-primary);
  border-radius: var(--radius-300);
  gap: 0.5rem;
  align-items: center;
  letter-spacing: 0.063rem;
}
.ct-link-button.button:hover,
.button.button:hover {
  background-color: var(--clr-secondary);
  border-color: var(--clr-secondary);
  cursor: pointer;
}
.ct-link-button.button:active,
.button.button:active {
  background-color: var(--clr-heading);
  border-color: var(--clr-heading);
}
.ct-link-button.button.secondary,
.button.button.secondary {
  color: var(--clr-heading);
  background-color: transparent;
  border-color: var(--clr-heading);
}
.ct-link-button.button.secondary.inverted,
.button.button.secondary.inverted {
  color: var(--clr-w);
  border-color: var(--clr-w);
}
.ct-link-button.button.secondary:hover,
.button.button.secondary:hover {
  color: var(--clr-w);
  background-color: var(--clr-secondary);
  border-color: var(--clr-secondary);
}
.ct-link-button.button.secondary:active,
.button.button.secondary:active {
  color: var(--color-w);
  background-color: var(--clr-heading);
  border-color: var(--clr-heading);
}
.ct-link-button.button.button-300,
.button.button.button-300 {
  padding: 0.25em 1em 0.25em;
  min-height: 2rem;
  font-size: var(--fs-300);
  line-height: 1rem;
}

.component.button-submit {
  position: relative;
}
.component.button-submit::after {
  position: absolute;
  width: 2rem;
  height: 2rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='24' viewBox='0 0 22 24' fill='none'%3E%3Cpath d='M7.79494 20.1302C6.06494 19.3302 4.64494 18.1202 3.55494 16.5102C2.46494 14.8902 1.91494 13.0702 1.91494 11.0402C1.91494 10.6102 1.94494 10.1802 1.99494 9.76023C2.04494 9.34023 2.11494 8.94023 2.21494 8.54023L1.06494 9.21023L0.0649414 7.49023L4.84494 4.74023L7.59494 9.49023L5.84494 10.4902L4.49494 8.14023C4.31494 8.59023 4.17494 9.06023 4.08494 9.54023C3.99494 10.0202 3.94494 10.5202 3.94494 11.0402C3.94494 12.6602 4.38494 14.1302 5.26494 15.4502C6.14494 16.7802 7.32494 17.7502 8.79494 18.3902L7.79494 20.1402V20.1302Z' fill='%23ED008D'/%3E%3Cpath d='M15.445 8.00023V6.00023H18.165C17.395 5.05023 16.475 4.31023 15.395 3.79023C14.315 3.26023 13.165 3.00023 11.945 3.00023C11.025 3.00023 10.165 3.14023 9.34497 3.42023C8.52497 3.70023 7.77497 4.10023 7.09497 4.62023L6.09497 2.87023C6.92497 2.29023 7.83497 1.83023 8.80497 1.49023C9.78497 1.16023 10.815 0.990234 11.915 0.990234C13.235 0.990234 14.495 1.24023 15.705 1.73023C16.915 2.22023 17.995 2.93023 18.945 3.87023V2.49023H20.945V7.99023H15.445V8.00023Z' fill='%23EFE414'/%3E%3Cpath d='M14.7949 23L10.0149 20.25L12.7649 15.5L14.4949 16.5L13.0649 18.95C15.0349 18.67 16.6649 17.78 17.9749 16.29C19.2849 14.8 19.9349 13.04 19.9349 11.03C19.9349 10.85 19.9349 10.67 19.9249 10.5C19.9249 10.33 19.8949 10.17 19.8649 10H21.8849C21.9049 10.17 21.9149 10.33 21.9249 10.49C21.9249 10.65 21.9349 10.82 21.9349 11C21.9349 13.25 21.2649 15.26 19.9249 17.04C18.5849 18.81 16.8349 20.01 14.6849 20.63L15.7849 21.28L14.7849 23.01L14.7949 23Z' fill='%2300AFEF'/%3E%3C/svg%3E") no-repeat center center;
  opacity: 0;
  transition: opacity 250ms linear;
  animation: spin 2s linear infinite;
  pointer-events: none;
  content: "";
  inset: 0.25rem -2.5rem auto auto;
  transform-origin: center;
}
.component.button-submit[sending]::after {
  opacity: 1;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.site-navigation nav {
  display: flex;
  gap: 1rem;
  flex-direction: column;
}
@media only screen and (min-width: 48rem) {
  .site-navigation nav {
    gap: 2rem;
  }
}
.site-navigation nav a {
  color: var(--clr-heading);
  font-family: var(--ff-secondary);
  font-size: var(--fs-700);
  line-height: 1.2;
}
.site-navigation nav a:hover:not([active]) {
  color: var(--clr-secondary);
}
.site-navigation nav a[active] {
  color: var(--clr-primary);
}
.site-navigation .card-article {
  --gap: 0.75rem;
}
.site-navigation .card-article h4 {
  font-size: 1rem;
  line-height: 1.5;
}
.site-navigation--overlay {
  display: flex;
  position: fixed;
  z-index: 3;
  padding: 2rem 1rem;
  width: 100%;
  background-color: var(--clr-w);
  border-bottom: 0.063rem solid var(--clr-neutral-200);
  opacity: 0;
  box-shadow: var(--shadow-300);
  transition: inset 200ms ease-in-out, opacity 100ms linear;
  pointer-events: none;
  inset: 0 0 auto 0;
  gap: 3rem;
  justify-content: center;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
}
@media only screen and (min-width: 48rem) {
  .site-navigation--overlay {
    height: min(80lvh, 45rem);
  }
}
.site-navigation--overlay.active {
  opacity: 1;
  pointer-events: all;
  inset: 6rem 0 auto auto;
}
.site-navigation--content {
  --gap: clamp(3rem, 10vw, 10rem);
  display: block;
  width: 100%;
  flex-grow: 1;
}
@media only screen and (min-width: 48rem) {
  .site-navigation--content {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-column-gap: var(--gap);
  }
}
.site-navigation--content > div:first-child {
  position: relative;
}
.site-navigation--content > div:first-child::after {
  position: absolute;
  top: 2rem;
  right: calc(var(--gap) / 2 * -1);
  width: 0.063rem;
  height: min(50%, 25rem);
  background: var(--gradient);
  content: "";
}
.site-navigation--content > div:last-child {
  display: none;
}
@media only screen and (min-width: 48rem) {
  .site-navigation--content > div:last-child {
    display: block;
  }
}
.site-navigation--footer {
  max-height: 2.5rem;
}
.site-navigation--tab-item {
  display: none;
}
.site-navigation--tab-item[active] {
  display: block;
}

#headLogoWrapper {
  display: inline-flex;
  align-items: flex-start;
}

#headLogo {
  width: min(80%, 17.875rem);
}
@media only screen and (min-width: 48rem) {
  #headLogo {
    width: min(100%, 17.875rem);
  }
}

.admin-bar .site-navigation--overlay.active {
  inset: 8rem 0 auto auto;
}

#menuIcon {
  display: block;
  position: relative;
  width: 2.5rem;
  height: 2.25rem;
  transform: scale(0.7);
  margin-inline: auto;
}
#menuIcon:hover {
  cursor: pointer;
}
#menuIcon:hover span {
  background: var(--clr-secondary);
}
#menuIcon.active span:nth-child(1) {
  transition: transform 0.45s cubic-bezier(0.9, -0.6, 0.3, 1.6) 0.1s;
  transform: rotate(-45deg);
}
#menuIcon.active span:nth-child(2) {
  width: 1.188rem;
  transition: transform 0.45s cubic-bezier(0.9, -0.6, 0.3, 1.6) 0.1s, width 0.2s ease;
  transform: translate(0.375rem, 0) rotate(45deg);
}
#menuIcon.active span:nth-child(3) {
  width: 1.188rem;
  transition: transform 0.45s cubic-bezier(0.9, -0.6, 0.3, 1.6) 0.1s, width 0.2s ease;
  transform: translate(-0.375rem, 0) rotate(45deg);
}
#menuIcon span {
  position: absolute;
  height: 0.25rem;
  background: var(--clr-b);
  border-radius: 0;
  transition: transform 0.45s cubic-bezier(0.9, -0.6, 0.3, 1.6), width 0.2s ease 0.2s;
}
#menuIcon span:nth-child(1) {
  top: 50%;
  left: 0;
  margin: -0.125rem 0 0 0;
  width: 2.5rem;
  transform-origin: 50% 50%;
}
#menuIcon span:nth-child(2) {
  top: 0.125rem;
  left: 0;
  width: 1.25rem;
  transform-origin: 0 50%;
}
#menuIcon span:nth-child(3) {
  right: 0;
  bottom: 0.125rem;
  width: 1.75rem;
  transform: translate(-0.75rem, 0);
  transform-origin: 100% 50%;
}

.menu-service-tab--nav {
  display: flex;
  margin-block-start: 3rem;
  gap: 1rem 1rem;
  flex-wrap: wrap;
}
.menu-service-tab--nav a {
  display: inline-flex;
  padding: 0.5rem 1rem;
  color: inherit;
  font-size: var(--fs-500);
  background-color: var(--clr-neutral-100);
  border: 0.063rem solid var(--clr-text);
  border-radius: var(--radius-300);
  align-items: center;
}
.menu-service-tab--nav a:hover {
  color: var(--clr-w);
  background-color: var(--clr-secondary);
  border-color: var(--clr-secondary);
}

.main-navigation--projects {
  position: relative;
  margin-inline-start: 0;
  margin-block-end: 3rem;
  width: 100%;
}
.main-navigation--project-item {
  width: min(66%, 28rem);
}
.main-navigation--project-navigation.swiper-pagination {
  display: flex;
  position: absolute;
  width: 3rem;
  height: 100%;
  background-color: var(--clr-w);
  transform: translateY(-50%);
  inset: 50% 0 auto auto;
  gap: 0.5rem;
  justify-content: center;
  align-items: flex-end;
  flex-direction: column;
}
.main-navigation--project-navigation.swiper-pagination span {
  width: 1rem;
  height: 1rem;
  background-color: var(--clr-neutral-400);
  border-radius: var(--radius-100);
  opacity: 1;
}
.main-navigation--project-navigation.swiper-pagination span.swiper-pagination-bullet-active {
  background-color: var(--clr-secondary);
}

.main-navigation--about-content {
  display: grid;
  margin-block-end: 3rem;
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: clamp(1.5rem, 5vw, 5rem);
}
.main-navigation--about-content .card-article h4 {
  font-size: var(--fs-500);
}
.main-navigation--about-footer {
  display: grid;
  align-items: center;
  grid-template-columns: auto 1fr;
  grid-column-gap: 3rem;
}
.main-navigation--about-footer h5 {
  padding: 0.5em 0.75em;
  background-color: var(--clr-accent);
  border-radius: var(--radius-300);
}
.main-navigation--about-clients {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}
.main-navigation--about-clients img {
  width: auto;
  max-height: 3rem;
}

.main-navigation--contact-content {
  display: grid;
  grid-template-columns: minmax(14rem, 1fr) 2fr;
  grid-column-gap: clamp(1.5rem, 5vw, 5rem);
}
.main-navigation--contact-content h4 {
  margin-block-end: 1.5rem;
}
.main-navigation--contact-content .list-iconed-text {
  --fill: var(--clr-secondary);
}
.main-navigation--contact-content .list-iconed-text svg path {
  fill: var(--fill);
}
.main-navigation--contact-content .list-iconed-text li:first-child {
  --fill: var(--clr-primary);
}
.main-navigation--contact-content .list-iconed-text li:last-child {
  --fill: var(--clr-accent);
}
.main-navigation--contact-content form {
  margin-block-start: 2rem;
  gap: 1rem;
}
.main-navigation--contact-form-col {
  padding-inline-end: 0.75rem;
  height: min(58.5lvh, 35rem);
  overflow-y: auto;
  scroll-behavior: smooth;
}
.main-navigation--contact-form-col::-webkit-scrollbar {
  width: 0.25rem;
}
.main-navigation--contact-form-col::-webkit-scrollbar-track {
  background: var(--clr-neutral-300);
}
.main-navigation--contact-form-col::-webkit-scrollbar-thumb {
  background: var(--clr-neutral-500);
}
.main-navigation--contact-form-col::-webkit-scrollbar-thumb:hover {
  background: var(--clr-secondary);
}
.main-navigation--contact-form-col footer {
  margin-block-start: 2rem;
}
.main-navigation--contact-map {
  position: relative;
  margin-block-end: 2rem;
  height: 10rem;
  background: url("../images/menu_map.png") no-repeat center center/cover;
  box-shadow: var(--shadow-300);
  transition: transform 200ms ease;
}
.main-navigation--contact-map.framed {
  --brd-size: 0.25rem;
  --brd-radius: var(--radius-300);
}
.main-navigation--contact-map:hover {
  transform: scale(1.05);
}
.main-navigation--contact-map::before {
  position: absolute;
  border: 0.063rem solid var(--clr-neutral-200);
  border-radius: var(--radius-300);
  content: "";
  inset: -0.313rem -0.313rem -0.313rem -0.313rem;
}

.card-article img {
  margin-block-end: var(--gap, 1rem);
  width: 100%;
  max-height: 10rem;
  object-fit: cover;
}
.card-article h4 {
  margin-block-end: var(--gap, 1rem);
  text-wrap: balance;
}
.card-article summary {
  margin-block-end: calc(var(--gap, 1rem) * 2);
}

.card-review--ratings {
  margin-block-end: 2rem;
  width: min(100%, 12rem);
}
.card-review svg {
  display: block;
}
.card-review footer {
  display: grid;
  margin-block-start: 2rem;
  color: var(--clr-heading);
  grid-template-columns: 3rem auto;
  grid-column-gap: 1rem;
}
.card-review footer img {
  border-radius: 3rem;
}
.card-review footer span {
  display: block;
  color: var(--clr-text);
  font-size: 0.75em;
}

ul.list-iconed-text,
ol.list-iconed-text {
  display: flex;
  margin: 0;
  padding: 0;
  gap: 1rem;
  flex-direction: column;
}
ul.list-iconed-text svg,
ol.list-iconed-text svg {
  width: 1.25rem;
  height: auto;
  flex-shrink: 0;
}
ul.list-iconed-text li,
ol.list-iconed-text li {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
}
ul.list-iconed-text.list-300,
ol.list-iconed-text.list-300 {
  font-size: 0.75em;
}
ul.list-iconed-text.list-300 li,
ol.list-iconed-text.list-300 li {
  gap: 0.75em;
}

.component-list-social-links {
  --init-align: flex-start;
  display: flex;
  width: 100%;
  gap: 0.5rem;
  justify-content: var(--align, var(--init-align));
}
@media only screen and (min-width: 48rem) {
  .component-list-social-links {
    --align: flex-end;
  }
}
.component-list-social-links a {
  display: flex;
  padding: 0.5rem;
  width: 2.5rem;
  height: 2.5rem;
  background: var(--clr-heading);
  border-radius: var(--radius-300);
  justify-content: center;
  align-items: center;
}
.component-list-social-links a:hover {
  background-color: var(--clr-secondary);
}
.component-list-social-links svg path {
  fill: var(--clr-w);
}

.component.block-notice {
  display: none;
  margin-block-start: 2rem;
  padding: 1.5rem;
  color: var(--clr-w);
  border-radius: var(--radius-400);
}
.component.block-notice h4 {
  margin-block-end: 1rem;
  color: inherit;
  font-family: var(--ff-primary);
  font-weight: 800;
}
.component.block-notice strong {
  font-weight: 800;
}
.component.block-notice.active {
  display: block;
}
.component.block-notice.error {
  background-color: var(--clr-red);
}
.component.block-notice.error li {
  position: relative;
  padding-inline-start: 1.75rem;
}
.component.block-notice.error li::before {
  position: absolute;
  width: 1.5rem;
  height: 1.5rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cmask id='mask0_436_8763' style='mask-type:alpha' maskUnits='userSpaceOnUse' x='0' y='0' width='16' height='16'%3E%3Crect width='16' height='16' fill='%23D9D9D9'/%3E%3C/mask%3E%3Cg mask='url(%23mask0_436_8763)'%3E%3Cpath d='M5.6 10.8718L8 8.4718L10.4 10.8718L10.8718 10.4L8.4718 8L10.8718 5.6L10.4 5.1282L8 7.5282L5.6 5.1282L5.1282 5.6L7.5282 8L5.1282 10.4L5.6 10.8718ZM8.00223 14C7.17253 14 6.39248 13.8426 5.66207 13.5277C4.93166 13.2128 4.29629 12.7855 3.75598 12.2457C3.21568 11.7059 2.78794 11.0711 2.47277 10.3414C2.15759 9.61163 2 8.83192 2 8.00223C2 7.17253 2.15744 6.39248 2.47232 5.66207C2.78721 4.93166 3.21455 4.29629 3.75435 3.75598C4.29415 3.21568 4.92891 2.78794 5.65863 2.47277C6.38837 2.15759 7.16808 2 7.99777 2C8.82747 2 9.60752 2.15744 10.3379 2.47232C11.0683 2.78721 11.7037 3.21455 12.244 3.75435C12.7843 4.29415 13.2121 4.92891 13.5272 5.65863C13.8424 6.38837 14 7.16808 14 7.99777C14 8.82747 13.8426 9.60752 13.5277 10.3379C13.2128 11.0683 12.7855 11.7037 12.2457 12.244C11.7059 12.7843 11.0711 13.2121 10.3414 13.5272C9.61163 13.8424 8.83192 14 8.00223 14Z' fill='white'/%3E%3C/g%3E%3C/svg%3E") no-repeat center center;
  content: "";
  inset: 0 auto auto 0;
}
.component.block-notice.success {
  background-color: var(--clr-green);
}
.component.block-notice ol {
  display: flex;
  gap: 0.5rem;
  flex-direction: column;
}

.row {
  width: 100%;
}

.row-100 {
  width: min(100%, 48rem);
}

.row-300 {
  width: min(100%, 67.5rem);
}

.row-400 {
  width: min(100%, 82rem);
}

.row-500 {
  width: min(100%, 92.5rem);
}

.row-700 {
  width: min(100%, 106rem);
}

.link-overlay::before {
  position: absolute;
  pointer-events: all;
  content: "";
  inset: 0 0 0 0;
}

.link-w-icon {
  display: grid;
  line-height: 1.5;
  grid-template-columns: auto 1fr;
  grid-column-gap: 0.75rem;
}
.link-w-icon svg,
.link-w-icon img {
  flex-shrink: 1;
}

.bg-neutral-200 {
  background-color: var(--clr-neutral-200);
}

.bg-neutral-700 {
  background-color: var(--clr-neutral-700);
}

.framed {
  --brd-size: 0.5rem;
  --brd-radius: var(--radius-400);
  border: var(--brd-size) solid var(--clr-w);
  border-radius: var(--brd-radius);
}

.shadow-400 {
  box-shadow: var(--shadow-400);
}

.framed-image {
  border-top: 0.5rem solid var(--clr-primary);
  border-right: 0.5rem solid var(--clr-secondary);
  border-bottom: 0.5rem solid var(--clr-secondary);
  border-left: 0.5rem solid var(--clr-primary);
  border-radius: var(--radius-400);
  object-fit: cover;
}

.hr {
  height: 0.063rem;
  background: var(--gradient-h);
  margin-block: var(--fspc-700);
}

/*# sourceMappingURL=global.css.map */
