@charset "UTF-8";
@font-face {
  font-family: "Satoshi";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/satoshi/Satoshi-Light.woff") format("woff");
}
@font-face {
  font-family: "Satoshi";
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url("../fonts/satoshi/Satoshi-LightItalic.woff") format("woff");
}
@font-face {
  font-family: "Satoshi";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/satoshi/Satoshi-Regular.woff") format("woff");
}
@font-face {
  font-family: "Satoshi";
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/satoshi/Satoshi-Italic.woff") format("woff");
}
@font-face {
  font-family: "Satoshi";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/satoshi/Satoshi-Medium.woff") format("woff");
}
@font-face {
  font-family: "Satoshi";
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url("../fonts/satoshi/Satoshi-MediumItalic.woff") format("woff");
}
@font-face {
  font-family: "Satoshi";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/satoshi/Satoshi-Bold.woff") format("woff");
}
@font-face {
  font-family: "Satoshi";
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/satoshi/Satoshi-BoldItalic.woff") format("woff");
}
@font-face {
  font-family: "Satoshi";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("../fonts/satoshi/Satoshi-Black.woff") format("woff");
}
@font-face {
  font-family: "Satoshi";
  font-style: italic;
  font-weight: 900;
  font-display: swap;
  src: url("../fonts/satoshi/Satoshi-BlackItalic.woff") format("woff");
}
html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  color: #000000;
  background-color: #ffffff;
  overflow-x: hidden;
}

img,
svg {
  max-width: 100%;
}

.site-main {
  min-height: 50vh;
}

.post,
.page {
  margin: 0;
}

.site {
  overflow: clip;
}

:is(button, input[type=button], input[type=reset], input[type=submit], .button, .wp-block-button__link, .wc-block-components-button):focus-visible {
  outline: 2px solid #fde605 !important;
  outline-offset: 3px;
}

.wc-block-components-button:not(.is-link):focus-visible,
body:not(.woocommerce-block-theme-has-button-styles) .wc-block-components-button:not(.is-link):focus-visible {
  box-shadow: 0 0 0 2px #fde605 !important;
  outline: 3px solid transparent !important;
}

.wc-block-components-notice-banner > .wc-block-components-button:focus-visible {
  outline-color: #fde605 !important;
}

.wc-block-components-express-payment .wc-block-components-express-payment__event-buttons > :is(div, li):focus-within::after,
.wc-block-components-express-payment .wc-block-components-express-payment__event-button--focused::after {
  border-color: #fde605 !important;
}

:focus:not(:focus-visible) {
  outline: none !important;
}

html {
  -webkit-tap-highlight-color: transparent;
}

.firma-container {
  width: min(100% - 2.5rem, 75rem);
  margin-inline: auto;
}

.page-home__section {
  padding-block: clamp(3rem, 7vw, 6rem);
}

.section-heading h2,
.home-clients h2,
.newsletter-card h2 {
  margin: 0;
  font-size: clamp(2.25rem, 3.5vw, 3.125rem);
  font-weight: 400;
  line-height: 1.1;
}

:root {
  --bs-font-sans-serif: Satoshi, system-ui, -apple-system, Segoe UI, sans-serif;
  --bs-body-font-family: Satoshi, system-ui, -apple-system, Segoe UI, sans-serif;
}

body,
button,
input,
select,
optgroup,
textarea {
  font-family: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 1rem;
  line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;
}

a {
  color: #000000;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border: 1px solid transparent;
  border-radius: 0.375rem;
  padding: 0.625rem 1rem;
  background-color: #000000;
  color: #ffffff;
  text-decoration: none;
}

.header-cta,
.newsletter-form button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  text-decoration: none;
}

.site-header {
  position: relative;
  z-index: 1000;
  padding: 0;
  border: 0;
  background: #ffffff;
}

.site-header__inner {
  display: grid;
  grid-template-columns: 11.5rem minmax(0, 1fr) auto;
  align-items: center;
  gap: 2rem;
  width: min(100% - 2.5rem, 75rem);
  height: 8.625rem;
  margin-inline: auto;
  border-bottom: 1px solid #000000;
  padding-top: 1.875rem;
}

.site-brand {
  display: grid;
  gap: 0.45rem;
  color: #000000;
  text-decoration: none;
}

.site-brand:visited,
.site-brand:hover,
.site-brand:focus {
  color: #000000;
}

.site-brand img {
  display: block;
  width: 11.5rem;
  height: 1.75rem;
  object-fit: contain;
  object-position: left center;
}

.site-brand span {
  color: #000000;
  font-size: 0.625rem;
  font-weight: 700;
  line-height: 1.2;
}

.site-header__actions {
  display: flex;
  align-items: center;
  gap: 1.75rem;
}

.header-search,
.header-product-search__submit,
.header-product-search__close {
  border: 0;
  padding: 0;
  background: transparent;
  color: #000000;
}

.header-search {
  display: grid;
  place-items: center;
  width: 1.875rem;
  height: 1.875rem;
  cursor: pointer;
}

.header-search img {
  display: block;
  width: 100%;
  height: 100%;
}

.header-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 7.1875rem;
  height: 2.0625rem;
  padding-inline: 1.25rem;
  background: rgba(253, 230, 5, 0.9);
  color: #000000;
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
  transition: transform 180ms ease, background-color 180ms ease;
}

.header-cta:visited,
.header-cta:hover,
.header-cta:focus-visible {
  background: #fde605;
  color: #000000;
  text-decoration: none;
}

.header-cta:hover,
.header-cta:focus-visible {
  transform: translateY(-2px);
}

.header-product-search {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  border-bottom: 1px solid #000000;
  background: #ffffff;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-0.75rem);
  transition: opacity 220ms ease, transform 220ms ease, visibility 220ms ease;
}

.site-header.is-search-open .header-product-search {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.header-product-search__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1.5rem;
  min-height: 6.5rem;
}

.woocommerce-product-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  border-bottom: 1px solid #686868;
  padding-bottom: 0.75rem;
}

.woocommerce-product-search input[type=search] {
  min-width: 0;
  border: 0;
  border-radius: 0;
  padding: 0;
  background: transparent;
  color: #000000;
  font: inherit;
  font-size: 1.25rem;
  outline: 0;
}

.woocommerce-product-search input[type=search]::placeholder {
  color: rgba(0, 0, 0, 0.9);
  opacity: 1;
}

.header-product-search__submit,
.header-product-search__close {
  display: grid;
  place-items: center;
  width: 2.75rem;
  height: 2.75rem;
  cursor: pointer;
}

.header-product-search__submit img {
  width: 1.875rem;
  height: 1.875rem;
}

.header-product-search__close {
  position: relative;
}

.header-product-search__close span {
  position: absolute;
  width: 1.5rem;
  height: 1px;
  background: #000000;
  transform: rotate(45deg);
}

.header-product-search__close span:last-child {
  transform: rotate(-45deg);
}

@media (max-width: 74.9375rem) {
  .site-header__inner {
    gap: 1rem;
  }
  .site-header__actions {
    order: 1;
    justify-self: end;
    gap: 0.75rem;
  }
}
@media (max-width: 61.9375rem) {
  .site-header__inner {
    grid-template-columns: minmax(0, 1fr) auto auto;
    height: 5.5rem;
    padding-top: 0;
  }
  .site-brand {
    gap: 0.25rem;
  }
  .site-brand span {
    font-size: 0.5625rem;
  }
  .header-product-search__inner {
    min-height: 5.5rem;
  }
}
@media (max-width: 35.9375rem) {
  .site-brand img {
    width: 8.75rem;
    height: auto;
  }
  .header-cta {
    display: none;
  }
  .header-product-search__inner {
    gap: 0.5rem;
  }
  .woocommerce-product-search input[type=search] {
    font-size: 1rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .header-cta,
  .header-product-search {
    transition: none;
  }
}
.main-navigation {
  width: auto;
}

.mobile-menu-panel {
  display: contents;
}

.main-navigation .mobile-menu-panel__cta {
  display: none;
}

.mobile-menu-panel__header {
  display: none;
}

.main-navigation .nav-menu,
.main-navigation .sub-menu {
  margin: 0;
  padding: 0;
  list-style: none;
}

.main-navigation .nav-menu {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(0.85rem, 1.55vw, 1.85rem);
}

.main-navigation li {
  float: none;
  position: relative;
}

.main-navigation a {
  display: block;
  padding: 0;
  color: #000000;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
}

.main-navigation a:visited,
.main-navigation a:hover,
.main-navigation a:focus-visible {
  color: #000000;
}

.main-navigation .nav-menu > li > a {
  position: relative;
  padding-block: 0.75rem;
  cursor: pointer;
}

.main-navigation .nav-menu > li > a::after {
  position: absolute;
  right: 0;
  bottom: 0.4rem;
  left: 0;
  height: 1px;
  background: #000000;
  content: "";
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 180ms ease;
}

.main-navigation .nav-menu > li:hover > a::after,
.main-navigation .nav-menu > li:focus-within > a::after {
  transform: scaleX(1);
  transform-origin: left;
}

.menu-toggle,
.menu-close {
  border: 0;
  background: transparent;
  color: #000000;
  cursor: pointer;
}

.submenu-toggle {
  display: none;
}

.main-navigation .sub-menu {
  position: absolute;
  top: calc(100% + 0.65rem);
  left: 50%;
  z-index: 20;
  display: grid;
  grid-template-columns: 1fr;
  box-sizing: border-box;
  width: min(17rem, 100vw - 2rem);
  min-width: 0;
  border: 1px solid rgba(0, 0, 0, 0.18);
  border-top: 2px solid #fde605;
  border-radius: 0;
  padding: 0.375rem;
  background: #ffffff;
  box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.12);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate(-50%, -0.5rem);
  transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
}

.main-navigation .sub-menu::before {
  position: absolute;
  top: -0.85rem;
  right: 0;
  left: 0;
  height: 0.85rem;
  content: "";
}

.main-navigation li:hover > .sub-menu,
.main-navigation li:focus-within > .sub-menu,
.main-navigation li.submenu-open > .sub-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.main-navigation .sub-menu a {
  width: auto;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  padding: 0.75rem 0.85rem;
  font-size: 0.875rem;
  transition: background-color 160ms ease, padding-left 160ms ease;
}

.main-navigation .sub-menu li:last-child a {
  border-bottom: 0;
}

.main-navigation .sub-menu a:hover,
.main-navigation .sub-menu a:focus-visible {
  background: rgba(253, 230, 5, 0.9);
  padding-left: 1.05rem;
  text-decoration: none;
}

.menu-toggle {
  display: none;
  width: 2.75rem;
  height: 2.75rem;
  padding: 0.65rem;
}

.menu-toggle > span:not(.screen-reader-text) {
  display: block;
  height: 1px;
  margin-block: 0.35rem;
  background: #000000;
}

.menu-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1100;
  background: rgba(0, 0, 0, 0.48);
  opacity: 0;
  transition: opacity 280ms ease;
}

.menu-backdrop.is-visible {
  opacity: 1;
}

body.menu-open {
  overflow: hidden;
}

@media (max-width: 74.9375rem) {
  .main-navigation {
    order: 2;
  }
  .menu-toggle {
    display: block;
  }
  .mobile-menu-panel {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1200;
    width: min(88vw, 26rem);
    height: 100vh;
    height: 100dvh;
    overflow-y: auto;
    background: #ffffff;
    box-shadow: 1.25rem 0 3rem rgba(0, 0, 0, 0.18);
    transform: translateX(-105%);
    transition: transform 380ms cubic-bezier(0.22, 1, 0.36, 1);
  }
  .main-navigation.toggled .mobile-menu-panel {
    transform: translateX(0);
  }
  .mobile-menu-panel__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 5.5rem;
    border-bottom: 1px solid #000000;
    padding: 1rem 1.25rem;
  }
  .mobile-menu-panel__header img {
    display: block;
    width: 9.5rem;
    height: auto;
  }
  .menu-close {
    position: relative;
    width: 2.75rem;
    height: 2.75rem;
    padding: 0;
  }
  .menu-close span {
    position: absolute;
    top: 50%;
    left: 0.6rem;
    width: 1.55rem;
    height: 1px;
    background: #000000;
    transform: rotate(45deg);
  }
  .menu-close span:last-child {
    transform: rotate(-45deg);
  }
  .main-navigation .mobile-menu-panel .nav-menu,
  .main-navigation .mobile-menu-panel .nav-menu > li,
  .main-navigation .mobile-menu-panel .sub-menu,
  .main-navigation .mobile-menu-panel .sub-menu > li {
    display: block;
    float: none;
    width: 100%;
  }
  .main-navigation .mobile-menu-panel .nav-menu > li.menu-item-has-children {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 2.75rem;
    align-items: center;
  }
  .main-navigation .mobile-menu-panel .nav-menu {
    padding: 1.5rem 1.25rem 1.5rem;
  }
  .main-navigation .mobile-menu-panel__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: auto;
    margin: 1rem 1.25rem 2rem;
    padding: 1.1rem 1.5rem;
    background: #fde605;
    color: #000000;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1;
    white-space: normal;
    text-decoration: none;
    border-radius: 999px;
    transition: transform 180ms ease;
  }
  .main-navigation .mobile-menu-panel__cta:hover,
  .main-navigation .mobile-menu-panel__cta:focus-visible {
    transform: translateY(-2px);
    color: #000000;
  }
  .main-navigation .nav-menu > li {
    border-bottom: 1px solid rgba(0, 0, 0, 0.18);
  }
  .main-navigation .nav-menu > li > a {
    padding-block: 1.1rem;
    font-size: 1.125rem;
  }
  .main-navigation .nav-menu > li.menu-item-has-children > a {
    grid-column: 1;
    grid-row: 1;
  }
  .submenu-toggle {
    position: relative;
    display: grid;
    grid-column: 2;
    grid-row: 1;
    place-items: center;
    width: 2.75rem;
    height: 2.75rem;
    border: 0;
    padding: 0;
    background: transparent;
    color: #000000;
    cursor: pointer;
  }
  .submenu-toggle::after {
    width: 0.625rem;
    height: 0.625rem;
    border-right: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    content: "";
    transform: rotate(45deg) translate(-0.13rem, -0.13rem);
    transition: transform 220ms ease;
  }
  .submenu-toggle:focus-visible {
    outline: 2px solid #000000;
    outline-offset: -0.25rem;
  }
  .main-navigation .nav-menu > li.submenu-open > .submenu-toggle::after {
    transform: rotate(225deg) translate(-0.1rem, -0.1rem);
  }
  .main-navigation .nav-menu > li.submenu-open > a {
    font-weight: 700;
  }
  .main-navigation .nav-menu > li > a::after {
    display: none;
  }
  .main-navigation .mobile-menu-panel .nav-menu > li.menu-item-has-children > .sub-menu {
    position: static;
    display: block;
    grid-column: 1/-1;
    grid-row: 2;
    width: 100%;
    max-width: none;
    min-width: 0;
    max-height: 0;
    margin: 0;
    border: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.12);
    border-left: 0;
    border-radius: 0;
    padding: 0;
    overflow: hidden;
    background: rgba(0, 0, 0, 0.025);
    box-shadow: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: none;
    transition: max-height 320ms ease, opacity 220ms ease, padding 320ms ease, visibility 220ms ease;
  }
  .main-navigation .mobile-menu-panel li:hover > .sub-menu,
  .main-navigation .mobile-menu-panel li:focus-within > .sub-menu {
    max-height: 0;
    padding: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
  .main-navigation .mobile-menu-panel .nav-menu > li.menu-item-has-children.submenu-open > .sub-menu {
    max-height: 30rem;
    margin-bottom: 0.75rem;
    padding: 0.35rem 0;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
  .main-navigation .sub-menu a {
    width: 100%;
    box-sizing: border-box;
    border-bottom-color: rgba(0, 0, 0, 0.08);
    padding: 0.8rem 1rem;
    font-size: 0.9375rem;
  }
  .main-navigation .sub-menu a:hover,
  .main-navigation .sub-menu a:focus-visible {
    background: rgba(253, 230, 5, 0.9);
    padding-left: 0.95rem;
    text-decoration: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .main-navigation .nav-menu > li > a::after,
  .main-navigation .sub-menu,
  .mobile-menu-panel,
  .menu-backdrop {
    transition: none;
  }
}
.site-footer {
  border: 0;
  padding: 0;
  background: #000000;
  color: #ffffff;
}

.site-footer__inner {
  padding-top: 4.25rem;
}

.site-footer__top {
  display: grid;
  grid-template-columns: 1.2fr 1fr 0.7fr;
  gap: 4rem;
  min-height: 21.25rem;
  border-top: 1px solid #525252;
  padding: 4.75rem 2rem 3rem;
}

.footer-brand > img {
  display: block;
  width: 14rem;
  height: 2.1rem;
  object-fit: contain;
  object-position: left center;
}

.footer-brand p {
  max-width: 23.5rem;
  margin: 3rem 0 0;
  color: #525252;
  font-size: 0.875rem;
  line-height: 1.65;
}

.footer-contact,
.footer-socials {
  padding-top: 4rem;
}

.footer-contact strong,
.footer-socials strong {
  display: block;
  font-size: 1.375rem;
  font-weight: 700;
}

.footer-contact p {
  margin: 0.4rem 0 0;
  font-size: 1.375rem;
}

.footer-contact a,
.site-footer__bottom a {
  color: #ffffff;
  text-decoration: none;
}

.footer-socials__links {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
  margin-top: 1rem;
}

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

.footer-socials__links a {
  display: grid;
  place-items: center;
  width: 2.15rem;
  height: 2.15rem;
}

.footer-socials__links img {
  max-width: 100%;
  max-height: 100%;
}

.site-footer__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  border-top: 1px solid #525252;
  padding: 1.375rem 0.1rem 3.125rem;
  font-size: 0.75rem;
}

.site-footer__bottom p {
  margin: 0;
}

.site-footer__bottom nav {
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

@media (max-width: 61.9375rem) {
  .site-footer__top {
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
  }
  .footer-brand {
    grid-column: 1/-1;
    width: 100%;
  }
  .footer-brand p {
    max-width: none;
  }
  .footer-contact,
  .footer-socials {
    grid-column: 1/-1;
    padding-top: 0;
  }
  .footer-socials {
    text-align: left;
  }
  .footer-socials__links {
    justify-content: flex-start;
  }
}
@media (max-width: 47.9375rem) {
  .site-footer__inner {
    padding-top: 2rem;
  }
  .site-footer__top {
    grid-template-columns: 1fr;
    min-height: 0;
    padding: 3rem 0 2.5rem;
  }
  .footer-contact,
  .footer-socials {
    grid-column: 1/-1;
    width: 100%;
    padding-top: 0;
  }
  .footer-contact strong,
  .footer-socials strong,
  .footer-contact p {
    font-size: 1.125rem;
  }
  .site-footer__bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.75rem;
    padding-block: 1.5rem;
  }
  .site-footer__bottom nav {
    align-items: flex-start;
    flex-wrap: wrap;
  }
}
.home-services {
  position: relative;
  z-index: 1;
  padding-block: 5.1rem 0;
}

.services-mosaic {
  display: grid;
  grid-template-columns: 1.16fr 1.16fr 1fr;
  grid-auto-flow: row;
  grid-auto-rows: 16.25rem;
  gap: 0.6875rem;
}

.service-card {
  position: relative;
  display: block;
  min-width: 0;
  overflow: hidden;
  background: #e7edef;
  color: #000000;
  text-decoration: none;
}

.service-card:visited,
.service-card:hover,
.service-card:focus-visible {
  color: #000000;
}

.service-card > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 400ms ease;
}

.service-card__overlay {
  position: absolute;
  inset: 1.25rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 1.8rem;
  background: rgba(253, 230, 5, 0.9);
  opacity: 0;
  transition: opacity 250ms ease;
}

.service-card:hover > img,
.service-card:focus-visible > img {
  transform: scale(1.035);
}

.service-card:hover .service-card__overlay,
.service-card:focus-visible .service-card__overlay {
  opacity: 1;
}

.service-card__title {
  color: #000000;
  font-size: clamp(1.75rem, 2.8vw, 2.5rem);
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.service-card__meta {
  display: grid;
  grid-template-columns: 1fr 1.5rem;
  align-items: end;
  gap: 0.75rem;
  margin-top: 1.6rem;
  border-top: 1px solid rgba(0, 0, 0, 0.7);
  padding-top: 0.9rem;
  font-size: 0.875rem;
  color: #000000;
}

.service-card__icon {
  display: grid;
  place-items: center;
}

.service-card__icon svg {
  display: block;
  width: 1.0625rem;
  height: 0.75rem;
}

@media (min-width: 62rem) {
  .service-card:nth-child(1) {
    grid-column: 1;
    grid-row: span 2;
  } /* TOTEM */
  .service-card:nth-child(2) {
    grid-column: 2;
  } /* BILLBOARD */
  .service-card:nth-child(3) {
    grid-column: 3;
    grid-row: span 2;
  } /* MEGALIGHT */
  .service-card:nth-child(4) {
    grid-column: 2;
  } /* MESH BANNER */
  .service-card:nth-child(5) {
    grid-column: 1;
  } /* CAR WRAP */
  .service-card:nth-child(6) {
    grid-column: 2/span 2;
  } /* 3D Advertisement */
  .service-card:nth-child(7) {
    grid-column: 1;
  } /* ENGRAVING */
  .service-card:nth-child(8) {
    grid-column: 2;
  } /* FOIL */
  .service-card:nth-child(9) {
    grid-column: 3;
    grid-row: span 2;
  } /* FLAGS */
  .service-card:nth-child(10) {
    grid-column: 1;
  } /* NEON */
  .service-card:nth-child(11) {
    grid-column: 2;
  } /* 3D INOX */
  .service-card:nth-child(12) {
    grid-column: 1;
  } /* BARISOL */
  .service-card:nth-child(13) {
    grid-column: 2/span 2;
  } /* 2D Advertisement */
}
.home-intro {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 0;
  padding-block: 5.625rem;
  overflow: visible;
}

.home-intro__inner {
  position: relative;
  z-index: 1;
}

.home-intro p {
  max-width: 74.625rem;
  margin: 0 auto;
  font-size: clamp(2.15rem, 3.5vw, 3.125rem);
  line-height: 1.25;
  text-align: center;
}

.home-intro__decor {
  position: absolute;
  z-index: 0;
  max-width: none;
  pointer-events: none;
  transform-origin: center;
  will-change: transform;
}

.home-intro__decor--left {
  --rot: 62.02deg;
  width: 65rem;
  left: -20.5rem;
  top: -5.5rem;
  transform: translate3d(0, var(--decor-y, 0px), 0) rotate(calc(var(--rot) + var(--decor-spin, 0deg)));
}

.home-intro__decor--right {
  --rot: -57.37deg;
  width: 45.25rem;
  right: -19.25rem;
  top: -22rem;
  transform: translate3d(0, var(--decor-y, 0px), 0) rotate(calc(var(--rot) + var(--decor-spin, 0deg)));
}

.section-heading--work,
.section-heading--slider {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 0;
}

.section-heading--work {
  margin-bottom: 3.4375rem;
}

.section-heading--slider {
  margin-bottom: 4.875rem;
}

.home-work,
.home-feedback {
  padding-block: 0 5.625rem;
}

.home-work,
.home-feedback,
.home-clients,
.home-newsletter {
  position: relative;
  z-index: 1;
}

.work-filters {
  display: flex;
  align-items: center;
  gap: 0;
}

.work-filter {
  appearance: none;
  border-radius: 0;
  border: 0;
  border-left: 1px solid #a4a1a1;
  padding: 0 1.1rem;
  background: transparent;
  color: #a4a1a1;
  font-size: 1rem;
  white-space: nowrap;
  flex-shrink: 0;
}

.work-filter:first-child {
  border-left: 0;
}

.work-filter.is-active,
.work-filter:hover,
.work-filter:focus-visible {
  color: #000000;
}

.work-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-auto-rows: 15.5rem;
  gap: 0;
}

.work-card {
  min-width: 0;
  overflow: hidden;
}

.work-card[hidden] {
  display: none;
}

.work-card--1 {
  grid-column: span 5;
}

.work-card--2 {
  grid-column: span 2;
}

.work-card--3 {
  grid-column: span 5;
}

.work-card--4,
.work-card--5 {
  grid-column: span 2;
}

.work-card--6 {
  grid-column: span 5;
}

.work-card--7 {
  grid-column: span 3;
}

.work-card a {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  color: #ffffff;
  text-decoration: none;
}

.work-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 350ms ease;
}

.work-card__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 3rem;
  background: linear-gradient(to bottom, transparent 30%, rgba(0, 0, 0, 0.9));
  opacity: 0;
  transition: opacity 250ms ease;
}

.work-card:hover .work-card__overlay,
.work-card:focus-within .work-card__overlay {
  opacity: 1;
}

.work-card:hover img,
.work-card:focus-within img {
  transform: scale(1.035);
}

.work-card__overlay strong {
  font-size: 1.55rem;
  text-transform: uppercase;
}

.work-card__overlay span {
  margin-top: 0.4rem;
  font-size: 0.75rem;
  text-transform: uppercase;
}

.slider-controls {
  display: flex;
  gap: 1rem;
}

.slider-button {
  width: 2.875rem;
  height: 2.875rem;
  border: 0;
  border-radius: 50%;
  padding: 0;
  background: transparent;
  cursor: pointer;
}

.slider-button img {
  display: block;
  width: 100%;
  height: 100%;
}

.testimonials-prev img {
  transform: rotate(180deg);
}

.slider-button:focus-visible {
  outline: 2px solid #000000;
  outline-offset: 0.25rem;
}

.testimonials-swiper {
  overflow: hidden;
}

.testimonial-card {
  box-sizing: border-box;
  height: 31.625rem;
  border: 1px solid #000000;
  border-radius: 0.625rem;
  padding: 4.5rem 2.5rem 2.6rem;
}

.testimonial-card blockquote {
  display: flex;
  flex-direction: column;
  height: 100%;
  margin: 0;
}

.testimonial-card__quote {
  margin: 0;
  font-size: clamp(1.75rem, 2.45vw, 2.1875rem);
  line-height: 1.16;
}

.testimonial-card__description {
  margin: 2rem 0 0;
  font-size: 1.25rem;
  line-height: 1.35;
}

.testimonial-card footer {
  display: flex;
  align-items: center;
  gap: 1.1rem;
  margin-top: auto;
}

.testimonial-card footer img {
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 50%;
  object-fit: cover;
}

.testimonial-card cite {
  font-size: 1.25rem;
  font-style: normal;
  font-weight: 700;
}

.home-clients {
  padding-block: 0 5.625rem;
  text-align: center;
}

.home-clients h2 {
  margin-bottom: 3.8rem;
}

.clients-swiper {
  width: 100%;
}

.client-logo {
  display: grid;
  place-items: center;
  height: 9rem;
}

.client-logo img {
  max-width: 85%;
  max-height: 7.75rem;
  object-fit: contain;
}

.home-newsletter {
  padding: 0 0 5.8125rem;
}

.newsletter-card {
  position: relative;
  min-height: 35rem;
  overflow: hidden;
  border: 1px solid #000000;
  border-radius: 0.625rem;
  background: #ffffff;
}

.newsletter-card__content {
  position: relative;
  z-index: 1;
  max-width: 53.25rem;
  margin: 0 auto;
  padding: 3rem 1.25rem 0;
  text-align: center;
}

.newsletter-card h2 {
  font-size: clamp(2.5rem, 4.2vw, 3.75rem);
  font-weight: 700;
}

.newsletter-card p {
  margin: 1rem 0 0;
  color: #525252;
  font-size: 1.25rem;
}

.newsletter-form-wrap {
  margin-top: 6.3rem;
  border-bottom: 1px solid #686868;
  padding-bottom: 1.8rem;
}
.newsletter-form-wrap .frm-fluent-form {
  text-align: left;
}
.newsletter-form-wrap .frm-fluent-form > fieldset {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 1.5rem;
  min-width: 0;
  margin: 0;
  border: 0;
  padding: 0;
}
.newsletter-form-wrap .frm-fluent-form > fieldset > legend {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}
.newsletter-form-wrap .frm-fluent-form .ff-el-group,
.newsletter-form-wrap .frm-fluent-form .ff-el-group.ff_submit_btn_wrapper {
  margin: 0;
}
.newsletter-form-wrap .frm-fluent-form .ff-el-form-hide_label .ff-el-input--label {
  display: none;
}
.newsletter-form-wrap .frm-fluent-form .ff-el-input--content {
  margin: 0;
}
.newsletter-form-wrap .frm-fluent-form .ff-el-form-control {
  min-width: 0;
  height: auto;
  min-height: 0;
  border: 0;
  padding: 0;
  background: transparent;
  box-shadow: none;
  color: #000000;
  font-family: inherit;
  font-size: 1.25rem;
  line-height: 1.4;
}
.newsletter-form-wrap .frm-fluent-form .ff-el-form-control:focus {
  outline: 0;
  box-shadow: none;
}
.newsletter-form-wrap .frm-fluent-form .ff-el-form-control::placeholder {
  color: #a4a1a1;
  opacity: 1;
}
.newsletter-form-wrap .frm-fluent-form .ff-btn-submit {
  min-width: 8.7rem;
  min-height: 2.25rem;
  margin: 0;
  padding: 0.45rem 1.75rem;
  border: 0 !important;
  border-radius: 62.4375rem !important;
  background: #000000 !important;
  color: #ffffff !important;
  font-family: inherit;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.2;
  cursor: pointer;
  box-shadow: none !important;
  transition: background-color 200ms ease;
}
.newsletter-form-wrap .frm-fluent-form .ff-btn-submit:hover,
.newsletter-form-wrap .frm-fluent-form .ff-btn-submit:focus-visible {
  background: #1a1a1a !important;
}
.newsletter-form-wrap .frm-fluent-form .ff-errors-in-stack {
  grid-column: 1/-1;
  margin-top: 0.75rem;
  text-align: left;
}
.newsletter-form-wrap .frm-fluent-form .ff-el-is-error {
  margin-top: 0.5rem;
  font-size: 0.875rem;
}
.newsletter-form-wrap .frm-fluent-form .ff-message-success {
  margin: 0;
  color: #000000;
  font-size: 1.25rem;
  text-align: center;
}

@media (max-width: 61.9375rem) {
  .home-services {
    padding-top: 2rem;
  }
  .home-services .firma-container {
    container-type: inline-size;
  }
  .services-mosaic {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-auto-flow: row dense;
    grid-auto-rows: calc((100cqw - 0.625rem) / 2 * 260 / 409);
    gap: 0.625rem;
  }
  .service-card {
    width: auto;
    margin: 0;
    grid-column: auto;
    grid-row: auto;
    aspect-ratio: auto;
  }
  .service-card > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .service-card:nth-child(1),
  .service-card:nth-child(3),
  .service-card:nth-child(9) {
    grid-row: span 2;
  }
  .service-card:nth-child(6),
  .service-card:nth-child(13) {
    grid-column: 1/-1;
  }
  .service-card__overlay {
    inset: 0.6rem;
    padding: 1.1rem 1.15rem;
    justify-content: flex-end;
  }
  .service-card__meta {
    display: none;
  }
  .service-card__title {
    font-size: clamp(1.25rem, 3.4vw, 1.9rem);
  }
  .home-intro {
    min-height: 0;
  }
  .section-heading--work {
    align-items: flex-start;
    flex-direction: column;
  }
  .work-filters {
    width: 100%;
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    padding-bottom: 0.5rem;
    padding-right: 2.75rem;
    -webkit-mask-image: linear-gradient(to right, #000, #000 calc(100% - 2.5rem), transparent);
    mask-image: linear-gradient(to right, #000, #000 calc(100% - 2.5rem), transparent);
  }
  .work-grid {
    display: block;
    column-count: 2;
    column-gap: 0.5rem;
  }
  .work-card {
    display: block;
    width: 100%;
    margin-bottom: 0.5rem;
    -webkit-column-break-inside: avoid;
    break-inside: avoid;
  }
  .work-card img {
    height: auto;
  }
  .work-card__overlay {
    padding: 1.1rem 1.15rem;
    justify-content: flex-end;
  }
  .work-card__overlay span {
    display: none;
  }
  .work-card__overlay strong {
    font-size: clamp(1.1rem, 3.2vw, 1.6rem);
    line-height: 1.15;
  }
  .site-footer__top {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 47.9375rem) {
  .services-mosaic {
    grid-auto-rows: calc((100cqw - 0.5rem) / 2 * 260 / 409);
    gap: 0.5rem;
  }
  .service-card__overlay {
    inset: 0;
    padding: 0.9rem;
    justify-content: flex-end;
  }
  .service-card__title {
    font-size: clamp(0.95rem, 4vw, 1.2rem);
    line-height: 1.12;
  }
  .service-card__meta {
    display: none;
  }
  .service-card__icon svg {
    width: 0.875rem;
    height: 0.625rem;
  }
  .home-intro p {
    font-size: 2rem;
  }
  .section-heading--slider {
    align-items: center;
    gap: 1rem;
  }
  .section-heading.section-heading--slider h2 {
    font-size: clamp(1.6rem, 7.5vw, 2rem);
    line-height: 1.1;
  }
  .section-heading--slider .slider-button {
    width: 2.5rem;
    height: 2.5rem;
  }
  .work-grid {
    column-count: 2;
  }
  .work-card,
  .work-card--1,
  .work-card--6 {
    grid-column: auto;
  }
  .work-card__overlay {
    padding: 0.9rem;
  }
  .work-card__overlay strong {
    font-size: clamp(0.95rem, 4vw, 1.2rem);
    line-height: 1.12;
  }
  .testimonial-card {
    height: 27rem;
    padding: 2.5rem 1.5rem 2rem;
  }
  .newsletter-card {
    min-height: 30rem;
  }
  .newsletter-card__content {
    padding-top: 2.5rem;
  }
  .newsletter-form-wrap {
    margin-top: 4rem;
  }
  .newsletter-form-wrap .frm-fluent-form > fieldset {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }
  .newsletter-form-wrap .ff-btn-submit {
    justify-self: start;
  }
}
.contact-page__hero {
  position: relative;
  overflow: hidden;
  padding-block: clamp(4rem, 8vw, 8.25rem) clamp(3.5rem, 6vw, 6rem);
}

.contact-page__hero-container {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(17rem, 0.85fr);
  align-items: end;
  gap: clamp(2rem, 7vw, 8rem);
}

.contact-page__hero-copy {
  position: relative;
  padding-bottom: clamp(2rem, 4vw, 3.25rem);
}

.contact-page__hero-copy::before,
.contact-page__hero-copy::after {
  position: absolute;
  bottom: 0;
  content: "";
}

.contact-page__hero-copy::before {
  left: 0;
  width: clamp(3.5rem, 7vw, 6.5rem);
  height: clamp(0.625rem, 1.2vw, 0.875rem);
  background: #fde605;
}

.contact-page__hero-copy::after {
  bottom: clamp(0.25rem, 0.5vw, 0.5rem);
  left: clamp(3rem, 6vw, 5.75rem);
  width: clamp(1.5rem, 3vw, 2.75rem);
  height: 1px;
  background: #000000;
  transform: rotate(-42deg);
}

.contact-page__eyebrow {
  margin: 0 0 1rem;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.2;
  text-transform: uppercase;
}

.contact-page h1 {
  max-width: 44rem;
  margin: 0;
  font-size: clamp(2.75rem, 5vw, 5.25rem);
  font-weight: 700;
  letter-spacing: -0.065em;
  line-height: 0.96;
}

.contact-page__hero-description {
  max-width: 28rem;
  align-self: center;
  color: #525252;
  font-size: clamp(1rem, 1.4vw, 1.125rem);
  line-height: 1.6;
}

.contact-page__hero-description > * {
  margin: 0;
}

.contact-page__content {
  padding-bottom: clamp(5rem, 9vw, 9rem);
}

.contact-page__content-container {
  display: grid;
  grid-template-columns: minmax(17rem, 0.72fr) minmax(0, 1.28fr);
  align-items: stretch;
}

.contact-page__details {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 2rem;
  padding: clamp(2rem, 4vw, 4rem);
  background: #000000;
  color: #ffffff;
}

.contact-page__detail {
  border-bottom: 1px solid rgba(255, 255, 255, 0.33);
  padding-bottom: 1.5rem;
}

.contact-page__detail:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.contact-page__detail-label {
  margin: 0 0 0.5rem;
  color: #fde605;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.2;
  text-transform: uppercase;
}

.contact-page__detail a,
.contact-page__address {
  margin: 0;
  color: #ffffff;
  font-size: clamp(1.125rem, 2vw, 1.5rem);
  font-weight: 500;
  line-height: 1.3;
}

.contact-page__detail a {
  border-bottom: 1px solid transparent;
  text-decoration: none;
  transition: border-color 180ms ease, color 180ms ease;
}

.contact-page__detail a:hover,
.contact-page__detail a:focus-visible {
  border-bottom-color: currentColor;
  color: #fde605;
  outline: 0;
}

.contact-page__form {
  border: 1px solid #000000;
  padding: clamp(2rem, 5vw, 5rem);
}

.contact-page__form h2 {
  margin: 0;
  font-size: clamp(2rem, 3.5vw, 3.5rem);
  font-weight: 700;
  letter-spacing: -0.055em;
  line-height: 1;
}

.contact-page__form-description {
  max-width: 34rem;
  margin-top: 1rem;
  color: #525252;
  line-height: 1.6;
}

.contact-page__form-description > * {
  margin: 0;
}

.contact-page__form-shortcode {
  margin-top: clamp(2rem, 4vw, 3.5rem);
}

.contact-page__form .frm-fluent-form .ff-el-group {
  margin-bottom: 1.5rem;
}

.contact-page__form .frm-fluent-form .ff-el-input--label label {
  margin-bottom: 0.5rem;
  color: #000000;
  font-family: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
}

.contact-page__form .frm-fluent-form :is(.ff-el-form-control, textarea, select) {
  border: 0 !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.55) !important;
  border-radius: 0 !important;
  padding: 0.75rem 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #000000 !important;
  font-family: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif !important;
  font-size: 1rem !important;
  line-height: 1.4 !important;
}

.contact-page__form .frm-fluent-form textarea.ff-el-form-control {
  min-height: 8rem;
  resize: vertical;
}

.contact-page__form .frm-fluent-form :is(.ff-el-form-control, textarea, select):focus {
  border-bottom-color: #000000 !important;
  box-shadow: 0 2px 0 #fde605 !important;
}

.contact-page__form .frm-fluent-form .ff-btn-submit {
  min-width: 9rem;
  border: 1px solid #000000 !important;
  border-radius: 999px !important;
  padding: 0.8125rem 1.5rem !important;
  background: #000000 !important;
  color: #ffffff !important;
  font-family: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif !important;
  font-size: 0.9375rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  transition: background-color 180ms ease, color 180ms ease, transform 180ms ease !important;
}

.contact-page__form .frm-fluent-form .ff-btn-submit:hover,
.contact-page__form .frm-fluent-form .ff-btn-submit:focus-visible {
  background: #fde605 !important;
  color: #000000 !important;
  transform: translateY(-2px);
  outline: 0;
}

@media (max-width: 61.9375rem) {
  .contact-page__hero-container {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }
  .contact-page__hero-description {
    max-width: 38rem;
  }
  .contact-page__content-container {
    grid-template-columns: 0.78fr 1.22fr;
  }
  .contact-page h1 {
    font-size: clamp(2.375rem, 5vw, 4rem);
  }
  .contact-page__form h2 {
    font-size: clamp(1.875rem, 3.5vw, 2.75rem);
  }
}
@media (max-width: 47.9375rem) {
  .contact-page__hero {
    padding-block: 3.5rem 3rem;
  }
  .contact-page h1 {
    font-size: clamp(2.25rem, 10vw, 3rem);
  }
  .contact-page__content-container {
    grid-template-columns: 1fr;
  }
  .contact-page__details {
    gap: 1.75rem;
  }
  .contact-page__form {
    border-top: 0;
  }
  .contact-page__form h2 {
    font-size: clamp(1.75rem, 8vw, 2.25rem);
  }
}
.error-page__section {
  position: relative;
  overflow: hidden;
  min-height: clamp(32rem, 68vh, 48rem);
  padding-block: clamp(3.5rem, 9vw, 8rem);
  background: #ffffff;
}

.error-page__container {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(19rem, 0.92fr);
  align-items: center;
  gap: clamp(2.5rem, 7vw, 8rem);
}

.error-page__art {
  position: relative;
  display: grid;
  place-items: center;
  min-height: clamp(18rem, 33vw, 29rem);
  isolation: isolate;
}

.error-page__art::before {
  position: absolute;
  inset: 9% 0;
  z-index: -2;
  border: 1px solid rgba(0, 0, 0, 0.13);
  content: "";
}

.error-page__art::after {
  position: absolute;
  bottom: 12%;
  left: 7%;
  z-index: -1;
  width: 58%;
  height: 23%;
  background: #fde605;
  content: "";
}

.error-page__code {
  margin: 0;
  color: #000000;
  font-size: clamp(9rem, 25vw, 22rem);
  font-weight: 900;
  letter-spacing: -0.105em;
  line-height: 0.72;
  transform: translateX(-0.06em);
}

.error-page__ray {
  position: absolute;
  z-index: -1;
  display: block;
  height: 1px;
  background: #000000;
  transform-origin: left center;
}

.error-page__ray--one {
  bottom: 15%;
  left: 8%;
  width: 72%;
  transform: rotate(-28deg);
}

.error-page__ray--two {
  top: 16%;
  right: 9%;
  width: 32%;
  transform: rotate(61deg);
}

.error-page__ray--three {
  top: 23%;
  left: 2%;
  width: 25%;
  transform: rotate(-44deg);
}

.error-page__content {
  max-width: 32rem;
}

.error-page__eyebrow {
  margin: 0 0 1.125rem;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.2;
  text-transform: uppercase;
}

.error-page h1 {
  margin: 0;
  font-size: clamp(2.75rem, 5vw, 5rem);
  font-weight: 700;
  letter-spacing: -0.055em;
  line-height: 0.98;
}

.error-page__description {
  max-width: 29rem;
  margin: 1.5rem 0 0;
  color: #525252;
  font-size: clamp(1rem, 1.5vw, 1.1875rem);
  line-height: 1.55;
}

.error-page__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.25rem 1.75rem;
  margin-top: 2.5rem;
}

.error-page__primary-link,
.error-page__secondary-link {
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
}

.error-page__primary-link {
  display: inline-flex;
  align-items: center;
  gap: 1.25rem;
  border: 1px solid #000000;
  border-radius: 999px;
  padding: 0.875rem 1.25rem;
  background: #fde605;
  color: #000000;
  transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.error-page__primary-link svg {
  width: 1.125rem;
  height: 1.125rem;
}

.error-page__primary-link:hover,
.error-page__primary-link:focus-visible {
  background: #000000;
  color: #ffffff;
  transform: translateY(-2px);
}

.error-page__secondary-link {
  border-bottom: 1px solid currentColor;
  padding-bottom: 0.125rem;
  color: #000000;
  transition: color 180ms ease;
}

.error-page__secondary-link:hover,
.error-page__secondary-link:focus-visible {
  color: #525252;
}

.error-page a:focus-visible {
  outline: 2px solid #000000;
  outline-offset: 4px;
}

@media (max-width: 61.9375rem) {
  .error-page__container {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
  .error-page__art {
    width: min(100%, 38rem);
    margin-inline: auto;
  }
  .error-page__content {
    max-width: 38rem;
    margin-inline: auto;
    text-align: center;
  }
  .error-page__description {
    margin-inline: auto;
  }
  .error-page__actions {
    justify-content: center;
  }
}
@media (max-width: 35.9375rem) {
  .error-page__section {
    min-height: auto;
    padding-block: 3.5rem 4.5rem;
  }
  .error-page__art {
    min-height: 14.5rem;
  }
  .error-page__code {
    font-size: clamp(7rem, 31vw, 11rem);
  }
  .error-page__actions {
    flex-direction: column;
    gap: 1.25rem;
  }
  .error-page__primary-link {
    gap: 0.75rem;
  }
}
.standard-page__article {
  padding-block: clamp(4rem, 8vw, 7.5rem) clamp(5rem, 9vw, 8.5rem);
}

.standard-page__container {
  width: min(100% - 2.5rem, 58rem);
}

.standard-page__header {
  position: relative;
  padding-bottom: clamp(2.5rem, 4.5vw, 4rem);
}

.standard-page__header::before,
.standard-page__header::after {
  position: absolute;
  bottom: 0;
  content: "";
}

.standard-page__header::before {
  left: 0;
  width: clamp(3.5rem, 7vw, 6.5rem);
  height: clamp(0.625rem, 1.2vw, 0.875rem);
  background: #fde605;
}

.standard-page__header::after {
  bottom: clamp(0.25rem, 0.5vw, 0.5rem);
  left: clamp(3rem, 6vw, 5.75rem);
  width: clamp(1.5rem, 3vw, 2.75rem);
  height: 1px;
  background: #000000;
  transform: rotate(-42deg);
}

.standard-page__title {
  max-width: 48rem;
  margin: 0;
  font-size: clamp(2.5rem, 3.5vw, 3.75rem);
  font-weight: 700;
  letter-spacing: -0.065em;
  line-height: 0.97;
}

.standard-page__content {
  margin: 0;
  padding-top: clamp(2.25rem, 4.5vw, 4rem);
  font-size: clamp(1rem, 1.4vw, 1.125rem);
  line-height: 1.65;
}

.standard-page__content > * {
  margin-block: 0;
}

.standard-page__content > * + * {
  margin-top: 1.5rem;
}

.standard-page__content h2,
.standard-page__content h3,
.standard-page__content h4,
.standard-page__content h5,
.standard-page__content h6 {
  margin-top: clamp(2.75rem, 5vw, 4.5rem);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 1.05;
}

.standard-page__content h2 {
  font-size: clamp(1.75rem, 2.7vw, 2.5rem);
}

.standard-page__content h3 {
  font-size: clamp(1.375rem, 2vw, 1.875rem);
}

.standard-page__content h4,
.standard-page__content h5,
.standard-page__content h6 {
  font-size: clamp(1.125rem, 1.5vw, 1.375rem);
}

.standard-page__content a {
  border-bottom: 1px solid currentColor;
  color: #000000;
  font-weight: 500;
  text-decoration: none;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
  transition: background-color 180ms ease, color 180ms ease;
}

.standard-page__content a:hover,
.standard-page__content a:focus-visible {
  background: #fde605;
  color: #000000;
}

.standard-page__content ul,
.standard-page__content ol {
  padding-left: 1.35em;
}

.standard-page__content li + li {
  margin-top: 0.45rem;
}

.standard-page__content li::marker {
  color: #000000;
  font-weight: 700;
}

.standard-page__content blockquote {
  margin-inline: 0;
  border-left: 3px solid #fde605;
  padding: 0.35rem 0 0.35rem 1.5rem;
  font-size: clamp(1.375rem, 2.7vw, 2.125rem);
  font-weight: 500;
  letter-spacing: -0.035em;
  line-height: 1.25;
}

.standard-page__content blockquote p:last-child {
  margin-bottom: 0;
}

.standard-page__content hr {
  border: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.35);
}

.standard-page__content figure,
.standard-page__content .wp-block-image,
.standard-page__content .wp-block-gallery,
.standard-page__content .wp-block-video,
.standard-page__content .wp-block-embed {
  margin-inline: 0;
}

.standard-page__content img,
.standard-page__content video {
  display: block;
  width: 100%;
  height: auto;
}

.standard-page__content figcaption {
  margin-top: 0.75rem;
  color: #525252;
  font-size: 0.8125rem;
  line-height: 1.4;
}

.standard-page__content table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9375em;
}

.standard-page__content th,
.standard-page__content td {
  border-bottom: 1px solid rgba(0, 0, 0, 0.22);
  padding: 0.875rem 0.75rem;
  text-align: left;
  vertical-align: top;
}

.standard-page__content th {
  border-bottom-color: #000000;
  font-weight: 700;
}

.standard-page__content pre,
.standard-page__content code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.standard-page__content pre {
  overflow-x: auto;
  padding: 1.25rem;
  background: #f4f4f4;
  font-size: 0.8125rem;
  line-height: 1.5;
}

.standard-page__content :is(input, textarea, select) {
  max-width: 100%;
  border: 1px solid rgba(0, 0, 0, 0.45);
  border-radius: 0;
  padding: 0.75rem 0.875rem;
  font: inherit;
}

.standard-page__content :is(input, textarea, select):focus-visible {
  border-color: #000000;
  box-shadow: 0 0 0 2px rgba(253, 230, 5, 0.8);
  outline: 0;
}

.standard-page__content .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  border: 1px solid #000000;
  border-radius: 999px;
  padding: 0.75rem 1.25rem;
  background: #000000;
  color: #ffffff;
  font-weight: 700;
  text-decoration: none;
}

.standard-page__content .wp-block-button__link:hover,
.standard-page__content .wp-block-button__link:focus-visible {
  background: #fde605;
  color: #000000;
}

.standard-page__pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  border-top: 1px solid rgba(0, 0, 0, 0.22);
  padding-top: 1.5rem;
}

.standard-page__pagination > span {
  display: grid;
  place-items: center;
  min-width: 2.25rem;
  height: 2.25rem;
  border: 1px solid #000000;
  background: #000000;
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: 700;
}

.standard-page__pagination a {
  display: grid;
  place-items: center;
  min-width: 2.25rem;
  height: 2.25rem;
  border: 1px solid rgba(0, 0, 0, 0.45);
  color: #000000;
}

@media (max-width: 47.9375rem) {
  .standard-page__article {
    padding-block: 3.5rem 5rem;
  }
  .standard-page__container {
    width: min(100% - 2.5rem, 58rem);
  }
  .standard-page__content > * + * {
    margin-top: 1.25rem;
  }
  .standard-page__content h2,
  .standard-page__content h3,
  .standard-page__content h4,
  .standard-page__content h5,
  .standard-page__content h6 {
    margin-top: 2.5rem;
  }
  .standard-page__title {
    font-size: clamp(1.875rem, 8vw, 2.25rem);
  }
  .standard-page__content h2 {
    font-size: clamp(1.375rem, 5.5vw, 1.625rem);
  }
  .standard-page__content h3 {
    font-size: clamp(1.1875rem, 4.5vw, 1.375rem);
  }
  .standard-page__content h4,
  .standard-page__content h5,
  .standard-page__content h6 {
    font-size: 1.125rem;
  }
  .standard-page__content table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }
}
@media (min-width: 48rem) and (max-width: 61.9375rem) {
  .standard-page__title {
    font-size: clamp(2.25rem, 4.5vw, 3.25rem);
  }
  .standard-page__content h2 {
    font-size: clamp(1.625rem, 3.2vw, 2.25rem);
  }
  .standard-page__content h3 {
    font-size: clamp(1.25rem, 2.25vw, 1.625rem);
  }
  .standard-page__content h4,
  .standard-page__content h5,
  .standard-page__content h6 {
    font-size: clamp(1.125rem, 1.75vw, 1.25rem);
  }
}
.woocommerce-cart .standard-page__article {
  padding-block: clamp(3.5rem, 7vw, 6.5rem) clamp(5rem, 9vw, 8rem);
}

.woocommerce-cart .standard-page__container {
  width: min(100% - 2.5rem, 75rem);
}

.woocommerce-cart .standard-page__header {
  padding-bottom: clamp(2rem, 4vw, 3.25rem);
}

.woocommerce-cart .standard-page__title {
  font-size: clamp(2.5rem, 4vw, 4.5rem);
}

.woocommerce-cart .standard-page__content {
  padding-top: clamp(2.5rem, 5vw, 4.5rem);
}

.woocommerce-cart .wp-block-woocommerce-cart {
  margin: 0;
}

.woocommerce-cart .wc-block-components-notice-banner {
  margin: 0 0 1.5rem;
  border: 1px solid #000000;
  border-radius: 0;
  border-left-width: 0.375rem;
  background: #ffffff;
  box-shadow: none;
  color: #000000;
  font-family: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;
}

.woocommerce-cart .wc-block-components-notice-banner > svg {
  fill: #000000;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
  position: relative;
  overflow: hidden;
  border: 1px solid #000000;
  padding: clamp(2.5rem, 6vw, 5.5rem) clamp(1.25rem, 5vw, 4.5rem) clamp(2.5rem, 5vw, 4.5rem);
  background: #ffffff;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block::before {
  position: absolute;
  top: 0;
  right: 0;
  width: clamp(5.5rem, 13vw, 11rem);
  height: clamp(1rem, 2vw, 1.5rem);
  background: #fde605;
  content: "";
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
  max-width: 43rem;
  margin: 0 auto;
  font-size: clamp(1.5rem, 2.6vw, 2.375rem);
  font-weight: 700;
  letter-spacing: -0.06em;
  line-height: 1;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title::before {
  width: clamp(4.5rem, 9vw, 6.5rem) !important;
  height: clamp(4.5rem, 9vw, 6.5rem) !important;
  margin-bottom: 1rem;
  font-size: clamp(3rem, 6vw, 5rem);
  filter: grayscale(1) contrast(2);
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block > .wp-block-heading:not(.wc-block-cart__empty-cart__title),
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-separator.is-style-dots {
  display: none !important;
}

.woocommerce-cart .firma-empty-home,
.firma-empty-home {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  margin: 2rem auto 0;
  padding: 0.9rem 2.5rem;
  background: #000000;
  color: #ffffff !important;
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 6px;
  transition: background 0.15s ease;
}

.firma-empty-home:hover,
.firma-empty-home:focus-visible {
  background: #fde605 !important;
  color: #000000 !important;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-separator.is-style-dots {
  width: 4.5rem;
  max-width: none;
  margin: 2rem auto 3.5rem;
  border: 0;
  border-top: 0.5rem solid #fde605;
  background: transparent;
}

.woocommerce-cart .wp-block-woocommerce-empty-cart-block > .wp-block-heading:not(.wc-block-cart__empty-cart__title) {
  margin: 0 0 2.5rem;
  font-size: clamp(1.625rem, 3vw, 2.5rem);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 1.1;
}

.woocommerce-cart .wc-block-grid__products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1.25rem, 2.5vw, 2.25rem);
  margin: 0;
  padding: 0;
}

.woocommerce-cart .wc-block-grid__product {
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  text-align: left;
}

.woocommerce-cart .wc-block-grid__product-image {
  display: grid;
  place-items: center;
  overflow: hidden;
  margin: 0;
  background: #f7f7f7;
  aspect-ratio: 0.9;
}

.woocommerce-cart .wc-block-grid__product-image img {
  width: 100%;
  height: 100%;
  margin: 0;
  object-fit: contain;
  transition: transform 250ms ease;
}

.woocommerce-cart .wc-block-grid__product:hover .wc-block-grid__product-image img {
  transform: scale(1.035);
}

.woocommerce-cart .wc-block-grid__product-title {
  display: inline-block;
  margin: 1rem 0 0.4rem;
  color: #000000;
  font-family: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: none;
}

.woocommerce-cart .wc-block-grid__product-title:hover,
.woocommerce-cart .wc-block-grid__product-title:focus-visible {
  border-bottom: 1px solid currentColor;
  color: #000000;
  outline: 0;
}

.woocommerce-cart .wc-block-grid__product-price {
  margin: 0;
  color: #525252;
  font-size: 0.9375rem;
}

.woocommerce-cart .wc-block-grid__product-add-to-cart {
  margin-top: 1rem;
}

.woocommerce-cart .wc-block-grid__product-add-to-cart .wp-block-button__link,
.woocommerce-cart .wc-block-grid__product-add-to-cart .add_to_cart_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #000000;
  border-radius: 999px;
  padding: 0.625rem 1rem;
  background: transparent;
  color: #000000;
  font-family: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.woocommerce-cart .wc-block-grid__product-add-to-cart .wp-block-button__link:hover,
.woocommerce-cart .wc-block-grid__product-add-to-cart .wp-block-button__link:focus-visible,
.woocommerce-cart .wc-block-grid__product-add-to-cart .add_to_cart_button:hover,
.woocommerce-cart .wc-block-grid__product-add-to-cart .add_to_cart_button:focus-visible {
  background: #000000;
  color: #ffffff;
  transform: translateY(-2px);
  outline: 0;
}

.woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(19rem, 0.75fr);
  align-items: start;
  gap: clamp(2.5rem, 6vw, 6.5rem);
  margin: 0;
}

.woocommerce-cart :is(.wc-block-cart__main, .wc-block-components-main) {
  width: auto;
  margin: 0;
  padding: 0;
}

.woocommerce-cart .wc-block-cart-items {
  border-top: 1px solid #000000;
}

.woocommerce-cart .wc-block-cart-items__header {
  margin: 0;
  border-bottom: 0;
  padding: 1rem 0;
  color: #525252;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.woocommerce-cart .wc-block-cart-items__header :is(th, td) {
  border-bottom: 0 !important;
  box-shadow: none !important;
}

.woocommerce-cart .wc-block-cart-items__row {
  border-bottom: 1px solid rgba(0, 0, 0, 0.22);
  padding-block: clamp(1.25rem, 2vw, 2rem);
}

.woocommerce-cart .wc-block-cart-item__image {
  width: clamp(5rem, 10vw, 8.5rem);
  margin-right: clamp(1rem, 2vw, 2rem);
}

.woocommerce-cart .wc-block-cart-item__image img {
  display: block;
  width: 100%;
  height: auto;
  background: #f7f7f7;
  object-fit: contain;
}

.woocommerce-cart .wc-block-cart-item__product {
  padding-right: 1rem;
}

.woocommerce-cart .wc-block-components-product-name {
  color: #000000;
  font-family: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: clamp(1.125rem, 2vw, 1.5rem);
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 1.15;
  text-decoration: none;
}

.woocommerce-cart .wc-block-components-product-name:hover,
.woocommerce-cart .wc-block-components-product-name:focus-visible {
  border-bottom: 1px solid currentColor;
  outline: 0;
}

.woocommerce-cart .wc-block-components-product-metadata,
.woocommerce-cart .wc-block-components-product-badge,
.woocommerce-cart .wc-block-components-product-price {
  margin-top: 0.625rem;
  color: #525252;
  font-size: 0.875rem;
}

.woocommerce-cart .wc-block-components-product-details {
  margin-top: 0.75rem;
  color: #525252;
  font-family: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 0.8125rem;
  line-height: 1.6;
}

.woocommerce-cart .wc-block-components-product-details__name {
  color: #525252;
  font-weight: 700;
}

.woocommerce-cart .wc-block-components-product-details__value {
  border-bottom: 0.125rem solid #fde605;
  color: #000000;
  font-weight: 700;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}

.woocommerce-cart .wc-block-cart-item__quantity {
  padding-top: 1rem;
}

.woocommerce-cart .wc-block-components-quantity-selector {
  width: 6.5rem;
  border: 1px solid #000000;
  border-radius: 0;
  box-shadow: none;
}

.woocommerce-cart .wc-block-components-quantity-selector::after {
  border-color: #000000;
}

.woocommerce-cart .wc-block-components-quantity-selector input {
  font-family: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-weight: 700;
}

.woocommerce-cart .wc-block-components-quantity-selector button {
  color: #000000;
}

.woocommerce-cart .wc-block-cart-item__remove-link {
  margin-top: 0.875rem;
  border-bottom: 1px solid currentColor;
  padding: 0;
  color: #000000;
  font-family: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 0.8125rem;
  font-weight: 700;
  text-decoration: none;
  transition: color 180ms ease;
}

.woocommerce-cart .wc-block-cart-item__remove-link:hover,
.woocommerce-cart .wc-block-cart-item__remove-link:focus-visible {
  color: #525252;
  outline: 0;
}

.woocommerce-cart .wc-block-cart-item__total {
  border: 0 !important;
  box-shadow: none !important;
  color: #000000;
  font-size: 1.125rem;
  font-weight: 700;
}

.woocommerce-cart .wc-block-cart-item__total::before,
.woocommerce-cart .wc-block-cart-item__total::after {
  display: none !important;
}

.woocommerce-cart :is(.wc-block-cart__sidebar, .wc-block-components-sidebar) {
  width: auto;
  margin: 0;
  border: 1px solid #000000;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  background: #000000;
  color: #ffffff;
  box-sizing: border-box;
  position: sticky;
  top: 1.5rem;
  align-self: start;
}

.woocommerce-cart :is(.wc-block-cart__sidebar, .wc-block-components-sidebar) :is(h2, h3, p, span, strong, a, label, button) {
  font-family: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;
}

.woocommerce-cart :is(.wc-block-cart__totals-title, .wc-block-components-totals-wrapper > :first-child :is(h2, h3)) {
  margin: 0;
  color: #ffffff;
  font-size: clamp(1.5rem, 2.6vw, 2.25rem);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 1.1;
}

.woocommerce-cart :is(.wc-block-cart__sidebar, .wc-block-components-sidebar) .wc-block-components-totals-wrapper {
  border-top: 0;
}

.woocommerce-cart :is(.wc-block-cart__sidebar, .wc-block-components-sidebar) :is(.wc-block-components-totals-item, .wc-block-components-totals-footer-item, .wc-block-components-totals-coupon) {
  border-top-color: rgba(255, 255, 255, 0.3);
  color: #ffffff;
}

.woocommerce-cart :is(.wc-block-cart__sidebar, .wc-block-components-sidebar) :is(.wc-block-components-totals-item, .wc-block-components-totals-footer-item) {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1rem;
}

.woocommerce-cart :is(.wc-block-cart__sidebar, .wc-block-components-sidebar) :is(.wc-block-components-totals-item__label, .wc-block-components-totals-item__value, .wc-block-components-totals-footer-item .wc-block-components-totals-item__label, .wc-block-components-totals-footer-item .wc-block-components-totals-item__value) {
  color: #ffffff;
}

.woocommerce-cart :is(.wc-block-cart__sidebar, .wc-block-components-sidebar) :is(.wc-block-components-totals-item__value, .wc-block-components-totals-footer-item .wc-block-components-totals-item__value) {
  min-width: max-content;
  text-align: right;
  white-space: nowrap;
}

.woocommerce-cart :is(.wc-block-cart__sidebar, .wc-block-components-sidebar) .wc-block-components-totals-item__label {
  font-size: 0.875rem;
  font-weight: 500;
}

.woocommerce-cart :is(.wc-block-cart__sidebar, .wc-block-components-sidebar) .wc-block-components-totals-footer-item :is(.wc-block-components-totals-item__label, .wc-block-components-totals-item__value) {
  font-size: 1.25rem;
  font-weight: 700;
}

.woocommerce-cart :is(.wc-block-cart__sidebar, .wc-block-components-sidebar) :is(.wc-block-components-totals-coupon-link, .wc-block-components-totals-coupon__button) {
  color: #fde605;
  font-size: 0.875rem;
  font-weight: 700;
}

.woocommerce-cart :is(.wc-block-cart__sidebar, .wc-block-components-sidebar) .wc-block-components-totals-coupon__input input {
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.75);
  border-radius: 0;
  padding: 0.7rem 0;
  background: transparent;
  box-shadow: none;
  color: #ffffff;
  font-family: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;
}

.woocommerce-cart :is(.wc-block-cart__sidebar, .wc-block-components-sidebar) .wc-block-components-totals-coupon__input input::placeholder {
  color: rgba(255, 255, 255, 0.7);
}

.woocommerce-cart :is(.wc-block-cart__sidebar, .wc-block-components-sidebar) .wc-block-components-totals-coupon__button {
  border: 1px solid #fde605;
  border-radius: 999px;
  padding: 0.625rem 1rem;
  background: transparent;
  transition: background-color 180ms ease, color 180ms ease;
}

.woocommerce-cart :is(.wc-block-cart__sidebar, .wc-block-components-sidebar) .wc-block-components-totals-coupon__button:hover,
.woocommerce-cart :is(.wc-block-cart__sidebar, .wc-block-components-sidebar) .wc-block-components-totals-coupon__button:focus-visible {
  background: #fde605;
  color: #000000;
  outline: 0;
}

.woocommerce-cart .wc-block-cart__submit-container {
  margin-top: 1.75rem;
  padding: 0;
}

.woocommerce-cart .wc-block-cart__submit-container .wc-block-cart__submit-button {
  min-height: 3.25rem;
  border: 1px solid #fde605;
  border-radius: 999px;
  background: #fde605;
  color: #000000;
  font-family: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 0.9375rem;
  font-weight: 700;
  transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.woocommerce-cart .wc-block-cart__submit-container .wc-block-cart__submit-button:hover,
.woocommerce-cart .wc-block-cart__submit-container .wc-block-cart__submit-button:focus-visible {
  background: #ffffff;
  border-color: #ffffff;
  color: #000000;
  transform: translateY(-2px);
  outline: 0;
}

.woocommerce-cart .wc-block-components-payment-method-icons {
  filter: grayscale(1) brightness(3);
}

.woocommerce-cart :is(.wc-block-components-button, .wc-block-components-quantity-selector button, .wc-block-cart-item__remove-link, .wc-block-components-product-name, .wc-block-grid__product-title):focus-visible {
  outline: 2px solid #fde605;
  outline-offset: 3px;
}

@media (max-width: 61.9375rem) {
  .woocommerce-cart .wc-block-grid__products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart {
    grid-template-columns: 1fr;
  }
  .woocommerce-cart :is(.wc-block-cart__sidebar, .wc-block-components-sidebar) {
    position: static;
    margin-top: 2rem;
  }
}
@media (max-width: 47.9375rem) {
  .woocommerce-cart .standard-page__article {
    padding-block: 3rem 4.5rem;
  }
  .woocommerce-cart .standard-page__container {
    width: min(100% - 2.5rem, 75rem);
  }
  .woocommerce-cart .standard-page__title {
    font-size: 2.25rem;
  }
  .woocommerce-cart .wp-block-woocommerce-empty-cart-block {
    padding: 2.5rem 1rem;
  }
  .woocommerce-cart .wc-block-grid__products {
    gap: 1.5rem 0.875rem;
  }
  .woocommerce-cart .wc-block-grid__product-title {
    font-size: 0.9375rem;
  }
  .woocommerce-cart .wc-block-cart-items__header {
    display: none;
  }
  .woocommerce-cart .wc-block-cart-items__row {
    display: grid !important;
    grid-template-columns: 4.5rem minmax(0, 1fr) !important;
    grid-template-rows: auto auto;
    column-gap: 0.875rem;
    padding-block: 1.25rem;
  }
  .woocommerce-cart .wc-block-cart-item__image {
    display: block !important;
    grid-column: 1;
    grid-row: 1/span 2;
    width: 4.5rem;
    margin-right: 0;
  }
  .woocommerce-cart .wc-block-cart-item__image img {
    width: 4.5rem !important;
    height: 4.5rem;
    object-fit: contain;
  }
  .woocommerce-cart .wc-block-cart-item__product {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    padding-right: 0;
  }
  .woocommerce-cart .wc-block-cart-item__quantity {
    grid-column: 2;
    grid-row: 2;
    min-width: 0;
    padding-top: 0.875rem;
  }
  .woocommerce-cart .wc-block-cart-item__total {
    display: none;
  }
  .woocommerce-cart .wc-block-cart-item__product :is(.wc-block-components-product-metadata, .wc-block-components-product-details, .wc-block-components-product-details li, .wc-block-components-product-details__name, .wc-block-components-product-details__value) {
    max-width: 100%;
    min-width: 0;
    overflow-wrap: anywhere;
    white-space: normal;
    word-break: break-word;
  }
  .woocommerce-cart .wc-block-cart__submit-container--sticky {
    display: none !important;
  }
  .woocommerce-cart .wc-block-cart__submit-container--sticky::before {
    display: none;
  }
  .woocommerce-cart .wc-block-cart-item__total {
    font-size: 1rem;
  }
  .woocommerce-cart :is(.wc-block-cart__sidebar, .wc-block-components-sidebar) {
    padding: 1.5rem;
  }
}
.woocommerce-checkout .standard-page__article {
  padding-block: clamp(2.5rem, 4.5vw, 4.5rem) clamp(3.5rem, 6vw, 6rem);
}

.woocommerce-checkout .standard-page__container {
  width: min(100% - 2.5rem, 75rem);
}

.woocommerce-checkout .standard-page__header {
  padding-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

.woocommerce-checkout .standard-page__title {
  font-size: clamp(2.5rem, 4vw, 4.5rem);
}

.woocommerce-checkout .standard-page__content {
  padding-top: clamp(1.5rem, 3vw, 2.5rem);
}

.woocommerce-checkout .wp-block-woocommerce-checkout {
  margin: 0;
}

.woocommerce-checkout .wc-block-components-notice-banner {
  margin: 0 0 1.5rem;
  border: 1px solid #000000;
  border-left-width: 0.375rem;
  border-radius: 0;
  background: #ffffff;
  box-shadow: none;
  color: #000000;
  font-family: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;
}

.woocommerce-checkout .wc-block-components-notice-banner > svg {
  fill: #fde605;
}

.woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(22rem, 0.8fr);
  align-items: start;
  gap: clamp(1.25rem, 2.5vw, 2.5rem);
  margin: 0;
}

.woocommerce-checkout :is(.wc-block-checkout__main, .wc-block-components-main) {
  width: auto;
  margin: 0;
  padding: 0;
}

.woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) {
  width: auto;
  margin: 0;
  padding: clamp(1.25rem, 2vw, 1.75rem);
  background: #000000;
  color: #ffffff;
  position: sticky;
  top: 1.5rem;
  align-self: start;
  border: 1px solid #000000;
  box-sizing: border-box;
}

.woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar)::before {
  display: block;
  width: 3.5rem;
  height: 0.375rem;
  margin-bottom: 1.25rem;
  background: #fde605;
  content: "";
}

.woocommerce-checkout .wc-block-components-checkout-step {
  margin: 0;
  border-top: 1px solid #000000;
  padding: clamp(1.25rem, 2.2vw, 2rem) 0;
}

.woocommerce-checkout .wc-block-components-checkout-step:last-child {
  border-bottom: 1px solid #000000;
}

.woocommerce-checkout .wc-block-components-checkout-step__title,
.woocommerce-checkout .wc-block-components-title {
  margin: 0 0 1.25rem;
  color: #000000;
  font-family: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: clamp(1.5rem, 2.4vw, 2.25rem);
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 1.08;
}

.woocommerce-checkout .wc-block-components-checkout-step__description,
.woocommerce-checkout .wc-block-components-checkout-step__container > p,
.woocommerce-checkout .wc-block-components-checkout-step p {
  color: #525252;
  font-family: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 0.9375rem;
}

.woocommerce-checkout .wc-block-components-text-input,
.woocommerce-checkout .wc-block-components-combobox,
.woocommerce-checkout .wc-block-components-textarea,
.woocommerce-checkout .wc-block-components-select {
  margin-bottom: 1rem;
}

.woocommerce-checkout .wc-block-components-text-input label,
.woocommerce-checkout .wc-block-components-combobox label,
.woocommerce-checkout .wc-block-components-textarea label,
.woocommerce-checkout .wc-block-components-select label {
  color: #525252;
  font-family: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.01em;
}

.woocommerce-checkout :is(.wc-block-components-text-input, .wc-block-components-combobox, .wc-block-components-textarea, .wc-block-components-select) :is(input, textarea, select) {
  min-height: 3.25rem;
  border: 1px solid rgba(0, 0, 0, 0.45);
  border-radius: 0;
  background: #ffffff;
  box-shadow: none;
  color: #000000;
  font-family: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 1rem;
  transition: border-color 180ms ease, box-shadow 180ms ease;
}

.woocommerce-checkout .wc-block-components-textarea textarea {
  min-height: 8rem;
  padding-top: 1rem;
  resize: vertical;
}

.woocommerce-checkout :is(.wc-block-components-text-input, .wc-block-components-combobox, .wc-block-components-textarea, .wc-block-components-select) :is(input, textarea, select):focus {
  border-color: #000000;
  box-shadow: inset 0 -0.1875rem 0 #fde605;
  outline: 0;
}

.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control {
  border-radius: 0;
}

.woocommerce-checkout .wc-block-components-checkbox {
  margin-top: 0.75rem;
}

.woocommerce-checkout .wc-block-components-checkbox label {
  align-items: center;
  gap: 0.75rem;
}

.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox] {
  width: 1.125rem;
  height: 1.125rem;
  border: 1px solid #000000;
  border-radius: 0;
  box-shadow: none;
}

.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked {
  border-color: #fde605;
  background-color: #fde605;
  color: #000000;
}

.woocommerce-checkout .wc-block-components-checkbox label {
  color: #000000;
  font-family: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 0.9375rem;
  line-height: 1.45;
}

.woocommerce-checkout .wc-block-components-radio-control {
  margin: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.22);
}

.woocommerce-checkout .wc-block-components-radio-control__option {
  display: grid !important;
  grid-template-columns: 1.125rem minmax(0, 1fr);
  align-items: start;
  column-gap: 0.75rem;
  margin: 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.22);
  padding: 0.875rem 0 !important;
}

.woocommerce-checkout .wc-block-components-radio-control__option-layout {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  min-width: 0;
  width: auto;
}

.woocommerce-checkout .wc-block-components-radio-control__label-group,
.woocommerce-checkout .wc-block-components-radio-control__description-group {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  min-width: 0;
}

.woocommerce-checkout .wc-block-components-radio-control__description-group {
  margin: 0;
  text-align: left;
}

.woocommerce-checkout .wc-block-components-radio-control__input {
  position: relative !important;
  left: auto;
  top: auto;
  align-self: start;
  margin: 0;
  width: 1.125rem;
  height: 1.125rem;
  display: block !important;
  border: 1px solid #000000;
  border-radius: 50%;
  background: #ffffff;
  box-shadow: none;
  transform: none !important;
}

.woocommerce-checkout .wc-block-components-radio-control__input:checked {
  border-color: #000000;
  background-color: #fde605;
  box-shadow: none;
}

.woocommerce-checkout .wc-block-components-radio-control__input:checked::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.5rem;
  height: 0.5rem;
  margin: 0;
  border-radius: 50%;
  background: #000000;
  transform: translate(-50%, -50%);
}

.woocommerce-checkout .wc-block-components-radio-control__input:focus {
  outline: 2px solid #fde605 !important;
  outline-offset: 2px;
}

.woocommerce-checkout .wc-block-components-radio-control__label,
.woocommerce-checkout .wc-block-components-radio-control__description {
  font-family: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;
}

.woocommerce-checkout .wc-block-components-radio-control__label {
  color: #000000;
  font-size: 1rem;
  font-weight: 700;
}

.woocommerce-checkout .wc-block-components-radio-control__description {
  margin: 0;
  color: #525252;
  font-size: 0.875rem;
}

.woocommerce-checkout .wc-block-components-payment-method-icons {
  filter: grayscale(1) contrast(1.5);
}

.woocommerce-checkout .wc-block-checkout__terms,
.woocommerce-checkout .wc-block-components-checkout-place-order-button {
  margin-top: 1.25rem;
}

.woocommerce-checkout .wc-block-checkout__terms :is(p, label, a) {
  font-family: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 0.8125rem;
}

.woocommerce-checkout .wc-block-checkout__terms a {
  border-bottom: 1px solid currentColor;
  color: #000000;
  font-weight: 700;
  text-decoration: none;
}

.woocommerce-checkout .wc-block-components-checkout-place-order-button,
.woocommerce-checkout .wc-block-checkout__actions_row .wc-block-components-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.5rem;
  border: 1px solid #000000;
  border-radius: 999px;
  padding: 0.875rem 1.5rem;
  background: #fde605 !important;
  color: #000000 !important;
  font-family: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.2;
  transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
  box-shadow: none !important;
}

.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
.woocommerce-checkout .wc-block-components-checkout-place-order-button:focus-visible,
.woocommerce-checkout .wc-block-checkout__actions_row .wc-block-components-button:hover,
.woocommerce-checkout .wc-block-checkout__actions_row .wc-block-components-button:focus-visible {
  background: #000000 !important;
  color: #ffffff !important;
  transform: translateY(-2px);
  outline: 0;
}

.woocommerce-checkout .wc-block-components-checkout-place-order-button:focus,
.woocommerce-checkout .wc-block-checkout__actions_row .wc-block-components-button:focus {
  box-shadow: 0 0 0 2px #fde605 !important;
  outline: 3px solid transparent !important;
}

.woocommerce-checkout :is(.wp-block-woocommerce-checkout-terms-block, .wc-block-checkout__terms) {
  margin: 1.25rem 0 0 !important;
  padding: 0;
}

.woocommerce-checkout .wc-block-checkout__actions {
  margin: 1.25rem 0 0 !important;
}

.woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) :is(h2, h3, h4, p, span, strong, a, label, button) {
  font-family: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;
}

.woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) :is(.wc-block-components-title, .wc-block-components-checkout-step__title, .wc-block-components-totals-wrapper h2, .wc-block-components-totals-wrapper h3) {
  margin: 0 0 1.25rem;
  color: #ffffff;
  font-size: clamp(1.5rem, 2.4vw, 2rem);
}

.woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-totals-wrapper {
  border-top: 0;
}

.woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-order-summary {
  padding: 0;
}

.woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-order-summary-item {
  display: grid;
  grid-template-columns: 3.25rem minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: start;
  column-gap: 0.875rem;
  row-gap: 0.625rem;
  border-top: 1px solid rgba(255, 255, 255, 0.3);
  padding: 0.875rem 0.75rem;
  box-sizing: border-box;
}

.woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-order-summary-item__image {
  width: 3.25rem;
  margin: 0;
  padding: 0;
  grid-column: 1;
  grid-row: 1/span 2;
}

.woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-order-summary-item__image > img {
  display: block;
  width: 3.25rem;
  height: 3.25rem;
  max-width: none;
  background: #ffffff;
  object-fit: contain;
}

.woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-order-summary-item__quantity {
  width: 1.25rem;
  min-width: 1.25rem;
  height: 1.25rem;
  min-height: 1.25rem;
  border-radius: 50%;
  background: #fde605;
  color: #000000;
  font-size: 0.6875rem;
  font-weight: 700;
  transform: translate(35%, -35%);
}

.woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-order-summary-item__quantity span {
  color: inherit;
  padding: 0;
}

.woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-order-summary-item__description {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  padding: 0;
  gap: 0.375rem;
}

.woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-order-summary-item :is(.wc-block-components-product-name, .wc-block-cart-item__prices, .wc-block-components-product-metadata, .wc-block-components-product-details, .wc-block-components-product-details__name, .wc-block-components-product-details__value) {
  max-width: 100%;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-order-summary-item .wc-block-components-product-name {
  margin: 0;
  color: #ffffff;
  font-family: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.25;
}

.woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-cart-item__prices {
  gap: 0.25rem;
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 700;
}

.woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-order-summary-item__total-price {
  grid-column: 2;
  grid-row: 2;
  justify-self: start;
  margin: 0;
  padding: 0;
  color: #ffffff;
  font-size: 0.8125rem;
  font-weight: 700;
  line-height: 1.25;
  white-space: nowrap;
}

.woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-product-metadata,
.woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-product-details {
  gap: 0.25rem;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.6875rem;
  line-height: 1.45;
}

.woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-product-details__name {
  color: #ffffff;
  font-weight: 700;
}

.woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-product-details__value {
  border-bottom: 1px solid #fde605;
  color: #ffffff;
  font-weight: 700;
}

.woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) :is(.wc-block-components-totals-item, .wc-block-components-totals-footer-item, .wc-block-components-totals-coupon, .wc-block-components-order-summary-item) {
  border-top-color: rgba(255, 255, 255, 0.3);
  color: #ffffff;
}

.woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) :is(.wc-block-components-totals-item__label, .wc-block-components-totals-item__value, .wc-block-components-totals-footer-item .wc-block-components-totals-item__label, .wc-block-components-totals-footer-item .wc-block-components-totals-item__value, .wc-block-components-product-name, .wc-block-components-order-summary-item__quantity) {
  color: #ffffff;
}

.woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-order-summary-item__quantity,
.woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-order-summary-item__quantity span {
  color: #000000 !important;
}

.woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-totals-item__label {
  font-size: 0.875rem;
  font-weight: 500;
}

.woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-totals-footer-item :is(.wc-block-components-totals-item__label, .wc-block-components-totals-item__value) {
  font-size: 1.25rem;
  font-weight: 700;
}

.woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-totals-coupon-link,
.woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-totals-coupon__button {
  color: #fde605;
  font-size: 0.875rem;
  font-weight: 700;
}

.woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-totals-coupon__input input {
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.75);
  border-radius: 0;
  padding: 0.7rem 0;
  background: transparent;
  box-shadow: none;
  color: #ffffff;
  font-family: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;
}

.woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-totals-coupon__input input::placeholder {
  color: rgba(255, 255, 255, 0.7);
}

.woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-totals-coupon__button {
  border: 1px solid #fde605;
  border-radius: 999px;
  padding: 0.625rem 1rem;
  background: transparent;
  transition: background-color 180ms ease, color 180ms ease;
}

.woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-totals-coupon__button:hover,
.woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-totals-coupon__button:focus-visible {
  background: #fde605;
  color: #000000;
  outline: 0;
}

.woocommerce-checkout :is(.wc-block-components-button, .wc-block-components-text-input input, .wc-block-components-combobox input, .wc-block-components-textarea textarea, .wc-block-components-select select, .wc-block-components-checkbox__input, .wc-block-components-radio-control__input):focus-visible {
  outline: 2px solid #fde605;
  outline-offset: 3px;
}

@media (max-width: 74.9375rem) {
  .woocommerce-checkout .checkout-order-summary-block-fill-wrapper {
    display: none !important;
  }
  .woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block {
    width: 100% !important;
    margin: 0 !important;
  }
  .woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout {
    grid-template-columns: 1fr;
  }
  .woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) {
    position: static;
    margin-top: 0;
  }
  .woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-order-summary-item {
    grid-template-columns: 3.25rem minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 0.875rem;
    row-gap: 0.625rem;
    padding: 0.875rem 0.75rem;
  }
  .woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-order-summary-item__image {
    grid-column: 1;
    grid-row: 1/span 2;
  }
  .woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-order-summary-item__description {
    grid-column: 2;
    grid-row: 1;
  }
  .woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-order-summary-item__total-price {
    grid-column: 2;
    grid-row: 2;
    justify-self: start;
    margin-top: 0;
  }
}
@media (max-width: 47.9375rem) {
  .woocommerce-checkout .standard-page__article {
    padding-block: 3rem 4.5rem;
  }
  .woocommerce-checkout .standard-page__container {
    width: min(100% - 2.5rem, 75rem);
  }
  .woocommerce-checkout .standard-page__title {
    font-size: 2.25rem;
  }
  .woocommerce-checkout .wc-block-components-checkout-step {
    padding-block: 1.25rem;
  }
  .woocommerce-checkout .wc-block-components-checkout-step__title,
  .woocommerce-checkout .wc-block-components-title {
    font-size: 1.5rem;
  }
  .woocommerce-checkout .wc-block-components-checkout-place-order-button,
  .woocommerce-checkout .wc-block-checkout__actions_row .wc-block-components-button {
    width: 100%;
  }
  .woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) {
    padding: 1.25rem;
  }
  .woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-order-summary-item {
    grid-template-columns: 2.75rem minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 0.625rem;
    row-gap: 0.5rem;
    padding-inline: 0.625rem;
  }
  .woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-order-summary-item__image,
  .woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-order-summary-item__image > img {
    width: 2.75rem;
    height: 2.75rem;
  }
  .woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-order-summary-item .wc-block-components-product-name {
    font-size: 0.875rem;
  }
}
@media (max-width: 74.9375rem) {
  .woocommerce-checkout .wc-block-components-sidebar-layout.wc-block-checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 2rem !important;
    width: 100% !important;
  }
  .woocommerce-checkout :is(.wc-block-checkout__main, .wc-block-components-main, .wc-block-checkout__sidebar, .wc-block-components-sidebar) {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }
  .woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) {
    position: static !important;
    padding: 1.25rem !important;
  }
  .woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-order-summary-item {
    display: grid !important;
    grid-template-columns: 3.25rem minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 0.875rem !important;
    row-gap: 0.625rem !important;
    box-sizing: border-box !important;
    padding: 0.875rem 0.75rem !important;
  }
  .woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-order-summary-item__image {
    grid-column: 1 !important;
    grid-row: 1/span 2 !important;
  }
  .woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-order-summary-item__description {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: auto !important;
    min-width: 0 !important;
  }
  .woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-order-summary-item__total-price {
    grid-column: 2 !important;
    grid-row: 2 !important;
    justify-self: start !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-order-summary-item :is(.wc-block-components-product-name, .wc-block-cart-item__prices, .wc-block-components-product-metadata, .wc-block-components-product-details, .wc-block-components-product-details__name, .wc-block-components-product-details__value) {
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
    white-space: normal !important;
    word-break: break-word !important;
  }
  .woocommerce-checkout .wc-block-components-radio-control__option {
    display: grid !important;
    grid-template-columns: 1.125rem minmax(0, 1fr) !important;
    align-items: start !important;
    column-gap: 0.75rem !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 0.875rem 0 !important;
  }
  .woocommerce-checkout .wc-block-components-radio-control__input {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    display: block !important;
    flex: 0 0 1.125rem !important;
    margin: 0 !important;
    transform: none !important;
  }
  .woocommerce-checkout .wc-block-components-radio-control__option-layout {
    width: auto !important;
    min-width: 0 !important;
  }
  .woocommerce-checkout .wc-block-components-checkbox label {
    display: flex !important;
    align-items: center !important;
    gap: 0.75rem !important;
    width: 100% !important;
    position: relative !important;
  }
  .woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox] {
    position: relative !important;
    flex: 0 0 1.125rem !important;
    margin: 0 !important;
  }
  .woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__mark {
    position: absolute !important;
    top: 50% !important;
    left: 0.125rem !important;
    width: 0.875rem !important;
    height: 0.875rem !important;
    margin: 0 !important;
    transform: translateY(-50%) !important;
  }
}
@media (max-width: 47.9375rem) {
  .woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) {
    padding: 1rem !important;
  }
  .woocommerce-checkout :is(.wc-block-checkout__sidebar, .wc-block-components-sidebar) .wc-block-components-order-summary-item {
    grid-template-columns: 2.75rem minmax(0, 1fr) !important;
    column-gap: 0.625rem !important;
    padding: 0.875rem 0.625rem !important;
  }
}
.woocommerce-order-received .standard-page__article {
  padding-block: clamp(3.5rem, 7vw, 6.5rem) clamp(5rem, 9vw, 8rem);
}

.woocommerce-order-received .standard-page__container {
  width: min(100% - 2.5rem, 75rem);
}

.woocommerce-order-received .standard-page__header {
  display: none;
}

.woocommerce-order-received .standard-page__content {
  padding-top: 0;
}

.woocommerce-order-received :is(.woocommerce-order, .wp-block-woocommerce-order-confirmation) {
  max-width: 66rem;
  margin: 0 auto;
}

.woocommerce-order-received :is(.woocommerce-thankyou-order-received, .wc-block-order-confirmation-status) {
  position: relative;
  margin: 0;
  border: 1px solid #000000;
  padding: clamp(2rem, 5vw, 4.5rem) clamp(1.25rem, 5vw, 4.5rem);
  background: #ffffff;
  color: #000000;
  font-family: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: clamp(1.5rem, 3vw, 2.5rem);
  font-weight: 700;
  letter-spacing: -0.055em;
  line-height: 1.08;
  text-align: center;
}

.woocommerce-order-received :is(.woocommerce-thankyou-order-received, .wc-block-order-confirmation-status)::before {
  display: grid;
  width: clamp(3.5rem, 6vw, 5rem);
  height: clamp(3.5rem, 6vw, 5rem);
  margin: 0 auto clamp(1.25rem, 2.5vw, 2rem);
  border: 1px solid #000000;
  border-radius: 50%;
  background: #fde605;
  color: #000000;
  content: "✓";
  font-family: Arial, sans-serif;
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 700;
  line-height: 1;
  place-items: center;
}

.woocommerce-order-received .wc-block-order-confirmation-status :is(h1, h2, h3, p) {
  margin: 0;
  color: inherit;
  font: inherit;
}

.woocommerce-order-received .wc-block-order-confirmation-status-description {
  margin-top: 1rem;
  color: #525252;
  font-size: 0.9375rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.5;
}

.woocommerce-order-received .woocommerce-order-overview {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  gap: 0;
  margin: clamp(1.5rem, 3vw, 2.5rem) 0 0;
  border: 1px solid #000000;
  padding: 0;
  background: #ffffff;
  list-style: none;
}

.woocommerce-order-received .wc-block-order-confirmation-summary {
  margin: clamp(1.5rem, 3vw, 2.5rem) 0 0;
}

.woocommerce-order-received .wc-block-order-confirmation-summary ul {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
  gap: 0;
  margin: 0;
  border: 1px solid #000000;
  padding: 0;
  background: #ffffff;
  list-style: none;
}

.woocommerce-order-received :is(.woocommerce-order-overview > li, .wc-block-order-confirmation-summary ul li) {
  float: none !important;
  width: auto !important;
  min-width: 0;
  margin: 0;
  border: 0;
  border-right: 1px solid #000000;
  border-bottom: 1px solid #000000;
  padding: 1.25rem;
  background: #ffffff;
  color: #525252;
  font-family: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 0.75rem;
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.3;
  text-transform: uppercase;
}

.woocommerce-order-received :is(.woocommerce-order-overview strong, .wc-block-order-confirmation-summary-list-item__value) {
  display: block;
  margin-top: 0.5rem;
  color: #000000;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.25;
  text-transform: none;
  word-break: break-word;
}

.woocommerce-order-received .wc-block-order-confirmation-summary-list-item__key {
  font: inherit;
}

.woocommerce-order-received :is(.woocommerce-order-details, .wc-block-order-confirmation-totals) {
  margin-top: clamp(2.5rem, 5vw, 4.5rem);
}

.woocommerce-order-received :is(.woocommerce-order-details__title, .wc-block-order-confirmation-totals > .wp-block-heading, .wc-block-order-confirmation-totals h2) {
  margin: 0 0 1.25rem;
  color: #000000;
  font-family: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 700;
  letter-spacing: -0.055em;
  line-height: 1.05;
}

.woocommerce-order-received :is(.woocommerce-table--order-details, .wc-block-order-confirmation-totals table) {
  width: 100%;
  border: 1px solid #000000;
  border-collapse: collapse;
  border-radius: 0;
  background: #ffffff;
  color: #000000;
  font-family: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;
}

.woocommerce-order-received :is(.woocommerce-table--order-details th, .woocommerce-table--order-details td, .wc-block-order-confirmation-totals table th, .wc-block-order-confirmation-totals table td) {
  border: 0;
  border-top: 1px solid rgba(0, 0, 0, 0.22);
  padding: 1rem 1.25rem;
  font-weight: 400;
  line-height: 1.45;
  text-align: left;
  vertical-align: top;
}

.woocommerce-order-received :is(.woocommerce-table--order-details thead th, .wc-block-order-confirmation-totals table thead th) {
  border-top: 0;
  background: #000000;
  color: #ffffff;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.woocommerce-order-received :is(.woocommerce-table--order-details td:last-child, .woocommerce-table--order-details th:last-child, .wc-block-order-confirmation-totals table td:last-child, .wc-block-order-confirmation-totals table th:last-child) {
  text-align: right;
}

.woocommerce-order-received :is(.woocommerce-table--order-details tfoot tr:last-child th, .woocommerce-table--order-details tfoot tr:last-child td, .wc-block-order-confirmation-totals table tfoot tr:last-child th, .wc-block-order-confirmation-totals table tfoot tr:last-child td) {
  border-top-color: #000000;
  background: #fde605;
  font-size: 1rem;
  font-weight: 700;
}

.woocommerce-order-received .woocommerce-customer-details,
.woocommerce-order-received :is(.wc-block-order-confirmation-address-wrapper, .woocommerce-order-confirmation-address-wrapper, .wc-block-order-confirmation-additional-fields-wrapper) {
  margin-top: clamp(2.5rem, 5vw, 4.5rem);
}

.woocommerce-order-received :is(.woocommerce-column__title, .woocommerce-customer-details h2, .wc-block-order-confirmation-billing-wrapper .wp-block-heading, .wc-block-order-confirmation-shipping-wrapper .wp-block-heading, .wc-block-order-confirmation-additional-fields-wrapper .wp-block-heading) {
  margin: 0 0 1.25rem;
  color: #000000;
  font-family: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: clamp(1.5rem, 2.4vw, 2rem);
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 1.1;
}

.woocommerce-order-received .woocommerce-customer-details address,
.woocommerce-order-received :is(.wc-block-order-confirmation-billing-address, .wc-block-order-confirmation-shipping-address, .wc-block-order-confirmation-order-note, .wc-block-order-confirmation-additional-fields .wc-block-components-additional-fields-list) {
  border: 1px solid #000000;
  border-radius: 0;
  padding: 1.5rem;
  background: #ffffff;
  color: #000000;
  font-family: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 0.9375rem;
  font-style: normal;
  line-height: 1.55;
}

.woocommerce-order-received .woocommerce-customer-details address {
  min-height: 100%;
}

.woocommerce-order-received .woocommerce-columns--addresses {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.5rem, 3vw, 2.5rem);
  align-items: stretch;
}

.woocommerce-order-received .woocommerce-columns--addresses .woocommerce-column {
  float: none !important;
  width: auto !important;
  margin: 0;
  padding: 0;
}

.woocommerce-order-received .woocommerce-columns--addresses .woocommerce-column__title {
  margin-bottom: 0.875rem;
  padding-bottom: 0.875rem;
  border-bottom: 1px solid #000000;
  font-size: clamp(1.375rem, 2.2vw, 1.75rem);
  line-height: 1.1;
}

.woocommerce-order-received .woocommerce-columns--addresses address {
  box-sizing: border-box;
  border-width: 1px 1px 1px 0;
  border-left: 0.25rem solid #fde605;
  padding: 1.5rem 1.5rem 1.5rem 1.25rem;
  line-height: 1.7;
}

.woocommerce-order-received :is(.wc-block-order-confirmation-address-wrapper, .woocommerce-order-confirmation-address-wrapper) .wp-block-columns {
  gap: clamp(1.25rem, 3vw, 2.5rem);
}

.woocommerce-order-received .wc-block-components-additional-fields-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 0;
}

.woocommerce-order-received .wc-block-components-additional-fields-list :is(dt, dd) {
  margin: 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.22);
  padding: 0.875rem 0;
}

.woocommerce-order-received .wc-block-components-additional-fields-list dt {
  font-weight: 700;
}

.woocommerce-order-received .wc-block-components-additional-fields-list dd {
  text-align: right;
}

.woocommerce-order-received .woocommerce-notice--error,
.woocommerce-order-received .woocommerce-thankyou-order-failed {
  border: 1px solid #000000;
  border-left-width: 0.375rem;
  padding: 1rem 1.25rem;
  background: #ffffff;
  color: #000000;
  font-family: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;
}

.woocommerce-order-received .woocommerce-thankyou-order-failed-actions .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  border: 1px solid #000000;
  border-radius: 999px;
  padding: 0.75rem 1.25rem;
  background: #fde605;
  color: #000000;
  font-family: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-weight: 700;
  text-decoration: none;
  transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.woocommerce-order-received .woocommerce-thankyou-order-failed-actions .button:hover,
.woocommerce-order-received .woocommerce-thankyou-order-failed-actions .button:focus-visible {
  background: #000000;
  color: #ffffff;
  transform: translateY(-2px);
  outline: 0;
}

@media (max-width: 61.9375rem) {
  .woocommerce-order-received :is(.woocommerce-order-overview, .wc-block-order-confirmation-summary ul) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 47.9375rem) {
  .woocommerce-order-received .standard-page__article {
    padding-block: 3rem 4.5rem;
  }
  .woocommerce-order-received .standard-page__container {
    width: min(100% - 2.5rem, 75rem);
  }
  .woocommerce-order-received :is(.woocommerce-thankyou-order-received, .wc-block-order-confirmation-status) {
    padding: 2rem 1rem;
    font-size: 1.75rem;
  }
  .woocommerce-order-received :is(.woocommerce-order-overview, .wc-block-order-confirmation-summary ul) {
    grid-template-columns: 1fr;
  }
  .woocommerce-order-received :is(.woocommerce-order-overview > li, .wc-block-order-confirmation-summary ul li) {
    padding: 1rem;
  }
  .woocommerce-order-received :is(.woocommerce-table--order-details th, .woocommerce-table--order-details td, .wc-block-order-confirmation-totals table th, .wc-block-order-confirmation-totals table td) {
    padding: 0.875rem;
    font-size: 0.875rem;
  }
  .woocommerce-order-received .woocommerce-columns--addresses {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  .woocommerce-order-received :is(.wc-block-order-confirmation-address-wrapper, .woocommerce-order-confirmation-address-wrapper) .wp-block-columns {
    gap: 1.25rem;
  }
  .woocommerce-order-received .wc-block-components-additional-fields-list {
    grid-template-columns: 1fr;
  }
  .woocommerce-order-received .wc-block-components-additional-fields-list dd {
    padding-top: 0;
    text-align: left;
  }
}
.single-project {
  min-height: 0;
}

.single-post .site-header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background: transparent;
}

.single-post .site-header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 230%;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.62), rgba(0, 0, 0, 0.28) 55%, rgba(0, 0, 0, 0));
  pointer-events: none;
}

.single-post .site-header__inner {
  position: relative;
  z-index: 1;
}

.single-post .site-header__inner {
  border-bottom-color: rgba(255, 255, 255, 0.88);
}

.single-post .site-brand,
.single-post .site-brand:visited,
.single-post .site-brand:hover,
.single-post .site-brand:focus,
.single-post .site-brand span,
.single-post .main-navigation a,
.single-post .main-navigation a:visited,
.single-post .main-navigation a:hover,
.single-post .main-navigation a:focus-visible {
  color: #ffffff;
}

.single-post .site-brand img,
.single-post .header-search img {
  filter: brightness(0) invert(1);
}

.single-post .main-navigation .nav-menu > li > a::after {
  background: #ffffff;
}

.single-post .main-navigation .sub-menu a,
.single-post .main-navigation .sub-menu a:visited,
.single-post .main-navigation .sub-menu a:hover,
.single-post .main-navigation .sub-menu a:focus-visible {
  color: #000000;
}

@media (max-width: 74.9375rem) {
  .single-post .main-navigation .mobile-menu-panel a,
  .single-post .main-navigation .mobile-menu-panel a:visited,
  .single-post .main-navigation .mobile-menu-panel a:hover,
  .single-post .main-navigation .mobile-menu-panel a:focus-visible {
    color: #000000;
  }
}
.project-single__banner {
  width: 100%;
  height: 45.6875rem;
  margin: 0;
  background: #000000;
}

.project-single__banner img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.project-single__intro {
  width: min(100% - 2.5rem, 70.75rem);
  margin-inline: auto;
}

.project-single__header {
  padding-top: 2.9375rem;
}

.project-single__title {
  margin: 0;
  font-size: clamp(3.5rem, 5.56vw, 5rem);
  font-weight: 700;
  line-height: 1.35;
  text-transform: uppercase;
}

.project-single__categories {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.35;
  text-transform: uppercase;
}

.project-single__category-separator {
  margin-inline: 0.2rem;
}

.project-single__content {
  max-width: 61.9375rem;
  margin-top: 3.625rem;
  font-size: 1.125rem;
  line-height: 1.45;
  text-align: justify;
}

.project-single__content > :first-child {
  margin-top: 0;
}

.project-single__content > :last-child {
  margin-bottom: 0;
}

.project-single__content p {
  margin: 0 0 1.5rem;
}

.project-gallery,
.similar-projects {
  width: min(100% - 2.5rem, 75rem);
  margin-inline: auto;
}

.project-gallery {
  margin-top: 5.625rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.45);
  padding-bottom: 5.625rem;
}

.project-gallery__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}

.project-gallery__item {
  min-width: 0;
  aspect-ratio: 1.89;
  margin: 0;
  overflow: hidden;
}

.project-gallery__item:nth-child(5n),
.project-gallery__item:last-child:nth-child(5n+1),
.project-gallery__item:last-child:nth-child(5n+3) {
  grid-column: 1/-1;
  aspect-ratio: 3.875;
}

.project-gallery__item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.similar-projects {
  padding: 3rem 0 5.8125rem;
}

.similar-projects h2 {
  margin: 0 0 1.75rem;
  font-size: 1.875rem;
  font-weight: 400;
  line-height: 1.35;
}

.similar-projects__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2.25rem;
}

.similar-project-card {
  min-width: 0;
}

.similar-project-card a {
  display: block;
  color: #000000;
  text-decoration: none;
}

.similar-project-card img {
  display: block;
  width: 100%;
  aspect-ratio: 1.465;
  object-fit: cover;
}

.similar-project-card h3 {
  margin: 1.25rem 0 0;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.2;
}

@media (max-width: 61.9375rem) {
  .single-post .site-header {
    position: absolute;
    background: transparent;
  }
  .single-post .site-header__inner {
    border-bottom-color: rgba(255, 255, 255, 0.88);
  }
  .single-post .site-brand,
  .single-post .site-brand:visited,
  .single-post .site-brand:hover,
  .single-post .site-brand:focus,
  .single-post .site-brand span,
  .single-post .main-navigation a,
  .single-post .main-navigation a:visited,
  .single-post .main-navigation a:hover,
  .single-post .main-navigation a:focus-visible {
    color: #ffffff;
  }
  .single-post .site-brand img,
  .single-post .header-search img {
    filter: brightness(0) invert(1);
  }
  .single-post .menu-toggle > span:not(.screen-reader-text) {
    background: #ffffff;
  }
  .project-single__banner {
    height: min(60vw, 38rem);
  }
  .project-single__title {
    font-size: clamp(3.25rem, 7vw, 4rem);
    line-height: 1.2;
  }
  .project-single__categories {
    font-size: 1.125rem;
  }
  .project-single__content {
    font-size: 1.0625rem;
  }
  .similar-projects__grid {
    gap: 1.25rem;
  }
  .single-post .mobile-menu-panel,
  .single-post .mobile-menu-panel a,
  .single-post .mobile-menu-panel a:visited,
  .single-post .mobile-menu-panel a:hover,
  .single-post .mobile-menu-panel a:focus-visible {
    color: #000000;
  }
  .single-post .mobile-menu-panel .menu-close span {
    background: #000000;
  }
}
@media (max-width: 47.9375rem) {
  .project-single__intro,
  .project-gallery,
  .similar-projects {
    width: min(100% - 2rem, 75rem);
  }
  .project-single__header {
    padding-top: 2.5rem;
  }
  .project-single__title {
    font-size: clamp(1.75rem, 8vw, 2.25rem);
    line-height: 1.15;
  }
  .project-single__categories {
    font-size: 0.9375rem;
  }
  .project-single__content {
    margin-top: 2.25rem;
    font-size: 0.9375rem;
    line-height: 1.5;
    text-align: left;
  }
  .project-gallery {
    margin-top: 4rem;
    padding-bottom: 4rem;
  }
  .project-gallery__grid,
  .similar-projects__grid {
    grid-template-columns: 1fr;
  }
  .project-gallery__item,
  .project-gallery__item:nth-child(5n),
  .project-gallery__item:last-child:nth-child(5n+1),
  .project-gallery__item:last-child:nth-child(5n+3) {
    grid-column: auto;
    aspect-ratio: 1.55;
  }
  .similar-projects {
    padding-bottom: 4rem;
  }
  .similar-projects h2 {
    font-size: 1.375rem;
  }
  .similar-project-card h3 {
    font-size: 1.25rem;
  }
}
.firma-single-main {
  min-height: 0;
}

.firma-single {
  padding-block: clamp(2rem, 5vw, 4rem) clamp(3rem, 6vw, 5.5rem);
  color: #000000;
}

.firma-single__container {
  display: flex;
  flex-direction: column;
  gap: clamp(2.5rem, 5vw, 4rem);
}

.firma-single__main {
  display: grid;
  grid-template-columns: minmax(0, 40%) minmax(0, 1fr);
  gap: clamp(1.75rem, 4vw, 3.5rem);
  align-items: start;
}

.firma-single__media {
  overflow: hidden;
  background: #f4f5f6;
}

.firma-single__image {
  width: 100%;
  height: auto;
  display: block;
}

.firma-single__image--placeholder {
  background-color: #dff0ef;
}

.firma-single__summary {
  min-width: 0;
}

.firma-single__title {
  margin: 0 0 0.5rem;
  font-size: clamp(1.375rem, 2vw, 1.75rem);
  font-weight: 700;
  line-height: 1.2;
}

.firma-single__summary > .price {
  display: none;
}

.firma-single form.cart {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  margin: 0;
}

.firma-single form.cart::before,
.firma-single form.cart::after {
  content: none;
}

.firma-single form.cart > .ecpc-calc {
  order: 1;
  margin-bottom: 0;
}

.firma-single form.cart > .firma-contact-fields {
  order: 2;
}

.firma-single form.cart > .eclu-field {
  order: 3;
}

.firma-single form.cart > .firma-buy-row {
  order: 4;
}

.firma-single .ecpc-calc {
  max-width: none;
}

.firma-single .ecpc-title {
  display: none;
}

.firma-single .ecpc-sub {
  margin: 0 0 1.5rem;
  font-size: 0.875rem;
  color: #000000;
}

.firma-single .ecpc-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem 1.25rem;
}

.firma-single .ecpc-field,
.firma-single .firma-field {
  margin-bottom: 1rem;
}

.firma-single .ecpc-field label,
.firma-single .firma-field label,
.firma-single .eclu-field__label {
  display: block;
  margin: 0 0 0.4rem;
  font-size: 1rem;
  font-weight: 400;
  color: #000000;
}

.firma-single .firma-req,
.firma-single .ecpc-req,
.firma-single .eclu-field__label .required {
  color: #ff0000;
  text-decoration: none;
  border: 0;
}

.firma-single .ecpc-input,
.firma-single .firma-input,
.firma-single .eclu-dropzone {
  width: 100%;
  min-height: 2.5625rem;
  background: #f5f5f5;
  border: 1px solid transparent;
  border-radius: 6px;
  padding: 0.625rem 0.875rem;
  font-family: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 0.9375rem;
  color: #000000;
  box-sizing: border-box;
  transition: border-color 0.15s ease, background 0.15s ease;
}

.firma-single .ecpc-input:focus,
.firma-single .firma-input:focus {
  outline: none;
  border-color: #cfcfcf;
  background: #efefef;
}

.firma-single select.ecpc-input {
  background-color: #f5f5f5;
}

.firma-single .firma-contact-fields {
  margin-top: 0.25rem;
}

.firma-single .firma-contact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem 1.25rem;
}

.firma-single .eclu-field {
  margin-bottom: 1rem;
}

.firma-single .firma-quote-logo-note {
  margin: 0.5rem 0 1rem;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: #6b6b6b;
}

.firma-single .eclu-dropzone {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  cursor: pointer;
}

.firma-single .eclu-dropzone__text {
  font-size: 0.8125rem;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #6b6b6b;
}

.firma-single .ecpc-total {
  order: 1;
  margin: 0.75rem 0 1.25rem;
  font-size: 1.125rem;
}

.firma-single .ecpc-total-label {
  font-weight: 500;
  color: #000000;
}

.firma-single .ecpc-total-value {
  font-size: 1.875rem;
  font-weight: 700;
  color: #000000;
}

.firma-single .firma-buy-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
  margin-top: 1.25rem;
}

.firma-single .firma-buy-row .quantity {
  margin: 0;
  float: none;
}

.firma-single .quantity .qty {
  width: 3.5rem;
  height: 2.5625rem;
  padding: 0.5rem 0.5rem 0.5rem 0.75rem;
  border: 1px solid #000000;
  border-radius: 6px;
  background: #ffffff;
  font-size: 0.9375rem;
  text-align: center;
  color: #000000;
  box-sizing: border-box;
}

.firma-single .single_add_to_cart_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-height: 2.5625rem;
  margin: 0;
  padding: 0.625rem 1.5rem;
  border: 0;
  border-radius: 6px;
  background: #000000;
  color: #ffffff;
  font-family: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  cursor: pointer;
  transition: opacity 0.15s ease, background 0.15s ease;
}

.firma-single .single_add_to_cart_button::before {
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round' d='M4 8h16l-1.2 9.2a2 2 0 0 1-2 1.8H7.2a2 2 0 0 1-2-1.8L4 8Zm4 0 2-4m6 4-2-4M9.5 12v3m5-3v3'/%3E%3C/svg%3E") center/contain no-repeat;
  mask: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round' d='M4 8h16l-1.2 9.2a2 2 0 0 1-2 1.8H7.2a2 2 0 0 1-2-1.8L4 8Zm4 0 2-4m6 4-2-4M9.5 12v3m5-3v3'/%3E%3C/svg%3E") center/contain no-repeat;
  flex: none;
}

.firma-single .single_add_to_cart_button:hover {
  background: #1a1a1a;
}

.firma-single .single_add_to_cart_button.disabled,
.firma-single .single_add_to_cart_button.ecpc-disabled,
.firma-single .single_add_to_cart_button:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.firma-phone-box {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 2.5625rem;
  padding: 0.5rem 1rem;
  border: 1px solid #000000;
  border-radius: 6px;
  font-size: 0.8125rem;
  color: #000000;
}

.firma-phone-box__icon {
  display: inline-flex;
  color: #000000;
}

.firma-phone-box__text a {
  color: #000000;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.firma-single__description {
  padding-top: clamp(0.25rem, 1.5vw, 1rem);
}

.firma-desc-tabs {
  margin-bottom: 1.25rem;
}

.firma-desc-tab {
  display: inline-flex;
  align-items: center;
  padding: 0.625rem 1.5rem;
  border-radius: 6px;
  background: #000000;
  color: #ffffff;
  font-size: 0.875rem;
  font-weight: 400;
}

.firma-desc-body {
  max-width: 72rem;
  font-size: 1rem;
  line-height: 1.6;
  color: #000000;
}

.firma-desc-body > :first-child {
  margin-top: 0;
}

.firma-desc-body > :last-child {
  margin-bottom: 0;
}

.firma-single__work {
  border-top: 1px solid rgba(0, 0, 0, 0.2);
  padding-top: clamp(1.75rem, 3vw, 2.5rem);
}

.firma-work__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.75rem;
}

.firma-work__title {
  margin: 0;
  font-size: clamp(1.25rem, 2vw, 1.375rem);
  font-weight: 500;
  line-height: 1.2;
}

.firma-work__nav {
  display: flex;
  gap: 0.625rem;
}

.firma-work__arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
  transition: transform 0.15s ease;
}

.firma-work__arrow svg {
  width: 100%;
  height: 100%;
  display: block;
}

.firma-work__arrow svg circle {
  transition: fill 0.15s ease, stroke 0.15s ease;
}

.firma-work__arrow svg path {
  transition: stroke 0.15s ease;
}

.firma-work__arrow:hover svg circle {
  fill: #000000;
  stroke: #000000;
}

.firma-work__arrow:hover svg path {
  stroke: #ffffff;
}

.firma-work__arrow.swiper-button-disabled {
  opacity: 0.35;
  cursor: default;
}

.firma-single .firma-work__arrow:focus,
.firma-single .firma-work__arrow:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

.firma-work__arrow:focus-visible svg circle {
  fill: #000000;
  stroke: #000000;
}

.firma-work__arrow:focus-visible svg path {
  stroke: #ffffff;
}

.firma-work-slider {
  overflow: hidden;
}

.firma-work-slide {
  height: auto;
}

.firma-work-slide__link {
  position: relative;
  display: block;
  overflow: hidden;
  color: #ffffff;
  text-decoration: none;
}

.firma-work-slide__link img {
  display: block;
  width: 100%;
  aspect-ratio: 380/253;
  object-fit: cover;
  transition: transform 350ms ease;
}

.firma-work-slide__overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 2rem;
  color: #ffffff;
  background: linear-gradient(to bottom, transparent 30%, rgba(0, 0, 0, 0.9));
  opacity: 0;
  transition: opacity 0.3s ease;
}

.firma-single .firma-work-slide__overlay,
.firma-single .firma-work-slide__overlay strong,
.firma-single .firma-work-slide__overlay span {
  color: #ffffff;
}

.firma-work-slide__overlay strong {
  font-size: 1.375rem;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
}

.firma-work-slide__overlay span {
  margin-top: 0.4rem;
  font-size: 0.75rem;
  text-transform: uppercase;
}

.firma-work-slide__link:hover .firma-work-slide__overlay,
.firma-work-slide__link:focus-visible .firma-work-slide__overlay {
  opacity: 1;
}

.firma-work-slide__link:hover img,
.firma-work-slide__link:focus-visible img {
  transform: scale(1.035);
}

@media (max-width: 61.9375rem) {
  .firma-single__main {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .firma-single__media {
    max-width: 26rem;
    margin-inline: auto;
  }
  .firma-single__title {
    text-align: left;
  }
  .firma-single .ecpc-title {
    font-size: 1.625rem;
  }
}
@media (max-width: 36rem) {
  .firma-single__media {
    max-width: 100%;
  }
  .firma-single .ecpc-grid,
  .firma-single .firma-contact-grid {
    grid-template-columns: 1fr;
  }
  .firma-single .firma-buy-row {
    gap: 0.75rem;
  }
  .firma-single .firma-buy-row .quantity {
    flex: 0 0 auto;
  }
  .firma-single .single_add_to_cart_button {
    flex: 1 1 auto;
  }
  .firma-phone-box {
    flex: 1 1 100%;
    justify-content: center;
  }
  .firma-work__title {
    font-size: 1.1875rem;
  }
}
body.woocommerce .firma-single .single_add_to_cart_button,
.woocommerce .firma-single button.single_add_to_cart_button {
  background: #000000 !important;
  color: #ffffff !important;
  border-color: #000000 !important;
}

body.woocommerce .firma-single .single_add_to_cart_button:hover,
.woocommerce .firma-single button.single_add_to_cart_button:hover {
  background: #1a1a1a !important;
  color: #ffffff !important;
}

body.woocommerce .firma-single .single_add_to_cart_button.disabled,
body.woocommerce .firma-single .single_add_to_cart_button.ecpc-disabled,
body.woocommerce .firma-single .single_add_to_cart_button:disabled {
  background: #000000 !important;
  opacity: 0.4 !important;
}

.catalog-archive__hero {
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  background-color: #ffffff;
  background-image: var(--catalog-hero-pattern, none);
  background-position: center;
  background-size: 12rem auto;
}

.catalog-archive__hero-inner {
  display: grid;
  place-items: center;
  min-height: 9.25rem;
  padding-block: 1.5rem;
  text-align: center;
}

.catalog-archive__hero h1 {
  margin: 0;
  font-size: clamp(2rem, 3vw, 2.75rem);
  font-weight: 700;
  line-height: 1.1;
  text-transform: uppercase;
}

.catalog-archive__breadcrumb {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 0.9rem;
  font-size: 0.9375rem;
}

.catalog-archive__breadcrumb a {
  display: grid;
  place-items: center;
  color: #000000;
}

.catalog-archive__breadcrumb svg {
  width: 0.875rem;
  height: 0.875rem;
}

.catalog-archive__products {
  padding: 3.5rem 0 5rem;
}

.catalog-archive__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  padding-bottom: 0.875rem;
}

.catalog-archive__result-count,
.catalog-archive__toolbar .woocommerce-result-count {
  margin: 0;
  color: #525252;
  font-size: 0.875rem;
  line-height: 1.35;
}

.catalog-controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
}

.catalog-controls label {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  color: #525252;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1;
}

.catalog-controls select {
  min-width: 10.75rem;
  height: 2.625rem;
  border: 1px solid rgba(0, 0, 0, 0.45);
  border-radius: 0;
  padding: 0 2.35rem 0 0.875rem;
  background-color: #ffffff;
  background-image: linear-gradient(45deg, transparent 50%, #000000 50%), linear-gradient(135deg, #000000 50%, transparent 50%);
  background-position: calc(100% - 1rem) 1.05rem, calc(100% - 0.7rem) 1.05rem;
  background-repeat: no-repeat;
  background-size: 0.35rem 0.35rem, 0.35rem 0.35rem;
  color: #000000;
  font-family: "Satoshi", system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1;
  appearance: none;
  transition: border-color 180ms ease, box-shadow 180ms ease;
}

.catalog-controls label:last-child select {
  min-width: 4.75rem;
}

.catalog-controls select:focus-visible {
  border-color: #000000;
  box-shadow: 0 0 0 2px rgba(253, 230, 5, 0.7);
  outline: 0;
}

.catalog-archive ul.products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3.75rem 2rem;
  margin: 1.25rem 0 5rem;
  padding: 0;
  list-style: none;
}

.catalog-archive ul.products::before,
.catalog-archive ul.products::after {
  display: none;
}

.catalog-archive ul.products li.product,
.catalog-archive ul.products li.product.firma-product-card {
  width: auto;
  margin: 0;
  float: none;
}

.firma-product-card__link {
  display: block;
  color: #000000;
  text-align: center;
  text-decoration: none;
}

.firma-product-card__image {
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #ffffff;
  aspect-ratio: 0.8;
}

.firma-product-card__image img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
  object-position: center;
  transition: transform 250ms ease;
}

.firma-product-card__link:hover .firma-product-card__image img,
.firma-product-card__link:focus-visible .firma-product-card__image img {
  transform: scale(1.025);
}

.firma-product-card__title {
  margin: 0.875rem 0 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.35;
}

.catalog-archive__footer {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  padding-top: 1.25rem;
}

.catalog-archive__footer .woocommerce-pagination {
  grid-column: 2;
  margin: 0;
}

.catalog-archive__footer .woocommerce-pagination ul.page-numbers {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin: 0;
  border: 0;
  padding: 0;
}

.catalog-archive__footer .woocommerce-pagination ul.page-numbers li {
  border: 0;
}

.catalog-archive__footer .woocommerce-pagination .page-numbers {
  display: grid;
  place-items: center;
  min-width: 2.25rem;
  height: 2.25rem;
  border: 1px solid transparent;
  background: transparent;
  color: #000000;
  text-decoration: none;
  transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.catalog-archive__footer .woocommerce-pagination .page-numbers.current,
.catalog-archive__footer .woocommerce-pagination a.page-numbers:hover,
.catalog-archive__footer .woocommerce-pagination a.page-numbers:focus-visible {
  border-color: #000000;
  background: #000000;
  color: #ffffff;
}

.catalog-archive__footer .woocommerce-pagination a.page-numbers:hover,
.catalog-archive__footer .woocommerce-pagination a.page-numbers:focus-visible {
  transform: translateY(-2px);
}

.product-search-archive__empty {
  margin: 2rem 0 0;
  font-size: 1.0625rem;
}

@media (max-width: 61.9375rem) {
  .catalog-archive ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.5rem 1.25rem;
  }
}
@media (max-width: 47.9375rem) {
  .catalog-archive__hero-inner {
    min-height: 7.5rem;
  }
  .catalog-archive__hero h1 {
    font-size: 1.75rem;
  }
  .catalog-archive__products {
    padding: 2.5rem 0 3.5rem;
  }
  .catalog-archive__toolbar,
  .catalog-controls {
    align-items: stretch;
    flex-direction: column;
    gap: 0.75rem;
  }
  .catalog-controls label {
    justify-content: space-between;
  }
  .catalog-controls select {
    width: min(12rem, 60%);
  }
  .catalog-archive ul.products {
    grid-template-columns: 1fr;
    gap: 2rem;
    margin-bottom: 3.5rem;
  }
  .catalog-archive__footer {
    grid-template-columns: 1fr;
    gap: 1rem;
    justify-items: center;
  }
  .catalog-archive__footer .woocommerce-pagination,
  .catalog-archive__footer .woocommerce-result-count {
    grid-column: auto;
    justify-self: center;
  }
}
.post-category-archive__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 3.75rem 2rem;
  margin: 1.25rem 0 5rem;
}

.post-category-card {
  margin: 0;
}

.post-category-card__link {
  display: block;
  color: #000000;
  text-align: center;
  text-decoration: none;
}

.post-category-card__image {
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #ffffff;
  aspect-ratio: 0.8;
}

.post-category-card__image img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
  object-position: center;
  transition: transform 250ms ease;
}

.post-category-card__link:hover .post-category-card__image img,
.post-category-card__link:focus-visible .post-category-card__image img {
  transform: scale(1.025);
}

.post-category-card__title {
  margin: 0.875rem 0 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.35;
}

.post-category-archive__footer .navigation.pagination {
  grid-column: 2;
  margin: 0;
}

.post-category-archive__footer .nav-links {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.post-category-archive__footer .page-numbers {
  display: grid;
  place-items: center;
  min-width: 2.25rem;
  height: 2.25rem;
  border: 1px solid transparent;
  background: transparent;
  color: #000000;
  text-decoration: none;
  transition: border-color 180ms ease, background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.post-category-archive__footer .page-numbers.current,
.post-category-archive__footer a.page-numbers:hover,
.post-category-archive__footer a.page-numbers:focus-visible {
  border-color: #000000;
  background: #000000;
  color: #ffffff;
}

.post-category-archive__footer a.page-numbers:hover,
.post-category-archive__footer a.page-numbers:focus-visible {
  transform: translateY(-2px);
}

.post-search-archive__empty {
  margin: 2rem 0 0;
  font-size: 1.0625rem;
}

@media (max-width: 61.9375rem) {
  .post-category-archive__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2.5rem 1.25rem;
  }
}
@media (max-width: 47.9375rem) {
  .post-category-archive__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
    margin-bottom: 3.5rem;
  }
  .post-category-archive__footer {
    grid-template-columns: 1fr;
    gap: 1rem;
    justify-items: center;
  }
  .post-category-archive__footer .navigation.pagination {
    grid-column: auto;
    justify-self: center;
  }
}

.lang-switcher {
  position: relative;
}

.lang-switcher__toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  height: 2.0625rem;
  border: 1px solid #000000;
  padding-inline: 0.625rem;
  background: transparent;
  color: #000000;
  font-family: inherit;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1;
  text-transform: uppercase;
  cursor: pointer;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.lang-switcher__toggle:hover,
.lang-switcher__toggle:focus-visible,
.lang-switcher.is-open .lang-switcher__toggle {
  border-color: #fde605;
  background: #fde605;
  color: #000000;
}

.lang-switcher__caret {
  display: block;
  transition: transform 180ms ease;
}

.lang-switcher.is-open .lang-switcher__caret {
  transform: rotate(180deg);
}

.lang-switcher__code {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.lang-switcher__list {
  position: absolute;
  top: calc(100% + 0.5rem);
  right: 0;
  z-index: 60;
  min-width: 9.5rem;
  margin: 0;
  border: 1px solid #000000;
  padding: 0;
  list-style: none;
  background: #ffffff;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-0.5rem);
  transition: opacity 200ms ease, transform 200ms ease, visibility 200ms ease;
}

.lang-switcher.is-open .lang-switcher__list {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.lang-switcher__list li + li {
  border-top: 1px solid rgba(0, 0, 0, 0.14);
}

.lang-switcher__list .lang-switcher__option {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.6875rem 0.75rem;
  color: #000000;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.2;
  text-decoration: none;
  transition: background-color 160ms ease;
}

.lang-switcher__list .lang-switcher__option:visited {
  color: #000000;
}

.lang-switcher__list .lang-switcher__option:hover,
.lang-switcher__list .lang-switcher__option:focus-visible {
  background: #fde605;
  color: #000000;
  text-decoration: none;
}

.lang-switcher__list .lang-switcher__option.is-current {
  font-weight: 700;
}

.lang-switcher__list .lang-switcher__code {
  min-width: 1.625rem;
}

.main-navigation .lang-switcher--inline {
  display: none;
}

.single-post .site-header .lang-switcher__toggle {
  border-color: rgba(255, 255, 255, 0.65);
  color: #ffffff;
}

.single-post .site-header .lang-switcher__toggle:hover,
.single-post .site-header .lang-switcher__toggle:focus-visible,
.single-post .site-header .lang-switcher.is-open .lang-switcher__toggle {
  border-color: #fde605;
  color: #000000;
}

@media (max-width: 74.9375rem) {
  .site-header__actions .lang-switcher__toggle {
    height: 1.875rem;
    padding-inline: 0.5rem;
  }

  .main-navigation .lang-switcher--inline {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    gap: 0.5rem;
    margin: 0 1.25rem 2rem;
  }

  .main-navigation .lang-switcher--inline .lang-switcher__option {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 2.75rem;
    border: 1px solid #000000;
    border-radius: 999px;
    color: #000000;
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 1;
    text-transform: uppercase;
    text-decoration: none;
    transition: background-color 160ms ease;
  }

  .main-navigation .lang-switcher--inline .lang-switcher__option.is-current {
    border-color: #fde605;
    background: #fde605;
  }

  .main-navigation .lang-switcher--inline .lang-switcher__option:hover,
  .main-navigation .lang-switcher--inline .lang-switcher__option:focus-visible {
    background: #fde605;
    color: #000000;
    text-decoration: none;
  }
}

@media (max-width: 35.9375rem) {
  .site-header__actions {
    gap: 0.625rem;
  }

  .lang-switcher__list {
    min-width: 8.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .lang-switcher__toggle,
  .lang-switcher__caret,
  .lang-switcher__list,
  .lang-switcher__option {
    transition: none;
  }
}

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