@charset "UTF-8";
@font-face {
  font-family: "Special Elite";
  src: url("../../fonts/SpecialElite-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Hanken Grotesk";
  src: url("../../fonts/HankenGrotesk-Variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}
/* ------------------------------------------------------------------------ */
/* Heading typography                                                       */
/*                                                                          */
/* One mixin per level. font-size uses clamp() to interpolate between min   */
/* and max across viewport widths. To tune a heading, edit the values right */
/* here — no map, no function, no indirection.                              */
/*                                                                          */
/* font-family is intentionally left out so each project sets its own;      */
/* declare it on `html` / `body` (or per-heading) once and these mixins     */
/* inherit it.                                                              */
/*                                                                          */
/* Used in two places:                                                      */
/*   - base/_typography.scss      → applies to <h1>..<h4> elements          */
/*   - utilities/_typography.scss → applies to .px_h1..px_h4 utility classes*/
/* ------------------------------------------------------------------------ */
:root {
  --px-radius-sm: 0.75rem;
  --px-radius-md: 1.25rem;
  --px-radius-lg: 1.5rem;
  --px-radius-pill: 999px;
}

html {
  font-size: 62.5%;
}

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

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

a:focus-visible {
  outline: 2px solid;
  outline-offset: 2px;
}

.logged-in.admin-bar .px_header {
  top: 32px;
}

@media (min-width: 1440px) {
  body {
    max-width: 250rem;
    margin-inline: auto;
  }
}
body {
  font-family: var(--wh-font-body, "Hanken Grotesk"), "Helvetica Neue", Helvetica, sans-serif;
  font-size: var(--wh-fs-body, 1.7rem);
  line-height: 1.65;
  color: var(--wh-text, #3c3c3b);
  background-color: var(--wh-white, #fff);
}

button,
input,
select,
textarea {
  font-size: 1.6rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--wh-font-display, "Special Elite"), "Courier New", monospace;
  font-weight: 400;
  color: var(--wh-text, #3c3c3b);
}

h5,
h6 {
  line-height: 1.1;
}

h1 {
  font-size: var(--wh-fs-h1, clamp(3rem, 4.2vw, 5.4rem)) !important;
  line-height: 1.22 !important;
  letter-spacing: -0.005em;
  overflow-wrap: break-word;
  hyphens: manual;
}

h2 {
  font-size: var(--wh-fs-h2, clamp(2.6rem, 2.6vw, 3.4rem)) !important;
  line-height: 1.2 !important;
  overflow-wrap: break-word;
  hyphens: manual;
}

h3 {
  font-size: clamp(2.2rem, 2vw, 2.6rem) !important;
  line-height: 1.2 !important;
  overflow-wrap: break-word;
  hyphens: auto;
}

h4 {
  font-size: clamp(1.8rem, 1.5vw, 2rem) !important;
  line-height: 1.2 !important;
  overflow-wrap: break-word;
  hyphens: auto;
}

a {
  color: var(--wh-text, #3c3c3b);
}
a:hover {
  color: var(--wh-link-hover, #0077b0);
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  word-wrap: normal;
}

.skip-link.screen-reader-text:focus {
  position: fixed;
  top: 0.5rem;
  left: 0.5rem;
  z-index: 100000;
  clip: auto;
  clip-path: none;
  width: auto;
  height: auto;
  padding: 0.75rem 1rem;
  background: #fff;
  color: #111;
  font-weight: 600;
  text-decoration: none;
}

.alignwide {
  margin-inline: auto;
  max-width: min(100%, 1100px);
}

.alignfull {
  margin-inline: calc(50% - 50vw);
  max-width: 100vw;
}

#site-header,
#site-footer {
  padding: 0;
}

.site-header,
.site-footer {
  background: transparent;
}

.elementor-widget-image .elementor-widget-container img {
  object-fit: cover;
}

.elementor-widget-text-editor a {
  text-decoration: underline;
}

.elementor-editor-active #site-header {
  z-index: 0;
}

.elementor-editor-active main {
  z-index: 999;
}

.elementor .e-form-checkbox-base.e-form-checkbox-base {
  border-color: var(--wh-text-soft, #706f6f);
  background-color: var(--wh-white, #fff);
}
.elementor .e-form-checkbox-base.e-form-checkbox-base:checked {
  border-color: var(--wh-text, #3c3c3b);
  background-color: var(--wh-text, #3c3c3b);
}
.elementor .e-form-checkbox-base.e-form-checkbox-base:focus-visible {
  outline: 2px solid var(--wh-text, #3c3c3b);
  outline-offset: 2px;
}

.px_header {
  transition: all 0.3s ease;
  z-index: 3;
}

.px_footer {
  position: relative;
}

.post-password-form {
  display: grid;
  gap: 1rem;
  max-width: 32rem;
}

.post-password-form p {
  margin: 0;
}

.post-password-form__fields {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: flex-end;
}

.post-password-form label {
  display: grid;
  flex: 1 1 14rem;
  gap: 0.5rem;
  font-weight: 600;
}

.post-password-form input[type=password] {
  width: 100%;
  max-width: 100%;
  padding: 0.75rem 1rem;
  border: 1px solid;
  border-radius: var(--px-radius-md);
}

.post-password-form input[type=password]:focus-visible {
  outline: 2px solid;
  outline-offset: 2px;
}

.px_limit_left {
  padding-left: max(0px, (100vw - var(--content-width)) / 2);
}
@media (max-width: 767.98px) {
  .px_limit_left {
    padding-right: 5vw;
  }
}

.px_limit_right {
  padding-right: max(0px, (100vw - var(--content-width)) / 2);
}
@media (max-width: 767.98px) {
  .px_limit_right {
    padding-left: 5vw;
  }
}

.px_limit_left_less {
  padding-left: max(0px, (100vw - var(--content-width)) / 2 - var(--content-width) / 3);
}

.px_limit_right_less {
  padding-right: max(0px, (100vw - var(--content-width)) / 2 - var(--content-width) / 3);
}

.px_br {
  overflow: hidden;
  border-radius: var(--px-radius-lg);
}

.px_br_only {
  border-radius: var(--px-radius-lg);
}

.px_no_pointer {
  pointer-events: none;
}

.px_oh {
  overflow: hidden;
}

.px_gap {
  gap: 3rem;
}

.px_relative {
  position: relative;
}

.px_relative_inner .e-con-inner {
  position: relative;
}

.px_uppercase,
.px_uppercase * {
  text-transform: uppercase;
}

.px_no_margin,
.px_no_margin * {
  margin: 0;
}

.px_underline {
  text-decoration: underline;
}

.px_extra_bold * {
  font-weight: 800;
}

.px_bold * {
  font-weight: 700;
}

@media (min-width: 1025px) {
  .px_block.px_desktop {
    display: block;
  }
}

@media (min-width: 768px) and (max-width: 1024.98px) {
  .px_block.px_tablet {
    display: block;
  }
}

.px_pt {
  padding-top: 4rem;
}
@media (min-width: 768px) {
  .px_pt {
    padding-top: 6rem;
  }
}
@media (min-width: 1025px) {
  .px_pt {
    padding-top: 8rem;
  }
}

.px_pt_s {
  padding-top: 2rem;
}
@media (min-width: 768px) {
  .px_pt_s {
    padding-top: 3rem;
  }
}
@media (min-width: 1025px) {
  .px_pt_s {
    padding-top: 4rem;
  }
}

.px_pb {
  padding-bottom: 4rem;
}
@media (min-width: 768px) {
  .px_pb {
    padding-bottom: 6rem;
  }
}
@media (min-width: 1025px) {
  .px_pb {
    padding-bottom: 8rem;
  }
}

.px_pb_s {
  padding-bottom: 2rem;
}
@media (min-width: 768px) {
  .px_pb_s {
    padding-bottom: 3rem;
  }
}
@media (min-width: 1025px) {
  .px_pb_s {
    padding-bottom: 4rem;
  }
}

.px_py {
  padding-top: 4rem;
}
@media (min-width: 768px) {
  .px_py {
    padding-top: 6rem;
  }
}
@media (min-width: 1025px) {
  .px_py {
    padding-top: 8rem;
  }
}
.px_py {
  padding-bottom: 4rem;
}
@media (min-width: 768px) {
  .px_py {
    padding-bottom: 6rem;
  }
}
@media (min-width: 1025px) {
  .px_py {
    padding-bottom: 8rem;
  }
}

.px_py_s {
  padding-top: 2rem;
}
@media (min-width: 768px) {
  .px_py_s {
    padding-top: 3rem;
  }
}
@media (min-width: 1025px) {
  .px_py_s {
    padding-top: 4rem;
  }
}
.px_py_s {
  padding-bottom: 2rem;
}
@media (min-width: 768px) {
  .px_py_s {
    padding-bottom: 3rem;
  }
}
@media (min-width: 1025px) {
  .px_py_s {
    padding-bottom: 4rem;
  }
}

.px_h1,
.px_h1 * {
  font-size: var(--wh-fs-h1, clamp(3rem, 4.2vw, 5.4rem)) !important;
  line-height: 1.22 !important;
  letter-spacing: -0.005em;
  overflow-wrap: break-word;
  hyphens: manual;
}

.px_h2,
.px_h2 * {
  font-size: var(--wh-fs-h2, clamp(2.6rem, 2.6vw, 3.4rem)) !important;
  line-height: 1.2 !important;
  overflow-wrap: break-word;
  hyphens: manual;
}

.px_h3,
.px_h3 * {
  font-size: clamp(2.2rem, 2vw, 2.6rem) !important;
  line-height: 1.2 !important;
  overflow-wrap: break-word;
  hyphens: auto;
}

.px_h4,
.px_h4 * {
  font-size: clamp(1.8rem, 1.5vw, 2rem) !important;
  line-height: 1.2 !important;
  overflow-wrap: break-word;
  hyphens: auto;
}

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