.project-card {
  display: flex;
  flex-direction: column;
  gap: clamp(1.2rem, 1.111vw, 4.267rem);
  width: 100%;
  text-decoration: none;
  color: var(--c-text);
  font-family: "IBM Plex Mono", monospace;
  transition: opacity 0.2s ease-in-out;
}
.project-card:active {
  opacity: 0.85;
}
@media (hover: hover) and (pointer: fine) {
  .project-card:hover .project-card__overlay {
    opacity: 1;
  }
}
.project-card__media {
  position: relative;
  width: 100%;
  aspect-ratio: 430/285;
  overflow: hidden;
  background-color: var(--c-bg-elevated);
}
.project-card__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.project-card__video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.project-card__overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.3);
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
  pointer-events: none;
  will-change: opacity;
}
.project-card__body {
  display: flex;
  flex-direction: column;
  gap: clamp(0.6rem, 0.417vw, 1.6rem);
}
.project-card__heading {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(0.8rem, 0.556vw, 2.133rem);
  font-family: "IBM Plex Mono", monospace;
  font-weight: 400;
  font-size: clamp(1.4rem, 0.972vw, 3.733rem);
  line-height: 1.1;
  letter-spacing: -0.05em;
  text-transform: uppercase;
  color: var(--c-text);
}
.project-card__title, .project-card__sep, .project-card__type {
  display: inline-block;
}
.project-card__meta {
  margin: 0;
  font-family: "IBM Plex Mono", monospace;
  font-weight: 300;
  font-size: clamp(1rem, 0.694vw, 2.667rem);
  line-height: 1.2;
  letter-spacing: -0.03em;
  text-transform: uppercase;
  color: var(--c-text);
}

.btn {
  display: inline-block;
  text-transform: uppercase;
  font-weight: 500;
  text-decoration: none;
  padding: 1rem 1.4rem;
  cursor: pointer;
  border-radius: 0;
  position: relative;
  z-index: 1;
  overflow: hidden;
  transition: border-color 0.3s ease-in-out, color 0.3s ease-in-out, background-color 0.3s ease-in-out;
  border: 1px solid #231f20;
  background-color: transparent;
  color: #231f20;
  position: relative;
  overflow: hidden;
}
.btn::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0;
  background-color: currentColor;
  pointer-events: none;
}
.btn:active::after {
  animation: la-button-shutter 0.6s cubic-bezier(0.19, 1, 0.22, 1) forwards;
}
@media (hover: hover) and (pointer: fine) {
  .btn:hover::after {
    animation: la-button-shutter 0.6s cubic-bezier(0.19, 1, 0.22, 1) forwards;
  }
}
@media (prefers-reduced-motion: reduce) {
  .btn::after {
    content: none;
  }
}
.btn.--white-transparent {
  border-color: #ffffff;
  color: #ffffff;
}

.wpcf7 {
  width: 100%;
}
.wpcf7 .screen-reader-response {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.wpcf7-form {
  display: flex;
  flex-direction: column;
  gap: clamp(1.988rem, 1.38vw, 5.3rem);
  font-family: "IBM Plex Mono", monospace;
  color: var(--c-text);
}
.wpcf7-form .wpcf7-form-control-wrap {
  display: block;
  position: static;
  width: 100%;
}
.wpcf7-form fieldset {
  border: 0;
  padding: 0;
  margin: 0;
  min-inline-size: 0;
}
.wpcf7-form .hidden-fields-container {
  display: none;
}
.wpcf7-form .wpcf7-spinner {
  display: none;
}
.wpcf7-form .wpcf7-not-valid-tip {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  margin-top: 0.4rem;
  color: #ee5353;
  font-size: clamp(1.1rem, 1.027rem + 0.193vw, 1.667rem);
  line-height: 1.4;
  letter-spacing: -0.02em;
  pointer-events: none;
}
.wpcf7-form .wpcf7-response-output {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: clamp(1.2rem, 1.105rem + 0.255vw, 2rem);
  line-height: 1.4;
  letter-spacing: -0.02em;
}
.wpcf7-form.invalid .wpcf7-response-output, .wpcf7-form.unaccepted .wpcf7-response-output, .wpcf7-form.payment-required .wpcf7-response-output, .wpcf7-form.sent .wpcf7-response-output {
  margin-top: clamp(1.2rem, 0.954rem + 0.654vw, 2.4rem);
}
.wpcf7-form.invalid .wpcf7-response-output, .wpcf7-form.unaccepted .wpcf7-response-output, .wpcf7-form.payment-required .wpcf7-response-output {
  color: #ee5353;
}
.wpcf7-form.sent .wpcf7-response-output {
  color: #008c32;
}

.contact-form__row {
  display: flex;
  flex-direction: column;
  gap: clamp(0.8rem, 0.555vw, 2.133rem);
  border-bottom: clamp(0.1rem, 0.0694vw, 0.267rem) solid var(--c-border);
  transition: border-bottom-color 0.2s ease-in-out;
}
.contact-form__row:focus-within {
  border-bottom-color: var(--c-text);
  border-bottom-width: clamp(0.15rem, 0.104vw, 0.4rem);
}
@media (hover: hover) and (pointer: fine) {
  .contact-form__row:hover {
    border-bottom-color: var(--c-text);
    border-bottom-width: clamp(0.15rem, 0.104vw, 0.4rem);
  }
}
.contact-form__row {
  position: relative;
}
.contact-form__row:focus-within .contact-form__label, .contact-form__row.--filled .contact-form__label {
  color: var(--c-text);
}
@media (hover: hover) and (pointer: fine) {
  .contact-form__row:hover .contact-form__label {
    color: var(--c-text);
  }
}
.contact-form__row.--filled {
  border-bottom-color: var(--c-text);
  border-bottom-width: clamp(0.15rem, 0.104vw, 0.4rem);
}
.contact-form__row:has(input.wpcf7-not-valid), .contact-form__row:has(textarea.wpcf7-not-valid), .contact-form__row:has(select.wpcf7-not-valid) {
  border-bottom-color: #ee5353;
}

.contact-form__label {
  font-family: "IBM Plex Mono", monospace;
  font-weight: 400;
  font-size: clamp(1.2rem, 0.833vw, 3.2rem);
  line-height: 1.5;
  letter-spacing: -0.03em;
  color: var(--c-text-muted);
  margin: 0;
  transition: color 0.2s ease-in-out;
}

.contact-form__required {
  display: inline-block;
  margin-left: 0.2em;
  font-size: 0.645em;
  vertical-align: super;
  line-height: 1;
  color: inherit;
}

.contact-form__input,
.contact-form__textarea {
  width: 100%;
  appearance: none;
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0 0 clamp(0.8rem, 0.555vw, 2.133rem);
  margin: 0;
  font-family: "IBM Plex Mono", monospace;
  font-weight: 400;
  font-size: clamp(1.4rem, 1.12rem + 0.333vw, 2.4rem);
  line-height: 1.5;
  letter-spacing: -0.03em;
  color: var(--c-text);
  outline: none;
}
.contact-form__input::placeholder,
.contact-form__textarea::placeholder {
  color: var(--c-text-muted);
  opacity: 1;
}
.contact-form__input:focus::placeholder,
.contact-form__textarea:focus::placeholder {
  opacity: 0.6;
}
.contact-form__input:focus-visible,
.contact-form__textarea:focus-visible {
  outline: none;
}

.contact-form__textarea {
  resize: vertical;
  height: calc(9.1rem + clamp(0.8rem, 0.555vw, 2.133rem));
  display: block;
}
@media only screen and (min-width: 1024px) {
  .contact-form__textarea {
    height: calc(clamp(5.2rem, 3.611vw, 13.867rem) + clamp(0.8rem, 0.555vw, 2.133rem));
  }
}

.contact-form__row .iti {
  display: block;
  width: 100%;
  --iti-spacer-horizontal: clamp(1rem, 0.85rem + 0.4vw, 1.6rem);
  --iti-arrow-padding: clamp(1rem, 0.83rem + 0.45vw, 1.8rem);
  --iti-hover-color: rgba(255, 255, 255, 0.08);
  --iti-border-color: var(--c-border);
  --iti-country-selector-bg: #231f20;
  --iti-icon-color: var(--c-text);
}
.contact-form__row .iti .iti__country-container {
  padding-right: clamp(0.4rem, 0.27rem + 0.35vw, 1rem);
  bottom: clamp(0.8rem, 0.555vw, 2.133rem);
}
.contact-form__row .iti .iti__selected-dial-code {
  margin-left: clamp(0.6rem, 0.5rem + 0.3vw, 1rem);
  font-family: "IBM Plex Mono", monospace;
  font-weight: 400;
  font-size: clamp(1.4rem, 1.12rem + 0.333vw, 2.4rem);
  line-height: 1.5;
  letter-spacing: -0.03em;
}
.contact-form__row .iti .iti__selected-country,
.contact-form__row .iti .iti__selected-country-primary {
  color: var(--c-text);
}
.contact-form__row .iti .iti__selected-country-primary:hover,
.contact-form__row .iti .iti__selected-country-primary:focus-visible {
  background-color: var(--iti-hover-color);
}
.contact-form__row .iti .iti__arrow {
  border-color: var(--c-text);
}
.contact-form__row .iti .iti__country-selector {
  font-family: "IBM Plex Mono", monospace;
  background-color: #231f20;
  border: 1px solid #4f4f4f;
  box-shadow: 0 0.6rem 1.8rem rgba(0, 0, 0, 0.35);
}
.contact-form__row .iti .iti__search-input {
  background-color: transparent;
  color: #ffffff;
  font-family: "IBM Plex Mono", monospace;
  font-size: clamp(1.3rem, 1.205rem + 0.255vw, 2rem);
}
.contact-form__row .iti .iti__search-input::placeholder {
  color: rgba(255, 255, 255, 0.6);
  opacity: 1;
}
.contact-form__row .iti .iti__search-input-wrapper {
  border-bottom-color: var(--iti-border-color);
}
.contact-form__row .iti .iti__country {
  color: #ffffff;
  font-size: clamp(1.3rem, 1.205rem + 0.255vw, 2rem);
  line-height: 1.4;
}
.contact-form__row .iti .iti__country.iti__highlight {
  background-color: var(--iti-hover-color);
}
.contact-form__row .iti .iti__dial-code {
  color: rgba(255, 255, 255, 0.6);
}

.iti--inline-country-selector .iti__country-selector,
.iti--detached-country-selector .iti__country-selector {
  font-family: "IBM Plex Mono", monospace;
  background-color: #231f20;
  border: 1px solid #4f4f4f;
  color: #ffffff;
}
.iti--inline-country-selector .iti__country-selector .iti__search-input,
.iti--detached-country-selector .iti__country-selector .iti__search-input {
  background-color: transparent;
  color: #ffffff;
  font-family: "IBM Plex Mono", monospace;
}
.iti--inline-country-selector .iti__country-selector .iti__search-input::placeholder,
.iti--detached-country-selector .iti__country-selector .iti__search-input::placeholder {
  color: rgba(255, 255, 255, 0.6);
  opacity: 1;
}
.iti--inline-country-selector .iti__country-selector .iti__search-input-wrapper,
.iti--detached-country-selector .iti__country-selector .iti__search-input-wrapper {
  border-bottom-color: #4f4f4f;
}
.iti--inline-country-selector .iti__country-selector .iti__search-icon-svg,
.iti--detached-country-selector .iti__country-selector .iti__search-icon-svg {
  stroke: #ffffff;
}
.iti--inline-country-selector .iti__country-selector .iti__country,
.iti--detached-country-selector .iti__country-selector .iti__country {
  color: #ffffff;
}
.iti--inline-country-selector .iti__country-selector .iti__country.iti__highlight,
.iti--detached-country-selector .iti__country-selector .iti__country.iti__highlight {
  background-color: rgba(255, 255, 255, 0.08);
}
.iti--inline-country-selector .iti__country-selector .iti__dial-code,
.iti--detached-country-selector .iti__country-selector .iti__dial-code {
  color: rgba(255, 255, 255, 0.6);
}

.wpcf7-form input:-webkit-autofill,
.wpcf7-form input:-webkit-autofill:hover,
.wpcf7-form input:-webkit-autofill:focus,
.wpcf7-form textarea:-webkit-autofill,
.wpcf7-form select:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px var(--c-bg) inset;
  -webkit-text-fill-color: var(--c-text);
  caret-color: var(--c-text);
  transition: background-color 5000s ease-in-out 0s;
}

.contact-form__actions {
  margin-top: 0;
}
@media only screen and (min-width: 1024px) {
  .contact-form__actions {
    text-align: right;
  }
}

.contact-form__submit,
.wpcf7-form input[type=submit] {
  appearance: none;
  display: inline-block;
  background: transparent;
  border: clamp(0.1rem, 0.052vw, 0.2rem) solid var(--c-text);
  border-radius: 0;
  padding: clamp(1.1rem, 0.763vw, 2.93rem) clamp(1.6rem, 1.042vw, 4rem);
  font-family: "IBM Plex Mono", monospace;
  font-weight: 400;
  font-size: clamp(1.4rem, 1.12rem + 0.333vw, 2.4rem);
  line-height: 1.2;
  letter-spacing: -0.03em;
  text-transform: uppercase;
  color: var(--c-text);
  cursor: pointer;
  width: 100%;
  transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
}
.contact-form__submit:active,
.wpcf7-form input[type=submit]:active {
  opacity: 0.85;
}
.contact-form__submit,
.wpcf7-form input[type=submit] {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  transition: color 0.45s ease;
}
.contact-form__submit::after,
.wpcf7-form input[type=submit]::after {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 0;
  background-color: var(--c-text);
  z-index: -1;
  pointer-events: none;
  transition: height 0.6s cubic-bezier(0.87, 0, 0.13, 1);
}
.contact-form__submit .btn-roll,
.wpcf7-form input[type=submit] .btn-roll {
  position: relative;
  display: inline-block;
  overflow: hidden;
  vertical-align: bottom;
}
.contact-form__submit .btn-roll__line,
.wpcf7-form input[type=submit] .btn-roll__line {
  display: block;
  transition: transform 0.6s cubic-bezier(0.87, 0, 0.13, 1);
}
.contact-form__submit .btn-roll__line.--ghost,
.wpcf7-form input[type=submit] .btn-roll__line.--ghost {
  position: absolute;
  inset: 100% 0 auto 0;
}
.contact-form__submit .btn-swap,
.wpcf7-form input[type=submit] .btn-swap {
  position: relative;
  overflow: hidden;
}
.contact-form__submit .btn-swap__line,
.wpcf7-form input[type=submit] .btn-swap__line {
  display: inline-flex;
  width: 100%;
  height: 100%;
  transition: transform 0.6s cubic-bezier(0.87, 0, 0.13, 1);
}
.contact-form__submit .btn-swap__line.--ghost,
.wpcf7-form input[type=submit] .btn-swap__line.--ghost {
  position: absolute;
  inset: 0 auto 0 -100%;
}
.contact-form__submit .btn-swap.--diag .btn-swap__line.--ghost,
.wpcf7-form input[type=submit] .btn-swap.--diag .btn-swap__line.--ghost {
  inset: 100% auto auto -100%;
}
.contact-form__submit .btn-swap.--left .btn-swap__line.--ghost,
.wpcf7-form input[type=submit] .btn-swap.--left .btn-swap__line.--ghost {
  inset: 0 auto 0 100%;
}
@media (hover: hover) and (pointer: fine) {
  .contact-form__submit:hover,
  .wpcf7-form input[type=submit]:hover {
    color: var(--c-bg);
  }
  .contact-form__submit:hover::after,
  .wpcf7-form input[type=submit]:hover::after {
    height: 100%;
  }
  .contact-form__submit:hover .btn-roll__line,
  .wpcf7-form input[type=submit]:hover .btn-roll__line {
    transform: translateY(-100%);
  }
  .contact-form__submit:hover .btn-swap__line,
  .wpcf7-form input[type=submit]:hover .btn-swap__line {
    transform: translateX(100%);
  }
  .contact-form__submit:hover .btn-swap.--diag .btn-swap__line,
  .wpcf7-form input[type=submit]:hover .btn-swap.--diag .btn-swap__line {
    transform: translate(100%, -100%);
  }
  .contact-form__submit:hover .btn-swap.--left .btn-swap__line,
  .wpcf7-form input[type=submit]:hover .btn-swap.--left .btn-swap__line {
    transform: translateX(-100%);
  }
}
.contact-form__submit:active,
.wpcf7-form input[type=submit]:active {
  color: var(--c-bg);
}
.contact-form__submit:active::after,
.wpcf7-form input[type=submit]:active::after {
  height: 100%;
}
.contact-form__submit:active .btn-roll__line,
.wpcf7-form input[type=submit]:active .btn-roll__line {
  transform: translateY(-100%);
}
.contact-form__submit:active .btn-swap__line,
.wpcf7-form input[type=submit]:active .btn-swap__line {
  transform: translateX(100%);
}
.contact-form__submit:active .btn-swap.--diag .btn-swap__line,
.wpcf7-form input[type=submit]:active .btn-swap.--diag .btn-swap__line {
  transform: translate(100%, -100%);
}
.contact-form__submit:active .btn-swap.--left .btn-swap__line,
.wpcf7-form input[type=submit]:active .btn-swap.--left .btn-swap__line {
  transform: translateX(-100%);
}
@media (prefers-reduced-motion: reduce) {
  .contact-form__submit::after,
  .contact-form__submit .btn-roll__line,
  .contact-form__submit .btn-swap__line,
  .wpcf7-form input[type=submit]::after,
  .wpcf7-form input[type=submit] .btn-roll__line,
  .wpcf7-form input[type=submit] .btn-swap__line {
    transition: none;
  }
}
@media only screen and (min-width: 1024px) {
  .contact-form__submit,
  .wpcf7-form input[type=submit] {
    width: auto;
  }
}

.footer {
  position: relative;
  overflow: hidden;
  background-color: var(--c-bg);
  color: var(--c-text);
  font-family: "IBM Plex Mono", monospace;
  padding: 4rem 1.6rem;
}
@media only screen and (min-width: 768px) {
  .footer {
    padding: 4rem 3.2rem;
  }
}
@media only screen and (min-width: 1024px) {
  .footer {
    padding-top: clamp(8rem, 5.556vw, 21.333rem);
    padding-bottom: clamp(2rem, 1.389vw, 5.333rem);
    padding-inline: clamp(4rem, 2.779vw, 10.667rem);
    display: flex;
    align-items: stretch;
    gap: clamp(2rem, 2.779vw, 10.667rem);
  }
}
.footer__watermark {
  position: absolute;
  left: 1.6rem;
  right: 1.6rem;
  bottom: 4rem;
  z-index: 0;
  pointer-events: none;
  user-select: none;
  line-height: 0;
  color: var(--c-footer-watermark);
}
@media only screen and (min-width: 768px) {
  .footer__watermark {
    left: 3.2rem;
    right: 3.2rem;
  }
}
@media only screen and (min-width: 1024px) {
  .footer__watermark {
    position: static;
    inset: auto;
    order: 2;
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    align-items: stretch;
    justify-content: flex-end;
  }
}
.footer__watermark-svg {
  display: block;
  width: 100%;
  height: auto;
  fill: currentColor;
}
@media only screen and (min-width: 1024px) {
  .footer__watermark-svg {
    width: auto;
    height: 100%;
    max-width: 100%;
  }
}
.footer__inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 5.2rem;
}
@media only screen and (min-width: 1024px) {
  .footer__inner {
    order: 1;
    flex: 0 0 auto;
    justify-content: space-between;
    gap: 0;
    width: clamp(33.35rem, 23.16vw, 88.93rem);
    min-height: clamp(38.4rem, 26.667vw, 102.4rem);
  }
}
.footer__socials .socials {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: clamp(3.2rem, 2.222vw, 8.533rem);
}
.footer__socials .socials__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  opacity: 0.5;
  transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1), transform 0.2s ease;
}
.footer__socials .socials__link::after {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--c-text);
  -webkit-mask: var(--icon) center/contain no-repeat;
  mask: var(--icon) center/contain no-repeat;
  opacity: 1;
  transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
  will-change: opacity;
}
.footer__socials .socials__link:active {
  opacity: 1;
  transform: scale(0.92);
}
.footer__socials .socials__link:active::after {
  opacity: 0;
}
@media (hover: hover) and (pointer: fine) {
  .footer__socials .socials__link:hover {
    opacity: 1;
  }
  .footer__socials .socials__link:hover::after {
    opacity: 0;
  }
}
.footer__socials .socials__icon {
  width: clamp(3.2rem, 2.222vw, 8.533rem);
  height: clamp(3.2rem, 2.222vw, 8.533rem);
  display: block;
}
.footer__contacts {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2rem;
}
@media only screen and (min-width: 1024px) {
  .footer__contacts {
    gap: clamp(2.4rem, 1.667vw, 6.4rem);
  }
}
.footer__contact {
  display: inline-flex;
  align-items: center;
  gap: clamp(1.067rem, 0.741vw, 2.844rem);
  text-decoration: none;
  color: var(--c-text);
  transition: opacity 0.2s ease, color 0.2s ease;
}
.footer__contact:active {
  opacity: 0.6;
}
@media (hover: hover) and (pointer: fine) {
  .footer__contact:hover {
    opacity: 0.6;
  }
  .footer__contact:hover .footer__contact-icon {
    transform: translate(0.2rem, -0.2rem);
  }
}
@media (hover: hover) and (pointer: fine) {
  .footer__contact.--telegram:hover {
    opacity: 1;
  }
  .footer__contact.--telegram:hover .footer__contact-label,
  .footer__contact.--telegram:hover .footer__contact-icon {
    color: #2496e5;
  }
}
@media (hover: hover) and (pointer: fine) {
  .footer__contact.--whatsapp:hover {
    opacity: 1;
  }
  .footer__contact.--whatsapp:hover .footer__contact-label,
  .footer__contact.--whatsapp:hover .footer__contact-icon {
    color: #00d656;
  }
}
@media (hover: hover) and (pointer: fine) {
  .footer__contact.--email:hover .footer__contact-icon, .footer__contact.--phone:hover .footer__contact-icon {
    transform: none;
  }
}
.footer__contact-label {
  font-family: "IBM Plex Mono", monospace;
  font-size: clamp(1.6rem, 1.111vw, 4.267rem);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
  text-transform: uppercase;
  color: var(--c-text);
  text-decoration: none;
  transition: color 0.2s ease;
}
.footer__contact.--email .footer__contact-label {
  transition: opacity 0.2s ease;
}
.footer__contact.--email .footer__contact-label:active {
  text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
  .footer__contact.--email .footer__contact-label:hover {
    text-decoration: underline;
    text-underline-offset: 0.15em;
  }
}
.footer__contact-icon {
  width: clamp(2.2rem, 1.528vw, 5.867rem);
  height: clamp(2.2rem, 1.528vw, 5.867rem);
  display: block;
  color: inherit;
  transition: transform 0.2s ease, color 0.2s ease;
}
.footer__contact-icon svg {
  width: 100%;
  height: 100%;
  stroke: currentColor;
  fill: none;
}
.footer__email-copy {
  appearance: none;
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
  cursor: pointer;
  color: var(--c-text);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.2s ease, transform 0.2s ease;
  position: relative;
}
.footer__email-copy .footer__contact-icon {
  width: clamp(2.4rem, 1.667vw, 6.4rem);
  height: clamp(2.4rem, 1.667vw, 6.4rem);
}
.footer__email-copy:active {
  opacity: 0.5;
  transform: scale(0.88);
}
@media (hover: hover) and (pointer: fine) {
  .footer__email-copy:hover {
    opacity: 0.6;
  }
  .footer__email-copy:hover .footer__contact-icon {
    transform: scale(1.1);
  }
}
.footer__email-copy.--copied {
  color: #fec450;
}
.footer__email-copy.--copied::after {
  content: attr(data-label-done);
  position: absolute;
  bottom: calc(100% + 0.4rem);
  left: 50%;
  transform: translateX(-50%);
  background: var(--c-bg-elevated);
  color: var(--c-text);
  font-family: "IBM Plex Mono", monospace;
  font-size: 1rem;
  text-transform: uppercase;
  padding: 0.4rem 0.6rem;
  border-radius: 0.3rem;
  pointer-events: none;
  white-space: nowrap;
}
.footer__bottom {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1.2rem;
  min-height: calc((100vw - 3.2rem) / 2.245);
}
@media only screen and (min-width: 768px) {
  .footer__bottom {
    min-height: calc((100vw - 6.4rem) / 2.245);
  }
}
@media only screen and (min-width: 1024px) {
  .footer__bottom {
    gap: 0.8rem;
    min-height: 0;
  }
}
.footer__privacy {
  font-size: clamp(1.4rem, 0.972vw, 3.733rem);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
  text-transform: uppercase;
  color: var(--c-text-muted);
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.footer__privacy:active {
  text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
  .footer__privacy:hover {
    text-decoration: underline;
    text-underline-offset: 0.15em;
  }
}
@media only screen and (min-width: 1024px) {
  .footer__privacy {
    font-size: clamp(1.6rem, 1.111vw, 4.267rem);
  }
}
.footer__copyright {
  margin: 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
  text-transform: uppercase;
  color: var(--c-footer-copyright);
}
@media only screen and (min-width: 1024px) {
  .footer__copyright {
    font-size: clamp(1.4rem, 0.972vw, 3.733rem);
  }
}

[data-reveal] {
  opacity: 0;
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
  will-change: opacity, transform;
}
[data-reveal][data-reveal=fade-up] {
  transform: translateY(2.4rem);
}
[data-reveal][data-reveal=fade-down] {
  transform: translateY(-2.4rem);
}
[data-reveal][data-reveal=fade-left] {
  transform: translateX(-2.4rem);
}
[data-reveal][data-reveal=fade-right] {
  transform: translateX(2.4rem);
}
[data-reveal][data-reveal=fade-in] {
  transform: none;
}
[data-reveal][data-reveal=scale-in] {
  transform: scale(0.94);
}
[data-reveal][data-reveal=slide-up] {
  opacity: 1;
  transform: translateY(clamp(5rem, 6.94vw, 10rem));
  transition: transform 0.8s cubic-bezier(0.13, 0.78, 0.53, 0.92);
}
[data-reveal].is-revealed {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  [data-reveal] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}
@keyframes la-button-shutter {
  0% {
    top: 0;
    height: 0;
  }
  50% {
    top: 0;
    height: 100%;
  }
  100% {
    top: 50%;
    height: 0;
  }
}
main {
  visibility: visible;
}