:root {
  --markka-radius-sm: 2px;
  --markka-radius-md: 4px;
  --markka-radius-lg: 8px;
  --markka-shadow-sm: 0 1px 2px rgb(30 26 23 / 8%);
  --markka-shadow-md: 0 8px 24px rgb(30 26 23 / 12%);
  --markka-shadow-lg: 0 18px 48px rgb(30 26 23 / 18%);
  --lp-orange: #e04a18;
  --lp-orange-dark: #a33915;
  --lp-dark: #1e1a17;
  --lp-cream: #fcede8;
  --lp-white: #fff;
  --lp-container: 1216px;
  --lp-gutter: 24px;
  --lp-header-height: 118px;
}

@font-face { font-family: "Barlow"; src: url("../fonts/barlow-regular.woff2") format("woff2"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "Barlow"; src: url("../fonts/barlow-bold.woff2") format("woff2"); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: "Barlow Condensed"; src: url("../fonts/barlow-condensed-light.ttf") format("truetype"); font-style: normal; font-weight: 300; font-display: swap; }
@font-face { font-family: "IBM Plex Mono"; src: url("../fonts/ibm-plex-mono-regular.ttf") format("truetype"); font-style: normal; font-weight: 400; font-display: swap; }

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; }
body.menu-is-open { overflow: hidden; }
body.admin-bar { --lp-admin-offset: 32px; }
img { display: block; max-width: 100%; height: auto; }
a, button, input, textarea, select { outline-offset: 3px; }
:focus-visible { outline: 2px solid var(--wp--preset--color--primary); }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.screen-reader-text:focus { position: fixed; z-index: 100000; top: 16px; left: 16px; width: auto; height: auto; padding: 12px 16px; clip: auto; background: #fff; color: #1e1a17; }

.lp-skip-link { position: fixed; z-index: 10000; top: 12px; left: 12px; padding: 12px 16px; transform: translateY(-160%); background: var(--lp-white); color: var(--lp-dark); font: 700 14px/1.4 "Barlow", sans-serif; text-decoration: none; }
.lp-skip-link:focus { transform: translateY(0); }

.lp-header { position: fixed; z-index: 100; top: var(--lp-admin-offset, 0); left: 0; width: 100%; min-height: var(--lp-header-height); border-bottom: 1px solid rgb(255 255 255 / 8%); background: rgb(30 26 23 / 94%); backdrop-filter: blur(18px); }
.lp-header__inner { display: flex; align-items: center; justify-content: space-between; gap: 28px; width: min(100% - (2 * var(--lp-gutter)), var(--lp-container)); min-height: var(--lp-header-height); margin-inline: auto; }
.lp-header__brand { display: flex; flex: 0 0 auto; align-items: center; min-width: 117px; min-height: 59px; }
.lp-header__brand img { width: 117px; height: 59px; }
.lp-nav { display: flex; flex: 1 1 auto; align-items: center; justify-content: center; }
.lp-nav__list { display: flex; align-items: center; justify-content: center; gap: clamp(18px, 1.7vw, 34px); margin: 0; padding: 0; list-style: none; }
.lp-nav__list > li { display: flex; }
.lp-nav__list a { display: flex; align-items: center; min-height: 44px; color: rgb(255 255 255 / 72%); font: 400 14px/1.4 "Barlow", sans-serif; text-decoration: none; text-transform: uppercase; transition: color 180ms ease; }
.lp-nav__list a:hover, .lp-nav__list a:focus-visible, .lp-nav__list .current-menu-item > a { color: var(--lp-white); }
.lp-header__toggle { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; margin: 0; padding: 0; border: 1px solid rgb(255 255 255 / 48%); border-radius: 8px; background: transparent; color: var(--lp-white); appearance: none; }
.lp-button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 48px; padding: 12px 24px; border: 1px solid transparent; border-radius: 8px; color: inherit; font: 700 14px/1.2 "Barlow", sans-serif; letter-spacing: .04em; text-align: center; text-decoration: none; transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease; }
.lp-button--header { flex: 0 0 auto; min-height: 44px; padding: 10px 24px; border-color: var(--lp-orange); border-radius: 999px; color: var(--lp-white); text-transform: uppercase; }
.lp-button--header:hover { background: var(--lp-orange); }
.lp-button--header-mobile { display: none; }

.lp-footer { display: flex; border-top: 1px solid rgb(252 237 232 / 7%); background: var(--lp-dark); color: var(--lp-cream); font-family: "Barlow", sans-serif; }
.lp-footer__inner { width: min(100% - (2 * var(--lp-gutter)), var(--lp-container)); margin-inline: auto; padding-block: 48px 30px; }
.lp-footer__top { display: grid; grid-template-columns: minmax(230px, 1.35fr) repeat(3, minmax(170px, 1fr)); align-items: center; min-height: 112px; }
.lp-footer__brand { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding-right: 48px; }
.lp-footer__brand a, .lp-footer__socials a, .lp-footer__credit a { display: inline-flex; }
.lp-footer__brand img { width: 117px; height: auto; }
.lp-footer__brand p { max-width: 220px; margin: 0; color: rgb(252 237 232 / 42%); font-size: 12px; letter-spacing: .12em; line-height: 1.4; }
.lp-footer__item { display: flex; align-self: stretch; flex-direction: column; justify-content: center; gap: 12px; min-width: 0; padding-inline: 48px 24px; border-left: 1px solid rgb(252 237 232 / 8%); }
.lp-footer__label { margin: 0; color: rgb(252 237 232 / 48%); font: 400 9px/1.2 "IBM Plex Mono", monospace; letter-spacing: .24em; text-transform: uppercase; }
.lp-footer__item > a { overflow-wrap: anywhere; color: rgb(252 237 232 / 82%); font-size: 14px; font-weight: 700; line-height: 1.35; text-decoration: none; }
.lp-footer__item > a:hover, .lp-footer__item > a:focus-visible { color: var(--lp-orange); }
.lp-footer__social-column { padding-right: 0; }
.lp-footer__socials { display: flex; align-items: center; gap: 9px; }
.lp-footer__socials a { border-radius: 5px; transition: transform 180ms ease, filter 180ms ease; }
.lp-footer__socials a:hover { transform: translateY(-2px); filter: brightness(.9); }
.lp-footer__socials img { width: 35px; height: 34px; }
.lp-footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: 32px; margin-top: 30px; padding-top: 22px; border-top: 1px solid rgb(252 237 232 / 36%); }
.lp-footer__legal { display: flex; flex-direction: column; gap: 12px; }
.lp-footer__legal > p { margin: 0; color: rgb(252 237 232 / 36%); font-size: 11px; letter-spacing: .11em; line-height: 1.4; }
.lp-footer__nav-list { display: flex; flex-wrap: wrap; gap: 10px 20px; margin: 0; padding: 0; list-style: none; }
.lp-footer__nav-list a { color: rgb(252 237 232 / 62%); font-size: 12px; text-decoration: none; }
.lp-footer__nav-list a:hover, .lp-footer__nav-list a:focus-visible { color: var(--lp-orange); }
.lp-footer__credit { display: flex; align-items: center; gap: 24px; color: rgb(252 237 232 / 42%); font-size: 12px; }
.lp-footer__credit a { border-radius: 4px; }
.lp-footer__credit img { width: 68px; height: 32px; }

@media (min-width: 961px) { .lp-header__toggle { display: none; } }

@media (max-width: 1180px) {
  .lp-header__inner { gap: 18px; }
  .lp-nav__list { gap: 14px; }
  .lp-nav__list a { font-size: 12px; }
  .lp-button--header { padding-inline: 18px; font-size: 12px; }
}

@media (max-width: 960px) {
  :root { --lp-header-height: 88px; }
  body.admin-bar { --lp-admin-offset: 46px; }
  .lp-header__inner { position: relative; min-height: var(--lp-header-height); padding-right: 64px; }
  .lp-header__brand img { width: 98px; height: auto; }
  .lp-header button.lp-header__toggle { position: absolute; z-index: 1000; top: 50%; right: 0; display: inline-flex; transform: translateY(-50%); }
  .lp-header__toggle-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .lp-header__toggle-icon--close { display: none; }
  .lp-header__toggle[aria-expanded="true"] .lp-header__toggle-icon--open { display: none; }
  .lp-header__toggle[aria-expanded="true"] .lp-header__toggle-icon--close { display: block; }
  .lp-nav { position: fixed; z-index: 90; top: calc(var(--lp-header-height) + var(--lp-admin-offset, 0px)); right: 0; left: 0; display: none; flex-direction: column; align-items: center; gap: 28px; height: calc(100dvh - var(--lp-header-height) - var(--lp-admin-offset, 0px)); padding: 28px var(--lp-gutter); overflow-y: auto; background: rgb(30 26 23 / 98%); }
  .lp-nav.is-open { display: flex; }
  .lp-nav__list { flex-direction: column; align-items: stretch; width: 100%; gap: 4px; }
  .lp-nav__list a { justify-content: center; width: 100%; min-height: 52px; border-bottom: 1px solid rgb(255 255 255 / 10%); font-size: 16px; text-align: center; }
  .lp-button--header { display: none; }
  .lp-button--header-mobile { display: inline-flex; width: 100%; min-height: 52px; border-color: var(--lp-orange); color: var(--lp-white); text-transform: uppercase; }
  .lp-footer__top { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 36px; }
  .lp-footer__brand { padding-right: 32px; }
  .lp-footer__item { min-height: 90px; padding-inline: 32px 16px; }
}

@media (max-width: 640px) {
  :root { --lp-gutter: 20px; --lp-header-height: 78px; }
  .lp-header__brand { min-width: 92px; min-height: 48px; }
  .lp-header__brand img { width: 92px; }
  .lp-footer__inner { padding-block: 44px 28px; }
  .lp-footer__top { grid-template-columns: 1fr; row-gap: 0; text-align: center; }
  .lp-footer__brand { align-items: center; gap: 10px; padding: 0 0 28px; }
  .lp-footer__brand img { width: 96px; }
  .lp-footer__item { align-items: center; min-height: 0; padding: 22px 0; border-top: 1px solid rgb(252 237 232 / 8%); border-left: 0; }
  .lp-footer__socials { justify-content: center; }
  .lp-footer__bottom { flex-direction: column; gap: 20px; text-align: center; }
  .lp-footer__legal { align-items: center; }
  .lp-footer__nav-list { justify-content: center; }
  .lp-footer__credit { flex-direction: column; justify-content: center; width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}
